diff --git a/apps/desktop/drizzle/0084_small_gwen_stacy.sql b/apps/desktop/drizzle/0084_small_gwen_stacy.sql new file mode 100644 index 00000000000..02b80b212a0 --- /dev/null +++ b/apps/desktop/drizzle/0084_small_gwen_stacy.sql @@ -0,0 +1 @@ +ALTER TABLE `schedules` ADD `notify_wecom_group` integer DEFAULT false NOT NULL; \ No newline at end of file diff --git a/apps/desktop/drizzle/meta/0084_snapshot.json b/apps/desktop/drizzle/meta/0084_snapshot.json new file mode 100644 index 00000000000..a277ca4a2a2 --- /dev/null +++ b/apps/desktop/drizzle/meta/0084_snapshot.json @@ -0,0 +1,3833 @@ +{ + "version": "6", + "dialect": "sqlite", + "id": "8344fb86-a506-45c9-bb6c-552a2482afa5", + "prevId": "0976a82c-a80e-41e0-94aa-4ac5b3fc90a5", + "tables": { + "account_usage_snapshots": { + "name": "account_usage_snapshots", + "columns": { + "agent_kind": { + "name": "agent_kind", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "snapshot": { + "name": "snapshot", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "agent_input_queue_snapshots": { + "name": "agent_input_queue_snapshots", + "columns": { + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "payload": { + "name": "payload", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "agent_input_queue_snapshots_session_id_sessions_id_fk": { + "name": "agent_input_queue_snapshots_session_id_sessions_id_fk", + "tableFrom": "agent_input_queue_snapshots", + "tableTo": "sessions", + "columnsFrom": [ + "session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "custom_mcp_servers": { + "name": "custom_mcp_servers", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "transport": { + "name": "transport", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "headers": { + "name": "headers", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{}'" + }, + "sort_order": { + "name": "sort_order", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "idx_custom_mcp_servers_sort_order": { + "name": "idx_custom_mcp_servers_sort_order", + "columns": [ + "sort_order" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "custom_providers": { + "name": "custom_providers", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "runtimes": { + "name": "runtimes", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{}'" + }, + "auth": { + "name": "auth", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "sort_order": { + "name": "sort_order", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "idx_custom_providers_sort_order": { + "name": "idx_custom_providers_sort_order", + "columns": [ + "sort_order" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "daily_model_usage": { + "name": "daily_model_usage", + "columns": { + "day": { + "name": "day", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "agent_kind": { + "name": "agent_kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "model": { + "name": "model", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "cost_usd": { + "name": "cost_usd", + "type": "real", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "cost_amount": { + "name": "cost_amount", + "type": "real", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "cost_currency": { + "name": "cost_currency", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cost_is_approximate": { + "name": "cost_is_approximate", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "input_tokens": { + "name": "input_tokens", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "output_tokens": { + "name": "output_tokens", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "cache_read_tokens": { + "name": "cache_read_tokens", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "cache_create_tokens": { + "name": "cache_create_tokens", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "daily_model_usage_day_agent_kind_model_pk": { + "columns": [ + "day", + "agent_kind", + "model" + ], + "name": "daily_model_usage_day_agent_kind_model_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "daily_spend": { + "name": "daily_spend", + "columns": { + "day": { + "name": "day", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "cost_usd": { + "name": "cost_usd", + "type": "real", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "cost_amount": { + "name": "cost_amount", + "type": "real", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "cost_currency": { + "name": "cost_currency", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cost_is_approximate": { + "name": "cost_is_approximate", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "device_link_ownership": { + "name": "device_link_ownership", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "owner_id": { + "name": "owner_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "owner_pid": { + "name": "owner_pid", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "owner_label": { + "name": "owner_label", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "heartbeat_at": { + "name": "heartbeat_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "embedding_jobs": { + "name": "embedding_jobs", + "columns": { + "rowid": { + "name": "rowid", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": true + }, + "source": { + "name": "source", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "source_id": { + "name": "source_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "chunk_index": { + "name": "chunk_index", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "model_id": { + "name": "model_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "vec_table": { + "name": "vec_table", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'pending'" + }, + "attempts": { + "name": "attempts", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "last_error": { + "name": "last_error", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "scheduled_at": { + "name": "scheduled_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "locked_at": { + "name": "locked_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "uniq_embedding_jobs_natural": { + "name": "uniq_embedding_jobs_natural", + "columns": [ + "source", + "source_id", + "chunk_index", + "model_id" + ], + "isUnique": true + }, + "idx_embedding_jobs_status_scheduled": { + "name": "idx_embedding_jobs_status_scheduled", + "columns": [ + "status", + "scheduled_at" + ], + "isUnique": false + }, + "idx_embedding_jobs_source_id": { + "name": "idx_embedding_jobs_source_id", + "columns": [ + "source", + "source_id" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "embedding_meta": { + "name": "embedding_meta", + "columns": { + "key": { + "name": "key", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "ghost_cards": { + "name": "ghost_cards", + "columns": { + "call_id": { + "name": "call_id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "ghost_id": { + "name": "ghost_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "html": { + "name": "html", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "v": { + "name": "v", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 1 + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "ghost_cards_updated_at_idx": { + "name": "ghost_cards_updated_at_idx", + "columns": [ + "updated_at" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "hook_group_messages": { + "name": "hook_group_messages", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": true + }, + "provider": { + "name": "provider", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "chat_id": { + "name": "chat_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "thread_id": { + "name": "thread_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "message_id": { + "name": "message_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "chat_name": { + "name": "chat_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "author": { + "name": "author", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_bot": { + "name": "is_bot", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "text": { + "name": "text", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "file_names": { + "name": "file_names", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "sent_at": { + "name": "sent_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "hook_group_messages_msg_idx": { + "name": "hook_group_messages_msg_idx", + "columns": [ + "provider", + "chat_id", + "thread_id", + "message_id" + ], + "isUnique": true + }, + "hook_group_messages_window_idx": { + "name": "hook_group_messages_window_idx", + "columns": [ + "provider", + "chat_id", + "thread_id", + "id" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "im_bindings": { + "name": "im_bindings", + "columns": { + "channel": { + "name": "channel", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "bot_context_id": { + "name": "bot_context_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "scope_key": { + "name": "scope_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "target_session_id": { + "name": "target_session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "attached_at": { + "name": "attached_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "attached_via_card_message_id": { + "name": "attached_via_card_message_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "idx_im_bindings_target": { + "name": "idx_im_bindings_target", + "columns": [ + "target_session_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "im_bindings_target_session_id_sessions_id_fk": { + "name": "im_bindings_target_session_id_sessions_id_fk", + "tableFrom": "im_bindings", + "tableTo": "sessions", + "columnsFrom": [ + "target_session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "im_bindings_channel_bot_context_id_user_id_scope_key_pk": { + "columns": [ + "channel", + "bot_context_id", + "user_id", + "scope_key" + ], + "name": "im_bindings_channel_bot_context_id_user_id_scope_key_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "media_blobs": { + "name": "media_blobs", + "columns": { + "hash": { + "name": "hash", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "ext": { + "name": "ext", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "mime_type": { + "name": "mime_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "bytes": { + "name": "bytes", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_cache": { + "name": "is_cache", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "last_access_at": { + "name": "last_access_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "media_refs": { + "name": "media_refs", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "hash": { + "name": "hash", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "ref_kind": { + "name": "ref_kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "ref_id": { + "name": "ref_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "origin_session_id": { + "name": "origin_session_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "origin_kind": { + "name": "origin_kind", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "origin_id": { + "name": "origin_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "label": { + "name": "label", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "media_refs_hash_idx": { + "name": "media_refs_hash_idx", + "columns": [ + "hash" + ], + "isUnique": false + }, + "media_refs_ref_idx": { + "name": "media_refs_ref_idx", + "columns": [ + "ref_kind", + "ref_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "media_refs_hash_media_blobs_hash_fk": { + "name": "media_refs_hash_media_blobs_hash_fk", + "tableFrom": "media_refs", + "tableTo": "media_blobs", + "columnsFrom": [ + "hash" + ], + "columnsTo": [ + "hash" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "messages": { + "name": "messages", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "client_id": { + "name": "client_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "content": { + "name": "content", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "tool_use_id": { + "name": "tool_use_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "agent_meta": { + "name": "agent_meta", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "agent_kind": { + "name": "agent_kind", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "rewind_at": { + "name": "rewind_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "uniq_messages_session_client": { + "name": "uniq_messages_session_client", + "columns": [ + "session_id", + "client_id" + ], + "isUnique": true + }, + "idx_messages_session_created": { + "name": "idx_messages_session_created", + "columns": [ + "session_id", + "created_at" + ], + "isUnique": false + }, + "idx_messages_created_at": { + "name": "idx_messages_created_at", + "columns": [ + "created_at", + "id" + ], + "isUnique": false + }, + "idx_messages_rewind_at": { + "name": "idx_messages_rewind_at", + "columns": [ + "rewind_at" + ], + "isUnique": false + } + }, + "foreignKeys": { + "messages_session_id_sessions_id_fk": { + "name": "messages_session_id_sessions_id_fk", + "tableFrom": "messages", + "tableTo": "sessions", + "columnsFrom": [ + "session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "migration_history": { + "name": "migration_history", + "columns": { + "seq": { + "name": "seq", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "file_name": { + "name": "file_name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "content_hash": { + "name": "content_hash", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "applied_at": { + "name": "applied_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "migration_meta": { + "name": "migration_meta", + "columns": { + "key": { + "name": "key", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "orca_teams": { + "name": "orca_teams", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "lead_session_id": { + "name": "lead_session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'active'" + }, + "completed_at": { + "name": "completed_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "uniq_active_team_per_lead": { + "name": "uniq_active_team_per_lead", + "columns": [ + "lead_session_id" + ], + "isUnique": true, + "where": "\"orca_teams\".\"status\" = 'active'" + }, + "idx_orca_teams_status": { + "name": "idx_orca_teams_status", + "columns": [ + "status" + ], + "isUnique": false + } + }, + "foreignKeys": { + "orca_teams_lead_session_id_sessions_id_fk": { + "name": "orca_teams_lead_session_id_sessions_id_fk", + "tableFrom": "orca_teams", + "tableTo": "sessions", + "columnsFrom": [ + "lead_session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "orca_worker_creation_reservations": { + "name": "orca_worker_creation_reservations", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "team_id": { + "name": "team_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "label": { + "name": "label", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "uniq_orca_worker_creation_reservations_team_label": { + "name": "uniq_orca_worker_creation_reservations_team_label", + "columns": [ + "team_id", + "lower(\"label\")" + ], + "isUnique": true + }, + "idx_orca_worker_creation_reservations_expires_at": { + "name": "idx_orca_worker_creation_reservations_expires_at", + "columns": [ + "expires_at" + ], + "isUnique": false + } + }, + "foreignKeys": { + "orca_worker_creation_reservations_team_id_orca_teams_id_fk": { + "name": "orca_worker_creation_reservations_team_id_orca_teams_id_fk", + "tableFrom": "orca_worker_creation_reservations", + "tableTo": "orca_teams", + "columnsFrom": [ + "team_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "orca_workers": { + "name": "orca_workers", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "team_id": { + "name": "team_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'idle'" + }, + "label": { + "name": "label", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "worktree_branch": { + "name": "worktree_branch", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'developer'" + }, + "focused": { + "name": "focused", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "idle_since": { + "name": "idle_since", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "uniq_orca_workers_session_id": { + "name": "uniq_orca_workers_session_id", + "columns": [ + "session_id" + ], + "isUnique": true + }, + "uniq_orca_workers_team_label": { + "name": "uniq_orca_workers_team_label", + "columns": [ + "team_id", + "lower(\"label\")" + ], + "isUnique": true + }, + "uniq_orca_workers_focused_per_team": { + "name": "uniq_orca_workers_focused_per_team", + "columns": [ + "team_id" + ], + "isUnique": true, + "where": "\"orca_workers\".\"focused\" = true" + }, + "idx_orca_workers_team_id": { + "name": "idx_orca_workers_team_id", + "columns": [ + "team_id" + ], + "isUnique": false + }, + "idx_orca_workers_status": { + "name": "idx_orca_workers_status", + "columns": [ + "status" + ], + "isUnique": false + } + }, + "foreignKeys": { + "orca_workers_team_id_orca_teams_id_fk": { + "name": "orca_workers_team_id_orca_teams_id_fk", + "tableFrom": "orca_workers", + "tableTo": "orca_teams", + "columnsFrom": [ + "team_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "orca_workers_session_id_sessions_id_fk": { + "name": "orca_workers_session_id_sessions_id_fk", + "tableFrom": "orca_workers", + "tableTo": "sessions", + "columnsFrom": [ + "session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "project_aliases": { + "name": "project_aliases", + "columns": { + "project_key": { + "name": "project_key", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "alias": { + "name": "alias", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "idx_project_aliases_updated_at": { + "name": "idx_project_aliases_updated_at", + "columns": [ + "updated_at" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "project_automation_consents": { + "name": "project_automation_consents", + "columns": { + "working_dir": { + "name": "working_dir", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "consented_at": { + "name": "consented_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "config_hash": { + "name": "config_hash", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "recent_workdirs": { + "name": "recent_workdirs", + "columns": { + "path": { + "name": "path", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "last_used_at": { + "name": "last_used_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "idx_recent_workdirs_last_used_at": { + "name": "idx_recent_workdirs_last_used_at", + "columns": [ + "last_used_at" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "right_sidebar_tabs": { + "name": "right_sidebar_tabs", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "position": { + "name": "position", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_active": { + "name": "is_active", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "state": { + "name": "state", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{}'" + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "right_sidebar_tabs_session_idx": { + "name": "right_sidebar_tabs_session_idx", + "columns": [ + "session_id", + "position" + ], + "isUnique": false + } + }, + "foreignKeys": { + "right_sidebar_tabs_session_id_sessions_id_fk": { + "name": "right_sidebar_tabs_session_id_sessions_id_fk", + "tableFrom": "right_sidebar_tabs", + "tableTo": "sessions", + "columnsFrom": [ + "session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "schedule_runs": { + "name": "schedule_runs", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "schedule_id": { + "name": "schedule_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "fired_at": { + "name": "fired_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "finished_at": { + "name": "finished_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "error_msg": { + "name": "error_msg", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cost_usd": { + "name": "cost_usd", + "type": "real", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "estimated_value_usd": { + "name": "estimated_value_usd", + "type": "real", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "cost_amount": { + "name": "cost_amount", + "type": "real", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "estimated_value_amount": { + "name": "estimated_value_amount", + "type": "real", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "cost_currency": { + "name": "cost_currency", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "cost_is_approximate": { + "name": "cost_is_approximate", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "cost_attribution": { + "name": "cost_attribution", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'legacy'" + }, + "result_text": { + "name": "result_text", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "pre_run_hook_result": { + "name": "pre_run_hook_result", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "read_at": { + "name": "read_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "heartbeat_at": { + "name": "heartbeat_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "idx_schedule_runs_schedule": { + "name": "idx_schedule_runs_schedule", + "columns": [ + "schedule_id", + "fired_at" + ], + "isUnique": false + } + }, + "foreignKeys": { + "schedule_runs_schedule_id_schedules_id_fk": { + "name": "schedule_runs_schedule_id_schedules_id_fk", + "tableFrom": "schedule_runs", + "tableTo": "schedules", + "columnsFrom": [ + "schedule_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "schedule_runs_session_id_sessions_id_fk": { + "name": "schedule_runs_session_id_sessions_id_fk", + "tableFrom": "schedule_runs", + "tableTo": "sessions", + "columnsFrom": [ + "session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "schedules": { + "name": "schedules", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "prompt": { + "name": "prompt", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "job_type": { + "name": "job_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'prompt'" + }, + "job_config": { + "name": "job_config", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "execution_mode": { + "name": "execution_mode", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'agent'" + }, + "script_config": { + "name": "script_config", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "source": { + "name": "source", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "'user'" + }, + "project_config_id": { + "name": "project_config_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "legacy_session_fallback": { + "name": "legacy_session_fallback", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'cron'" + }, + "cron_expr": { + "name": "cron_expr", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "timezone": { + "name": "timezone", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "recurring": { + "name": "recurring", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "manual": { + "name": "manual", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "interval_ms": { + "name": "interval_ms", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "agent_kind": { + "name": "agent_kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "model": { + "name": "model", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "effort": { + "name": "effort", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "fast_mode": { + "name": "fast_mode", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "working_dir": { + "name": "working_dir", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "workspace_kind": { + "name": "workspace_kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'project'" + }, + "use_worktree": { + "name": "use_worktree", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "target_session_id": { + "name": "target_session_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "persistent_session": { + "name": "persistent_session", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "silent_when_idle": { + "name": "silent_when_idle", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "pre_run_hook_command": { + "name": "pre_run_hook_command", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "pre_run_hook_timeout_ms": { + "name": "pre_run_hook_timeout_ms", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "skip_log_session_id": { + "name": "skip_log_session_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "notify_desktop": { + "name": "notify_desktop", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "notify_feishu": { + "name": "notify_feishu", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "notify_wecom_group": { + "name": "notify_wecom_group", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'active'" + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "last_fired_at": { + "name": "last_fired_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "last_finished_at": { + "name": "last_finished_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "next_fire_at": { + "name": "next_fire_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "expire_at": { + "name": "expire_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "idx_schedules_active_next": { + "name": "idx_schedules_active_next", + "columns": [ + "status", + "next_fire_at" + ], + "isUnique": false + }, + "idx_schedules_target_session": { + "name": "idx_schedules_target_session", + "columns": [ + "target_session_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "schedules_target_session_id_sessions_id_fk": { + "name": "schedules_target_session_id_sessions_id_fk", + "tableFrom": "schedules", + "tableTo": "sessions", + "columnsFrom": [ + "target_session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "schedules_skip_log_session_id_sessions_id_fk": { + "name": "schedules_skip_log_session_id_sessions_id_fk", + "tableFrom": "schedules", + "tableTo": "sessions", + "columnsFrom": [ + "skip_log_session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "session_goals": { + "name": "session_goals", + "columns": { + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "objective": { + "name": "objective", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'active'" + }, + "budget_tokens": { + "name": "budget_tokens", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "max_turns": { + "name": "max_turns", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "no_progress_limit": { + "name": "no_progress_limit", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "turns_used": { + "name": "turns_used", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "tokens_used": { + "name": "tokens_used", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "no_progress_streak": { + "name": "no_progress_streak", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "usage_reset_at": { + "name": "usage_reset_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "last_reason": { + "name": "last_reason", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "agent_kind": { + "name": "agent_kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "started_at": { + "name": "started_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "idx_session_goals_status": { + "name": "idx_session_goals_status", + "columns": [ + "status" + ], + "isUnique": false + } + }, + "foreignKeys": { + "session_goals_session_id_sessions_id_fk": { + "name": "session_goals_session_id_sessions_id_fk", + "tableFrom": "session_goals", + "tableTo": "sessions", + "columnsFrom": [ + "session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "session_pr_refs": { + "name": "session_pr_refs", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "owner": { + "name": "owner", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "repo": { + "name": "repo", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "pr_number": { + "name": "pr_number", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "first_seen_at": { + "name": "first_seen_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "last_seen_at": { + "name": "last_seen_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "uniq_session_pr_refs": { + "name": "uniq_session_pr_refs", + "columns": [ + "session_id", + "owner", + "repo", + "pr_number" + ], + "isUnique": true + }, + "idx_session_pr_refs_session_last_seen": { + "name": "idx_session_pr_refs_session_last_seen", + "columns": [ + "session_id", + "last_seen_at" + ], + "isUnique": false + } + }, + "foreignKeys": { + "session_pr_refs_session_id_sessions_id_fk": { + "name": "session_pr_refs_session_id_sessions_id_fk", + "tableFrom": "session_pr_refs", + "tableTo": "sessions", + "columnsFrom": [ + "session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "sessions": { + "name": "sessions", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'New Maker'" + }, + "working_dir": { + "name": "working_dir", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "workspace_kind": { + "name": "workspace_kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'project'" + }, + "model": { + "name": "model", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'claude-sonnet-4-6'" + }, + "effort": { + "name": "effort", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'high'" + }, + "permission_mode": { + "name": "permission_mode", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'ask'" + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'active'" + }, + "sdk_session_id": { + "name": "sdk_session_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "total_token_usage": { + "name": "total_token_usage", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "total_cost_usd": { + "name": "total_cost_usd", + "type": "real", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "total_cost_amount": { + "name": "total_cost_amount", + "type": "real", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "total_cost_currency": { + "name": "total_cost_currency", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "total_cost_is_approximate": { + "name": "total_cost_is_approximate", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "context_tokens": { + "name": "context_tokens", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "context_window": { + "name": "context_window", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "fast_mode": { + "name": "fast_mode", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "plan_mode_enabled": { + "name": "plan_mode_enabled", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "cleared_at": { + "name": "cleared_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "pinned_at": { + "name": "pinned_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "summary": { + "name": "summary", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "user_send_at": { + "name": "user_send_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "agent_kind": { + "name": "agent_kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'cc'" + }, + "orca_role": { + "name": "orca_role", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "parent_session_id": { + "name": "parent_session_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "forked_at_message_id": { + "name": "forked_at_message_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "worktree_path": { + "name": "worktree_path", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "source": { + "name": "source", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'desktop'" + }, + "feishu_open_id": { + "name": "feishu_open_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "feishu_bot_app_id": { + "name": "feishu_bot_app_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "im_bot_context_id": { + "name": "im_bot_context_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "im_user_id": { + "name": "im_user_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "used_project_context": { + "name": "used_project_context", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "codex_history_has_product_prompt": { + "name": "codex_history_has_product_prompt", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "extra_dirs": { + "name": "extra_dirs", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'[]'" + }, + "remote_host_id": { + "name": "remote_host_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "active_turn_started_at": { + "name": "active_turn_started_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "active_turn_pid": { + "name": "active_turn_pid", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "last_turn_ended_at": { + "name": "last_turn_ended_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "idx_sessions_updated_at": { + "name": "idx_sessions_updated_at", + "columns": [ + "updated_at" + ], + "isUnique": false + }, + "idx_sessions_user_send_at": { + "name": "idx_sessions_user_send_at", + "columns": [ + "user_send_at" + ], + "isUnique": false + }, + "idx_sessions_sdk_session_id": { + "name": "idx_sessions_sdk_session_id", + "columns": [ + "sdk_session_id" + ], + "isUnique": false + }, + "idx_sessions_workdir_created": { + "name": "idx_sessions_workdir_created", + "columns": [ + "working_dir", + "created_at", + "id" + ], + "isUnique": false + }, + "idx_sessions_created_at": { + "name": "idx_sessions_created_at", + "columns": [ + "created_at", + "id" + ], + "isUnique": false + }, + "idx_sessions_workspace_kind": { + "name": "idx_sessions_workspace_kind", + "columns": [ + "workspace_kind" + ], + "isUnique": false + }, + "idx_sessions_parent_session_id": { + "name": "idx_sessions_parent_session_id", + "columns": [ + "parent_session_id" + ], + "isUnique": false + }, + "idx_sessions_orca_role": { + "name": "idx_sessions_orca_role", + "columns": [ + "orca_role" + ], + "isUnique": false + }, + "idx_sessions_worktree_path": { + "name": "idx_sessions_worktree_path", + "columns": [ + "worktree_path" + ], + "isUnique": false + }, + "idx_sessions_feishu_lookup": { + "name": "idx_sessions_feishu_lookup", + "columns": [ + "source", + "feishu_bot_app_id", + "feishu_open_id" + ], + "isUnique": false + }, + "idx_sessions_im_lookup": { + "name": "idx_sessions_im_lookup", + "columns": [ + "source", + "im_bot_context_id", + "im_user_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "sessions_parent_session_id_sessions_id_fk": { + "name": "sessions_parent_session_id_sessions_id_fk", + "tableFrom": "sessions", + "tableTo": "sessions", + "columnsFrom": [ + "parent_session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "skill_usage_exposures": { + "name": "skill_usage_exposures", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "analyzer_version": { + "name": "analyzer_version", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'6'" + }, + "raw_file_path": { + "name": "raw_file_path", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "raw_line_no": { + "name": "raw_line_no", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "sdk_session_id": { + "name": "sdk_session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "agent_kind": { + "name": "agent_kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "skill_name": { + "name": "skill_name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "skill_path": { + "name": "skill_path", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "skill_document_hash": { + "name": "skill_document_hash", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "exposure_content_hash": { + "name": "exposure_content_hash", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "document_hash_source": { + "name": "document_hash_source", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "source": { + "name": "source", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "tool_use_id": { + "name": "tool_use_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "seen_at": { + "name": "seen_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "tool_call_count": { + "name": "tool_call_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "repeated_tool_call_count": { + "name": "repeated_tool_call_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "tool_error_count": { + "name": "tool_error_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "command_call_count": { + "name": "command_call_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "command_failure_count": { + "name": "command_failure_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + } + }, + "indexes": { + "idx_skill_usage_exposures_skill_document_version": { + "name": "idx_skill_usage_exposures_skill_document_version", + "columns": [ + "analyzer_version", + "skill_name", + "skill_document_hash" + ], + "isUnique": false + }, + "idx_skill_usage_exposures_session": { + "name": "idx_skill_usage_exposures_session", + "columns": [ + "session_id" + ], + "isUnique": false + }, + "idx_skill_usage_exposures_raw_file": { + "name": "idx_skill_usage_exposures_raw_file", + "columns": [ + "raw_file_path" + ], + "isUnique": false + } + }, + "foreignKeys": { + "skill_usage_exposures_raw_file_path_skill_usage_sources_raw_file_path_fk": { + "name": "skill_usage_exposures_raw_file_path_skill_usage_sources_raw_file_path_fk", + "tableFrom": "skill_usage_exposures", + "tableTo": "skill_usage_sources", + "columnsFrom": [ + "raw_file_path" + ], + "columnsTo": [ + "raw_file_path" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "skill_usage_sources": { + "name": "skill_usage_sources", + "columns": { + "raw_file_path": { + "name": "raw_file_path", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "analyzer_version": { + "name": "analyzer_version", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'6'" + }, + "agent_kind": { + "name": "agent_kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "sdk_session_id": { + "name": "sdk_session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "mtime_ms": { + "name": "mtime_ms", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "size_bytes": { + "name": "size_bytes", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "last_scanned_at": { + "name": "last_scanned_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'ok'" + }, + "error": { + "name": "error", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "idx_skill_usage_sources_session": { + "name": "idx_skill_usage_sources_session", + "columns": [ + "session_id" + ], + "isUnique": false + }, + "idx_skill_usage_sources_sdk_session": { + "name": "idx_skill_usage_sources_sdk_session", + "columns": [ + "sdk_session_id" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "vec_table_meta": { + "name": "vec_table_meta", + "columns": { + "vec_table": { + "name": "vec_table", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "source": { + "name": "source", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "model_id": { + "name": "model_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "dim": { + "name": "dim", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "registered_at": { + "name": "registered_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "notes": { + "name": "notes", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "wechat_file_attachments": { + "name": "wechat_file_attachments", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "binding_epoch": { + "name": "binding_epoch", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "task_id": { + "name": "task_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "abs_path": { + "name": "abs_path", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "original_name": { + "name": "original_name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "mime_type": { + "name": "mime_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "bytes": { + "name": "bytes", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'staged'" + }, + "promoted_at": { + "name": "promoted_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "idx_wechat_file_attachments_task": { + "name": "idx_wechat_file_attachments_task", + "columns": [ + "binding_epoch", + "task_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "wechat_file_attachments_binding_epoch_wechat_sync_state_binding_epoch_fk": { + "name": "wechat_file_attachments_binding_epoch_wechat_sync_state_binding_epoch_fk", + "tableFrom": "wechat_file_attachments", + "tableTo": "wechat_sync_state", + "columnsFrom": [ + "binding_epoch" + ], + "columnsTo": [ + "binding_epoch" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "wechat_file_attachments_task_id_wechat_inbox_id_fk": { + "name": "wechat_file_attachments_task_id_wechat_inbox_id_fk", + "tableFrom": "wechat_file_attachments", + "tableTo": "wechat_inbox", + "columnsFrom": [ + "task_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "wechat_file_attachments_session_id_sessions_id_fk": { + "name": "wechat_file_attachments_session_id_sessions_id_fk", + "tableFrom": "wechat_file_attachments", + "tableTo": "sessions", + "columnsFrom": [ + "session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "wechat_inbox": { + "name": "wechat_inbox", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "binding_epoch": { + "name": "binding_epoch", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "platform_message_id": { + "name": "platform_message_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "platform_seq": { + "name": "platform_seq", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "peer_id": { + "name": "peer_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "received_at": { + "name": "received_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "platform_created_at": { + "name": "platform_created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'pending'" + }, + "lease_until": { + "name": "lease_until", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "conversation_epoch": { + "name": "conversation_epoch", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "payload_json": { + "name": "payload_json", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "context_nonce": { + "name": "context_nonce", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "context_ciphertext": { + "name": "context_ciphertext", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "context_tag": { + "name": "context_tag", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "attempts": { + "name": "attempts", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "last_error_code": { + "name": "last_error_code", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "uniq_wechat_inbox_platform_message": { + "name": "uniq_wechat_inbox_platform_message", + "columns": [ + "binding_epoch", + "platform_message_id" + ], + "isUnique": true + }, + "idx_wechat_inbox_queue": { + "name": "idx_wechat_inbox_queue", + "columns": [ + "binding_epoch", + "status", + "received_at" + ], + "isUnique": false + }, + "idx_wechat_inbox_lease": { + "name": "idx_wechat_inbox_lease", + "columns": [ + "binding_epoch", + "lease_until" + ], + "isUnique": false + }, + "idx_wechat_inbox_conversation": { + "name": "idx_wechat_inbox_conversation", + "columns": [ + "binding_epoch", + "peer_id", + "conversation_epoch" + ], + "isUnique": false + }, + "uniq_wechat_inbox_running_session": { + "name": "uniq_wechat_inbox_running_session", + "columns": [ + "binding_epoch", + "session_id" + ], + "isUnique": true, + "where": "\"wechat_inbox\".\"session_id\" IS NOT NULL AND \"wechat_inbox\".\"status\" IN ('dispatching', 'accepted_running', 'waiting_desktop', 'delivery_pending')" + } + }, + "foreignKeys": { + "wechat_inbox_binding_epoch_wechat_sync_state_binding_epoch_fk": { + "name": "wechat_inbox_binding_epoch_wechat_sync_state_binding_epoch_fk", + "tableFrom": "wechat_inbox", + "tableTo": "wechat_sync_state", + "columnsFrom": [ + "binding_epoch" + ], + "columnsTo": [ + "binding_epoch" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "wechat_inbox_session_id_sessions_id_fk": { + "name": "wechat_inbox_session_id_sessions_id_fk", + "tableFrom": "wechat_inbox", + "tableTo": "sessions", + "columnsFrom": [ + "session_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "wechat_outbox": { + "name": "wechat_outbox", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "binding_epoch": { + "name": "binding_epoch", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "task_id": { + "name": "task_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "client_id": { + "name": "client_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "chunk_index": { + "name": "chunk_index", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "text": { + "name": "text", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "media_json": { + "name": "media_json", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'[]'" + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'pending'" + }, + "attempts": { + "name": "attempts", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "next_retry_at": { + "name": "next_retry_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "delivered_at": { + "name": "delivered_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "uniq_wechat_outbox_client_id": { + "name": "uniq_wechat_outbox_client_id", + "columns": [ + "binding_epoch", + "client_id" + ], + "isUnique": true + }, + "idx_wechat_outbox_delivery": { + "name": "idx_wechat_outbox_delivery", + "columns": [ + "binding_epoch", + "status", + "next_retry_at" + ], + "isUnique": false + }, + "idx_wechat_outbox_task": { + "name": "idx_wechat_outbox_task", + "columns": [ + "binding_epoch", + "task_id", + "chunk_index" + ], + "isUnique": false + } + }, + "foreignKeys": { + "wechat_outbox_binding_epoch_wechat_sync_state_binding_epoch_fk": { + "name": "wechat_outbox_binding_epoch_wechat_sync_state_binding_epoch_fk", + "tableFrom": "wechat_outbox", + "tableTo": "wechat_sync_state", + "columnsFrom": [ + "binding_epoch" + ], + "columnsTo": [ + "binding_epoch" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "wechat_outbox_task_id_wechat_inbox_id_fk": { + "name": "wechat_outbox_task_id_wechat_inbox_id_fk", + "tableFrom": "wechat_outbox", + "tableTo": "wechat_inbox", + "columnsFrom": [ + "task_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "wechat_sync_state": { + "name": "wechat_sync_state", + "columns": { + "binding_epoch": { + "name": "binding_epoch", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "is_active": { + "name": "is_active", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "sync_cursor": { + "name": "sync_cursor", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "last_poll_at": { + "name": "last_poll_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "last_error_code": { + "name": "last_error_code", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "uniq_wechat_sync_active": { + "name": "uniq_wechat_sync_active", + "columns": [ + "is_active" + ], + "isUnique": true, + "where": "\"wechat_sync_state\".\"is_active\" = 1" + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + } + }, + "views": {}, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "indexes": { + "uniq_orca_worker_creation_reservations_team_label": { + "columns": { + "lower(\"label\")": { + "isExpression": true + } + } + }, + "uniq_orca_workers_team_label": { + "columns": { + "lower(\"label\")": { + "isExpression": true + } + } + } + } + } +} \ No newline at end of file diff --git a/apps/desktop/drizzle/meta/_journal.json b/apps/desktop/drizzle/meta/_journal.json index 3836f7419e2..533cc26e306 100644 --- a/apps/desktop/drizzle/meta/_journal.json +++ b/apps/desktop/drizzle/meta/_journal.json @@ -589,6 +589,13 @@ "when": 1785287922480, "tag": "0083_gray_katie_power", "breakpoints": true + }, + { + "idx": 84, + "version": "6", + "when": 1785428363998, + "tag": "0084_small_gwen_stacy", + "breakpoints": true } ] } \ No newline at end of file diff --git a/apps/desktop/resources/THIRD-PARTY-NOTICES.txt b/apps/desktop/resources/THIRD-PARTY-NOTICES.txt index 63a2e2d35d4..7316befce13 100644 --- a/apps/desktop/resources/THIRD-PARTY-NOTICES.txt +++ b/apps/desktop/resources/THIRD-PARTY-NOTICES.txt @@ -3968,7 +3968,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ============================================================================== -SECTION 2: npm packages (806 packages) +SECTION 2: npm packages (809 packages) ============================================================================== - @antfu/install-pkg@1.1.0 — MIT — https://github.com/antfu/install-pkg @@ -4065,26 +4065,26 @@ SECTION 2: npm packages (806 packages) - @mermaid-js/parser@1.2.0 — MIT — https://github.com/mermaid-js/mermaid - @modelcontextprotocol/sdk@1.29.0 — MIT — https://github.com/modelcontextprotocol/typescript-sdk - @monogrid/gainmap-js@3.4.0 — MIT — https://github.com/MONOGRID/gainmap-js -- @napi-rs/canvas@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-darwin-arm64@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-darwin-x64@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-linux-arm64-gnu@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-linux-x64-gnu@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-win32-x64-msvc@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas -- @napi-rs/woff-build@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build +- @napi-rs/canvas@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/woff-build-darwin-arm64@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @napi-rs/woff-build-darwin-x64@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @napi-rs/woff-build-linux-arm64-gnu@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @napi-rs/woff-build-linux-x64-gnu@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @napi-rs/woff-build-win32-x64-msvc@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build +- @napi-rs/woff-build@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @noble/hashes@1.8.0 — MIT — https://github.com/paulmillr/noble-hashes - @paralleldrive/cuid2@2.3.1 — MIT — https://github.com/ericelliott/cuid2 -- @parcel/watcher@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-darwin-arm64@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-darwin-x64@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-linux-arm64-glibc@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-linux-x64-glibc@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-win32-x64@2.5.6 — MIT — https://github.com/parcel-bundler/watcher +- @parcel/watcher@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @pkgjs/parseargs@0.11.0 — MIT — https://github.com/pkgjs/parseargs - @protobufjs/aspromise@1.1.2 — BSD-3-Clause — https://github.com/dcodeIO/protobuf.js - @protobufjs/base64@1.1.2 — BSD-3-Clause — https://github.com/dcodeIO/protobuf.js @@ -4148,7 +4148,6 @@ SECTION 2: npm packages (806 packages) - @tiptap/extension-text@3.28.0 — MIT — https://github.com/ueberdosis/tiptap - @tiptap/pm@3.28.0 — MIT — https://github.com/ueberdosis/tiptap - @tiptap/react@3.28.0 — MIT — https://github.com/ueberdosis/tiptap -- @types/d3@7.4.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-array@3.2.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-axis@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-brush@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped @@ -4170,18 +4169,19 @@ SECTION 2: npm packages (806 packages) - @types/d3-polygon@3.0.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-quadtree@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-random@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/d3-scale@4.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-scale-chromatic@3.1.0 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3-scale@4.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-selection@3.0.11 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-shape@3.1.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/d3-time@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-time-format@4.0.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3-time@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-timer@3.0.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-transition@3.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-zoom@3.0.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3@7.4.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/debug@4.1.13 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/estree@1.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/estree-jsx@1.0.5 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/estree@1.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/geojson@7946.0.16 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/hast@3.0.5 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/katex@0.16.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped @@ -4196,6 +4196,7 @@ SECTION 2: npm packages (806 packages) - @ungap/structured-clone@1.3.3 — ISC — https://github.com/ungap/structured-clone - @upsetjs/venn.js@2.0.0 — MIT — https://github.com/upsetjs/venn.js - @vladfrangu/async_event_emitter@2.4.7 — MIT — https://github.com/vladfrangu/async_event_emitter +- @wecom/aibot-node-sdk@1.0.7 — MIT — https://github.com/WecomTeam/aibot-node-sdk - @xterm/addon-clipboard@0.1.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-clipboard - @xterm/addon-fit@0.10.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-fit - @xterm/addon-web-links@0.11.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-web-links @@ -4203,10 +4204,10 @@ SECTION 2: npm packages (806 packages) - accepts@2.0.0 — MIT — https://github.com/jshttp/accepts - agent-base@6.0.2 — MIT — https://github.com/TooTallNate/node-agent-base - agent-base@7.1.4 — MIT — https://github.com/TooTallNate/proxy-agents -- ajv@7.2.4 — MIT — https://github.com/ajv-validator/ajv -- ajv@8.20.0 — MIT — https://github.com/ajv-validator/ajv - ajv-formats@1.6.1 — MIT — https://github.com/ajv-validator/ajv-formats - ajv-formats@3.0.1 — MIT — https://github.com/ajv-validator/ajv-formats +- ajv@7.2.4 — MIT — https://github.com/ajv-validator/ajv +- ajv@8.20.0 — MIT — https://github.com/ajv-validator/ajv - ansi-regex@5.0.1 — MIT — https://github.com/chalk/ansi-regex - ansi-regex@6.2.2 — MIT — https://github.com/chalk/ansi-regex - ansi-styles@4.3.0 — MIT — https://github.com/chalk/ansi-styles @@ -4228,8 +4229,8 @@ SECTION 2: npm packages (806 packages) - bl@4.1.0 — MIT — https://github.com/rvagg/bl - body-parser@2.3.0 — MIT — https://github.com/expressjs/body-parser - brace-expansion@2.1.2 — MIT — https://github.com/juliangruber/brace-expansion -- buffer@5.7.1 — MIT — https://github.com/feross/buffer - buffer-equal-constant-time@1.0.1 — BSD-3-Clause — https://github.com/goinstant/buffer-equal-constant-time +- buffer@5.7.1 — MIT — https://github.com/feross/buffer - buildcheck@0.0.7 — MIT — http://github.com/mscdex/buildcheck - byte-size@8.2.1 — MIT — https://github.com/75lb/byte-size - bytes@3.1.2 — MIT — https://github.com/visionmedia/bytes.js @@ -4237,9 +4238,9 @@ SECTION 2: npm packages (806 packages) - call-bound@1.0.4 — MIT — https://github.com/ljharb/call-bound - camelcase@5.3.1 — MIT — https://github.com/sindresorhus/camelcase - ccount@2.0.1 — MIT — https://github.com/wooorm/ccount -- character-entities@2.0.2 — MIT — https://github.com/wooorm/character-entities - character-entities-html4@2.1.0 — MIT — https://github.com/wooorm/character-entities-html4 - character-entities-legacy@3.0.0 — MIT — https://github.com/wooorm/character-entities-legacy +- character-entities@2.0.2 — MIT — https://github.com/wooorm/character-entities - character-reference-invalid@2.0.1 — MIT — https://github.com/wooorm/character-reference-invalid - charenc@0.0.2 — BSD-3-Clause — https://github.com/pvorb/node-charenc - chownr@1.1.4 — ISC — https://github.com/isaacs/chownr @@ -4256,9 +4257,9 @@ SECTION 2: npm packages (806 packages) - content-disposition@1.1.0 — MIT — https://github.com/jshttp/content-disposition - content-type@1.0.5 — MIT — https://github.com/jshttp/content-type - content-type@2.0.0 — MIT — https://github.com/jshttp/content-type +- cookie-signature@1.2.2 — MIT — https://github.com/visionmedia/node-cookie-signature - cookie@0.7.2 — MIT — https://github.com/jshttp/cookie - cookie@1.1.1 — MIT — https://github.com/jshttp/cookie -- cookie-signature@1.2.2 — MIT — https://github.com/visionmedia/node-cookie-signature - core-util-is@1.0.3 — MIT — https://github.com/isaacs/core-util-is - cors@2.8.6 — MIT — https://github.com/expressjs/cors - cose-base@1.0.3 — MIT — https://github.com/iVis-at-Bilkent/cose-base @@ -4267,10 +4268,9 @@ SECTION 2: npm packages (806 packages) - crelt@1.0.7 — MIT — https://code.haverbeke.berlin/marijn/crelt - cross-spawn@7.0.6 — MIT — https://github.com/moxystudio/node-cross-spawn - crypt@0.0.2 — BSD-3-Clause — https://github.com/pvorb/node-crypt -- cytoscape@3.34.0 — MIT — https://github.com/cytoscape/cytoscape.js - cytoscape-cose-bilkent@4.1.0 — MIT — https://github.com/cytoscape/cytoscape.js-cose-bilkent - cytoscape-fcose@2.2.0 — MIT — https://github.com/iVis-at-Bilkent/cytoscape.js-fcose -- d3@7.9.0 — ISC — https://github.com/d3/d3 +- cytoscape@3.34.0 — MIT — https://github.com/cytoscape/cytoscape.js - d3-array@2.12.1 — BSD-3-Clause — https://github.com/d3/d3-array - d3-array@3.2.4 — ISC — https://github.com/d3/d3-array - d3-axis@3.0.0 — ISC — https://github.com/d3/d3-axis @@ -4295,16 +4295,17 @@ SECTION 2: npm packages (806 packages) - d3-quadtree@3.0.1 — ISC — https://github.com/d3/d3-quadtree - d3-random@3.0.1 — ISC — https://github.com/d3/d3-random - d3-sankey@0.12.3 — BSD-3-Clause — https://github.com/d3/d3-sankey -- d3-scale@4.0.2 — ISC — https://github.com/d3/d3-scale - d3-scale-chromatic@3.1.0 — ISC — https://github.com/d3/d3-scale-chromatic +- d3-scale@4.0.2 — ISC — https://github.com/d3/d3-scale - d3-selection@3.0.0 — ISC — https://github.com/d3/d3-selection - d3-shape@1.3.7 — BSD-3-Clause — https://github.com/d3/d3-shape - d3-shape@3.2.0 — ISC — https://github.com/d3/d3-shape -- d3-time@3.1.0 — ISC — https://github.com/d3/d3-time - d3-time-format@4.1.0 — ISC — https://github.com/d3/d3-time-format +- d3-time@3.1.0 — ISC — https://github.com/d3/d3-time - d3-timer@3.0.1 — ISC — https://github.com/d3/d3-timer - d3-transition@3.0.1 — ISC — https://github.com/d3/d3-transition - d3-zoom@3.0.0 — ISC — https://github.com/d3/d3-zoom +- d3@7.9.0 — ISC — https://github.com/d3/d3 - dagre-d3-es@7.0.14 — MIT — https://github.com/tbo47/dagre-es - data-uri-to-buffer@4.0.1 — MIT — https://github.com/TooTallNate/node-data-uri-to-buffer - dayjs@1.11.21 — MIT — https://github.com/iamkun/dayjs @@ -4325,6 +4326,7 @@ SECTION 2: npm packages (806 packages) - devlop@1.1.0 — MIT — https://github.com/wooorm/devlop - diff@8.0.4 — BSD-3-Clause — https://github.com/kpdecker/jsdiff - dijkstrajs@1.0.3 — MIT — https://github.com/tcort/dijkstrajs +- dingtalk-stream@v2.1.5 — MIT — https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs - discord-api-types@0.38.50 — MIT — https://github.com/discordjs/discord-api-types - discord.js@14.27.0 — Apache-2.0 — https://github.com/discordjs/discord.js - dompurify@3.4.12 — (MPL-2.0 OR Apache-2.0) — https://github.com/cure53/DOMPurify @@ -4353,15 +4355,16 @@ SECTION 2: npm packages (806 packages) - esprima@4.0.1 — BSD-2-Clause — https://github.com/jquery/esprima - estree-util-is-identifier-name@3.0.0 — MIT — https://github.com/syntax-tree/estree-util-is-identifier-name - etag@1.8.1 — MIT — https://github.com/jshttp/etag -- eventsource@3.0.7 — MIT — https://git@github.com/EventSource/eventsource +- eventemitter3@5.0.4 — MIT — https://github.com/primus/eventemitter3 - eventsource-parser@3.1.0 — MIT — https://github.com/rexxars/eventsource-parser +- eventsource@3.0.7 — MIT — https://git@github.com/EventSource/eventsource - execa@4.1.0 — MIT — https://github.com/sindresorhus/execa - execa@5.1.1 — MIT — https://github.com/sindresorhus/execa - expand-template@2.0.3 — (MIT OR WTFPL) — https://github.com/ralphtheninja/expand-template -- express@5.2.1 — MIT — https://github.com/expressjs/express - express-rate-limit@8.5.2 — MIT — https://github.com/express-rate-limit/express-rate-limit -- extend@3.0.2 — MIT — https://github.com/justmoon/node-extend +- express@5.2.1 — MIT — https://github.com/expressjs/express - extend-shallow@2.0.1 — MIT — https://github.com/jonschlinkert/extend-shallow +- extend@3.0.2 — MIT — https://github.com/justmoon/node-extend - fast-deep-equal@3.1.3 — MIT — https://github.com/epoberezkin/fast-deep-equal - fast-equals@5.4.1 — MIT — https://github.com/planttheidea/fast-equals - fast-uri@3.1.4 — BSD-3-Clause — https://github.com/fastify/fast-uri @@ -4408,8 +4411,8 @@ SECTION 2: npm packages (806 packages) - has-tostringtag@1.0.2 — MIT — https://github.com/inspect-js/has-tostringtag - hasown@2.0.4 — MIT — https://github.com/inspect-js/hasOwn - hast-util-from-dom@5.0.1 — ISC — https://github.com/syntax-tree/hast-util-from-dom -- hast-util-from-html@2.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-html - hast-util-from-html-isomorphic@2.0.0 — MIT — https://github.com/syntax-tree/hast-util-from-html-isomorphic +- hast-util-from-html@2.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-html - hast-util-from-parse5@8.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-parse5 - hast-util-heading-rank@3.0.0 — MIT — https://github.com/syntax-tree/hast-util-heading-rank - hast-util-is-element@3.0.0 — MIT — https://github.com/syntax-tree/hast-util-is-element @@ -4483,17 +4486,17 @@ SECTION 2: npm packages (806 packages) - layout-base@2.0.1 — MIT — https://github.com/iVis-at-Bilkent/layout-base - lcid@3.1.1 — MIT — https://github.com/sindresorhus/lcid - lie@3.3.0 — MIT — https://github.com/calvinmetcalf/lie -- lit@3.3.3 — BSD-3-Clause — https://github.com/lit/lit - lit-element@4.2.2 — BSD-3-Clause — https://github.com/lit/lit - lit-html@3.3.3 — BSD-3-Clause — https://github.com/lit/lit +- lit@3.3.3 — BSD-3-Clause — https://github.com/lit/lit - locate-path@3.0.0 — MIT — https://github.com/sindresorhus/locate-path - locate-path@5.0.0 — MIT — https://github.com/sindresorhus/locate-path -- lodash@4.18.1 — MIT — https://github.com/lodash/lodash - lodash-es@4.18.1 — MIT — https://github.com/lodash/lodash - lodash.identity@3.0.0 — MIT — https://github.com/lodash/lodash - lodash.merge@4.6.2 — MIT — https://github.com/lodash/lodash - lodash.pickby@4.6.0 — MIT — https://github.com/lodash/lodash - lodash.snakecase@4.1.1 — MIT — https://github.com/lodash/lodash +- lodash@4.18.1 — MIT — https://github.com/lodash/lodash - long@5.3.2 — Apache-2.0 — https://github.com/dcodeIO/long.js - longest-streak@3.1.0 — MIT — https://github.com/wooorm/longest-streak - loudness@0.4.2 — MIT — https://github.com/LinusU/node-loudness @@ -4508,36 +4511,35 @@ SECTION 2: npm packages (806 packages) - md5@2.3.0 — BSD-3-Clause — https://github.com/pvorb/node-md5 - mdast-util-find-and-replace@3.0.2 — MIT — https://github.com/syntax-tree/mdast-util-find-and-replace - mdast-util-from-markdown@2.0.3 — MIT — https://github.com/syntax-tree/mdast-util-from-markdown -- mdast-util-gfm@3.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm - mdast-util-gfm-autolink-literal@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-gfm-autolink-literal - mdast-util-gfm-footnote@2.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-footnote - mdast-util-gfm-strikethrough@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-strikethrough - mdast-util-gfm-table@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-table - mdast-util-gfm-task-list-item@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-task-list-item +- mdast-util-gfm@3.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm - mdast-util-math@3.0.0 — MIT — https://github.com/syntax-tree/mdast-util-math - mdast-util-mdx-expression@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-mdx-expression - mdast-util-mdx-jsx@3.2.0 — MIT — https://github.com/syntax-tree/mdast-util-mdx-jsx - mdast-util-mdxjs-esm@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-mdxjs-esm - mdast-util-phrasing@4.1.0 — MIT — https://github.com/syntax-tree/mdast-util-phrasing - mdast-util-to-hast@13.2.1 — MIT — https://github.com/syntax-tree/mdast-util-to-hast -- mdast-util-to-markdown@2.1.2 — MIT — https://github.com/syntax-tree/mdast-util-to-markdown - mdast-util-to-markdown-cjk-friendly@1.0.0 — MIT — https://github.com/tats-u/markdown-cjk-friendly +- mdast-util-to-markdown@2.1.2 — MIT — https://github.com/syntax-tree/mdast-util-to-markdown - mdast-util-to-string@4.0.0 — MIT — https://github.com/syntax-tree/mdast-util-to-string - media-typer@1.1.0 — MIT — https://github.com/jshttp/media-typer - merge-descriptors@2.0.0 — MIT — https://github.com/sindresorhus/merge-descriptors - merge-stream@2.0.0 — MIT — https://github.com/grncdr/merge-stream - mermaid@11.16.0 — MIT — https://github.com/mermaid-js/mermaid -- micromark@4.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark - micromark-core-commonmark@2.0.3 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark -- micromark-extension-cjk-friendly@2.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly - micromark-extension-cjk-friendly-util@3.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly -- micromark-extension-gfm@3.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm +- micromark-extension-cjk-friendly@2.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly - micromark-extension-gfm-autolink-literal@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-autolink-literal - micromark-extension-gfm-footnote@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-footnote - micromark-extension-gfm-strikethrough@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-strikethrough - micromark-extension-gfm-table@2.1.1 — MIT — https://github.com/micromark/micromark-extension-gfm-table - micromark-extension-gfm-tagfilter@2.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm-tagfilter - micromark-extension-gfm-task-list-item@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-task-list-item +- micromark-extension-gfm@3.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm - micromark-extension-math@3.1.0 — MIT — https://github.com/micromark/micromark-extension-math - micromark-factory-destination@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-factory-destination - micromark-factory-label@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label @@ -4558,6 +4560,7 @@ SECTION 2: npm packages (806 packages) - micromark-util-subtokenize@2.1.0 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize - micromark-util-symbol@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-symbol - micromark-util-types@2.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-types +- micromark@4.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark - mime-db@1.52.0 — MIT — https://github.com/jshttp/mime-db - mime-db@1.54.0 — MIT — https://github.com/jshttp/mime-db - mime-types@2.1.35 — MIT — https://github.com/jshttp/mime-types @@ -4568,8 +4571,8 @@ SECTION 2: npm packages (806 packages) - minimatch@9.0.9 — ISC — https://github.com/isaacs/minimatch - minimist@1.2.8 — MIT — https://github.com/minimistjs/minimist - minipass@7.1.3 — BlueOak-1.0.0 — https://github.com/isaacs/minipass -- mkdirp@0.5.6 — MIT — https://github.com/substack/node-mkdirp - mkdirp-classic@0.5.3 — MIT — https://github.com/mafintosh/mkdirp-classic +- mkdirp@0.5.6 — MIT — https://github.com/substack/node-mkdirp - mri@1.2.0 — MIT — https://github.com/lukeed/mri - ms@2.0.0 — MIT — https://github.com/zeit/ms - ms@2.1.3 — MIT — https://github.com/vercel/ms @@ -4641,15 +4644,15 @@ SECTION 2: npm packages (806 packages) - range-parser@1.3.0 — MIT — https://github.com/jshttp/range-parser - raw-body@3.0.2 — MIT — https://github.com/stream-utils/raw-body - rc@1.2.8 — (BSD-2-Clause OR MIT OR Apache-2.0) — https://github.com/dominictarr/rc -- react@19.2.3 — MIT — https://github.com/facebook/react - react-dom@19.2.3 — MIT — https://github.com/facebook/react - react-i18next@17.0.10 — MIT — https://github.com/i18next/react-i18next - react-markdown@10.1.0 — MIT — https://github.com/remarkjs/react-markdown -- react-remove-scroll@2.7.2 — MIT — https://github.com/theKashey/react-remove-scroll - react-remove-scroll-bar@2.3.8 — MIT — https://github.com/theKashey/react-remove-scroll-bar -- react-router@7.18.1 — MIT — https://github.com/remix-run/react-router +- react-remove-scroll@2.7.2 — MIT — https://github.com/theKashey/react-remove-scroll - react-router-dom@7.18.1 — MIT — https://github.com/remix-run/react-router +- react-router@7.18.1 — MIT — https://github.com/remix-run/react-router - react-style-singleton@2.2.3 — MIT — https://github.com/theKashey/react-style-singleton +- react@19.2.3 — MIT — https://github.com/facebook/react - readable-stream@2.3.8 — MIT — https://github.com/nodejs/readable-stream - readable-stream@3.6.2 — MIT — https://github.com/nodejs/readable-stream - rehype-highlight@7.0.2 — MIT — https://github.com/rehypejs/rehype-highlight @@ -4688,10 +4691,10 @@ SECTION 2: npm packages (806 packages) - shebang-regex@3.0.0 — MIT — https://github.com/sindresorhus/shebang-regex - shell-env@4.0.3 — MIT — https://github.com/sindresorhus/shell-env - shell-path@3.1.0 — MIT — https://github.com/sindresorhus/shell-path -- side-channel@1.1.1 — MIT — https://github.com/ljharb/side-channel - side-channel-list@1.0.1 — MIT — https://github.com/ljharb/side-channel-list - side-channel-map@1.0.1 — MIT — https://github.com/ljharb/side-channel-map - side-channel-weakmap@1.0.2 — MIT — https://github.com/ljharb/side-channel-weakmap +- side-channel@1.1.1 — MIT — https://github.com/ljharb/side-channel - signal-exit@3.0.7 — ISC — https://github.com/tapjs/signal-exit - signal-exit@4.1.0 — ISC — https://github.com/tapjs/signal-exit - silk-wasm@3.7.1 — MIT — https://github.com/idranme/silk-wasm @@ -4735,17 +4738,17 @@ SECTION 2: npm packages (806 packages) - type-fest@0.20.2 — (MIT OR CC0-1.0) — https://github.com/sindresorhus/type-fest - type-is@2.1.0 — MIT — https://github.com/jshttp/type-is - typebox@1.1.39 — MIT — https://github.com/sinclairzx81/typebox +- undici-types@7.24.6 — MIT — https://github.com/nodejs/undici - undici@6.27.0 — MIT — https://github.com/nodejs/undici - undici@8.7.0 — MIT — https://github.com/nodejs/undici -- undici-types@7.24.6 — MIT — https://github.com/nodejs/undici - unified@11.0.5 — MIT — https://github.com/unifiedjs/unified - unist-util-find-after@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-find-after - unist-util-is@6.0.1 — MIT — https://github.com/syntax-tree/unist-util-is - unist-util-position@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-position - unist-util-remove-position@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-remove-position - unist-util-stringify-position@4.0.0 — MIT — https://github.com/syntax-tree/unist-util-stringify-position -- unist-util-visit@5.1.0 — MIT — https://github.com/syntax-tree/unist-util-visit - unist-util-visit-parents@6.0.2 — MIT — https://github.com/syntax-tree/unist-util-visit-parents +- unist-util-visit@5.1.0 — MIT — https://github.com/syntax-tree/unist-util-visit - universalify@2.0.1 — MIT — https://github.com/RyanZim/universalify - unpipe@1.0.0 — MIT — https://github.com/stream-utils/unpipe - uri-js@4.4.1 — BSD-2-Clause — http://github.com/garycourt/uri-js @@ -4756,15 +4759,15 @@ SECTION 2: npm packages (806 packages) - util-deprecate@1.0.2 — MIT — https://github.com/TooTallNate/util-deprecate - uuid@14.0.1 — MIT — https://github.com/uuidjs/uuid - vary@1.1.2 — MIT — https://github.com/jshttp/vary -- vfile@6.0.3 — MIT — https://github.com/vfile/vfile - vfile-location@5.0.3 — MIT — https://github.com/vfile/vfile-location - vfile-message@4.0.3 — MIT — https://github.com/vfile/vfile-message +- vfile@6.0.3 — MIT — https://github.com/vfile/vfile - void-elements@3.1.0 — MIT — https://github.com/pugjs/void-elements - w3c-keyname@2.2.8 — MIT — https://github.com/marijnh/w3c-keyname - web-namespaces@2.0.1 — MIT — https://github.com/wooorm/web-namespaces - web-streams-polyfill@3.3.3 — MIT — https://github.com/MattiasBuelens/web-streams-polyfill -- which@2.0.2 — ISC — https://github.com/isaacs/node-which - which-module@2.0.1 — ISC — https://github.com/nexdrew/which-module +- which@2.0.2 — ISC — https://github.com/isaacs/node-which - workerpool@9.1.1 — Apache-2.0 — https://github.com/josdejong/workerpool - wrap-ansi@6.2.0 — MIT — https://github.com/chalk/wrap-ansi - wrap-ansi@7.0.0 — MIT — https://github.com/chalk/wrap-ansi @@ -4772,10 +4775,10 @@ SECTION 2: npm packages (806 packages) - wrappy@1.0.2 — ISC — https://github.com/npm/wrappy - ws@8.21.1 — MIT — https://github.com/websockets/ws - y18n@4.0.3 — ISC — https://github.com/yargs/y18n -- yargs@15.4.1 — MIT — https://github.com/yargs/yargs - yargs-parser@18.1.3 — ISC — https://github.com/yargs/yargs-parser -- zod@4.3.6 — MIT — https://github.com/colinhacks/zod +- yargs@15.4.1 — MIT — https://github.com/yargs/yargs - zod-to-json-schema@3.25.2 — ISC — https://github.com/StefanTerdell/zod-to-json-schema +- zod@4.3.6 — MIT — https://github.com/colinhacks/zod - zwitch@2.0.4 — MIT — https://github.com/wooorm/zwitch ============================================================================== @@ -5369,7 +5372,7 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[4] Applies to: cargo:anstream@1.0.0, cargo:anstyle@1.0.14, cargo:anstyle-parse@1.0.0, cargo:anstyle-query@1.1.5, cargo:anstyle-wincon@3.0.11, cargo:clap@4.6.1, cargo:clap_builder@4.6.0, cargo:clap_derive@4.6.1, cargo:clap_lex@1.1.0, cargo:colorchoice@1.0.5, cargo:is_terminal_polyfill@1.70.2, cargo:once_cell_polyfill@1.70.2, cargo:serde_spanned@1.1.1, cargo:toml@1.1.2+spec-1.1.0, cargo:toml_datetime@1.1.1+spec-1.1.0, cargo:toml_parser@1.1.2+spec-1.1.0, cargo:toml_writer@1.1.1+spec-1.1.0 +[4] Applies to: cargo:anstream@1.0.0, cargo:anstyle-parse@1.0.0, cargo:anstyle-query@1.1.5, cargo:anstyle-wincon@3.0.11, cargo:anstyle@1.0.14, cargo:clap_builder@4.6.0, cargo:clap_derive@4.6.1, cargo:clap_lex@1.1.0, cargo:clap@4.6.1, cargo:colorchoice@1.0.5, cargo:is_terminal_polyfill@1.70.2, cargo:once_cell_polyfill@1.70.2, cargo:serde_spanned@1.1.1, cargo:toml_datetime@1.1.1+spec-1.1.0, cargo:toml_parser@1.1.2+spec-1.1.0, cargo:toml_writer@1.1.1+spec-1.1.0, cargo:toml@1.1.2+spec-1.1.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -5594,7 +5597,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[5] Applies to: cargo:anyhow@1.0.103, cargo:dtoa@1.0.11, cargo:dyn-clone@1.0.20, cargo:erased-serde@0.4.10, cargo:itoa@1.0.18, cargo:proc-macro2@1.0.106, cargo:quote@1.0.46, cargo:ref-cast@1.0.25, cargo:ref-cast-impl@1.0.25, cargo:rustc-hash@2.1.3, cargo:semver@1.0.28, cargo:serde@1.0.228, cargo:serde_core@1.0.228, cargo:serde_derive@1.0.228, cargo:serde_derive_internals@0.29.1, cargo:serde_json@1.0.150, cargo:serde_repr@0.1.20, cargo:serde-untagged@0.1.9, cargo:syn@2.0.118, cargo:thiserror@1.0.69, cargo:thiserror@2.0.18, cargo:thiserror-impl@1.0.69, cargo:thiserror-impl@2.0.18, cargo:typeid@1.0.3 +[5] Applies to: cargo:anyhow@1.0.103, cargo:dtoa@1.0.11, cargo:dyn-clone@1.0.20, cargo:erased-serde@0.4.10, cargo:itoa@1.0.18, cargo:proc-macro2@1.0.106, cargo:quote@1.0.46, cargo:ref-cast-impl@1.0.25, cargo:ref-cast@1.0.25, cargo:rustc-hash@2.1.3, cargo:semver@1.0.28, cargo:serde_core@1.0.228, cargo:serde_derive_internals@0.29.1, cargo:serde_derive@1.0.228, cargo:serde_json@1.0.150, cargo:serde_repr@0.1.20, cargo:serde-untagged@0.1.9, cargo:serde@1.0.228, cargo:syn@2.0.118, cargo:thiserror-impl@1.0.69, cargo:thiserror-impl@2.0.18, cargo:thiserror@1.0.69, cargo:thiserror@2.0.18, cargo:typeid@1.0.3 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -6256,7 +6259,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[8] Applies to: cargo:bitflags@1.3.2, cargo:bitflags@2.13.0, cargo:glob@0.3.3, cargo:log@0.4.33, cargo:num-traits@0.2.19, cargo:regex@1.13.0, cargo:regex-automata@0.4.15, cargo:regex-syntax@0.8.11 +[8] Applies to: cargo:bitflags@1.3.2, cargo:bitflags@2.13.0, cargo:glob@0.3.3, cargo:log@0.4.33, cargo:num-traits@0.2.19, cargo:regex-automata@0.4.15, cargo:regex-syntax@0.8.11, cargo:regex@1.13.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -10343,7 +10346,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[28] Applies to: cargo:cssparser@0.36.0, cargo:cssparser-macros@0.6.1, cargo:dtoa-short@0.3.5 +[28] Applies to: cargo:cssparser-macros@0.6.1, cargo:cssparser@0.36.0, cargo:dtoa-short@0.3.5 ------------------------------------------------------------------------------ Mozilla Public License Version 2.0 ================================== @@ -10720,7 +10723,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[29] Applies to: cargo:ctor@0.8.0, cargo:ctor-proc-macro@0.0.7, cargo:dtor@0.3.0, cargo:dtor-proc-macro@0.0.6 +[29] Applies to: cargo:ctor-proc-macro@0.0.7, cargo:ctor@0.8.0, cargo:dtor-proc-macro@0.0.6, cargo:dtor@0.3.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -10931,7 +10934,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[30] Applies to: cargo:darling@0.23.0, cargo:darling_core@0.23.0, cargo:darling_macro@0.23.0 +[30] Applies to: cargo:darling_core@0.23.0, cargo:darling_macro@0.23.0, cargo:darling@0.23.0 ------------------------------------------------------------------------------ MIT License @@ -11181,7 +11184,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[32] Applies to: cargo:derive_more@2.1.1, cargo:derive_more-impl@2.1.1 +[32] Applies to: cargo:derive_more-impl@2.1.1, cargo:derive_more@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11437,7 +11440,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[34] Applies to: cargo:dirs@6.0.0, cargo:dirs-sys@0.5.0 +[34] Applies to: cargo:dirs-sys@0.5.0, cargo:dirs@6.0.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -12048,7 +12051,7 @@ express Statement of Purpose. this CC0 or use of the Work. ------------------------------------------------------------------------------ -[38] Applies to: cargo:either@1.16.0, cargo:serde_with@3.21.0, cargo:serde_with_macros@3.21.0 +[38] Applies to: cargo:either@1.16.0, cargo:serde_with_macros@3.21.0, cargo:serde_with@3.21.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -15096,7 +15099,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[54] Applies to: cargo:icu_collections@2.2.0, cargo:icu_locale_core@2.2.0, cargo:icu_normalizer@2.2.0, cargo:icu_normalizer_data@2.2.0, cargo:icu_properties@2.2.0, cargo:icu_properties_data@2.2.0, cargo:icu_provider@2.2.0, cargo:litemap@0.8.2, cargo:potential_utf@0.1.5, cargo:tinystr@0.8.3, cargo:writeable@0.6.3, cargo:yoke@0.8.3, cargo:yoke-derive@0.8.2, cargo:zerofrom@0.1.8, cargo:zerofrom-derive@0.1.7, cargo:zerotrie@0.2.4, cargo:zerovec@0.11.6, cargo:zerovec-derive@0.11.3 +[54] Applies to: cargo:icu_collections@2.2.0, cargo:icu_locale_core@2.2.0, cargo:icu_normalizer_data@2.2.0, cargo:icu_normalizer@2.2.0, cargo:icu_properties_data@2.2.0, cargo:icu_properties@2.2.0, cargo:icu_provider@2.2.0, cargo:litemap@0.8.2, cargo:potential_utf@0.1.5, cargo:tinystr@0.8.3, cargo:writeable@0.6.3, cargo:yoke-derive@0.8.2, cargo:yoke@0.8.3, cargo:zerofrom-derive@0.1.7, cargo:zerofrom@0.1.8, cargo:zerotrie@0.2.4, cargo:zerovec-derive@0.11.3, cargo:zerovec@0.11.6 ------------------------------------------------------------------------------ UNICODE LICENSE V3 @@ -15169,7 +15172,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[56] Applies to: cargo:idna@1.1.0, cargo:percent-encoding@2.3.2, cargo:url@2.5.8 +[56] Applies to: cargo:idna_adapter@1.2.2 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -15373,7 +15376,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -Copyright (c) 2013-2025 The rust-url developers +Copyright (c) The rust-url developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -15400,7 +15403,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[57] Applies to: cargo:idna_adapter@1.2.2 +[57] Applies to: cargo:idna@1.1.0, cargo:percent-encoding@2.3.2, cargo:url@2.5.8 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -15604,7 +15607,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -Copyright (c) The rust-url developers +Copyright (c) 2013-2025 The rust-url developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -16772,7 +16775,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[64] Applies to: cargo:lock_api@0.4.14, cargo:parking_lot@0.12.5, cargo:parking_lot_core@0.9.12 +[64] Applies to: cargo:lock_api@0.4.14, cargo:parking_lot_core@0.9.12, cargo:parking_lot@0.12.5 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -18834,7 +18837,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[75] Applies to: cargo:phf@0.13.1, cargo:phf_generator@0.13.1, cargo:phf_macros@0.13.1, cargo:phf_shared@0.13.1 +[75] Applies to: cargo:phf_generator@0.13.1, cargo:phf_macros@0.13.1, cargo:phf_shared@0.13.1, cargo:phf@0.13.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -19807,7 +19810,7 @@ Permission is granted to anyone to use this software for any purpose, including 3. This notice may not be removed or altered from any source distribution. ------------------------------------------------------------------------------ -[83] Applies to: cargo:rayon@1.12.0, cargo:rayon-core@1.13.0 +[83] Applies to: cargo:rayon-core@1.13.0, cargo:rayon@1.12.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -20092,7 +20095,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[85] Applies to: cargo:schemars@0.8.22, cargo:schemars@0.9.0, cargo:schemars@1.2.1, cargo:schemars_derive@0.8.22 +[85] Applies to: cargo:schemars_derive@0.8.22, cargo:schemars@0.8.22, cargo:schemars@0.9.0, cargo:schemars@1.2.1 ------------------------------------------------------------------------------ MIT License @@ -20348,7 +20351,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[87] Applies to: cargo:serialize-to-javascript@0.1.2, cargo:serialize-to-javascript-impl@0.1.2 +[87] Applies to: cargo:serialize-to-javascript-impl@0.1.2, cargo:serialize-to-javascript@0.1.2 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -22280,7 +22283,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[100] Applies to: cargo:time@0.3.53, cargo:time-core@0.1.9, cargo:time-macros@0.2.31 +[100] Applies to: cargo:time-core@0.1.9, cargo:time-macros@0.2.31, cargo:time@0.3.53 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -22480,7 +22483,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[101] Applies to: cargo:tinyvec@1.12.0 +[101] Applies to: cargo:tinyvec_macros@0.1.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -22670,7 +22673,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2020 Tomasz "Soveu" Marx Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22684,26 +22687,50 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +MIT License -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Copyright (c) 2020 Soveu -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (c) 2019 Daniel "Lokathor" Gee. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: +zlib License -1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. +(C) 2020 Tomasz "Soveu" Marx -2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. ------------------------------------------------------------------------------ -[102] Applies to: cargo:tinyvec_macros@0.1.1 +[102] Applies to: cargo:tinyvec@1.12.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -22893,7 +22920,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2020 Tomasz "Soveu" Marx + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22907,46 +22934,22 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -MIT License - -Copyright (c) 2020 Soveu +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright (c) 2019 Daniel "Lokathor" Gee. -zlib License +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -(C) 2020 Tomasz "Soveu" Marx +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. ------------------------------------------------------------------------------ @@ -22975,7 +22978,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[104] Applies to: cargo:tracing@0.1.44, cargo:tracing-core@0.1.36 +[104] Applies to: cargo:tracing-core@0.1.36, cargo:tracing@0.1.44 ------------------------------------------------------------------------------ Copyright (c) 2019 Tokio Contributors @@ -24890,7 +24893,7 @@ PackageDownloadLocation: git+ssh://github.com/tauri-apps/window-vibrancy.git Creator: Person: Daniel Thompson-Yvetot ------------------------------------------------------------------------------ -[114] Applies to: cargo:windows@0.57.0, cargo:windows@0.61.3, cargo:windows_x86_64_msvc@0.52.6, cargo:windows-collections@0.2.0, cargo:windows-core@0.57.0, cargo:windows-core@0.61.2, cargo:windows-future@0.2.1, cargo:windows-implement@0.57.0, cargo:windows-implement@0.60.2, cargo:windows-interface@0.57.0, cargo:windows-interface@0.59.3, cargo:windows-link@0.1.3, cargo:windows-link@0.2.1, cargo:windows-numerics@0.2.0, cargo:windows-result@0.1.2, cargo:windows-result@0.3.4, cargo:windows-strings@0.4.2, cargo:windows-sys@0.59.0, cargo:windows-sys@0.61.2, cargo:windows-targets@0.52.6, cargo:windows-threading@0.1.0, cargo:windows-version@0.1.7 +[114] Applies to: cargo:windows_x86_64_msvc@0.52.6, cargo:windows-collections@0.2.0, cargo:windows-core@0.57.0, cargo:windows-core@0.61.2, cargo:windows-future@0.2.1, cargo:windows-implement@0.57.0, cargo:windows-implement@0.60.2, cargo:windows-interface@0.57.0, cargo:windows-interface@0.59.3, cargo:windows-link@0.1.3, cargo:windows-link@0.2.1, cargo:windows-numerics@0.2.0, cargo:windows-result@0.1.2, cargo:windows-result@0.3.4, cargo:windows-strings@0.4.2, cargo:windows-sys@0.59.0, cargo:windows-sys@0.61.2, cargo:windows-targets@0.52.6, cargo:windows-threading@0.1.0, cargo:windows-version@0.1.7, cargo:windows@0.57.0, cargo:windows@0.61.3 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -27666,7 +27669,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[146] Applies to: npm:@lit/reactive-element@2.1.2, npm:lit@3.3.3, npm:lit-element@4.2.2, npm:lit-html@3.3.3 +[146] Applies to: npm:@lit/reactive-element@2.1.2, npm:lit-element@4.2.2, npm:lit-html@3.3.3, npm:lit@3.3.3 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -27873,7 +27876,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[154] Applies to: npm:@parcel/watcher@2.5.6, npm:@parcel/watcher-darwin-arm64@2.5.6, npm:@parcel/watcher-darwin-x64@2.5.6, npm:@parcel/watcher-linux-arm64-glibc@2.5.6, npm:@parcel/watcher-linux-x64-glibc@2.5.6, npm:@parcel/watcher-win32-x64@2.5.6 +[154] Applies to: npm:@parcel/watcher-darwin-arm64@2.5.6, npm:@parcel/watcher-darwin-x64@2.5.6, npm:@parcel/watcher-linux-arm64-glibc@2.5.6, npm:@parcel/watcher-linux-x64-glibc@2.5.6, npm:@parcel/watcher-win32-x64@2.5.6, npm:@parcel/watcher@2.5.6 ------------------------------------------------------------------------------ MIT License @@ -28056,7 +28059,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[161] Applies to: npm:@types/d3@7.4.3, npm:@types/d3-array@3.2.2, npm:@types/d3-axis@3.0.6, npm:@types/d3-brush@3.0.6, npm:@types/d3-chord@3.0.6, npm:@types/d3-color@3.1.3, npm:@types/d3-contour@3.0.6, npm:@types/d3-delaunay@6.0.4, npm:@types/d3-dispatch@3.0.7, npm:@types/d3-drag@3.0.7, npm:@types/d3-dsv@3.0.7, npm:@types/d3-ease@3.0.2, npm:@types/d3-fetch@3.0.7, npm:@types/d3-force@3.0.10, npm:@types/d3-format@3.0.4, npm:@types/d3-geo@3.1.0, npm:@types/d3-hierarchy@3.1.7, npm:@types/d3-interpolate@3.0.4, npm:@types/d3-path@3.1.1, npm:@types/d3-polygon@3.0.2, npm:@types/d3-quadtree@3.0.6, npm:@types/d3-random@3.0.4, npm:@types/d3-scale@4.0.9, npm:@types/d3-scale-chromatic@3.1.0, npm:@types/d3-selection@3.0.11, npm:@types/d3-shape@3.1.8, npm:@types/d3-time@3.0.4, npm:@types/d3-time-format@4.0.3, npm:@types/d3-timer@3.0.2, npm:@types/d3-transition@3.0.9, npm:@types/d3-zoom@3.0.8, npm:@types/debug@4.1.13, npm:@types/estree@1.0.9, npm:@types/estree-jsx@1.0.5, npm:@types/geojson@7946.0.16, npm:@types/hast@3.0.5, npm:@types/katex@0.16.8, npm:@types/mdast@4.0.4, npm:@types/ms@2.1.0, npm:@types/node@25.9.5, npm:@types/trusted-types@2.0.7, npm:@types/unist@2.0.11, npm:@types/unist@3.0.3, npm:@types/use-sync-external-store@0.0.6, npm:@types/ws@8.18.1 +[161] Applies to: npm:@types/d3-array@3.2.2, npm:@types/d3-axis@3.0.6, npm:@types/d3-brush@3.0.6, npm:@types/d3-chord@3.0.6, npm:@types/d3-color@3.1.3, npm:@types/d3-contour@3.0.6, npm:@types/d3-delaunay@6.0.4, npm:@types/d3-dispatch@3.0.7, npm:@types/d3-drag@3.0.7, npm:@types/d3-dsv@3.0.7, npm:@types/d3-ease@3.0.2, npm:@types/d3-fetch@3.0.7, npm:@types/d3-force@3.0.10, npm:@types/d3-format@3.0.4, npm:@types/d3-geo@3.1.0, npm:@types/d3-hierarchy@3.1.7, npm:@types/d3-interpolate@3.0.4, npm:@types/d3-path@3.1.1, npm:@types/d3-polygon@3.0.2, npm:@types/d3-quadtree@3.0.6, npm:@types/d3-random@3.0.4, npm:@types/d3-scale-chromatic@3.1.0, npm:@types/d3-scale@4.0.9, npm:@types/d3-selection@3.0.11, npm:@types/d3-shape@3.1.8, npm:@types/d3-time-format@4.0.3, npm:@types/d3-time@3.0.4, npm:@types/d3-timer@3.0.2, npm:@types/d3-transition@3.0.9, npm:@types/d3-zoom@3.0.8, npm:@types/d3@7.4.3, npm:@types/debug@4.1.13, npm:@types/estree-jsx@1.0.5, npm:@types/estree@1.0.9, npm:@types/geojson@7946.0.16, npm:@types/hast@3.0.5, npm:@types/katex@0.16.8, npm:@types/mdast@4.0.4, npm:@types/ms@2.1.0, npm:@types/node@25.9.5, npm:@types/trusted-types@2.0.7, npm:@types/unist@2.0.11, npm:@types/unist@3.0.3, npm:@types/use-sync-external-store@0.0.6, npm:@types/ws@8.18.1 ------------------------------------------------------------------------------ MIT License @@ -28301,11 +28304,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[171] Applies to: npm:ajv@7.2.4, npm:ajv@8.20.0 +[171] Applies to: npm:ajv-formats@1.6.1, npm:ajv-formats@3.0.1 ------------------------------------------------------------------------------ -The MIT License (MIT) +MIT License -Copyright (c) 2015-2021 Evgeny Poberezkin +Copyright (c) 2020 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -28326,11 +28329,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[172] Applies to: npm:ajv-formats@1.6.1, npm:ajv-formats@3.0.1 +[172] Applies to: npm:ajv@7.2.4, npm:ajv@8.20.0 ------------------------------------------------------------------------------ -MIT License +The MIT License (MIT) -Copyright (c) 2020 Evgeny Poberezkin +Copyright (c) 2015-2021 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -28769,7 +28772,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[182] Applies to: npm:bail@2.0.2, npm:ccount@2.0.1, npm:character-entities@2.0.2, npm:character-entities-html4@2.1.0, npm:character-entities-legacy@3.0.0, npm:character-reference-invalid@2.0.1, npm:mdast-util-to-string@4.0.0, npm:unist-util-find-after@5.0.0, npm:unist-util-position@5.0.0, npm:unist-util-visit@5.1.0 +[182] Applies to: npm:bail@2.0.2, npm:ccount@2.0.1, npm:character-entities-html4@2.1.0, npm:character-entities-legacy@3.0.0, npm:character-entities@2.0.2, npm:character-reference-invalid@2.0.1, npm:mdast-util-to-string@4.0.0, npm:unist-util-find-after@5.0.0, npm:unist-util-position@5.0.0, npm:unist-util-visit@5.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -29064,7 +29067,23 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[192] Applies to: npm:buffer@5.7.1 +[192] Applies to: npm:buffer-equal-constant-time@1.0.1 +------------------------------------------------------------------------------ +Copyright (c) 2013, GoInstant Inc., a salesforce.com company +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------------------ +[193] Applies to: npm:buffer@5.7.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -29088,22 +29107,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[193] Applies to: npm:buffer-equal-constant-time@1.0.1 ------------------------------------------------------------------------------- -Copyright (c) 2013, GoInstant Inc., a salesforce.com company -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ------------------------------------------------------------------------------ [194] Applies to: npm:buildcheck@0.0.7, npm:cpu-features@0.0.10, npm:ssh2@1.17.0 ------------------------------------------------------------------------------ @@ -29636,12 +29639,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[209] Applies to: npm:cookie@0.7.2, npm:cookie@1.1.1 +[209] Applies to: npm:cookie-signature@1.2.2 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2012-2014 Roman Shtylman -Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2012–2024 LearnBoost and other contributors; Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -29663,11 +29665,12 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[210] Applies to: npm:cookie-signature@1.2.2 +[210] Applies to: npm:cookie@0.7.2, npm:cookie@1.1.1 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2012–2024 LearnBoost and other contributors; +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -29811,9 +29814,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[216] Applies to: npm:cytoscape@3.34.0 +[216] Applies to: npm:cytoscape-cose-bilkent@4.1.0 ------------------------------------------------------------------------------ -Copyright (c) 2016-2026, The Cytoscape Consortium. +Copyright (c) 2016-2018, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -29833,18 +29836,10 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -import fs from 'fs'; -import path from 'path'; - -import { fileURLToPath } from 'url'; -import { dirname } from 'path'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); - -const year = (new Date()).getFullYear(); - -const license = `Copyright (c) 2016-${year}, The Cytoscape Consortium. +------------------------------------------------------------------------------ +[217] Applies to: npm:cytoscape-fcose@2.2.0 +------------------------------------------------------------------------------ +Copyright (c) 2018 - present, iVis-at-Bilkent. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -29862,14 +29857,12 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE.`; - -fs.writeFileSync(path.join(__dirname, 'LICENSE'), license); +SOFTWARE. ------------------------------------------------------------------------------ -[217] Applies to: npm:cytoscape-cose-bilkent@4.1.0 +[218] Applies to: npm:cytoscape@3.34.0 ------------------------------------------------------------------------------ -Copyright (c) 2016-2018, The Cytoscape Consortium. +Copyright (c) 2016-2026, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -29889,10 +29882,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[218] Applies to: npm:cytoscape-fcose@2.2.0 ------------------------------------------------------------------------------- -Copyright (c) 2018 - present, iVis-at-Bilkent. +import fs from 'fs'; +import path from 'path'; + +import { fileURLToPath } from 'url'; +import { dirname } from 'path'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const year = (new Date()).getFullYear(); + +const license = `Copyright (c) 2016-${year}, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -29910,27 +29911,12 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ------------------------------------------------------------------------------- -[219] Applies to: npm:d3@7.9.0, npm:d3-array@3.2.4 ------------------------------------------------------------------------------- -Copyright 2010-2023 Mike Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. +SOFTWARE.`; -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. +fs.writeFileSync(path.join(__dirname, 'LICENSE'), license); ------------------------------------------------------------------------------ -[220] Applies to: npm:d3-array@2.12.1 +[219] Applies to: npm:d3-array@2.12.1 ------------------------------------------------------------------------------ Copyright 2010-2020 Mike Bostock All rights reserved. @@ -29960,6 +29946,23 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------------------ +[220] Applies to: npm:d3-array@3.2.4, npm:d3@7.9.0 +------------------------------------------------------------------------------ +Copyright 2010-2023 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + ------------------------------------------------------------------------------ [221] Applies to: npm:d3-axis@3.0.0, npm:d3-brush@3.0.0, npm:d3-chord@3.0.1, npm:d3-dispatch@3.0.1, npm:d3-drag@3.0.0, npm:d3-force@3.0.0, npm:d3-hierarchy@3.1.2, npm:d3-interpolate@3.0.1, npm:d3-polygon@3.0.1, npm:d3-quadtree@3.0.1, npm:d3-random@3.0.1, npm:d3-scale@4.0.2, npm:d3-selection@3.0.0, npm:d3-time-format@4.1.0, npm:d3-timer@3.0.1, npm:d3-transition@3.0.1, npm:d3-zoom@3.0.0 ------------------------------------------------------------------------------ @@ -30415,7 +30418,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[240] Applies to: npm:decode-named-character-reference@1.3.0, npm:hast-util-from-parse5@8.0.3, npm:hast-util-to-jsx-runtime@2.3.6, npm:hastscript@9.0.1, npm:lowlight@3.3.0, npm:markdown-table@3.0.4, npm:mdast-util-find-and-replace@3.0.2, npm:mdast-util-from-markdown@2.0.3, npm:mdast-util-gfm@3.1.0, npm:mdast-util-gfm-footnote@2.1.0, npm:mdast-util-to-markdown@2.1.2, npm:micromark@4.0.2, npm:micromark-core-commonmark@2.0.3, npm:micromark-extension-gfm-table@2.1.1, npm:micromark-factory-destination@2.0.1, npm:micromark-factory-label@2.0.1, npm:micromark-factory-space@2.0.1, npm:micromark-factory-title@2.0.1, npm:micromark-factory-whitespace@2.0.1, npm:micromark-util-character@2.1.1, npm:micromark-util-chunked@2.0.1, npm:micromark-util-classify-character@2.0.1, npm:micromark-util-combine-extensions@2.0.1, npm:micromark-util-decode-numeric-character-reference@2.0.2, npm:micromark-util-decode-string@2.0.1, npm:micromark-util-encode@2.0.1, npm:micromark-util-html-tag-name@2.0.1, npm:micromark-util-normalize-identifier@2.0.1, npm:micromark-util-resolve-all@2.0.1, npm:micromark-util-sanitize-uri@2.0.1, npm:micromark-util-subtokenize@2.1.0, npm:micromark-util-symbol@2.0.1, npm:micromark-util-types@2.0.2, npm:rehype-highlight@7.0.2, npm:remark-gfm@4.0.1, npm:remark-rehype@11.1.2, npm:vfile-message@4.0.3 +[240] Applies to: npm:decode-named-character-reference@1.3.0, npm:hast-util-from-parse5@8.0.3, npm:hast-util-to-jsx-runtime@2.3.6, npm:hastscript@9.0.1, npm:lowlight@3.3.0, npm:markdown-table@3.0.4, npm:mdast-util-find-and-replace@3.0.2, npm:mdast-util-from-markdown@2.0.3, npm:mdast-util-gfm-footnote@2.1.0, npm:mdast-util-gfm@3.1.0, npm:mdast-util-to-markdown@2.1.2, npm:micromark-core-commonmark@2.0.3, npm:micromark-extension-gfm-table@2.1.1, npm:micromark-factory-destination@2.0.1, npm:micromark-factory-label@2.0.1, npm:micromark-factory-space@2.0.1, npm:micromark-factory-title@2.0.1, npm:micromark-factory-whitespace@2.0.1, npm:micromark-util-character@2.1.1, npm:micromark-util-chunked@2.0.1, npm:micromark-util-classify-character@2.0.1, npm:micromark-util-combine-extensions@2.0.1, npm:micromark-util-decode-numeric-character-reference@2.0.2, npm:micromark-util-decode-string@2.0.1, npm:micromark-util-encode@2.0.1, npm:micromark-util-html-tag-name@2.0.1, npm:micromark-util-normalize-identifier@2.0.1, npm:micromark-util-resolve-all@2.0.1, npm:micromark-util-sanitize-uri@2.0.1, npm:micromark-util-subtokenize@2.1.0, npm:micromark-util-symbol@2.0.1, npm:micromark-util-types@2.0.2, npm:micromark@4.0.2, npm:rehype-highlight@7.0.2, npm:remark-gfm@4.0.1, npm:remark-rehype@11.1.2, npm:vfile-message@4.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -30847,7 +30850,32 @@ THE SOFTWARE. ``` ------------------------------------------------------------------------------ -[250] Applies to: npm:discord-api-types@0.38.50 +[250] Applies to: npm:dingtalk-stream@v2.1.5 +------------------------------------------------------------------------------ +MIT License + +Copyright (c) 2023 钉钉开放平台团队 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------------------ +[251] Applies to: npm:discord-api-types@0.38.50 ------------------------------------------------------------------------------ MIT License @@ -30872,7 +30900,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[251] Applies to: npm:dompurify@3.4.12 +[252] Applies to: npm:dompurify@3.4.12 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -31451,7 +31479,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[252] Applies to: npm:dunder-proto@1.0.1, npm:math-intrinsics@1.1.0 +[253] Applies to: npm:dunder-proto@1.0.1, npm:math-intrinsics@1.1.0 ------------------------------------------------------------------------------ MIT License @@ -31476,7 +31504,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[253] Applies to: npm:ecdsa-sig-formatter@1.0.11 +[254] Applies to: npm:ecdsa-sig-formatter@1.0.11 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -31681,7 +31709,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[254] Applies to: npm:ee-first@1.1.1 +[255] Applies to: npm:ee-first@1.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -31706,7 +31734,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[255] Applies to: npm:electron-squirrel-startup@1.0.1 +[256] Applies to: npm:electron-squirrel-startup@1.0.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -31911,7 +31939,7 @@ See the License for the specific language governing permissions and limitations under the License. ------------------------------------------------------------------------------ -[256] Applies to: npm:electron-window-state@5.0.3 +[257] Applies to: npm:electron-window-state@5.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -31937,7 +31965,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[257] Applies to: npm:emoji-regex@8.0.0, npm:emoji-regex@9.2.2, npm:punycode@2.3.1 +[258] Applies to: npm:emoji-regex@8.0.0, npm:emoji-regex@9.2.2, npm:punycode@2.3.1 ------------------------------------------------------------------------------ Copyright Mathias Bynens @@ -31961,7 +31989,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[258] Applies to: npm:encodeurl@2.0.0 +[259] Applies to: npm:encodeurl@2.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -31987,7 +32015,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[259] Applies to: npm:end-of-stream@1.4.5, npm:pump@3.0.4, npm:tar-fs@2.1.5, npm:tar-stream@2.2.0 +[260] Applies to: npm:end-of-stream@1.4.5, npm:pump@3.0.4, npm:tar-fs@2.1.5, npm:tar-stream@2.2.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -32012,7 +32040,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[260] Applies to: npm:entities@6.0.1 +[261] Applies to: npm:entities@6.0.1 ------------------------------------------------------------------------------ Copyright (c) Felix Böhm All rights reserved. @@ -32027,7 +32055,7 @@ THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[261] Applies to: npm:es-set-tostringtag@2.1.0 +[262] Applies to: npm:es-set-tostringtag@2.1.0 ------------------------------------------------------------------------------ MIT License @@ -32052,7 +32080,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[262] Applies to: npm:es-toolkit@1.49.0 +[263] Applies to: npm:es-toolkit@1.49.0 ------------------------------------------------------------------------------ MIT License @@ -32077,7 +32105,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[263] Applies to: npm:escape-html@1.0.3 +[264] Applies to: npm:escape-html@1.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -32105,7 +32133,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[264] Applies to: npm:esprima@4.0.1 +[265] Applies to: npm:esprima@4.0.1 ------------------------------------------------------------------------------ Copyright JS Foundation and other contributors, https://js.foundation/ @@ -32130,7 +32158,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[265] Applies to: npm:estree-util-is-identifier-name@3.0.0, npm:hast-util-heading-rank@3.0.0, npm:mdast-util-gfm-autolink-literal@2.0.1, npm:mdast-util-gfm-strikethrough@2.0.0, npm:mdast-util-gfm-table@2.0.0, npm:mdast-util-gfm-task-list-item@2.0.0, npm:mdast-util-math@3.0.0, npm:mdast-util-mdx-expression@2.0.1, npm:mdast-util-mdx-jsx@3.2.0, npm:mdast-util-mdxjs-esm@2.0.1, npm:micromark-extension-gfm@3.0.0, npm:micromark-extension-gfm-autolink-literal@2.1.0, npm:micromark-extension-gfm-strikethrough@2.1.0, npm:micromark-extension-gfm-tagfilter@2.0.0, npm:micromark-extension-gfm-task-list-item@2.1.0, npm:micromark-extension-math@3.1.0 +[266] Applies to: npm:estree-util-is-identifier-name@3.0.0, npm:hast-util-heading-rank@3.0.0, npm:mdast-util-gfm-autolink-literal@2.0.1, npm:mdast-util-gfm-strikethrough@2.0.0, npm:mdast-util-gfm-table@2.0.0, npm:mdast-util-gfm-task-list-item@2.0.0, npm:mdast-util-math@3.0.0, npm:mdast-util-mdx-expression@2.0.1, npm:mdast-util-mdx-jsx@3.2.0, npm:mdast-util-mdxjs-esm@2.0.1, npm:micromark-extension-gfm-autolink-literal@2.1.0, npm:micromark-extension-gfm-strikethrough@2.1.0, npm:micromark-extension-gfm-tagfilter@2.0.0, npm:micromark-extension-gfm-task-list-item@2.1.0, npm:micromark-extension-gfm@3.0.0, npm:micromark-extension-math@3.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -32156,7 +32184,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[266] Applies to: npm:etag@1.8.1, npm:proxy-addr@2.0.7 +[267] Applies to: npm:etag@1.8.1, npm:proxy-addr@2.0.7 ------------------------------------------------------------------------------ (The MIT License) @@ -32182,37 +32210,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[267] Applies to: npm:eventsource@3.0.7 +[268] Applies to: npm:eventemitter3@5.0.4 ------------------------------------------------------------------------------ -The MIT License - -Copyright (c) EventSource GitHub organisation - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ------------------------------------------------------------------------------- -[268] Applies to: npm:eventsource-parser@3.1.0 ------------------------------------------------------------------------------- -MIT License +The MIT License (MIT) -Copyright (c) 2026 Espen Hovlandsdal +Copyright (c) 2014 Arnout Kazemier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -32233,11 +32235,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[269] Applies to: npm:expand-template@2.0.3 +[269] Applies to: npm:eventsource-parser@3.1.0 ------------------------------------------------------------------------------ -The MIT License (MIT) +MIT License -Copyright (c) 2018 Lars-Magnus Skog +Copyright (c) 2026 Espen Hovlandsdal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -32246,29 +32248,27 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ------------------------------------------------------------------------------ -[270] Applies to: npm:express@5.2.1 +[270] Applies to: npm:eventsource@3.0.7 ------------------------------------------------------------------------------ -(The MIT License) +The MIT License -Copyright (c) 2009-2014 TJ Holowaychuk -Copyright (c) 2013-2014 Roman Shtylman -Copyright (c) 2014-2015 Douglas Christopher Wilson +Copyright (c) EventSource GitHub organisation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including +"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -32277,16 +32277,41 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[271] Applies to: npm:expand-template@2.0.3 +------------------------------------------------------------------------------ +The MIT License (MIT) + +Copyright (c) 2018 Lars-Magnus Skog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. ------------------------------------------------------------------------------ -[271] Applies to: npm:express-rate-limit@8.5.2 +[272] Applies to: npm:express-rate-limit@8.5.2 ------------------------------------------------------------------------------ # MIT License @@ -32310,15 +32335,17 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[272] Applies to: npm:extend@3.0.2 +[273] Applies to: npm:express@5.2.1 ------------------------------------------------------------------------------ -The MIT License (MIT) +(The MIT License) -Copyright (c) 2014 Stefan Thomas +Copyright (c) 2009-2014 TJ Holowaychuk +Copyright (c) 2013-2014 Roman Shtylman +Copyright (c) 2014-2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including +'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -32327,16 +32354,16 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[273] Applies to: npm:extend-shallow@2.0.1 +[274] Applies to: npm:extend-shallow@2.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -32361,7 +32388,33 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[274] Applies to: npm:fast-deep-equal@3.1.3, npm:json-schema-traverse@1.0.0 +[275] Applies to: npm:extend@3.0.2 +------------------------------------------------------------------------------ +The MIT License (MIT) + +Copyright (c) 2014 Stefan Thomas + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[276] Applies to: npm:fast-deep-equal@3.1.3, npm:json-schema-traverse@1.0.0 ------------------------------------------------------------------------------ MIT License @@ -32386,7 +32439,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[275] Applies to: npm:fast-equals@5.4.1 +[277] Applies to: npm:fast-equals@5.4.1 ------------------------------------------------------------------------------ MIT License @@ -32411,7 +32464,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[276] Applies to: npm:fast-uri@3.1.4 +[278] Applies to: npm:fast-uri@3.1.4 ------------------------------------------------------------------------------ Copyright (c) 2011-2021, Gary Court until https://github.com/garycourt/uri-js/commit/a1acf730b4bba3f1097c9f52e7d9d3aba8cdcaae Copyright (c) 2021-present The Fastify team @@ -32445,7 +32498,7 @@ The complete list of contributors can be found at: - https://github.com/garycourt/uri-js/graphs/contributors ------------------------------------------------------------------------------ -[277] Applies to: npm:fetch-blob@3.2.0 +[279] Applies to: npm:fetch-blob@3.2.0 ------------------------------------------------------------------------------ MIT License @@ -32470,7 +32523,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[278] Applies to: npm:file-uri-to-path@1.0.0 +[280] Applies to: npm:file-uri-to-path@1.0.0 ------------------------------------------------------------------------------ Copyright (c) 2014 Nathan Rajlich @@ -32494,7 +32547,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[279] Applies to: npm:finalhandler@2.1.1 +[281] Applies to: npm:finalhandler@2.1.1 ------------------------------------------------------------------------------ (The MIT License) @@ -32520,7 +32573,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[280] Applies to: npm:follow-redirects@1.16.0 +[282] Applies to: npm:follow-redirects@1.16.0 ------------------------------------------------------------------------------ Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh @@ -32542,7 +32595,7 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[281] Applies to: npm:foreground-child@3.3.1 +[283] Applies to: npm:foreground-child@3.3.1 ------------------------------------------------------------------------------ The ISC License @@ -32561,7 +32614,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[282] Applies to: npm:form-data@4.0.6 +[284] Applies to: npm:form-data@4.0.6 ------------------------------------------------------------------------------ Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors @@ -32584,7 +32637,7 @@ Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors THE SOFTWARE. ------------------------------------------------------------------------------ -[283] Applies to: npm:formdata-polyfill@4.0.10 +[285] Applies to: npm:formdata-polyfill@4.0.10 ------------------------------------------------------------------------------ MIT License @@ -32609,7 +32662,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[284] Applies to: npm:fresh@2.0.0 +[286] Applies to: npm:fresh@2.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -32636,7 +32689,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[285] Applies to: npm:fs-constants@1.0.0 +[287] Applies to: npm:fs-constants@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -32661,7 +32714,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[286] Applies to: npm:fs-extra@11.3.6 +[288] Applies to: npm:fs-extra@11.3.6 ------------------------------------------------------------------------------ (The MIT License) @@ -32680,7 +32733,7 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[287] Applies to: npm:function-bind@1.1.2 +[289] Applies to: npm:function-bind@1.1.2 ------------------------------------------------------------------------------ Copyright (c) 2013 Raynos. @@ -32703,7 +32756,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[288] Applies to: npm:get-caller-file@2.0.5 +[290] Applies to: npm:get-caller-file@2.0.5 ------------------------------------------------------------------------------ ISC License (ISC) Copyright 2018 Stefan Penner @@ -32713,7 +32766,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[289] Applies to: npm:get-intrinsic@1.3.0 +[291] Applies to: npm:get-intrinsic@1.3.0 ------------------------------------------------------------------------------ MIT License @@ -32738,7 +32791,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[290] Applies to: npm:get-nonce@1.0.1 +[292] Applies to: npm:get-nonce@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -32763,7 +32816,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[291] Applies to: npm:get-proto@1.0.1 +[293] Applies to: npm:get-proto@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -32788,7 +32841,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[292] Applies to: npm:github-from-package@0.0.0, npm:minimist@1.2.8 +[294] Applies to: npm:github-from-package@0.0.0, npm:minimist@1.2.8 ------------------------------------------------------------------------------ This software is released under the MIT license: @@ -32810,7 +32863,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[293] Applies to: npm:github-slugger@2.0.0 +[295] Applies to: npm:github-slugger@2.0.0 ------------------------------------------------------------------------------ Copyright (c) 2015, Dan Flettre @@ -32819,7 +32872,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[294] Applies to: npm:glob@10.5.0 +[296] Applies to: npm:glob@10.5.0 ------------------------------------------------------------------------------ The ISC License @@ -32838,7 +32891,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[295] Applies to: npm:gopd@1.2.0 +[297] Applies to: npm:gopd@1.2.0 ------------------------------------------------------------------------------ MIT License @@ -32863,7 +32916,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[296] Applies to: npm:graceful-fs@4.2.11 +[298] Applies to: npm:graceful-fs@4.2.11 ------------------------------------------------------------------------------ The ISC License @@ -32882,7 +32935,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[297] Applies to: npm:gray-matter@4.0.3 +[299] Applies to: npm:gray-matter@4.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -32907,7 +32960,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[298] Applies to: npm:gtoken@8.0.0 +[300] Applies to: npm:gtoken@8.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -32932,7 +32985,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[299] Applies to: npm:hachure-fill@0.5.2 +[301] Applies to: npm:hachure-fill@0.5.2 ------------------------------------------------------------------------------ MIT License @@ -32957,7 +33010,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[300] Applies to: npm:harmonyos-sans-sc-webfont-splitted@1.1.0 +[302] Applies to: npm:harmonyos-sans-sc-webfont-splitted@1.1.0 ------------------------------------------------------------------------------ This is free and unencumbered software released into the public domain. @@ -32985,7 +33038,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[301] Applies to: npm:has-symbols@1.1.0 +[303] Applies to: npm:has-symbols@1.1.0 ------------------------------------------------------------------------------ MIT License @@ -33010,7 +33063,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[302] Applies to: npm:has-tostringtag@1.0.2 +[304] Applies to: npm:has-tostringtag@1.0.2 ------------------------------------------------------------------------------ MIT License @@ -33035,7 +33088,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[303] Applies to: npm:hasown@2.0.4 +[305] Applies to: npm:hasown@2.0.4 ------------------------------------------------------------------------------ MIT License @@ -33060,7 +33113,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[304] Applies to: npm:hast-util-from-dom@5.0.1 +[306] Applies to: npm:hast-util-from-dom@5.0.1 ------------------------------------------------------------------------------ (ISC License) @@ -33079,11 +33132,11 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[305] Applies to: npm:hast-util-from-html@2.0.3 +[307] Applies to: npm:hast-util-from-html-isomorphic@2.0.0 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2022 Titus Wormer +Copyright (c) 2023 Remco Haszing Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -33105,11 +33158,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[306] Applies to: npm:hast-util-from-html-isomorphic@2.0.0 +[308] Applies to: npm:hast-util-from-html@2.0.3 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2023 Remco Haszing +Copyright (c) 2022 Titus Wormer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -33131,7 +33184,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[307] Applies to: npm:hast-util-to-string@3.0.1, npm:html-url-attributes@3.0.1 +[309] Applies to: npm:hast-util-to-string@3.0.1, npm:html-url-attributes@3.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -33156,7 +33209,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[308] Applies to: npm:hast-util-to-text@4.0.2 +[310] Applies to: npm:hast-util-to-text@4.0.2 ------------------------------------------------------------------------------ (The MIT License) @@ -33182,7 +33235,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[309] Applies to: npm:highlight.js@11.11.1 +[311] Applies to: npm:highlight.js@11.11.1 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -33215,7 +33268,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[310] Applies to: npm:hono@4.12.30 +[312] Applies to: npm:hono@4.12.30 ------------------------------------------------------------------------------ MIT License @@ -33240,7 +33293,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[311] Applies to: npm:html-to-image@1.11.13 +[313] Applies to: npm:html-to-image@1.11.13 ------------------------------------------------------------------------------ MIT License @@ -33265,7 +33318,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[312] Applies to: npm:http-errors@2.0.1 +[314] Applies to: npm:http-errors@2.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33291,7 +33344,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[313] Applies to: npm:human-signals@1.1.1, npm:human-signals@2.1.0 +[315] Applies to: npm:human-signals@1.1.1, npm:human-signals@2.1.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -33496,7 +33549,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[314] Applies to: npm:i18next@26.3.6 +[316] Applies to: npm:i18next@26.3.6 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33521,7 +33574,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[315] Applies to: npm:iconv-lite@0.6.3, npm:iconv-lite@0.7.3 +[317] Applies to: npm:iconv-lite@0.6.3, npm:iconv-lite@0.7.3 ------------------------------------------------------------------------------ Copyright (c) 2011 Alexander Shtuchkin @@ -33545,7 +33598,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[316] Applies to: npm:ieee754@1.2.1 +[318] Applies to: npm:ieee754@1.2.1 ------------------------------------------------------------------------------ Copyright 2008 Fair Oaks Labs, Inc. @@ -33560,7 +33613,7 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[317] Applies to: npm:ignore@7.0.6 +[319] Applies to: npm:ignore@7.0.6 ------------------------------------------------------------------------------ Copyright (c) 2013 Kael Zhang , contributors http://kael.me/ @@ -33585,7 +33638,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[318] Applies to: npm:immediate@3.0.6 +[320] Applies to: npm:immediate@3.0.6 ------------------------------------------------------------------------------ Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, Domenic Denicola, Brian Cavalier @@ -33609,7 +33662,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[319] Applies to: npm:import-meta-resolve@4.2.0 +[321] Applies to: npm:import-meta-resolve@4.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -33687,7 +33740,7 @@ IN THE SOFTWARE. """ ------------------------------------------------------------------------------ -[320] Applies to: npm:inherits@2.0.4 +[322] Applies to: npm:inherits@2.0.4 ------------------------------------------------------------------------------ The ISC License @@ -33706,7 +33759,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[321] Applies to: npm:inline-style-parser@0.2.7 +[323] Applies to: npm:inline-style-parser@0.2.7 ------------------------------------------------------------------------------ (The MIT License) @@ -33719,7 +33772,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[322] Applies to: npm:internmap@1.0.1, npm:internmap@2.0.3 +[324] Applies to: npm:internmap@1.0.1, npm:internmap@2.0.3 ------------------------------------------------------------------------------ Copyright 2021 Mike Bostock @@ -33736,7 +33789,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[323] Applies to: npm:ip-address@10.2.0 +[325] Applies to: npm:ip-address@10.2.0 ------------------------------------------------------------------------------ Copyright (C) 2011 by Beau Gunderson @@ -33759,7 +33812,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[324] Applies to: npm:ipaddr.js@1.9.1, npm:ipaddr.js@2.4.0 +[326] Applies to: npm:ipaddr.js@1.9.1, npm:ipaddr.js@2.4.0 ------------------------------------------------------------------------------ Copyright (C) 2011-2017 whitequark @@ -33782,7 +33835,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[325] Applies to: npm:is-buffer@1.1.6, npm:safe-buffer@5.1.2, npm:safe-buffer@5.2.1 +[327] Applies to: npm:is-buffer@1.1.6, npm:safe-buffer@5.1.2, npm:safe-buffer@5.2.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33807,7 +33860,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[326] Applies to: npm:is-extendable@0.1.1 +[328] Applies to: npm:is-extendable@0.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33832,7 +33885,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[327] Applies to: npm:is-extglob@2.1.1 +[329] Applies to: npm:is-extglob@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33857,7 +33910,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[328] Applies to: npm:is-glob@4.0.3, npm:kind-of@6.0.3 +[330] Applies to: npm:is-glob@4.0.3, npm:kind-of@6.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33882,7 +33935,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[329] Applies to: npm:is-promise@2.2.2, npm:is-promise@4.0.0 +[331] Applies to: npm:is-promise@2.2.2, npm:is-promise@4.0.0 ------------------------------------------------------------------------------ Copyright (c) 2014 Forbes Lindesay @@ -33905,7 +33958,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[330] Applies to: npm:jackspeak@3.4.3 +[332] Applies to: npm:jackspeak@3.4.3 ------------------------------------------------------------------------------ # Blue Oak Model License @@ -33964,7 +34017,7 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim._** ------------------------------------------------------------------------------ -[331] Applies to: npm:jose@6.2.3 +[333] Applies to: npm:jose@6.2.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33989,7 +34042,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[332] Applies to: npm:js-base64@3.9.1 +[334] Applies to: npm:js-base64@3.9.1 ------------------------------------------------------------------------------ Copyright (c) 2014, Dan Kogai All rights reserved. @@ -34020,7 +34073,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[333] Applies to: npm:js-yaml@3.15.0, npm:js-yaml@4.3.0 +[335] Applies to: npm:js-yaml@3.15.0, npm:js-yaml@4.3.0 ------------------------------------------------------------------------------ (The MIT License) @@ -34045,7 +34098,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[334] Applies to: npm:json-bigint@1.0.0 +[336] Applies to: npm:json-bigint@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -34069,7 +34122,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[335] Applies to: npm:json-schema-to-ts@3.1.1, npm:ts-algebra@2.0.0 +[337] Applies to: npm:json-schema-to-ts@3.1.1, npm:ts-algebra@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -34094,7 +34147,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[336] Applies to: npm:json-schema-typed@7.0.3 +[338] Applies to: npm:json-schema-typed@7.0.3 ------------------------------------------------------------------------------ BSD-2-Clause License @@ -34124,7 +34177,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[337] Applies to: npm:json-schema-typed@8.0.2 +[339] Applies to: npm:json-schema-typed@8.0.2 ------------------------------------------------------------------------------ BSD 2-Clause License @@ -34185,7 +34238,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[338] Applies to: npm:jsonfile@4.0.0, npm:jsonfile@6.2.1 +[340] Applies to: npm:jsonfile@4.0.0, npm:jsonfile@6.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -34204,7 +34257,7 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[339] Applies to: npm:jszip@3.10.1 +[341] Applies to: npm:jszip@3.10.1 ------------------------------------------------------------------------------ JSZip is dual licensed. At your choice you may use it under the MIT license *or* the GPLv3 license. @@ -34859,7 +34912,7 @@ copy of the Program in return for a fee. END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[340] Applies to: npm:jwa@2.0.1, npm:jws@4.0.1 +[342] Applies to: npm:jwa@2.0.1, npm:jws@4.0.1 ------------------------------------------------------------------------------ Copyright (c) 2013 Brian J. Brennan @@ -34880,7 +34933,7 @@ FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TOR ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[341] Applies to: npm:katex@0.16.47 +[343] Applies to: npm:katex@0.16.47 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -34905,7 +34958,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[342] Applies to: npm:khroma@2.1.0 +[344] Applies to: npm:khroma@2.1.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -34930,7 +34983,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[343] Applies to: npm:layout-base@1.0.2, npm:layout-base@2.0.1 +[345] Applies to: npm:layout-base@1.0.2, npm:layout-base@2.0.1 ------------------------------------------------------------------------------ MIT License @@ -34955,7 +35008,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[344] Applies to: npm:lie@3.3.0 +[346] Applies to: npm:lie@3.3.0 ------------------------------------------------------------------------------ #Copyright (c) 2014-2018 Calvin Metcalf, Jordan Harband @@ -34966,7 +35019,7 @@ The above copyright notice and this permission notice shall be included in all c **THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** ------------------------------------------------------------------------------ -[345] Applies to: npm:lodash@4.18.1, npm:lodash-es@4.18.1, npm:lodash.merge@4.6.2 +[347] Applies to: npm:lodash-es@4.18.1, npm:lodash.merge@4.6.2, npm:lodash@4.18.1 ------------------------------------------------------------------------------ Copyright OpenJS Foundation and other contributors @@ -35017,7 +35070,7 @@ licenses; we recommend you read them, as their terms may differ from the terms above. ------------------------------------------------------------------------------ -[346] Applies to: npm:lodash.identity@3.0.0 +[348] Applies to: npm:lodash.identity@3.0.0 ------------------------------------------------------------------------------ Copyright 2012-2015 The Dojo Foundation Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas, @@ -35043,7 +35096,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[347] Applies to: npm:lodash.pickby@4.6.0, npm:lodash.snakecase@4.1.1 +[349] Applies to: npm:lodash.pickby@4.6.0, npm:lodash.snakecase@4.1.1 ------------------------------------------------------------------------------ Copyright jQuery Foundation and other contributors @@ -35094,7 +35147,7 @@ licenses; we recommend you read them, as their terms may differ from the terms above. ------------------------------------------------------------------------------ -[348] Applies to: npm:longest-streak@3.1.0, npm:stringify-entities@4.0.4, npm:trim-lines@3.0.1 +[350] Applies to: npm:longest-streak@3.1.0, npm:stringify-entities@4.0.4, npm:trim-lines@3.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -35120,7 +35173,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[349] Applies to: npm:loudness@0.4.2 +[351] Applies to: npm:loudness@0.4.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35144,7 +35197,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[350] Applies to: npm:lru-cache@10.4.3 +[352] Applies to: npm:lru-cache@10.4.3 ------------------------------------------------------------------------------ The ISC License @@ -35163,7 +35216,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[351] Applies to: npm:lucide-react@0.468.0 +[353] Applies to: npm:lucide-react@0.468.0 ------------------------------------------------------------------------------ ISC License @@ -35182,7 +35235,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[352] Applies to: npm:magic-bytes.js@1.13.0 +[354] Applies to: npm:magic-bytes.js@1.13.0 ------------------------------------------------------------------------------ MIT License @@ -35207,7 +35260,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[353] Applies to: npm:marked@16.4.2 +[355] Applies to: npm:marked@16.4.2 ------------------------------------------------------------------------------ # License information @@ -35255,7 +35308,7 @@ Redistribution and use in source and binary forms, with or without modification, This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. ------------------------------------------------------------------------------ -[354] Applies to: npm:md5@2.3.0 +[356] Applies to: npm:md5@2.3.0 ------------------------------------------------------------------------------ Copyright © 2011-2012, Paul Vorbach. Copyright © 2009, Jeff Mott. @@ -35286,7 +35339,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[355] Applies to: npm:mdast-util-phrasing@4.1.0 +[357] Applies to: npm:mdast-util-phrasing@4.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -35313,7 +35366,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[356] Applies to: npm:mdast-util-to-markdown-cjk-friendly@1.0.0, npm:remark-cjk-friendly@2.3.1 +[358] Applies to: npm:mdast-util-to-markdown-cjk-friendly@1.0.0, npm:remark-cjk-friendly@2.3.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino @@ -35345,7 +35398,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[357] Applies to: npm:merge-descriptors@2.0.0 +[359] Applies to: npm:merge-descriptors@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -35360,7 +35413,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[358] Applies to: npm:merge-stream@2.0.0 +[360] Applies to: npm:merge-stream@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35385,7 +35438,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[359] Applies to: npm:mermaid@11.16.0 +[361] Applies to: npm:mermaid@11.16.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35410,13 +35463,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[360] Applies to: npm:micromark-extension-cjk-friendly@2.0.1 +[362] Applies to: npm:micromark-extension-cjk-friendly-util@3.0.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino MIT LICENSE -Based on micromark and micromark-core-commonmark +Based on micromark's sub-packages (micromark-util-character, micromark-util-symbol, and micromark-util-classify-character) (The MIT License) @@ -35442,13 +35495,13 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[361] Applies to: npm:micromark-extension-cjk-friendly-util@3.0.1 +[363] Applies to: npm:micromark-extension-cjk-friendly@2.0.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino MIT LICENSE -Based on micromark's sub-packages (micromark-util-character, micromark-util-symbol, and micromark-util-classify-character) +Based on micromark and micromark-core-commonmark (The MIT License) @@ -35474,7 +35527,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[362] Applies to: npm:micromark-extension-gfm-footnote@2.1.0 +[364] Applies to: npm:micromark-extension-gfm-footnote@2.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -35500,7 +35553,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[363] Applies to: npm:mime-db@1.52.0, npm:mime-db@1.54.0 +[365] Applies to: npm:mime-db@1.52.0, npm:mime-db@1.54.0 ------------------------------------------------------------------------------ (The MIT License) @@ -35527,7 +35580,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[364] Applies to: npm:minimatch@9.0.9, npm:rimraf@5.0.10 +[366] Applies to: npm:minimatch@9.0.9, npm:rimraf@5.0.10 ------------------------------------------------------------------------------ The ISC License @@ -35546,7 +35599,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[365] Applies to: npm:minipass@7.1.3, npm:path-scurry@1.11.1 +[367] Applies to: npm:minipass@7.1.3, npm:path-scurry@1.11.1 ------------------------------------------------------------------------------ # Blue Oak Model License @@ -35605,11 +35658,11 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** ------------------------------------------------------------------------------ -[366] Applies to: npm:mkdirp@0.5.6 +[368] Applies to: npm:mkdirp-classic@0.5.3 ------------------------------------------------------------------------------ -Copyright 2010 James Halliday (mail@substack.net) +The MIT License (MIT) -This project is free software released under the MIT/X11 license: +Copyright (c) 2020 James Halliday (mail@substack.net) and Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -35630,11 +35683,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[367] Applies to: npm:mkdirp-classic@0.5.3 +[369] Applies to: npm:mkdirp@0.5.6 ------------------------------------------------------------------------------ -The MIT License (MIT) +Copyright 2010 James Halliday (mail@substack.net) -Copyright (c) 2020 James Halliday (mail@substack.net) and Mathias Buus +This project is free software released under the MIT/X11 license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -35655,7 +35708,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[368] Applies to: npm:ms@2.0.0 +[370] Applies to: npm:ms@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35680,7 +35733,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[369] Applies to: npm:ms@2.1.3 +[371] Applies to: npm:ms@2.1.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35705,7 +35758,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[370] Applies to: npm:nan@2.28.0 +[372] Applies to: npm:nan@2.28.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35718,7 +35771,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[371] Applies to: npm:napi-build-utils@2.0.0 +[373] Applies to: npm:napi-build-utils@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -35743,7 +35796,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[372] Applies to: npm:negotiator@1.0.0 +[374] Applies to: npm:negotiator@1.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -35771,7 +35824,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[373] Applies to: npm:node-abi@3.94.0 +[375] Applies to: npm:node-abi@3.94.0 ------------------------------------------------------------------------------ MIT License @@ -35796,7 +35849,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[374] Applies to: npm:node-addon-api@7.1.1 +[376] Applies to: npm:node-addon-api@7.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35809,7 +35862,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[375] Applies to: npm:node-domexception@1.0.0 +[377] Applies to: npm:node-domexception@1.0.0 ------------------------------------------------------------------------------ MIT License @@ -35834,7 +35887,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[376] Applies to: npm:node-fetch@3.3.2 +[378] Applies to: npm:node-fetch@3.3.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35859,7 +35912,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[377] Applies to: npm:node-machine-id@1.1.12 +[379] Applies to: npm:node-machine-id@1.1.12 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35884,7 +35937,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[378] Applies to: npm:node-pty@1.1.0 +[380] Applies to: npm:node-pty@1.1.0 ------------------------------------------------------------------------------ Copyright (c) 2012-2015, Christopher Jeffrey (https://github.com/chjj/) @@ -35957,7 +36010,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[379] Applies to: npm:object-inspect@1.13.4 +[381] Applies to: npm:object-inspect@1.13.4 ------------------------------------------------------------------------------ MIT License @@ -35982,7 +36035,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[380] Applies to: npm:on-finished@2.4.1 +[382] Applies to: npm:on-finished@2.4.1 ------------------------------------------------------------------------------ (The MIT License) @@ -36009,7 +36062,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[381] Applies to: npm:orderedmap@2.1.1, npm:w3c-keyname@2.2.8 +[383] Applies to: npm:orderedmap@2.1.1, npm:w3c-keyname@2.2.8 ------------------------------------------------------------------------------ Copyright (C) 2016 by Marijn Haverbeke and others @@ -36032,7 +36085,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[382] Applies to: npm:package-json-from-dist@1.0.1 +[384] Applies to: npm:package-json-from-dist@1.0.1 ------------------------------------------------------------------------------ All packages under `src/` are licensed according to the terms in their respective `LICENSE` or `LICENSE.md` files. @@ -36099,7 +36152,7 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** ------------------------------------------------------------------------------ -[383] Applies to: npm:package-manager-detector@1.7.0 +[385] Applies to: npm:package-manager-detector@1.7.0 ------------------------------------------------------------------------------ MIT License @@ -36124,7 +36177,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[384] Applies to: npm:pako@1.0.11 +[386] Applies to: npm:pako@1.0.11 ------------------------------------------------------------------------------ (The MIT License) @@ -36149,7 +36202,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[385] Applies to: npm:parse-entities@4.0.2, npm:property-information@7.2.0 +[387] Applies to: npm:parse-entities@4.0.2, npm:property-information@7.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -36175,7 +36228,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[386] Applies to: npm:parse5@7.3.0 +[388] Applies to: npm:parse5@7.3.0 ------------------------------------------------------------------------------ Copyright (c) 2013-2019 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin) @@ -36198,7 +36251,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[387] Applies to: npm:parseurl@1.3.3 +[389] Applies to: npm:parseurl@1.3.3 ------------------------------------------------------------------------------ (The MIT License) @@ -36225,7 +36278,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[388] Applies to: npm:path-data-parser@0.1.0, npm:points-on-curve@0.2.0 +[390] Applies to: npm:path-data-parser@0.1.0, npm:points-on-curve@0.2.0 ------------------------------------------------------------------------------ MIT License @@ -36250,7 +36303,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[389] Applies to: npm:path-to-regexp@8.4.2 +[391] Applies to: npm:path-to-regexp@8.4.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36275,7 +36328,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[390] Applies to: npm:pdfjs-dist@5.7.284 +[392] Applies to: npm:pdfjs-dist@5.7.284 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -36455,7 +36508,7 @@ Apache License END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[391] Applies to: npm:picomatch@4.0.5 +[393] Applies to: npm:picomatch@4.0.5 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36480,7 +36533,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[392] Applies to: npm:pkce-challenge@5.0.1 +[394] Applies to: npm:pkce-challenge@5.0.1 ------------------------------------------------------------------------------ MIT License @@ -36505,7 +36558,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[393] Applies to: npm:playwright-core@1.60.0 +[395] Applies to: npm:playwright-core@1.60.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -36711,7 +36764,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[394] Applies to: npm:playwright-core@1.60.0 (NOTICE) +[396] Applies to: npm:playwright-core@1.60.0 (NOTICE) ------------------------------------------------------------------------------ NOTICE for npm:playwright-core@1.60.0: @@ -36722,7 +36775,7 @@ This software contains code derived from the Puppeteer project (https://github.c available under the Apache 2.0 license (https://github.com/puppeteer/puppeteer/blob/master/LICENSE). ------------------------------------------------------------------------------ -[395] Applies to: npm:pngjs@5.0.0 +[397] Applies to: npm:pngjs@5.0.0 ------------------------------------------------------------------------------ pngjs2 original work Copyright (c) 2015 Luke Page & Original Contributors pngjs derived work Copyright (c) 2012 Kuba Niegowski @@ -36746,7 +36799,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[396] Applies to: npm:points-on-path@0.2.1 +[398] Applies to: npm:points-on-path@0.2.1 ------------------------------------------------------------------------------ MIT License @@ -36771,7 +36824,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[397] Applies to: npm:prebuild-install@7.1.3 +[399] Applies to: npm:prebuild-install@7.1.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36796,7 +36849,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[398] Applies to: npm:process-nextick-args@2.0.1 +[400] Applies to: npm:process-nextick-args@2.0.1 ------------------------------------------------------------------------------ # Copyright (c) 2015 Calvin Metcalf @@ -36819,7 +36872,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** ------------------------------------------------------------------------------ -[399] Applies to: npm:promise-worker-transferable@1.0.4 +[401] Applies to: npm:promise-worker-transferable@1.0.4 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -37024,7 +37077,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[400] Applies to: npm:prosemirror-changeset@2.4.1 +[402] Applies to: npm:prosemirror-changeset@2.4.1 ------------------------------------------------------------------------------ Copyright (C) 2017 by Marijn Haverbeke and others @@ -37047,7 +37100,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[401] Applies to: npm:prosemirror-commands@1.7.1, npm:prosemirror-dropcursor@1.8.3, npm:prosemirror-gapcursor@1.4.1, npm:prosemirror-history@1.5.0, npm:prosemirror-inputrules@1.5.1, npm:prosemirror-keymap@1.2.3, npm:prosemirror-model@1.25.11, npm:prosemirror-schema-list@1.5.1, npm:prosemirror-state@1.4.4, npm:prosemirror-transform@1.12.0, npm:prosemirror-view@1.42.1 +[403] Applies to: npm:prosemirror-commands@1.7.1, npm:prosemirror-dropcursor@1.8.3, npm:prosemirror-gapcursor@1.4.1, npm:prosemirror-history@1.5.0, npm:prosemirror-inputrules@1.5.1, npm:prosemirror-keymap@1.2.3, npm:prosemirror-model@1.25.11, npm:prosemirror-schema-list@1.5.1, npm:prosemirror-state@1.4.4, npm:prosemirror-transform@1.12.0, npm:prosemirror-view@1.42.1 ------------------------------------------------------------------------------ Copyright (C) 2015-2017 by Marijn Haverbeke and others @@ -37070,7 +37123,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[402] Applies to: npm:prosemirror-tables@1.8.5 +[404] Applies to: npm:prosemirror-tables@1.8.5 ------------------------------------------------------------------------------ Copyright (C) 2015-2016 by Marijn Haverbeke and others @@ -37093,7 +37146,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[403] Applies to: npm:protobufjs@7.6.5 +[405] Applies to: npm:protobufjs@7.6.5 ------------------------------------------------------------------------------ This license applies to all parts of protobuf.js except those files either explicitly including or referencing a different license or @@ -37136,7 +37189,7 @@ standalone and requires a support library to be linked with it. This support library is itself covered by the above license. ------------------------------------------------------------------------------ -[404] Applies to: npm:proxy-from-env@2.1.0 +[406] Applies to: npm:proxy-from-env@2.1.0 ------------------------------------------------------------------------------ The MIT License @@ -37160,7 +37213,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[405] Applies to: npm:qrcode@1.5.4 +[407] Applies to: npm:qrcode@1.5.4 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37173,7 +37226,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[406] Applies to: npm:qs@6.15.3 +[408] Applies to: npm:qs@6.15.3 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -37206,7 +37259,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[407] Applies to: npm:range-parser@1.3.0 +[409] Applies to: npm:range-parser@1.3.0 ------------------------------------------------------------------------------ (The MIT License) @@ -37233,7 +37286,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[408] Applies to: npm:raw-body@3.0.2 +[410] Applies to: npm:raw-body@3.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37259,7 +37312,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[409] Applies to: npm:rc@1.2.8 +[411] Applies to: npm:rc@1.2.8 ------------------------------------------------------------------------------ Apache License, Version 2.0 @@ -37330,7 +37383,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[410] Applies to: npm:react@19.2.3, npm:react-dom@19.2.3, npm:scheduler@0.27.0, npm:use-sync-external-store@1.6.0 +[412] Applies to: npm:react-dom@19.2.3, npm:react@19.2.3, npm:scheduler@0.27.0, npm:use-sync-external-store@1.6.0 ------------------------------------------------------------------------------ MIT License @@ -37355,7 +37408,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[411] Applies to: npm:react-i18next@17.0.10 +[413] Applies to: npm:react-i18next@17.0.10 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37380,7 +37433,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[412] Applies to: npm:react-markdown@10.1.0 +[414] Applies to: npm:react-markdown@10.1.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37405,7 +37458,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[413] Applies to: npm:react-router@7.18.1, npm:react-router-dom@7.18.1 +[415] Applies to: npm:react-router-dom@7.18.1, npm:react-router@7.18.1 ------------------------------------------------------------------------------ MIT License @@ -37432,7 +37485,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[414] Applies to: npm:readable-stream@2.3.8, npm:readable-stream@3.6.2, npm:string_decoder@1.1.1, npm:string_decoder@1.3.0 +[416] Applies to: npm:readable-stream@2.3.8, npm:readable-stream@3.6.2, npm:string_decoder@1.1.1, npm:string_decoder@1.3.0 ------------------------------------------------------------------------------ Node.js is licensed for use as follows: @@ -37483,7 +37536,7 @@ IN THE SOFTWARE. """ ------------------------------------------------------------------------------ -[415] Applies to: npm:remark-parse@11.0.0, npm:remark-stringify@11.0.0 +[417] Applies to: npm:remark-parse@11.0.0, npm:remark-stringify@11.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -37508,7 +37561,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[416] Applies to: npm:require-directory@2.1.1 +[418] Applies to: npm:require-directory@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37534,7 +37587,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[417] Applies to: npm:require-from-string@2.0.2 +[419] Applies to: npm:require-from-string@2.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37559,7 +37612,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[418] Applies to: npm:require-main-filename@2.0.0, npm:set-blocking@2.0.0, npm:yargs-parser@18.1.3 +[420] Applies to: npm:require-main-filename@2.0.0, npm:set-blocking@2.0.0, npm:yargs-parser@18.1.3 ------------------------------------------------------------------------------ Copyright (c) 2016, Contributors @@ -37577,7 +37630,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[419] Applies to: npm:robust-predicates@3.0.3, npm:tweetnacl@0.14.5 +[421] Applies to: npm:robust-predicates@3.0.3, npm:tweetnacl@0.14.5 ------------------------------------------------------------------------------ This is free and unencumbered software released into the public domain. @@ -37605,7 +37658,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[420] Applies to: npm:rope-sequence@1.3.4 +[422] Applies to: npm:rope-sequence@1.3.4 ------------------------------------------------------------------------------ Copyright (C) 2016 by Marijn Haverbeke @@ -37628,7 +37681,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[421] Applies to: npm:roughjs@4.6.6 +[423] Applies to: npm:roughjs@4.6.6 ------------------------------------------------------------------------------ MIT License @@ -37653,7 +37706,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[422] Applies to: npm:router@2.2.0 +[424] Applies to: npm:router@2.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -37680,7 +37733,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[423] Applies to: npm:rw@1.3.3 +[425] Applies to: npm:rw@1.3.3 ------------------------------------------------------------------------------ Copyright (c) 2014-2016, Michael Bostock All rights reserved. @@ -37710,7 +37763,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[424] Applies to: npm:safer-buffer@2.1.2 +[426] Applies to: npm:safer-buffer@2.1.2 ------------------------------------------------------------------------------ MIT License @@ -37735,7 +37788,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[425] Applies to: npm:section-matter@1.0.0 +[427] Applies to: npm:section-matter@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37760,7 +37813,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[426] Applies to: npm:send@1.2.1 +[428] Applies to: npm:send@1.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -37787,7 +37840,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[427] Applies to: npm:serve-static@2.2.1 +[429] Applies to: npm:serve-static@2.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -37816,7 +37869,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[428] Applies to: npm:set-cookie-parser@2.7.2 +[430] Applies to: npm:set-cookie-parser@2.7.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37841,7 +37894,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[429] Applies to: npm:setimmediate@1.0.5 +[431] Applies to: npm:setimmediate@1.0.5 ------------------------------------------------------------------------------ Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola @@ -37865,7 +37918,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[430] Applies to: npm:setprototypeof@1.2.0 +[432] Applies to: npm:setprototypeof@1.2.0 ------------------------------------------------------------------------------ Copyright (c) 2015, Wes Todd @@ -37882,7 +37935,7 @@ OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[431] Applies to: npm:shebang-command@2.0.0 +[433] Applies to: npm:shebang-command@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -37895,7 +37948,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[432] Applies to: npm:side-channel@1.1.1, npm:side-channel-weakmap@1.0.2 +[434] Applies to: npm:side-channel-weakmap@1.0.2, npm:side-channel@1.1.1 ------------------------------------------------------------------------------ MIT License @@ -37920,7 +37973,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[433] Applies to: npm:signal-exit@3.0.7 +[435] Applies to: npm:signal-exit@3.0.7 ------------------------------------------------------------------------------ The ISC License @@ -37940,7 +37993,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[434] Applies to: npm:signal-exit@4.1.0 +[436] Applies to: npm:signal-exit@4.1.0 ------------------------------------------------------------------------------ The ISC License @@ -37960,7 +38013,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[435] Applies to: npm:silk-wasm@3.7.1 +[437] Applies to: npm:silk-wasm@3.7.1 ------------------------------------------------------------------------------ MIT License @@ -37985,7 +38038,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[436] Applies to: npm:simple-concat@1.0.1, npm:simple-get@4.0.1 +[438] Applies to: npm:simple-concat@1.0.1, npm:simple-get@4.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -38009,7 +38062,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[437] Applies to: npm:smol-toml@1.7.0 +[439] Applies to: npm:smol-toml@1.7.0 ------------------------------------------------------------------------------ Copyright (c) Squirrel Chat et al., All rights reserved. @@ -38037,7 +38090,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[438] Applies to: npm:sortablejs@1.15.7 +[440] Applies to: npm:sortablejs@1.15.7 ------------------------------------------------------------------------------ MIT License @@ -38062,7 +38115,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[439] Applies to: npm:sprintf-js@1.0.3 +[441] Applies to: npm:sprintf-js@1.0.3 ------------------------------------------------------------------------------ Copyright (c) 2007-2014, Alexandru Marasteanu All rights reserved. @@ -38090,7 +38143,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[440] Applies to: npm:ssh-config@5.2.0 +[442] Applies to: npm:ssh-config@5.2.0 ------------------------------------------------------------------------------ MIT License @@ -38115,7 +38168,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[441] Applies to: npm:statuses@2.0.2 +[443] Applies to: npm:statuses@2.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -38141,7 +38194,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[442] Applies to: npm:strip-bom-string@1.0.0 +[444] Applies to: npm:strip-bom-string@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -38166,7 +38219,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[443] Applies to: npm:style-mod@4.1.3 +[445] Applies to: npm:style-mod@4.1.3 ------------------------------------------------------------------------------ Copyright (C) 2018 by Marijn Haverbeke and others @@ -38189,7 +38242,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[444] Applies to: npm:style-to-js@1.1.21 +[446] Applies to: npm:style-to-js@1.1.21 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -38215,7 +38268,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[445] Applies to: npm:style-to-object@1.0.14 +[447] Applies to: npm:style-to-object@1.0.14 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -38241,7 +38294,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[446] Applies to: npm:stylis@4.4.0 +[448] Applies to: npm:stylis@4.4.0 ------------------------------------------------------------------------------ MIT License @@ -38266,7 +38319,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[447] Applies to: npm:tailwind-merge@2.6.1 +[449] Applies to: npm:tailwind-merge@2.6.1 ------------------------------------------------------------------------------ MIT License @@ -38291,7 +38344,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[448] Applies to: npm:tinyexec@1.2.4 +[450] Applies to: npm:tinyexec@1.2.4 ------------------------------------------------------------------------------ MIT License @@ -38316,7 +38369,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[449] Applies to: npm:toidentifier@1.0.1 +[451] Applies to: npm:toidentifier@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -38341,7 +38394,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[450] Applies to: npm:trough@2.2.0 +[452] Applies to: npm:trough@2.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -38366,7 +38419,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[451] Applies to: npm:ts-dedent@2.3.0 +[453] Applies to: npm:ts-dedent@2.3.0 ------------------------------------------------------------------------------ MIT License @@ -38391,7 +38444,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[452] Applies to: npm:ts-mixer@6.0.4 +[454] Applies to: npm:ts-mixer@6.0.4 ------------------------------------------------------------------------------ MIT License @@ -38416,7 +38469,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[453] Applies to: npm:tslib@2.8.1 +[455] Applies to: npm:tslib@2.8.1 ------------------------------------------------------------------------------ Copyright (c) Microsoft Corporation. @@ -38432,7 +38485,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[454] Applies to: npm:tslog@4.11.0 +[456] Applies to: npm:tslog@4.11.0 ------------------------------------------------------------------------------ MIT License @@ -38457,7 +38510,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[455] Applies to: npm:tunnel-agent@0.6.0 +[457] Applies to: npm:tunnel-agent@0.6.0 ------------------------------------------------------------------------------ Apache License @@ -38516,7 +38569,7 @@ If the Work includes a "NOTICE" text file as part of its distribution, then any END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[456] Applies to: npm:type-fest@0.20.2 +[458] Applies to: npm:type-fest@0.20.2 ------------------------------------------------------------------------------ MIT License @@ -38529,7 +38582,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[457] Applies to: npm:typebox@1.1.39 +[459] Applies to: npm:typebox@1.1.39 ------------------------------------------------------------------------------ TypeBox @@ -38556,7 +38609,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[458] Applies to: npm:undici@6.27.0, npm:undici@8.7.0, npm:undici-types@7.24.6 +[460] Applies to: npm:undici-types@7.24.6, npm:undici@6.27.0, npm:undici@8.7.0 ------------------------------------------------------------------------------ MIT License @@ -38581,7 +38634,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[459] Applies to: npm:unified@11.0.5, npm:vfile@6.0.3 +[461] Applies to: npm:unified@11.0.5, npm:vfile@6.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -38606,7 +38659,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[460] Applies to: npm:unist-util-is@6.0.1 +[462] Applies to: npm:unist-util-is@6.0.1 ------------------------------------------------------------------------------ (The MIT license) @@ -38632,7 +38685,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[461] Applies to: npm:universalify@2.0.1 +[463] Applies to: npm:universalify@2.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -38656,7 +38709,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[462] Applies to: npm:unpipe@1.0.0 +[464] Applies to: npm:unpipe@1.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -38682,7 +38735,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[463] Applies to: npm:uri-js@4.4.1 +[465] Applies to: npm:uri-js@4.4.1 ------------------------------------------------------------------------------ Copyright 2011 Gary Court. All rights reserved. @@ -38697,7 +38750,7 @@ THIS SOFTWARE IS PROVIDED BY GARY COURT "AS IS" AND ANY EXPRESS OR IMPLIED WARRA The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Gary Court. ------------------------------------------------------------------------------ -[464] Applies to: npm:url-template@2.0.8 +[466] Applies to: npm:url-template@2.0.8 ------------------------------------------------------------------------------ Copyright (c) 2012-2014, Bram Stein All rights reserved. @@ -38726,7 +38779,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[465] Applies to: npm:util-deprecate@1.0.2 +[467] Applies to: npm:util-deprecate@1.0.2 ------------------------------------------------------------------------------ (The MIT License) @@ -38754,7 +38807,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[466] Applies to: npm:uuid@14.0.1 +[468] Applies to: npm:uuid@14.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -38767,7 +38820,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[467] Applies to: npm:void-elements@3.1.0 +[469] Applies to: npm:void-elements@3.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -38793,7 +38846,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[468] Applies to: npm:web-streams-polyfill@3.3.3 +[470] Applies to: npm:web-streams-polyfill@3.3.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -38819,7 +38872,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[469] Applies to: npm:which-module@2.0.1 +[471] Applies to: npm:which-module@2.0.1 ------------------------------------------------------------------------------ Copyright (c) 2016, Contributors @@ -38836,7 +38889,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[470] Applies to: npm:workerpool@9.1.1 +[472] Applies to: npm:workerpool@9.1.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -39041,7 +39094,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[471] Applies to: npm:ws@8.21.1 +[473] Applies to: npm:ws@8.21.1 ------------------------------------------------------------------------------ Copyright (c) 2011 Einar Otto Stangvik Copyright (c) 2013 Arnout Kazemier and contributors @@ -39065,7 +39118,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[472] Applies to: npm:y18n@4.0.3 +[474] Applies to: npm:y18n@4.0.3 ------------------------------------------------------------------------------ Copyright (c) 2015, Contributors @@ -39082,7 +39135,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[473] Applies to: npm:yargs@15.4.1 +[475] Applies to: npm:yargs@15.4.1 ------------------------------------------------------------------------------ MIT License @@ -39107,7 +39160,26 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[474] Applies to: npm:zod@4.3.6 +[476] Applies to: npm:zod-to-json-schema@3.25.2 +------------------------------------------------------------------------------ +ISC License + +Copyright (c) 2020, Stefan Terdell + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------------------ +[477] Applies to: npm:zod@4.3.6 ------------------------------------------------------------------------------ MIT License @@ -39131,44 +39203,25 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[475] Applies to: npm:zod-to-json-schema@3.25.2 ------------------------------------------------------------------------------- -ISC License - -Copyright (c) 2020, Stefan Terdell - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ------------------------------------------------------------------------------ Packages without a standalone license file (license per package.json): ------------------------------------------------------------------------------ - cargo:alloc-stdlib@0.2.4 (BSD-3-Clause) - cargo:selectors@0.36.1 (MPL-2.0) -- cargo:tauri@2.11.5 (Apache-2.0 OR MIT) - cargo:tauri-codegen@2.6.3 (Apache-2.0 OR MIT) - cargo:tauri-macros@2.6.3 (Apache-2.0 OR MIT) -- cargo:tauri-runtime@2.11.3 (Apache-2.0 OR MIT) - cargo:tauri-runtime-wry@2.11.4 (Apache-2.0 OR MIT) +- cargo:tauri-runtime@2.11.3 (Apache-2.0 OR MIT) - cargo:tauri-utils@2.9.3 (Apache-2.0 OR MIT) +- cargo:tauri@2.11.5 (Apache-2.0 OR MIT) - cargo:unic-char-property@0.9.0 (MIT OR Apache-2.0) - cargo:unic-char-range@0.9.0 (MIT OR Apache-2.0) - cargo:unic-common@0.9.0 (MIT OR Apache-2.0) - cargo:unic-ucd-ident@0.9.0 (MIT OR Apache-2.0) - cargo:unic-ucd-version@0.9.0 (MIT OR Apache-2.0) -- cargo:webview2-com@0.38.2 (MIT) - cargo:webview2-com-macros@0.8.1 (MIT) - cargo:webview2-com-sys@0.38.2 (MIT) +- cargo:webview2-com@0.38.2 (MIT) - npm:@chinese-fonts/font-contours@1.0.0 (ISC) - npm:@googleapis/calendar@15.0.0 (Apache-2.0) - npm:@googleapis/drive@20.2.0 (Apache-2.0) @@ -39188,14 +39241,15 @@ Packages without a standalone license file (license per package.json): - npm:@napi-rs/canvas-linux-arm64-gnu@0.1.100 (MIT) - npm:@napi-rs/canvas-linux-x64-gnu@0.1.100 (MIT) - npm:@napi-rs/canvas-win32-x64-msvc@0.1.100 (MIT) -- npm:@napi-rs/woff-build@0.2.2 (MIT) - npm:@napi-rs/woff-build-darwin-arm64@0.2.2 (MIT) - npm:@napi-rs/woff-build-darwin-x64@0.2.2 (MIT) - npm:@napi-rs/woff-build-linux-arm64-gnu@0.2.2 (MIT) - npm:@napi-rs/woff-build-linux-x64-gnu@0.2.2 (MIT) - npm:@napi-rs/woff-build-win32-x64-msvc@0.2.2 (MIT) +- npm:@napi-rs/woff-build@0.2.2 (MIT) - npm:@sapphire/async-queue@1.5.5 (MIT) - npm:@sapphire/snowflake@3.5.5 (MIT) +- npm:@wecom/aibot-node-sdk@1.0.7 (MIT) - npm:agent-base@6.0.2 (MIT) - npm:data-uri-to-buffer@4.0.1 (MIT) - npm:drizzle-orm@0.45.2 (Apache-2.0) diff --git a/apps/desktop/src/main/__tests__/notificationService.test.ts b/apps/desktop/src/main/__tests__/notificationService.test.ts index 88d9f27e91d..dc91ab8abc9 100644 --- a/apps/desktop/src/main/__tests__/notificationService.test.ts +++ b/apps/desktop/src/main/__tests__/notificationService.test.ts @@ -104,7 +104,9 @@ vi.mock('../device-link', () => ({ // mobile 正文素材:最近一条 assistant 内容(真实实现走 localDb)。默认空 = 无摘要, // 既有用例的调用断言不带 detail;内容用例单独 mockResolvedValueOnce。 -const latestMessageText = vi.fn(async (_sessionId: string, _role: string) => ''); +const latestMessageText = vi.fn< + (sessionId: string, role: string) => Promise +>(async () => ''); vi.mock('../localDb/latestMessageText', () => ({ latestMessageText: (sessionId: string, role: string) => latestMessageText(sessionId, role), })); diff --git a/apps/desktop/src/main/__tests__/wecomGroupNotification.test.ts b/apps/desktop/src/main/__tests__/wecomGroupNotification.test.ts new file mode 100644 index 00000000000..4a622ad2950 --- /dev/null +++ b/apps/desktop/src/main/__tests__/wecomGroupNotification.test.ts @@ -0,0 +1,383 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { ipcMain, net } from 'electron'; + +vi.mock('electron', () => ({ + ipcMain: { handle: vi.fn() }, + net: { fetch: vi.fn() }, + safeStorage: {}, + app: {}, +})); +vi.mock('../logger', () => ({ + createLogger: () => ({ warn: vi.fn(), info: vi.fn(), error: vi.fn() }), +})); +vi.mock('../im/ownerScopedStorage', () => ({ + ownerScopedImSecrets: { + read: vi.fn(() => null), + write: vi.fn(() => true), + remove: vi.fn(), + }, +})); +vi.mock('../security/trustedAppRenderer', () => ({ + assertTrustedAppRendererEvent: vi.fn(), +})); + +import { + initWecomGroupNotificationIpc, + WecomGroupNotificationService, + __testing, +} from '../wecomGroupNotification'; +import { ownerScopedImSecrets } from '../im/ownerScopedStorage'; +import { activateImAccountBoundary, deactivateImAccountBoundary } from '../im/accountBoundary'; + +function response(body: unknown, status = 200): Response { + return new Response(JSON.stringify(body), { + status, + headers: { 'content-type': 'application/json' }, + }); +} + +const WEBHOOK_SECRET_NAME = 'wecom-group-webhook-url'; +const ENABLED_SETTING_NAME = 'wecom-group-notification-enabled'; + +function createSecrets(initialUrl: string | null = null, initialEnabled: string | null = null) { + const values = new Map(); + if (initialUrl !== null) values.set(WEBHOOK_SECRET_NAME, initialUrl); + if (initialEnabled !== null) values.set(ENABLED_SETTING_NAME, initialEnabled); + return { + read: vi.fn((name: string) => values.get(name) ?? null), + write: vi.fn((name: string, next: string) => { + values.set(name, next); + return true; + }), + remove: vi.fn((name: string) => { + values.delete(name); + }), + }; +} + +describe('WeCom group notification security boundary', () => { + beforeEach(() => { + vi.clearAllMocks(); + activateImAccountBoundary(); + }); + + afterEach(() => activateImAccountBoundary()); + + it('accepts only the official HTTPS webhook endpoint with one key parameter', () => { + expect(() => + __testing.parseWebhookUrl('https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=0123456789'), + ).not.toThrow(); + for (const invalid of [ + 'http://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=x', + 'https://evil.example/cgi-bin/webhook/send?key=x', + 'https://qyapi.weixin.qq.com.evil.example/cgi-bin/webhook/send?key=x', + 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=x&next=https://evil.example', + 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send', + ]) { + expect(() => __testing.parseWebhookUrl(invalid)).toThrow('WECOM_GROUP_WEBHOOK_INVALID'); + } + }); + + it('splits UTF-8 text without breaking code points or exceeding the byte limit', () => { + const chunks = __testing.splitUtf8('企'.repeat(20), 10); + expect(chunks.join('')).toBe('企'.repeat(20)); + expect(chunks.every((chunk) => Buffer.byteLength(chunk, 'utf8') <= 10)).toBe(true); + }); + + it('tests before persisting and never exposes the stored URL', async () => { + let sentBody = ''; + const fetchImpl = vi.fn(async (_url: string, init: RequestInit) => { + sentBody = String(init.body); + return response({ errcode: 0, errmsg: 'ok' }); + }); + const secrets = createSecrets(); + const service = new WecomGroupNotificationService(fetchImpl, secrets); + + const state = await service.saveAndTest( + 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh', + 'Localized test message', + ); + + expect(fetchImpl).toHaveBeenCalledWith( + 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh', + expect.objectContaining({ method: 'POST', redirect: 'manual' }), + ); + expect(secrets.write).toHaveBeenCalledTimes(2); + expect(secrets.write).toHaveBeenNthCalledWith(1, WEBHOOK_SECRET_NAME, expect.any(String)); + expect(secrets.write).toHaveBeenNthCalledWith(2, ENABLED_SETTING_NAME, 'true'); + expect(state).toEqual({ configured: true, enabled: true, maskedKey: '••••efgh' }); + expect(JSON.stringify(service.getState())).not.toContain('abcdefgh'); + expect(sentBody).toContain('Localized test message'); + }); + + it('keeps existing webhook configurations enabled until the user turns them off', () => { + const url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh'; + const service = new WecomGroupNotificationService(vi.fn(), createSecrets(url)); + + expect(service.getState()).toEqual({ + configured: true, + enabled: true, + maskedKey: '••••efgh', + }); + }); + + it('uses the persisted master switch to gate automation publishes', async () => { + const fetchImpl = vi.fn(async () => response({ errcode: 0, errmsg: 'ok' })); + const url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh'; + const secrets = createSecrets(url); + const service = new WecomGroupNotificationService(fetchImpl, secrets); + + expect(service.setEnabled(false).enabled).toBe(false); + await expect(service.publishMarkdown('automation result')).rejects.toThrow( + 'WECOM_GROUP_NOTIFICATIONS_DISABLED', + ); + expect(fetchImpl).not.toHaveBeenCalled(); + + expect(service.setEnabled(true).enabled).toBe(true); + await service.publishMarkdown('automation result'); + expect(fetchImpl).toHaveBeenCalledOnce(); + }); + + it('allows an explicit test while the automation master switch is off', async () => { + const fetchImpl = vi.fn(async () => response({ errcode: 0, errmsg: 'ok' })); + const url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh'; + const service = new WecomGroupNotificationService(fetchImpl, createSecrets(url, 'false')); + + await service.test('Localized test message'); + + expect(fetchImpl).toHaveBeenCalledOnce(); + }); + + it('does not send a queued test after the account boundary changes', async () => { + let releasePublish: (() => void) | undefined; + let current = true; + const fetchImpl = vi.fn(async () => { + await new Promise((resolve) => { + releasePublish = resolve; + }); + return response({ errcode: 0, errmsg: 'ok' }); + }); + const url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh'; + const service = new WecomGroupNotificationService(fetchImpl, createSecrets(url)); + + const publish = service.publishMarkdown('automation result'); + const testing = service.test('Localized test message', () => current); + await vi.waitFor(() => expect(fetchImpl).toHaveBeenCalledOnce()); + current = false; + releasePublish?.(); + + await expect(publish).resolves.toBeUndefined(); + await expect(testing).rejects.toThrow('IM account changed'); + expect(fetchImpl).toHaveBeenCalledOnce(); + }); + + it('does not send a queued test after the webhook configuration changes', async () => { + let releasePublish: (() => void) | undefined; + const fetchImpl = vi.fn(async () => { + await new Promise((resolve) => { + releasePublish = resolve; + }); + return response({ errcode: 0, errmsg: 'ok' }); + }); + const url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh'; + const service = new WecomGroupNotificationService(fetchImpl, createSecrets(url)); + + const publish = service.publishMarkdown('automation result'); + const testing = service.test('Localized test message'); + await vi.waitFor(() => expect(fetchImpl).toHaveBeenCalledOnce()); + service.clear(); + releasePublish?.(); + + await expect(publish).resolves.toBeUndefined(); + await expect(testing).rejects.toThrow('WECOM_GROUP_CONFIG_CHANGED'); + expect(fetchImpl).toHaveBeenCalledOnce(); + }); + + it('does not persist a webhook when the test call fails', async () => { + const fetchImpl = vi.fn(async () => response({ errcode: 93000, errmsg: 'invalid' })); + const secrets = createSecrets(); + const service = new WecomGroupNotificationService(fetchImpl, secrets); + + await expect( + service.saveAndTest( + 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh', + 'Localized test message', + ), + ).rejects.toThrow('WECOM_GROUP_SEND_FAILED:93000'); + expect(secrets.write).not.toHaveBeenCalled(); + }); + + it('does not persist a tested webhook after the account boundary changes', async () => { + let release: (() => void) | undefined; + let current = true; + const fetchImpl = vi.fn(async () => { + await new Promise((resolve) => { + release = resolve; + }); + return response({ errcode: 0, errmsg: 'ok' }); + }); + const secrets = createSecrets(); + const service = new WecomGroupNotificationService(fetchImpl, secrets); + + const saving = service.saveAndTest( + 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh', + 'Localized test message', + () => current, + ); + await vi.waitFor(() => expect(fetchImpl).toHaveBeenCalledOnce()); + current = false; + release?.(); + + await expect(saving).rejects.toThrow('IM account changed'); + expect(secrets.write).not.toHaveBeenCalled(); + }); + + it('does not resurrect a webhook save that was queued before clear', async () => { + let releasePublish: (() => void) | undefined; + const existingUrl = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=existing'; + const replacementUrl = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=replacement'; + const fetchImpl = vi.fn(async () => { + await new Promise((resolve) => { + releasePublish = resolve; + }); + return response({ errcode: 0, errmsg: 'ok' }); + }); + const secrets = createSecrets(existingUrl, 'true'); + const service = new WecomGroupNotificationService(fetchImpl, secrets); + + const publishing = service.publishMarkdown('blocking publish'); + const saving = service.saveAndTest(replacementUrl, 'Localized test message'); + await vi.waitFor(() => expect(fetchImpl).toHaveBeenCalledOnce()); + + expect(service.clear()).toEqual({ configured: false, enabled: false }); + releasePublish?.(); + + await expect(publishing).resolves.toBeUndefined(); + await expect(saving).rejects.toThrow('WECOM_GROUP_CONFIG_CHANGED'); + expect(fetchImpl).toHaveBeenCalledOnce(); + expect(service.getState()).toEqual({ configured: false, enabled: false }); + }); + + it('rejects redirects instead of following a changed destination', async () => { + const fetchImpl = vi.fn( + async () => + new Response('', { + status: 302, + headers: { location: 'https://evil.example' }, + }), + ); + const url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh'; + const service = new WecomGroupNotificationService(fetchImpl, createSecrets(url)); + + await expect(service.test('Localized test message')).rejects.toThrow( + 'WECOM_GROUP_REDIRECT_REJECTED', + ); + }); + + it('serializes concurrent publishes to preserve message order', async () => { + const releases: Array<() => void> = []; + const bodies: string[] = []; + const fetchImpl = vi.fn(async (_url: string, init: RequestInit) => { + bodies.push(String(init.body)); + await new Promise((resolve) => releases.push(resolve)); + return response({ errcode: 0 }); + }); + const url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh'; + const service = new WecomGroupNotificationService(fetchImpl, createSecrets(url)); + + const first = service.publishMarkdown('first'); + const second = service.publishMarkdown('second'); + await vi.waitFor(() => expect(fetchImpl).toHaveBeenCalledTimes(1)); + releases.shift()?.(); + await vi.waitFor(() => expect(fetchImpl).toHaveBeenCalledTimes(2)); + releases.shift()?.(); + await Promise.all([first, second]); + + expect(bodies[0]).toContain('first'); + expect(bodies[1]).toContain('second'); + }); + + it('stops queued chunks after the master switch is disabled', async () => { + let releaseFirstChunk: (() => void) | undefined; + const fetchImpl = vi.fn(async () => { + await new Promise((resolve) => { + releaseFirstChunk = resolve; + }); + return response({ errcode: 0 }); + }); + const url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh'; + const service = new WecomGroupNotificationService(fetchImpl, createSecrets(url)); + + const publishing = service.publishMarkdown('a'.repeat(4_001)); + await vi.waitFor(() => expect(fetchImpl).toHaveBeenCalledOnce()); + service.setEnabled(false); + releaseFirstChunk?.(); + + await expect(publishing).rejects.toThrow('WECOM_GROUP_NOTIFICATIONS_DISABLED'); + expect(fetchImpl).toHaveBeenCalledOnce(); + }); + + it('does not send a queued publish through a replacement account webhook', async () => { + let releaseFirst: (() => void) | undefined; + const firstUrl = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=account-one'; + const secondUrl = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=account-two'; + const secrets = createSecrets(firstUrl); + const fetchImpl = vi.fn(async () => { + await new Promise((resolve) => { + releaseFirst = resolve; + }); + return response({ errcode: 0 }); + }); + const service = new WecomGroupNotificationService(fetchImpl, secrets); + + const first = service.publishMarkdown('first'); + const second = service.publishMarkdown('second'); + await vi.waitFor(() => expect(fetchImpl).toHaveBeenCalledOnce()); + + deactivateImAccountBoundary(); + secrets.write(WEBHOOK_SECRET_NAME, secondUrl); + activateImAccountBoundary(); + releaseFirst?.(); + + await expect(first).resolves.toBeUndefined(); + await expect(second).rejects.toThrow('IM account changed'); + expect(fetchImpl).toHaveBeenCalledOnce(); + expect(fetchImpl).toHaveBeenCalledWith(firstUrl, expect.any(Object)); + }); + + it.each([ + { channel: 'wecomGroupNotification:test', args: ['Localized test message'] }, + { channel: 'wecomGroupNotification:set-enabled', args: [false] }, + { channel: 'wecomGroupNotification:clear', args: [] }, + ])('rejects $channel when the account generation changes before mutation', async ({ + channel, + args, + }) => { + type RegisteredHandler = (event: unknown, ...args: unknown[]) => unknown; + const handlers = new Map(); + vi.mocked(ipcMain.handle).mockImplementation((registeredChannel, handler) => { + handlers.set(registeredChannel, handler as RegisteredHandler); + }); + initWecomGroupNotificationIpc(); + + const handler = handlers.get(channel); + expect(handler).toBeDefined(); + const operation = Promise.resolve(handler?.({}, ...args)); + deactivateImAccountBoundary(); + + await expect(operation).rejects.toThrow('IM account changed'); + expect(ownerScopedImSecrets.write).not.toHaveBeenCalled(); + expect(ownerScopedImSecrets.remove).not.toHaveBeenCalled(); + expect(net.fetch).not.toHaveBeenCalled(); + }); + + it('clears both the webhook and its master switch', () => { + const url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=abcdefgh'; + const secrets = createSecrets(url, 'true'); + const service = new WecomGroupNotificationService(vi.fn(), secrets); + + expect(service.clear()).toEqual({ configured: false, enabled: false }); + expect(secrets.remove).toHaveBeenCalledWith(WEBHOOK_SECRET_NAME); + expect(secrets.remove).toHaveBeenCalledWith(ENABLED_SETTING_NAME); + }); +}); diff --git a/apps/desktop/src/main/bootstrap-electron.ts b/apps/desktop/src/main/bootstrap-electron.ts index 90cdd125741..1932da54a49 100644 --- a/apps/desktop/src/main/bootstrap-electron.ts +++ b/apps/desktop/src/main/bootstrap-electron.ts @@ -268,6 +268,7 @@ import { reapClaudeOrphansSync } from './claude-orphan-reaper'; import { startAgentProcessPriorityWatcher } from './agent-process-priority'; import { initAppBadgeService, clearAllSessionAttention } from './appBadgeService'; import { initNotificationService } from './notificationService'; +import { initWecomGroupNotificationIpc } from './wecomGroupNotification'; import { getAgentIslandService, initAgentIslandService } from './agent-island/service.js'; import { isAppContentWindow, @@ -559,7 +560,6 @@ import { isImDefaultEffort, isImDefaultPermissionMode, isImDefaultSettingsChannel, - isWechatUnsupportedPermissionMode, type ImDefaultAgentKind, type ImDefaultAgentSettings, type ImDefaultSettingsChannel, @@ -2559,6 +2559,7 @@ const registerIpcHandlers = () => { getWindow: () => getWindow() ?? null, feishuIm, }); + initWecomGroupNotificationIpc(); initAgentIslandService({ getMainWindow: () => getWindow() ?? null, isPlannedRemoteDaemonClose: isCcMgrUpgradeInFlight, @@ -2676,9 +2677,6 @@ const registerIpcHandlers = () => { async (_e, patch: unknown, rawChannel: unknown) => { const channel = parseImDefaultSettingsChannel(rawChannel); const parsedPatch = parseImDefaultSettingsPatch(patch); - if (channel === 'wechat' && isWechatUnsupportedPermissionMode(parsedPatch.permissionMode)) { - throwIpcError('INVALID_PARAMS', 'personal WeChat does not support this permission mode'); - } writeImDefaultSettingsPatch(parsedPatch, channel); return imDefaultSettingsWire(channel); }, diff --git a/apps/desktop/src/main/cindy-media/__tests__/integrationCache.test.ts b/apps/desktop/src/main/cindy-media/__tests__/integrationCache.test.ts index 3b92fd917a7..995f71f93aa 100644 --- a/apps/desktop/src/main/cindy-media/__tests__/integrationCache.test.ts +++ b/apps/desktop/src/main/cindy-media/__tests__/integrationCache.test.ts @@ -166,3 +166,22 @@ describe('miss 路径', () => { await expect(integrationCache.integrationCacheGet(KEY, db)).resolves.not.toBeNull(); }); }); + +describe('staged write rollback', () => { + it('removes only the integration ref created by that write', async () => { + const first = await integrationCache.integrationCachePut( + { cacheKey: KEY, integration: 'feishu', buffer: BYTES_A, mimeType: 'image/png' }, + db, + ); + const reused = await integrationCache.integrationCachePut( + { cacheKey: KEY, integration: 'feishu', buffer: BYTES_A, mimeType: 'image/png' }, + db, + ); + + await reused.rollbackRef(); + expect(db.select().from(schema.mediaRefs).all()).toHaveLength(1); + + await first.rollbackRef(); + expect(db.select().from(schema.mediaRefs).all()).toHaveLength(0); + }); +}); diff --git a/apps/desktop/src/main/cindy-media/integrationCache.ts b/apps/desktop/src/main/cindy-media/integrationCache.ts index 0285daf544a..7cd4d53a488 100644 --- a/apps/desktop/src/main/cindy-media/integrationCache.ts +++ b/apps/desktop/src/main/cindy-media/integrationCache.ts @@ -55,6 +55,11 @@ export interface IntegrationCacheHit { hash: string; } +export interface IntegrationCacheWrite extends IntegrationCacheHit { + /** Roll back only the integration-cache ref created by this write. */ + rollbackRef(): Promise; +} + /** 查缓存:命中返回文件坐标并刷 LRU 时间;未登记 / 文件缺失(坏账)返回 null。 */ export async function integrationCacheGet( cacheKey: string, @@ -98,7 +103,7 @@ export async function integrationCachePut( isCache?: boolean; }, db?: LedgerDb, -): Promise { +): Promise { const written = await ingestMedia( { buffer: params.buffer, @@ -109,9 +114,10 @@ export async function integrationCachePut( db, ); const existing = await ledger.getIntegrationCacheHash(params.cacheKey, db); + let addedRefId: string | null = null; if (existing !== written.hash) { // 新登记 / token 复用换内容:追加索引行,cacheGet 取最新。 - await ledger.addRef( + addedRefId = await ledger.addRef( { hash: written.hash, refKind: 'integration-cache', @@ -128,6 +134,9 @@ export async function integrationCachePut( absPath: resolved.absPath, mimeType: written.mimeType, hash: written.hash, + rollbackRef: async () => { + if (addedRefId) await ledger.removeRefById(addedRefId, db); + }, }; } diff --git a/apps/desktop/src/main/cindy-media/ledger.ts b/apps/desktop/src/main/cindy-media/ledger.ts index ae99192e2b0..432d0798ce7 100644 --- a/apps/desktop/src/main/cindy-media/ledger.ts +++ b/apps/desktop/src/main/cindy-media/ledger.ts @@ -153,6 +153,12 @@ export async function addRef(params: AddRefParams, db: LedgerDb = defaultDb()): return id; } +/** Remove exactly one reference row created by a staged operation. */ +export async function removeRefById(id: string, db: LedgerDb = defaultDb()): Promise { + const result = await db.delete(mediaRefs).where(eq(mediaRefs.id, id)).run(); + return result.changes; +} + /** * 集成缓存索引查询:cacheKey(`<集成名>:`)→ 最近一次登记的指纹。 * 同 key 多行(token 复用换内容)时取最新;无登记返回 null(调用方去真下载)。 diff --git a/apps/desktop/src/main/im/__tests__/defaultSettingsStore.test.ts b/apps/desktop/src/main/im/__tests__/defaultSettingsStore.test.ts index d2b814a2224..de200b7e766 100644 --- a/apps/desktop/src/main/im/__tests__/defaultSettingsStore.test.ts +++ b/apps/desktop/src/main/im/__tests__/defaultSettingsStore.test.ts @@ -199,6 +199,32 @@ describe('im default settings store', () => { expect(migrated.channels.wechat).toEqual(migrated.global); }); + it.each(['acceptEdits', 'bypassPermissions'] as const)( + 'preserves legacy and persisted channel %s permission defaults', + (permissionMode) => { + const migrated = __testing.normalizeDocument({ + ...IM_DEFAULT_SETTINGS, + permissionMode, + }); + + expect(migrated.global.permissionMode).toBe(permissionMode); + expect(migrated.channels.feishu.permissionMode).toBe(permissionMode); + expect(migrated.channels.wechat.permissionMode).toBe(permissionMode); + expect(migrated.channels.wecom.permissionMode).toBe(permissionMode); + + const persisted = __testing.normalizeDocument({ + schemaVersion: 3, + global: IM_DEFAULT_SETTINGS, + channels: { + wechat: { ...IM_DEFAULT_SETTINGS, permissionMode }, + wecom: { ...IM_DEFAULT_SETTINGS, permissionMode }, + }, + }); + expect(persisted.channels.wechat.permissionMode).toBe(permissionMode); + expect(persisted.channels.wecom.permissionMode).toBe(permissionMode); + }, + ); + it('migrates v2 documents to auto permission and seeds an independent WeChat route', () => { const withoutPermission = { agentKind: IM_DEFAULT_SETTINGS.agentKind, @@ -220,13 +246,16 @@ describe('im default settings store', () => { expect(migrated.channels.wechat.agentKind).toBe(IM_DEFAULT_SETTINGS.agentKind); }); - it.each(['acceptEdits', 'bypassPermissions'] as const)( - 'rejects %s for personal WeChat without changing saved defaults', - (permissionMode) => { - expect(() => - writeImDefaultSettingsPatch({ permissionMode }, 'wechat'), - ).toThrow('WECHAT_PERMISSION_MODE_UNSUPPORTED'); - expect(readImDefaultSettings('wechat').permissionMode).toBe('auto'); + it.each([ + ['wechat', 'acceptEdits'], + ['wechat', 'bypassPermissions'], + ['wecom', 'acceptEdits'], + ['wecom', 'bypassPermissions'], + ] as const)( + 'persists %s/%s using the same defaults contract as Feishu', + (channel, permissionMode) => { + writeImDefaultSettingsPatch({ permissionMode }, channel); + expect(readImDefaultSettings(channel).permissionMode).toBe(permissionMode); }, ); diff --git a/apps/desktop/src/main/im/__tests__/messagePersistence.test.ts b/apps/desktop/src/main/im/__tests__/messagePersistence.test.ts new file mode 100644 index 00000000000..f349a4d34d4 --- /dev/null +++ b/apps/desktop/src/main/im/__tests__/messagePersistence.test.ts @@ -0,0 +1,37 @@ +import { describe, expect, it, vi } from 'vitest'; + +import type { IMAttachment } from '@cindy/im'; + +vi.mock('../../localDb/ipc/messages', () => ({ + createMessage: vi.fn(), +})); +vi.mock('../../logger', () => ({ + createLogger: () => ({ warn: vi.fn() }), +})); + +import { buildPersistedUserContent } from '../messagePersistence'; + +describe('IM message persistence content', () => { + it('retains a managed file URL so message persistence pins the media blob', () => { + const url = `cindy-media://blobs/${'a'.repeat(64)}.mp4`; + const attachment: IMAttachment = { + kind: 'file', + absPath: 'C:\\managed\\clip.mp4', + originalName: 'clip.mp4', + mimeType: 'video/mp4', + url, + }; + + expect(buildPersistedUserContent('', [attachment])).toEqual({ + text: '', + images: [], + files: [ + { + name: 'clip.mp4', + path: 'C:\\managed\\clip.mp4', + url, + }, + ], + }); + }); +}); diff --git a/apps/desktop/src/main/im/defaultSettingsStore.ts b/apps/desktop/src/main/im/defaultSettingsStore.ts index cb59122da18..8dd7c91d6c7 100644 --- a/apps/desktop/src/main/im/defaultSettingsStore.ts +++ b/apps/desktop/src/main/im/defaultSettingsStore.ts @@ -20,7 +20,6 @@ import { isImDefaultAgentKind, isImDefaultEffort, isImDefaultPermissionMode, - isWechatUnsupportedPermissionMode, } from '../../shared/imDefaultSettings.js'; import { desktopMakerLogger } from '../maker-host/logger-adapter.js'; import { @@ -76,6 +75,10 @@ function normalizeSettings(raw: unknown): ImDefaultSettings { }; } +function normalizeChannelSettings(raw: unknown): ImDefaultSettings { + return normalizeSettings(raw); +} + function normalizeDocument(raw: unknown): ImDefaultSettingsDocument { const record = isRecord(raw) ? raw : {}; @@ -122,7 +125,10 @@ function normalizeDocument(raw: unknown): ImDefaultSettingsDocument { schemaVersion: SETTINGS_SCHEMA_VERSION, global: cloneSettings(legacy), channels: Object.fromEntries( - IM_DEFAULT_SETTINGS_CHANNELS.map((channel) => [channel, cloneSettings(legacy)]), + IM_DEFAULT_SETTINGS_CHANNELS.map((channel) => [ + channel, + normalizeChannelSettings(legacy), + ]), ) as Record, }; } @@ -134,7 +140,7 @@ function normalizeDocument(raw: unknown): ImDefaultSettingsDocument { channels: Object.fromEntries( IM_DEFAULT_SETTINGS_CHANNELS.map((channel) => [ channel, - normalizeSettings(rawChannels[channel]), + normalizeChannelSettings(rawChannels[channel]), ]), ) as Record, }; @@ -219,9 +225,6 @@ export function writeImDefaultSettingsPatch( patch: ImDefaultSettingsPatch, channel?: ImDefaultSettingsChannel, ): OverrideSettingsState { - if (channel === 'wechat' && isWechatUnsupportedPermissionMode(patch.permissionMode)) { - throw new Error('WECHAT_PERMISSION_MODE_UNSUPPORTED'); - } const document = store.read(); const current = channel ? document.channels[channel] : document.global; const next = mergeSettingsPatch(current, patch); diff --git a/apps/desktop/src/main/im/host.ts b/apps/desktop/src/main/im/host.ts index 1aa7c3bcc26..9c4448112ef 100644 --- a/apps/desktop/src/main/im/host.ts +++ b/apps/desktop/src/main/im/host.ts @@ -19,6 +19,7 @@ import { createDingTalkIM, createFeishuIM, createTelegramIM, + createWecomIM, type IMHost, } from '@cindy/im'; import { TencentIlinkTransport } from '@cindy/wechat-ilink'; @@ -70,26 +71,51 @@ const host: IMHost = { feishuMediaDir: path.join(app.getPath('userData'), 'cc-agent', 'feishu-media'), discordMediaDir: path.join(app.getPath('userData'), 'cc-agent', 'discord-media'), telegramMediaDir: path.join(app.getPath('userData'), 'cc-agent', 'telegram-media'), + wecomMediaDir: path.join(app.getPath('userData'), 'cc-agent', 'wecom-media'), }, // cindy-media 媒体总仓回调(规则 25):IM 入站图片按平台 token // 免重下、内容寻址去重、isCache=true 吃缓存回收策略;包侧只摸字节和字符串。 media: { - cacheImage: async ({ integration, token, buffer, mimeType }) => { + cacheImage: async ({ integration, token, buffer, mimeType, staging }) => { const hit = await integrationCachePut({ cacheKey: integrationCacheKey(integration, token), integration, buffer, mimeType, - // IM 入站图是**用户附件**不是可再生缓存(review P1):discord CDN 地址 - // 限时签名,被缓存 LRU 逐出后无法重下 = 弄丢用户的图。isCache=false + - // 落库挂 session-attachment 引用,与桌面粘贴附件同生命周期。 - isCache: false, + // 常规入站图直接按用户附件保存;需要跨账户竞态保护的 transport 可先 + // 以可回收 staging 写入,确认归属后由消息落库的 pinBlob 提升为用户附件。 + isCache: staging === true, }); - return { absPath: hit.absPath, url: hit.url }; + return { + absPath: hit.absPath, + url: hit.url, + ...(staging ? { discard: hit.rollbackRef } : {}), + }; }, - getCachedImage: async (integration, token) => { + cacheMedia: async ({ integration, token, buffer, mimeType }) => { + const hit = await integrationCachePut({ + cacheKey: integrationCacheKey(integration, token), + integration, + buffer, + mimeType, + // IM 入站媒体最终属于用户附件;在消息落库挂 session owner 前先按 + // 可回收暂存处理,失效账户只回滚本次新增的 cache ref。 + isCache: true, + }); + return { + absPath: hit.absPath, + url: hit.url, + mimeType: hit.mimeType, + discard: hit.rollbackRef, + }; + }, + getCachedImage: async (integration, token, options) => { const hit = await integrationCacheGet(integrationCacheKey(integration, token)); if (!hit) return null; + // Cache lookup can outlive logout/account replacement. Re-check the + // transport-owned boundary immediately before pinning so stale media is + // not promoted without a message/session owner. + if (options?.shouldReuse?.() === false) return null; // 命中路径不走 cacheImage,但 IM 复用的可能是 MCP 侧 isCache=true 的缓存 // blob(feishu 两边有意共用 `feishu:` 命名空间)——IM 语义是用户 // 附件,同 cacheImage 口径降级为非 cache(review P1);降级失败只警告, @@ -107,7 +133,9 @@ const host: IMHost = { }, resolveMediaUrl: (url) => { try { - return url.startsWith('cindy-media://') ? resolveCindyMediaUrl(url).absPath : null; + return url.startsWith('cindy-media://') || url.startsWith('xdt-image://') + ? resolveManagedImageAbsPath(url) + : null; } catch { return null; } @@ -170,6 +198,7 @@ export const telegramIm = createTelegramIM(host, { export const dingtalkIm = createDingTalkIM(host, { fetcher: (input, init) => net.fetch(input instanceof URL ? input.toString() : input, init), }); +export const wecomIm = createWecomIM(host); /** * Telegram 个人 bot 的行为/人格/群参与配置 IPC(设置卡数据通道)。 * 必须由 bootstrap 显式调用(与 im.registerIpc() 同期) — 不能放模块顶层: @@ -272,4 +301,11 @@ wechatCompatibilityPolicy.subscribe((decision) => { log.warn('failed to apply personal WeChat compatibility policy'); }); }); -export const im = createIM([feishuIm, discordIm, wechatIm, telegramIm, dingtalkIm]); +export const im = createIM([ + feishuIm, + discordIm, + wechatIm, + telegramIm, + dingtalkIm, + wecomIm, +]); diff --git a/apps/desktop/src/main/im/index.ts b/apps/desktop/src/main/im/index.ts index 90781fdb336..53f769ce07e 100644 --- a/apps/desktop/src/main/im/index.ts +++ b/apps/desktop/src/main/im/index.ts @@ -67,12 +67,14 @@ import { dingtalkIm, wechatCompatibilityPolicy, wechatIm, + wecomIm, } from './host'; import { wireFeishuOrchestrator, type FeishuOrchestratorConfig } from './feishu'; import { wireDiscordOrchestrator } from './discord'; import { wireTelegramOrchestrator } from './telegram'; import { wireDingTalkOrchestrator } from './dingtalk'; import { wireWechatOrchestrator } from './wechat'; +import { wireWecomOrchestrator } from './wecom'; import { resetTelegramGroupContextCursors } from './telegram/groupWindow'; import { getImOrchestrator, listImOrchestrators } from './shared/orchestrator'; import { createSerializedConnectionLifecycle } from './connectionLifecycle'; @@ -106,6 +108,7 @@ export { telegramIm, dingtalkIm, wechatIm, + wecomIm, } from './host'; const log = createLogger('main:im'); @@ -189,6 +192,13 @@ const WECHAT_CONFIG: ImOrchestratorConfig = { effortOverrides: IM_DEFAULT_EFFORT_OVERRIDES, }; +const WECOM_CONFIG: ImOrchestratorConfig = { + agentKind: IM_DEFAULT_SETTINGS.agentKind, + defaultModel: IM_DEFAULT_SETTINGS.agents[IM_DEFAULT_SETTINGS.agentKind].model, + defaultPermissionMode: IM_DEFAULT_SETTINGS.permissionMode, + effortOverrides: IM_DEFAULT_EFFORT_OVERRIDES, +}; + export function startImOrchestrators(): void { wechatCompatibilityPolicy.start(); if (wired) return; @@ -209,6 +219,7 @@ export function startImOrchestrators(): void { wireTelegramOrchestrator(telegramIm, TELEGRAM_CONFIG); wireDingTalkOrchestrator(dingtalkIm, DINGTALK_CONFIG); wireWechatOrchestrator(wechatIm, WECHAT_CONFIG); + wireWecomOrchestrator(wecomIm, WECOM_CONFIG); ipcMain.handle('wechatBot:get-state', (event) => { assertTrustedAppRendererEvent(event); diff --git a/apps/desktop/src/main/im/messagePersistence.ts b/apps/desktop/src/main/im/messagePersistence.ts index a89c0a124b8..352c623a85f 100644 --- a/apps/desktop/src/main/im/messagePersistence.ts +++ b/apps/desktop/src/main/im/messagePersistence.ts @@ -46,30 +46,7 @@ export async function persistUserMessage(args: { }): Promise<{ clientId: string } | null> { const { sessionId, text, attachments = [] } = args; const clientId = createId(); - - let content: unknown; - if (attachments.length === 0) { - content = text; - } else { - // Keep durable content aligned with renderer/lib/imageRef.ts. The media - // URL is retained so createMessage can pin the blob to this session. - content = { - text, - images: attachments - .filter((att) => att.kind === 'image') - .map((att) => ({ - originalName: att.originalName, - mimeType: att.mimeType, - ...(att.url ? { url: att.url } : {}), - })), - files: attachments - .filter((att) => att.kind === 'file') - .map((att) => ({ - name: att.originalName, - path: att.absPath, - })), - }; - } + const content = buildPersistedUserContent(text, attachments); try { await createMessage(sessionId, { @@ -87,6 +64,35 @@ export async function persistUserMessage(args: { } } +/** Build the durable content shape while retaining cindy-media URLs for ledger pinning. */ +export function buildPersistedUserContent( + text: string, + attachments: readonly IMAttachment[], +): unknown { + if (attachments.length === 0) { + return text; + } + // Keep durable content aligned with renderer/lib/imageRef.ts. Media URLs + // remain embedded so createMessage can pin every blob to this session. + return { + text, + images: attachments + .filter((att) => att.kind === 'image') + .map((att) => ({ + originalName: att.originalName, + mimeType: att.mimeType, + ...(att.url ? { url: att.url } : {}), + })), + files: attachments + .filter((att) => att.kind === 'file') + .map((att) => ({ + name: att.originalName, + path: att.absPath, + ...(att.url ? { url: att.url } : {}), + })), + }; +} + // 注: assistant 消息不在本模块落库 — IM 会话统一经 wireSessionToIpcExternal // 接入 desktop 事件管线, assistant / tool_use / tool_result / thinking 由 // messagePersistBroadcaster 单点落库(原 persistAssistantMessage 已随之移除)。 diff --git a/apps/desktop/src/main/im/shared/__tests__/permissionModeControl.test.ts b/apps/desktop/src/main/im/shared/__tests__/permissionModeControl.test.ts new file mode 100644 index 00000000000..4eb984a20a8 --- /dev/null +++ b/apps/desktop/src/main/im/shared/__tests__/permissionModeControl.test.ts @@ -0,0 +1,109 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest'; + +const mocks = vi.hoisted(() => ({ + readPermissionMode: vi.fn(), + updatePermissionMode: vi.fn(), +})); + +vi.mock('../sessionRepo', () => ({ + readPermissionMode: mocks.readPermissionMode, + updatePermissionMode: mocks.updatePermissionMode, +})); + +import { ui } from '../../wecom/uiText'; +import { + changeSessionPermissionMode, + permissionModeCommandContext, + renderTextPermissionModePicker, + renderTextPermissionModeResult, + resolvePermissionMode, +} from '../permissionModeControl'; + +const modes = [ + { id: 'auto' as const, displayName: 'Auto', description: 'Safe default' }, + { + id: 'bypassPermissions' as const, + displayName: 'Full Access', + description: 'No routine prompts', + }, +]; + +describe('shared IM permission mode control', () => { + beforeEach(() => { + vi.clearAllMocks(); + mocks.readPermissionMode.mockResolvedValue('auto'); + mocks.updatePermissionMode.mockResolvedValue(undefined); + }); + + it('lists the agent modes and accepts text aliases', () => { + const context = permissionModeCommandContext('session-1', 'auto', modes); + expect(renderTextPermissionModePicker(ui, context)).toContain('/permission bypassPermissions'); + expect(resolvePermissionMode(modes, 'bypass')?.id).toBe('bypassPermissions'); + expect(resolvePermissionMode(modes, 'FULL-ACCESS')?.id).toBe('bypassPermissions'); + }); + + it('requires a second explicit confirmation before Full Access', async () => { + const setPermissionMode = vi.fn(); + const result = await changeSessionPermissionMode({ + sessionId: 'session-1', + mode: 'bypassPermissions', + modes, + readPreviousMode: mocks.readPermissionMode, + getLiveSession: () => ({ setPermissionMode }), + persist: (mode) => mocks.updatePermissionMode('session-1', mode), + }); + + expect(result).toEqual({ + kind: 'confirmation-required', + mode: 'bypassPermissions', + label: 'Full Access', + }); + expect(renderTextPermissionModeResult(ui, result)).toContain( + '/permission bypassPermissions confirm', + ); + expect(setPermissionMode).not.toHaveBeenCalled(); + expect(mocks.updatePermissionMode).not.toHaveBeenCalled(); + }); + + it('updates the live session before persistence after confirmation', async () => { + const setPermissionMode = vi.fn(async () => undefined); + await expect( + changeSessionPermissionMode({ + sessionId: 'session-1', + mode: 'bypassPermissions', + modes, + confirmedFullAccess: true, + readPreviousMode: mocks.readPermissionMode, + getLiveSession: () => ({ setPermissionMode }), + persist: (mode) => mocks.updatePermissionMode('session-1', mode), + }), + ).resolves.toEqual({ + kind: 'changed', + mode: 'bypassPermissions', + label: 'Full Access', + live: true, + }); + expect(setPermissionMode).toHaveBeenCalledWith('bypassPermissions'); + expect(mocks.updatePermissionMode).toHaveBeenCalledWith('session-1', 'bypassPermissions'); + expect(setPermissionMode.mock.invocationCallOrder[0]).toBeLessThan( + mocks.updatePermissionMode.mock.invocationCallOrder[0]!, + ); + }); + + it('rolls the live session back when persistence fails', async () => { + const setPermissionMode = vi.fn(async () => undefined); + mocks.readPermissionMode.mockResolvedValueOnce('ask'); + mocks.updatePermissionMode.mockRejectedValueOnce(new Error('db locked')); + await expect( + changeSessionPermissionMode({ + sessionId: 'session-1', + mode: 'auto', + modes, + readPreviousMode: mocks.readPermissionMode, + getLiveSession: () => ({ setPermissionMode }), + persist: (mode) => mocks.updatePermissionMode('session-1', mode), + }), + ).resolves.toEqual({ kind: 'failed', reason: 'db locked' }); + expect(setPermissionMode.mock.calls).toEqual([['auto'], ['ask']]); + }); +}); diff --git a/apps/desktop/src/main/im/shared/__tests__/slashCommands.test.ts b/apps/desktop/src/main/im/shared/__tests__/slashCommands.test.ts index 4a8cf840a8a..8a57b323a44 100644 --- a/apps/desktop/src/main/im/shared/__tests__/slashCommands.test.ts +++ b/apps/desktop/src/main/im/shared/__tests__/slashCommands.test.ts @@ -86,6 +86,10 @@ function makeTurnRunner(overrides: Partial = {}): ImTurnRunner { disposeAllSessions: vi.fn(), disposeOneSession: vi.fn(), getMakerSessionById: vi.fn(() => null), + getPermissionModes: vi.fn(() => [ + { id: 'auto', displayName: 'Auto', description: 'Safe default' }, + ]), + changePermissionMode: vi.fn(), ...overrides, } as unknown as ImTurnRunner; } @@ -146,7 +150,9 @@ describe('IM slash commands', () => { mocks.sendInteractiveCard.mockResolvedValue({ messageId: 'card-1' }); mocks.listProviders.mockResolvedValue([]); mocks.getMaker.mockReturnValue({ - getCapabilities: () => ({ permissionModes: ['auto'] }), + getCapabilities: () => ({ + permissionModes: [{ id: 'auto', displayName: 'Auto', description: 'Safe default' }], + }), }); }); @@ -277,6 +283,82 @@ describe('IM slash commands', () => { ); }); + it('keeps card-only commands unsupported but exposes /permission on a text channel', async () => { + const textIm = { + sendMarkdownText: mocks.sendMarkdownText, + } as unknown as TextChannelIM; + const turnRunner = makeTurnRunner(); + const { handlers } = makeHarness({ + turnRunner, + adapterOverrides: { + channel: 'wecom', + im: textIm, + output: { + kind: 'chunked-text', + im: textIm, + commitFinal: vi.fn(), + }, + }, + }); + + for (const command of ['/model', '/ctr', '/session', '/permission']) { + await handlers.handleSlashCommand(command, { + botContextId: 'bot', + userId: 'owner', + }); + } + + expect(mocks.sendInteractiveCard).not.toHaveBeenCalled(); + expect(turnRunner.resolveRouteTarget).toHaveBeenCalledOnce(); + expect(mocks.sendMarkdownText.mock.calls.slice(0, 3).map(([, text]) => text)).toEqual( + ['/model', '/ctr', '/session'].map((command) => + ui.slash.unknownCommand(command), + ), + ); + expect(mocks.sendMarkdownText.mock.calls[3]?.[1]).toContain('/permission auto'); + }); + + it('requires text-channel Full Access to pass through the shared confirmation flow', async () => { + const textIm = { sendMarkdownText: mocks.sendMarkdownText } as unknown as TextChannelIM; + const changePermissionMode = vi.fn(async () => ({ + kind: 'confirmation-required' as const, + mode: 'bypassPermissions' as const, + label: 'Full Access', + })); + const turnRunner = makeTurnRunner({ + getPermissionModes: vi.fn(() => [ + { id: 'auto' as const, displayName: 'Auto' }, + { id: 'bypassPermissions' as const, displayName: 'Full Access' }, + ]), + changePermissionMode, + }); + const { handlers } = makeHarness({ + turnRunner, + adapterOverrides: { + channel: 'wecom', + im: textIm, + output: { kind: 'chunked-text', im: textIm, commitFinal: vi.fn() }, + }, + }); + + await handlers.handleSlashCommand('/permission bypass', { + botContextId: 'bot', + userId: 'owner', + }); + + expect(changePermissionMode).toHaveBeenCalledWith( + expect.objectContaining({ + sessionId: 'feishu-session', + mode: 'bypassPermissions', + confirmedFullAccess: false, + }), + ); + expect(mocks.sendMarkdownText).toHaveBeenCalledWith( + 'owner', + expect.stringContaining('/permission bypassPermissions confirm'), + ); + }); + it('text-only channels explain and skip slash commands that require cards', async () => { const unsupported = (cmd: string) => `unsupported:${cmd}`; const outputIm = { diff --git a/apps/desktop/src/main/im/shared/__tests__/turnRunnerSendOutcome.test.ts b/apps/desktop/src/main/im/shared/__tests__/turnRunnerSendOutcome.test.ts index df9360a9c48..9db29db40aa 100644 --- a/apps/desktop/src/main/im/shared/__tests__/turnRunnerSendOutcome.test.ts +++ b/apps/desktop/src/main/im/shared/__tests__/turnRunnerSendOutcome.test.ts @@ -1248,10 +1248,12 @@ describe('turnRunner send outcome policy (feishu adapter characterization)', () it('commits one terminal payload for a chunked-text output driver', async () => { const previousOutput = fakeAdapter.output; + const beginReply = vi.fn(async () => undefined); const commitFinal = vi.fn(async () => undefined); fakeAdapter.output = { kind: 'chunked-text', im: mocks.feishuIm as unknown as ChannelIM, + beginReply, commitFinal, }; try { @@ -1264,12 +1266,15 @@ describe('turnRunner send outcome policy (feishu adapter characterization)', () await flushMicrotasks(); expect(mocks.feishuIm.startStreamingText).not.toHaveBeenCalled(); + expect(beginReply).toHaveBeenCalledOnce(); + expect(beginReply).toHaveBeenCalledWith('ou_user'); expect(commitFinal).toHaveBeenCalledTimes(1); expect(commitFinal).toHaveBeenCalledWith({ userId: 'ou_user', text: 'complete text only', terminal: 'done', threadTs: undefined, + allowedFileRoots: ['F:\\XDMaker'], }); } finally { fakeAdapter.output = previousOutput; @@ -1313,6 +1318,7 @@ describe('turnRunner send outcome policy (feishu adapter characterization)', () terminal: 'done', threadTs: undefined, mediaAbsPaths: ['C:\\cindy-media\\generated.png'], + allowedFileRoots: ['F:\\XDMaker'], }); } finally { fakeAdapter.output = previousOutput; diff --git a/apps/desktop/src/main/im/shared/cardActionHandler.ts b/apps/desktop/src/main/im/shared/cardActionHandler.ts index 7d0318d443f..86fc727a946 100644 --- a/apps/desktop/src/main/im/shared/cardActionHandler.ts +++ b/apps/desktop/src/main/im/shared/cardActionHandler.ts @@ -25,7 +25,6 @@ import { type InteractionDecision, type PermissionMode, } from '@cindy/maker-core'; -import { requiresFullAccessConfirmation } from '@cindy/maker-shared/permission-mode'; import { createLogger } from '../../logger'; import { getMaker } from '../../maker-host'; @@ -74,6 +73,7 @@ import { updateModelEffort, updatePermissionMode, } from './sessionRepo'; +import { changeSessionPermissionMode } from './permissionModeControl'; import type { ImCardBuilders } from './cardBuilders'; import type { ImTurnRunner } from './turnRunner'; import type { ImChannelAdapter } from './types'; @@ -395,24 +395,17 @@ export function createCardActionHandler( // Validate against the bound agent's actual capabilities — single source of // truth is the agent module (e.g. claude-code/index.ts CLAUDE_PERMISSION_MODES). - const supportedIds = getMaker() - .getCapabilities(agentKind) - .permissionModes.map((m) => m.id); - if (!sessionId || !supportedIds.includes(mode)) { - log.warn(`permmode:pick missing/invalid sessionId=${sessionId} mode=${mode} — ignoring`); - return; - } - - const previousMode = await readPermissionMode(sessionId); - if (!previousMode) { - log.warn(`permmode:pick session not found sessionId=${sessionId} — ignoring`); - return; - } + const result = await changeSessionPermissionMode({ + sessionId, + mode, + modes: getMaker().getCapabilities(agentKind).permissionModes, + confirmedFullAccess: event.buttonId === 'permmode:confirm-full-access', + readPreviousMode: () => readPermissionMode(sessionId), + getLiveSession: () => turnRunner.getMakerSessionById(sessionId), + persist: (nextMode) => updatePermissionMode(sessionId, nextMode), + }); - if ( - event.buttonId === 'permmode:pick' - && requiresFullAccessConfirmation(previousMode, mode) - ) { + if (result.kind === 'confirmation-required') { try { await im.updateInteractiveCard(event.messageId, { title: ui.cards.permissionMode.fullAccessConfirmTitle, @@ -439,28 +432,17 @@ export function createCardActionHandler( return; } - const live = turnRunner.getMakerSessionById(sessionId); - let runtimeChanged = false; - try { - if (live) { - await live.setPermissionMode(mode); - runtimeChanged = true; - } - await updatePermissionMode(sessionId, mode); - } catch (err) { - const msg = err instanceof Error ? err.message : String(err); - log.error(`permmode:pick update failed: ${msg}`); - if (runtimeChanged && live) { - try { - await live.setPermissionMode(previousMode); - } catch (rollbackErr) { - log.warn(`permmode:pick runtime rollback failed: ${rollbackErr instanceof Error ? rollbackErr.message : String(rollbackErr)}`); - } - } + if (result.kind === 'invalid') { + log.warn(`permmode:pick invalid sessionId=${sessionId} mode=${mode}: ${result.reason}`); + return; + } + + if (result.kind === 'failed') { + log.error(`permmode:pick update failed: ${result.reason}`); try { await im.updateInteractiveCard( event.messageId, - cards.buildResolvedCard(ui.cards.permissionMode.failed(msg)), + cards.buildResolvedCard(ui.cards.permissionMode.failed(result.reason)), ); } catch { /* non-fatal: update failure is already logged */ @@ -468,7 +450,7 @@ export function createCardActionHandler( return; } - if (!live) { + if (!result.live) { log.info(`permmode:pick: no live session for ${sessionId.slice(-8)} — DB updated only`); } try { diff --git a/apps/desktop/src/main/im/shared/controlCommands.ts b/apps/desktop/src/main/im/shared/controlCommands.ts new file mode 100644 index 00000000000..84090c7a1cd --- /dev/null +++ b/apps/desktop/src/main/im/shared/controlCommands.ts @@ -0,0 +1,9 @@ +/** + * `!stop` control command shared by the normal message router and channel + * interaction interceptors. Keep this leaf module dependency-free so prompts + * can bypass stop handling without importing the full message pipeline. + */ +export function isStopCommand(text: string): boolean { + const normalized = text.trim().toLowerCase(); + return normalized === '!stop' || normalized === '!stop'; +} diff --git a/apps/desktop/src/main/im/shared/messageHandler.ts b/apps/desktop/src/main/im/shared/messageHandler.ts index a484f82efc3..422a0cafc4f 100644 --- a/apps/desktop/src/main/im/shared/messageHandler.ts +++ b/apps/desktop/src/main/im/shared/messageHandler.ts @@ -16,7 +16,7 @@ * 跨渠道互不影响。 */ -import type { ChannelIM, IMMessageEvent } from '@cindy/im'; +import type { IMMessageEvent, TextChannelIM } from '@cindy/im'; import { createLogger } from '../../logger'; import { @@ -27,6 +27,7 @@ import { } from '../accountBoundary'; import { getControlScope, isInControl } from './controlState'; +import { isStopCommand } from './controlCommands'; import type { ImSlashHandlers } from './slashCommands'; import { looksLikeSlashCommand } from './slashCommands'; import type { ImTurnRunner } from './turnRunner'; @@ -37,16 +38,13 @@ import type { ImChannelAdapter } from './types'; * 用 `!` 而非 slash 前缀: Slack 会把 `/` 开头的输入截为原生 slash command, * 普通 DM 文本里只有 `!` 前缀能原样到达 bot。 */ -export function isStopCommand(text: string): boolean { - const normalized = text.trim().toLowerCase(); - return normalized === '!stop' || normalized === '!stop'; -} +export { isStopCommand } from './controlCommands'; export function createMessageHandler( adapter: ImChannelAdapter, slash: ImSlashHandlers, turnRunner: ImTurnRunner, -): (im: ChannelIM) => () => void { +): (im: TextChannelIM) => () => void { const { ui, channel, threadScoped } = adapter; const log = createLogger(`im:${channel}:msg`); @@ -54,7 +52,7 @@ export function createMessageHandler( const userLocks = new Map>(); async function processOne( - im: ChannelIM, + im: TextChannelIM, event: IMMessageEvent, accountGeneration: ImAccountGeneration, ): Promise { @@ -223,7 +221,7 @@ export function createMessageHandler( } } - return function attachMessageHandler(im: ChannelIM): () => void { + return function attachMessageHandler(im: TextChannelIM): () => void { return im.onMessage((event) => { // Capture synchronously, before entering the per-user queue. A boolean // check at execution time could accept old-account work after relogin. diff --git a/apps/desktop/src/main/im/shared/orchestrator.ts b/apps/desktop/src/main/im/shared/orchestrator.ts index 6756a459fdb..c8497ae5a9b 100644 --- a/apps/desktop/src/main/im/shared/orchestrator.ts +++ b/apps/desktop/src/main/im/shared/orchestrator.ts @@ -38,8 +38,9 @@ export interface ImOrchestrator { const registry = new Map(); /** - * 创建并接线一个渠道编排器:订阅 im.onMessage / im.onCardAction, 注册进 - * registry。每个渠道只允许调一次(重复调说明 wiring 层 bug, 直接抛)。 + * 创建并接线一个渠道编排器:所有渠道订阅 im.onMessage;只有 rich-card + * 渠道订阅 onCardAction。每个渠道只允许调一次(重复调说明 wiring 层 bug, + * 直接抛)。 */ export function createImOrchestrator(adapter: ImChannelAdapter): ImOrchestrator { if (registry.has(adapter.channel)) { @@ -47,7 +48,12 @@ export function createImOrchestrator(adapter: ImChannelAdapter): ImOrchestrator } // threadScoped 渠道的能力配对断言 — thread 文案组与 messageId→threadKey // 提取能力缺一不可, 接线期 fail-fast 好过运行时静默坏掉。 - if (adapter.threadScoped && (!adapter.ui.thread || !adapter.im.threadKeyForMessage)) { + if ( + adapter.threadScoped && + (adapter.output.kind !== 'rich-card' || + !adapter.ui.thread || + !adapter.output.im.threadKeyForMessage) + ) { throw new Error( `im orchestrator channel=${adapter.channel}: threadScoped requires ui.thread + im.threadKeyForMessage`, ); @@ -67,10 +73,12 @@ export function createImOrchestrator(adapter: ImChannelAdapter): ImOrchestrator }); const slash = createSlashHandlers(adapter, repo, cards, turnRunner); const attachMessageHandler = createMessageHandler(adapter, slash, turnRunner); - const attachCardActionHandler = createCardActionHandler(adapter, cards, turnRunner); attachMessageHandler(adapter.im); - attachCardActionHandler(adapter.im); + if (adapter.output.kind === 'rich-card') { + const attachCardActionHandler = createCardActionHandler(adapter, cards, turnRunner); + attachCardActionHandler(adapter.output.im); + } const orchestrator: ImOrchestrator = { channel: adapter.channel, diff --git a/apps/desktop/src/main/im/shared/permissionModeControl.ts b/apps/desktop/src/main/im/shared/permissionModeControl.ts new file mode 100644 index 00000000000..85b4f8bbfa5 --- /dev/null +++ b/apps/desktop/src/main/im/shared/permissionModeControl.ts @@ -0,0 +1,142 @@ +import type { PermissionMode, PermissionModeDescriptor } from '@cindy/maker-core'; +import { requiresFullAccessConfirmation } from '@cindy/maker-shared/permission-mode'; + +import type { ImUiTextPack } from './types'; + +export type PermissionModeChangeResult = + | { kind: 'changed'; mode: PermissionMode; label: string; live: boolean } + | { kind: 'confirmation-required'; mode: PermissionMode; label: string } + | { kind: 'invalid'; reason: string } + | { kind: 'failed'; reason: string }; + +export interface PermissionModeCommandContext { + sessionId: string; + currentMode: PermissionMode; + modes: PermissionModeDescriptor[]; +} + +export function permissionModeCommandContext( + sessionId: string, + currentMode: PermissionMode, + modes: PermissionModeDescriptor[], +): PermissionModeCommandContext { + return { + sessionId, + currentMode, + modes, + }; +} + +/** + * Shared by Feishu cards and text-only IM channels. Runtime is changed first so + * the active turn observes the new mode immediately; a failed DB write rolls it + * back to keep runtime and persistence consistent. + */ +export async function changeSessionPermissionMode(args: { + sessionId: string; + mode: PermissionMode; + modes: readonly PermissionModeDescriptor[]; + confirmedFullAccess?: boolean; + readPreviousMode(): Promise; + getLiveSession(): { setPermissionMode(mode: PermissionMode): Promise } | null; + persist(mode: PermissionMode): Promise; +}): Promise { + const descriptor = args.modes.find((candidate) => candidate.id === args.mode); + if (!args.sessionId || !descriptor) { + return { kind: 'invalid', reason: `Unsupported permission mode: ${args.mode}` }; + } + + const previousMode = await args.readPreviousMode(); + if (!previousMode) return { kind: 'invalid', reason: 'Session not found' }; + + if (!args.confirmedFullAccess && requiresFullAccessConfirmation(previousMode, args.mode)) { + return { + kind: 'confirmation-required', + mode: args.mode, + label: descriptor.displayName, + }; + } + + const live = args.getLiveSession(); + let runtimeChanged = false; + try { + if (live) { + await live.setPermissionMode(args.mode); + runtimeChanged = true; + } + await args.persist(args.mode); + } catch (error) { + if (runtimeChanged && live) { + try { + await live.setPermissionMode(previousMode); + } catch { + // The original failure is more useful to the caller. Rollback remains + // best effort, matching the existing Feishu card behavior. + } + } + return { + kind: 'failed', + reason: error instanceof Error ? error.message : String(error), + }; + } + + return { + kind: 'changed', + mode: args.mode, + label: descriptor.displayName, + live: Boolean(live), + }; +} + +export function resolvePermissionMode( + modes: readonly PermissionModeDescriptor[], + rawMode: string, +): PermissionModeDescriptor | null { + const normalized = rawMode.trim().toLowerCase(); + const alias = + normalized === 'bypass' || normalized === 'full' || normalized === 'full-access' + ? 'bypasspermissions' + : normalized; + return modes.find((mode) => mode.id.toLowerCase() === alias) ?? null; +} + +export function renderTextPermissionModePicker( + ui: ImUiTextPack, + context: PermissionModeCommandContext, +): string { + const current = + context.modes.find((mode) => mode.id === context.currentMode) ?? + ({ + id: context.currentMode, + displayName: context.currentMode, + description: '', + } satisfies PermissionModeDescriptor); + const options = context.modes + .map((mode) => { + const description = mode.description ? ` — ${mode.description}` : ''; + return `/permission ${mode.id} — ${mode.displayName}${description}`; + }) + .join('\n'); + return [ + ui.cards.permissionMode.title, + ui.cards.permissionMode.currentLine(current.displayName, current.description ?? ''), + ui.cards.permissionMode.hint, + options, + ].join('\n\n'); +} + +export function renderTextPermissionModeResult( + ui: ImUiTextPack, + result: PermissionModeChangeResult, +): string { + if (result.kind === 'changed') return ui.cards.permissionMode.resolved(result.label); + if (result.kind === 'confirmation-required') { + return [ + ui.cards.permissionMode.fullAccessConfirmTitle, + ui.cards.permissionMode.fullAccessConfirmBody, + `${ui.cards.permissionMode.btnConfirmFullAccess}: /permission ${result.mode} confirm`, + `${ui.cards.permissionMode.btnCancelFullAccess}: ${ui.cards.permissionMode.fullAccessCancelled}`, + ].join('\n\n'); + } + return ui.cards.permissionMode.failed(result.reason); +} diff --git a/apps/desktop/src/main/im/shared/slashCommands.ts b/apps/desktop/src/main/im/shared/slashCommands.ts index dd53023f8c3..a4ceff90b7a 100644 --- a/apps/desktop/src/main/im/shared/slashCommands.ts +++ b/apps/desktop/src/main/im/shared/slashCommands.ts @@ -11,7 +11,6 @@ * detach source 标记为 `${channel}-slash`。 */ -import { getMaker } from '../../maker-host'; import { getDesktopProviderService } from '../../maker-host/createDesktopProviderService'; import { getModelVisibilityOverride } from '../../maker-host/model-visibility-mirror'; import { getSessionProvider } from '../../maker-host/session-provider-store'; @@ -37,6 +36,12 @@ import { enterControl } from './controlState'; import { bindingStore, executeDetach } from '../binding'; import type { IdentityKey } from '@cindy/im'; import type { ImChannelAdapter } from './types'; +import { + permissionModeCommandContext, + renderTextPermissionModePicker, + renderTextPermissionModeResult, + resolvePermissionMode, +} from './permissionModeControl'; const INTERACTIVE_SLASH_COMMANDS = new Set([ '/model', @@ -72,7 +77,8 @@ export function createSlashHandlers( cards: ImCardBuilders, turnRunner: ImTurnRunner, ): ImSlashHandlers { - const { im, ui, channel, threadScoped } = adapter; + const { im, output, ui, channel, threadScoped } = adapter; + const richIm = output.kind === 'rich-card' ? output.im : null; const log = createLogger(`im:${channel}:slash`); // threadScoped 渠道的 thread 文案组 — orchestrator 接线期已断言存在 const threadUi = ui.thread; @@ -92,10 +98,15 @@ export function createSlashHandlers( } async function handleSlashCommand(text: string, ctx: SlashCtx): Promise { - const [cmd] = text.trim().split(/\s+/); + const [cmd, ...commandArgs] = text.trim().split(/\s+/); log.info(`slash cmd=${cmd} userId=...${ctx.userId.slice(-8)}`); - if (adapter.output.kind === 'chunked-text' && INTERACTIVE_SLASH_COMMANDS.has(cmd)) { + const supportsTextPermissionCommand = channel === 'wecom' && cmd === '/permission'; + if ( + adapter.output.kind === 'chunked-text' && + INTERACTIVE_SLASH_COMMANDS.has(cmd) && + !supportsTextPermissionCommand + ) { await safeSendText( ctx.userId, ui.slash.interactiveCommandUnsupported?.(cmd) ?? ui.slash.unknownCommand(cmd), @@ -172,6 +183,10 @@ export function createSlashHandlers( } case '/model': { + if (!richIm) { + await safeSendText(ctx.userId, ui.slash.unknownCommand(cmd)); + return true; + } // thread 模型: slash 命令不携带 thread 上下文(Slack 平台限制), 无法定位 // 目标 thread/session;不拦的话 resolveRouteTarget 会误建空 scope session。 if (threadScoped && threadUi) { @@ -220,7 +235,7 @@ export function createSlashHandlers( : undefined, }); try { - await im.sendInteractiveCard(ctx.userId, spec); + await richIm.sendInteractiveCard(ctx.userId, spec); } catch (err) { const msg = err instanceof Error ? err.message : String(err); log.error(`/model card send failed: ${msg}`); @@ -275,12 +290,16 @@ export function createSlashHandlers( } case '/ctr': { + if (!richIm) { + await safeSendText(ctx.userId, ui.slash.unknownCommand(cmd)); + return true; + } // ── thread 模型: 整个选择流程在"接管锚点卡"的 thread 里进行 ──────── // 顶层只发一张锚点卡(未来的接管 thread root), 工作区/会话选择卡发进 // 它的 thread — 用户从选择那一刻就在 thread 里操作, 接管完成后锚点卡 // 原地变身"已接管"(带 🚪), 同一 thread 直接续聊。 - if (threadScoped && threadUi && im.threadKeyForMessage) { - await startThreadControlFlow(im, adapter, cards, { + if (threadScoped && threadUi && richIm.threadKeyForMessage) { + await startThreadControlFlow(richIm, adapter, cards, { botContextId: ctx.botContextId, userId: ctx.userId, }); @@ -314,7 +333,7 @@ export function createSlashHandlers( currentAttachedTitle, }); try { - await im.sendInteractiveCard(ctx.userId, spec); + await richIm.sendInteractiveCard(ctx.userId, spec); enterControl(ctx.botContextId, ctx.userId); } catch (err) { const msg = err instanceof Error ? err.message : String(err); @@ -327,7 +346,7 @@ export function createSlashHandlers( // 跨工作区最近会话直达(官方 bot /session 习惯) — 提供文案组的渠道 // 才放行; 选中走 control:session-pick 接管路径。 const recentUi = ui.cards.control.recentSessions; - if (!recentUi) { + if (!richIm || !recentUi) { await safeSendText(ctx.userId, ui.slash.unknownCommand(cmd)); return true; } @@ -337,7 +356,7 @@ export function createSlashHandlers( sessions: recent, }); try { - await im.sendInteractiveCard(ctx.userId, spec); + await richIm.sendInteractiveCard(ctx.userId, spec); } catch (err) { const msg = err instanceof Error ? err.message : String(err); log.error(`/session card send failed: ${msg}`); @@ -349,7 +368,7 @@ export function createSlashHandlers( // 项目切换 — projectSwitching 渠道专属(个人 Telegram);其它渠道当 // 未知命令处理, 不暴露半成品入口。 const projectUi = ui.cards.project; - if (!adapter.projectSwitching || !projectUi) { + if (!richIm || !adapter.projectSwitching || !projectUi) { await safeSendText(ctx.userId, ui.slash.unknownCommand(cmd)); return true; } @@ -378,7 +397,7 @@ export function createSlashHandlers( currentName, }); try { - await im.sendInteractiveCard(ctx.userId, spec); + await richIm.sendInteractiveCard(ctx.userId, spec); } catch (err) { const msg = err instanceof Error ? err.message : String(err); log.error(`/project card send failed: ${msg}`); @@ -397,16 +416,40 @@ export function createSlashHandlers( return true; } const { row } = target; - const maker = getMaker(); - const modes = maker.getCapabilities(row.agentKind).permissionModes; + const context = permissionModeCommandContext( + row.id, + row.permissionMode, + turnRunner.getPermissionModes(row.agentKind), + ); + if (!richIm) { + const requested = commandArgs[0]; + if (!requested) { + await safeSendText(ctx.userId, renderTextPermissionModePicker(ui, context)); + return true; + } + const mode = resolvePermissionMode(context.modes, requested); + if (!mode) { + await safeSendText(ctx.userId, renderTextPermissionModePicker(ui, context)); + return true; + } + const confirmedFullAccess = ['confirm', '确认'].includes(commandArgs[1]?.toLowerCase()); + const result = await turnRunner.changePermissionMode({ + sessionId: row.id, + mode: mode.id, + modes: context.modes, + confirmedFullAccess, + }); + await safeSendText(ctx.userId, renderTextPermissionModeResult(ui, result)); + return true; + } const spec = cards.buildPermissionModePickerCard({ sessionId: row.id, agentKind: row.agentKind, - modes, + modes: context.modes, currentMode: row.permissionMode, }); try { - await im.sendInteractiveCard(ctx.userId, spec); + await richIm.sendInteractiveCard(ctx.userId, spec); } catch (err) { const msg = err instanceof Error ? err.message : String(err); log.error(`/permission card send failed: ${msg}`); diff --git a/apps/desktop/src/main/im/shared/turnRunner.ts b/apps/desktop/src/main/im/shared/turnRunner.ts index 4dda807b97b..3829d4c04e7 100644 --- a/apps/desktop/src/main/im/shared/turnRunner.ts +++ b/apps/desktop/src/main/im/shared/turnRunner.ts @@ -56,8 +56,11 @@ import { isTerminalAgentErrorEvent } from '@cindy/maker-core'; import type { AgentEvent, AgentKind, + Capabilities, InteractionDecision, InteractionRequest, + PermissionMode, + PermissionModeDescriptor, Session as MakerSession, TurnPermissionPolicy, UserMessage, @@ -109,12 +112,18 @@ import { import { overloadRetryNotice, terminalErrorText } from './turnRetryNotice'; import { toCoreAgentKind, + readPermissionMode, touchUserSent as repoTouchUserSent, + updatePermissionMode, type ImSessionRepo, type ImSessionRow, } from './sessionRepo'; import type { ImCardBuilders } from './cardBuilders'; import type { ImChannelAdapter } from './types'; +import { + changeSessionPermissionMode, + type PermissionModeChangeResult, +} from './permissionModeControl'; const PRE_DISPATCH_ACK_CLEANUP_TIMEOUT_MS = 1500; /** SESSION_RUNNING 竞态 / desktop turn 仍在跑时的兜底重试间隔。 */ @@ -140,6 +149,8 @@ interface TurnState { buffer: string; /** Managed images discovered in tool output for durable text channels. */ mediaAbsPaths: string[]; + /** Current session root used to confine model-authored local file links. */ + workingDir: string; done: boolean; /** 过程展示(tool_use 时间线)状态 — 见 turnActivity.ts。 */ activity: TurnActivityState; @@ -178,6 +189,8 @@ interface TurnState { /** Terminal classification consumed by chunked-text commitFinal. */ terminalKind: 'done' | 'aborted' | 'error'; terminalErrorCode: string | null; + /** Whether a callback-bound text response has already been reserved. */ + chunkedReplyBegun: boolean; queueMode: 'internal' | 'external'; terminalPromise: Promise; resolveTerminal: ((terminal: ImTurnTerminal) => void) | null; @@ -303,6 +316,11 @@ export interface ImRunAgentTurnArgs { trackBackgroundTask?: (operation: () => Promise) => void; /** Optional per-turn host policy (personal WeChat routes confirmations to Desktop). */ turnPermissionPolicy?: TurnPermissionPolicy; + /** Resolve a channel safety policy after the concrete session route is known. */ + turnPermissionPolicyForRoute?( + row: ImSessionRow, + capabilities: Capabilities, + ): TurnPermissionPolicy | undefined; } export interface ImTurnTerminal { @@ -353,6 +371,14 @@ export interface ImTurnRunner { disposeOneSession(sessionId: string): Promise; /** Get the live Maker Session for a given DB session id, or null. */ getMakerSessionById(sessionId: string): MakerSession | null; + /** Permission choices exposed by the session's concrete Agent implementation. */ + getPermissionModes(agentKind: AgentKind): PermissionModeDescriptor[]; + changePermissionMode(args: { + sessionId: string; + mode: PermissionMode; + modes: readonly PermissionModeDescriptor[]; + confirmedFullAccess?: boolean; + }): Promise; /** * `!stop` 控制指令入口: 中止该路由 (bot, user[, scopeKey]) 对应 session 上 * 正在跑的 turn, 并丢弃 sendQueue 里尚未派发的排队消息 — 不清队的话, abort @@ -380,6 +406,7 @@ export function createTurnRunner( deps: ImTurnRunnerDeps = {}, ): ImTurnRunner { const { im, output, ui, channel } = adapter; + const richIm = output.kind === 'rich-card' ? output.im : null; /** 过程区耗时显示的低频刷新(5s)— 单个长工具调用期间状态行不冻结。 */ const ACTIVITY_TICK_MS = 5_000; @@ -560,7 +587,6 @@ export function createTurnRunner( // commit 挂在它上面, 鉴权失败被拒的消息若先触发它, 这批群上下文会被游标 // 永久跳过(prepareAgentTurnText 的契约: 路由失败不推进游标)。 args.onRouteResolved?.(row.id); - // ── thread 名片卡(threadScoped 新 thread 会话)───────────────────────── // 在 bot 第一条回复之前发进 thread, 让用户第一眼理解"这个 thread = 一条 // 独立会话";首条消息的 oneshot 标题生成完成后, 名片原地升级为正式标题 @@ -568,6 +594,7 @@ export function createTurnRunner( let threadHeaderCardId: string | null = null; const threadUiPack = adapter.ui.thread; if ( + richIm && adapter.threadScoped && threadUiPack && !target.attached && @@ -575,7 +602,7 @@ export function createTurnRunner( target.scopeKey ) { try { - const r = await im.sendInteractiveCard( + const r = await richIm.sendInteractiveCard( userId, { ...threadUiPack.sessionHeaderCard, buttons: [] }, { threadTs: target.scopeKey }, @@ -609,6 +636,7 @@ export function createTurnRunner( streamingHandlePromise: null, buffer: '', mediaAbsPaths: [], + workingDir: row.workingDir, done: false, activity: createTurnActivity(Date.now()), activityTicker: null, @@ -623,6 +651,7 @@ export function createTurnRunner( interactionRouteLease: null, terminalKind: 'done', terminalErrorCode: null, + chunkedReplyBegun: false, queueMode: args.queueMode, terminalPromise, resolveTerminal, @@ -685,6 +714,11 @@ export function createTurnRunner( startBackgroundTask(() => maybeGenerateImSessionTitle(row.id, text, threadHeaderCardId)); } + const turnPermissionPolicy = + args.turnPermissionPolicyForRoute?.( + row, + getMaker().getCapabilities(row.agentKind), + ) ?? args.turnPermissionPolicy; const item: QueuedSend = { turn, userMessage: buildImUserMessage(args.agentText ?? text, attachments, target.attached), @@ -694,7 +728,7 @@ export function createTurnRunner( notified: false, queueMode: args.queueMode, ...(args.beforeProviderStart ? { beforeProviderStart: args.beforeProviderStart } : {}), - ...(args.turnPermissionPolicy ? { turnPermissionPolicy: args.turnPermissionPolicy } : {}), + ...(turnPermissionPolicy ? { turnPermissionPolicy } : {}), }; // turn 进行中(本 session 的本渠道 turn 未收口 / sendQueue 已有人排队 / @@ -755,6 +789,7 @@ export function createTurnRunner( { kind: 'accepted'; acceptedAt: number } | { kind: 'busy' | 'rejected'; reason: string } > { const rowId = item.rowId; + await beginChunkedReply(item.turn); // 过程区耗时基准取真实派发时刻 — TurnState 创建时可能还要在 sendQueue 里 // 等上一轮跑完, 排队等待不该计入"第 N 步 · 耗时"显示 item.turn.activity.startedAt = Date.now(); @@ -882,6 +917,23 @@ export function createTurnRunner( if (i >= 0) state.queue.splice(i, 1); if (state.detachDrainPromise) { await completeTurnCallbackAfterAck(item.turn); + if ( + item.turn.queueMode === 'internal' && + output.kind === 'chunked-text' && + item.turn.chunkedReplyBegun + ) { + try { + await output.commitFinal({ + userId, + text: ui.agent.sendInternalError('session_detaching'), + terminal: 'error', + threadTs: state.scopeKey, + errorCode: 'session_detaching', + }); + } catch { + /* The session is already detaching; reporting remains best-effort. */ + } + } finishDeferredDetachIfIdle(state); return { kind: 'busy', reason: 'session_detaching' }; } @@ -910,6 +962,24 @@ export function createTurnRunner( } } + async function beginChunkedReply(turn: TurnState): Promise { + if ( + turn.chunkedReplyBegun || + turn.queueMode !== 'internal' || + output.kind !== 'chunked-text' || + !output.beginReply + ) { + return; + } + turn.chunkedReplyBegun = true; + try { + await output.beginReply(turn.userId); + } catch (err) { + const msg = err instanceof Error ? err.message : String(err); + log.warn(`chunked-text beginReply failed (active-send fallback): ${msg}`); + } + } + async function refreshSessionAfterPendingAgentSwitch( state: SessionState, sessionId: string, @@ -1248,6 +1318,30 @@ export function createTurnRunner( `publishMigrated kind=${req.kind} requestId=...${req.requestId.slice(-8)} session=...${localSessionId.slice(-8)}`, ); + if (!richIm) { + try { + if (adapter.handleTextInteraction) { + resolve(await adapter.handleTextInteraction(userId, req)); + } else { + const kind = req.kind as InteractionDecision['kind']; + resolve( + kind === 'ask_user_question' + ? { kind, answers: {} } + : { kind, behavior: 'deny', reason: 'rich_output_not_supported' }, + ); + } + } catch (err) { + const kind = req.kind as InteractionDecision['kind']; + const msg = err instanceof Error ? err.message : String(err); + resolve( + kind === 'ask_user_question' + ? { kind, answers: {} } + : { kind, behavior: 'deny', reason: `text interaction failed: ${msg}` }, + ); + } + return; + } + let spec: InteractiveCardSpec | null = null; switch (req.kind) { case 'permission': @@ -1279,7 +1373,7 @@ export function createTurnRunner( let messageId: string; try { - const result = await im.sendInteractiveCard(userId, spec, { threadTs: scopeKey }); + const result = await richIm.sendInteractiveCard(userId, spec, { threadTs: scopeKey }); messageId = result.messageId; } catch (err) { const msg = err instanceof Error ? err.message : String(err); @@ -1357,7 +1451,7 @@ export function createTurnRunner( // (此前是「新会话(刚建好)」占位), 顶层一眼能看出 thread 对应哪条会话。 // 保留 🚪 退出按钮(updateInteractiveCard 是全量覆盖)。 const threadUiPack = adapter.ui.thread; - if (!title || !adapter.threadScoped || !threadUiPack || !ctx?.scopeKey) return; + if (!richIm || !title || !adapter.threadScoped || !threadUiPack || !ctx?.scopeKey) return; const anchorId = bindingStore.getAttachCardMessageId({ channel, botContextId: ctx.botContextId, @@ -1366,7 +1460,7 @@ export function createTurnRunner( }); if (!anchorId) return; const card = threadUiPack.takeoverCard(title, path.basename(ctx.workingDir)); - await im.updateInteractiveCard(anchorId, { + await richIm.updateInteractiveCard(anchorId, { title: card.title, body: card.body, buttons: [ @@ -1403,8 +1497,8 @@ export function createTurnRunner( const prefix = typeof configuredPrefix === 'function' ? configuredPrefix() : configuredPrefix; try { const title = await generateAndPersistFbotTitle(sessionId, text, prefix); - if (!title || !headerCardId || !threadUiPack) return; - await im.updateInteractiveCard(headerCardId, { + if (!richIm || !title || !headerCardId || !threadUiPack) return; + await richIm.updateInteractiveCard(headerCardId, { ...threadUiPack.sessionHeaderTitled(title), buttons: [], }); @@ -1736,8 +1830,9 @@ export function createTurnRunner( ): Promise { if (t.streamingHandle) return Promise.resolve(t.streamingHandle); if (t.streamingHandlePromise) return t.streamingHandlePromise; + if (!richIm) return Promise.reject(new Error('rich output is not available')); t.streamingHandlePromise = (async () => { - const handle = await im.startStreamingText(state.userId, undefined, { + const handle = await richIm.startStreamingText(state.userId, undefined, { threadTs: state.scopeKey, }); t.streamingHandle = handle; @@ -1986,9 +2081,23 @@ export function createTurnRunner( await completeTurnCallbackAfterAck(failure.turn); if (failure.turn.queueMode === 'internal') { try { - await im.sendText(userId, `❌ 启动 agent 失败:${failure.reason}`, { - threadTs: state.scopeKey, - }); + const message = `❌ 启动 agent 失败:${failure.reason}`; + if ( + output.kind === 'chunked-text' && + failure.turn.chunkedReplyBegun + ) { + await output.commitFinal({ + userId, + text: message, + terminal: 'error', + threadTs: state.scopeKey, + errorCode: failure.reason, + }); + } else { + await im.sendText(userId, message, { + threadTs: state.scopeKey, + }); + } } catch { /* 忽略失败:派发失败提示不能再阻塞收口。 */ } @@ -2036,6 +2145,7 @@ export function createTurnRunner( } function patchedCardHandle(messageId: string): StreamingTextHandle { + if (!richIm) throw new Error('rich output is not available'); let closed = false; let buffer = ''; let timer: ReturnType | null = null; @@ -2043,7 +2153,7 @@ export function createTurnRunner( const flush = (): void => { timer = null; lastPatchAt = Date.now(); - void im.patchMarkdownCard(messageId, buffer); + void richIm.patchMarkdownCard(messageId, buffer); }; const schedule = (): void => { if (closed || timer) return; @@ -2073,7 +2183,7 @@ export function createTurnRunner( closed = true; cancel(); buffer = finalText; - await im.patchMarkdownCard(messageId, finalText); + await richIm.patchMarkdownCard(messageId, finalText); }, close(): void { closed = true; @@ -2141,6 +2251,7 @@ export function createTurnRunner( terminal: turn.terminalKind, threadTs: turn.scopeKey, ...(turn.mediaAbsPaths.length > 0 ? { mediaAbsPaths: turn.mediaAbsPaths } : {}), + allowedFileRoots: [turn.workingDir], ...(turn.terminalErrorCode ? { errorCode: turn.terminalErrorCode } : {}), }); } @@ -2473,7 +2584,7 @@ export function createTurnRunner( let messageId: string; try { - const result = await im.sendInteractiveCard(userId, spec, { threadTs: scopeKey }); + const result = await output.im.sendInteractiveCard(userId, spec, { threadTs: scopeKey }); messageId = result.messageId; } catch (err) { const msg = err instanceof Error ? err.message : String(err); @@ -2733,6 +2844,14 @@ export function createTurnRunner( disposeAllSessions, disposeOneSession, getMakerSessionById, + getPermissionModes: (agentKind) => getMaker().getCapabilities(agentKind).permissionModes, + changePermissionMode: (args) => + changeSessionPermissionMode({ + ...args, + readPreviousMode: () => readPermissionMode(args.sessionId), + getLiveSession: () => getMakerSessionById(args.sessionId), + persist: (mode) => updatePermissionMode(args.sessionId, mode), + }), stopActiveTurn, }; } diff --git a/apps/desktop/src/main/im/shared/types.ts b/apps/desktop/src/main/im/shared/types.ts index a0f35902dbd..70015b3bfe6 100644 --- a/apps/desktop/src/main/im/shared/types.ts +++ b/apps/desktop/src/main/im/shared/types.ts @@ -25,10 +25,17 @@ import type { PermissionMode, TurnPermissionPolicy, } from '@cindy/maker-core'; -import type { ChannelIM, ImOutputDriver, IMMessageEvent, IMUnsupportedEntry } from '@cindy/im'; +import type { ImOutputDriver, IMMessageEvent, IMUnsupportedEntry, TextChannelIM } from '@cindy/im'; /** 渠道名 — 同时是 sessions.source 列值与 IdentityKey.channel 的值域。 */ -export type ImChannelName = 'feishu' | 'slack' | 'discord' | 'wechat' | 'telegram' | 'dingtalk'; +export type ImChannelName = + | 'feishu' + | 'slack' + | 'discord' + | 'wechat' + | 'telegram' + | 'dingtalk' + | 'wecom'; /** * IM 编排层的产品默认配置(由 main/im/index.ts 产品接线层注入)。 @@ -93,8 +100,8 @@ export interface ImSessionNamespace { */ export interface ImChannelAdapter { channel: ImChannelName; - /** 收发能力(@cindy/im ChannelIM 契约)。 */ - im: ChannelIM; + /** 所有渠道共有的文本收发能力;富卡片能力由 output.kind 显式收窄。 */ + im: TextChannelIM; /** Terminal output strategy; existing channels use rich-card. */ output: ImOutputDriver; config: ImOrchestratorConfig; diff --git a/apps/desktop/src/main/im/wechat/WechatIM.ts b/apps/desktop/src/main/im/wechat/WechatIM.ts index 67cd634dc08..f254b2199b6 100644 --- a/apps/desktop/src/main/im/wechat/WechatIM.ts +++ b/apps/desktop/src/main/im/wechat/WechatIM.ts @@ -29,7 +29,17 @@ import type { ImSessionRepo } from '../shared/sessionRepo'; import type { ImOrchestratorConfig } from '../shared/types'; import type { ImFinalOutput } from '@cindy/im'; import type { ImTurnRunner } from '../shared/turnRunner'; -import { createWechatTurnPermissionPolicy } from './permissionPolicy'; +import { + createWechatTurnPermissionPolicyForMode, + WECHAT_TURN_PERMISSION_POLICY_UNSUPPORTED, +} from './permissionPolicy'; +import { + permissionModeCommandContext, + renderTextPermissionModePicker, + renderTextPermissionModeResult, + resolvePermissionMode, +} from '../shared/permissionModeControl'; +import { ui } from './uiText'; import { WechatTaskStore, type WechatActiveBinding, type WechatTask } from './taskStore'; import type { DbClient } from '../../localDb/client/DbClient'; import { @@ -1028,18 +1038,27 @@ export class WechatIM extends BaseIM implements RichChannelIM { active.routeSessionId = sessionId; } }, - turnPermissionPolicy: createWechatTurnPermissionPolicy(task.id, { - onInteractionStateChange: (state) => { - if (state === 'waiting') { - void this.#requireStore().setWaitingDesktop(task.bindingEpoch, task.id, true); - } else { - void this.#requireStore().setWaitingDesktop(task.bindingEpoch, task.id, false); - } - }, - }), + turnPermissionPolicyForRoute: (row, capabilities) => + createWechatTurnPermissionPolicyForMode(task.id, capabilities, row.permissionMode, { + onInteractionStateChange: (state) => { + void this.#requireStore().setWaitingDesktop( + task.bindingEpoch, + task.id, + state === 'waiting', + ); + }, + }), }); } catch (error) { await stopTyping(); + if ( + error instanceof Error && + error.message.startsWith(WECHAT_TURN_PERMISSION_POLICY_UNSUPPORTED) + ) { + this.#activeTasks.delete(task.peerId); + await this.#commitPreDispatchFailure(task, error.message); + return; + } throw error; } @@ -1203,6 +1222,10 @@ export class WechatIM extends BaseIM implements RichChannelIM { async #processCommand(task: WechatTask, command: string): Promise { const runtime = this.#turnRuntime; if (!runtime) throw new Error('WECHAT_TURN_RUNTIME_NOT_ATTACHED'); + if (/^\/permission(?:\s|$)/.test(command)) { + await this.#processPermissionCommand(task, command, runtime); + return; + } switch (command) { case '/help': await this.#commitSimpleReply( @@ -1264,6 +1287,48 @@ export class WechatIM extends BaseIM implements RichChannelIM { } } + async #processPermissionCommand( + task: WechatTask, + command: string, + runtime: TurnRuntime, + ): Promise { + const accepted = await this.#requireStore().markAccepted(task.bindingEpoch, task.id); + if (!accepted) throw new Error('WECHAT_ACCEPT_CAS_REJECTED'); + + const botContextId = this.#epoch?.credentials.ilinkBotId ?? ''; + const target = await runtime.runner.resolveRouteTarget(botContextId, task.peerId); + let reply: string; + if (!target) { + reply = ui.agent.apiKeyMissing; + } else { + const context = permissionModeCommandContext( + target.row.id, + target.row.permissionMode, + runtime.runner.getPermissionModes(target.row.agentKind), + ); + const [, rawMode, rawConfirmation] = command.split(/\s+/); + if (!rawMode) { + reply = renderTextPermissionModePicker(ui, context); + } else { + const mode = resolvePermissionMode(context.modes, rawMode); + if (!mode) { + reply = renderTextPermissionModePicker(ui, context); + } else { + const result = await runtime.runner.changePermissionMode({ + sessionId: target.row.id, + mode: mode.id, + modes: context.modes, + confirmedFullAccess: ['confirm', '确认'].includes(rawConfirmation?.toLowerCase()), + }); + reply = renderTextPermissionModeResult(ui, result); + } + } + } + + await this.#commitAcceptedReply(task, reply); + await this.#flushCurrentOutbox(task.bindingEpoch); + } + async #commitSimpleReply(task: WechatTask, text: string): Promise { const accepted = await this.#requireStore().markAccepted(task.bindingEpoch, task.id); if (!accepted) throw new Error('WECHAT_ACCEPT_CAS_REJECTED'); @@ -1288,9 +1353,9 @@ export class WechatIM extends BaseIM implements RichChannelIM { async #commitPreDispatchFailure(task: WechatTask, reason: string): Promise { const text = - reason.includes('TURN_PERMISSION_POLICY_UNSUPPORTED') || + reason.includes(WECHAT_TURN_PERMISSION_POLICY_UNSUPPORTED) || reason.includes('unsupported_turn_permission') - ? '当前任务使用“完全访问”权限,个人微信暂不支持该模式。请在 Cindy 中改为“自动”或“每次询问”。' + ? '当前 Agent 无法在个人微信中安全使用此权限模式。请在 Cindy 中切换权限模式;若仍失败,请改用支持个人微信权限确认的 Agent。' : reason === 'missing_auth' ? '当前 Agent 尚未完成授权,请先在 Cindy 中连接模型服务。' : '这条消息暂时无法启动,请稍后重试。'; diff --git a/apps/desktop/src/main/im/wechat/__tests__/permissionPolicy.test.ts b/apps/desktop/src/main/im/wechat/__tests__/permissionPolicy.test.ts index 975ce69d847..80b98d37291 100644 --- a/apps/desktop/src/main/im/wechat/__tests__/permissionPolicy.test.ts +++ b/apps/desktop/src/main/im/wechat/__tests__/permissionPolicy.test.ts @@ -3,6 +3,7 @@ import type { Capabilities } from '@cindy/maker-core'; import { createWechatTurnPermissionPolicy, + createWechatTurnPermissionPolicyForMode, supportsWechatTurnPermissionMode, } from '../permissionPolicy'; @@ -64,5 +65,17 @@ describe('personal WeChat turn permission policy', () => { expect( supportsWechatTurnPermissionMode({} as Capabilities, 'ask'), ).toBe(false); + + expect(() => + createWechatTurnPermissionPolicyForMode('task-3', capabilities, 'bypassPermissions'), + ).toThrow('TURN_PERMISSION_POLICY_UNSUPPORTED:bypassPermissions'); + expect(() => + createWechatTurnPermissionPolicyForMode('task-4', {} as Capabilities, 'ask'), + ).toThrow('TURN_PERMISSION_POLICY_UNSUPPORTED:ask'); + expect(createWechatTurnPermissionPolicyForMode('task-5', capabilities, 'auto').origin).toEqual({ + kind: 'im', + channel: 'wechat', + taskId: 'task-5', + }); }); }); diff --git a/apps/desktop/src/main/im/wechat/adapter.ts b/apps/desktop/src/main/im/wechat/adapter.ts index 62779a2596c..5d66e1776e9 100644 --- a/apps/desktop/src/main/im/wechat/adapter.ts +++ b/apps/desktop/src/main/im/wechat/adapter.ts @@ -1,5 +1,3 @@ -import type { RichChannelIM } from '@cindy/im'; - import type { ImChannelAdapter, ImOrchestratorConfig } from '../shared/types'; import { resolveWechatWorkingDir } from './channelSettings'; import { ui } from './uiText'; @@ -15,10 +13,7 @@ export function buildWechatAdapter( ): ImChannelAdapter { return { channel: 'wechat', - // The shared adapter type still includes rich-card methods. WechatIM makes - // those methods fail closed, while this output discriminator guarantees - // normal turn output only invokes commitFinal. - im: wechatIm as RichChannelIM, + im: wechatIm, output: { kind: 'chunked-text', im: wechatIm, diff --git a/apps/desktop/src/main/im/wechat/permissionPolicy.ts b/apps/desktop/src/main/im/wechat/permissionPolicy.ts index 366c5c94384..608f2c786f6 100644 --- a/apps/desktop/src/main/im/wechat/permissionPolicy.ts +++ b/apps/desktop/src/main/im/wechat/permissionPolicy.ts @@ -6,6 +6,9 @@ import type { import { checkDestructiveToolCall } from '../../destructiveGuard'; +export const WECHAT_TURN_PERMISSION_POLICY_UNSUPPORTED = + 'TURN_PERMISSION_POLICY_UNSUPPORTED'; + function record(value: unknown): Record | null { if (!value || typeof value !== 'object' || Array.isArray(value)) return null; return value as Record; @@ -70,3 +73,15 @@ export function supportsWechatTurnPermissionMode( !policy.unsupportedPermissionModes.includes(mode) ); } + +export function createWechatTurnPermissionPolicyForMode( + taskId: string, + capabilities: Capabilities, + mode: PermissionMode, + options?: Parameters[1], +): TurnPermissionPolicy { + if (!supportsWechatTurnPermissionMode(capabilities, mode)) { + throw new Error(`${WECHAT_TURN_PERMISSION_POLICY_UNSUPPORTED}:${mode}`); + } + return createWechatTurnPermissionPolicy(taskId, options); +} diff --git a/apps/desktop/src/main/im/wecom/__tests__/textInteractions.test.ts b/apps/desktop/src/main/im/wecom/__tests__/textInteractions.test.ts new file mode 100644 index 00000000000..ca9796c4a8d --- /dev/null +++ b/apps/desktop/src/main/im/wecom/__tests__/textInteractions.test.ts @@ -0,0 +1,131 @@ +import type { InteractionRequest } from '@cindy/maker-core'; +import type { IMMessageEvent, IMStatus, WecomIM } from '@cindy/im'; +import { describe, expect, it, vi } from 'vitest'; + +import { formatWecomInteractionPrompt, WecomTextInteractions } from '../textInteractions'; + +function permissionRequest(input: Record): InteractionRequest { + return { + kind: 'permission', + requestId: 'permission-1', + toolName: 'Bash', + displayName: '运行命令', + input, + }; +} + +describe('formatWecomInteractionPrompt', () => { + it('在允许用户审批前展示工具参数', () => { + const prompt = formatWecomInteractionPrompt( + permissionRequest({ + command: 'pnpm test', + path: 'D:\\workspace\\cindy', + }), + ); + + expect(prompt).toContain('需要确认工具“运行命令”'); + expect(prompt).toContain('"command": "pnpm test"'); + expect(prompt).toContain('"path": "D:\\\\workspace\\\\cindy"'); + expect(prompt).toContain('回复“允许”执行一次'); + }); + + it('截断过长参数,避免审批提示无限增长', () => { + const prompt = formatWecomInteractionPrompt( + permissionRequest({ payload: 'x'.repeat(2_000) }), + ); + + expect(prompt).toContain('…(已截断)'); + expect(prompt).not.toContain('x'.repeat(1_000)); + expect(prompt.length).toBeLessThan(1_100); + }); + + it('参数无法序列化时显示明确占位', () => { + const input: Record = {}; + input.self = input; + + expect(formatWecomInteractionPrompt(permissionRequest(input))).toContain('<无法序列化>'); + }); + + it('保留模板 Markdown,并阻止参数内容闭合代码围栏', () => { + const prompt = formatWecomInteractionPrompt( + permissionRequest({ command: '```markdown\n@all' }), + ); + + expect(prompt.match(/```/g)).toHaveLength(2); + expect(prompt).toContain('\\u0060\\u0060\\u0060markdown'); + }); + + it('通过 Markdown 通道发送审批模板,并在终止状态下拒绝待审批请求', async () => { + const sendMarkdownText = vi.fn(async () => ({ messageId: 'message-1' })); + const sendText = vi.fn(async () => ({ messageId: 'message-2' })); + const onStatusChange = vi.fn((handler: (status: IMStatus) => void) => { + void handler; + return () => undefined; + }); + const im = { + onTextMessageIntercept: vi.fn(() => () => undefined), + onStatusChange, + sendMarkdownText, + sendText, + } as unknown as WecomIM; + const interactions = new WecomTextInteractions(im); + + const statusHandler = onStatusChange.mock.calls[0]?.[0]; + expect(statusHandler).toBeDefined(); + const terminalStatuses: IMStatus[] = [ + { kind: 'idle' }, + { kind: 'conflict', appId: 'bot-1' }, + { kind: 'error', reason: 'connection_failed' }, + ]; + + for (const [index, status] of terminalStatuses.entries()) { + const result = interactions.handle('owner', permissionRequest({ command: 'pnpm test' })); + await vi.waitFor(() => expect(sendMarkdownText).toHaveBeenCalledTimes(index + 1)); + statusHandler?.(status); + await expect(result).resolves.toEqual({ + kind: 'permission', + behavior: 'deny', + reason: 'wecom_interaction_disconnected', + }); + } + expect(sendText).not.toHaveBeenCalled(); + }); + + it('待审批时让 !stop 绕过拦截器并收口当前请求', async () => { + let intercept: ((event: IMMessageEvent) => boolean) | undefined; + const sendMarkdownText = vi.fn(async () => ({ messageId: 'message-1' })); + const sendText = vi.fn(async () => ({ messageId: 'message-2' })); + const im = { + onTextMessageIntercept: vi.fn((handler: (event: IMMessageEvent) => boolean) => { + intercept = handler; + return () => undefined; + }), + onStatusChange: vi.fn(() => () => undefined), + sendMarkdownText, + sendText, + } as unknown as WecomIM; + const interactions = new WecomTextInteractions(im); + + const result = interactions.handle('owner', permissionRequest({ command: 'rm -rf build' })); + await vi.waitFor(() => expect(sendMarkdownText).toHaveBeenCalledOnce()); + + const consumed = intercept?.({ + channelName: 'wecom', + senderId: 'owner', + chatId: 'owner', + contextId: 'bot-1', + messageId: 'stop-1', + text: ' !STOP ', + attachments: [], + unsupported: [], + }); + + expect(consumed).toBe(false); + await expect(result).resolves.toEqual({ + kind: 'permission', + behavior: 'deny', + reason: 'wecom_interaction_cancelled_by_stop', + }); + expect(sendText).not.toHaveBeenCalled(); + }); +}); diff --git a/apps/desktop/src/main/im/wecom/__tests__/uiText.test.ts b/apps/desktop/src/main/im/wecom/__tests__/uiText.test.ts new file mode 100644 index 00000000000..d09f153b007 --- /dev/null +++ b/apps/desktop/src/main/im/wecom/__tests__/uiText.test.ts @@ -0,0 +1,13 @@ +import { describe, expect, it } from 'vitest'; + +import { ui } from '../uiText'; + +describe('WeCom UI text', () => { + it('uses 任务 for session-level actions and 对话 for the chat channel', () => { + expect(ui.slash.new).toContain('新任务'); + expect(ui.slash.help).toContain('/new 开始新任务'); + expect(ui.slash.detachedBySlash).toContain('企业微信对话'); + expect(ui.cards.control.sessionPickerHint).toContain('选择任务、创建新任务'); + expect(ui.cards.control.newSessionWelcomePrompts[0]?.('工作区')).toContain('创建新任务'); + }); +}); diff --git a/apps/desktop/src/main/im/wecom/adapter.ts b/apps/desktop/src/main/im/wecom/adapter.ts new file mode 100644 index 00000000000..6f4df7e3ad2 --- /dev/null +++ b/apps/desktop/src/main/im/wecom/adapter.ts @@ -0,0 +1,60 @@ +import fs from 'node:fs'; + +import type { WecomIM } from '@cindy/im'; + +import type { ImChannelAdapter, ImOrchestratorConfig } from '../shared/types'; +import { ownerScopedImUserDataPath } from '../ownerScopedStorage'; +import { ui } from './uiText'; +import type { WecomTextInteractions } from './textInteractions'; + +function ensureWorkingDir(botId: string): string { + const safeBotId = Buffer.from(botId, 'utf8').toString('base64url').slice(0, 96); + const dir = ownerScopedImUserDataPath('im-working-dir', `wecom-${safeBotId}`); + fs.mkdirSync(dir, { recursive: true }); + return dir; +} + +function sessionSafeUserId(userId: string): string { + return Buffer.from(userId, 'utf8').toString('base64url'); +} + +export function buildWecomAdapter( + wecomIm: WecomIM, + interactions: WecomTextInteractions, + config: ImOrchestratorConfig, +): ImChannelAdapter { + return { + channel: 'wecom', + im: wecomIm, + output: { + kind: 'chunked-text', + im: wecomIm, + beginReply: (userId) => wecomIm.beginReply(userId), + commitFinal: (output) => wecomIm.commitFinal(output), + }, + config, + ui, + sessions: { + source: 'wecom', + sessionIdFor: (botId, userId) => + `wecom_${sessionSafeUserId(botId)}_${sessionSafeUserId(userId)}`, + defaultTitle: (userId) => + userId.startsWith('group/') + ? `企微群 · ${userId.slice(-6)}` + : `企业微信 · ${userId.slice(-6)}`, + generatedTitlePrefix: '企业微信 · ', + workspaceKind: 'dialogue', + ensureWorkingDir, + extraInsertColumns: (botId, userId) => ({ + imBotContextId: botId, + imUserId: userId, + }), + }, + processingEmoji: '', + buildVendorOptions: (userId) => ({ + source: 'wecom', + wecomConversationId: userId, + }), + handleTextInteraction: (userId, request) => interactions.handle(userId, request), + }; +} diff --git a/apps/desktop/src/main/im/wecom/index.ts b/apps/desktop/src/main/im/wecom/index.ts new file mode 100644 index 00000000000..c10bfdd569a --- /dev/null +++ b/apps/desktop/src/main/im/wecom/index.ts @@ -0,0 +1,11 @@ +import type { WecomIM } from '@cindy/im'; + +import { createImOrchestrator } from '../shared/orchestrator'; +import type { ImOrchestratorConfig } from '../shared/types'; +import { buildWecomAdapter } from './adapter'; +import { WecomTextInteractions } from './textInteractions'; + +export function wireWecomOrchestrator(wecomIm: WecomIM, config: ImOrchestratorConfig): void { + const interactions = new WecomTextInteractions(wecomIm); + createImOrchestrator(buildWecomAdapter(wecomIm, interactions, config)); +} diff --git a/apps/desktop/src/main/im/wecom/textInteractions.ts b/apps/desktop/src/main/im/wecom/textInteractions.ts new file mode 100644 index 00000000000..94f79692f82 --- /dev/null +++ b/apps/desktop/src/main/im/wecom/textInteractions.ts @@ -0,0 +1,181 @@ +import type { InteractionDecision, InteractionRequest } from '@cindy/maker-core'; +import { escapeWecomMarkdown, type IMMessageEvent, type WecomIM } from '@cindy/im'; + +import { isStopCommand } from '../shared/controlCommands'; + +interface PendingInteraction { + request: InteractionRequest; + resolve: (decision: InteractionDecision) => void; + timer: ReturnType; +} + +const INTERACTION_TIMEOUT_MS = 10 * 60_000; +const MAX_PERMISSION_INPUT_PREVIEW = 800; + +export class WecomTextInteractions { + private readonly pending = new Map(); + + constructor(private readonly im: WecomIM) { + im.onTextMessageIntercept((event) => this.consume(event)); + im.onStatusChange((status) => { + if (status.kind === 'idle' || status.kind === 'conflict' || status.kind === 'error') { + this.cancelAll('wecom_interaction_disconnected'); + } + }); + } + + async handle(userId: string, request: InteractionRequest): Promise { + const previous = this.pending.get(userId); + if (previous) { + clearTimeout(previous.timer); + previous.resolve(defaultDecision(previous.request, 'replaced_by_new_request')); + } + + let resolvePending!: (decision: InteractionDecision) => void; + const result = new Promise((resolve) => { + resolvePending = resolve; + }); + const timer = setTimeout(() => { + this.pending.delete(userId); + resolvePending(defaultDecision(request, 'wecom_interaction_timeout')); + }, INTERACTION_TIMEOUT_MS); + timer.unref?.(); + this.pending.set(userId, { request, resolve: resolvePending, timer }); + + try { + await this.im.sendMarkdownText(userId, formatWecomInteractionPrompt(request)); + } catch (error) { + const current = this.pending.get(userId); + if (current?.request.requestId === request.requestId) { + clearTimeout(current.timer); + this.pending.delete(userId); + } + return defaultDecision( + request, + error instanceof Error ? error.message : 'wecom_interaction_send_failed', + ); + } + return result; + } + + private cancelAll(reason: string): void { + for (const pending of this.pending.values()) { + clearTimeout(pending.timer); + pending.resolve(defaultDecision(pending.request, reason)); + } + this.pending.clear(); + } + + private consume(event: IMMessageEvent): boolean { + const pending = this.pending.get(event.senderId); + if (!pending) return false; + if (isStopCommand(event.text)) { + clearTimeout(pending.timer); + this.pending.delete(event.senderId); + pending.resolve(defaultDecision(pending.request, 'wecom_interaction_cancelled_by_stop')); + return false; + } + const decision = parseReply(pending.request, event.text); + if (!decision) { + void this.im.sendText( + event.senderId, + '回复格式不正确。请按上一条消息提示回复;权限确认只支持“允许”或“拒绝”。', + ); + return true; + } + clearTimeout(pending.timer); + this.pending.delete(event.senderId); + pending.resolve(decision); + void this.im.sendText(event.senderId, '已收到你的选择,继续处理。'); + return true; + } +} + +function previewPermissionInput(input: Record): string { + try { + const json = JSON.stringify(input, null, 2); + if (!json) return '<无法序列化>'; + const preview = json.length > MAX_PERMISSION_INPUT_PREVIEW + ? `${json.slice(0, MAX_PERMISSION_INPUT_PREVIEW)}\n…(已截断)` + : json; + // Keep the surrounding template fence intact even when a string value + // contains model-controlled backticks. JSON's unicode escape stays valid. + return preview.replaceAll('`', '\\u0060'); + } catch { + return '<无法序列化>'; + } +} + +export function formatWecomInteractionPrompt(request: InteractionRequest): string { + if (request.kind === 'permission') { + const toolName = escapeWecomMarkdown(request.displayName ?? request.toolName); + return `需要确认工具“${toolName}”。 + +参数: +\`\`\`json +${previewPermissionInput(request.input)} +\`\`\` + +回复“允许”执行一次,或回复“拒绝”取消本次操作。企业微信内不支持永久授权。`; + } + if (request.kind === 'plan_review') { + const plan = request.plan.length > 6_000 ? `${request.plan.slice(0, 6_000)}…` : request.plan; + return `Agent 提交了一份执行计划: + +${plan} + +回复“批准”继续,或回复“拒绝”取消。`; + } + const question = request.questions[0]; + if (!question) return 'Agent 正在等待你的回答,但没有可显示的问题。请回复“继续”。'; + const options = (question.options ?? []) + .slice(0, 9) + .map((option, index) => `${index + 1}. ${escapeWecomMarkdown(option.label)}`) + .join('\n'); + return `Agent 需要你的回答: +${escapeWecomMarkdown(question.question)} +${options ? `\n${options}\n` : ''} +请回复选项序号,或直接输入你的回答。`; +} + +function defaultDecision(request: InteractionRequest, reason: string): InteractionDecision { + if (request.kind === 'ask_user_question') { + return { kind: 'ask_user_question', answers: {} }; + } + if (request.kind === 'plan_review') { + return { kind: 'plan_review', behavior: 'deny', reason }; + } + return { kind: 'permission', behavior: 'deny', reason }; +} + +function parseReply(request: InteractionRequest, rawText: string): InteractionDecision | null { + const text = rawText.trim(); + if (!text) return null; + const normalized = text.toLowerCase(); + if (request.kind === 'permission') { + if (['允许', '同意', '确认', 'allow', 'yes', 'y'].includes(normalized)) { + return { kind: 'permission', behavior: 'allow' }; + } + if (['拒绝', '不允许', '取消', 'deny', 'no', 'n'].includes(normalized)) { + return { kind: 'permission', behavior: 'deny', reason: 'wecom_user_denied' }; + } + return null; + } + if (request.kind === 'plan_review') { + if (['批准', '同意', '确认', '继续', 'approve', 'allow', 'yes', 'y'].includes(normalized)) { + return { kind: 'plan_review', behavior: 'allow' }; + } + if (['拒绝', '取消', 'deny', 'no', 'n'].includes(normalized)) { + return { kind: 'plan_review', behavior: 'deny', reason: 'wecom_user_denied' }; + } + return null; + } + const question = request.questions[0]; + if (!question) return { kind: 'ask_user_question', answers: {} }; + const index = Number.parseInt(text, 10); + const option = Number.isInteger(index) && index >= 1 ? question.options?.[index - 1] : undefined; + return { + kind: 'ask_user_question', + answers: { [question.question]: option?.label ?? text }, + }; +} diff --git a/apps/desktop/src/main/im/wecom/uiText.ts b/apps/desktop/src/main/im/wecom/uiText.ts new file mode 100644 index 00000000000..fb8bc6334ab --- /dev/null +++ b/apps/desktop/src/main/im/wecom/uiText.ts @@ -0,0 +1,138 @@ +import type { IMUnsupportedEntry } from '@cindy/im'; + +import type { ImUiTextPack } from '../shared/types'; + +export const ui = { + slash: { + new: '🌱 新任务已开始,之前的上下文已清空。', + help: `🤖 可用命令: + +/new 开始新任务 +/stop 中止当前任务 +/exctr 结束已有接管 +/help 查看帮助 + +任务运行中可发送 \`!stop\` 中止当前任务并清空排队消息。`, + unknownCommand: (cmd: string) => + `未识别命令 \`${cmd}\`。可用命令:/new、/stop、/exctr、/help`, + detachedBySlash: '🚪 已结束接管,后续消息回到企业微信对话。', + detachedByRevoke: '⚠️ desktop 端已收回接管,后续消息回到企业微信对话。', + notAttached: '当前没有正在接管的任务。', + }, + agent: { + completedNoText: '✅ 任务已完成(本轮没有文本输出)', + runtimeError: (errMsg: string) => `⚠️ Agent 执行失败:${errMsg.slice(0, 200)}`, + sendInternalError: (errMsg: string) => `❌ 消息发送失败:${errMsg}`, + apiKeyMissing: '⚠️ 当前模型尚未完成认证。请在 desktop 的设置中连接模型供应商后重试。', + authMissing: ({ providerLabel, providerId, missing, agentKind, model, attached }) => { + const provider = providerLabel ?? providerId ?? '当前供应商'; + const reason = + missing === 'gateway-key' + ? '需要先配置 Cindy AI Key' + : missing === 'provider-key' + ? '尚未配置该供应商的 API Key' + : missing === 'provider-disconnected' + ? '连接已断开或失效' + : `需要先登录 ${agentKind}`; + const message = `⚠️ 当前企业微信对话使用「${provider}」(${model}),${reason}。`; + return attached + ? `${message}\n请在 desktop 修复认证后继续发送消息。` + : `${message}\n修改后请发送 \`/new\` 开始新任务。`; + }, + controlInProgress: '🎮 接管选择尚未完成,请先处理上一条交互消息。', + credentialBusy: '⏳ 本地 Agent 正在运行,暂时不能切换凭证模式,请稍后重试。', + queuedNotice: (position: number) => + position <= 1 + ? '⏳ 上一轮仍在运行,这条消息已排队。需要中止可发送 `!stop`。' + : `⏳ 上一轮仍在运行,这条消息排在第 ${position} 位。需要中止可发送 \`!stop\`。`, + stopDone: (droppedQueued: number) => + droppedQueued > 0 + ? `⏹ 已中止当前任务,并移除 ${droppedQueued} 条排队消息。` + : '⏹ 已中止当前任务。', + stopIdle: '当前没有正在运行或排队的任务。', + scheduledTaskHeader: (name: string | null) => (name ? `🤖 自动任务「${name}」` : '🤖 自动任务'), + unsupportedOnly: (entries: IMUnsupportedEntry[]) => + `🙏 暂时无法处理这条消息:\n${entries.map((entry) => `• ${entry.label}`).join('\n')}`, + unsupportedNotice: (entries: IMUnsupportedEntry[]) => + `ℹ️ 以下内容未能处理:\n${entries.map((entry) => `• ${entry.label}`).join('\n')}\n\n其它内容将继续处理。`, + }, + cards: { + permission: { + title: (toolName: string) => `🔧 工具调用:${toolName}`, + paramsLabel: '**参数预览**', + btnAllowOnce: '✅ 仅本次允许', + btnAllowAlways: '✅ 总是允许', + btnDeny: '❌ 拒绝', + resolvedAllowOnce: '✅ 已允许(仅本次)', + resolvedAllowAlways: '✅ 已允许(以后均允许)', + resolvedDeny: '❌ 已拒绝', + }, + ask: { + title: (header: string) => `❓ ${header}`, + noOptionsHint: '_请直接回复文字。_', + resolved: (optionLabel: string) => `✅ 已选择:${optionLabel}`, + }, + plan: { + title: '📋 执行计划', + btnApprove: '✅ 批准', + btnReject: '❌ 拒绝', + resolvedApproved: '✅ 已批准', + resolvedRejected: '❌ 已拒绝', + }, + model: { + title: '🤖 切换模型', + currentLine: (label: string, effort: string | null, description: string) => + effort + ? `**当前**:${label} · effort \`${effort}\`\n_${description}_` + : `**当前**:${label}\n_${description}_`, + hint: '请选择要使用的模型。', + optionLabel: (providerName: string, label: string, effort: string | null) => + effort ? `${providerName} / ${label} · ${effort}` : `${providerName} / ${label}`, + resolved: (label: string, effort: string | null) => + effort ? `✅ 已切换到 ${label}(effort:${effort})` : `✅ 已切换到 ${label}`, + failed: (reason: string) => `❌ 模型切换失败:${reason}`, + }, + permissionMode: { + title: '🛡️ 调整权限模式', + currentLine: (label: string, description: string) => `**当前**:${label}\n_${description}_`, + hint: '请选择权限模式。', + optionLabel: (label: string) => label, + resolved: (label: string) => `✅ 权限模式已切换到 ${label}`, + failed: (reason: string) => `❌ 权限模式切换失败:${reason}`, + fullAccessConfirmTitle: '⚠️ 确认开启 Full access?', + fullAccessConfirmBody: + 'Full access 会关闭工作区沙箱并跳过常规审批。Cindy 可以修改工作区外文件并执行联网命令;内置高风险操作仍会要求确认。', + btnConfirmFullAccess: '开启 Full access', + btnCancelFullAccess: '保留当前权限', + fullAccessCancelled: '已取消,保留当前权限', + }, + control: { + title: '🎮 选择工作区', + emptyBody: '_暂时没有可接管的工作区,请先在 desktop 创建任务。_', + hint: '选择工作区继续,或退出本次操作。', + attachedSwitchHint: (sessionTitle: string) => `当前正在接管:**${sessionTitle}**`, + btnExit: '🚪 退出', + resolvedExit: '🚪 已退出接管', + sessionPickerTitle: (displayName: string) => `🎮 ${displayName} 中的任务`, + sessionPickerHint: '选择任务、创建新任务或返回上一步。', + sessionPickerEmptyBody: (displayName: string) => `_${displayName} 中暂时没有可用任务。_`, + btnNew: '➕ 新建', + btnBack: '↩️ 返回', + resolvedSessionPick: (sessionTitle: string, workspaceName: string) => + `🎯 已接管 **${sessionTitle}**(${workspaceName})`, + resolvedNewSession: (workspaceName: string) => `✨ 已在 **${workspaceName}** 新建并接管任务`, + attachFailed: (reason: string) => `❌ 接管失败:${reason}`, + sessionBusyOldCardPlaceholder: '⏳ 该任务仍在运行,请稍后重试。', + sessionBusyPrompts: [ + (sessionTitle: string) => `⏳ **${sessionTitle}** 正在运行,请等待当前回合结束。`, + ], + takeoverLoadingPrompts: [(sessionTitle: string) => `⏳ 正在接管 **${sessionTitle}**…`], + sessionAttachedOneshotPrompts: [ + '我已从企业微信接管此任务。请简要同步当前进度,并询问下一步指令。', + ], + newSessionWelcomePrompts: [ + (workspaceName: string) => `✨ 已在 **${workspaceName}** 创建新任务,可以发送第一条指令。`, + ], + }, + }, +} satisfies ImUiTextPack; diff --git a/apps/desktop/src/main/localDb/mapper.ts b/apps/desktop/src/main/localDb/mapper.ts index 4419bffe9cd..46f48adfd18 100644 --- a/apps/desktop/src/main/localDb/mapper.ts +++ b/apps/desktop/src/main/localDb/mapper.ts @@ -443,8 +443,8 @@ function normalizeWorkspaceKind(raw: unknown): WorkspaceKind { // 与 IPC 边界由 mapper 转 ISO 的旧约定刻意不一致;scheduler 引擎内部就是 ms 算的)。 // // 关键约束(Phase 2 plan 硬规则): -// 1. `Schedule.notify` 在内存里是嵌套对象 `{ desktop, feishu }`,DB 端拆成 -// `notify_desktop` / `notify_feishu` 两列;mapper 出口合成回对象,入口拆成两列。 +// 1. `Schedule.notify` 在内存里是嵌套对象 `{ desktop, feishu, wecomGroup? }`, +// DB 端拆成三列;mapper 出口合成回对象,入口拆成对应列。 // 2. patch mapper(`schedulePatchToRow`)必须区分: // - key 不存在 → SQL 不更新该列 // - key 存在但值是 undefined → 显式写 NULL @@ -555,6 +555,7 @@ export function scheduleToCamel(row: ScheduleRow): Schedule { notify: { desktop: !!row.notifyDesktop, feishu: !!row.notifyFeishu, + ...(row.notifyWecomGroup ? { wecomGroup: true } : {}), }, status: row.status as ScheduleStatus, createdAt: row.createdAt, @@ -599,6 +600,7 @@ export function scheduleCreateToRow(s: Schedule): ScheduleInsert { preRunHookTimeoutMs: s.preRunHook?.timeoutMs ?? null, notifyDesktop: s.notify.desktop, notifyFeishu: s.notify.feishu, + notifyWecomGroup: s.notify.wecomGroup === true, status: s.status, createdAt: s.createdAt, updatedAt: s.updatedAt, @@ -654,10 +656,17 @@ export function schedulePatchToRow(patch: Partial): Partial { ).toBe('desktop-session'); }); - it.each(['feishu', 'discord', 'slack-hook', 'telegram'])( + it.each(['feishu', 'discord', 'slack-hook', 'telegram', 'wecom'])( 'treats %s turns as non-interactive even when they have a business session id', (source) => { expect( diff --git a/apps/desktop/src/main/mcp-integrations/ghostSetupInteractionSurface.ts b/apps/desktop/src/main/mcp-integrations/ghostSetupInteractionSurface.ts index 385b4683575..6a1dc19bbd1 100644 --- a/apps/desktop/src/main/mcp-integrations/ghostSetupInteractionSurface.ts +++ b/apps/desktop/src/main/mcp-integrations/ghostSetupInteractionSurface.ts @@ -9,6 +9,7 @@ const NON_DESKTOP_SETUP_SOURCES = new Set([ 'discord', 'slack-hook', 'telegram', + 'wecom', ]); const headlessTurnDepthBySession = new Map(); diff --git a/apps/desktop/src/main/notificationService.ts b/apps/desktop/src/main/notificationService.ts index a119e5a5500..646d4ef1fc2 100644 --- a/apps/desktop/src/main/notificationService.ts +++ b/apps/desktop/src/main/notificationService.ts @@ -96,10 +96,10 @@ function buildBody(kind: SessionEventKind): string { } /** - * 飞书私聊文案 — 单行纯文本(lark_md 渲染),保持极简,与桌面 toast 信息一致。 - * 标题 + 状态合并到一行,避免飞书消息列表里显得空荡。 + * 外部通知通用文案 — 单行纯文本,保持极简并与桌面 toast 信息一致。 + * 标题 + 状态合并到一行,适用于飞书私聊和企微群消息列表。 */ -function buildFeishuText(title: string, kind: SessionEventKind): string { +function buildExternalNotificationText(title: string, kind: SessionEventKind): string { const status = kind === 'needs-reply' ? '需要你回复' : kind === 'error' @@ -309,7 +309,7 @@ async function sendFeishuMessage( return; } try { - await feishuIm.sendMarkdownText(ownerOpenId, buildFeishuText(safeTitle, kind)); + await feishuIm.sendMarkdownText(ownerOpenId, buildExternalNotificationText(safeTitle, kind)); } catch (err) { // 飞书 SDK 包了一层 axios; 400 等业务错误的真正 message 在 response.data 里, // 显式拆出来 log。与 scheduler-host/notifier.ts 的 catch 写法对齐。 diff --git a/apps/desktop/src/main/scheduler-host/__tests__/notifier.test.ts b/apps/desktop/src/main/scheduler-host/__tests__/notifier.test.ts index 32f55713c46..c0a4ed8c8c3 100644 --- a/apps/desktop/src/main/scheduler-host/__tests__/notifier.test.ts +++ b/apps/desktop/src/main/scheduler-host/__tests__/notifier.test.ts @@ -37,13 +37,16 @@ function run(status: ScheduleRun['status']): ScheduleRun { function createNotifier(opts?: { sendMarkdownText?: ReturnType; shouldNotifyDesktop?: () => boolean; + publishMarkdown?: ReturnType; }): { notifier: DesktopNotifier; sendMarkdownText: ReturnType; warn: ReturnType; + publishMarkdown: ReturnType; } { const sendMarkdownText = opts?.sendMarkdownText ?? vi.fn(async () => ({ messageId: 'msg-1' })); const warn = vi.fn(); + const publishMarkdown = opts?.publishMarkdown ?? vi.fn(async () => undefined); const notifier = new DesktopNotifier({ getMainWindow: () => null as BrowserWindow | null, feishuIm: { @@ -52,8 +55,9 @@ function createNotifier(opts?: { } as unknown as FeishuIM, logger: { warn }, shouldNotifyDesktop: opts?.shouldNotifyDesktop ?? (() => true), + wecomGroupPublisher: { publishMarkdown }, }); - return { notifier, sendMarkdownText, warn }; + return { notifier, sendMarkdownText, warn, publishMarkdown }; } describe('DesktopNotifier desktop status mapping', () => { @@ -172,4 +176,48 @@ describe('DesktopNotifier desktop status mapping', () => { ); expect(warn).toHaveBeenCalledWith('feishu notify failed', sendError); }); + + it('sends a WeCom group notification and keeps failures non-fatal', async () => { + const sendError = new Error('Webhook unavailable'); + const publishMarkdown = vi + .fn() + .mockResolvedValueOnce(undefined) + .mockRejectedValueOnce(sendError); + const { notifier, warn } = createNotifier({ publishMarkdown }); + const groupSchedule = { + ...schedule, + notify: { desktop: false, feishu: false, wecomGroup: true }, + } as Schedule; + + await notifier.notify(groupSchedule, { ...run('success'), resultText: '检查通过' }); + expect(publishMarkdown).toHaveBeenCalledWith(expect.stringContaining('检查通过')); + expect(sendMobileSessionNotify).not.toHaveBeenCalled(); + + await expect(notifier.notify(groupSchedule, run('failed'))).resolves.toBeUndefined(); + expect(warn).toHaveBeenCalledWith('WeCom group notify failed', sendError); + expect(sendMobileSessionNotify).not.toHaveBeenCalled(); + }); + + it('does not expose local attachment references in WeCom group notifications', async () => { + const { notifier, publishMarkdown } = createNotifier(); + const groupSchedule = { + ...schedule, + notify: { desktop: false, feishu: false, wecomGroup: true }, + } as Schedule; + + await notifier.notify(groupSchedule, { + ...run('success'), + resultText: [ + '检查完成', + '[报告](xdt-file:///C:/private/report.txt)', + '![截图](cindy-media://blobs/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.png)', + ].join('\n'), + }); + + const published = String(publishMarkdown.mock.calls[0]?.[0]); + expect(published).toContain('检查完成'); + expect(published).not.toContain('xdt-file://'); + expect(published).not.toContain('cindy-media://'); + expect(published).not.toContain('C:/private/report.txt'); + }); }); diff --git a/apps/desktop/src/main/scheduler-host/__tests__/project-automation-loader.test.ts b/apps/desktop/src/main/scheduler-host/__tests__/project-automation-loader.test.ts new file mode 100644 index 00000000000..5c8292e6d2f --- /dev/null +++ b/apps/desktop/src/main/scheduler-host/__tests__/project-automation-loader.test.ts @@ -0,0 +1,77 @@ +import { describe, expect, it } from 'vitest'; + +import type { Schedule } from '@cindy/maker-scheduler'; + +import { + __testing, + schedulesDiffer, + type ProjectScheduleConfig, +} from '../project-automation-loader'; + +const workingDir = 'C:\\project'; + +function projectConfig(overrides: Partial = {}): ProjectScheduleConfig { + return { + id: 'daily', + name: 'Daily', + prompt: 'Run checks', + cronExpr: '0 9 * * *', + notify: { desktop: true, feishu: false }, + ...overrides, + }; +} + +function projectSchedule(notify: Schedule['notify']): Schedule { + return { + id: 'schedule-1', + name: 'Daily', + prompt: 'Run checks', + source: 'project', + projectConfigId: 'daily', + kind: 'cron', + cronExpr: '0 9 * * *', + timezone: 'Asia/Shanghai', + recurring: true, + manual: false, + agentKind: 'claude-code', + workspaceKind: 'project', + workingDir, + useWorktree: false, + persistentSession: false, + silentWhenIdle: false, + notify, + status: 'active', + createdAt: 1, + updatedAt: 1, + }; +} + +describe('project automation WeCom group notification reconciliation', () => { + it('emits an explicit false update when the project disables the channel', () => { + const input = __testing.scheduleConfigToUpdateInput( + projectConfig({ notify: { desktop: true, feishu: false, wecomGroup: false } }), + workingDir, + ); + + expect(input.notify).toEqual({ + desktop: true, + feishu: false, + wecomGroup: false, + }); + }); + + it('updates a previously enabled channel and stays stable after it is disabled', () => { + const config = projectConfig(); + + expect( + schedulesDiffer( + projectSchedule({ desktop: true, feishu: false, wecomGroup: true }), + config, + workingDir, + ), + ).toBe(true); + expect( + schedulesDiffer(projectSchedule({ desktop: true, feishu: false }), config, workingDir), + ).toBe(false); + }); +}); diff --git a/apps/desktop/src/main/scheduler-host/__tests__/storage.db.test.ts b/apps/desktop/src/main/scheduler-host/__tests__/storage.db.test.ts index dfb5bee4aad..f01d9887e69 100644 --- a/apps/desktop/src/main/scheduler-host/__tests__/storage.db.test.ts +++ b/apps/desktop/src/main/scheduler-host/__tests__/storage.db.test.ts @@ -153,6 +153,7 @@ const SCHEDULER_DDL = [ skip_log_session_id TEXT REFERENCES sessions(id) ON DELETE SET NULL, notify_desktop INTEGER NOT NULL DEFAULT 1, notify_feishu INTEGER NOT NULL DEFAULT 0, + notify_wecom_group INTEGER NOT NULL DEFAULT 0, status TEXT NOT NULL DEFAULT 'active', created_at INTEGER NOT NULL, updated_at INTEGER NOT NULL, diff --git a/apps/desktop/src/main/scheduler-host/__tests__/storage.test.ts b/apps/desktop/src/main/scheduler-host/__tests__/storage.test.ts index db16fb96742..27fde5eaa2a 100644 --- a/apps/desktop/src/main/scheduler-host/__tests__/storage.test.ts +++ b/apps/desktop/src/main/scheduler-host/__tests__/storage.test.ts @@ -207,10 +207,20 @@ describe('schedulePatchToRow — patch 清空语义', () => { expect(out.lastFiredAt).toBeNull(); }); - it('notify 嵌套对象整体替换 → 拆两列', () => { + it('notify 对象只更新调用方实际提供的渠道', () => { const out = schedulePatchToRow({ notify: { desktop: false, feishu: true } }); expect(out.notifyDesktop).toBe(false); expect(out.notifyFeishu).toBe(true); + expect('notifyWecomGroup' in out).toBe(false); + }); + + it('notify 显式清空时关闭全部渠道', () => { + const out = schedulePatchToRow({ + notify: undefined, + }); + expect(out.notifyDesktop).toBe(false); + expect(out.notifyFeishu).toBe(false); + expect(out.notifyWecomGroup).toBe(false); }); it('workspaceKind patch 写 workspace_kind 列', () => { diff --git a/apps/desktop/src/main/scheduler-host/index.ts b/apps/desktop/src/main/scheduler-host/index.ts index d686000a414..95c9eb25d1c 100644 --- a/apps/desktop/src/main/scheduler-host/index.ts +++ b/apps/desktop/src/main/scheduler-host/index.ts @@ -45,6 +45,7 @@ import { ScriptScheduleRunner } from './script-runner'; import { SchedulerScriptCapabilityBroker } from './script-capability-broker'; import { DesktopNotifier } from './notifier'; import { withScheduleLock } from './scheduleLock'; +import { wecomGroupNotificationService } from '../wecomGroupNotification'; export interface StartSchedulerDeps { maker: Maker; @@ -71,6 +72,7 @@ export async function startScheduler(deps: StartSchedulerDeps): Promise getDesktopNotificationsEnabled() && !(getAgentIslandService()?.isEnabled() ?? false), + wecomGroupPublisher: wecomGroupNotificationService, }); const promptRunner = new MakerScheduleRunner({ maker: deps.maker, diff --git a/apps/desktop/src/main/scheduler-host/notifier.ts b/apps/desktop/src/main/scheduler-host/notifier.ts index 85df0ebdc3d..ff76483310f 100644 --- a/apps/desktop/src/main/scheduler-host/notifier.ts +++ b/apps/desktop/src/main/scheduler-host/notifier.ts @@ -12,13 +12,14 @@ import type { BrowserWindow } from 'electron'; import type { Notifier, Schedule, ScheduleRun } from '@cindy/maker-scheduler'; -import type { FeishuIM } from '@cindy/im'; +import { stripXdtFileLinks, stripXdtImageLinks, type FeishuIM } from '@cindy/im'; import type { Logger } from '@cindy/maker-scheduler'; import { stripTrailingPathSeparators } from '../../shared/pathText'; import { showDesktopSessionEvent } from '../notificationService'; import { getMobileNotifyGeneration, sendMobileSessionNotify } from '../device-link'; +import type { WecomGroupNotificationPublisher } from '../wecomGroupNotification'; export interface DesktopNotifierDeps { getMainWindow: () => BrowserWindow | null; @@ -26,6 +27,7 @@ export interface DesktopNotifierDeps { logger: Logger; /** Global desktop preference and Agent Island arbitration, evaluated at send time. */ shouldNotifyDesktop: () => boolean; + wecomGroupPublisher?: WecomGroupNotificationPublisher; } export class DesktopNotifier implements Notifier { @@ -49,10 +51,15 @@ export class DesktopNotifier implements Notifier { this.deps.logger.warn?.('feishu notify failed', err); } } - // 手机推送随 schedule 的通知意愿走:desktop / feishu 全关表示用户不想被这个 - // 调度打扰,mobile 不得绕过(schedule 级暂无独立 mobile 开关,任一通道开启即 - // 视为允许提醒);是否真的收到仍由手机端注册 token 决定,发送侧防打扰在 - // device-link 模块收口,失败静默。 + if (schedule.notify.wecomGroup && this.deps.wecomGroupPublisher) { + try { + await this.deps.wecomGroupPublisher.publishMarkdown(renderExternalMessage(schedule, run)); + } catch (err) { + this.deps.logger.warn?.('WeCom group notify failed', err); + } + } + // 手机推送只跟随个人通知通道:desktop / feishu 全关表示用户不想被这个调度 + // 单独打扰。wecomGroup 是共享群通知,不能隐式开启个人移动推送。 if (run.sessionId && (schedule.notify.desktop || schedule.notify.feishu)) { try { // 正文带运行结果摘要(与飞书卡片同源素材):成功给 resultText,失败给 @@ -92,7 +99,7 @@ export class DesktopNotifier implements Notifier { ); return; } - const text = renderFeishuMessage(schedule, run); + const text = renderExternalMessage(schedule, run); try { await this.deps.feishuIm.sendMarkdownText(ownerOpenId, text); } catch (err) { @@ -109,7 +116,7 @@ export class DesktopNotifier implements Notifier { } /** - * 把 ScheduleRun 渲染成飞书 lark_md 卡片文案。 + * 把 ScheduleRun 渲染成外部通知通用文案。 * * 视觉布局(从上到下): * 1. 状态标题 — ` ` 加粗,emoji 据 status 区分 @@ -117,11 +124,11 @@ export class DesktopNotifier implements Notifier { * 3. 元信息 — 时间 · 耗时 · agent · 工作目录(短) * * 格式约束: - * - 用 `**bold**`、列表、emoji,这些 lark_md(div tag) 都支持 - * - URL 直接写,飞书自动识别成可点击链接 - * - 不要带 `code` (cards.ts 里 stripInlineCode 会把 backtick 整对剥掉) + * - 仅使用飞书与企微群消息共同支持的 Markdown 子集:`**bold**`、列表、emoji + * - URL 直接写,由各渠道按自身能力识别 + * - 不使用行内 code,避免渠道渲染与清洗规则产生差异 */ -function renderFeishuMessage(schedule: Schedule, run: ScheduleRun): string { +function renderExternalMessage(schedule: Schedule, run: ScheduleRun): string { const lines: string[] = [`${statusEmoji(run.status)} **${schedule.name}**`]; if (run.status === 'failed' && run.errorMsg) { @@ -132,7 +139,8 @@ function renderFeishuMessage(schedule: Schedule, run: ScheduleRun): string { // 完整内容用户可点 "Open session" 看。上限 6000:多 PR 审查汇总这类逐行带 // markdown 链接的正文 1500 会拦腰截断;6000 即使全 CJK(~18KB UTF-8)也在 // 飞书互动卡片 30KB 体积上限内。 - lines.push('', truncate(run.resultText, 6000)); + const safeResultText = stripXdtFileLinks(stripXdtImageLinks(run.resultText)).trim(); + if (safeResultText) lines.push('', truncate(safeResultText, 6000)); } // ── 元信息行(时间 / 耗时 / agent / cwd)──────────────────────────────── diff --git a/apps/desktop/src/main/scheduler-host/project-automation-loader.ts b/apps/desktop/src/main/scheduler-host/project-automation-loader.ts index 51324d32c2a..297bb7e7fec 100644 --- a/apps/desktop/src/main/scheduler-host/project-automation-loader.ts +++ b/apps/desktop/src/main/scheduler-host/project-automation-loader.ts @@ -62,7 +62,7 @@ export interface ProjectScheduleConfig { * 删掉即清空 DB 里的 hook。与 renderer projectAutomationConfig.ts 同形。 */ preRunHook?: { command: string; timeoutMs?: number }; - notify?: { desktop?: boolean; feishu?: boolean }; + notify?: { desktop?: boolean; feishu?: boolean; wecomGroup?: boolean }; } export interface ReconcileResult { @@ -505,7 +505,8 @@ export function schedulesDiffer( (schedule.preRunHook?.command ?? '') !== (expected.preRunHook?.command ?? '') || (schedule.preRunHook?.timeoutMs ?? undefined) !== (expected.preRunHook?.timeoutMs ?? undefined) || schedule.notify.desktop !== expected.notify?.desktop || - schedule.notify.feishu !== expected.notify?.feishu + schedule.notify.feishu !== expected.notify?.feishu || + !!schedule.notify.wecomGroup !== !!expected.notify?.wecomGroup ); } @@ -515,9 +516,14 @@ function normalizeNotify( return { desktop: notify?.desktop ?? true, feishu: notify?.feishu ?? false, + wecomGroup: notify?.wecomGroup ?? false, }; } +export const __testing = { + scheduleConfigToUpdateInput, +}; + function sameWorkingDir(a: string | undefined, b: string): boolean { if (!a) return false; const left = path.resolve(a); @@ -597,8 +603,12 @@ function optionalAgentKind(value: unknown): boolean { function optionalNotify(value: unknown): boolean { if (value === undefined) return true; if (!value || typeof value !== 'object') return false; - const notify = value as { desktop?: unknown; feishu?: unknown }; - return optionalBoolean(notify.desktop) && optionalBoolean(notify.feishu); + const notify = value as { desktop?: unknown; feishu?: unknown; wecomGroup?: unknown }; + return ( + optionalBoolean(notify.desktop) && + optionalBoolean(notify.feishu) && + optionalBoolean(notify.wecomGroup) + ); } function isNodeError(err: unknown): err is NodeJS.ErrnoException { diff --git a/apps/desktop/src/main/skillhub/__tests__/importLocalSkill.pure.test.ts b/apps/desktop/src/main/skillhub/__tests__/importLocalSkill.pure.test.ts index 46f48928af7..5f92ac8614f 100644 --- a/apps/desktop/src/main/skillhub/__tests__/importLocalSkill.pure.test.ts +++ b/apps/desktop/src/main/skillhub/__tests__/importLocalSkill.pure.test.ts @@ -1,3 +1,5 @@ +import path from 'node:path'; + import { describe, expect, it } from 'vitest'; import { @@ -119,17 +121,17 @@ describe('resolveImportInstallPath', () => { it('defaults to global ~/.agents/skills/', () => { expect(resolveImportInstallPath('demo', undefined, home)).toEqual({ - finalDir: '/Users/sam/.agents/skills/demo', + finalDir: path.join(home, '.agents', 'skills', 'demo'), }); expect(resolveImportInstallPath('demo', ' ', home)).toEqual({ - finalDir: '/Users/sam/.agents/skills/demo', + finalDir: path.join(home, '.agents', 'skills', 'demo'), }); }); it('accepts absolute project .agents/skills paths', () => { expect( resolveImportInstallPath('demo', '/repo/.agents/skills/demo', home), - ).toEqual({ finalDir: '/repo/.agents/skills/demo' }); + ).toEqual({ finalDir: path.normalize('/repo/.agents/skills/demo') }); }); it('rejects relative paths, basename mismatch, and non-skill roots', () => { diff --git a/apps/desktop/src/main/wecomGroupNotification.ts b/apps/desktop/src/main/wecomGroupNotification.ts new file mode 100644 index 00000000000..b44e981a858 --- /dev/null +++ b/apps/desktop/src/main/wecomGroupNotification.ts @@ -0,0 +1,337 @@ +import { ipcMain, net } from 'electron'; + +import { + captureImAccountGeneration, + ImAccountScopeClosedError, + isImAccountGenerationCurrent, + runInImAccountGeneration, +} from './im/accountBoundary'; +import { ownerScopedImSecrets } from './im/ownerScopedStorage'; +import { createLogger } from './logger'; +import { assertTrustedAppRendererEvent } from './security/trustedAppRenderer'; + +const log = createLogger('wecom-group-notification'); +const WEBHOOK_SECRET_NAME = 'wecom-group-webhook-url'; +const ENABLED_SETTING_NAME = 'wecom-group-notification-enabled'; +const WEBHOOK_HOST = 'qyapi.weixin.qq.com'; +const WEBHOOK_PATH = '/cgi-bin/webhook/send'; +const REQUEST_TIMEOUT_MS = 10_000; +const MAX_RESPONSE_BYTES = 16 * 1024; +const MAX_MARKDOWN_BYTES = 4_000; +const TEST_MESSAGE_INVALID = 'WECOM_GROUP_TEST_MESSAGE_INVALID'; + +export interface WecomGroupNotificationState { + configured: boolean; + enabled: boolean; + maskedKey?: string; +} + +export interface WecomGroupNotificationPublisher { + publishMarkdown(markdown: string): Promise; +} + +type FetchLike = (input: string, init: RequestInit) => Promise; +type SecretStore = Pick; + +function parseWebhookUrl(raw: string): URL { + const trimmed = raw.trim(); + if (!trimmed || trimmed.length > 2_048) { + throw new Error('WECOM_GROUP_WEBHOOK_INVALID'); + } + + let url: URL; + try { + url = new URL(trimmed); + } catch { + throw new Error('WECOM_GROUP_WEBHOOK_INVALID'); + } + + const queryNames = [...url.searchParams.keys()]; + const key = url.searchParams.get('key'); + if ( + url.protocol !== 'https:' || + url.hostname !== WEBHOOK_HOST || + url.port !== '' || + url.pathname !== WEBHOOK_PATH || + url.username !== '' || + url.password !== '' || + url.hash !== '' || + queryNames.length !== 1 || + queryNames[0] !== 'key' || + !key || + key.length > 256 + ) { + throw new Error('WECOM_GROUP_WEBHOOK_INVALID'); + } + return url; +} + +function maskWebhookKey(url: URL): string { + const key = url.searchParams.get('key') ?? ''; + return key.length <= 4 ? '••••' : `••••${key.slice(-4)}`; +} + +function splitUtf8(text: string, maxBytes = MAX_MARKDOWN_BYTES): string[] { + const chunks: string[] = []; + let current = ''; + let currentBytes = 0; + + for (const char of text) { + const bytes = Buffer.byteLength(char, 'utf8'); + if (current && currentBytes + bytes > maxBytes) { + chunks.push(current); + current = ''; + currentBytes = 0; + } + current += char; + currentBytes += bytes; + } + if (current) chunks.push(current); + return chunks; +} + +function parseTestMessage(raw: unknown): string { + if (typeof raw !== 'string') throw new TypeError('testMessage must be a string'); + const message = raw.trim(); + if (!message || Buffer.byteLength(message, 'utf8') > MAX_MARKDOWN_BYTES) { + throw new Error(TEST_MESSAGE_INVALID); + } + return message; +} + +async function readResponseText(response: Response): Promise { + const reader = response.body?.getReader(); + if (!reader) return ''; + + const parts: Uint8Array[] = []; + let total = 0; + try { + while (true) { + const { value, done } = await reader.read(); + if (done) break; + if (!value) continue; + total += value.byteLength; + if (total > MAX_RESPONSE_BYTES) { + throw new Error('WECOM_GROUP_RESPONSE_TOO_LARGE'); + } + parts.push(value); + } + } finally { + reader.releaseLock(); + } + return Buffer.concat(parts).toString('utf8'); +} + +export class WecomGroupNotificationService implements WecomGroupNotificationPublisher { + private publishTail: Promise = Promise.resolve(); + private configGeneration = 0; + + constructor( + private readonly fetchImpl: FetchLike = (input, init) => net.fetch(input, init), + private readonly secrets: SecretStore = ownerScopedImSecrets, + ) {} + + getState(): WecomGroupNotificationState { + const stored = this.secrets.read(WEBHOOK_SECRET_NAME); + if (!stored) return { configured: false, enabled: false }; + try { + return { + configured: true, + // Existing configurations predate the persisted master switch and + // remain enabled until the user explicitly turns them off. + enabled: this.secrets.read(ENABLED_SETTING_NAME) !== 'false', + maskedKey: maskWebhookKey(parseWebhookUrl(stored)), + }; + } catch { + log.warn('stored webhook URL is invalid; treating it as unconfigured'); + return { configured: false, enabled: false }; + } + } + + setEnabled(enabled: boolean): WecomGroupNotificationState { + this.configGeneration += 1; + const state = this.getState(); + if (!state.configured) throw new Error('WECOM_GROUP_WEBHOOK_NOT_CONFIGURED'); + if (!this.secrets.write(ENABLED_SETTING_NAME, String(enabled))) { + throw new Error('WECOM_GROUP_ENABLED_SAVE_FAILED'); + } + return { ...state, enabled }; + } + + async saveAndTest( + rawUrl: string, + testMessage: string, + isAccountCurrent: () => boolean = () => true, + ): Promise { + const url = parseWebhookUrl(rawUrl); + const message = parseTestMessage(testMessage); + const configGeneration = (this.configGeneration += 1); + await this.enqueue(() => { + if (!isAccountCurrent()) throw new ImAccountScopeClosedError(); + if (configGeneration !== this.configGeneration) { + throw new Error('WECOM_GROUP_CONFIG_CHANGED'); + } + return this.send(url, message); + }); + if (!isAccountCurrent()) { + throw new ImAccountScopeClosedError(); + } + if (configGeneration !== this.configGeneration) { + throw new Error('WECOM_GROUP_CONFIG_CHANGED'); + } + const previousUrl = this.secrets.read(WEBHOOK_SECRET_NAME); + const previousEnabled = this.secrets.read(ENABLED_SETTING_NAME); + const saved = + this.secrets.write(WEBHOOK_SECRET_NAME, url.toString()) && + this.secrets.write(ENABLED_SETTING_NAME, 'true'); + if (!saved) { + this.restoreValue(WEBHOOK_SECRET_NAME, previousUrl); + this.restoreValue(ENABLED_SETTING_NAME, previousEnabled); + throw new Error('WECOM_GROUP_WEBHOOK_SAVE_FAILED'); + } + return { configured: true, enabled: true, maskedKey: maskWebhookKey(url) }; + } + + async test(testMessage: string, isAccountCurrent: () => boolean = () => true): Promise { + const url = this.requireStoredUrl(); + const message = parseTestMessage(testMessage); + const configGeneration = this.configGeneration; + await this.enqueue(() => { + if (!isAccountCurrent()) throw new ImAccountScopeClosedError(); + if (configGeneration !== this.configGeneration) { + throw new Error('WECOM_GROUP_CONFIG_CHANGED'); + } + return this.send(url, message); + }); + } + + clear(): WecomGroupNotificationState { + this.configGeneration += 1; + this.secrets.remove(WEBHOOK_SECRET_NAME); + this.secrets.remove(ENABLED_SETTING_NAME); + return { configured: false, enabled: false }; + } + + async publishMarkdown(markdown: string): Promise { + if (!this.getState().enabled) { + throw new Error('WECOM_GROUP_NOTIFICATIONS_DISABLED'); + } + const accountGeneration = captureImAccountGeneration(); + if (accountGeneration === null) throw new ImAccountScopeClosedError(); + return this.enqueue(async () => { + const chunks = splitUtf8(markdown.trim() || 'Cindy 通知'); + for (const chunk of chunks) { + if (!isImAccountGenerationCurrent(accountGeneration)) { + throw new ImAccountScopeClosedError(); + } + if (!this.getState().enabled) { + throw new Error('WECOM_GROUP_NOTIFICATIONS_DISABLED'); + } + await this.send(this.requireStoredUrl(), chunk); + } + }); + } + + private enqueue(operation: () => Promise): Promise { + const queued = this.publishTail + .catch(() => { + // A failed notification must not block later notifications. + }) + .then(operation); + this.publishTail = queued; + return queued; + } + + private requireStoredUrl(): URL { + const stored = this.secrets.read(WEBHOOK_SECRET_NAME); + if (!stored) throw new Error('WECOM_GROUP_WEBHOOK_NOT_CONFIGURED'); + return parseWebhookUrl(stored); + } + + private restoreValue(name: string, previous: string | null): void { + if (previous === null) this.secrets.remove(name); + else this.secrets.write(name, previous); + } + + private async send(url: URL, markdown: string): Promise { + const response = await this.fetchImpl(url.toString(), { + method: 'POST', + headers: { 'content-type': 'application/json; charset=utf-8' }, + body: JSON.stringify({ msgtype: 'markdown', markdown: { content: markdown } }), + redirect: 'manual', + signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS), + }); + if (response.status >= 300 && response.status < 400) { + throw new Error('WECOM_GROUP_REDIRECT_REJECTED'); + } + + const responseText = await readResponseText(response); + let result: { errcode?: unknown; errmsg?: unknown } = {}; + try { + result = JSON.parse(responseText) as typeof result; + } catch { + throw new Error('WECOM_GROUP_RESPONSE_INVALID'); + } + if (!response.ok || result.errcode !== 0) { + const code = typeof result.errcode === 'number' ? result.errcode : response.status; + throw new Error(`WECOM_GROUP_SEND_FAILED:${code}`); + } + } +} + +export const wecomGroupNotificationService = new WecomGroupNotificationService(); + +export function initWecomGroupNotificationIpc(): void { + const runAccountScoped = ( + operation: (accountGeneration: number) => T | Promise, + ): Promise => { + const accountGeneration = captureImAccountGeneration(); + if (accountGeneration === null) { + return Promise.reject(new ImAccountScopeClosedError()); + } + return runInImAccountGeneration(accountGeneration, async () => operation(accountGeneration)); + }; + + ipcMain.handle('wecomGroupNotification:get-state', (event) => { + assertTrustedAppRendererEvent(event); + return wecomGroupNotificationService.getState(); + }); + ipcMain.handle( + 'wecomGroupNotification:save-and-test', + async (event, webhookUrl: unknown, testMessage: unknown) => { + assertTrustedAppRendererEvent(event); + if (typeof webhookUrl !== 'string') throw new TypeError('webhookUrl must be a string'); + const accountGeneration = captureImAccountGeneration(); + if (accountGeneration === null) throw new ImAccountScopeClosedError(); + return runInImAccountGeneration(accountGeneration, () => + wecomGroupNotificationService.saveAndTest(webhookUrl, parseTestMessage(testMessage), () => + isImAccountGenerationCurrent(accountGeneration), + ), + ); + }, + ); + ipcMain.handle('wecomGroupNotification:test', async (event, testMessage: unknown) => { + assertTrustedAppRendererEvent(event); + return runAccountScoped(async (accountGeneration) => { + await wecomGroupNotificationService.test(parseTestMessage(testMessage), () => + isImAccountGenerationCurrent(accountGeneration), + ); + return { ok: true as const }; + }); + }); + ipcMain.handle('wecomGroupNotification:set-enabled', (event, enabled: unknown) => { + assertTrustedAppRendererEvent(event); + if (typeof enabled !== 'boolean') throw new TypeError('enabled must be a boolean'); + return runAccountScoped(() => wecomGroupNotificationService.setEnabled(enabled)); + }); + ipcMain.handle('wecomGroupNotification:clear', (event) => { + assertTrustedAppRendererEvent(event); + return runAccountScoped(() => wecomGroupNotificationService.clear()); + }); +} + +export const __testing = { + parseWebhookUrl, + parseTestMessage, + splitUtf8, +}; diff --git a/apps/desktop/src/preload/preload.ts b/apps/desktop/src/preload/preload.ts index a2b70c604d9..0b13ee8ca0e 100644 --- a/apps/desktop/src/preload/preload.ts +++ b/apps/desktop/src/preload/preload.ts @@ -394,6 +394,7 @@ const fanOutDiscordBotStatusChange = createIpcFanOut('discordBot:status-change') const fanOutTelegramBotStatusChange = createIpcFanOut('telegramBot:status-change'); const fanOutDingTalkBotStatusChange = createIpcFanOut('dingtalkBot:status-change'); const fanOutDingTalkBotOwnerChange = createIpcFanOut('dingtalkBot:owner-change'); +const fanOutWecomBotStatusChange = createIpcFanOut('wecomBot:status-changed'); // Personal WeChat: main owns auth/polling and broadcasts a credential-free state snapshot. const fanOutWechatBotStateChange = createIpcFanOut('wechatBot:state-changed'); const fanOutVoiceInputEvent = createIpcFanOut('voice-input:event'); @@ -1656,6 +1657,57 @@ contextBridge.exposeInMainWorld('electronAPI', { onOwnerChange: fanOutDingTalkBotOwnerChange, }, + // ── WeCom intelligent bot (Settings → IM Bot → Personal) ── + wecomBot: { + getStatus: (): Promise<{ + status: + | { kind: 'idle' } + | { kind: 'connecting' } + | { kind: 'connected'; appId: string } + | { kind: 'conflict'; appId: string } + | { kind: 'error'; reason: string }; + botId: string | null; + ownerUserId: string | null; + }> => ipcRenderer.invoke('wecomBot:get-status'), + setConfig: (payload: { botId: string; secret: string }): Promise<{ + status: + | { kind: 'idle' } + | { kind: 'connecting' } + | { kind: 'connected'; appId: string } + | { kind: 'conflict'; appId: string } + | { kind: 'error'; reason: string }; + saveErrorStatus?: + | { kind: 'idle' } + | { kind: 'connecting' } + | { kind: 'connected'; appId: string } + | { kind: 'conflict'; appId: string } + | { kind: 'error'; reason: string }; + botId: string | null; + ownerUserId: string | null; + }> => ipcRenderer.invoke('wecomBot:set-config', payload), + reconnect: (): Promise<{ + status: + | { kind: 'idle' } + | { kind: 'connecting' } + | { kind: 'connected'; appId: string } + | { kind: 'conflict'; appId: string } + | { kind: 'error'; reason: string }; + botId: string | null; + ownerUserId: string | null; + }> => ipcRenderer.invoke('wecomBot:reconnect'), + disconnect: (): Promise<{ + status: + | { kind: 'idle' } + | { kind: 'connecting' } + | { kind: 'connected'; appId: string } + | { kind: 'conflict'; appId: string } + | { kind: 'error'; reason: string }; + botId: string | null; + ownerUserId: string | null; + }> => ipcRenderer.invoke('wecomBot:disconnect'), + onStatusChange: fanOutWecomBotStatusChange, + }, + // ── Personal WeChat (Settings → IM Bot → Personal) ── // Renderer receives state only. Authorization URLs and credentials never // cross preload; main opens the Tencent page in the system browser. @@ -2569,6 +2621,23 @@ contextBridge.exposeInMainWorld('electronAPI', { ipcRenderer.invoke('notification:show-session-event', payload), notificationSetDesktopEnabled: (enabled: boolean): Promise<{ ok: true }> => ipcRenderer.invoke('notification:set-desktop-enabled', enabled), + wecomGroupNotification: { + getState: (): Promise<{ configured: boolean; enabled: boolean; maskedKey?: string }> => + ipcRenderer.invoke('wecomGroupNotification:get-state'), + saveAndTest: ( + webhookUrl: string, + testMessage: string, + ): Promise<{ configured: boolean; enabled: boolean; maskedKey?: string }> => + ipcRenderer.invoke('wecomGroupNotification:save-and-test', webhookUrl, testMessage), + test: (testMessage: string): Promise<{ ok: true }> => + ipcRenderer.invoke('wecomGroupNotification:test', testMessage), + setEnabled: ( + enabled: boolean, + ): Promise<{ configured: boolean; enabled: boolean; maskedKey?: string }> => + ipcRenderer.invoke('wecomGroupNotification:set-enabled', enabled), + clear: (): Promise<{ configured: boolean; enabled: boolean }> => + ipcRenderer.invoke('wecomGroupNotification:clear'), + }, notificationMarkSessionAttention: (sessionId: string): Promise => ipcRenderer.invoke('notification:mark-session-attention', sessionId), // intent:'explicit' = 用户真实看到了内容(报错 banner 聚焦驻留 / 全部标为已读等); diff --git a/apps/desktop/src/renderer/__tests__/automationGeneratedSessions.test.ts b/apps/desktop/src/renderer/__tests__/automationGeneratedSessions.test.ts index 3154de63231..e70fbaf4d0e 100644 --- a/apps/desktop/src/renderer/__tests__/automationGeneratedSessions.test.ts +++ b/apps/desktop/src/renderer/__tests__/automationGeneratedSessions.test.ts @@ -112,6 +112,7 @@ describe('automation-generated sessions', () => { 'discord', 'wechat', 'dingtalk', + 'wecom', 'scheduler', 'learn', 'shared', @@ -130,6 +131,7 @@ describe('automation-generated sessions', () => { expect(normalizeSessionSource('telegram')).toBe('telegram'); expect(normalizeSessionSource('discord')).toBe('discord'); expect(normalizeSessionSource('dingtalk')).toBe('dingtalk'); + expect(normalizeSessionSource('wecom')).toBe('wecom'); expect(normalizeSessionSource('plugin')).toBe('plugin'); expect(normalizeSessionSource(null)).toBe('desktop'); expect(normalizeSessionSource('unknown')).toBe('desktop'); diff --git a/apps/desktop/src/renderer/__tests__/makerSharedFixtureParity.test.ts b/apps/desktop/src/renderer/__tests__/makerSharedFixtureParity.test.ts index 7efc4e049d0..e93716553d5 100644 --- a/apps/desktop/src/renderer/__tests__/makerSharedFixtureParity.test.ts +++ b/apps/desktop/src/renderer/__tests__/makerSharedFixtureParity.test.ts @@ -82,6 +82,7 @@ function toDesktopScheduleFormState(schedule: RemoteSchedule): ScheduleFormState preRunHookTimeoutSec: '', notifyDesktop: schedule.notify?.desktop !== false, notifyFeishu: schedule.notify?.feishu === true, + ...(schedule.notify?.wecomGroup === true ? { notifyWecomGroup: true } : {}), }; } diff --git a/apps/desktop/src/renderer/__tests__/schedulerTemplateEntry.test.ts b/apps/desktop/src/renderer/__tests__/schedulerTemplateEntry.test.ts index a3e55e0ad32..446cf0bc2d8 100644 --- a/apps/desktop/src/renderer/__tests__/schedulerTemplateEntry.test.ts +++ b/apps/desktop/src/renderer/__tests__/schedulerTemplateEntry.test.ts @@ -64,7 +64,8 @@ vi.mock('@radix-ui/react-dialog', async () => { return { Root: ({ open, children }: { open: boolean; children: ReactNode }) => React.createElement(DialogContext.Provider, { value: open }, open ? children : null), - Portal: ({ children }: { children: ReactNode }) => React.createElement(React.Fragment, null, children), + Portal: ({ children }: { children: ReactNode }) => + React.createElement(React.Fragment, null, children), Overlay: (props: Record) => React.createElement('div', props), Content: ({ children, @@ -95,7 +96,8 @@ vi.mock('@/components/ui/confirm-dialog-provider', () => ({ vi.mock('@/components/ui/tooltip', async () => { const React = await import('react'); return { - Tip: ({ children }: { children: ReactNode }) => React.createElement(React.Fragment, null, children), + Tip: ({ children }: { children: ReactNode }) => + React.createElement(React.Fragment, null, children), }; }); @@ -194,6 +196,12 @@ beforeEach(() => { }, }); (window as unknown as { electronAPI: unknown }).electronAPI = { + wecomGroupNotification: { + getState: vi.fn(async () => ({ configured: false })), + saveAndTest: vi.fn(), + test: vi.fn(), + clear: vi.fn(), + }, maker: { schedule: { listTemplates: vi.fn(async () => [template]), @@ -230,7 +238,9 @@ describe('Scheduler template entry', () => { expect(screen.getByTestId('agent-kind').textContent).toBe('claude-code'); expect(screen.getByTestId('model-value').textContent).toBe('claude-sonnet-4-6'); - fireEvent.click(screen.getByRole('button', { name: 'scheduler.editor.promptDialog.createAria' })); + fireEvent.click( + screen.getByRole('button', { name: 'scheduler.editor.promptDialog.createAria' }), + ); await waitFor(() => expect(createSchedule).toHaveBeenCalledTimes(1)); expect(createSchedule).toHaveBeenCalledWith( @@ -242,7 +252,7 @@ describe('Scheduler template entry', () => { recurring: true, agentKind: 'claude-code', model: 'claude-sonnet-4-6', - notify: { desktop: true, feishu: false }, + notify: { desktop: true, feishu: false, wecomGroup: false }, }), ); }); diff --git a/apps/desktop/src/renderer/components/settings/ImBotSection.tsx b/apps/desktop/src/renderer/components/settings/ImBotSection.tsx index 25f67b447b7..54e2f8a1875 100644 --- a/apps/desktop/src/renderer/components/settings/ImBotSection.tsx +++ b/apps/desktop/src/renderer/components/settings/ImBotSection.tsx @@ -31,6 +31,7 @@ import { FeishuBotSection } from './FeishuBotSection'; import { HookConnectionsSection } from './HookConnectionsSection'; import { TelegramBotSection } from './TelegramBotSection'; import { WechatBotSection } from './WechatBotSection'; +import { WecomBotSection } from './WecomBotSection'; import { showCindyGroup, showDiscordBot, @@ -73,16 +74,19 @@ function PersonalGroupContent({ showTelegram: boolean; }) { const [expandedChannel, setExpandedChannel] = useState< - 'wechat' | 'feishu' | 'discord' | 'telegram' | 'dingtalk' | null + 'wechat' | 'wecom' | 'feishu' | 'discord' | 'telegram' | 'dingtalk' | null >(null); - const toggle = (channel: 'wechat' | 'feishu' | 'discord' | 'telegram' | 'dingtalk') => { + const toggle = ( + channel: 'wechat' | 'wecom' | 'feishu' | 'discord' | 'telegram' | 'dingtalk', + ) => { setExpandedChannel((current) => (current === channel ? null : channel)); }; return (
toggle('wechat')} /> + toggle('wecom')} /> toggle('feishu')} diff --git a/apps/desktop/src/renderer/components/settings/ImDefaultSettingsSection.tsx b/apps/desktop/src/renderer/components/settings/ImDefaultSettingsSection.tsx index 60a6cc1d4bc..617d88928d6 100644 --- a/apps/desktop/src/renderer/components/settings/ImDefaultSettingsSection.tsx +++ b/apps/desktop/src/renderer/components/settings/ImDefaultSettingsSection.tsx @@ -5,7 +5,11 @@ * 静默改写;非 thread 渠道通过 `/new` 显式应用。 */ -import { connectedProvidersForAgent, getModel, isAgentSelectableModel } from '@cindy/model-providers'; +import { + connectedProvidersForAgent, + getModel, + isAgentSelectableModel, +} from '@cindy/model-providers'; import { MessageSquare } from 'lucide-react'; import { useCallback, useEffect, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -13,7 +17,6 @@ import { useTranslation } from 'react-i18next'; import { ClaudeMark } from '@/components/icons/ClaudeMark'; import { CodexMark } from '@/components/icons/CodexMark'; import { ModelSelector } from '@/components/new-chat/ModelSelector'; -import { PermissionSelector } from '@/components/new-chat/PermissionSelector'; import { type ModelDescriptor, useAgentCapabilities } from '@/hooks/useAgentCapabilities'; import { useProviders } from '@/hooks/useProviders'; import { deriveModelsFromProviders } from '@/lib/providerModels'; @@ -29,8 +32,6 @@ import { type ImDefaultSettingsPatch, type ImDefaultSettingsState, isImDefaultEffort, - isImDefaultPermissionMode, - isWechatUnsupportedPermissionMode, } from '../../../shared/imDefaultSettings'; import { DefaultOverrideControls } from './DefaultOverrideControls'; import { buildAgentSettingsPatch, mergeSettingsPatch } from './imDefaultSettingsLogic'; @@ -99,7 +100,9 @@ export function ImDefaultSettingsSection({ // 准入口径:IM 默认模型是「从零挑一个」的清单,停用的供应商/模型与能力模型 // 不该可选 —— 否则 headless runner 派发时才降级换模型,用户无感(PR #744 review)。 const fromProviders = { - 'claude-code': deriveModelsFromProviders(providers, 'claude-code', { admissionFiltered: true }), + 'claude-code': deriveModelsFromProviders(providers, 'claude-code', { + admissionFiltered: true, + }), codex: deriveModelsFromProviders(providers, 'codex', { admissionFiltered: true }), }; return { @@ -225,17 +228,6 @@ export function ImDefaultSettingsSection({ ); }; - const changePermissionMode = (permissionMode: string) => { - if ( - !isImDefaultPermissionMode(permissionMode) || - isWechatUnsupportedPermissionMode(permissionMode) || - permissionMode === settings.permissionMode - ) { - return; - } - void persist({ permissionMode }); - }; - return (
- - {channel === 'wechat' && ( -
- - {t('settings.wechatBot.permission.label')} - - -

- {t('settings.wechatBot.permission.hint')} -

-
- )} ); } diff --git a/apps/desktop/src/renderer/components/settings/NotificationSection.tsx b/apps/desktop/src/renderer/components/settings/NotificationSection.tsx index 5fa0accc029..245a4003785 100644 --- a/apps/desktop/src/renderer/components/settings/NotificationSection.tsx +++ b/apps/desktop/src/renderer/components/settings/NotificationSection.tsx @@ -1,9 +1,10 @@ /** * NotificationSection — Settings 页"系统通知"区块。 * - * 两个独立开关: + * 两个个人通知开关: * 1. 桌面通知 — CC Agent session 完成 / 待回复时弹系统 toast(默认开)。 * 2. 飞书通知 — 同源触发,失焦时给 bot owner 私聊一条文本(默认关)。 + * 企业微信群是共享通道,总开关控制通道可用性;每个自动操作仍需显式选择。 * * 飞书开关的可用前提是 bot 已绑定 ownerOpenId(用户至少私聊过 bot 一次); * 未绑定时开关禁用,并在 hint 里提示去"飞书机器人" tab 完成配置/绑定。 @@ -11,14 +12,17 @@ * 沿用 AppearanceSection 的卡片样式(rounded 12 / Card bg / 1px Board / padding 20)。 */ -import { useEffect } from 'react'; +import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; +import { Loader2, Send, Trash2 } from 'lucide-react'; +import { toast } from '@/lib/toast'; import { Switch } from '@/components/ui/switch'; import { cn } from '@/lib/utils'; import { useNotificationSettings } from '@/hooks/useNotificationSettings'; import { useFeishuNotificationSettings } from '@/hooks/useFeishuNotificationSettings'; import { useFeishuBot } from '@/hooks/useFeishuBot'; +import { useWecomGroupNotificationSettings } from '@/hooks/useWecomGroupNotificationSettings'; export function NotificationSection() { const { enabled, setEnabled } = useNotificationSettings(); @@ -26,6 +30,8 @@ export function NotificationSection() { // ownerOpenId 才是 sendMarkdownText 的硬前置(status='connected' 也可能 owner 未绑), // 用它作为飞书开关的可用门槛,与主进程实际兜底逻辑对齐。 const { ownerOpenId } = useFeishuBot(); + const wecomGroup = useWecomGroupNotificationSettings(); + const [webhookUrl, setWebhookUrl] = useState(''); const feishuReady = Boolean(ownerOpenId); const { t } = useTranslation(); @@ -101,6 +107,131 @@ export function NotificationSection() { aria-label={t('settings.notifications.feishuAria')} /> + +
+
+
+

+ {t('settings.notifications.wecomGroupLabel')} +

+

+ {wecomGroup.configured + ? t('settings.notifications.wecomGroupConfiguredHint', { + maskedKey: wecomGroup.maskedKey, + }) + : t('settings.notifications.wecomGroupHint')} +

+
+ { + void wecomGroup + .setEnabled(next) + .catch(() => toast.error(t('settings.notifications.wecomGroupToggleFailed'))); + }} + disabled={!wecomGroup.configured || wecomGroup.busy} + aria-label={t('settings.notifications.wecomGroupAria')} + /> +
+ + {wecomGroup.configured ? ( +
+ + +
+ ) : ( +
+ setWebhookUrl(event.target.value)} + placeholder={t('settings.notifications.wecomGroupPlaceholder')} + autoComplete="new-password" + spellCheck={false} + className={cn( + 'h-[42px] w-full rounded-full px-[14px]', + 'border border-[var(--settings-input-border)]', + 'bg-[var(--settings-input-bg)] text-13 text-[var(--settings-input-text)]', + 'placeholder:text-[var(--settings-input-placeholder)] outline-none', + 'focus:border-[var(--settings-input-border-focus)]', + )} + /> + +
+ )} +
); } diff --git a/apps/desktop/src/renderer/components/settings/WecomBotSection.tsx b/apps/desktop/src/renderer/components/settings/WecomBotSection.tsx new file mode 100644 index 00000000000..31aa001a41b --- /dev/null +++ b/apps/desktop/src/renderer/components/settings/WecomBotSection.tsx @@ -0,0 +1,277 @@ +import { useCallback, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { Check, Eye, EyeOff, Loader2, Trash2 } from 'lucide-react'; + +import { useConfirmDialog } from '@/components/ui/confirm-dialog-provider'; +import { useWecomBot } from '@/hooks/useWecomBot'; +import { cn } from '@/lib/utils'; +import { ImChannelSettingsCard, useImChannelSettingsSummary } from './ImChannelSettingsCard'; +import { ImDefaultSettingsSection } from './ImDefaultSettingsSection'; + +const STATUS_KEY: Record = { + idle: 'settings.wecomBot.status.needsConfig', + connecting: 'settings.wecomBot.status.connecting', + connected: 'settings.wecomBot.status.connected', + conflict: 'settings.wecomBot.status.conflict', + error: 'settings.wecomBot.status.error', +}; + +function statusColor(status: WecomBotTransportStatus): string { + switch (status.kind) { + case 'idle': + return 'var(--settings-badge-needs-config)'; + case 'connecting': + case 'conflict': + return 'var(--settings-badge-saved)'; + case 'connected': + return 'var(--settings-badge-connected)'; + case 'error': + return 'var(--settings-badge-error)'; + } +} + +const fieldClassName = cn( + 'h-[42px] w-full rounded-full px-[14px]', + 'border border-[var(--settings-input-border)] bg-[var(--settings-input-bg)]', + 'text-13 text-[var(--settings-input-text)] placeholder:text-[var(--settings-input-placeholder)]', + 'outline-none transition-colors focus:border-[var(--settings-input-border-focus)]', +); + +export function WecomBotSection({ + expanded, + onToggle, +}: { + expanded: boolean; + onToggle: () => void; +}) { + const { + botId, + setBotId, + secret, + setSecret, + ownerUserId, + status, + validationError, + isSaving, + isDisconnecting, + canConnect, + canReconnect, + connect, + reconnect, + disconnect, + } = useWecomBot(); + const [showSecret, setShowSecret] = useState(false); + const [routeSummary, setRouteSummary] = useImChannelSettingsSummary('wecom'); + const { confirm } = useConfirmDialog(); + const { t } = useTranslation(); + + const handleDisconnect = useCallback(async () => { + const approved = await confirm({ + title: t('settings.wecomBot.disconnectConfirm.title'), + description: t('settings.wecomBot.disconnectConfirm.description'), + confirmText: t('settings.wecomBot.disconnectConfirm.confirm'), + cancelText: t('settings.wecomBot.disconnectConfirm.cancel'), + }); + if (approved) await disconnect(); + }, [confirm, disconnect, t]); + + return ( + + + {t(STATUS_KEY[status.kind])} + + } + > + +
+ + {status.kind === 'connected' ? ( +
+
+ + + +
+
+ {t('settings.wecomBot.connected.heading')} +
+
+ {ownerUserId + ? t('settings.wecomBot.connected.ownerBound', { ownerUserId }) + : t('settings.wecomBot.connected.awaitingOwner')} +
+
+
+ +
+ ) : ( +
+

+ {t('settings.wecomBot.setupHint')} +

+ + setBotId(event.target.value)} + placeholder={t('settings.wecomBot.botIdPlaceholder')} + spellCheck={false} + autoComplete="off" + className={fieldClassName} + /> + +
+ setSecret(event.target.value)} + placeholder={t('settings.wecomBot.secretPlaceholder')} + spellCheck={false} + autoComplete="new-password" + className={cn(fieldClassName, 'pr-10')} + /> + +
+ {validationError || status.kind === 'error' ? ( +

+ {validationError ?? (status.kind === 'error' ? status.reason : '')} +

+ ) : ( +

+ {t('settings.wecomBot.ownerHint')} +

+ )} +
+ {botId.trim() && !secret.trim() ? ( + + ) : ( + + )} + {botId.trim() ? ( + + ) : null} +
+
+ )} + + ); +} diff --git a/apps/desktop/src/renderer/features/cc-agent/CCAgentSidebarUpper.tsx b/apps/desktop/src/renderer/features/cc-agent/CCAgentSidebarUpper.tsx index e18284a20fd..98bc6a0e533 100644 --- a/apps/desktop/src/renderer/features/cc-agent/CCAgentSidebarUpper.tsx +++ b/apps/desktop/src/renderer/features/cc-agent/CCAgentSidebarUpper.tsx @@ -819,7 +819,11 @@ function ExpandedView({ sessionId, title, kind, - channels: { desktop: desktopEnabled, feishu: feishuEnabled, mobile: true }, + channels: { + desktop: desktopEnabled, + feishu: feishuEnabled, + mobile: true, + }, }); }, []); const handleSessionDone = useCallback( diff --git a/apps/desktop/src/renderer/features/scheduler/components/ScheduleFormDialog.tsx b/apps/desktop/src/renderer/features/scheduler/components/ScheduleFormDialog.tsx index 48f2ffd0b5c..df7f1ad4bb2 100644 --- a/apps/desktop/src/renderer/features/scheduler/components/ScheduleFormDialog.tsx +++ b/apps/desktop/src/renderer/features/scheduler/components/ScheduleFormDialog.tsx @@ -15,6 +15,7 @@ import { sessionModelSupportsFastMode } from '@cindy/model-providers'; import type { UtilityTextAttemptReason, UtilityTextFailure } from '../../../../shared/utilityTextResult'; import { useFeishuBot } from '@/hooks/useFeishuBot'; import { useProjectPickerOptions } from '@/hooks/useProjectPickerOptions'; +import { useWecomGroupNotificationSettings } from '@/hooks/useWecomGroupNotificationSettings'; import type { Schedule, CreateScheduleInput, ScheduleTemplate, UpdateScheduleInput } from '@cindy/maker-scheduler'; import { applyTemplateParams } from '@cindy/maker-scheduler/template-engine'; import { ScriptCapabilityMultiSelect } from './ScriptCapabilityMultiSelect'; @@ -350,6 +351,7 @@ export function ScheduleFormDialog({ if (template.notify) { setField('notifyDesktop', template.notify.desktop); setField('notifyFeishu', template.notify.feishu); + setField('notifyWecomGroup', template.notify.wecomGroup === true); } const initParams: Record = {}; for (const parameter of template.parameters ?? []) { @@ -379,6 +381,8 @@ export function ScheduleFormDialog({ }, [selectedTemplate, paramValues, promptDirty, setField]); const feishuBotReady = useFeishuBot().status === 'connected'; + const wecomGroupSettings = useWecomGroupNotificationSettings(); + const wecomGroupReady = wecomGroupSettings.configured && wecomGroupSettings.enabled; const navigate = useNavigate(); const openReferencedSession = useCallback( async (sessionId: string) => { @@ -401,6 +405,10 @@ export function ScheduleFormDialog({ // 飞书机器人在「IM 机器人」页的「个人」分栏,缺省 imGroup 会落到默认的 Cindy 栏 navigate('/settings?tab=im-bot&imGroup=personal'); }; + const goConfigWecomGroup = () => { + onOpenChange(false); + navigate('/settings?tab=general§ion=notifications'); + }; const projectOptions = useProjectPickerOptions(); @@ -938,6 +946,45 @@ export function ScheduleFormDialog({ {t('scheduler.editor.fields.configFeishu')} )} + {wecomGroupReady ? ( + + ) : ( + + )}
{/* bound 态:单行会话选择器(换选即换绑,选择器旁带"打开会话")。 不再叠加绑定卡片 —— 标题在 select 里已可见,单独的"解除绑定" diff --git a/apps/desktop/src/renderer/features/scheduler/hooks/useScheduleForm.ts b/apps/desktop/src/renderer/features/scheduler/hooks/useScheduleForm.ts index ef0f6e55f68..1caa233f832 100644 --- a/apps/desktop/src/renderer/features/scheduler/hooks/useScheduleForm.ts +++ b/apps/desktop/src/renderer/features/scheduler/hooks/useScheduleForm.ts @@ -58,6 +58,7 @@ const DEFAULT_FORM: ScheduleFormState = { preRunHookTimeoutSec: '', notifyDesktop: true, notifyFeishu: false, + notifyWecomGroup: false, }; const SCHEDULE_FORM_PREFS_KEY = 'xdt:scheduleFormPrefs:v1'; @@ -244,6 +245,7 @@ export function makeFormFromSchedule(s: Schedule | null): ScheduleFormState { : '', notifyDesktop: s.notify.desktop, notifyFeishu: s.notify.feishu, + notifyWecomGroup: s.notify.wecomGroup === true, }; } diff --git a/apps/desktop/src/renderer/features/scheduler/lib/projectAutomationConfig.ts b/apps/desktop/src/renderer/features/scheduler/lib/projectAutomationConfig.ts index 9b2d3049db9..3b890858bc8 100644 --- a/apps/desktop/src/renderer/features/scheduler/lib/projectAutomationConfig.ts +++ b/apps/desktop/src/renderer/features/scheduler/lib/projectAutomationConfig.ts @@ -28,7 +28,7 @@ export interface ProjectScheduleConfig { * ⚠️ 与 main 侧 project-automation-loader.ts 的 ProjectScheduleConfig 保持同形。 */ preRunHook?: { command: string; timeoutMs?: number }; - notify?: { desktop?: boolean; feishu?: boolean }; + notify?: { desktop?: boolean; feishu?: boolean; wecomGroup?: boolean }; } export function generateProjectScheduleId(): string { @@ -93,6 +93,10 @@ export function formToProjectConfig( // 与 buildScheduleInput 同源:未启用为 undefined(JSON 序列化时省略该字段; // 类型上抹掉 null——那是 update patch 的清空语义,config 文件里用"字段缺席"表达) preRunHook: buildPreRunHook(form) ?? undefined, - notify: { desktop: form.notifyDesktop, feishu: form.notifyFeishu }, + notify: { + desktop: form.notifyDesktop, + feishu: form.notifyFeishu, + wecomGroup: form.notifyWecomGroup === true, + }, }; } diff --git a/apps/desktop/src/renderer/features/scheduler/lib/scheduleFormLogic.ts b/apps/desktop/src/renderer/features/scheduler/lib/scheduleFormLogic.ts index 434e0a16ac8..be3477ce8eb 100644 --- a/apps/desktop/src/renderer/features/scheduler/lib/scheduleFormLogic.ts +++ b/apps/desktop/src/renderer/features/scheduler/lib/scheduleFormLogic.ts @@ -120,6 +120,7 @@ export interface ScheduleFormState { preRunHookTimeoutSec: string; notifyDesktop: boolean; notifyFeishu: boolean; + notifyWecomGroup?: boolean; } /** bound 态"已选绑定但尚未挑会话"的占位 id;validate 用 selectThread 拦截。 */ @@ -432,7 +433,11 @@ export function buildScheduleInput(form: ScheduleFormState): CreateScheduleInput silentWhenIdle: !isScript && form.silentWhenIdle, targetSessionId: !isScript ? (form.targetSessionId.trim() || undefined) : undefined, preRunHook: buildPreRunHook(form), - notify: { desktop: form.notifyDesktop, feishu: form.notifyFeishu }, + notify: { + desktop: form.notifyDesktop, + feishu: form.notifyFeishu, + wecomGroup: form.notifyWecomGroup === true, + }, }; if (isScript) { diff --git a/apps/desktop/src/renderer/hooks/useWecomBot.ts b/apps/desktop/src/renderer/hooks/useWecomBot.ts new file mode 100644 index 00000000000..5eb720082b8 --- /dev/null +++ b/apps/desktop/src/renderer/hooks/useWecomBot.ts @@ -0,0 +1,198 @@ +import { useCallback, useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; + +import { createLogger } from '@/lib/logger'; +import { toast } from '@/lib/toast'; + +const log = createLogger('useWecomBot'); + +interface CachedState { + status: WecomBotTransportStatus; + botId: string; + ownerUserId: string; +} + +let cachedState: CachedState | null = null; + +export function useWecomBot() { + const { t } = useTranslation(); + const [botId, setBotId] = useState(() => cachedState?.botId ?? ''); + const [secret, setSecret] = useState(''); + const [ownerUserId, setOwnerUserId] = useState(() => cachedState?.ownerUserId ?? ''); + const [status, setStatus] = useState( + () => cachedState?.status ?? { kind: 'idle' }, + ); + const [isSaving, setIsSaving] = useState(false); + const [isDisconnecting, setIsDisconnecting] = useState(false); + const [validationError, setValidationError] = useState(null); + + useEffect(() => { + let cancelled = false; + void window.electronAPI.wecomBot + .getStatus() + .then((state) => { + if (cancelled) return; + const next = { + status: state.status, + botId: state.botId ?? '', + ownerUserId: state.ownerUserId ?? '', + }; + cachedState = next; + setStatus(next.status); + setBotId(next.botId); + setOwnerUserId(next.ownerUserId); + }) + .catch((error) => { + log.error('getStatus failed:', error instanceof Error ? error.message : String(error)); + }); + return () => { + cancelled = true; + }; + }, []); + + useEffect( + () => + window.electronAPI.wecomBot.onStatusChange((state) => { + const next = { + status: state.status, + botId: state.botId ?? cachedState?.botId ?? '', + ownerUserId: state.ownerUserId ?? '', + }; + cachedState = next; + setStatus(next.status); + setBotId(next.botId); + setOwnerUserId(next.ownerUserId); + if (next.status.kind === 'connected') setSecret(''); + }), + [], + ); + + const connect = useCallback(async () => { + if (isSaving) return false; + const nextBotId = botId.trim(); + const nextSecret = secret.trim(); + if (!nextBotId || !nextSecret) { + setValidationError(t('settings.wecomBot.fieldsRequired')); + return false; + } + setValidationError(null); + setIsSaving(true); + try { + const result = await window.electronAPI.wecomBot.setConfig({ + botId: nextBotId, + secret: nextSecret, + }); + const next = { + status: result.status, + botId: result.botId ?? nextBotId, + ownerUserId: result.ownerUserId ?? '', + }; + cachedState = next; + setStatus(next.status); + setBotId(next.botId); + setOwnerUserId(next.ownerUserId); + if (next.status.kind === 'connected') setSecret(''); + if (result.saveErrorStatus?.kind === 'error' || result.status.kind === 'error') { + toast.error(t('settings.wecomBot.connectFailed')); + return false; + } + toast.success(t('settings.wecomBot.configSaved')); + return true; + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + log.error('setConfig failed:', message); + toast.error(t('settings.wecomBot.saveFailed', { message })); + return false; + } finally { + setIsSaving(false); + } + }, [botId, isSaving, secret, t]); + + const reconnect = useCallback(async () => { + if (isSaving || !botId.trim()) return false; + setValidationError(null); + setIsSaving(true); + try { + const result = await window.electronAPI.wecomBot.reconnect(); + const next = { + status: result.status, + botId: result.botId ?? botId.trim(), + ownerUserId: result.ownerUserId ?? '', + }; + cachedState = next; + setStatus(next.status); + setBotId(next.botId); + setOwnerUserId(next.ownerUserId); + if (result.status.kind === 'error') { + toast.error(t('settings.wecomBot.connectFailed')); + return false; + } + toast.success(t('settings.wecomBot.reconnecting')); + return true; + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + log.error('reconnect failed:', message); + toast.error(t('settings.wecomBot.reconnectFailed', { message })); + return false; + } finally { + setIsSaving(false); + } + }, [botId, isSaving, t]); + + const disconnect = useCallback(async () => { + if (isDisconnecting) return; + setIsDisconnecting(true); + try { + const result = await window.electronAPI.wecomBot.disconnect(); + const next = { status: result.status, botId: '', ownerUserId: '' }; + cachedState = next; + setStatus(next.status); + setBotId(''); + setSecret(''); + setOwnerUserId(''); + setValidationError(null); + toast.success(t('settings.wecomBot.disconnected')); + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + log.error('disconnect failed:', message); + toast.error(t('settings.wecomBot.disconnectFailed', { message })); + } finally { + setIsDisconnecting(false); + } + }, [isDisconnecting, t]); + + return { + botId, + setBotId: (value: string) => { + setBotId(value); + setValidationError(null); + }, + secret, + setSecret: (value: string) => { + setSecret(value); + setValidationError(null); + }, + ownerUserId, + status, + validationError, + isSaving, + isDisconnecting, + canConnect: Boolean( + botId.trim() && + secret.trim() && + status.kind !== 'connecting' && + !isSaving && + !isDisconnecting, + ), + canReconnect: Boolean( + botId.trim() && + !secret.trim() && + status.kind !== 'connecting' && + !isSaving && + !isDisconnecting, + ), + connect, + reconnect, + disconnect, + }; +} diff --git a/apps/desktop/src/renderer/hooks/useWecomGroupNotificationSettings.ts b/apps/desktop/src/renderer/hooks/useWecomGroupNotificationSettings.ts new file mode 100644 index 00000000000..47e0e37e7a6 --- /dev/null +++ b/apps/desktop/src/renderer/hooks/useWecomGroupNotificationSettings.ts @@ -0,0 +1,95 @@ +import { useCallback, useEffect, useState } from 'react'; + +const LEGACY_SESSION_NOTIFICATION_KEY = 'notifications.wecomGroupEnabled'; + +export function useWecomGroupNotificationSettings() { + const [enabled, setEnabledState] = useState(false); + const [configured, setConfigured] = useState(false); + const [maskedKey, setMaskedKey] = useState(); + const [busy, setBusy] = useState(false); + + useEffect(() => { + let cancelled = false; + try { + localStorage.removeItem(LEGACY_SESSION_NOTIFICATION_KEY); + } catch { + // Legacy preference cleanup is best-effort. + } + void window.electronAPI.wecomGroupNotification + .getState() + .then((state) => { + if (cancelled) return; + setConfigured(state.configured); + setEnabledState(state.enabled); + setMaskedKey(state.maskedKey); + }) + .catch(() => { + if (!cancelled) { + setConfigured(false); + setEnabledState(false); + } + }); + return () => { + cancelled = true; + }; + }, []); + + const setEnabled = useCallback(async (next: boolean) => { + setBusy(true); + try { + const state = await window.electronAPI.wecomGroupNotification.setEnabled(next); + setConfigured(state.configured); + setEnabledState(state.enabled); + setMaskedKey(state.maskedKey); + } finally { + setBusy(false); + } + }, []); + + const saveAndTest = useCallback(async (webhookUrl: string, testMessage: string) => { + setBusy(true); + try { + const state = await window.electronAPI.wecomGroupNotification.saveAndTest( + webhookUrl, + testMessage, + ); + setConfigured(state.configured); + setEnabledState(state.enabled); + setMaskedKey(state.maskedKey); + } finally { + setBusy(false); + } + }, []); + + const test = useCallback(async (testMessage: string) => { + setBusy(true); + try { + await window.electronAPI.wecomGroupNotification.test(testMessage); + } finally { + setBusy(false); + } + }, []); + + const clear = useCallback(async () => { + setBusy(true); + try { + await window.electronAPI.wecomGroupNotification.clear(); + setConfigured(false); + setEnabledState(false); + setMaskedKey(undefined); + } finally { + setBusy(false); + } + }, []); + + return { + enabled, + setEnabled, + configured, + maskedKey, + busy, + saveAndTest, + test, + clear, + }; +} diff --git a/apps/desktop/src/renderer/i18n/locales/en/common.json b/apps/desktop/src/renderer/i18n/locales/en/common.json index 45f9534a935..2ae57f565f0 100644 --- a/apps/desktop/src/renderer/i18n/locales/en/common.json +++ b/apps/desktop/src/renderer/i18n/locales/en/common.json @@ -467,7 +467,23 @@ "feishuLabel": "Send a Feishu / Lark DM when a session finishes or needs a reply", "feishuHint": "Sends a private message via the linked Feishu or Lark bot; only when the window is unfocused.", "feishuDisabledHint": "First set up the bot in \"Feishu / Lark Bot\" and DM it once to complete binding.", - "feishuAria": "Toggle session-done FeiShu notifications" + "feishuAria": "Toggle session-done FeiShu notifications", + "wecomGroupLabel": "WeCom group notifications", + "wecomGroupHint": "Used for automation completion notifications. Paste a WeCom group bot Webhook URL; it is encrypted on this device.", + "wecomGroupConfiguredHint": "Configured (key {{maskedKey}}). Turn on the master switch, then enable it for each automation as needed.", + "wecomGroupAria": "Toggle the WeCom group notification master switch", + "wecomGroupPlaceholder": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=…", + "wecomGroupSaveAndTest": "Save and test", + "wecomGroupSaveSuccess": "Webhook saved and test message sent", + "wecomGroupSaveFailed": "Could not save or test the Webhook", + "wecomGroupTest": "Send test", + "wecomGroupTestMessage": "Cindy WeCom group notification test succeeded", + "wecomGroupTestSuccess": "Test message sent", + "wecomGroupTestFailed": "Test message failed", + "wecomGroupToggleFailed": "Could not update WeCom group notifications", + "wecomGroupClear": "Remove", + "wecomGroupCleared": "Webhook removed", + "wecomGroupClearFailed": "Could not remove the Webhook" }, "windowBehavior": { "title": "App Behavior", @@ -1791,6 +1807,48 @@ } } }, + "wecomBot": { + "title": "WeCom Intelligent Bot", + "description": "Connect a WeCom intelligent bot and use {{appName}} from direct and group chats.", + "status": { + "needsConfig": "Not configured", + "connecting": "Connecting…", + "connected": "Connected", + "conflict": "Connection replaced", + "error": "Connection failed" + }, + "fieldsRequired": "Enter both the Bot ID and Secret", + "botIdLabel": "Bot ID", + "botIdPlaceholder": "Bot ID from WeCom administration", + "secretLabel": "Secret", + "secretPlaceholder": "Bot Secret from WeCom administration", + "showSecret": "Show Secret", + "hideSecret": "Hide Secret", + "setupHint": "Create an intelligent bot in WeCom administration, enable long connection, then enter its Bot ID and Secret.", + "ownerHint": "After connecting, the first member to DM the bot becomes this computer's owner. Only that member can trigger the Agent.", + "connect": "Save and connect", + "reconnect": "Reconnect", + "connectingAction": "Connecting…", + "disconnect": "Unbind", + "configSaved": "WeCom bot configuration saved", + "connectFailed": "WeCom bot connection failed; check the credentials and network", + "reconnecting": "Reconnecting the WeCom bot", + "reconnectFailed": "Reconnect failed: {{message}}", + "saveFailed": "Save failed: {{message}}", + "disconnected": "WeCom bot unbound", + "disconnectFailed": "Unbind failed: {{message}}", + "connected": { + "heading": "WeCom bot connected", + "awaitingOwner": "Send the bot a direct message from your WeCom account to bind the owner.", + "ownerBound": "Owner on this computer: {{ownerUserId}}" + }, + "disconnectConfirm": { + "title": "Unbind the WeCom bot?", + "description": "The saved Bot ID, Secret, and owner binding will be removed from this computer.", + "confirm": "Unbind", + "cancel": "Cancel" + } + }, "telegramBot": { "title": "Telegram Bot", "description": "Connect your own Telegram bot. The desktop connects to Telegram directly, so {{appName}} works from DMs and group chats.", @@ -2711,8 +2769,8 @@ }, "tips": { "cindy": "Cindy is the official shared bot — no credentials needed. Connect Slack and just @Cindy to hand off tasks.", - "personal": "Personal connections include WeChat scan authorization and your own Feishu / Discord / Telegram credentials. Each channel keeps independent new-conversation settings.", - "personalFeishuOnly": "Personal connections include WeChat scan authorization plus your own Feishu and DingTalk credentials. Each channel keeps independent new-conversation settings." + "personal": "Personal connections include WeChat scan authorization and your own WeCom / Feishu / Discord / Telegram credentials. Each channel keeps independent new-conversation settings.", + "personalFeishuOnly": "Personal connections include WeChat scan authorization plus your own WeCom, Feishu, and DingTalk credentials. Each channel keeps independent new-conversation settings." }, "defaults": { "title": "New Conversation Configuration", @@ -2722,7 +2780,8 @@ "discord": "New Discord conversations use this Agent and model. Send /new in an existing DM to apply it.", "wechat": "New WeChat conversations use this Agent, model, and permission mode. Send /new in an existing chat to apply them.", "telegram": "New Telegram conversations use this Agent and model. Send /new in an existing conversation to apply it.", - "dingtalk": "New DingTalk conversations use this Agent and model. Send /new in an existing conversation to apply it." + "dingtalk": "New DingTalk conversations use this Agent and model. Send /new in an existing conversation to apply it.", + "wecom": "New WeCom conversations use this Agent, model, and permission mode. Send /new in an existing chat to apply them." }, "agentLabel": "Agent", "modelLabel": "Model Configuration", @@ -3455,6 +3514,12 @@ "mailPrompt": "Help me build my Smart Contacts from email: first check which mail tools I have connected (if none, tell me how to connect one); scan the last 6 months of correspondence and create profiles for real contacts I exchange mail with — confirm high-frequency, clearly-identified people directly, use pending for uncertain ones; skip marketing mail, notification bots, and one-off senders. Report which profiles you created at the end.", "imPrompt": "Help me build my Smart Contacts from chat tools: first check which IMs I have connected (Feishu / Slack / WeChat etc.; if none, tell me how to connect one); organize the people I chat with regularly into contacts, use pending for uncertain ones, and skip group bots and one-off conversations. Report which profiles you created at the end." } + }, + "remotePermission": { + "label": "Permission mode", + "hint": "Remote IM keeps confirmation enabled for actions that need approval.", + "fullAccessDisabled": "Full Access is unavailable for remote IM because actions that cannot be safely confirmed must not run directly.", + "permissionModeDisabled": "This permission mode is unavailable because remote IM uses Cindy Desktop's confirmation policy." } }, "remoteDevice": { @@ -6598,6 +6663,8 @@ "silentRunTooltip": "When enabled, successful runs do not notify by default. If the task prompt asks to notify under specific conditions, AI will report when those conditions are met. Failures and errors still notify.", "silentRunInfoAria": "View silent run rules", "finishSendToFeishu": "Finish Send To FeishuBot", + "finishSendToWecomGroup": "Send result to WeCom group", + "configWecomGroup": "Configure WeCom group notifications", "configFeishu": "Config FeishuBot" }, "runSession": { diff --git a/apps/desktop/src/renderer/i18n/locales/ja/common.json b/apps/desktop/src/renderer/i18n/locales/ja/common.json index e40f46bdf2d..cbb12f7c2de 100644 --- a/apps/desktop/src/renderer/i18n/locales/ja/common.json +++ b/apps/desktop/src/renderer/i18n/locales/ja/common.json @@ -467,7 +467,23 @@ "feishuLabel": "セッション完了または返信が必要な時に Feishu / Lark メッセージを送信", "feishuHint": "連携済みの Feishu または Lark ボットからプライベートメッセージを送信します。ウィンドウが非アクティブの場合のみ送信。", "feishuDisabledHint": "先に「Feishu / Lark ボット」で設定し、ボットに 1 度メッセージを送ってバインドを完了してください。", - "feishuAria": "セッション完了時の Feishu 通知を切り替え" + "feishuAria": "セッション完了時の Feishu 通知を切り替え", + "wecomGroupLabel": "WeCom グループ通知", + "wecomGroupHint": "自動操作の完了通知に使用します。WeCom グループボットの Webhook URL を貼り付けると、このデバイスに暗号化保存されます。", + "wecomGroupConfiguredHint": "設定済み(キー {{maskedKey}})。全体スイッチをオンにした後、自動操作ごとに必要に応じて送信できます。", + "wecomGroupAria": "WeCom グループ通知の全体スイッチを切り替え", + "wecomGroupPlaceholder": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=…", + "wecomGroupSaveAndTest": "保存してテスト", + "wecomGroupSaveSuccess": "Webhook を保存し、テストメッセージを送信しました", + "wecomGroupSaveFailed": "Webhook の保存またはテストに失敗しました", + "wecomGroupTest": "テスト送信", + "wecomGroupTestMessage": "Cindy の WeCom グループ通知テストに成功しました", + "wecomGroupTestSuccess": "テストメッセージを送信しました", + "wecomGroupTestFailed": "テストメッセージの送信に失敗しました", + "wecomGroupToggleFailed": "WeCom グループ通知の設定を更新できませんでした", + "wecomGroupClear": "削除", + "wecomGroupCleared": "Webhook を削除しました", + "wecomGroupClearFailed": "Webhook を削除できませんでした" }, "windowBehavior": { "title": "アプリの動作", @@ -1790,6 +1806,48 @@ } } }, + "wecomBot": { + "title": "WeCom インテリジェントボット", + "description": "WeCom インテリジェントボットを接続し、DM とグループチャットから {{appName}} を利用します。", + "status": { + "needsConfig": "未設定", + "connecting": "接続中…", + "connected": "接続済み", + "conflict": "接続が置き換えられました", + "error": "接続失敗" + }, + "fieldsRequired": "Bot ID と Secret を入力してください", + "botIdLabel": "Bot ID", + "botIdPlaceholder": "WeCom 管理画面の Bot ID", + "secretLabel": "Secret", + "secretPlaceholder": "WeCom 管理画面の Secret", + "showSecret": "Secret を表示", + "hideSecret": "Secret を隠す", + "setupHint": "WeCom 管理画面でインテリジェントボットを作成し、長時間接続を有効にしてから Bot ID と Secret を入力します。", + "ownerHint": "接続後、最初にボットへ DM を送ったメンバーがこのコンピューターの owner になります。そのメンバーだけが Agent を起動できます。", + "connect": "保存して接続", + "reconnect": "再接続", + "connectingAction": "接続中…", + "disconnect": "連携解除", + "configSaved": "WeCom ボット設定を保存しました", + "connectFailed": "WeCom ボットに接続できません。認証情報とネットワークを確認してください", + "reconnecting": "WeCom ボットに再接続しています", + "reconnectFailed": "再接続に失敗しました:{{message}}", + "saveFailed": "保存失敗:{{message}}", + "disconnected": "WeCom ボットの連携を解除しました", + "disconnectFailed": "連携解除に失敗しました:{{message}}", + "connected": { + "heading": "WeCom ボット接続済み", + "awaitingOwner": "WeCom アカウントからボットへ DM を送り、owner を設定してください。", + "ownerBound": "このコンピューターの owner:{{ownerUserId}}" + }, + "disconnectConfirm": { + "title": "WeCom ボットの連携を解除しますか?", + "description": "保存済みの Bot ID、Secret、owner の紐付けをこのコンピューターから削除します。", + "confirm": "連携解除", + "cancel": "キャンセル" + } + }, "telegramBot": { "title": "Telegram ボット", "description": "自分で作成した Telegram ボットを連携します。デスクトップが Telegram に直接接続し、DM でもグループでも {{appName}} を使えます。", @@ -2710,8 +2768,8 @@ }, "tips": { "cindy": "Cindy は公式提供の共有ボットです。認証情報の申請は不要で、Slack を連携して @Cindy にメンションするだけでタスクを任せられます。", - "personal": "個人接続には WeChat のスキャン認証と、自分の Feishu / Discord / Telegram 認証情報を使用する接続があります。新規会話設定はチャネルごとに保存されます。", - "personalFeishuOnly": "個人接続には WeChat のスキャン認証と、自分の Feishu / DingTalk 認証情報を使用する接続があります。新規会話設定はチャネルごとに保存されます。" + "personal": "個人接続には WeChat のスキャン認証と、自分の WeCom / Feishu / Discord / Telegram 認証情報を使用する接続があります。新規会話設定はチャネルごとに保存されます。", + "personalFeishuOnly": "個人接続には WeChat のスキャン認証と、自分の WeCom / Feishu / DingTalk 認証情報を使用する接続があります。新規会話設定はチャネルごとに保存されます。" }, "defaults": { "title": "新規会話設定", @@ -2721,7 +2779,8 @@ "discord": "Discord の新規会話では、この Agent とモデルを使用します。既存の DM には /new で適用します。", "wechat": "WeChat の新規会話では、この Agent・モデル・権限モードを使用します。既存のチャットには /new で適用します。", "telegram": "Telegram の新規会話では、この Agent とモデルを使用します。既存の会話には /new で適用します。", - "dingtalk": "DingTalk の新規会話では、この Agent とモデルを使用します。既存の会話には /new で適用します。" + "dingtalk": "DingTalk の新規会話では、この Agent とモデルを使用します。既存の会話には /new で適用します。", + "wecom": "WeCom の新規会話では、この Agent・モデル・権限モードを使用します。既存のチャットには /new で適用します。" }, "agentLabel": "Agent", "modelLabel": "モデル設定", @@ -3453,6 +3512,12 @@ "mailPrompt": "メールからスマート連絡先を作成してください:まず接続済みのメールツールを確認し(なければ接続方法を教えてください)、直近 6 か月のやり取りをスキャンして、双方向のやり取りがある実在の連絡先を登録してください——頻度が高く身元が明確な人は確定で、不確かな人は pending で。マーケティングメール、通知ボット、一度きりの送信者はスキップ。最後に作成した項目を報告してください。", "imPrompt": "チャットツールからスマート連絡先を作成してください:まず接続済みの IM(Feishu / Slack / WeChat など)を確認し(なければ接続方法を教えてください)、最近よく会話する相手を連絡先に整理してください。不確かな人は pending で、グループボットや一時的な会話はスキップ。最後に作成した項目を報告してください。" } + }, + "remotePermission": { + "label": "権限モード", + "hint": "リモート IM では、承認が必要な操作の確認フローを維持します。", + "fullAccessDisabled": "安全に確認できない操作が直接実行されないよう、リモート IM では Full Access を利用できません。", + "permissionModeDisabled": "リモート IM は Cindy Desktop の確認ポリシーを使用するため、この権限モードは利用できません。" } }, "remoteDevice": { @@ -6587,6 +6652,8 @@ "silentRunTooltip": "オンにすると、正常完了時はデフォルトで通知しません。タスク説明で特定条件の通知を求めている場合、AI が条件を満たしたときに自動で上報します。失敗や異常は引き続き通知されます。", "silentRunInfoAria": "サイレント実行のルールを表示", "finishSendToFeishu": "完了時に Feishu Bot に送信", + "finishSendToWecomGroup": "完了時に WeCom グループへ送信", + "configWecomGroup": "WeCom グループ通知を設定", "configFeishu": "Feishu Bot を設定" }, "runSession": { diff --git a/apps/desktop/src/renderer/i18n/locales/ko/common.json b/apps/desktop/src/renderer/i18n/locales/ko/common.json index f02f62154de..f385f298701 100644 --- a/apps/desktop/src/renderer/i18n/locales/ko/common.json +++ b/apps/desktop/src/renderer/i18n/locales/ko/common.json @@ -467,7 +467,23 @@ "feishuLabel": "세션 완료 또는 응답 필요 시 Feishu / Lark 메시지 전송", "feishuHint": "연동된 Feishu 또는 Lark 봇을 통해 개인 메시지를 보냅니다. 창이 비활성 상태일 때만 전송됩니다.", "feishuDisabledHint": "먼저 \"Feishu / Lark 봇\"에서 봇을 설정하고 한 번 메시지를 보내 바인딩을 완료하세요.", - "feishuAria": "세션 완료 Feishu 알림 전환" + "feishuAria": "세션 완료 Feishu 알림 전환", + "wecomGroupLabel": "WeCom 그룹 알림", + "wecomGroupHint": "자동 작업 완료 알림에 사용됩니다. WeCom 그룹 봇 Webhook URL을 붙여넣으면 이 기기에 암호화되어 저장됩니다.", + "wecomGroupConfiguredHint": "설정됨(키 {{maskedKey}}). 전체 스위치를 켠 후 각 자동 작업에서 필요할 때 전송할 수 있습니다.", + "wecomGroupAria": "WeCom 그룹 알림 전체 스위치 전환", + "wecomGroupPlaceholder": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=…", + "wecomGroupSaveAndTest": "저장 및 테스트", + "wecomGroupSaveSuccess": "Webhook을 저장하고 테스트 메시지를 보냈습니다", + "wecomGroupSaveFailed": "Webhook 저장 또는 테스트에 실패했습니다", + "wecomGroupTest": "테스트 전송", + "wecomGroupTestMessage": "Cindy WeCom 그룹 알림 테스트에 성공했습니다", + "wecomGroupTestSuccess": "테스트 메시지를 보냈습니다", + "wecomGroupTestFailed": "테스트 메시지 전송에 실패했습니다", + "wecomGroupToggleFailed": "WeCom 그룹 알림 설정을 업데이트하지 못했습니다", + "wecomGroupClear": "삭제", + "wecomGroupCleared": "Webhook을 삭제했습니다", + "wecomGroupClearFailed": "Webhook을 삭제하지 못했습니다" }, "windowBehavior": { "title": "앱 동작", @@ -1790,6 +1806,48 @@ } } }, + "wecomBot": { + "title": "WeCom 지능형 봇", + "description": "WeCom 지능형 봇을 연결하고 DM과 그룹 채팅에서 {{appName}}를 사용하세요.", + "status": { + "needsConfig": "설정되지 않음", + "connecting": "연결 중…", + "connected": "연결됨", + "conflict": "연결이 대체됨", + "error": "연결 실패" + }, + "fieldsRequired": "Bot ID와 Secret을 모두 입력하세요", + "botIdLabel": "Bot ID", + "botIdPlaceholder": "WeCom 관리 화면의 Bot ID", + "secretLabel": "Secret", + "secretPlaceholder": "WeCom 관리 화면의 Secret", + "showSecret": "Secret 표시", + "hideSecret": "Secret 숨기기", + "setupHint": "WeCom 관리 화면에서 지능형 봇을 만들고 장기 연결을 활성화한 다음 Bot ID와 Secret을 입력하세요.", + "ownerHint": "연결 후 봇에 처음 DM을 보낸 구성원이 이 컴퓨터의 owner로 연결됩니다. 해당 구성원만 Agent를 실행할 수 있습니다.", + "connect": "저장하고 연결", + "reconnect": "다시 연결", + "connectingAction": "연결 중…", + "disconnect": "연결 해제", + "configSaved": "WeCom 봇 설정을 저장했습니다", + "connectFailed": "WeCom 봇 연결에 실패했습니다. 자격 증명과 네트워크를 확인하세요", + "reconnecting": "WeCom 봇에 다시 연결하는 중입니다", + "reconnectFailed": "다시 연결하지 못했습니다: {{message}}", + "saveFailed": "저장 실패: {{message}}", + "disconnected": "WeCom 봇 연결을 해제했습니다", + "disconnectFailed": "연결 해제 실패: {{message}}", + "connected": { + "heading": "WeCom 봇 연결됨", + "awaitingOwner": "WeCom 계정에서 봇으로 DM을 보내 owner를 연결하세요.", + "ownerBound": "이 컴퓨터의 owner: {{ownerUserId}}" + }, + "disconnectConfirm": { + "title": "WeCom 봇 연결을 해제할까요?", + "description": "저장된 Bot ID, Secret 및 owner 연결이 이 컴퓨터에서 삭제됩니다.", + "confirm": "연결 해제", + "cancel": "취소" + } + }, "telegramBot": { "title": "Telegram 봇", "description": "직접 만든 Telegram 봇을 연결하세요. 데스크톱이 Telegram에 직접 연결되어 DM과 그룹 채팅에서 {{appName}}를 사용할 수 있습니다.", @@ -2710,8 +2768,8 @@ }, "tips": { "cindy": "Cindy는 공식 제공 공유 봇입니다. 자격 증명을 신청할 필요 없이 Slack을 연결하고 @Cindy를 멘션하면 바로 작업을 맡길 수 있습니다.", - "personal": "개인 연결에는 WeChat 스캔 인증과 직접 발급한 Feishu / Discord / Telegram 인증 정보 연결이 포함됩니다. 새 대화 설정은 채널별로 저장됩니다.", - "personalFeishuOnly": "개인 연결에는 WeChat 스캔 인증과 직접 발급한 Feishu 및 DingTalk 자격 증명 연결이 포함됩니다. 새 대화 설정은 채널별로 저장됩니다." + "personal": "개인 연결에는 WeChat 스캔 인증과 직접 발급한 WeCom / Feishu / Discord / Telegram 인증 정보 연결이 포함됩니다. 새 대화 설정은 채널별로 저장됩니다.", + "personalFeishuOnly": "개인 연결에는 WeChat 스캔 인증과 직접 발급한 WeCom, Feishu 및 DingTalk 자격 증명 연결이 포함됩니다. 새 대화 설정은 채널별로 저장됩니다." }, "defaults": { "title": "새 대화 설정", @@ -2721,7 +2779,8 @@ "discord": "새 Discord 대화는 이 Agent와 모델을 사용합니다. 기존 DM에는 /new를 보내 적용하세요.", "wechat": "새 WeChat 대화는 이 Agent, 모델, 권한 모드를 사용합니다. 기존 채팅에는 /new를 보내 적용하세요.", "telegram": "새 Telegram 대화는 이 Agent와 모델을 사용합니다. 기존 대화에는 /new를 보내 적용하세요.", - "dingtalk": "새 DingTalk 대화는 이 Agent와 모델을 사용합니다. 기존 대화에는 /new를 보내 적용하세요." + "dingtalk": "새 DingTalk 대화는 이 Agent와 모델을 사용합니다. 기존 대화에는 /new를 보내 적용하세요.", + "wecom": "새 WeCom 대화는 이 Agent, 모델, 권한 모드를 사용합니다. 기존 채팅에는 /new를 보내 적용하세요." }, "agentLabel": "Agent", "modelLabel": "모델 설정", @@ -3453,6 +3512,12 @@ "mailPrompt": "이메일에서 스마트 연락처를 만들어 주세요: 먼저 연결된 메일 도구를 확인하고(없다면 연결 방법을 알려 주세요), 최근 6개월간의 주고받은 메일을 스캔해 실제로 왕래하는 연락처를 등록해 주세요 — 빈도가 높고 신원이 명확한 사람은 바로 확정, 불확실한 사람은 pending으로. 마케팅 메일, 알림 봇, 일회성 발신자는 건너뜁니다. 마지막에 어떤 프로필을 만들었는지 보고해 주세요.", "imPrompt": "채팅 도구에서 스마트 연락처를 만들어 주세요: 먼저 연결된 IM(Feishu / Slack / WeChat 등)을 확인하고(없다면 연결 방법을 알려 주세요), 최근 자주 대화하는 사람들을 연락처로 정리해 주세요. 불확실한 사람은 pending으로, 그룹 봇과 일회성 대화는 건너뜁니다. 마지막에 어떤 프로필을 만들었는지 보고해 주세요." } + }, + "remotePermission": { + "label": "권한 모드", + "hint": "원격 IM은 승인이 필요한 작업의 확인 절차를 유지합니다.", + "fullAccessDisabled": "안전하게 확인할 수 없는 작업이 직접 실행되지 않도록 원격 IM에서는 Full Access를 사용할 수 없습니다.", + "permissionModeDisabled": "원격 IM은 Cindy Desktop의 확인 정책을 사용하므로 이 권한 모드를 사용할 수 없습니다." } }, "remoteDevice": { @@ -6587,6 +6652,8 @@ "silentRunTooltip": "켜면 작업이 성공적으로 완료되어도 기본적으로 알림을 보내지 않습니다. 작업 프롬프트에서 특정 조건에 알림을 요청한 경우, AI가 조건이 충족될 때 직접 보고합니다. 실패와 오류는 계속 알림을 보냅니다.", "silentRunInfoAria": "조용히 실행 규칙 보기", "finishSendToFeishu": "완료 시 Feishu Bot에 전송", + "finishSendToWecomGroup": "완료 시 WeCom 그룹으로 전송", + "configWecomGroup": "WeCom 그룹 알림 설정", "configFeishu": "Feishu Bot 설정" }, "runSession": { diff --git a/apps/desktop/src/renderer/i18n/locales/zh-CN/common.json b/apps/desktop/src/renderer/i18n/locales/zh-CN/common.json index 64f23587b3d..0da162770a3 100644 --- a/apps/desktop/src/renderer/i18n/locales/zh-CN/common.json +++ b/apps/desktop/src/renderer/i18n/locales/zh-CN/common.json @@ -467,7 +467,23 @@ "feishuLabel": "任务完成或需要回复时发送飞书 / Lark 消息", "feishuHint": "通过已绑定的飞书或 Lark 机器人,向你私聊发送一条消息;仅在窗口失焦时发送。", "feishuDisabledHint": "需要先在「飞书 / Lark 机器人」中配置 bot 并向它发送一条消息以完成绑定。", - "feishuAria": "切换任务完成的飞书通知" + "feishuAria": "切换任务完成的飞书通知", + "wecomGroupLabel": "企业微信群通知", + "wecomGroupHint": "用于自动操作的完成通知。粘贴企微群机器人的 Webhook URL,URL 会加密保存在本机。", + "wecomGroupConfiguredHint": "已配置(密钥 {{maskedKey}})。开启总开关后,可在每个自动操作中按需发送。", + "wecomGroupAria": "切换企业微信群通知总开关", + "wecomGroupPlaceholder": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=…", + "wecomGroupSaveAndTest": "保存并测试", + "wecomGroupSaveSuccess": "Webhook 已保存,测试消息已发送", + "wecomGroupSaveFailed": "Webhook 保存或测试失败", + "wecomGroupTest": "发送测试", + "wecomGroupTestMessage": "Cindy 企业微信群通知测试成功", + "wecomGroupTestSuccess": "测试消息已发送", + "wecomGroupTestFailed": "测试消息发送失败", + "wecomGroupToggleFailed": "企业微信群通知开关更新失败", + "wecomGroupClear": "移除", + "wecomGroupCleared": "Webhook 已移除", + "wecomGroupClearFailed": "Webhook 移除失败" }, "windowBehavior": { "title": "应用行为", @@ -1790,6 +1806,48 @@ } } }, + "wecomBot": { + "title": "企业微信智能机器人", + "description": "连接企业微信智能机器人,在单聊和群聊中使用 {{appName}}。", + "status": { + "needsConfig": "未配置", + "connecting": "连接中…", + "connected": "已连接", + "conflict": "连接被替换", + "error": "连接失败" + }, + "fieldsRequired": "请输入 Bot ID 和 Secret", + "botIdLabel": "Bot ID", + "botIdPlaceholder": "企业微信后台中的机器人 ID", + "secretLabel": "Secret", + "secretPlaceholder": "企业微信后台中的机器人 Secret", + "showSecret": "显示 Secret", + "hideSecret": "隐藏 Secret", + "setupHint": "在企业微信管理后台创建智能机器人并启用长连接,然后填入 Bot ID 和 Secret。", + "ownerHint": "连接后,首个向机器人发送单聊消息的成员会绑定为本机 owner;仅该成员可触发 Agent。", + "connect": "保存并连接", + "reconnect": "重新连接", + "connectingAction": "正在连接…", + "disconnect": "解绑", + "configSaved": "企业微信机器人配置已保存", + "connectFailed": "企业微信机器人连接失败,请检查凭证与网络", + "reconnecting": "正在重新连接企业微信机器人", + "reconnectFailed": "重新连接失败:{{message}}", + "saveFailed": "保存失败:{{message}}", + "disconnected": "已解绑企业微信机器人", + "disconnectFailed": "解绑失败:{{message}}", + "connected": { + "heading": "企业微信机器人已连接", + "awaitingOwner": "请使用你的企业微信账号向机器人发送一条单聊消息,完成 owner 绑定。", + "ownerBound": "本机 owner:{{ownerUserId}}" + }, + "disconnectConfirm": { + "title": "解绑企业微信机器人?", + "description": "本机保存的 Bot ID、Secret 和 owner 绑定会被清除。", + "confirm": "解绑", + "cancel": "取消" + } + }, "telegramBot": { "title": "Telegram 机器人", "description": "绑定你自建的 Telegram Bot,桌面端直连 Telegram,私聊和群聊都能找 {{appName}}。", @@ -2710,8 +2768,8 @@ }, "tips": { "cindy": "Cindy 是官方提供的共享机器人:无需申请任何凭证,连接 Slack 后 @Cindy 即可直接派活。", - "personal": "个人连接包括微信扫码,以及使用自有凭证接入飞书 / Discord / Telegram;各渠道独立保存新对话配置。", - "personalFeishuOnly": "个人连接包括微信扫码,以及使用自有凭证接入飞书和钉钉;各渠道独立保存新对话配置。" + "personal": "个人连接包括微信扫码,以及使用自有凭证接入企业微信 / 飞书 / Discord / Telegram;各渠道独立保存新对话配置。", + "personalFeishuOnly": "个人连接包括微信扫码,以及使用自有凭证接入企业微信、飞书和钉钉;各渠道独立保存新对话配置。" }, "defaults": { "title": "新对话配置", @@ -2721,7 +2779,8 @@ "discord": "Discord 新对话会使用这组 Agent 和模型;已有私聊发送 /new 后应用。", "wechat": "微信新对话会使用这组 Agent、模型和权限模式;已有私聊发送 /new 后应用。", "telegram": "Telegram 新对话会使用这组 Agent 和模型;已有对话发送 /new 后应用。", - "dingtalk": "钉钉新对话会使用这组 Agent 和模型;已有对话发送 /new 后应用。" + "dingtalk": "钉钉新对话会使用这组 Agent 和模型;已有对话发送 /new 后应用。", + "wecom": "企业微信新对话会使用这组 Agent、模型和权限模式;已有对话发送 /new 后应用。" }, "agentLabel": "Agent", "modelLabel": "模型配置", @@ -3453,6 +3512,12 @@ "mailPrompt": "帮我从邮件建立智能通讯录:先看看我连接了哪些邮箱工具(没有的话告诉我该怎么连接);扫描最近 6 个月的往来邮件,找出和我有双向往来的真实联系人建档——高频且信息明确的直接确认,拿不准的用 pending;营销邮件、通知机器人、一次性发件人跳过。最后汇报建了哪些档案。", "imPrompt": "帮我从 IM 工具建立智能通讯录:先看看我连接了哪些 IM(飞书 / Slack / 微信等,没有的话告诉我该怎么连接);把近期经常和我对话的联系人整理进通讯录,拿不准的用 pending,群机器人和一次性对话跳过。最后汇报建了哪些档案。" } + }, + "remotePermission": { + "label": "权限模式", + "hint": "远程 IM 会为需要审批的操作保留确认流程。", + "fullAccessDisabled": "远程 IM 不支持完全访问,避免无法安全确认的操作被直接执行。", + "permissionModeDisabled": "远程 IM 使用 Cindy 桌面端确认策略,因此该权限模式不可用。" } }, "remoteDevice": { @@ -6587,6 +6652,8 @@ "silentRunTooltip": "开启后,任务成功完成时默认不提醒。若任务说明中要求在特定情况提醒,AI 会在满足条件时主动上报;失败和异常仍会提醒。", "silentRunInfoAria": "查看静默运行规则", "finishSendToFeishu": "完成时发送到飞书机器人", + "finishSendToWecomGroup": "完成时发送到企业微信群", + "configWecomGroup": "配置企微群通知", "configFeishu": "配置飞书机器人" }, "runSession": { diff --git a/apps/desktop/src/renderer/vite-env.d.ts b/apps/desktop/src/renderer/vite-env.d.ts index 773bca69522..1b03dfd78ab 100644 --- a/apps/desktop/src/renderer/vite-env.d.ts +++ b/apps/desktop/src/renderer/vite-env.d.ts @@ -419,6 +419,12 @@ type TelegramBotTransportStatus = | { kind: 'error'; reason: string }; type DingTalkBotTransportStatus = DiscordBotTransportStatus; +type WecomBotTransportStatus = + | { kind: 'idle' } + | { kind: 'connecting' } + | { kind: 'connected'; appId: string } + | { kind: 'conflict'; appId: string } + | { kind: 'error'; reason: string }; type WechatBotPhase = | 'disconnected' @@ -1828,6 +1834,37 @@ interface ElectronAPI { onOwnerChange: (callback: (update: { ownerUserId: string }) => void) => () => void; }; + wecomBot: { + getStatus: () => Promise<{ + status: WecomBotTransportStatus; + botId: string | null; + ownerUserId: string | null; + }>; + setConfig: (payload: { botId: string; secret: string }) => Promise<{ + status: WecomBotTransportStatus; + saveErrorStatus?: WecomBotTransportStatus; + botId: string | null; + ownerUserId: string | null; + }>; + reconnect: () => Promise<{ + status: WecomBotTransportStatus; + botId: string | null; + ownerUserId: string | null; + }>; + disconnect: () => Promise<{ + status: WecomBotTransportStatus; + botId: string | null; + ownerUserId: string | null; + }>; + onStatusChange: ( + callback: (update: { + status: WecomBotTransportStatus; + botId: string | null; + ownerUserId: string | null; + }) => void, + ) => () => void; + }; + // ── Personal WeChat (Settings → IM Bot → Personal) ── wechatBot: { getState: () => Promise; @@ -2136,6 +2173,18 @@ interface ElectronAPI { }) => Promise; /** Sync the renderer-owned global desktop-notification preference to main. */ notificationSetDesktopEnabled?: (enabled: boolean) => Promise<{ ok: true }>; + wecomGroupNotification: { + getState: () => Promise<{ configured: boolean; enabled: boolean; maskedKey?: string }>; + saveAndTest: ( + webhookUrl: string, + testMessage: string, + ) => Promise<{ configured: boolean; enabled: boolean; maskedKey?: string }>; + test: (testMessage: string) => Promise<{ ok: true }>; + setEnabled: ( + enabled: boolean, + ) => Promise<{ configured: boolean; enabled: boolean; maskedKey?: string }>; + clear: () => Promise<{ configured: boolean; enabled: boolean }>; + }; /** 将对应 session 标记为需要关注,显示 Dock/taskbar app badge。 */ notificationMarkSessionAttention: (sessionId: string) => Promise; /** 用户查看对应 session 后,清除系统级 Dock/taskbar attention badge。 */ diff --git a/apps/desktop/src/shared/imDefaultSettings.ts b/apps/desktop/src/shared/imDefaultSettings.ts index d773f1de806..ecf0555f69d 100644 --- a/apps/desktop/src/shared/imDefaultSettings.ts +++ b/apps/desktop/src/shared/imDefaultSettings.ts @@ -8,7 +8,14 @@ export type ImDefaultEffort = 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | * 刻意读 global(channel=undefined, 见 hook-control/session-runner.ts), 不落 * 在这个键上 — 两者互不影响。 */ -export type ImDefaultSettingsChannel = 'feishu' | 'slack' | 'discord' | 'wechat' | 'telegram' | 'dingtalk'; +export type ImDefaultSettingsChannel = + | 'feishu' + | 'slack' + | 'discord' + | 'wechat' + | 'telegram' + | 'dingtalk' + | 'wecom'; export interface ImDefaultAgentSettings { providerId: string | null; @@ -58,6 +65,7 @@ export const IM_DEFAULT_SETTINGS_CHANNELS: readonly ImDefaultSettingsChannel[] = 'wechat', 'telegram', 'dingtalk', + 'wecom', ]; export const IM_DEFAULT_EFFORT_OVERRIDES: Readonly>> = { @@ -84,11 +92,6 @@ const PERMISSION_MODES = new Set([ 'bypassPermissions', ]); -export const WECHAT_UNSUPPORTED_PERMISSION_MODES: readonly ImDefaultPermissionMode[] = [ - 'acceptEdits', - 'bypassPermissions', -]; - export function isImDefaultAgentKind(value: unknown): value is ImDefaultAgentKind { return typeof value === 'string' && AGENT_KINDS.has(value as ImDefaultAgentKind); } @@ -101,12 +104,6 @@ export function isImDefaultPermissionMode(value: unknown): value is ImDefaultPer return typeof value === 'string' && PERMISSION_MODES.has(value as ImDefaultPermissionMode); } -export function isWechatUnsupportedPermissionMode( - value: unknown, -): value is ImDefaultPermissionMode { - return isImDefaultPermissionMode(value) && WECHAT_UNSUPPORTED_PERMISSION_MODES.includes(value); -} - export function isImDefaultSettingsChannel(value: unknown): value is ImDefaultSettingsChannel { return ( typeof value === 'string' && diff --git a/apps/desktop/src/shared/sessionSource.ts b/apps/desktop/src/shared/sessionSource.ts index f9eee855c78..5f55f6ea5ca 100644 --- a/apps/desktop/src/shared/sessionSource.ts +++ b/apps/desktop/src/shared/sessionSource.ts @@ -7,6 +7,7 @@ export const SESSION_SOURCES = [ 'discord', 'wechat', 'dingtalk', + 'wecom', 'scheduler', 'learn', 'shared', @@ -37,6 +38,7 @@ export const DESKTOP_VISIBLE_SESSION_SOURCES: SessionSource[] = [ 'discord', 'wechat', 'dingtalk', + 'wecom', 'scheduler', 'learn', 'shared', @@ -51,6 +53,7 @@ export function normalizeSessionSource(source: unknown): SessionSource { source === 'discord' || source === 'wechat' || source === 'dingtalk' || + source === 'wecom' || source === 'scheduler' || source === 'learn' || source === 'shared' || diff --git a/docs/legal/notices/THIRD-PARTY-NOTICES.txt b/docs/legal/notices/THIRD-PARTY-NOTICES.txt index 2293f7d6639..2fdd1941c32 100644 --- a/docs/legal/notices/THIRD-PARTY-NOTICES.txt +++ b/docs/legal/notices/THIRD-PARTY-NOTICES.txt @@ -4299,7 +4299,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ============================================================================== -SECTION 2: npm packages (1316 packages) +SECTION 2: npm packages (1319 packages) ============================================================================== - @adobe/css-tools@4.5.0 — MIT — https://github.com/adobe/css-tools @@ -4362,8 +4362,8 @@ SECTION 2: npm packages (1316 packages) - @babel/plugin-transform-private-methods@7.29.7 — MIT — https://github.com/babel/babel - @babel/plugin-transform-private-property-in-object@7.29.7 — MIT — https://github.com/babel/babel - @babel/plugin-transform-react-display-name@7.29.7 — MIT — https://github.com/babel/babel -- @babel/plugin-transform-react-jsx@7.29.7 — MIT — https://github.com/babel/babel - @babel/plugin-transform-react-jsx-development@7.29.7 — MIT — https://github.com/babel/babel +- @babel/plugin-transform-react-jsx@7.29.7 — MIT — https://github.com/babel/babel - @babel/plugin-transform-react-pure-annotations@7.29.7 — MIT — https://github.com/babel/babel - @babel/plugin-transform-runtime@7.29.7 — MIT — https://github.com/babel/babel - @babel/plugin-transform-shorthand-properties@7.29.7 — MIT — https://github.com/babel/babel @@ -4410,9 +4410,9 @@ SECTION 2: npm packages (1316 packages) - @expo-google-fonts/material-symbols@0.4.40 — MIT AND Apache-2.0 — https://github.com/expo/google-fonts - @expo/cli@56.1.20 — MIT — https://github.com/expo/expo - @expo/code-signing-certificates@0.0.6 — MIT — https://github.com/expo/code-signing-certificates -- @expo/config@56.0.12 — MIT — https://github.com/expo/expo - @expo/config-plugins@56.0.13 — MIT — https://github.com/expo/expo - @expo/config-types@56.0.7 — MIT — https://github.com/expo/expo +- @expo/config@56.0.12 — MIT — https://github.com/expo/expo - @expo/devcert@1.2.1 — MIT — https://github.com/expo/devcert - @expo/devtools@56.0.2 — MIT — https://github.com/expo/expo - @expo/dom-webview@56.0.6 — MIT — https://github.com/expo/expo @@ -4427,10 +4427,10 @@ SECTION 2: npm packages (1316 packages) - @expo/json-file@11.0.1 — MIT — https://github.com/expo/expo - @expo/local-build-cache-provider@56.0.10 — MIT — https://github.com/expo/expo - @expo/log-box@56.0.14 — MIT — https://github.com/expo/expo/tree/main/packages/@expo/log-box -- @expo/metro@56.0.0 — MIT — https://github.com/expo/expo-metro - @expo/metro-config@56.0.17 — MIT — https://github.com/expo/expo - @expo/metro-file-map@56.0.3 — MIT — https://github.com/expo/expo - @expo/metro-runtime@56.0.17 — MIT — https://github.com/expo/expo +- @expo/metro@56.0.0 — MIT — https://github.com/expo/expo-metro - @expo/osascript@2.7.1 — MIT — https://github.com/expo/expo - @expo/package-manager@1.13.1 — MIT — https://github.com/expo/expo - @expo/plist@0.7.0 — MIT — https://github.com/expo/expo @@ -4517,29 +4517,29 @@ SECTION 2: npm packages (1316 packages) - @mermaid-js/parser@1.2.0 — MIT — https://github.com/mermaid-js/mermaid - @modelcontextprotocol/sdk@1.29.0 — MIT — https://github.com/modelcontextprotocol/typescript-sdk - @monogrid/gainmap-js@3.4.0 — MIT — https://github.com/MONOGRID/gainmap-js -- @napi-rs/canvas@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-darwin-arm64@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-darwin-x64@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-linux-arm64-gnu@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-linux-x64-gnu@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-win32-arm64-msvc@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-win32-x64-msvc@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas -- @napi-rs/woff-build@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build +- @napi-rs/canvas@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/woff-build-darwin-arm64@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @napi-rs/woff-build-darwin-x64@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @napi-rs/woff-build-linux-arm64-gnu@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @napi-rs/woff-build-linux-x64-gnu@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @napi-rs/woff-build-win32-arm64-msvc@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @napi-rs/woff-build-win32-x64-msvc@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build +- @napi-rs/woff-build@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @noble/hashes@1.8.0 — MIT — https://github.com/paulmillr/noble-hashes - @paralleldrive/cuid2@2.3.1 — MIT — https://github.com/ericelliott/cuid2 -- @parcel/watcher@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-darwin-arm64@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-darwin-x64@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-linux-arm64-glibc@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-linux-x64-glibc@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-win32-arm64@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-win32-x64@2.5.6 — MIT — https://github.com/parcel-bundler/watcher +- @parcel/watcher@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @pkgjs/parseargs@0.11.0 — MIT — https://github.com/pkgjs/parseargs - @protobufjs/aspromise@1.1.2 — BSD-3-Clause — https://github.com/dcodeIO/protobuf.js - @protobufjs/base64@1.1.2 — BSD-3-Clause — https://github.com/dcodeIO/protobuf.js @@ -4624,7 +4624,6 @@ SECTION 2: npm packages (1316 packages) - @tiptap/extension-text@3.28.0 — MIT — https://github.com/ueberdosis/tiptap - @tiptap/pm@3.28.0 — MIT — https://github.com/ueberdosis/tiptap - @tiptap/react@3.28.0 — MIT — https://github.com/ueberdosis/tiptap -- @types/d3@7.4.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-array@3.2.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-axis@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-brush@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped @@ -4646,18 +4645,19 @@ SECTION 2: npm packages (1316 packages) - @types/d3-polygon@3.0.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-quadtree@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-random@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/d3-scale@4.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-scale-chromatic@3.1.0 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3-scale@4.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-selection@3.0.11 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-shape@3.1.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/d3-time@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-time-format@4.0.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3-time@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-timer@3.0.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-transition@3.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-zoom@3.0.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3@7.4.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/debug@4.1.13 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/estree@1.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/estree-jsx@1.0.5 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/estree@1.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/geojson@7946.0.16 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/hast@3.0.5 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/istanbul-lib-coverage@2.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped @@ -4668,18 +4668,19 @@ SECTION 2: npm packages (1316 packages) - @types/ms@2.1.0 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/node@25.9.5 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/pako@2.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/react@19.2.17 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/react-test-renderer@19.1.0 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/react@19.2.17 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/trusted-types@2.0.7 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/unist@2.0.11 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/unist@3.0.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/use-sync-external-store@0.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/ws@8.18.1 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/yargs@17.0.35 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/yargs-parser@21.0.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/yargs@17.0.35 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @ungap/structured-clone@1.3.3 — ISC — https://github.com/ungap/structured-clone - @upsetjs/venn.js@2.0.0 — MIT — https://github.com/upsetjs/venn.js - @vladfrangu/async_event_emitter@2.4.7 — MIT — https://github.com/vladfrangu/async_event_emitter +- @wecom/aibot-node-sdk@1.0.7 — MIT — https://github.com/WecomTeam/aibot-node-sdk - @xmldom/xmldom@0.8.13 — MIT — https://github.com/xmldom/xmldom - @xmldom/xmldom@0.9.10 — MIT — https://github.com/xmldom/xmldom - @xterm/addon-clipboard@0.1.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-clipboard @@ -4693,10 +4694,10 @@ SECTION 2: npm packages (1316 packages) - agent-base@6.0.2 — MIT — https://github.com/TooTallNate/node-agent-base - agent-base@7.1.4 — MIT — https://github.com/TooTallNate/proxy-agents - agent-cli-detector@0.1.2 — MIT -- ajv@7.2.4 — MIT — https://github.com/ajv-validator/ajv -- ajv@8.20.0 — MIT — https://github.com/ajv-validator/ajv - ajv-formats@1.6.1 — MIT — https://github.com/ajv-validator/ajv-formats - ajv-formats@3.0.1 — MIT — https://github.com/ajv-validator/ajv-formats +- ajv@7.2.4 — MIT — https://github.com/ajv-validator/ajv +- ajv@8.20.0 — MIT — https://github.com/ajv-validator/ajv - anser@1.4.10 — MIT — https://github.com/IonicaBizau/anser - ansi-escapes@4.3.2 — MIT — https://github.com/sindresorhus/ansi-escapes - ansi-regex@4.1.1 — MIT — https://github.com/chalk/ansi-regex @@ -4747,9 +4748,9 @@ SECTION 2: npm packages (1316 packages) - braces@3.0.3 — MIT — https://github.com/micromatch/braces - browserslist@4.28.6 — MIT — https://github.com/browserslist/browserslist - bser@2.1.1 — Apache-2.0 — https://github.com/facebook/watchman -- buffer@5.7.1 — MIT — https://github.com/feross/buffer - buffer-equal-constant-time@1.0.1 — BSD-3-Clause — https://github.com/goinstant/buffer-equal-constant-time - buffer-from@1.1.2 — MIT — https://github.com/LinusU/buffer-from +- buffer@5.7.1 — MIT — https://github.com/feross/buffer - buildcheck@0.0.7 — MIT — http://github.com/mscdex/buildcheck - byte-size@8.2.1 — MIT — https://github.com/75lb/byte-size - bytes@3.1.2 — MIT — https://github.com/visionmedia/bytes.js @@ -4762,9 +4763,9 @@ SECTION 2: npm packages (1316 packages) - chalk@2.4.2 — MIT — https://github.com/chalk/chalk - chalk@4.1.2 — MIT — https://github.com/chalk/chalk - chalk@5.6.2 — MIT — https://github.com/chalk/chalk -- character-entities@2.0.2 — MIT — https://github.com/wooorm/character-entities - character-entities-html4@2.1.0 — MIT — https://github.com/wooorm/character-entities-html4 - character-entities-legacy@3.0.0 — MIT — https://github.com/wooorm/character-entities-legacy +- character-entities@2.0.2 — MIT — https://github.com/wooorm/character-entities - character-reference-invalid@2.0.1 — MIT — https://github.com/wooorm/character-reference-invalid - charenc@0.0.2 — BSD-3-Clause — https://github.com/pvorb/node-charenc - chownr@1.1.4 — ISC — https://github.com/isaacs/chownr @@ -4780,12 +4781,12 @@ SECTION 2: npm packages (1316 packages) - clone@1.0.4 — MIT — https://github.com/pvorb/node-clone - clsx@2.1.1 — MIT — https://github.com/lukeed/clsx - cn-font-split@6.0.3 — Apache-2.0 — https://github.com/KonghaYao/cn-font-split/tree/ts/packages/subsets -- color@4.2.3 — MIT — https://github.com/Qix-/color - color-convert@1.9.3 — MIT — https://github.com/Qix-/color-convert - color-convert@2.0.1 — MIT — https://github.com/Qix-/color-convert - color-name@1.1.3 — MIT — https://github.com/dfcreative/color-name - color-name@1.1.4 — MIT — https://github.com/colorjs/color-name - color-string@1.9.1 — MIT — https://github.com/Qix-/color-string +- color@4.2.3 — MIT — https://github.com/Qix-/color - combined-stream@1.0.8 — MIT — https://github.com/felixge/node-combined-stream - comma-separated-tokens@2.0.3 — MIT — https://github.com/wooorm/comma-separated-tokens - commander@12.1.0 — MIT — https://github.com/tj/commander.js @@ -4800,9 +4801,9 @@ SECTION 2: npm packages (1316 packages) - content-type@1.0.5 — MIT — https://github.com/jshttp/content-type - content-type@2.0.0 — MIT — https://github.com/jshttp/content-type - convert-source-map@2.0.0 — MIT — https://github.com/thlorenz/convert-source-map +- cookie-signature@1.2.2 — MIT — https://github.com/visionmedia/node-cookie-signature - cookie@0.7.2 — MIT — https://github.com/jshttp/cookie - cookie@1.1.1 — MIT — https://github.com/jshttp/cookie -- cookie-signature@1.2.2 — MIT — https://github.com/visionmedia/node-cookie-signature - core-js-compat@3.49.0 — MIT — https://github.com/zloirock/core-js - core-util-is@1.0.3 — MIT — https://github.com/isaacs/core-util-is - cors@2.8.6 — MIT — https://github.com/expressjs/cors @@ -4819,10 +4820,9 @@ SECTION 2: npm packages (1316 packages) - css-what@6.2.2 — BSD-2-Clause — https://github.com/fb55/css-what - css.escape@1.5.1 — MIT — https://github.com/mathiasbynens/CSS.escape - csstype@3.2.3 — MIT — https://github.com/frenic/csstype -- cytoscape@3.34.0 — MIT — https://github.com/cytoscape/cytoscape.js - cytoscape-cose-bilkent@4.1.0 — MIT — https://github.com/cytoscape/cytoscape.js-cose-bilkent - cytoscape-fcose@2.2.0 — MIT — https://github.com/iVis-at-Bilkent/cytoscape.js-fcose -- d3@7.9.0 — ISC — https://github.com/d3/d3 +- cytoscape@3.34.0 — MIT — https://github.com/cytoscape/cytoscape.js - d3-array@2.12.1 — BSD-3-Clause — https://github.com/d3/d3-array - d3-array@3.2.4 — ISC — https://github.com/d3/d3-array - d3-axis@3.0.0 — ISC — https://github.com/d3/d3-axis @@ -4847,16 +4847,17 @@ SECTION 2: npm packages (1316 packages) - d3-quadtree@3.0.1 — ISC — https://github.com/d3/d3-quadtree - d3-random@3.0.1 — ISC — https://github.com/d3/d3-random - d3-sankey@0.12.3 — BSD-3-Clause — https://github.com/d3/d3-sankey -- d3-scale@4.0.2 — ISC — https://github.com/d3/d3-scale - d3-scale-chromatic@3.1.0 — ISC — https://github.com/d3/d3-scale-chromatic +- d3-scale@4.0.2 — ISC — https://github.com/d3/d3-scale - d3-selection@3.0.0 — ISC — https://github.com/d3/d3-selection - d3-shape@1.3.7 — BSD-3-Clause — https://github.com/d3/d3-shape - d3-shape@3.2.0 — ISC — https://github.com/d3/d3-shape -- d3-time@3.1.0 — ISC — https://github.com/d3/d3-time - d3-time-format@4.1.0 — ISC — https://github.com/d3/d3-time-format +- d3-time@3.1.0 — ISC — https://github.com/d3/d3-time - d3-timer@3.0.1 — ISC — https://github.com/d3/d3-timer - d3-transition@3.0.1 — ISC — https://github.com/d3/d3-transition - d3-zoom@3.0.0 — ISC — https://github.com/d3/d3-zoom +- d3@7.9.0 — ISC — https://github.com/d3/d3 - dagre-d3-es@7.0.14 — MIT — https://github.com/tbo47/dagre-es - data-uri-to-buffer@4.0.1 — MIT — https://github.com/TooTallNate/node-data-uri-to-buffer - dayjs@1.11.21 — MIT — https://github.com/iamkun/dayjs @@ -4882,6 +4883,7 @@ SECTION 2: npm packages (1316 packages) - devlop@1.1.0 — MIT — https://github.com/wooorm/devlop - diff@8.0.4 — BSD-3-Clause — https://github.com/kpdecker/jsdiff - dijkstrajs@1.0.3 — MIT — https://github.com/tcort/dijkstrajs +- dingtalk-stream@v2.1.5 — MIT — https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs - discord-api-types@0.38.50 — MIT — https://github.com/discordjs/discord-api-types - discord.js@14.27.0 — Apache-2.0 — https://github.com/discordjs/discord.js - dnssd-advertise@1.1.6 — MIT — https://github.com/kitten/dnssd-advertise @@ -4924,12 +4926,12 @@ SECTION 2: npm packages (1316 packages) - estree-util-is-identifier-name@3.0.0 — MIT — https://github.com/syntax-tree/estree-util-is-identifier-name - etag@1.8.1 — MIT — https://github.com/jshttp/etag - event-target-shim@5.0.1 — MIT — https://github.com/mysticatea/event-target-shim -- eventsource@3.0.7 — MIT — https://git@github.com/EventSource/eventsource +- eventemitter3@5.0.4 — MIT — https://github.com/primus/eventemitter3 - eventsource-parser@3.1.0 — MIT — https://github.com/rexxars/eventsource-parser +- eventsource@3.0.7 — MIT — https://git@github.com/EventSource/eventsource - execa@4.1.0 — MIT — https://github.com/sindresorhus/execa - execa@5.1.1 — MIT — https://github.com/sindresorhus/execa - expand-template@2.0.3 — (MIT OR WTFPL) — https://github.com/ralphtheninja/expand-template -- expo@56.0.16 — MIT — https://github.com/expo/expo - expo-apple-authentication@56.0.4 — MIT — https://github.com/expo/expo - expo-application@56.0.3 — MIT — https://github.com/expo/expo - expo-asset@56.0.20 — MIT — https://github.com/expo/expo @@ -4946,10 +4948,10 @@ SECTION 2: npm packages (1316 packages) - expo-file-system@56.0.8 — MIT — https://github.com/expo/expo - expo-font@56.0.7 — MIT — https://github.com/expo/expo - expo-glass-effect@56.0.4 — MIT — https://github.com/expo/expo -- expo-image@56.0.11 — MIT — https://github.com/expo/expo - expo-image-loader@56.0.3 — MIT — https://github.com/expo/expo - expo-image-manipulator@56.0.22 — MIT — https://github.com/expo/expo - expo-image-picker@56.0.21 — MIT — https://github.com/expo/expo +- expo-image@56.0.11 — MIT — https://github.com/expo/expo - expo-json-utils@56.0.0 — MIT — https://github.com/expo/expo - expo-keep-awake@56.0.3 — MIT — https://github.com/expo/expo - expo-linking@56.0.15 — MIT — https://github.com/expo/expo @@ -4969,21 +4971,22 @@ SECTION 2: npm packages (1316 packages) - expo-status-bar@56.0.4 — MIT — https://github.com/expo/expo - expo-structured-headers@56.0.0 — MIT — https://github.com/expo/expo - expo-symbols@56.0.6 — MIT — https://github.com/expo/expo -- expo-updates@56.0.22 — MIT — https://github.com/expo/expo - expo-updates-interface@56.0.2 — MIT — https://github.com/expo/expo +- expo-updates@56.0.22 — MIT — https://github.com/expo/expo - expo-web-browser@56.0.5 — MIT — https://github.com/expo/expo +- expo@56.0.16 — MIT — https://github.com/expo/expo - exponential-backoff@3.1.3 — Apache-2.0 — https://github.com/coveooss/exponential-backoff -- express@5.2.1 — MIT — https://github.com/expressjs/express - express-rate-limit@8.5.2 — MIT — https://github.com/express-rate-limit/express-rate-limit -- extend@3.0.2 — MIT — https://github.com/justmoon/node-extend +- express@5.2.1 — MIT — https://github.com/expressjs/express - extend-shallow@2.0.1 — MIT — https://github.com/jonschlinkert/extend-shallow +- extend@3.0.2 — MIT — https://github.com/justmoon/node-extend - fast-deep-equal@3.1.3 — MIT — https://github.com/epoberezkin/fast-deep-equal - fast-equals@5.4.1 — MIT — https://github.com/planttheidea/fast-equals - fast-uri@3.1.4 — BSD-3-Clause — https://github.com/fastify/fast-uri - fb-dotslash@0.5.8 — (MIT OR Apache-2.0) — https://github.com/facebook/dotslash - fb-watchman@2.0.2 — Apache-2.0 — https://github.com/facebook/watchman -- fbjs@3.0.5 — MIT — https://github.com/facebook/fbjs - fbjs-css-vars@1.0.2 — MIT — https://github.com/facebook/fbjs +- fbjs@3.0.5 — MIT — https://github.com/facebook/fbjs - fdir@6.5.0 — MIT — https://github.com/thecodrr/fdir - fetch-blob@3.2.0 — MIT — https://github.com/node-fetch/fetch-blob - fetch-nodeshim@0.4.10 — MIT — https://github.com/kitten/fetch-nodeshim @@ -5040,8 +5043,8 @@ SECTION 2: npm packages (1316 packages) - has-tostringtag@1.0.2 — MIT — https://github.com/inspect-js/has-tostringtag - hasown@2.0.4 — MIT — https://github.com/inspect-js/hasOwn - hast-util-from-dom@5.0.1 — ISC — https://github.com/syntax-tree/hast-util-from-dom -- hast-util-from-html@2.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-html - hast-util-from-html-isomorphic@2.0.0 — MIT — https://github.com/syntax-tree/hast-util-from-html-isomorphic +- hast-util-from-html@2.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-html - hast-util-from-parse5@8.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-parse5 - hast-util-heading-rank@3.0.0 — MIT — https://github.com/syntax-tree/hast-util-heading-rank - hast-util-is-element@3.0.0 — MIT — https://github.com/syntax-tree/hast-util-is-element @@ -5146,19 +5149,18 @@ SECTION 2: npm packages (1316 packages) - leven@3.1.0 — MIT — https://github.com/sindresorhus/leven - lie@3.3.0 — MIT — https://github.com/calvinmetcalf/lie - lighthouse-logger@1.4.2 — Apache-2.0 -- lightningcss@1.32.0 — MPL-2.0 — https://github.com/parcel-bundler/lightningcss - lightningcss-darwin-arm64@1.32.0 — MPL-2.0 — https://github.com/parcel-bundler/lightningcss - lightningcss-darwin-x64@1.32.0 — MPL-2.0 — https://github.com/parcel-bundler/lightningcss - lightningcss-linux-arm64-gnu@1.32.0 — MPL-2.0 — https://github.com/parcel-bundler/lightningcss - lightningcss-linux-x64-gnu@1.32.0 — MPL-2.0 — https://github.com/parcel-bundler/lightningcss - lightningcss-win32-arm64-msvc@1.32.0 — MPL-2.0 — https://github.com/parcel-bundler/lightningcss - lightningcss-win32-x64-msvc@1.32.0 — MPL-2.0 — https://github.com/parcel-bundler/lightningcss -- lit@3.3.3 — BSD-3-Clause — https://github.com/lit/lit +- lightningcss@1.32.0 — MPL-2.0 — https://github.com/parcel-bundler/lightningcss - lit-element@4.2.2 — BSD-3-Clause — https://github.com/lit/lit - lit-html@3.3.3 — BSD-3-Clause — https://github.com/lit/lit +- lit@3.3.3 — BSD-3-Clause — https://github.com/lit/lit - locate-path@3.0.0 — MIT — https://github.com/sindresorhus/locate-path - locate-path@5.0.0 — MIT — https://github.com/sindresorhus/locate-path -- lodash@4.18.1 — MIT — https://github.com/lodash/lodash - lodash-es@4.18.1 — MIT — https://github.com/lodash/lodash - lodash.debounce@4.0.8 — MIT — https://github.com/lodash/lodash - lodash.identity@3.0.0 — MIT — https://github.com/lodash/lodash @@ -5166,6 +5168,7 @@ SECTION 2: npm packages (1316 packages) - lodash.pickby@4.6.0 — MIT — https://github.com/lodash/lodash - lodash.snakecase@4.1.1 — MIT — https://github.com/lodash/lodash - lodash.throttle@4.1.1 — MIT — https://github.com/lodash/lodash +- lodash@4.18.1 — MIT — https://github.com/lodash/lodash - log-symbols@2.2.0 — MIT — https://github.com/sindresorhus/log-symbols - long@5.3.2 — Apache-2.0 — https://github.com/dcodeIO/long.js - longest-streak@3.1.0 — MIT — https://github.com/wooorm/longest-streak @@ -5175,8 +5178,8 @@ SECTION 2: npm packages (1316 packages) - lru-cache@10.4.3 — ISC — https://github.com/isaacs/node-lru-cache - lru-cache@11.5.2 — BlueOak-1.0.0 — https://github.com/isaacs/node-lru-cache - lru-cache@5.1.1 — ISC — https://github.com/isaacs/node-lru-cache -- lucide-react@0.468.0 — ISC — https://github.com/lucide-icons/lucide - lucide-react-native@0.468.0 — ISC — https://github.com/lucide-icons/lucide +- lucide-react@0.468.0 — ISC — https://github.com/lucide-icons/lucide - magic-bytes.js@1.13.0 — MIT — https://github.com/LarsKoelpin/magic-bytes - make-dir@3.1.0 — MIT — https://github.com/sindresorhus/make-dir - makeerror@1.0.12 — BSD-3-Clause — https://github.com/daaku/nodejs-makeerror @@ -5187,20 +5190,20 @@ SECTION 2: npm packages (1316 packages) - md5@2.3.0 — BSD-3-Clause — https://github.com/pvorb/node-md5 - mdast-util-find-and-replace@3.0.2 — MIT — https://github.com/syntax-tree/mdast-util-find-and-replace - mdast-util-from-markdown@2.0.3 — MIT — https://github.com/syntax-tree/mdast-util-from-markdown -- mdast-util-gfm@3.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm - mdast-util-gfm-autolink-literal@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-gfm-autolink-literal - mdast-util-gfm-footnote@2.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-footnote - mdast-util-gfm-strikethrough@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-strikethrough - mdast-util-gfm-table@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-table - mdast-util-gfm-task-list-item@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-task-list-item +- mdast-util-gfm@3.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm - mdast-util-math@3.0.0 — MIT — https://github.com/syntax-tree/mdast-util-math - mdast-util-mdx-expression@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-mdx-expression - mdast-util-mdx-jsx@3.2.0 — MIT — https://github.com/syntax-tree/mdast-util-mdx-jsx - mdast-util-mdxjs-esm@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-mdxjs-esm - mdast-util-phrasing@4.1.0 — MIT — https://github.com/syntax-tree/mdast-util-phrasing - mdast-util-to-hast@13.2.1 — MIT — https://github.com/syntax-tree/mdast-util-to-hast -- mdast-util-to-markdown@2.1.2 — MIT — https://github.com/syntax-tree/mdast-util-to-markdown - mdast-util-to-markdown-cjk-friendly@1.0.0 — MIT — https://github.com/tats-u/markdown-cjk-friendly +- mdast-util-to-markdown@2.1.2 — MIT — https://github.com/syntax-tree/mdast-util-to-markdown - mdast-util-to-string@4.0.0 — MIT — https://github.com/syntax-tree/mdast-util-to-string - mdn-data@2.0.14 — CC0-1.0 — https://github.com/mdn/data - media-typer@1.1.0 — MIT — https://github.com/jshttp/media-typer @@ -5210,10 +5213,9 @@ SECTION 2: npm packages (1316 packages) - merge-options@3.0.4 — MIT — https://github.com/schnittstabil/merge-options - merge-stream@2.0.0 — MIT — https://github.com/grncdr/merge-stream - mermaid@11.16.0 — MIT — https://github.com/mermaid-js/mermaid -- metro@0.84.4 — MIT — https://github.com/facebook/metro - metro-babel-transformer@0.84.4 — MIT — https://github.com/facebook/metro -- metro-cache@0.84.4 — MIT — https://github.com/facebook/metro - metro-cache-key@0.84.4 — MIT — https://github.com/facebook/metro +- metro-cache@0.84.4 — MIT — https://github.com/facebook/metro - metro-config@0.84.4 — MIT — https://github.com/facebook/metro - metro-core@0.84.4 — MIT — https://github.com/facebook/metro - metro-file-map@0.84.4 — MIT — https://github.com/facebook/metro @@ -5224,17 +5226,17 @@ SECTION 2: npm packages (1316 packages) - metro-symbolicate@0.84.4 — MIT — https://github.com/facebook/metro - metro-transform-plugins@0.84.4 — MIT — https://github.com/facebook/metro - metro-transform-worker@0.84.4 — MIT — https://github.com/facebook/metro -- micromark@4.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark +- metro@0.84.4 — MIT — https://github.com/facebook/metro - micromark-core-commonmark@2.0.3 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark -- micromark-extension-cjk-friendly@2.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly - micromark-extension-cjk-friendly-util@3.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly -- micromark-extension-gfm@3.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm +- micromark-extension-cjk-friendly@2.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly - micromark-extension-gfm-autolink-literal@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-autolink-literal - micromark-extension-gfm-footnote@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-footnote - micromark-extension-gfm-strikethrough@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-strikethrough - micromark-extension-gfm-table@2.1.1 — MIT — https://github.com/micromark/micromark-extension-gfm-table - micromark-extension-gfm-tagfilter@2.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm-tagfilter - micromark-extension-gfm-task-list-item@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-task-list-item +- micromark-extension-gfm@3.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm - micromark-extension-math@3.1.0 — MIT — https://github.com/micromark/micromark-extension-math - micromark-factory-destination@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-factory-destination - micromark-factory-label@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label @@ -5255,12 +5257,13 @@ SECTION 2: npm packages (1316 packages) - micromark-util-subtokenize@2.1.0 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize - micromark-util-symbol@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-symbol - micromark-util-types@2.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-types +- micromark@4.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark - micromatch@4.0.8 — MIT — https://github.com/micromatch/micromatch -- mime@1.6.0 — MIT — https://github.com/broofa/node-mime - mime-db@1.52.0 — MIT — https://github.com/jshttp/mime-db - mime-db@1.54.0 — MIT — https://github.com/jshttp/mime-db - mime-types@2.1.35 — MIT — https://github.com/jshttp/mime-types - mime-types@3.0.2 — MIT — https://github.com/jshttp/mime-types +- mime@1.6.0 — MIT — https://github.com/broofa/node-mime - mimic-fn@1.2.0 — MIT — https://github.com/sindresorhus/mimic-fn - mimic-fn@2.1.0 — MIT — https://github.com/sindresorhus/mimic-fn - mimic-fn@3.1.0 — MIT — https://github.com/sindresorhus/mimic-fn @@ -5270,9 +5273,9 @@ SECTION 2: npm packages (1316 packages) - minimatch@9.0.9 — ISC — https://github.com/isaacs/minimatch - minimist@1.2.8 — MIT — https://github.com/minimistjs/minimist - minipass@7.1.3 — BlueOak-1.0.0 — https://github.com/isaacs/minipass +- mkdirp-classic@0.5.3 — MIT — https://github.com/mafintosh/mkdirp-classic - mkdirp@0.5.6 — MIT — https://github.com/substack/node-mkdirp - mkdirp@1.0.4 — MIT — https://github.com/isaacs/node-mkdirp -- mkdirp-classic@0.5.3 — MIT — https://github.com/mafintosh/mkdirp-classic - mri@1.2.0 — MIT — https://github.com/lukeed/mri - ms@2.0.0 — MIT — https://github.com/zeit/ms - ms@2.1.3 — MIT — https://github.com/vercel/ms @@ -5342,16 +5345,16 @@ SECTION 2: npm packages (1316 packages) - pngjs@5.0.0 — MIT — https://github.com/lukeapage/pngjs - points-on-curve@0.2.0 — MIT — https://github.com/pshihn/bezier-points - points-on-path@0.2.1 — MIT — https://github.com/pshihn/points-on-path -- postcss@8.5.19 — MIT — https://github.com/postcss/postcss - postcss-value-parser@4.2.0 — MIT — https://github.com/TrySound/postcss-value-parser +- postcss@8.5.19 — MIT — https://github.com/postcss/postcss - prebuild-install@7.1.3 — MIT — https://github.com/prebuild/prebuild-install - pretty-format@29.7.0 — MIT — https://github.com/jestjs/jest - proc-log@4.2.0 — ISC — https://github.com/npm/proc-log - process-nextick-args@2.0.1 — MIT — https://github.com/calvinmetcalf/process-nextick-args - progress@2.0.3 — MIT — https://github.com/visionmedia/node-progress +- promise-worker-transferable@1.0.4 — Apache-2.0 — https://github.com/terikon/promise-worker-transferable - promise@7.3.1 — MIT — https://github.com/then/promise - promise@8.3.0 — MIT — https://github.com/then/promise -- promise-worker-transferable@1.0.4 — Apache-2.0 — https://github.com/terikon/promise-worker-transferable - prompts@2.4.2 — MIT — https://github.com/terkelg/prompts - property-information@7.2.0 — MIT — https://github.com/wooorm/property-information - prosemirror-changeset@2.4.1 — MIT — https://code.haverbeke.berlin/prosemirror/prosemirror-changeset @@ -5380,7 +5383,6 @@ SECTION 2: npm packages (1316 packages) - range-parser@1.3.0 — MIT — https://github.com/jshttp/range-parser - raw-body@3.0.2 — MIT — https://github.com/stream-utils/raw-body - rc@1.2.8 — (BSD-2-Clause OR MIT OR Apache-2.0) — https://github.com/dominictarr/rc -- react@19.2.3 — MIT — https://github.com/facebook/react - react-devtools-core@6.1.5 — MIT — https://github.com/facebook/react - react-dom@19.2.3 — MIT — https://github.com/facebook/react - react-fast-compare@3.2.2 — MIT — https://github.com/FormidableLabs/react-fast-compare @@ -5389,7 +5391,6 @@ SECTION 2: npm packages (1316 packages) - react-is@18.3.1 — MIT — https://github.com/facebook/react - react-is@19.2.7 — MIT — https://github.com/facebook/react - react-markdown@10.1.0 — MIT — https://github.com/remarkjs/react-markdown -- react-native@0.85.3 — MIT — https://github.com/facebook/react-native - react-native-drawer-layout@4.2.7 — MIT — https://github.com/react-navigation/react-navigation - react-native-gesture-handler@3.0.2 — MIT — https://github.com/software-mansion/react-native-gesture-handler - react-native-is-edge-to-edge@1.3.1 — MIT — https://github.com/zoontek/react-native-edge-to-edge @@ -5401,17 +5402,19 @@ SECTION 2: npm packages (1316 packages) - react-native-web@0.21.2 — MIT — https://github.com/necolas/react-native-web - react-native-webview@13.16.1 — MIT — https://github.com/react-native-webview/react-native-webview - react-native-worklets@0.8.3 — MIT — https://github.com/software-mansion/react-native-reanimated +- react-native@0.85.3 — MIT — https://github.com/facebook/react-native - react-refresh@0.14.2 — MIT — https://github.com/facebook/react -- react-remove-scroll@2.7.2 — MIT — https://github.com/theKashey/react-remove-scroll - react-remove-scroll-bar@2.3.8 — MIT — https://github.com/theKashey/react-remove-scroll-bar -- react-router@7.18.1 — MIT — https://github.com/remix-run/react-router +- react-remove-scroll@2.7.2 — MIT — https://github.com/theKashey/react-remove-scroll - react-router-dom@7.18.1 — MIT — https://github.com/remix-run/react-router +- react-router@7.18.1 — MIT — https://github.com/remix-run/react-router - react-style-singleton@2.2.3 — MIT — https://github.com/theKashey/react-style-singleton +- react@19.2.3 — MIT — https://github.com/facebook/react - readable-stream@2.3.8 — MIT — https://github.com/nodejs/readable-stream - readable-stream@3.6.2 — MIT — https://github.com/nodejs/readable-stream - redent@3.0.0 — MIT — https://github.com/sindresorhus/redent -- regenerate@1.4.2 — MIT — https://github.com/mathiasbynens/regenerate - regenerate-unicode-properties@10.2.2 — MIT — https://github.com/mathiasbynens/regenerate-unicode-properties +- regenerate@1.4.2 — MIT — https://github.com/mathiasbynens/regenerate - regenerator-runtime@0.13.11 — MIT — https://github.com/facebook/regenerator/tree/main/packages/runtime - regexpu-core@6.4.0 — MIT — https://github.com/mathiasbynens/regexpu-core - regjsgen@0.8.0 — MIT — https://github.com/bnjmnt4n/regjsgen @@ -5428,9 +5431,9 @@ SECTION 2: npm packages (1316 packages) - require-directory@2.1.1 — MIT — https://github.com/troygoode/node-require-directory - require-from-string@2.0.2 — MIT — https://github.com/floatdrop/require-from-string - require-main-filename@2.0.0 — ISC — https://github.com/yargs/require-main-filename -- resolve@1.22.12 — MIT — ssh://github.com/browserify/resolve - resolve-from@5.0.0 — MIT — https://github.com/sindresorhus/resolve-from - resolve-workspace-root@2.0.1 — MIT — https://github.com/byCedric/resolve-workspace-root +- resolve@1.22.12 — MIT — ssh://github.com/browserify/resolve - restore-cursor@2.0.0 — MIT — https://github.com/sindresorhus/restore-cursor - rimraf@5.0.10 — ISC — https://github.com/isaacs/rimraf - robust-predicates@3.0.3 — Unlicense — https://github.com/mourner/robust-predicates @@ -5465,10 +5468,10 @@ SECTION 2: npm packages (1316 packages) - shell-env@4.0.3 — MIT — https://github.com/sindresorhus/shell-env - shell-path@3.1.0 — MIT — https://github.com/sindresorhus/shell-path - shell-quote@1.10.0 — MIT — http://github.com/ljharb/shell-quote -- side-channel@1.1.1 — MIT — https://github.com/ljharb/side-channel - side-channel-list@1.0.1 — MIT — https://github.com/ljharb/side-channel-list - side-channel-map@1.0.1 — MIT — https://github.com/ljharb/side-channel-map - side-channel-weakmap@1.0.2 — MIT — https://github.com/ljharb/side-channel-weakmap +- side-channel@1.1.1 — MIT — https://github.com/ljharb/side-channel - signal-exit@3.0.7 — ISC — https://github.com/tapjs/signal-exit - signal-exit@4.1.0 — ISC — https://github.com/tapjs/signal-exit - silk-wasm@3.7.1 — MIT — https://github.com/idranme/silk-wasm @@ -5481,10 +5484,10 @@ SECTION 2: npm packages (1316 packages) - slugify@1.6.9 — MIT — https://github.com/simov/slugify - smol-toml@1.7.0 — BSD-3-Clause — https://github.com/squirrelchat/smol-toml - sortablejs@1.15.7 — MIT — https://github.com/SortableJS/Sortable -- source-map@0.5.7 — BSD-3-Clause — http://github.com/mozilla/source-map -- source-map@0.6.1 — BSD-3-Clause — http://github.com/mozilla/source-map - source-map-js@1.2.1 — BSD-3-Clause — https://github.com/7rulnik/source-map-js - source-map-support@0.5.21 — MIT — https://github.com/evanw/node-source-map-support +- source-map@0.5.7 — BSD-3-Clause — http://github.com/mozilla/source-map +- source-map@0.6.1 — BSD-3-Clause — http://github.com/mozilla/source-map - space-separated-tokens@2.0.2 — MIT — https://github.com/wooorm/space-separated-tokens - split-on-first@1.1.0 — MIT — https://github.com/sindresorhus/split-on-first - sprintf-js@1.0.3 — BSD-3-Clause — https://github.com/alexei/sprintf.js @@ -5548,9 +5551,9 @@ SECTION 2: npm packages (1316 packages) - type-is@2.1.0 — MIT — https://github.com/jshttp/type-is - typebox@1.1.39 — MIT — https://github.com/sinclairzx81/typebox - ua-parser-js@1.0.41 — MIT — https://github.com/faisalman/ua-parser-js +- undici-types@7.24.6 — MIT — https://github.com/nodejs/undici - undici@6.27.0 — MIT — https://github.com/nodejs/undici - undici@8.7.0 — MIT — https://github.com/nodejs/undici -- undici-types@7.24.6 — MIT — https://github.com/nodejs/undici - unicode-canonical-property-names-ecmascript@2.0.1 — MIT — https://github.com/mathiasbynens/unicode-canonical-property-names-ecmascript - unicode-match-property-ecmascript@2.0.0 — MIT — https://github.com/mathiasbynens/unicode-match-property-ecmascript - unicode-match-property-value-ecmascript@2.2.1 — MIT — https://github.com/mathiasbynens/unicode-match-property-value-ecmascript @@ -5561,8 +5564,8 @@ SECTION 2: npm packages (1316 packages) - unist-util-position@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-position - unist-util-remove-position@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-remove-position - unist-util-stringify-position@4.0.0 — MIT — https://github.com/syntax-tree/unist-util-stringify-position -- unist-util-visit@5.1.0 — MIT — https://github.com/syntax-tree/unist-util-visit - unist-util-visit-parents@6.0.2 — MIT — https://github.com/syntax-tree/unist-util-visit-parents +- unist-util-visit@5.1.0 — MIT — https://github.com/syntax-tree/unist-util-visit - universalify@2.0.1 — MIT — https://github.com/RyanZim/universalify - unpipe@1.0.0 — MIT — https://github.com/stream-utils/unpipe - update-browserslist-db@1.2.3 — MIT — https://github.com/browserslist/update-db @@ -5579,9 +5582,9 @@ SECTION 2: npm packages (1316 packages) - validate-npm-package-name@5.0.1 — ISC — https://github.com/npm/validate-npm-package-name - vary@1.1.2 — MIT — https://github.com/jshttp/vary - vaul@1.1.2 — MIT — https://github.com/emilkowalski/vaul -- vfile@6.0.3 — MIT — https://github.com/vfile/vfile - vfile-location@5.0.3 — MIT — https://github.com/vfile/vfile-location - vfile-message@4.0.3 — MIT — https://github.com/vfile/vfile-message +- vfile@6.0.3 — MIT — https://github.com/vfile/vfile - vlq@1.0.1 — MIT — https://github.com/Rich-Harris/vlq - void-elements@3.1.0 — MIT — https://github.com/pugjs/void-elements - w3c-keyname@2.2.8 — MIT — https://github.com/marijnh/w3c-keyname @@ -5592,10 +5595,10 @@ SECTION 2: npm packages (1316 packages) - web-streams-polyfill@3.3.3 — MIT — https://github.com/MattiasBuelens/web-streams-polyfill - webidl-conversions@3.0.1 — BSD-2-Clause — https://github.com/jsdom/webidl-conversions - whatwg-fetch@3.6.20 — MIT — https://github.com/github/fetch -- whatwg-url@5.0.0 — MIT — https://github.com/jsdom/whatwg-url - whatwg-url-minimum@0.1.2 — MIT — https://github.com/kitten/whatwg-url-minimum -- which@2.0.2 — ISC — https://github.com/isaacs/node-which +- whatwg-url@5.0.0 — MIT — https://github.com/jsdom/whatwg-url - which-module@2.0.1 — ISC — https://github.com/nexdrew/which-module +- which@2.0.2 — ISC — https://github.com/isaacs/node-which - workerpool@9.1.1 — Apache-2.0 — https://github.com/josdejong/workerpool - wrap-ansi@6.2.0 — MIT — https://github.com/chalk/wrap-ansi - wrap-ansi@7.0.0 — MIT — https://github.com/chalk/wrap-ansi @@ -5611,12 +5614,12 @@ SECTION 2: npm packages (1316 packages) - y18n@5.0.8 — ISC — https://github.com/yargs/y18n - yallist@3.1.1 — ISC — https://github.com/isaacs/yallist - yaml@2.9.0 — ISC — https://github.com/eemeli/yaml -- yargs@15.4.1 — MIT — https://github.com/yargs/yargs -- yargs@17.7.3 — MIT — https://github.com/yargs/yargs - yargs-parser@18.1.3 — ISC — https://github.com/yargs/yargs-parser - yargs-parser@21.1.1 — ISC — https://github.com/yargs/yargs-parser -- zod@4.3.6 — MIT — https://github.com/colinhacks/zod +- yargs@15.4.1 — MIT — https://github.com/yargs/yargs +- yargs@17.7.3 — MIT — https://github.com/yargs/yargs - zod-to-json-schema@3.25.2 — ISC — https://github.com/StefanTerdell/zod-to-json-schema +- zod@4.3.6 — MIT — https://github.com/colinhacks/zod - zwitch@2.0.4 — MIT — https://github.com/wooorm/zwitch ============================================================================== @@ -6210,7 +6213,7 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[4] Applies to: cargo:anstream@1.0.0, cargo:anstyle@1.0.14, cargo:anstyle-parse@1.0.0, cargo:anstyle-query@1.1.5, cargo:anstyle-wincon@3.0.11, cargo:clap@4.6.1, cargo:clap_builder@4.6.0, cargo:clap_derive@4.6.1, cargo:clap_lex@1.1.0, cargo:colorchoice@1.0.5, cargo:is_terminal_polyfill@1.70.2, cargo:once_cell_polyfill@1.70.2, cargo:serde_spanned@1.1.1, cargo:toml@1.1.2+spec-1.1.0, cargo:toml_datetime@1.1.1+spec-1.1.0, cargo:toml_parser@1.1.2+spec-1.1.0, cargo:toml_writer@1.1.1+spec-1.1.0 +[4] Applies to: cargo:anstream@1.0.0, cargo:anstyle-parse@1.0.0, cargo:anstyle-query@1.1.5, cargo:anstyle-wincon@3.0.11, cargo:anstyle@1.0.14, cargo:clap_builder@4.6.0, cargo:clap_derive@4.6.1, cargo:clap_lex@1.1.0, cargo:clap@4.6.1, cargo:colorchoice@1.0.5, cargo:is_terminal_polyfill@1.70.2, cargo:once_cell_polyfill@1.70.2, cargo:serde_spanned@1.1.1, cargo:toml_datetime@1.1.1+spec-1.1.0, cargo:toml_parser@1.1.2+spec-1.1.0, cargo:toml_writer@1.1.1+spec-1.1.0, cargo:toml@1.1.2+spec-1.1.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -6435,7 +6438,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[5] Applies to: cargo:anyhow@1.0.103, cargo:dtoa@1.0.11, cargo:dyn-clone@1.0.20, cargo:erased-serde@0.4.10, cargo:itoa@1.0.18, cargo:proc-macro2@1.0.106, cargo:quote@1.0.46, cargo:ref-cast@1.0.25, cargo:ref-cast-impl@1.0.25, cargo:rustc-hash@2.1.3, cargo:semver@1.0.28, cargo:serde@1.0.228, cargo:serde_core@1.0.228, cargo:serde_derive@1.0.228, cargo:serde_derive_internals@0.29.1, cargo:serde_json@1.0.150, cargo:serde_repr@0.1.20, cargo:serde-untagged@0.1.9, cargo:syn@2.0.118, cargo:thiserror@1.0.69, cargo:thiserror@2.0.18, cargo:thiserror-impl@1.0.69, cargo:thiserror-impl@2.0.18, cargo:typeid@1.0.3 +[5] Applies to: cargo:anyhow@1.0.103, cargo:dtoa@1.0.11, cargo:dyn-clone@1.0.20, cargo:erased-serde@0.4.10, cargo:itoa@1.0.18, cargo:proc-macro2@1.0.106, cargo:quote@1.0.46, cargo:ref-cast-impl@1.0.25, cargo:ref-cast@1.0.25, cargo:rustc-hash@2.1.3, cargo:semver@1.0.28, cargo:serde_core@1.0.228, cargo:serde_derive_internals@0.29.1, cargo:serde_derive@1.0.228, cargo:serde_json@1.0.150, cargo:serde_repr@0.1.20, cargo:serde-untagged@0.1.9, cargo:serde@1.0.228, cargo:syn@2.0.118, cargo:thiserror-impl@1.0.69, cargo:thiserror-impl@2.0.18, cargo:thiserror@1.0.69, cargo:thiserror@2.0.18, cargo:typeid@1.0.3 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -7097,7 +7100,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[8] Applies to: cargo:bitflags@1.3.2, cargo:bitflags@2.13.0, cargo:glob@0.3.3, cargo:log@0.4.33, cargo:num-traits@0.2.19, cargo:regex@1.13.0, cargo:regex-automata@0.4.15, cargo:regex-syntax@0.8.11 +[8] Applies to: cargo:bitflags@1.3.2, cargo:bitflags@2.13.0, cargo:glob@0.3.3, cargo:log@0.4.33, cargo:num-traits@0.2.19, cargo:regex-automata@0.4.15, cargo:regex-syntax@0.8.11, cargo:regex@1.13.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -11184,7 +11187,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[28] Applies to: cargo:cssparser@0.36.0, cargo:cssparser-macros@0.6.1, cargo:dtoa-short@0.3.5 +[28] Applies to: cargo:cssparser-macros@0.6.1, cargo:cssparser@0.36.0, cargo:dtoa-short@0.3.5 ------------------------------------------------------------------------------ Mozilla Public License Version 2.0 ================================== @@ -11561,7 +11564,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[29] Applies to: cargo:ctor@0.8.0, cargo:ctor-proc-macro@0.0.7, cargo:dtor@0.3.0, cargo:dtor-proc-macro@0.0.6 +[29] Applies to: cargo:ctor-proc-macro@0.0.7, cargo:ctor@0.8.0, cargo:dtor-proc-macro@0.0.6, cargo:dtor@0.3.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -11772,7 +11775,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[30] Applies to: cargo:darling@0.23.0, cargo:darling_core@0.23.0, cargo:darling_macro@0.23.0 +[30] Applies to: cargo:darling_core@0.23.0, cargo:darling_macro@0.23.0, cargo:darling@0.23.0 ------------------------------------------------------------------------------ MIT License @@ -12022,7 +12025,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[32] Applies to: cargo:derive_more@2.1.1, cargo:derive_more-impl@2.1.1 +[32] Applies to: cargo:derive_more-impl@2.1.1, cargo:derive_more@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -12278,7 +12281,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[34] Applies to: cargo:dirs@6.0.0, cargo:dirs-sys@0.5.0 +[34] Applies to: cargo:dirs-sys@0.5.0, cargo:dirs@6.0.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -12889,7 +12892,7 @@ express Statement of Purpose. this CC0 or use of the Work. ------------------------------------------------------------------------------ -[38] Applies to: cargo:either@1.16.0, cargo:serde_with@3.21.0, cargo:serde_with_macros@3.21.0 +[38] Applies to: cargo:either@1.16.0, cargo:serde_with_macros@3.21.0, cargo:serde_with@3.21.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -15937,7 +15940,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[54] Applies to: cargo:icu_collections@2.2.0, cargo:icu_locale_core@2.2.0, cargo:icu_normalizer@2.2.0, cargo:icu_normalizer_data@2.2.0, cargo:icu_properties@2.2.0, cargo:icu_properties_data@2.2.0, cargo:icu_provider@2.2.0, cargo:litemap@0.8.2, cargo:potential_utf@0.1.5, cargo:tinystr@0.8.3, cargo:writeable@0.6.3, cargo:yoke@0.8.3, cargo:yoke-derive@0.8.2, cargo:zerofrom@0.1.8, cargo:zerofrom-derive@0.1.7, cargo:zerotrie@0.2.4, cargo:zerovec@0.11.6, cargo:zerovec-derive@0.11.3 +[54] Applies to: cargo:icu_collections@2.2.0, cargo:icu_locale_core@2.2.0, cargo:icu_normalizer_data@2.2.0, cargo:icu_normalizer@2.2.0, cargo:icu_properties_data@2.2.0, cargo:icu_properties@2.2.0, cargo:icu_provider@2.2.0, cargo:litemap@0.8.2, cargo:potential_utf@0.1.5, cargo:tinystr@0.8.3, cargo:writeable@0.6.3, cargo:yoke-derive@0.8.2, cargo:yoke@0.8.3, cargo:zerofrom-derive@0.1.7, cargo:zerofrom@0.1.8, cargo:zerotrie@0.2.4, cargo:zerovec-derive@0.11.3, cargo:zerovec@0.11.6 ------------------------------------------------------------------------------ UNICODE LICENSE V3 @@ -16010,7 +16013,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[56] Applies to: cargo:idna@1.1.0, cargo:percent-encoding@2.3.2, cargo:url@2.5.8 +[56] Applies to: cargo:idna_adapter@1.2.2 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -16214,7 +16217,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -Copyright (c) 2013-2025 The rust-url developers +Copyright (c) The rust-url developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -16241,7 +16244,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[57] Applies to: cargo:idna_adapter@1.2.2 +[57] Applies to: cargo:idna@1.1.0, cargo:percent-encoding@2.3.2, cargo:url@2.5.8 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -16445,7 +16448,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -Copyright (c) The rust-url developers +Copyright (c) 2013-2025 The rust-url developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -17613,7 +17616,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[64] Applies to: cargo:lock_api@0.4.14, cargo:parking_lot@0.12.5, cargo:parking_lot_core@0.9.12 +[64] Applies to: cargo:lock_api@0.4.14, cargo:parking_lot_core@0.9.12, cargo:parking_lot@0.12.5 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -19675,7 +19678,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[75] Applies to: cargo:phf@0.13.1, cargo:phf_generator@0.13.1, cargo:phf_macros@0.13.1, cargo:phf_shared@0.13.1 +[75] Applies to: cargo:phf_generator@0.13.1, cargo:phf_macros@0.13.1, cargo:phf_shared@0.13.1, cargo:phf@0.13.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -20648,7 +20651,7 @@ Permission is granted to anyone to use this software for any purpose, including 3. This notice may not be removed or altered from any source distribution. ------------------------------------------------------------------------------ -[83] Applies to: cargo:rayon@1.12.0, cargo:rayon-core@1.13.0 +[83] Applies to: cargo:rayon-core@1.13.0, cargo:rayon@1.12.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -20933,7 +20936,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[85] Applies to: cargo:schemars@0.8.22, cargo:schemars@0.9.0, cargo:schemars@1.2.1, cargo:schemars_derive@0.8.22 +[85] Applies to: cargo:schemars_derive@0.8.22, cargo:schemars@0.8.22, cargo:schemars@0.9.0, cargo:schemars@1.2.1 ------------------------------------------------------------------------------ MIT License @@ -21189,7 +21192,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[87] Applies to: cargo:serialize-to-javascript@0.1.2, cargo:serialize-to-javascript-impl@0.1.2 +[87] Applies to: cargo:serialize-to-javascript-impl@0.1.2, cargo:serialize-to-javascript@0.1.2 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -23121,7 +23124,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[100] Applies to: cargo:time@0.3.53, cargo:time-core@0.1.9, cargo:time-macros@0.2.31 +[100] Applies to: cargo:time-core@0.1.9, cargo:time-macros@0.2.31, cargo:time@0.3.53 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -23321,7 +23324,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[101] Applies to: cargo:tinyvec@1.12.0 +[101] Applies to: cargo:tinyvec_macros@0.1.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -23511,7 +23514,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2020 Tomasz "Soveu" Marx Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -23525,26 +23528,50 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +MIT License -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Copyright (c) 2020 Soveu -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (c) 2019 Daniel "Lokathor" Gee. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: +zlib License -1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. +(C) 2020 Tomasz "Soveu" Marx -2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. ------------------------------------------------------------------------------ -[102] Applies to: cargo:tinyvec_macros@0.1.1 +[102] Applies to: cargo:tinyvec@1.12.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -23734,7 +23761,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2020 Tomasz "Soveu" Marx + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -23748,46 +23775,22 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -MIT License - -Copyright (c) 2020 Soveu +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright (c) 2019 Daniel "Lokathor" Gee. -zlib License +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -(C) 2020 Tomasz "Soveu" Marx +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. ------------------------------------------------------------------------------ @@ -23816,7 +23819,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[104] Applies to: cargo:tracing@0.1.44, cargo:tracing-core@0.1.36 +[104] Applies to: cargo:tracing-core@0.1.36, cargo:tracing@0.1.44 ------------------------------------------------------------------------------ Copyright (c) 2019 Tokio Contributors @@ -25731,7 +25734,7 @@ PackageDownloadLocation: git+ssh://github.com/tauri-apps/window-vibrancy.git Creator: Person: Daniel Thompson-Yvetot ------------------------------------------------------------------------------ -[114] Applies to: cargo:windows@0.57.0, cargo:windows@0.61.3, cargo:windows_x86_64_msvc@0.52.6, cargo:windows-collections@0.2.0, cargo:windows-core@0.57.0, cargo:windows-core@0.61.2, cargo:windows-future@0.2.1, cargo:windows-implement@0.57.0, cargo:windows-implement@0.60.2, cargo:windows-interface@0.57.0, cargo:windows-interface@0.59.3, cargo:windows-link@0.1.3, cargo:windows-link@0.2.1, cargo:windows-numerics@0.2.0, cargo:windows-result@0.1.2, cargo:windows-result@0.3.4, cargo:windows-strings@0.4.2, cargo:windows-sys@0.59.0, cargo:windows-sys@0.61.2, cargo:windows-targets@0.52.6, cargo:windows-threading@0.1.0, cargo:windows-version@0.1.7 +[114] Applies to: cargo:windows_x86_64_msvc@0.52.6, cargo:windows-collections@0.2.0, cargo:windows-core@0.57.0, cargo:windows-core@0.61.2, cargo:windows-future@0.2.1, cargo:windows-implement@0.57.0, cargo:windows-implement@0.60.2, cargo:windows-interface@0.57.0, cargo:windows-interface@0.59.3, cargo:windows-link@0.1.3, cargo:windows-link@0.2.1, cargo:windows-numerics@0.2.0, cargo:windows-result@0.1.2, cargo:windows-result@0.3.4, cargo:windows-strings@0.4.2, cargo:windows-sys@0.59.0, cargo:windows-sys@0.61.2, cargo:windows-targets@0.52.6, cargo:windows-threading@0.1.0, cargo:windows-version@0.1.7, cargo:windows@0.57.0, cargo:windows@0.61.3 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -26511,7 +26514,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[122] Applies to: npm:@babel/code-frame@7.29.7, npm:@babel/compat-data@7.29.7, npm:@babel/core@7.29.7, npm:@babel/generator@7.29.7, npm:@babel/helper-annotate-as-pure@7.29.7, npm:@babel/helper-compilation-targets@7.29.7, npm:@babel/helper-create-class-features-plugin@7.29.7, npm:@babel/helper-create-regexp-features-plugin@7.29.7, npm:@babel/helper-globals@7.29.7, npm:@babel/helper-member-expression-to-functions@7.29.7, npm:@babel/helper-module-imports@7.29.7, npm:@babel/helper-module-transforms@7.29.7, npm:@babel/helper-optimise-call-expression@7.29.7, npm:@babel/helper-plugin-utils@7.29.7, npm:@babel/helper-remap-async-to-generator@7.29.7, npm:@babel/helper-replace-supers@7.29.7, npm:@babel/helper-skip-transparent-expression-wrappers@7.29.7, npm:@babel/helper-string-parser@7.29.7, npm:@babel/helper-validator-identifier@7.29.7, npm:@babel/helper-validator-option@7.29.7, npm:@babel/helper-wrap-function@7.29.7, npm:@babel/plugin-proposal-decorators@7.29.7, npm:@babel/plugin-proposal-export-default-from@7.29.7, npm:@babel/plugin-syntax-decorators@7.29.7, npm:@babel/plugin-syntax-dynamic-import@7.8.3, npm:@babel/plugin-syntax-export-default-from@7.29.7, npm:@babel/plugin-syntax-flow@7.29.7, npm:@babel/plugin-syntax-jsx@7.29.7, npm:@babel/plugin-syntax-nullish-coalescing-operator@7.8.3, npm:@babel/plugin-syntax-optional-chaining@7.8.3, npm:@babel/plugin-syntax-typescript@7.29.7, npm:@babel/plugin-transform-arrow-functions@7.29.7, npm:@babel/plugin-transform-async-generator-functions@7.29.7, npm:@babel/plugin-transform-async-to-generator@7.29.7, npm:@babel/plugin-transform-block-scoping@7.29.7, npm:@babel/plugin-transform-class-properties@7.29.7, npm:@babel/plugin-transform-class-static-block@7.29.7, npm:@babel/plugin-transform-classes@7.29.7, npm:@babel/plugin-transform-destructuring@7.29.7, npm:@babel/plugin-transform-export-namespace-from@7.29.7, npm:@babel/plugin-transform-flow-strip-types@7.29.7, npm:@babel/plugin-transform-for-of@7.29.7, npm:@babel/plugin-transform-logical-assignment-operators@7.29.7, npm:@babel/plugin-transform-modules-commonjs@7.29.7, npm:@babel/plugin-transform-named-capturing-groups-regex@7.29.7, npm:@babel/plugin-transform-nullish-coalescing-operator@7.29.7, npm:@babel/plugin-transform-object-rest-spread@7.29.7, npm:@babel/plugin-transform-optional-catch-binding@7.29.7, npm:@babel/plugin-transform-optional-chaining@7.29.7, npm:@babel/plugin-transform-parameters@7.29.7, npm:@babel/plugin-transform-private-methods@7.29.7, npm:@babel/plugin-transform-private-property-in-object@7.29.7, npm:@babel/plugin-transform-react-display-name@7.29.7, npm:@babel/plugin-transform-react-jsx@7.29.7, npm:@babel/plugin-transform-react-jsx-development@7.29.7, npm:@babel/plugin-transform-react-pure-annotations@7.29.7, npm:@babel/plugin-transform-runtime@7.29.7, npm:@babel/plugin-transform-shorthand-properties@7.29.7, npm:@babel/plugin-transform-template-literals@7.29.7, npm:@babel/plugin-transform-typescript@7.29.7, npm:@babel/plugin-transform-unicode-regex@7.29.7, npm:@babel/preset-typescript@7.29.7, npm:@babel/runtime@7.29.7, npm:@babel/template@7.29.7, npm:@babel/traverse@7.29.7, npm:@babel/types@7.29.7 +[122] Applies to: npm:@babel/code-frame@7.29.7, npm:@babel/compat-data@7.29.7, npm:@babel/core@7.29.7, npm:@babel/generator@7.29.7, npm:@babel/helper-annotate-as-pure@7.29.7, npm:@babel/helper-compilation-targets@7.29.7, npm:@babel/helper-create-class-features-plugin@7.29.7, npm:@babel/helper-create-regexp-features-plugin@7.29.7, npm:@babel/helper-globals@7.29.7, npm:@babel/helper-member-expression-to-functions@7.29.7, npm:@babel/helper-module-imports@7.29.7, npm:@babel/helper-module-transforms@7.29.7, npm:@babel/helper-optimise-call-expression@7.29.7, npm:@babel/helper-plugin-utils@7.29.7, npm:@babel/helper-remap-async-to-generator@7.29.7, npm:@babel/helper-replace-supers@7.29.7, npm:@babel/helper-skip-transparent-expression-wrappers@7.29.7, npm:@babel/helper-string-parser@7.29.7, npm:@babel/helper-validator-identifier@7.29.7, npm:@babel/helper-validator-option@7.29.7, npm:@babel/helper-wrap-function@7.29.7, npm:@babel/plugin-proposal-decorators@7.29.7, npm:@babel/plugin-proposal-export-default-from@7.29.7, npm:@babel/plugin-syntax-decorators@7.29.7, npm:@babel/plugin-syntax-dynamic-import@7.8.3, npm:@babel/plugin-syntax-export-default-from@7.29.7, npm:@babel/plugin-syntax-flow@7.29.7, npm:@babel/plugin-syntax-jsx@7.29.7, npm:@babel/plugin-syntax-nullish-coalescing-operator@7.8.3, npm:@babel/plugin-syntax-optional-chaining@7.8.3, npm:@babel/plugin-syntax-typescript@7.29.7, npm:@babel/plugin-transform-arrow-functions@7.29.7, npm:@babel/plugin-transform-async-generator-functions@7.29.7, npm:@babel/plugin-transform-async-to-generator@7.29.7, npm:@babel/plugin-transform-block-scoping@7.29.7, npm:@babel/plugin-transform-class-properties@7.29.7, npm:@babel/plugin-transform-class-static-block@7.29.7, npm:@babel/plugin-transform-classes@7.29.7, npm:@babel/plugin-transform-destructuring@7.29.7, npm:@babel/plugin-transform-export-namespace-from@7.29.7, npm:@babel/plugin-transform-flow-strip-types@7.29.7, npm:@babel/plugin-transform-for-of@7.29.7, npm:@babel/plugin-transform-logical-assignment-operators@7.29.7, npm:@babel/plugin-transform-modules-commonjs@7.29.7, npm:@babel/plugin-transform-named-capturing-groups-regex@7.29.7, npm:@babel/plugin-transform-nullish-coalescing-operator@7.29.7, npm:@babel/plugin-transform-object-rest-spread@7.29.7, npm:@babel/plugin-transform-optional-catch-binding@7.29.7, npm:@babel/plugin-transform-optional-chaining@7.29.7, npm:@babel/plugin-transform-parameters@7.29.7, npm:@babel/plugin-transform-private-methods@7.29.7, npm:@babel/plugin-transform-private-property-in-object@7.29.7, npm:@babel/plugin-transform-react-display-name@7.29.7, npm:@babel/plugin-transform-react-jsx-development@7.29.7, npm:@babel/plugin-transform-react-jsx@7.29.7, npm:@babel/plugin-transform-react-pure-annotations@7.29.7, npm:@babel/plugin-transform-runtime@7.29.7, npm:@babel/plugin-transform-shorthand-properties@7.29.7, npm:@babel/plugin-transform-template-literals@7.29.7, npm:@babel/plugin-transform-typescript@7.29.7, npm:@babel/plugin-transform-unicode-regex@7.29.7, npm:@babel/preset-typescript@7.29.7, npm:@babel/runtime@7.29.7, npm:@babel/template@7.29.7, npm:@babel/traverse@7.29.7, npm:@babel/types@7.29.7 ------------------------------------------------------------------------------ MIT License @@ -27893,7 +27896,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[136] Applies to: npm:@expo/cli@56.1.20, npm:@expo/config@56.0.12, npm:@expo/config-plugins@56.0.13, npm:@expo/devtools@56.0.2, npm:@expo/dom-webview@56.0.6, npm:@expo/expo-modules-macros-plugin@0.2.2, npm:@expo/fingerprint@0.19.8, npm:@expo/image-utils@0.10.3, npm:@expo/image-utils@0.10.4, npm:@expo/inline-modules@0.0.14, npm:@expo/json-file@10.2.0, npm:@expo/json-file@11.0.1, npm:@expo/local-build-cache-provider@56.0.10, npm:@expo/log-box@56.0.14, npm:@expo/metro-config@56.0.17, npm:@expo/metro-file-map@56.0.3, npm:@expo/metro-runtime@56.0.17, npm:@expo/osascript@2.7.1, npm:@expo/package-manager@1.13.1, npm:@expo/plist@0.7.0, npm:@expo/prebuild-config@56.0.20, npm:@expo/router-server@56.0.16, npm:babel-preset-expo@56.0.17, npm:expo@56.0.16, npm:expo-apple-authentication@56.0.4, npm:expo-application@56.0.3, npm:expo-asset@56.0.20, npm:expo-audio@56.0.12, npm:expo-auth-session@56.0.15, npm:expo-blur@56.0.4, npm:expo-build-properties@56.0.23, npm:expo-clipboard@56.0.4, npm:expo-constants@56.0.21, npm:expo-constants@56.0.22, npm:expo-crypto@56.0.4, npm:expo-document-picker@56.0.4, npm:expo-eas-client@56.0.1, npm:expo-file-system@56.0.8, npm:expo-font@56.0.7, npm:expo-glass-effect@56.0.4, npm:expo-image@56.0.11, npm:expo-image-loader@56.0.3, npm:expo-image-manipulator@56.0.22, npm:expo-image-picker@56.0.21, npm:expo-keep-awake@56.0.3, npm:expo-linking@56.0.15, npm:expo-localization@56.0.6, npm:expo-manifests@56.0.4, npm:expo-media-library@56.0.9, npm:expo-modules-autolinking@56.0.20, npm:expo-modules-core@56.0.21, npm:expo-modules-jsi@56.0.12, npm:expo-notifications@56.0.22, npm:expo-secure-store@56.0.4, npm:expo-server@56.0.5, npm:expo-sharing@56.0.22, npm:expo-splash-screen@56.0.13, npm:expo-status-bar@56.0.4, npm:expo-symbols@56.0.6, npm:expo-updates-interface@56.0.2, npm:expo-web-browser@56.0.5 +[136] Applies to: npm:@expo/cli@56.1.20, npm:@expo/config-plugins@56.0.13, npm:@expo/config@56.0.12, npm:@expo/devtools@56.0.2, npm:@expo/dom-webview@56.0.6, npm:@expo/expo-modules-macros-plugin@0.2.2, npm:@expo/fingerprint@0.19.8, npm:@expo/image-utils@0.10.3, npm:@expo/image-utils@0.10.4, npm:@expo/inline-modules@0.0.14, npm:@expo/json-file@10.2.0, npm:@expo/json-file@11.0.1, npm:@expo/local-build-cache-provider@56.0.10, npm:@expo/log-box@56.0.14, npm:@expo/metro-config@56.0.17, npm:@expo/metro-file-map@56.0.3, npm:@expo/metro-runtime@56.0.17, npm:@expo/osascript@2.7.1, npm:@expo/package-manager@1.13.1, npm:@expo/plist@0.7.0, npm:@expo/prebuild-config@56.0.20, npm:@expo/router-server@56.0.16, npm:babel-preset-expo@56.0.17, npm:expo-apple-authentication@56.0.4, npm:expo-application@56.0.3, npm:expo-asset@56.0.20, npm:expo-audio@56.0.12, npm:expo-auth-session@56.0.15, npm:expo-blur@56.0.4, npm:expo-build-properties@56.0.23, npm:expo-clipboard@56.0.4, npm:expo-constants@56.0.21, npm:expo-constants@56.0.22, npm:expo-crypto@56.0.4, npm:expo-document-picker@56.0.4, npm:expo-eas-client@56.0.1, npm:expo-file-system@56.0.8, npm:expo-font@56.0.7, npm:expo-glass-effect@56.0.4, npm:expo-image-loader@56.0.3, npm:expo-image-manipulator@56.0.22, npm:expo-image-picker@56.0.21, npm:expo-image@56.0.11, npm:expo-keep-awake@56.0.3, npm:expo-linking@56.0.15, npm:expo-localization@56.0.6, npm:expo-manifests@56.0.4, npm:expo-media-library@56.0.9, npm:expo-modules-autolinking@56.0.20, npm:expo-modules-core@56.0.21, npm:expo-modules-jsi@56.0.12, npm:expo-notifications@56.0.22, npm:expo-secure-store@56.0.4, npm:expo-server@56.0.5, npm:expo-sharing@56.0.22, npm:expo-splash-screen@56.0.13, npm:expo-status-bar@56.0.4, npm:expo-symbols@56.0.6, npm:expo-updates-interface@56.0.2, npm:expo-web-browser@56.0.5, npm:expo@56.0.16 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -28704,7 +28707,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[154] Applies to: npm:@jest/schemas@29.6.3, npm:@jest/types@29.6.3, npm:babel-plugin-syntax-hermes-parser@0.33.3, npm:hermes-estree@0.33.3, npm:hermes-estree@0.35.0, npm:hermes-parser@0.33.3, npm:hermes-parser@0.35.0, npm:jest-get-type@29.6.3, npm:jest-util@29.7.0, npm:jest-validate@29.7.0, npm:jest-worker@29.7.0, npm:pretty-format@29.7.0, npm:react@19.2.3, npm:react-dom@19.2.3, npm:react-is@19.2.7, npm:react-native@0.85.3, npm:scheduler@0.27.0, npm:use-sync-external-store@1.6.0 +[154] Applies to: npm:@jest/schemas@29.6.3, npm:@jest/types@29.6.3, npm:babel-plugin-syntax-hermes-parser@0.33.3, npm:hermes-estree@0.33.3, npm:hermes-estree@0.35.0, npm:hermes-parser@0.33.3, npm:hermes-parser@0.35.0, npm:jest-get-type@29.6.3, npm:jest-util@29.7.0, npm:jest-validate@29.7.0, npm:jest-worker@29.7.0, npm:pretty-format@29.7.0, npm:react-dom@19.2.3, npm:react-is@19.2.7, npm:react-native@0.85.3, npm:react@19.2.3, npm:scheduler@0.27.0, npm:use-sync-external-store@1.6.0 ------------------------------------------------------------------------------ MIT License @@ -28962,7 +28965,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[165] Applies to: npm:@lit/reactive-element@2.1.2, npm:lit@3.3.3, npm:lit-element@4.2.2, npm:lit-html@3.3.3 +[165] Applies to: npm:@lit/reactive-element@2.1.2, npm:lit-element@4.2.2, npm:lit-html@3.3.3, npm:lit@3.3.3 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -29169,7 +29172,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[173] Applies to: npm:@parcel/watcher@2.5.6, npm:@parcel/watcher-darwin-arm64@2.5.6, npm:@parcel/watcher-darwin-x64@2.5.6, npm:@parcel/watcher-linux-arm64-glibc@2.5.6, npm:@parcel/watcher-linux-x64-glibc@2.5.6, npm:@parcel/watcher-win32-arm64@2.5.6, npm:@parcel/watcher-win32-x64@2.5.6 +[173] Applies to: npm:@parcel/watcher-darwin-arm64@2.5.6, npm:@parcel/watcher-darwin-x64@2.5.6, npm:@parcel/watcher-linux-arm64-glibc@2.5.6, npm:@parcel/watcher-linux-x64-glibc@2.5.6, npm:@parcel/watcher-win32-arm64@2.5.6, npm:@parcel/watcher-win32-x64@2.5.6, npm:@parcel/watcher@2.5.6 ------------------------------------------------------------------------------ MIT License @@ -29477,7 +29480,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[185] Applies to: npm:@types/d3@7.4.3, npm:@types/d3-array@3.2.2, npm:@types/d3-axis@3.0.6, npm:@types/d3-brush@3.0.6, npm:@types/d3-chord@3.0.6, npm:@types/d3-color@3.1.3, npm:@types/d3-contour@3.0.6, npm:@types/d3-delaunay@6.0.4, npm:@types/d3-dispatch@3.0.7, npm:@types/d3-drag@3.0.7, npm:@types/d3-dsv@3.0.7, npm:@types/d3-ease@3.0.2, npm:@types/d3-fetch@3.0.7, npm:@types/d3-force@3.0.10, npm:@types/d3-format@3.0.4, npm:@types/d3-geo@3.1.0, npm:@types/d3-hierarchy@3.1.7, npm:@types/d3-interpolate@3.0.4, npm:@types/d3-path@3.1.1, npm:@types/d3-polygon@3.0.2, npm:@types/d3-quadtree@3.0.6, npm:@types/d3-random@3.0.4, npm:@types/d3-scale@4.0.9, npm:@types/d3-scale-chromatic@3.1.0, npm:@types/d3-selection@3.0.11, npm:@types/d3-shape@3.1.8, npm:@types/d3-time@3.0.4, npm:@types/d3-time-format@4.0.3, npm:@types/d3-timer@3.0.2, npm:@types/d3-transition@3.0.9, npm:@types/d3-zoom@3.0.8, npm:@types/debug@4.1.13, npm:@types/estree@1.0.9, npm:@types/estree-jsx@1.0.5, npm:@types/geojson@7946.0.16, npm:@types/hast@3.0.5, npm:@types/istanbul-lib-coverage@2.0.6, npm:@types/istanbul-lib-report@3.0.3, npm:@types/istanbul-reports@3.0.4, npm:@types/katex@0.16.8, npm:@types/mdast@4.0.4, npm:@types/ms@2.1.0, npm:@types/node@25.9.5, npm:@types/pako@2.0.4, npm:@types/react@19.2.17, npm:@types/react-test-renderer@19.1.0, npm:@types/trusted-types@2.0.7, npm:@types/unist@2.0.11, npm:@types/unist@3.0.3, npm:@types/use-sync-external-store@0.0.6, npm:@types/ws@8.18.1, npm:@types/yargs@17.0.35, npm:@types/yargs-parser@21.0.3 +[185] Applies to: npm:@types/d3-array@3.2.2, npm:@types/d3-axis@3.0.6, npm:@types/d3-brush@3.0.6, npm:@types/d3-chord@3.0.6, npm:@types/d3-color@3.1.3, npm:@types/d3-contour@3.0.6, npm:@types/d3-delaunay@6.0.4, npm:@types/d3-dispatch@3.0.7, npm:@types/d3-drag@3.0.7, npm:@types/d3-dsv@3.0.7, npm:@types/d3-ease@3.0.2, npm:@types/d3-fetch@3.0.7, npm:@types/d3-force@3.0.10, npm:@types/d3-format@3.0.4, npm:@types/d3-geo@3.1.0, npm:@types/d3-hierarchy@3.1.7, npm:@types/d3-interpolate@3.0.4, npm:@types/d3-path@3.1.1, npm:@types/d3-polygon@3.0.2, npm:@types/d3-quadtree@3.0.6, npm:@types/d3-random@3.0.4, npm:@types/d3-scale-chromatic@3.1.0, npm:@types/d3-scale@4.0.9, npm:@types/d3-selection@3.0.11, npm:@types/d3-shape@3.1.8, npm:@types/d3-time-format@4.0.3, npm:@types/d3-time@3.0.4, npm:@types/d3-timer@3.0.2, npm:@types/d3-transition@3.0.9, npm:@types/d3-zoom@3.0.8, npm:@types/d3@7.4.3, npm:@types/debug@4.1.13, npm:@types/estree-jsx@1.0.5, npm:@types/estree@1.0.9, npm:@types/geojson@7946.0.16, npm:@types/hast@3.0.5, npm:@types/istanbul-lib-coverage@2.0.6, npm:@types/istanbul-lib-report@3.0.3, npm:@types/istanbul-reports@3.0.4, npm:@types/katex@0.16.8, npm:@types/mdast@4.0.4, npm:@types/ms@2.1.0, npm:@types/node@25.9.5, npm:@types/pako@2.0.4, npm:@types/react-test-renderer@19.1.0, npm:@types/react@19.2.17, npm:@types/trusted-types@2.0.7, npm:@types/unist@2.0.11, npm:@types/unist@3.0.3, npm:@types/use-sync-external-store@0.0.6, npm:@types/ws@8.18.1, npm:@types/yargs-parser@21.0.3, npm:@types/yargs@17.0.35 ------------------------------------------------------------------------------ MIT License @@ -29809,11 +29812,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[199] Applies to: npm:ajv@7.2.4, npm:ajv@8.20.0 +[199] Applies to: npm:ajv-formats@1.6.1, npm:ajv-formats@3.0.1 ------------------------------------------------------------------------------ -The MIT License (MIT) +MIT License -Copyright (c) 2015-2021 Evgeny Poberezkin +Copyright (c) 2020 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -29834,11 +29837,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[200] Applies to: npm:ajv-formats@1.6.1, npm:ajv-formats@3.0.1 +[200] Applies to: npm:ajv@7.2.4, npm:ajv@8.20.0 ------------------------------------------------------------------------------ -MIT License +The MIT License (MIT) -Copyright (c) 2020 Evgeny Poberezkin +Copyright (c) 2015-2021 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -30630,7 +30633,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[217] Applies to: npm:bail@2.0.2, npm:ccount@2.0.1, npm:character-entities@2.0.2, npm:character-entities-html4@2.1.0, npm:character-entities-legacy@3.0.0, npm:character-reference-invalid@2.0.1, npm:mdast-util-to-string@4.0.0, npm:unist-util-find-after@5.0.0, npm:unist-util-position@5.0.0, npm:unist-util-visit@5.1.0 +[217] Applies to: npm:bail@2.0.2, npm:ccount@2.0.1, npm:character-entities-html4@2.1.0, npm:character-entities-legacy@3.0.0, npm:character-entities@2.0.2, npm:character-reference-invalid@2.0.1, npm:mdast-util-to-string@4.0.0, npm:unist-util-find-after@5.0.0, npm:unist-util-position@5.0.0, npm:unist-util-visit@5.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -31078,7 +31081,48 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[233] Applies to: npm:buffer@5.7.1 +[233] Applies to: npm:buffer-equal-constant-time@1.0.1 +------------------------------------------------------------------------------ +Copyright (c) 2013, GoInstant Inc., a salesforce.com company +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------------------ +[234] Applies to: npm:buffer-from@1.1.2 +------------------------------------------------------------------------------ +MIT License + +Copyright (c) 2016, 2018 Linus Unnebäck + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------------------ +[235] Applies to: npm:buffer@5.7.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -31102,47 +31146,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[234] Applies to: npm:buffer-equal-constant-time@1.0.1 ------------------------------------------------------------------------------- -Copyright (c) 2013, GoInstant Inc., a salesforce.com company -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ------------------------------------------------------------------------------- -[235] Applies to: npm:buffer-from@1.1.2 ------------------------------------------------------------------------------- -MIT License - -Copyright (c) 2016, 2018 Linus Unnebäck - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ------------------------------------------------------------------------------ [236] Applies to: npm:buildcheck@0.0.7, npm:cpu-features@0.0.10, npm:ssh2@1.17.0 ------------------------------------------------------------------------------ @@ -32213,9 +32216,9 @@ See the License for the specific language governing permissions and limitations under the License. ------------------------------------------------------------------------------ -[250] Applies to: npm:color@4.2.3 +[250] Applies to: npm:color-convert@1.9.3, npm:color-convert@2.0.1 ------------------------------------------------------------------------------ -Copyright (c) 2012 Heather Arthur +Copyright (c) 2011-2016 Heather Arthur Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -32237,9 +32240,21 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[251] Applies to: npm:color-convert@1.9.3, npm:color-convert@2.0.1 +[251] Applies to: npm:color-name@1.1.3, npm:color-name@1.1.4 ------------------------------------------------------------------------------ -Copyright (c) 2011-2016 Heather Arthur +The MIT License (MIT) +Copyright (c) 2015 Dmitry Ivanov + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[252] Applies to: npm:color-string@1.9.1 +------------------------------------------------------------------------------ +Copyright (c) 2011 Heather Arthur Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -32261,21 +32276,9 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[252] Applies to: npm:color-name@1.1.3, npm:color-name@1.1.4 +[253] Applies to: npm:color@4.2.3 ------------------------------------------------------------------------------ -The MIT License (MIT) -Copyright (c) 2015 Dmitry Ivanov - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ------------------------------------------------------------------------------- -[253] Applies to: npm:color-string@1.9.1 ------------------------------------------------------------------------------- -Copyright (c) 2011 Heather Arthur +Copyright (c) 2012 Heather Arthur Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -32508,12 +32511,11 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[262] Applies to: npm:cookie@0.7.2, npm:cookie@1.1.1 +[262] Applies to: npm:cookie-signature@1.2.2 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2012-2014 Roman Shtylman -Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2012–2024 LearnBoost and other contributors; Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -32535,11 +32537,12 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[263] Applies to: npm:cookie-signature@1.2.2 +[263] Applies to: npm:cookie@0.7.2, npm:cookie@1.1.1 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2012–2024 LearnBoost and other contributors; +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -32795,7 +32798,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[274] Applies to: npm:css.escape@1.5.1, npm:emoji-regex@8.0.0, npm:emoji-regex@9.2.2, npm:jsesc@3.1.0, npm:punycode@2.3.1, npm:regenerate@1.4.2, npm:regenerate-unicode-properties@10.2.2, npm:regexpu-core@6.4.0, npm:unicode-canonical-property-names-ecmascript@2.0.1, npm:unicode-match-property-ecmascript@2.0.0, npm:unicode-match-property-value-ecmascript@2.2.1, npm:unicode-property-aliases-ecmascript@2.2.0 +[274] Applies to: npm:css.escape@1.5.1, npm:emoji-regex@8.0.0, npm:emoji-regex@9.2.2, npm:jsesc@3.1.0, npm:punycode@2.3.1, npm:regenerate-unicode-properties@10.2.2, npm:regenerate@1.4.2, npm:regexpu-core@6.4.0, npm:unicode-canonical-property-names-ecmascript@2.0.1, npm:unicode-match-property-ecmascript@2.0.0, npm:unicode-match-property-value-ecmascript@2.2.1, npm:unicode-property-aliases-ecmascript@2.2.0 ------------------------------------------------------------------------------ Copyright Mathias Bynens @@ -32842,9 +32845,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[276] Applies to: npm:cytoscape@3.34.0 +[276] Applies to: npm:cytoscape-cose-bilkent@4.1.0 ------------------------------------------------------------------------------ -Copyright (c) 2016-2026, The Cytoscape Consortium. +Copyright (c) 2016-2018, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -32864,18 +32867,10 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -import fs from 'fs'; -import path from 'path'; - -import { fileURLToPath } from 'url'; -import { dirname } from 'path'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); - -const year = (new Date()).getFullYear(); - -const license = `Copyright (c) 2016-${year}, The Cytoscape Consortium. +------------------------------------------------------------------------------ +[277] Applies to: npm:cytoscape-fcose@2.2.0 +------------------------------------------------------------------------------ +Copyright (c) 2018 - present, iVis-at-Bilkent. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -32893,14 +32888,12 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE.`; - -fs.writeFileSync(path.join(__dirname, 'LICENSE'), license); +SOFTWARE. ------------------------------------------------------------------------------ -[277] Applies to: npm:cytoscape-cose-bilkent@4.1.0 +[278] Applies to: npm:cytoscape@3.34.0 ------------------------------------------------------------------------------ -Copyright (c) 2016-2018, The Cytoscape Consortium. +Copyright (c) 2016-2026, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -32920,10 +32913,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[278] Applies to: npm:cytoscape-fcose@2.2.0 ------------------------------------------------------------------------------- -Copyright (c) 2018 - present, iVis-at-Bilkent. +import fs from 'fs'; +import path from 'path'; + +import { fileURLToPath } from 'url'; +import { dirname } from 'path'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const year = (new Date()).getFullYear(); + +const license = `Copyright (c) 2016-${year}, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -32941,27 +32942,12 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ------------------------------------------------------------------------------- -[279] Applies to: npm:d3@7.9.0, npm:d3-array@3.2.4 ------------------------------------------------------------------------------- -Copyright 2010-2023 Mike Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. +SOFTWARE.`; -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. +fs.writeFileSync(path.join(__dirname, 'LICENSE'), license); ------------------------------------------------------------------------------ -[280] Applies to: npm:d3-array@2.12.1 +[279] Applies to: npm:d3-array@2.12.1 ------------------------------------------------------------------------------ Copyright 2010-2020 Mike Bostock All rights reserved. @@ -32991,6 +32977,23 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------------------ +[280] Applies to: npm:d3-array@3.2.4, npm:d3@7.9.0 +------------------------------------------------------------------------------ +Copyright 2010-2023 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + ------------------------------------------------------------------------------ [281] Applies to: npm:d3-axis@3.0.0, npm:d3-brush@3.0.0, npm:d3-chord@3.0.1, npm:d3-dispatch@3.0.1, npm:d3-drag@3.0.0, npm:d3-force@3.0.0, npm:d3-hierarchy@3.1.2, npm:d3-interpolate@3.0.1, npm:d3-polygon@3.0.1, npm:d3-quadtree@3.0.1, npm:d3-random@3.0.1, npm:d3-scale@4.0.2, npm:d3-selection@3.0.0, npm:d3-time-format@4.1.0, npm:d3-timer@3.0.1, npm:d3-transition@3.0.1, npm:d3-zoom@3.0.0 ------------------------------------------------------------------------------ @@ -33421,7 +33424,7 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[299] Applies to: npm:decode-named-character-reference@1.3.0, npm:hast-util-from-parse5@8.0.3, npm:hast-util-to-jsx-runtime@2.3.6, npm:hastscript@9.0.1, npm:lowlight@3.3.0, npm:markdown-table@3.0.4, npm:mdast-util-find-and-replace@3.0.2, npm:mdast-util-from-markdown@2.0.3, npm:mdast-util-gfm@3.1.0, npm:mdast-util-gfm-footnote@2.1.0, npm:mdast-util-to-markdown@2.1.2, npm:micromark@4.0.2, npm:micromark-core-commonmark@2.0.3, npm:micromark-extension-gfm-table@2.1.1, npm:micromark-factory-destination@2.0.1, npm:micromark-factory-label@2.0.1, npm:micromark-factory-space@2.0.1, npm:micromark-factory-title@2.0.1, npm:micromark-factory-whitespace@2.0.1, npm:micromark-util-character@2.1.1, npm:micromark-util-chunked@2.0.1, npm:micromark-util-classify-character@2.0.1, npm:micromark-util-combine-extensions@2.0.1, npm:micromark-util-decode-numeric-character-reference@2.0.2, npm:micromark-util-decode-string@2.0.1, npm:micromark-util-encode@2.0.1, npm:micromark-util-html-tag-name@2.0.1, npm:micromark-util-normalize-identifier@2.0.1, npm:micromark-util-resolve-all@2.0.1, npm:micromark-util-sanitize-uri@2.0.1, npm:micromark-util-subtokenize@2.1.0, npm:micromark-util-symbol@2.0.1, npm:micromark-util-types@2.0.2, npm:rehype-highlight@7.0.2, npm:remark-gfm@4.0.1, npm:remark-rehype@11.1.2, npm:vfile-message@4.0.3 +[299] Applies to: npm:decode-named-character-reference@1.3.0, npm:hast-util-from-parse5@8.0.3, npm:hast-util-to-jsx-runtime@2.3.6, npm:hastscript@9.0.1, npm:lowlight@3.3.0, npm:markdown-table@3.0.4, npm:mdast-util-find-and-replace@3.0.2, npm:mdast-util-from-markdown@2.0.3, npm:mdast-util-gfm-footnote@2.1.0, npm:mdast-util-gfm@3.1.0, npm:mdast-util-to-markdown@2.1.2, npm:micromark-core-commonmark@2.0.3, npm:micromark-extension-gfm-table@2.1.1, npm:micromark-factory-destination@2.0.1, npm:micromark-factory-label@2.0.1, npm:micromark-factory-space@2.0.1, npm:micromark-factory-title@2.0.1, npm:micromark-factory-whitespace@2.0.1, npm:micromark-util-character@2.1.1, npm:micromark-util-chunked@2.0.1, npm:micromark-util-classify-character@2.0.1, npm:micromark-util-combine-extensions@2.0.1, npm:micromark-util-decode-numeric-character-reference@2.0.2, npm:micromark-util-decode-string@2.0.1, npm:micromark-util-encode@2.0.1, npm:micromark-util-html-tag-name@2.0.1, npm:micromark-util-normalize-identifier@2.0.1, npm:micromark-util-resolve-all@2.0.1, npm:micromark-util-sanitize-uri@2.0.1, npm:micromark-util-subtokenize@2.1.0, npm:micromark-util-symbol@2.0.1, npm:micromark-util-types@2.0.2, npm:micromark@4.0.2, npm:rehype-highlight@7.0.2, npm:remark-gfm@4.0.1, npm:remark-rehype@11.1.2, npm:vfile-message@4.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -33943,7 +33946,32 @@ THE SOFTWARE. ``` ------------------------------------------------------------------------------ -[313] Applies to: npm:discord-api-types@0.38.50 +[313] Applies to: npm:dingtalk-stream@v2.1.5 +------------------------------------------------------------------------------ +MIT License + +Copyright (c) 2023 钉钉开放平台团队 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------------------ +[314] Applies to: npm:discord-api-types@0.38.50 ------------------------------------------------------------------------------ MIT License @@ -33968,7 +33996,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[314] Applies to: npm:dnssd-advertise@1.1.6, npm:multitars@1.0.0, npm:toqr@0.1.1 +[315] Applies to: npm:dnssd-advertise@1.1.6, npm:multitars@1.0.0, npm:toqr@0.1.1 ------------------------------------------------------------------------------ MIT License @@ -33994,7 +34022,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[315] Applies to: npm:dom-accessibility-api@0.6.3 +[316] Applies to: npm:dom-accessibility-api@0.6.3 ------------------------------------------------------------------------------ MIT License @@ -34019,7 +34047,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[316] Applies to: npm:dom-serializer@2.0.0 +[317] Applies to: npm:dom-serializer@2.0.0 ------------------------------------------------------------------------------ License @@ -34034,7 +34062,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[317] Applies to: npm:dompurify@3.4.12 +[318] Applies to: npm:dompurify@3.4.12 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -34613,7 +34641,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[318] Applies to: npm:dunder-proto@1.0.1, npm:math-intrinsics@1.1.0 +[319] Applies to: npm:dunder-proto@1.0.1, npm:math-intrinsics@1.1.0 ------------------------------------------------------------------------------ MIT License @@ -34638,7 +34666,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[319] Applies to: npm:ecdsa-sig-formatter@1.0.11 +[320] Applies to: npm:ecdsa-sig-formatter@1.0.11 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -34843,7 +34871,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[320] Applies to: npm:ee-first@1.1.1 +[321] Applies to: npm:ee-first@1.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -34868,7 +34896,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[321] Applies to: npm:electron-squirrel-startup@1.0.1 +[322] Applies to: npm:electron-squirrel-startup@1.0.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -35073,7 +35101,7 @@ See the License for the specific language governing permissions and limitations under the License. ------------------------------------------------------------------------------ -[322] Applies to: npm:electron-to-chromium@1.5.392 +[323] Applies to: npm:electron-to-chromium@1.5.392 ------------------------------------------------------------------------------ Copyright 2018 Kilian Valkhof @@ -35082,7 +35110,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[323] Applies to: npm:electron-window-state@5.0.3 +[324] Applies to: npm:electron-window-state@5.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35108,7 +35136,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[324] Applies to: npm:encodeurl@1.0.2, npm:encodeurl@2.0.0 +[325] Applies to: npm:encodeurl@1.0.2, npm:encodeurl@2.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -35134,7 +35162,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[325] Applies to: npm:end-of-stream@1.4.5, npm:pump@3.0.4, npm:tar-fs@2.1.5, npm:tar-stream@2.2.0 +[326] Applies to: npm:end-of-stream@1.4.5, npm:pump@3.0.4, npm:tar-fs@2.1.5, npm:tar-stream@2.2.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35159,7 +35187,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[326] Applies to: npm:error-stack-parser@2.1.4, npm:stackframe@1.3.4 +[327] Applies to: npm:error-stack-parser@2.1.4, npm:stackframe@1.3.4 ------------------------------------------------------------------------------ Copyright (c) 2017 Eric Wendelin and other contributors @@ -35182,7 +35210,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[327] Applies to: npm:es-set-tostringtag@2.1.0 +[328] Applies to: npm:es-set-tostringtag@2.1.0 ------------------------------------------------------------------------------ MIT License @@ -35207,7 +35235,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[328] Applies to: npm:es-toolkit@1.49.0 +[329] Applies to: npm:es-toolkit@1.49.0 ------------------------------------------------------------------------------ MIT License @@ -35232,7 +35260,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[329] Applies to: npm:escape-html@1.0.3 +[330] Applies to: npm:escape-html@1.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -35260,7 +35288,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[330] Applies to: npm:esprima@4.0.1 +[331] Applies to: npm:esprima@4.0.1 ------------------------------------------------------------------------------ Copyright JS Foundation and other contributors, https://js.foundation/ @@ -35285,7 +35313,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[331] Applies to: npm:estree-util-is-identifier-name@3.0.0, npm:hast-util-heading-rank@3.0.0, npm:mdast-util-gfm-autolink-literal@2.0.1, npm:mdast-util-gfm-strikethrough@2.0.0, npm:mdast-util-gfm-table@2.0.0, npm:mdast-util-gfm-task-list-item@2.0.0, npm:mdast-util-math@3.0.0, npm:mdast-util-mdx-expression@2.0.1, npm:mdast-util-mdx-jsx@3.2.0, npm:mdast-util-mdxjs-esm@2.0.1, npm:micromark-extension-gfm@3.0.0, npm:micromark-extension-gfm-autolink-literal@2.1.0, npm:micromark-extension-gfm-strikethrough@2.1.0, npm:micromark-extension-gfm-tagfilter@2.0.0, npm:micromark-extension-gfm-task-list-item@2.1.0, npm:micromark-extension-math@3.1.0 +[332] Applies to: npm:estree-util-is-identifier-name@3.0.0, npm:hast-util-heading-rank@3.0.0, npm:mdast-util-gfm-autolink-literal@2.0.1, npm:mdast-util-gfm-strikethrough@2.0.0, npm:mdast-util-gfm-table@2.0.0, npm:mdast-util-gfm-task-list-item@2.0.0, npm:mdast-util-math@3.0.0, npm:mdast-util-mdx-expression@2.0.1, npm:mdast-util-mdx-jsx@3.2.0, npm:mdast-util-mdxjs-esm@2.0.1, npm:micromark-extension-gfm-autolink-literal@2.1.0, npm:micromark-extension-gfm-strikethrough@2.1.0, npm:micromark-extension-gfm-tagfilter@2.0.0, npm:micromark-extension-gfm-task-list-item@2.1.0, npm:micromark-extension-gfm@3.0.0, npm:micromark-extension-math@3.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -35311,7 +35339,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[332] Applies to: npm:etag@1.8.1, npm:proxy-addr@2.0.7 +[333] Applies to: npm:etag@1.8.1, npm:proxy-addr@2.0.7 ------------------------------------------------------------------------------ (The MIT License) @@ -35337,7 +35365,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[333] Applies to: npm:event-target-shim@5.0.1 +[334] Applies to: npm:event-target-shim@5.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35362,33 +35390,32 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[334] Applies to: npm:eventsource@3.0.7 +[335] Applies to: npm:eventemitter3@5.0.4 ------------------------------------------------------------------------------ -The MIT License +The MIT License (MIT) -Copyright (c) EventSource GitHub organisation +Copyright (c) 2014 Arnout Kazemier -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ------------------------------------------------------------------------------ -[335] Applies to: npm:eventsource-parser@3.1.0 +[336] Applies to: npm:eventsource-parser@3.1.0 ------------------------------------------------------------------------------ MIT License @@ -35413,7 +35440,33 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[336] Applies to: npm:expand-template@2.0.3 +[337] Applies to: npm:eventsource@3.0.7 +------------------------------------------------------------------------------ +The MIT License + +Copyright (c) EventSource GitHub organisation + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[338] Applies to: npm:expand-template@2.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35438,7 +35491,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[337] Applies to: npm:expo-paste-input@0.2.2 +[339] Applies to: npm:expo-paste-input@0.2.2 ------------------------------------------------------------------------------ MIT License @@ -35463,7 +35516,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[338] Applies to: npm:exponential-backoff@3.1.3 +[340] Applies to: npm:exponential-backoff@3.1.3 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -35668,7 +35721,31 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[339] Applies to: npm:express@5.2.1 +[341] Applies to: npm:express-rate-limit@8.5.2 +------------------------------------------------------------------------------ +# MIT License + +Copyright 2023 Nathan Friedly, Vedant K + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[342] Applies to: npm:express@5.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -35696,31 +35773,32 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[340] Applies to: npm:express-rate-limit@8.5.2 +[343] Applies to: npm:extend-shallow@2.0.1 ------------------------------------------------------------------------------ -# MIT License +The MIT License (MIT) -Copyright 2023 Nathan Friedly, Vedant K +Copyright (c) 2014-2015, Jon Schlinkert. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. ------------------------------------------------------------------------------ -[341] Applies to: npm:extend@3.0.2 +[344] Applies to: npm:extend@3.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35746,32 +35824,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[342] Applies to: npm:extend-shallow@2.0.1 ------------------------------------------------------------------------------- -The MIT License (MIT) - -Copyright (c) 2014-2015, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - ------------------------------------------------------------------------------- -[343] Applies to: npm:fast-deep-equal@3.1.3, npm:json-schema-traverse@1.0.0 +[345] Applies to: npm:fast-deep-equal@3.1.3, npm:json-schema-traverse@1.0.0 ------------------------------------------------------------------------------ MIT License @@ -35796,7 +35849,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[344] Applies to: npm:fast-equals@5.4.1 +[346] Applies to: npm:fast-equals@5.4.1 ------------------------------------------------------------------------------ MIT License @@ -35821,7 +35874,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[345] Applies to: npm:fast-uri@3.1.4 +[347] Applies to: npm:fast-uri@3.1.4 ------------------------------------------------------------------------------ Copyright (c) 2011-2021, Gary Court until https://github.com/garycourt/uri-js/commit/a1acf730b4bba3f1097c9f52e7d9d3aba8cdcaae Copyright (c) 2021-present The Fastify team @@ -35855,7 +35908,7 @@ The complete list of contributors can be found at: - https://github.com/garycourt/uri-js/graphs/contributors ------------------------------------------------------------------------------ -[346] Applies to: npm:fbjs@3.0.5, npm:fbjs-css-vars@1.0.2, npm:invariant@2.2.4 +[348] Applies to: npm:fbjs-css-vars@1.0.2, npm:fbjs@3.0.5, npm:invariant@2.2.4 ------------------------------------------------------------------------------ MIT License @@ -35880,7 +35933,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[347] Applies to: npm:fdir@6.5.0 +[349] Applies to: npm:fdir@6.5.0 ------------------------------------------------------------------------------ Copyright 2023 Abdullah Atta @@ -35891,7 +35944,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[348] Applies to: npm:fetch-blob@3.2.0 +[350] Applies to: npm:fetch-blob@3.2.0 ------------------------------------------------------------------------------ MIT License @@ -35916,7 +35969,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[349] Applies to: npm:fetch-nodeshim@0.4.10 +[351] Applies to: npm:fetch-nodeshim@0.4.10 ------------------------------------------------------------------------------ MIT License @@ -35945,7 +35998,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[350] Applies to: npm:file-uri-to-path@1.0.0 +[352] Applies to: npm:file-uri-to-path@1.0.0 ------------------------------------------------------------------------------ Copyright (c) 2014 Nathan Rajlich @@ -35969,7 +36022,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[351] Applies to: npm:finalhandler@1.1.2 +[353] Applies to: npm:finalhandler@1.1.2 ------------------------------------------------------------------------------ (The MIT License) @@ -35995,7 +36048,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[352] Applies to: npm:finalhandler@2.1.1 +[354] Applies to: npm:finalhandler@2.1.1 ------------------------------------------------------------------------------ (The MIT License) @@ -36021,7 +36074,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[353] Applies to: npm:follow-redirects@1.16.0 +[355] Applies to: npm:follow-redirects@1.16.0 ------------------------------------------------------------------------------ Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh @@ -36043,7 +36096,7 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[354] Applies to: npm:fontfaceobserver@2.3.0 +[356] Applies to: npm:fontfaceobserver@2.3.0 ------------------------------------------------------------------------------ Copyright (c) 2014 - Bram Stein @@ -36068,7 +36121,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[355] Applies to: npm:foreground-child@3.3.1 +[357] Applies to: npm:foreground-child@3.3.1 ------------------------------------------------------------------------------ The ISC License @@ -36087,7 +36140,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[356] Applies to: npm:form-data@4.0.6 +[358] Applies to: npm:form-data@4.0.6 ------------------------------------------------------------------------------ Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors @@ -36110,7 +36163,7 @@ Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors THE SOFTWARE. ------------------------------------------------------------------------------ -[357] Applies to: npm:formdata-polyfill@4.0.10 +[359] Applies to: npm:formdata-polyfill@4.0.10 ------------------------------------------------------------------------------ MIT License @@ -36135,7 +36188,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[358] Applies to: npm:fresh@0.5.2, npm:fresh@2.0.0 +[360] Applies to: npm:fresh@0.5.2, npm:fresh@2.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -36162,7 +36215,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[359] Applies to: npm:fs-constants@1.0.0 +[361] Applies to: npm:fs-constants@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36187,7 +36240,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[360] Applies to: npm:fs-extra@11.3.6 +[362] Applies to: npm:fs-extra@11.3.6 ------------------------------------------------------------------------------ (The MIT License) @@ -36206,7 +36259,7 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[361] Applies to: npm:function-bind@1.1.2 +[363] Applies to: npm:function-bind@1.1.2 ------------------------------------------------------------------------------ Copyright (c) 2013 Raynos. @@ -36229,7 +36282,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[362] Applies to: npm:gensync@1.0.0-beta.2 +[364] Applies to: npm:gensync@1.0.0-beta.2 ------------------------------------------------------------------------------ Copyright 2018 Logan Smyth @@ -36240,7 +36293,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[363] Applies to: npm:get-caller-file@2.0.5 +[365] Applies to: npm:get-caller-file@2.0.5 ------------------------------------------------------------------------------ ISC License (ISC) Copyright 2018 Stefan Penner @@ -36250,7 +36303,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[364] Applies to: npm:get-intrinsic@1.3.0 +[366] Applies to: npm:get-intrinsic@1.3.0 ------------------------------------------------------------------------------ MIT License @@ -36275,7 +36328,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[365] Applies to: npm:get-nonce@1.0.1 +[367] Applies to: npm:get-nonce@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -36300,7 +36353,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[366] Applies to: npm:get-proto@1.0.1 +[368] Applies to: npm:get-proto@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -36325,7 +36378,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[367] Applies to: npm:getenv@2.0.0 +[369] Applies to: npm:getenv@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) Copyright (c) 2012-2019 Christoph Tavan @@ -36349,7 +36402,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[368] Applies to: npm:github-from-package@0.0.0, npm:minimist@1.2.8 +[370] Applies to: npm:github-from-package@0.0.0, npm:minimist@1.2.8 ------------------------------------------------------------------------------ This software is released under the MIT license: @@ -36371,7 +36424,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[369] Applies to: npm:github-slugger@2.0.0 +[371] Applies to: npm:github-slugger@2.0.0 ------------------------------------------------------------------------------ Copyright (c) 2015, Dan Flettre @@ -36380,7 +36433,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[370] Applies to: npm:glob@10.5.0 +[372] Applies to: npm:glob@10.5.0 ------------------------------------------------------------------------------ The ISC License @@ -36399,7 +36452,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[371] Applies to: npm:glob@13.0.6, npm:package-json-from-dist@1.0.1 +[373] Applies to: npm:glob@13.0.6, npm:package-json-from-dist@1.0.1 ------------------------------------------------------------------------------ All packages under `src/` are licensed according to the terms in their respective `LICENSE` or `LICENSE.md` files. @@ -36466,7 +36519,7 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** ------------------------------------------------------------------------------ -[372] Applies to: npm:gopd@1.2.0 +[374] Applies to: npm:gopd@1.2.0 ------------------------------------------------------------------------------ MIT License @@ -36491,7 +36544,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[373] Applies to: npm:graceful-fs@4.2.11 +[375] Applies to: npm:graceful-fs@4.2.11 ------------------------------------------------------------------------------ The ISC License @@ -36510,7 +36563,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[374] Applies to: npm:gray-matter@4.0.3 +[376] Applies to: npm:gray-matter@4.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36535,7 +36588,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[375] Applies to: npm:gtoken@8.0.0 +[377] Applies to: npm:gtoken@8.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36560,7 +36613,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[376] Applies to: npm:hachure-fill@0.5.2 +[378] Applies to: npm:hachure-fill@0.5.2 ------------------------------------------------------------------------------ MIT License @@ -36585,7 +36638,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[377] Applies to: npm:harmonyos-sans-sc-webfont-splitted@1.1.0 +[379] Applies to: npm:harmonyos-sans-sc-webfont-splitted@1.1.0 ------------------------------------------------------------------------------ This is free and unencumbered software released into the public domain. @@ -36613,7 +36666,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[378] Applies to: npm:has-symbols@1.1.0 +[380] Applies to: npm:has-symbols@1.1.0 ------------------------------------------------------------------------------ MIT License @@ -36638,7 +36691,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[379] Applies to: npm:has-tostringtag@1.0.2 +[381] Applies to: npm:has-tostringtag@1.0.2 ------------------------------------------------------------------------------ MIT License @@ -36663,7 +36716,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[380] Applies to: npm:hasown@2.0.4 +[382] Applies to: npm:hasown@2.0.4 ------------------------------------------------------------------------------ MIT License @@ -36688,7 +36741,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[381] Applies to: npm:hast-util-from-dom@5.0.1 +[383] Applies to: npm:hast-util-from-dom@5.0.1 ------------------------------------------------------------------------------ (ISC License) @@ -36707,11 +36760,11 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[382] Applies to: npm:hast-util-from-html@2.0.3 +[384] Applies to: npm:hast-util-from-html-isomorphic@2.0.0 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2022 Titus Wormer +Copyright (c) 2023 Remco Haszing Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -36733,11 +36786,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[383] Applies to: npm:hast-util-from-html-isomorphic@2.0.0 +[385] Applies to: npm:hast-util-from-html@2.0.3 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2023 Remco Haszing +Copyright (c) 2022 Titus Wormer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -36759,7 +36812,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[384] Applies to: npm:hast-util-to-string@3.0.1, npm:html-url-attributes@3.0.1 +[386] Applies to: npm:hast-util-to-string@3.0.1, npm:html-url-attributes@3.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -36784,7 +36837,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[385] Applies to: npm:hast-util-to-text@4.0.2 +[387] Applies to: npm:hast-util-to-text@4.0.2 ------------------------------------------------------------------------------ (The MIT License) @@ -36810,7 +36863,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[386] Applies to: npm:highlight.js@11.11.1 +[388] Applies to: npm:highlight.js@11.11.1 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -36843,7 +36896,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[387] Applies to: npm:hono@4.12.30 +[389] Applies to: npm:hono@4.12.30 ------------------------------------------------------------------------------ MIT License @@ -36868,7 +36921,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[388] Applies to: npm:hosted-git-info@7.0.2 +[390] Applies to: npm:hosted-git-info@7.0.2 ------------------------------------------------------------------------------ Copyright (c) 2015, Rebecca Turner @@ -36885,7 +36938,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[389] Applies to: npm:html-to-image@1.11.13 +[391] Applies to: npm:html-to-image@1.11.13 ------------------------------------------------------------------------------ MIT License @@ -36910,7 +36963,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[390] Applies to: npm:http-errors@2.0.1 +[392] Applies to: npm:http-errors@2.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36936,7 +36989,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[391] Applies to: npm:human-signals@1.1.1, npm:human-signals@2.1.0 +[393] Applies to: npm:human-signals@1.1.1, npm:human-signals@2.1.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -37141,7 +37194,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[392] Applies to: npm:hyphenate-style-name@1.1.0 +[394] Applies to: npm:hyphenate-style-name@1.1.0 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -37174,7 +37227,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[393] Applies to: npm:i18next@26.3.6 +[395] Applies to: npm:i18next@26.3.6 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37199,7 +37252,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[394] Applies to: npm:iconv-lite@0.6.3, npm:iconv-lite@0.7.3 +[396] Applies to: npm:iconv-lite@0.6.3, npm:iconv-lite@0.7.3 ------------------------------------------------------------------------------ Copyright (c) 2011 Alexander Shtuchkin @@ -37223,7 +37276,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[395] Applies to: npm:ieee754@1.2.1 +[397] Applies to: npm:ieee754@1.2.1 ------------------------------------------------------------------------------ Copyright 2008 Fair Oaks Labs, Inc. @@ -37238,7 +37291,7 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[396] Applies to: npm:ignore@5.3.2, npm:ignore@7.0.6 +[398] Applies to: npm:ignore@5.3.2, npm:ignore@7.0.6 ------------------------------------------------------------------------------ Copyright (c) 2013 Kael Zhang , contributors http://kael.me/ @@ -37263,7 +37316,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[397] Applies to: npm:image-size@1.2.1 +[399] Applies to: npm:image-size@1.2.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37276,7 +37329,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[398] Applies to: npm:immediate@3.0.6 +[400] Applies to: npm:immediate@3.0.6 ------------------------------------------------------------------------------ Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, Domenic Denicola, Brian Cavalier @@ -37300,7 +37353,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[399] Applies to: npm:import-meta-resolve@4.2.0 +[401] Applies to: npm:import-meta-resolve@4.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -37378,7 +37431,7 @@ IN THE SOFTWARE. """ ------------------------------------------------------------------------------ -[400] Applies to: npm:inherits@2.0.4 +[402] Applies to: npm:inherits@2.0.4 ------------------------------------------------------------------------------ The ISC License @@ -37397,7 +37450,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[401] Applies to: npm:inline-style-parser@0.2.7 +[403] Applies to: npm:inline-style-parser@0.2.7 ------------------------------------------------------------------------------ (The MIT License) @@ -37410,7 +37463,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[402] Applies to: npm:inline-style-prefixer@7.0.1 +[404] Applies to: npm:inline-style-prefixer@7.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37435,7 +37488,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[403] Applies to: npm:internmap@1.0.1, npm:internmap@2.0.3 +[405] Applies to: npm:internmap@1.0.1, npm:internmap@2.0.3 ------------------------------------------------------------------------------ Copyright 2021 Mike Bostock @@ -37452,7 +37505,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[404] Applies to: npm:ip-address@10.2.0 +[406] Applies to: npm:ip-address@10.2.0 ------------------------------------------------------------------------------ Copyright (C) 2011 by Beau Gunderson @@ -37475,7 +37528,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[405] Applies to: npm:ipaddr.js@1.9.1, npm:ipaddr.js@2.4.0 +[407] Applies to: npm:ipaddr.js@1.9.1, npm:ipaddr.js@2.4.0 ------------------------------------------------------------------------------ Copyright (C) 2011-2017 whitequark @@ -37498,7 +37551,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[406] Applies to: npm:is-arrayish@0.3.4 +[408] Applies to: npm:is-arrayish@0.3.4 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37523,7 +37576,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[407] Applies to: npm:is-buffer@1.1.6, npm:safe-buffer@5.1.2, npm:safe-buffer@5.2.1 +[409] Applies to: npm:is-buffer@1.1.6, npm:safe-buffer@5.1.2, npm:safe-buffer@5.2.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37548,7 +37601,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[408] Applies to: npm:is-core-module@2.16.2 +[410] Applies to: npm:is-core-module@2.16.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37572,7 +37625,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[409] Applies to: npm:is-extendable@0.1.1 +[411] Applies to: npm:is-extendable@0.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37597,7 +37650,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[410] Applies to: npm:is-extglob@2.1.1 +[412] Applies to: npm:is-extglob@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37622,7 +37675,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[411] Applies to: npm:is-glob@4.0.3, npm:kind-of@6.0.3 +[413] Applies to: npm:is-glob@4.0.3, npm:kind-of@6.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37647,7 +37700,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[412] Applies to: npm:is-promise@2.2.2, npm:is-promise@4.0.0, npm:promise@7.3.1, npm:promise@8.3.0 +[414] Applies to: npm:is-promise@2.2.2, npm:is-promise@4.0.0, npm:promise@7.3.1, npm:promise@8.3.0 ------------------------------------------------------------------------------ Copyright (c) 2014 Forbes Lindesay @@ -37670,7 +37723,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[413] Applies to: npm:jackspeak@3.4.3, npm:minimatch@10.2.5 +[415] Applies to: npm:jackspeak@3.4.3, npm:minimatch@10.2.5 ------------------------------------------------------------------------------ # Blue Oak Model License @@ -37729,7 +37782,7 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim._** ------------------------------------------------------------------------------ -[414] Applies to: npm:jose@6.2.3 +[416] Applies to: npm:jose@6.2.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37754,7 +37807,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[415] Applies to: npm:js-base64@3.9.1 +[417] Applies to: npm:js-base64@3.9.1 ------------------------------------------------------------------------------ Copyright (c) 2014, Dan Kogai All rights reserved. @@ -37785,7 +37838,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[416] Applies to: npm:js-tokens@4.0.0 +[418] Applies to: npm:js-tokens@4.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37810,7 +37863,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[417] Applies to: npm:js-yaml@3.15.0, npm:js-yaml@4.3.0 +[419] Applies to: npm:js-yaml@3.15.0, npm:js-yaml@4.3.0 ------------------------------------------------------------------------------ (The MIT License) @@ -37835,7 +37888,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[418] Applies to: npm:jsc-safe-url@0.2.4 +[420] Applies to: npm:jsc-safe-url@0.2.4 ------------------------------------------------------------------------------ Zero-Clause BSD ============= @@ -37852,7 +37905,7 @@ AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[419] Applies to: npm:json-bigint@1.0.0 +[421] Applies to: npm:json-bigint@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37876,7 +37929,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[420] Applies to: npm:json-schema-to-ts@3.1.1, npm:ts-algebra@2.0.0 +[422] Applies to: npm:json-schema-to-ts@3.1.1, npm:ts-algebra@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -37901,7 +37954,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[421] Applies to: npm:json-schema-typed@7.0.3 +[423] Applies to: npm:json-schema-typed@7.0.3 ------------------------------------------------------------------------------ BSD-2-Clause License @@ -37931,7 +37984,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[422] Applies to: npm:json-schema-typed@8.0.2 +[424] Applies to: npm:json-schema-typed@8.0.2 ------------------------------------------------------------------------------ BSD 2-Clause License @@ -37992,7 +38045,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[423] Applies to: npm:json5@2.2.3 +[425] Applies to: npm:json5@2.2.3 ------------------------------------------------------------------------------ MIT License @@ -38019,7 +38072,7 @@ SOFTWARE. [others]: https://github.com/json5/json5/contributors ------------------------------------------------------------------------------ -[424] Applies to: npm:jsonfile@4.0.0, npm:jsonfile@6.2.1 +[426] Applies to: npm:jsonfile@4.0.0, npm:jsonfile@6.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -38038,7 +38091,7 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[425] Applies to: npm:jszip@3.10.1 +[427] Applies to: npm:jszip@3.10.1 ------------------------------------------------------------------------------ JSZip is dual licensed. At your choice you may use it under the MIT license *or* the GPLv3 license. @@ -38693,7 +38746,7 @@ copy of the Program in return for a fee. END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[426] Applies to: npm:jwa@2.0.1, npm:jws@4.0.1 +[428] Applies to: npm:jwa@2.0.1, npm:jws@4.0.1 ------------------------------------------------------------------------------ Copyright (c) 2013 Brian J. Brennan @@ -38714,7 +38767,7 @@ FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TOR ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[427] Applies to: npm:katex@0.16.47 +[429] Applies to: npm:katex@0.16.47 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -38739,7 +38792,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[428] Applies to: npm:khroma@2.1.0 +[430] Applies to: npm:khroma@2.1.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -38764,7 +38817,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[429] Applies to: npm:lan-network@0.2.1 +[431] Applies to: npm:lan-network@0.2.1 ------------------------------------------------------------------------------ MIT License @@ -38789,7 +38842,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[430] Applies to: npm:layout-base@1.0.2, npm:layout-base@2.0.1 +[432] Applies to: npm:layout-base@1.0.2, npm:layout-base@2.0.1 ------------------------------------------------------------------------------ MIT License @@ -38814,7 +38867,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[431] Applies to: npm:lie@3.3.0 +[433] Applies to: npm:lie@3.3.0 ------------------------------------------------------------------------------ #Copyright (c) 2014-2018 Calvin Metcalf, Jordan Harband @@ -38825,7 +38878,7 @@ The above copyright notice and this permission notice shall be included in all c **THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** ------------------------------------------------------------------------------ -[432] Applies to: npm:lightningcss@1.32.0, npm:lightningcss-darwin-arm64@1.32.0, npm:lightningcss-darwin-x64@1.32.0, npm:lightningcss-linux-arm64-gnu@1.32.0, npm:lightningcss-linux-x64-gnu@1.32.0, npm:lightningcss-win32-arm64-msvc@1.32.0, npm:lightningcss-win32-x64-msvc@1.32.0 +[434] Applies to: npm:lightningcss-darwin-arm64@1.32.0, npm:lightningcss-darwin-x64@1.32.0, npm:lightningcss-linux-arm64-gnu@1.32.0, npm:lightningcss-linux-x64-gnu@1.32.0, npm:lightningcss-win32-arm64-msvc@1.32.0, npm:lightningcss-win32-x64-msvc@1.32.0, npm:lightningcss@1.32.0 ------------------------------------------------------------------------------ Mozilla Public License Version 2.0 ================================== @@ -39202,7 +39255,7 @@ This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[433] Applies to: npm:lodash@4.18.1, npm:lodash-es@4.18.1, npm:lodash.merge@4.6.2 +[435] Applies to: npm:lodash-es@4.18.1, npm:lodash.merge@4.6.2, npm:lodash@4.18.1 ------------------------------------------------------------------------------ Copyright OpenJS Foundation and other contributors @@ -39253,7 +39306,7 @@ licenses; we recommend you read them, as their terms may differ from the terms above. ------------------------------------------------------------------------------ -[434] Applies to: npm:lodash.debounce@4.0.8, npm:lodash.pickby@4.6.0, npm:lodash.snakecase@4.1.1, npm:lodash.throttle@4.1.1 +[436] Applies to: npm:lodash.debounce@4.0.8, npm:lodash.pickby@4.6.0, npm:lodash.snakecase@4.1.1, npm:lodash.throttle@4.1.1 ------------------------------------------------------------------------------ Copyright jQuery Foundation and other contributors @@ -39304,7 +39357,7 @@ licenses; we recommend you read them, as their terms may differ from the terms above. ------------------------------------------------------------------------------ -[435] Applies to: npm:lodash.identity@3.0.0 +[437] Applies to: npm:lodash.identity@3.0.0 ------------------------------------------------------------------------------ Copyright 2012-2015 The Dojo Foundation Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas, @@ -39330,7 +39383,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[436] Applies to: npm:longest-streak@3.1.0, npm:stringify-entities@4.0.4, npm:trim-lines@3.0.1 +[438] Applies to: npm:longest-streak@3.1.0, npm:stringify-entities@4.0.4, npm:trim-lines@3.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -39356,7 +39409,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[437] Applies to: npm:loose-envify@1.4.0 +[439] Applies to: npm:loose-envify@1.4.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -39381,7 +39434,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[438] Applies to: npm:loudness@0.4.2 +[440] Applies to: npm:loudness@0.4.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -39405,7 +39458,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[439] Applies to: npm:lru-cache@10.4.3 +[441] Applies to: npm:lru-cache@10.4.3 ------------------------------------------------------------------------------ The ISC License @@ -39424,7 +39477,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[440] Applies to: npm:lru-cache@11.5.2, npm:minipass@7.1.3, npm:path-scurry@1.11.1, npm:path-scurry@2.0.2, npm:sax@1.6.0 +[442] Applies to: npm:lru-cache@11.5.2, npm:minipass@7.1.3, npm:path-scurry@1.11.1, npm:path-scurry@2.0.2, npm:sax@1.6.0 ------------------------------------------------------------------------------ # Blue Oak Model License @@ -39483,7 +39536,7 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** ------------------------------------------------------------------------------ -[441] Applies to: npm:lucide-react@0.468.0, npm:lucide-react-native@0.468.0 +[443] Applies to: npm:lucide-react-native@0.468.0, npm:lucide-react@0.468.0 ------------------------------------------------------------------------------ ISC License @@ -39502,7 +39555,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[442] Applies to: npm:magic-bytes.js@1.13.0 +[444] Applies to: npm:magic-bytes.js@1.13.0 ------------------------------------------------------------------------------ MIT License @@ -39527,7 +39580,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[443] Applies to: npm:makeerror@1.0.12, npm:tmpl@1.0.5 +[445] Applies to: npm:makeerror@1.0.12, npm:tmpl@1.0.5 ------------------------------------------------------------------------------ BSD License @@ -39559,7 +39612,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[444] Applies to: npm:marked@16.4.2 +[446] Applies to: npm:marked@16.4.2 ------------------------------------------------------------------------------ # License information @@ -39607,7 +39660,7 @@ Redistribution and use in source and binary forms, with or without modification, This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. ------------------------------------------------------------------------------ -[445] Applies to: npm:marky@1.3.0 +[447] Applies to: npm:marky@1.3.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -39819,7 +39872,7 @@ APPENDIX: How to apply the Apache License to your work permissions and limitations under the License. ------------------------------------------------------------------------------ -[446] Applies to: npm:md5@2.3.0 +[448] Applies to: npm:md5@2.3.0 ------------------------------------------------------------------------------ Copyright © 2011-2012, Paul Vorbach. Copyright © 2009, Jeff Mott. @@ -39850,7 +39903,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[447] Applies to: npm:mdast-util-phrasing@4.1.0 +[449] Applies to: npm:mdast-util-phrasing@4.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -39877,7 +39930,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[448] Applies to: npm:mdast-util-to-markdown-cjk-friendly@1.0.0, npm:remark-cjk-friendly@2.3.1 +[450] Applies to: npm:mdast-util-to-markdown-cjk-friendly@1.0.0, npm:remark-cjk-friendly@2.3.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino @@ -39909,7 +39962,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[449] Applies to: npm:mdn-data@2.0.14 +[451] Applies to: npm:mdn-data@2.0.14 ------------------------------------------------------------------------------ CC0 1.0 Universal @@ -40029,7 +40082,7 @@ For more information, please see ------------------------------------------------------------------------------ -[450] Applies to: npm:memoize-one@5.2.1, npm:memoize-one@6.0.0 +[452] Applies to: npm:memoize-one@5.2.1, npm:memoize-one@6.0.0 ------------------------------------------------------------------------------ MIT License @@ -40054,7 +40107,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[451] Applies to: npm:merge-descriptors@2.0.0 +[453] Applies to: npm:merge-descriptors@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -40069,7 +40122,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[452] Applies to: npm:merge-options@3.0.4 +[454] Applies to: npm:merge-options@3.0.4 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -40094,7 +40147,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[453] Applies to: npm:merge-stream@2.0.0 +[455] Applies to: npm:merge-stream@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -40119,7 +40172,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[454] Applies to: npm:mermaid@11.16.0 +[456] Applies to: npm:mermaid@11.16.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -40144,13 +40197,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[455] Applies to: npm:micromark-extension-cjk-friendly@2.0.1 +[457] Applies to: npm:micromark-extension-cjk-friendly-util@3.0.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino MIT LICENSE -Based on micromark and micromark-core-commonmark +Based on micromark's sub-packages (micromark-util-character, micromark-util-symbol, and micromark-util-classify-character) (The MIT License) @@ -40176,13 +40229,13 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[456] Applies to: npm:micromark-extension-cjk-friendly-util@3.0.1 +[458] Applies to: npm:micromark-extension-cjk-friendly@2.0.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino MIT LICENSE -Based on micromark's sub-packages (micromark-util-character, micromark-util-symbol, and micromark-util-classify-character) +Based on micromark and micromark-core-commonmark (The MIT License) @@ -40208,7 +40261,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[457] Applies to: npm:micromark-extension-gfm-footnote@2.1.0 +[459] Applies to: npm:micromark-extension-gfm-footnote@2.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -40234,32 +40287,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[458] Applies to: npm:mime@1.6.0 ------------------------------------------------------------------------------- -The MIT License (MIT) - -Copyright (c) 2010 Benjamin Thomas, Robert Kieffer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - ------------------------------------------------------------------------------- -[459] Applies to: npm:mime-db@1.52.0, npm:mime-db@1.54.0 +[460] Applies to: npm:mime-db@1.52.0, npm:mime-db@1.54.0 ------------------------------------------------------------------------------ (The MIT License) @@ -40286,7 +40314,32 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[460] Applies to: npm:min-indent@1.0.1 +[461] Applies to: npm:mime@1.6.0 +------------------------------------------------------------------------------ +The MIT License (MIT) + +Copyright (c) 2010 Benjamin Thomas, Robert Kieffer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +------------------------------------------------------------------------------ +[462] Applies to: npm:min-indent@1.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -40311,7 +40364,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[461] Applies to: npm:minimatch@9.0.9, npm:rimraf@5.0.10 +[463] Applies to: npm:minimatch@9.0.9, npm:rimraf@5.0.10 ------------------------------------------------------------------------------ The ISC License @@ -40330,11 +40383,11 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[462] Applies to: npm:mkdirp@0.5.6 +[464] Applies to: npm:mkdirp-classic@0.5.3 ------------------------------------------------------------------------------ -Copyright 2010 James Halliday (mail@substack.net) +The MIT License (MIT) -This project is free software released under the MIT/X11 license: +Copyright (c) 2020 James Halliday (mail@substack.net) and Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -40355,11 +40408,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[463] Applies to: npm:mkdirp@1.0.4 +[465] Applies to: npm:mkdirp@0.5.6 ------------------------------------------------------------------------------ -Copyright James Halliday (mail@substack.net) and Isaac Z. Schlueter (i@izs.me) +Copyright 2010 James Halliday (mail@substack.net) -This project is free software released under the MIT license: +This project is free software released under the MIT/X11 license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -40380,11 +40433,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[464] Applies to: npm:mkdirp-classic@0.5.3 +[466] Applies to: npm:mkdirp@1.0.4 ------------------------------------------------------------------------------ -The MIT License (MIT) +Copyright James Halliday (mail@substack.net) and Isaac Z. Schlueter (i@izs.me) -Copyright (c) 2020 James Halliday (mail@substack.net) and Mathias Buus +This project is free software released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -40405,7 +40458,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[465] Applies to: npm:ms@2.0.0 +[467] Applies to: npm:ms@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -40430,7 +40483,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[466] Applies to: npm:ms@2.1.3 +[468] Applies to: npm:ms@2.1.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -40455,7 +40508,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[467] Applies to: npm:nan@2.28.0 +[469] Applies to: npm:nan@2.28.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -40468,7 +40521,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[468] Applies to: npm:nanoid@3.3.16 +[470] Applies to: npm:nanoid@3.3.16 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -40492,7 +40545,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[469] Applies to: npm:napi-build-utils@2.0.0 +[471] Applies to: npm:napi-build-utils@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -40517,7 +40570,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[470] Applies to: npm:negotiator@0.6.3, npm:negotiator@0.6.4, npm:negotiator@1.0.0 +[472] Applies to: npm:negotiator@0.6.3, npm:negotiator@0.6.4, npm:negotiator@1.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -40545,7 +40598,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[471] Applies to: npm:node-abi@3.94.0 +[473] Applies to: npm:node-abi@3.94.0 ------------------------------------------------------------------------------ MIT License @@ -40570,7 +40623,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[472] Applies to: npm:node-addon-api@7.1.1 +[474] Applies to: npm:node-addon-api@7.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -40583,7 +40636,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[473] Applies to: npm:node-domexception@1.0.0 +[475] Applies to: npm:node-domexception@1.0.0 ------------------------------------------------------------------------------ MIT License @@ -40608,7 +40661,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[474] Applies to: npm:node-fetch@2.7.0 +[476] Applies to: npm:node-fetch@2.7.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -40633,7 +40686,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[475] Applies to: npm:node-fetch@3.3.2 +[477] Applies to: npm:node-fetch@3.3.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -40658,7 +40711,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[476] Applies to: npm:node-forge@1.4.0 +[478] Applies to: npm:node-forge@1.4.0 ------------------------------------------------------------------------------ You may use the Forge project under the terms of either the BSD License or the GNU General Public License (GPL) Version 2. @@ -40992,7 +41045,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ------------------------------------------------------------------------------ -[477] Applies to: npm:node-int64@0.4.0 +[479] Applies to: npm:node-int64@0.4.0 ------------------------------------------------------------------------------ Copyright (c) 2014 Robert Kieffer @@ -41015,7 +41068,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[478] Applies to: npm:node-machine-id@1.1.12 +[480] Applies to: npm:node-machine-id@1.1.12 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -41040,7 +41093,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[479] Applies to: npm:node-pty@1.1.0 +[481] Applies to: npm:node-pty@1.1.0 ------------------------------------------------------------------------------ Copyright (c) 2012-2015, Christopher Jeffrey (https://github.com/chjj/) @@ -41113,7 +41166,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[480] Applies to: npm:node-releases@2.0.51 +[482] Applies to: npm:node-releases@2.0.51 ------------------------------------------------------------------------------ The MIT License @@ -41138,7 +41191,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[481] Applies to: npm:npm-package-arg@11.0.3 +[483] Applies to: npm:npm-package-arg@11.0.3 ------------------------------------------------------------------------------ The ISC License @@ -41157,7 +41210,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[482] Applies to: npm:nullthrows@1.1.1 +[484] Applies to: npm:nullthrows@1.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) Copyright (c) 2016 Andres Suarez @@ -41169,7 +41222,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[483] Applies to: npm:object-inspect@1.13.4 +[485] Applies to: npm:object-inspect@1.13.4 ------------------------------------------------------------------------------ MIT License @@ -41194,7 +41247,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[484] Applies to: npm:on-finished@2.3.0, npm:on-finished@2.4.1 +[486] Applies to: npm:on-finished@2.3.0, npm:on-finished@2.4.1 ------------------------------------------------------------------------------ (The MIT License) @@ -41221,7 +41274,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[485] Applies to: npm:on-headers@1.1.0 +[487] Applies to: npm:on-headers@1.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -41247,7 +41300,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[486] Applies to: npm:orderedmap@2.1.1, npm:w3c-keyname@2.2.8 +[488] Applies to: npm:orderedmap@2.1.1, npm:w3c-keyname@2.2.8 ------------------------------------------------------------------------------ Copyright (C) 2016 by Marijn Haverbeke and others @@ -41270,7 +41323,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[487] Applies to: npm:package-manager-detector@1.7.0 +[489] Applies to: npm:package-manager-detector@1.7.0 ------------------------------------------------------------------------------ MIT License @@ -41295,7 +41348,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[488] Applies to: npm:pako@1.0.11, npm:pako@2.2.0 +[490] Applies to: npm:pako@1.0.11, npm:pako@2.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -41320,7 +41373,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[489] Applies to: npm:parse-entities@4.0.2, npm:property-information@7.2.0 +[491] Applies to: npm:parse-entities@4.0.2, npm:property-information@7.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -41346,7 +41399,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[490] Applies to: npm:parse-png@2.1.0, npm:shebang-command@2.0.0 +[492] Applies to: npm:parse-png@2.1.0, npm:shebang-command@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -41359,7 +41412,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[491] Applies to: npm:parse5@7.3.0 +[493] Applies to: npm:parse5@7.3.0 ------------------------------------------------------------------------------ Copyright (c) 2013-2019 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin) @@ -41382,7 +41435,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[492] Applies to: npm:parseurl@1.3.3 +[494] Applies to: npm:parseurl@1.3.3 ------------------------------------------------------------------------------ (The MIT License) @@ -41409,7 +41462,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[493] Applies to: npm:path-data-parser@0.1.0, npm:points-on-curve@0.2.0 +[495] Applies to: npm:path-data-parser@0.1.0, npm:points-on-curve@0.2.0 ------------------------------------------------------------------------------ MIT License @@ -41434,7 +41487,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[494] Applies to: npm:path-parse@1.0.7 +[496] Applies to: npm:path-parse@1.0.7 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -41459,7 +41512,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[495] Applies to: npm:path-to-regexp@8.4.2 +[497] Applies to: npm:path-to-regexp@8.4.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -41484,7 +41537,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[496] Applies to: npm:pdfjs-dist@5.7.284 +[498] Applies to: npm:pdfjs-dist@5.7.284 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -41664,7 +41717,7 @@ Apache License END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[497] Applies to: npm:picocolors@1.1.1 +[499] Applies to: npm:picocolors@1.1.1 ------------------------------------------------------------------------------ ISC License @@ -41683,7 +41736,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[498] Applies to: npm:picomatch@2.3.2, npm:picomatch@4.0.5 +[500] Applies to: npm:picomatch@2.3.2, npm:picomatch@4.0.5 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -41708,7 +41761,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[499] Applies to: npm:pkce-challenge@5.0.1 +[501] Applies to: npm:pkce-challenge@5.0.1 ------------------------------------------------------------------------------ MIT License @@ -41733,7 +41786,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[500] Applies to: npm:playwright-core@1.60.0 +[502] Applies to: npm:playwright-core@1.60.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -41939,7 +41992,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[501] Applies to: npm:playwright-core@1.60.0 (NOTICE) +[503] Applies to: npm:playwright-core@1.60.0 (NOTICE) ------------------------------------------------------------------------------ NOTICE for npm:playwright-core@1.60.0: @@ -41950,7 +42003,7 @@ This software contains code derived from the Puppeteer project (https://github.c available under the Apache 2.0 license (https://github.com/puppeteer/puppeteer/blob/master/LICENSE). ------------------------------------------------------------------------------ -[502] Applies to: npm:plist@3.1.1 +[504] Applies to: npm:plist@3.1.1 ------------------------------------------------------------------------------ (The MIT License) @@ -41978,7 +42031,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[503] Applies to: npm:pngjs@3.4.0, npm:pngjs@5.0.0 +[505] Applies to: npm:pngjs@3.4.0, npm:pngjs@5.0.0 ------------------------------------------------------------------------------ pngjs2 original work Copyright (c) 2015 Luke Page & Original Contributors pngjs derived work Copyright (c) 2012 Kuba Niegowski @@ -42002,7 +42055,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[504] Applies to: npm:points-on-path@0.2.1 +[506] Applies to: npm:points-on-path@0.2.1 ------------------------------------------------------------------------------ MIT License @@ -42027,31 +42080,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[505] Applies to: npm:postcss@8.5.19 ------------------------------------------------------------------------------- -The MIT License (MIT) - -Copyright 2013 Andrey Sitnik - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ------------------------------------------------------------------------------- -[506] Applies to: npm:postcss-value-parser@4.2.0 +[507] Applies to: npm:postcss-value-parser@4.2.0 ------------------------------------------------------------------------------ Copyright (c) Bogdan Chadkin @@ -42077,7 +42106,31 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[507] Applies to: npm:prebuild-install@7.1.3 +[508] Applies to: npm:postcss@8.5.19 +------------------------------------------------------------------------------ +The MIT License (MIT) + +Copyright 2013 Andrey Sitnik + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[509] Applies to: npm:prebuild-install@7.1.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -42102,7 +42155,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[508] Applies to: npm:proc-log@4.2.0 +[510] Applies to: npm:proc-log@4.2.0 ------------------------------------------------------------------------------ The ISC License @@ -42121,7 +42174,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[509] Applies to: npm:process-nextick-args@2.0.1 +[511] Applies to: npm:process-nextick-args@2.0.1 ------------------------------------------------------------------------------ # Copyright (c) 2015 Calvin Metcalf @@ -42144,7 +42197,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** ------------------------------------------------------------------------------ -[510] Applies to: npm:progress@2.0.3 +[512] Applies to: npm:progress@2.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -42170,7 +42223,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[511] Applies to: npm:promise-worker-transferable@1.0.4 +[513] Applies to: npm:promise-worker-transferable@1.0.4 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -42375,7 +42428,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[512] Applies to: npm:prompts@2.4.2, npm:sisteransi@1.0.5 +[514] Applies to: npm:prompts@2.4.2, npm:sisteransi@1.0.5 ------------------------------------------------------------------------------ MIT License @@ -42400,7 +42453,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[513] Applies to: npm:prosemirror-changeset@2.4.1 +[515] Applies to: npm:prosemirror-changeset@2.4.1 ------------------------------------------------------------------------------ Copyright (C) 2017 by Marijn Haverbeke and others @@ -42423,7 +42476,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[514] Applies to: npm:prosemirror-commands@1.7.1, npm:prosemirror-dropcursor@1.8.3, npm:prosemirror-gapcursor@1.4.1, npm:prosemirror-history@1.5.0, npm:prosemirror-inputrules@1.5.1, npm:prosemirror-keymap@1.2.3, npm:prosemirror-model@1.25.11, npm:prosemirror-schema-list@1.5.1, npm:prosemirror-state@1.4.4, npm:prosemirror-transform@1.12.0, npm:prosemirror-view@1.42.1 +[516] Applies to: npm:prosemirror-commands@1.7.1, npm:prosemirror-dropcursor@1.8.3, npm:prosemirror-gapcursor@1.4.1, npm:prosemirror-history@1.5.0, npm:prosemirror-inputrules@1.5.1, npm:prosemirror-keymap@1.2.3, npm:prosemirror-model@1.25.11, npm:prosemirror-schema-list@1.5.1, npm:prosemirror-state@1.4.4, npm:prosemirror-transform@1.12.0, npm:prosemirror-view@1.42.1 ------------------------------------------------------------------------------ Copyright (C) 2015-2017 by Marijn Haverbeke and others @@ -42446,7 +42499,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[515] Applies to: npm:prosemirror-tables@1.8.5 +[517] Applies to: npm:prosemirror-tables@1.8.5 ------------------------------------------------------------------------------ Copyright (C) 2015-2016 by Marijn Haverbeke and others @@ -42469,7 +42522,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[516] Applies to: npm:protobufjs@7.6.5 +[518] Applies to: npm:protobufjs@7.6.5 ------------------------------------------------------------------------------ This license applies to all parts of protobuf.js except those files either explicitly including or referencing a different license or @@ -42512,7 +42565,7 @@ standalone and requires a support library to be linked with it. This support library is itself covered by the above license. ------------------------------------------------------------------------------ -[517] Applies to: npm:proxy-from-env@2.1.0 +[519] Applies to: npm:proxy-from-env@2.1.0 ------------------------------------------------------------------------------ The MIT License @@ -42536,7 +42589,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[518] Applies to: npm:qrcode@1.5.4 +[520] Applies to: npm:qrcode@1.5.4 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -42549,7 +42602,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[519] Applies to: npm:qs@6.15.3 +[521] Applies to: npm:qs@6.15.3 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -42582,7 +42635,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[520] Applies to: npm:query-string@7.1.3 +[522] Applies to: npm:query-string@7.1.3 ------------------------------------------------------------------------------ MIT License @@ -42595,7 +42648,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[521] Applies to: npm:queue@6.0.2 +[523] Applies to: npm:queue@6.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) Copyright (c) 2014 Jesse Tane @@ -42607,7 +42660,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[522] Applies to: npm:range-parser@1.2.1, npm:range-parser@1.3.0 +[524] Applies to: npm:range-parser@1.2.1, npm:range-parser@1.3.0 ------------------------------------------------------------------------------ (The MIT License) @@ -42634,7 +42687,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[523] Applies to: npm:raw-body@3.0.2 +[525] Applies to: npm:raw-body@3.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -42660,7 +42713,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[524] Applies to: npm:rc@1.2.8 +[526] Applies to: npm:rc@1.2.8 ------------------------------------------------------------------------------ Apache License, Version 2.0 @@ -42731,7 +42784,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[525] Applies to: npm:react-fast-compare@3.2.2 +[527] Applies to: npm:react-fast-compare@3.2.2 ------------------------------------------------------------------------------ MIT License @@ -42757,7 +42810,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[526] Applies to: npm:react-freeze@1.0.4 +[528] Applies to: npm:react-freeze@1.0.4 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -42782,7 +42835,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[527] Applies to: npm:react-i18next@17.0.10 +[529] Applies to: npm:react-i18next@17.0.10 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -42807,7 +42860,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[528] Applies to: npm:react-markdown@10.1.0 +[530] Applies to: npm:react-markdown@10.1.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -42832,7 +42885,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[529] Applies to: npm:react-native-drawer-layout@4.2.7 +[531] Applies to: npm:react-native-drawer-layout@4.2.7 ------------------------------------------------------------------------------ MIT License @@ -42857,7 +42910,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[530] Applies to: npm:react-native-gesture-handler@3.0.2, npm:react-native-reanimated@4.3.1 +[532] Applies to: npm:react-native-gesture-handler@3.0.2, npm:react-native-reanimated@4.3.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -42882,7 +42935,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[531] Applies to: npm:react-native-is-edge-to-edge@1.3.1 +[533] Applies to: npm:react-native-is-edge-to-edge@1.3.1 ------------------------------------------------------------------------------ MIT License @@ -42907,7 +42960,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[532] Applies to: npm:react-native-safe-area-context@5.7.0 +[534] Applies to: npm:react-native-safe-area-context@5.7.0 ------------------------------------------------------------------------------ MIT License @@ -42932,7 +42985,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[533] Applies to: npm:react-native-screens@4.25.2 +[535] Applies to: npm:react-native-screens@4.25.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -42957,7 +43010,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[534] Applies to: npm:react-native-svg@15.15.4 +[536] Applies to: npm:react-native-svg@15.15.4 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -42982,7 +43035,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[535] Applies to: npm:react-native-uitextview@2.2.0 +[537] Applies to: npm:react-native-uitextview@2.2.0 ------------------------------------------------------------------------------ MIT License @@ -43006,7 +43059,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[536] Applies to: npm:react-native-web@0.21.2 +[538] Applies to: npm:react-native-web@0.21.2 ------------------------------------------------------------------------------ MIT License @@ -43032,7 +43085,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[537] Applies to: npm:react-native-worklets@0.8.3 +[539] Applies to: npm:react-native-worklets@0.8.3 ------------------------------------------------------------------------------ MIT License @@ -43056,7 +43109,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[538] Applies to: npm:react-router@7.18.1, npm:react-router-dom@7.18.1 +[540] Applies to: npm:react-router-dom@7.18.1, npm:react-router@7.18.1 ------------------------------------------------------------------------------ MIT License @@ -43083,7 +43136,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[539] Applies to: npm:readable-stream@2.3.8, npm:readable-stream@3.6.2, npm:string_decoder@1.1.1, npm:string_decoder@1.3.0 +[541] Applies to: npm:readable-stream@2.3.8, npm:readable-stream@3.6.2, npm:string_decoder@1.1.1, npm:string_decoder@1.3.0 ------------------------------------------------------------------------------ Node.js is licensed for use as follows: @@ -43134,7 +43187,7 @@ IN THE SOFTWARE. """ ------------------------------------------------------------------------------ -[540] Applies to: npm:regenerator-runtime@0.13.11 +[542] Applies to: npm:regenerator-runtime@0.13.11 ------------------------------------------------------------------------------ MIT License @@ -43159,7 +43212,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[541] Applies to: npm:regjsgen@0.8.0 +[543] Applies to: npm:regjsgen@0.8.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -43185,7 +43238,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[542] Applies to: npm:regjsparser@0.13.2 +[544] Applies to: npm:regjsparser@0.13.2 ------------------------------------------------------------------------------ Copyright (c) Julian Viereck and Contributors, All Rights Reserved. @@ -43210,7 +43263,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[543] Applies to: npm:remark-parse@11.0.0, npm:remark-stringify@11.0.0 +[545] Applies to: npm:remark-parse@11.0.0, npm:remark-stringify@11.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -43235,7 +43288,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[544] Applies to: npm:require-directory@2.1.1 +[546] Applies to: npm:require-directory@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -43261,7 +43314,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[545] Applies to: npm:require-from-string@2.0.2 +[547] Applies to: npm:require-from-string@2.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -43286,7 +43339,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[546] Applies to: npm:require-main-filename@2.0.0, npm:set-blocking@2.0.0, npm:yargs-parser@18.1.3, npm:yargs-parser@21.1.1 +[548] Applies to: npm:require-main-filename@2.0.0, npm:set-blocking@2.0.0, npm:yargs-parser@18.1.3, npm:yargs-parser@21.1.1 ------------------------------------------------------------------------------ Copyright (c) 2016, Contributors @@ -43304,32 +43357,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[547] Applies to: npm:resolve@1.22.12 ------------------------------------------------------------------------------- -MIT License - -Copyright (c) 2012 James Halliday - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ------------------------------------------------------------------------------- -[548] Applies to: npm:resolve-workspace-root@2.0.1 +[549] Applies to: npm:resolve-workspace-root@2.0.1 ------------------------------------------------------------------------------ # The MIT License (MIT) @@ -43354,7 +43382,32 @@ Copyright (c) 2024-present Cedric van Putten > THE SOFTWARE. ------------------------------------------------------------------------------ -[549] Applies to: npm:rope-sequence@1.3.4 +[550] Applies to: npm:resolve@1.22.12 +------------------------------------------------------------------------------ +MIT License + +Copyright (c) 2012 James Halliday + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------------------ +[551] Applies to: npm:rope-sequence@1.3.4 ------------------------------------------------------------------------------ Copyright (C) 2016 by Marijn Haverbeke @@ -43377,7 +43430,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[550] Applies to: npm:roughjs@4.6.6 +[552] Applies to: npm:roughjs@4.6.6 ------------------------------------------------------------------------------ MIT License @@ -43402,7 +43455,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[551] Applies to: npm:router@2.2.0 +[553] Applies to: npm:router@2.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -43429,7 +43482,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[552] Applies to: npm:rtl-detect@1.1.2 +[554] Applies to: npm:rtl-detect@1.1.2 ------------------------------------------------------------------------------ Copyright 2015 Yahoo Inc. All rights reserved. @@ -43460,7 +43513,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[553] Applies to: npm:rw@1.3.3 +[555] Applies to: npm:rw@1.3.3 ------------------------------------------------------------------------------ Copyright (c) 2014-2016, Michael Bostock All rights reserved. @@ -43490,7 +43543,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[554] Applies to: npm:safer-buffer@2.1.2 +[556] Applies to: npm:safer-buffer@2.1.2 ------------------------------------------------------------------------------ MIT License @@ -43515,7 +43568,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[555] Applies to: npm:section-matter@1.0.0 +[557] Applies to: npm:section-matter@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -43540,7 +43593,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[556] Applies to: npm:send@0.19.2, npm:send@1.2.1 +[558] Applies to: npm:send@0.19.2, npm:send@1.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -43567,7 +43620,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[557] Applies to: npm:serve-static@1.16.3, npm:serve-static@2.2.1 +[559] Applies to: npm:serve-static@1.16.3, npm:serve-static@2.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -43596,7 +43649,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[558] Applies to: npm:set-cookie-parser@2.7.2 +[560] Applies to: npm:set-cookie-parser@2.7.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -43621,7 +43674,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[559] Applies to: npm:setimmediate@1.0.5 +[561] Applies to: npm:setimmediate@1.0.5 ------------------------------------------------------------------------------ Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola @@ -43645,7 +43698,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[560] Applies to: npm:setprototypeof@1.2.0 +[562] Applies to: npm:setprototypeof@1.2.0 ------------------------------------------------------------------------------ Copyright (c) 2015, Wes Todd @@ -43662,7 +43715,7 @@ OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[561] Applies to: npm:sf-symbols-typescript@2.2.0 +[563] Applies to: npm:sf-symbols-typescript@2.2.0 ------------------------------------------------------------------------------ MIT License @@ -43687,7 +43740,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[562] Applies to: npm:shallowequal@1.1.0 +[564] Applies to: npm:shallowequal@1.1.0 ------------------------------------------------------------------------------ MIT License @@ -43712,7 +43765,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[563] Applies to: npm:shell-quote@1.10.0 +[565] Applies to: npm:shell-quote@1.10.0 ------------------------------------------------------------------------------ The MIT License @@ -43740,7 +43793,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[564] Applies to: npm:side-channel@1.1.1, npm:side-channel-weakmap@1.0.2 +[566] Applies to: npm:side-channel-weakmap@1.0.2, npm:side-channel@1.1.1 ------------------------------------------------------------------------------ MIT License @@ -43765,7 +43818,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[565] Applies to: npm:signal-exit@3.0.7 +[567] Applies to: npm:signal-exit@3.0.7 ------------------------------------------------------------------------------ The ISC License @@ -43785,7 +43838,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[566] Applies to: npm:signal-exit@4.1.0 +[568] Applies to: npm:signal-exit@4.1.0 ------------------------------------------------------------------------------ The ISC License @@ -43805,7 +43858,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[567] Applies to: npm:silk-wasm@3.7.1 +[569] Applies to: npm:silk-wasm@3.7.1 ------------------------------------------------------------------------------ MIT License @@ -43830,7 +43883,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[568] Applies to: npm:simple-concat@1.0.1, npm:simple-get@4.0.1 +[570] Applies to: npm:simple-concat@1.0.1, npm:simple-get@4.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -43854,7 +43907,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[569] Applies to: npm:simple-plist@1.3.1 +[571] Applies to: npm:simple-plist@1.3.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -43878,7 +43931,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[570] Applies to: npm:simple-swizzle@0.2.4 +[572] Applies to: npm:simple-swizzle@0.2.4 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -43903,7 +43956,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[571] Applies to: npm:slugify@1.6.9 +[573] Applies to: npm:slugify@1.6.9 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -43928,7 +43981,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[572] Applies to: npm:smol-toml@1.7.0 +[574] Applies to: npm:smol-toml@1.7.0 ------------------------------------------------------------------------------ Copyright (c) Squirrel Chat et al., All rights reserved. @@ -43956,7 +44009,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[573] Applies to: npm:sortablejs@1.15.7 +[575] Applies to: npm:sortablejs@1.15.7 ------------------------------------------------------------------------------ MIT License @@ -43981,7 +44034,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[574] Applies to: npm:source-map@0.5.7, npm:source-map@0.6.1, npm:source-map-js@1.2.1 +[576] Applies to: npm:source-map-js@1.2.1, npm:source-map@0.5.7, npm:source-map@0.6.1 ------------------------------------------------------------------------------ Copyright (c) 2009-2011, Mozilla Foundation and contributors All rights reserved. @@ -44012,7 +44065,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[575] Applies to: npm:source-map-support@0.5.21 +[577] Applies to: npm:source-map-support@0.5.21 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -44037,7 +44090,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[576] Applies to: npm:sprintf-js@1.0.3 +[578] Applies to: npm:sprintf-js@1.0.3 ------------------------------------------------------------------------------ Copyright (c) 2007-2014, Alexandru Marasteanu All rights reserved. @@ -44065,7 +44118,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[577] Applies to: npm:ssh-config@5.2.0 +[579] Applies to: npm:ssh-config@5.2.0 ------------------------------------------------------------------------------ MIT License @@ -44090,7 +44143,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[578] Applies to: npm:stacktrace-parser@0.1.11 +[580] Applies to: npm:stacktrace-parser@0.1.11 ------------------------------------------------------------------------------ MIT License @@ -44115,7 +44168,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[579] Applies to: npm:statuses@1.5.0, npm:statuses@2.0.2 +[581] Applies to: npm:statuses@1.5.0, npm:statuses@2.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -44141,7 +44194,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[580] Applies to: npm:stream-buffers@2.2.0 +[582] Applies to: npm:stream-buffers@2.2.0 ------------------------------------------------------------------------------ This is free and unencumbered software released into the public domain. @@ -44169,7 +44222,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[581] Applies to: npm:strict-uri-encode@2.0.0 +[583] Applies to: npm:strict-uri-encode@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -44194,7 +44247,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[582] Applies to: npm:strip-bom-string@1.0.0 +[584] Applies to: npm:strip-bom-string@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -44219,7 +44272,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[583] Applies to: npm:style-mod@4.1.3 +[585] Applies to: npm:style-mod@4.1.3 ------------------------------------------------------------------------------ Copyright (C) 2018 by Marijn Haverbeke and others @@ -44242,7 +44295,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[584] Applies to: npm:style-to-js@1.1.21 +[586] Applies to: npm:style-to-js@1.1.21 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -44268,7 +44321,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[585] Applies to: npm:style-to-object@1.0.14 +[587] Applies to: npm:style-to-object@1.0.14 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -44294,7 +44347,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[586] Applies to: npm:styleq@0.1.3 +[588] Applies to: npm:styleq@0.1.3 ------------------------------------------------------------------------------ MIT License @@ -44319,7 +44372,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[587] Applies to: npm:stylis@4.4.0 +[589] Applies to: npm:stylis@4.4.0 ------------------------------------------------------------------------------ MIT License @@ -44344,7 +44397,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[588] Applies to: npm:supports-hyperlinks@2.3.0 +[590] Applies to: npm:supports-hyperlinks@2.3.0 ------------------------------------------------------------------------------ MIT License @@ -44357,7 +44410,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[589] Applies to: npm:supports-preserve-symlinks-flag@1.0.0 +[591] Applies to: npm:supports-preserve-symlinks-flag@1.0.0 ------------------------------------------------------------------------------ MIT License @@ -44382,7 +44435,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[590] Applies to: npm:tailwind-merge@2.6.1 +[592] Applies to: npm:tailwind-merge@2.6.1 ------------------------------------------------------------------------------ MIT License @@ -44407,7 +44460,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[591] Applies to: npm:terser@5.49.0 +[593] Applies to: npm:terser@5.49.0 ------------------------------------------------------------------------------ Copyright 2012-2018 (c) Mihai Bazon @@ -44438,7 +44491,7 @@ THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[592] Applies to: npm:throat@5.0.0 +[594] Applies to: npm:throat@5.0.0 ------------------------------------------------------------------------------ Copyright (c) 2013 Forbes Lindesay @@ -44461,7 +44514,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[593] Applies to: npm:tinyexec@1.2.4 +[595] Applies to: npm:tinyexec@1.2.4 ------------------------------------------------------------------------------ MIT License @@ -44486,7 +44539,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[594] Applies to: npm:tinyglobby@0.2.17 +[596] Applies to: npm:tinyglobby@0.2.17 ------------------------------------------------------------------------------ MIT License @@ -44511,7 +44564,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[595] Applies to: npm:to-regex-range@5.0.1 +[597] Applies to: npm:to-regex-range@5.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -44536,7 +44589,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[596] Applies to: npm:toidentifier@1.0.1 +[598] Applies to: npm:toidentifier@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -44561,7 +44614,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[597] Applies to: npm:trough@2.2.0 +[599] Applies to: npm:trough@2.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -44586,7 +44639,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[598] Applies to: npm:ts-dedent@2.3.0 +[600] Applies to: npm:ts-dedent@2.3.0 ------------------------------------------------------------------------------ MIT License @@ -44611,7 +44664,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[599] Applies to: npm:ts-mixer@6.0.4 +[601] Applies to: npm:ts-mixer@6.0.4 ------------------------------------------------------------------------------ MIT License @@ -44636,7 +44689,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[600] Applies to: npm:tslib@2.8.1 +[602] Applies to: npm:tslib@2.8.1 ------------------------------------------------------------------------------ Copyright (c) Microsoft Corporation. @@ -44652,7 +44705,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[601] Applies to: npm:tslog@4.11.0 +[603] Applies to: npm:tslog@4.11.0 ------------------------------------------------------------------------------ MIT License @@ -44677,7 +44730,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[602] Applies to: npm:tunnel-agent@0.6.0 +[604] Applies to: npm:tunnel-agent@0.6.0 ------------------------------------------------------------------------------ Apache License @@ -44736,7 +44789,7 @@ If the Work includes a "NOTICE" text file as part of its distribution, then any END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[603] Applies to: npm:type-fest@0.20.2, npm:type-fest@0.21.3 +[605] Applies to: npm:type-fest@0.20.2, npm:type-fest@0.21.3 ------------------------------------------------------------------------------ MIT License @@ -44749,7 +44802,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[604] Applies to: npm:typebox@1.1.39 +[606] Applies to: npm:typebox@1.1.39 ------------------------------------------------------------------------------ TypeBox @@ -44776,7 +44829,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[605] Applies to: npm:ua-parser-js@1.0.41 +[607] Applies to: npm:ua-parser-js@1.0.41 ------------------------------------------------------------------------------ MIT License @@ -44801,7 +44854,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[606] Applies to: npm:undici@6.27.0, npm:undici@8.7.0, npm:undici-types@7.24.6 +[608] Applies to: npm:undici-types@7.24.6, npm:undici@6.27.0, npm:undici@8.7.0 ------------------------------------------------------------------------------ MIT License @@ -44826,7 +44879,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[607] Applies to: npm:unified@11.0.5, npm:vfile@6.0.3 +[609] Applies to: npm:unified@11.0.5, npm:vfile@6.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -44851,7 +44904,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[608] Applies to: npm:unist-util-is@6.0.1 +[610] Applies to: npm:unist-util-is@6.0.1 ------------------------------------------------------------------------------ (The MIT license) @@ -44877,7 +44930,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[609] Applies to: npm:universalify@2.0.1 +[611] Applies to: npm:universalify@2.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -44901,7 +44954,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[610] Applies to: npm:unpipe@1.0.0 +[612] Applies to: npm:unpipe@1.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -44927,7 +44980,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[611] Applies to: npm:update-browserslist-db@1.2.3 +[613] Applies to: npm:update-browserslist-db@1.2.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -44951,7 +45004,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[612] Applies to: npm:uri-js@4.4.1 +[614] Applies to: npm:uri-js@4.4.1 ------------------------------------------------------------------------------ Copyright 2011 Gary Court. All rights reserved. @@ -44966,7 +45019,7 @@ THIS SOFTWARE IS PROVIDED BY GARY COURT "AS IS" AND ANY EXPRESS OR IMPLIED WARRA The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Gary Court. ------------------------------------------------------------------------------ -[613] Applies to: npm:url-template@2.0.8 +[615] Applies to: npm:url-template@2.0.8 ------------------------------------------------------------------------------ Copyright (c) 2012-2014, Bram Stein All rights reserved. @@ -44995,7 +45048,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[614] Applies to: npm:use-latest-callback@0.2.6 +[616] Applies to: npm:use-latest-callback@0.2.6 ------------------------------------------------------------------------------ MIT License @@ -45020,7 +45073,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[615] Applies to: npm:util-deprecate@1.0.2 +[617] Applies to: npm:util-deprecate@1.0.2 ------------------------------------------------------------------------------ (The MIT License) @@ -45048,7 +45101,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[616] Applies to: npm:utils-merge@1.0.1 +[618] Applies to: npm:utils-merge@1.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -45072,7 +45125,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[617] Applies to: npm:uuid@14.0.1 +[619] Applies to: npm:uuid@14.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -45085,7 +45138,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[618] Applies to: npm:uuid@7.0.3 +[620] Applies to: npm:uuid@7.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -45110,7 +45163,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[619] Applies to: npm:validate-npm-package-name@5.0.1 +[621] Applies to: npm:validate-npm-package-name@5.0.1 ------------------------------------------------------------------------------ Copyright (c) 2015, npm, Inc @@ -45120,7 +45173,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[620] Applies to: npm:vaul@1.1.2 +[622] Applies to: npm:vaul@1.1.2 ------------------------------------------------------------------------------ MIT License @@ -45133,7 +45186,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[621] Applies to: npm:vlq@1.0.1 +[623] Applies to: npm:vlq@1.0.1 ------------------------------------------------------------------------------ Copyright (c) 2017 [these people](https://github.com/Rich-Harris/vlq/graphs/contributors) @@ -45144,7 +45197,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[622] Applies to: npm:void-elements@3.1.0 +[624] Applies to: npm:void-elements@3.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -45170,7 +45223,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[623] Applies to: npm:walker@1.0.8 +[625] Applies to: npm:walker@1.0.8 ------------------------------------------------------------------------------ Copyright 2013 Naitik Shah @@ -45187,7 +45240,7 @@ See the License for the specific language governing permissions and limitations under the License. ------------------------------------------------------------------------------ -[624] Applies to: npm:warn-once@0.1.1 +[626] Applies to: npm:warn-once@0.1.1 ------------------------------------------------------------------------------ MIT License @@ -45212,7 +45265,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[625] Applies to: npm:wcwidth@1.0.1 +[627] Applies to: npm:wcwidth@1.0.1 ------------------------------------------------------------------------------ wcwidth.js: JavaScript Portng of Markus Kuhn's wcwidth() Implementation ======================================================================= @@ -45245,7 +45298,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[626] Applies to: npm:web-streams-polyfill@3.3.3 +[628] Applies to: npm:web-streams-polyfill@3.3.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -45271,7 +45324,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[627] Applies to: npm:webidl-conversions@3.0.1 +[629] Applies to: npm:webidl-conversions@3.0.1 ------------------------------------------------------------------------------ # The BSD 2-Clause License @@ -45287,7 +45340,7 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[628] Applies to: npm:whatwg-fetch@3.6.20 +[630] Applies to: npm:whatwg-fetch@3.6.20 ------------------------------------------------------------------------------ Copyright (c) 2014-2023 GitHub, Inc. @@ -45311,11 +45364,13 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[629] Applies to: npm:whatwg-url@5.0.0 +[631] Applies to: npm:whatwg-url-minimum@0.1.2 ------------------------------------------------------------------------------ -The MIT License (MIT) +MIT License -Copyright (c) 2015–2016 Sebastian Mayr +Copyright (c) Phil Pluckthun, +Copyright (c) 650 Industries, Inc. (aka Expo), +Copyright (c) Sebastian Mayr Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -45324,25 +45379,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ------------------------------------------------------------------------------ -[630] Applies to: npm:whatwg-url-minimum@0.1.2 +[632] Applies to: npm:whatwg-url@5.0.0 ------------------------------------------------------------------------------ -MIT License +The MIT License (MIT) -Copyright (c) Phil Pluckthun, -Copyright (c) 650 Industries, Inc. (aka Expo), -Copyright (c) Sebastian Mayr +Copyright (c) 2015–2016 Sebastian Mayr Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -45351,19 +45404,19 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. ------------------------------------------------------------------------------ -[631] Applies to: npm:which-module@2.0.1 +[633] Applies to: npm:which-module@2.0.1 ------------------------------------------------------------------------------ Copyright (c) 2016, Contributors @@ -45380,7 +45433,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[632] Applies to: npm:workerpool@9.1.1 +[634] Applies to: npm:workerpool@9.1.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -45585,7 +45638,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[633] Applies to: npm:ws@7.5.12 +[635] Applies to: npm:ws@7.5.12 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -45610,7 +45663,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[634] Applies to: npm:ws@8.21.1 +[636] Applies to: npm:ws@8.21.1 ------------------------------------------------------------------------------ Copyright (c) 2011 Einar Otto Stangvik Copyright (c) 2013 Arnout Kazemier and contributors @@ -45634,7 +45687,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[635] Applies to: npm:xcode@3.0.1 (NOTICE) +[637] Applies to: npm:xcode@3.0.1 (NOTICE) ------------------------------------------------------------------------------ NOTICE for npm:xcode@3.0.1: @@ -45645,7 +45698,7 @@ This product includes software developed at The Apache Software Foundation (http://www.apache.org/). ------------------------------------------------------------------------------ -[636] Applies to: npm:xml2js@0.6.0 +[638] Applies to: npm:xml2js@0.6.0 ------------------------------------------------------------------------------ Copyright 2010, 2011, 2012, 2013. All rights reserved. @@ -45668,7 +45721,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[637] Applies to: npm:xmlbuilder@11.0.1, npm:xmlbuilder@15.1.1 +[639] Applies to: npm:xmlbuilder@11.0.1, npm:xmlbuilder@15.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -45693,7 +45746,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[638] Applies to: npm:y18n@4.0.3, npm:y18n@5.0.8 +[640] Applies to: npm:y18n@4.0.3, npm:y18n@5.0.8 ------------------------------------------------------------------------------ Copyright (c) 2015, Contributors @@ -45710,7 +45763,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[639] Applies to: npm:yaml@2.9.0 +[641] Applies to: npm:yaml@2.9.0 ------------------------------------------------------------------------------ Copyright Eemeli Aro @@ -45727,7 +45780,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[640] Applies to: npm:yargs@15.4.1, npm:yargs@17.7.3 +[642] Applies to: npm:yargs@15.4.1, npm:yargs@17.7.3 ------------------------------------------------------------------------------ MIT License @@ -45752,7 +45805,26 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[641] Applies to: npm:zod@4.3.6 +[643] Applies to: npm:zod-to-json-schema@3.25.2 +------------------------------------------------------------------------------ +ISC License + +Copyright (c) 2020, Stefan Terdell + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------------------ +[644] Applies to: npm:zod@4.3.6 ------------------------------------------------------------------------------ MIT License @@ -45776,44 +45848,25 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[642] Applies to: npm:zod-to-json-schema@3.25.2 ------------------------------------------------------------------------------- -ISC License - -Copyright (c) 2020, Stefan Terdell - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ------------------------------------------------------------------------------ Packages without a standalone license file (license per package.json): ------------------------------------------------------------------------------ - cargo:alloc-stdlib@0.2.4 (BSD-3-Clause) - cargo:selectors@0.36.1 (MPL-2.0) -- cargo:tauri@2.11.5 (Apache-2.0 OR MIT) - cargo:tauri-codegen@2.6.3 (Apache-2.0 OR MIT) - cargo:tauri-macros@2.6.3 (Apache-2.0 OR MIT) -- cargo:tauri-runtime@2.11.3 (Apache-2.0 OR MIT) - cargo:tauri-runtime-wry@2.11.4 (Apache-2.0 OR MIT) +- cargo:tauri-runtime@2.11.3 (Apache-2.0 OR MIT) - cargo:tauri-utils@2.9.3 (Apache-2.0 OR MIT) +- cargo:tauri@2.11.5 (Apache-2.0 OR MIT) - cargo:unic-char-property@0.9.0 (MIT OR Apache-2.0) - cargo:unic-char-range@0.9.0 (MIT OR Apache-2.0) - cargo:unic-common@0.9.0 (MIT OR Apache-2.0) - cargo:unic-ucd-ident@0.9.0 (MIT OR Apache-2.0) - cargo:unic-ucd-version@0.9.0 (MIT OR Apache-2.0) -- cargo:webview2-com@0.38.2 (MIT) - cargo:webview2-com-macros@0.8.1 (MIT) - cargo:webview2-com-sys@0.38.2 (MIT) +- cargo:webview2-com@0.38.2 (MIT) - npm:@chinese-fonts/font-contours@1.0.0 (ISC) - npm:@expo/devcert@1.2.1 (MIT) - npm:@expo/sdk-runtime-versions@1.0.0 (MIT) @@ -45839,13 +45892,13 @@ Packages without a standalone license file (license per package.json): - npm:@napi-rs/canvas-linux-x64-gnu@0.1.100 (MIT) - npm:@napi-rs/canvas-win32-arm64-msvc@0.1.100 (MIT) - npm:@napi-rs/canvas-win32-x64-msvc@0.1.100 (MIT) -- npm:@napi-rs/woff-build@0.2.2 (MIT) - npm:@napi-rs/woff-build-darwin-arm64@0.2.2 (MIT) - npm:@napi-rs/woff-build-darwin-x64@0.2.2 (MIT) - npm:@napi-rs/woff-build-linux-arm64-gnu@0.2.2 (MIT) - npm:@napi-rs/woff-build-linux-x64-gnu@0.2.2 (MIT) - npm:@napi-rs/woff-build-win32-arm64-msvc@0.2.2 (MIT) - npm:@napi-rs/woff-build-win32-x64-msvc@0.2.2 (MIT) +- npm:@napi-rs/woff-build@0.2.2 (MIT) - npm:@react-native/assets-registry@0.85.3 (MIT) - npm:@react-native/babel-plugin-codegen@0.85.3 (MIT) - npm:@react-native/codegen@0.85.3 (MIT) @@ -45862,6 +45915,7 @@ Packages without a standalone license file (license per package.json): - npm:@sapphire/snowflake@3.5.5 (MIT) - npm:@simple-git/args-pathspec@1.0.3 (MIT) - npm:@simple-git/argv-parser@1.1.1 (MIT) +- npm:@wecom/aibot-node-sdk@1.0.7 (MIT) - npm:agent-base@6.0.2 (MIT) - npm:babel-plugin-react-compiler@1.0.0 (MIT) - npm:badgin@1.2.3 (MIT) @@ -45884,10 +45938,9 @@ Packages without a standalone license file (license per package.json): - npm:https-proxy-agent@5.0.1 (MIT) - npm:isarray@1.0.0 (MIT) - npm:jimp-compact@0.16.1 (MIT) -- npm:metro@0.84.4 (MIT) - npm:metro-babel-transformer@0.84.4 (MIT) -- npm:metro-cache@0.84.4 (MIT) - npm:metro-cache-key@0.84.4 (MIT) +- npm:metro-cache@0.84.4 (MIT) - npm:metro-config@0.84.4 (MIT) - npm:metro-core@0.84.4 (MIT) - npm:metro-file-map@0.84.4 (MIT) @@ -45898,6 +45951,7 @@ Packages without a standalone license file (license per package.json): - npm:metro-symbolicate@0.84.4 (MIT) - npm:metro-transform-plugins@0.84.4 (MIT) - npm:metro-transform-worker@0.84.4 (MIT) +- npm:metro@0.84.4 (MIT) - npm:ob1@0.84.4 (MIT) - npm:react-devtools-core@6.1.5 (MIT) - npm:react-remove-scroll-bar@2.3.8 (MIT) diff --git a/docs/legal/notices/desktop-linux.txt b/docs/legal/notices/desktop-linux.txt index c88bacd8cbc..68b8bd4b1d5 100644 --- a/docs/legal/notices/desktop-linux.txt +++ b/docs/legal/notices/desktop-linux.txt @@ -1025,7 +1025,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ============================================================================== -SECTION 2: npm packages (787 packages) +SECTION 2: npm packages (790 packages) ============================================================================== - @antfu/install-pkg@1.1.0 — MIT — https://github.com/antfu/install-pkg @@ -1112,17 +1112,17 @@ SECTION 2: npm packages (787 packages) - @mermaid-js/parser@1.2.0 — MIT — https://github.com/mermaid-js/mermaid - @modelcontextprotocol/sdk@1.29.0 — MIT — https://github.com/modelcontextprotocol/typescript-sdk - @monogrid/gainmap-js@3.4.0 — MIT — https://github.com/MONOGRID/gainmap-js -- @napi-rs/canvas@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-linux-arm64-gnu@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-linux-x64-gnu@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas -- @napi-rs/woff-build@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build +- @napi-rs/canvas@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/woff-build-linux-arm64-gnu@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @napi-rs/woff-build-linux-x64-gnu@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build +- @napi-rs/woff-build@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @noble/hashes@1.8.0 — MIT — https://github.com/paulmillr/noble-hashes - @paralleldrive/cuid2@2.3.1 — MIT — https://github.com/ericelliott/cuid2 -- @parcel/watcher@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-linux-arm64-glibc@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-linux-x64-glibc@2.5.6 — MIT — https://github.com/parcel-bundler/watcher +- @parcel/watcher@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @pkgjs/parseargs@0.11.0 — MIT — https://github.com/pkgjs/parseargs - @protobufjs/aspromise@1.1.2 — BSD-3-Clause — https://github.com/dcodeIO/protobuf.js - @protobufjs/base64@1.1.2 — BSD-3-Clause — https://github.com/dcodeIO/protobuf.js @@ -1186,7 +1186,6 @@ SECTION 2: npm packages (787 packages) - @tiptap/extension-text@3.28.0 — MIT — https://github.com/ueberdosis/tiptap - @tiptap/pm@3.28.0 — MIT — https://github.com/ueberdosis/tiptap - @tiptap/react@3.28.0 — MIT — https://github.com/ueberdosis/tiptap -- @types/d3@7.4.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-array@3.2.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-axis@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-brush@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped @@ -1208,18 +1207,19 @@ SECTION 2: npm packages (787 packages) - @types/d3-polygon@3.0.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-quadtree@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-random@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/d3-scale@4.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-scale-chromatic@3.1.0 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3-scale@4.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-selection@3.0.11 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-shape@3.1.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/d3-time@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-time-format@4.0.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3-time@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-timer@3.0.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-transition@3.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-zoom@3.0.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3@7.4.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/debug@4.1.13 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/estree@1.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/estree-jsx@1.0.5 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/estree@1.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/geojson@7946.0.16 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/hast@3.0.5 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/katex@0.16.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped @@ -1234,6 +1234,7 @@ SECTION 2: npm packages (787 packages) - @ungap/structured-clone@1.3.3 — ISC — https://github.com/ungap/structured-clone - @upsetjs/venn.js@2.0.0 — MIT — https://github.com/upsetjs/venn.js - @vladfrangu/async_event_emitter@2.4.7 — MIT — https://github.com/vladfrangu/async_event_emitter +- @wecom/aibot-node-sdk@1.0.7 — MIT — https://github.com/WecomTeam/aibot-node-sdk - @xterm/addon-clipboard@0.1.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-clipboard - @xterm/addon-fit@0.10.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-fit - @xterm/addon-web-links@0.11.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-web-links @@ -1241,10 +1242,10 @@ SECTION 2: npm packages (787 packages) - accepts@2.0.0 — MIT — https://github.com/jshttp/accepts - agent-base@6.0.2 — MIT — https://github.com/TooTallNate/node-agent-base - agent-base@7.1.4 — MIT — https://github.com/TooTallNate/proxy-agents -- ajv@7.2.4 — MIT — https://github.com/ajv-validator/ajv -- ajv@8.20.0 — MIT — https://github.com/ajv-validator/ajv - ajv-formats@1.6.1 — MIT — https://github.com/ajv-validator/ajv-formats - ajv-formats@3.0.1 — MIT — https://github.com/ajv-validator/ajv-formats +- ajv@7.2.4 — MIT — https://github.com/ajv-validator/ajv +- ajv@8.20.0 — MIT — https://github.com/ajv-validator/ajv - ansi-regex@5.0.1 — MIT — https://github.com/chalk/ansi-regex - ansi-regex@6.2.2 — MIT — https://github.com/chalk/ansi-regex - ansi-styles@4.3.0 — MIT — https://github.com/chalk/ansi-styles @@ -1266,8 +1267,8 @@ SECTION 2: npm packages (787 packages) - bl@4.1.0 — MIT — https://github.com/rvagg/bl - body-parser@2.3.0 — MIT — https://github.com/expressjs/body-parser - brace-expansion@2.1.2 — MIT — https://github.com/juliangruber/brace-expansion -- buffer@5.7.1 — MIT — https://github.com/feross/buffer - buffer-equal-constant-time@1.0.1 — BSD-3-Clause — https://github.com/goinstant/buffer-equal-constant-time +- buffer@5.7.1 — MIT — https://github.com/feross/buffer - buildcheck@0.0.7 — MIT — http://github.com/mscdex/buildcheck - byte-size@8.2.1 — MIT — https://github.com/75lb/byte-size - bytes@3.1.2 — MIT — https://github.com/visionmedia/bytes.js @@ -1275,9 +1276,9 @@ SECTION 2: npm packages (787 packages) - call-bound@1.0.4 — MIT — https://github.com/ljharb/call-bound - camelcase@5.3.1 — MIT — https://github.com/sindresorhus/camelcase - ccount@2.0.1 — MIT — https://github.com/wooorm/ccount -- character-entities@2.0.2 — MIT — https://github.com/wooorm/character-entities - character-entities-html4@2.1.0 — MIT — https://github.com/wooorm/character-entities-html4 - character-entities-legacy@3.0.0 — MIT — https://github.com/wooorm/character-entities-legacy +- character-entities@2.0.2 — MIT — https://github.com/wooorm/character-entities - character-reference-invalid@2.0.1 — MIT — https://github.com/wooorm/character-reference-invalid - charenc@0.0.2 — BSD-3-Clause — https://github.com/pvorb/node-charenc - chownr@1.1.4 — ISC — https://github.com/isaacs/chownr @@ -1294,9 +1295,9 @@ SECTION 2: npm packages (787 packages) - content-disposition@1.1.0 — MIT — https://github.com/jshttp/content-disposition - content-type@1.0.5 — MIT — https://github.com/jshttp/content-type - content-type@2.0.0 — MIT — https://github.com/jshttp/content-type +- cookie-signature@1.2.2 — MIT — https://github.com/visionmedia/node-cookie-signature - cookie@0.7.2 — MIT — https://github.com/jshttp/cookie - cookie@1.1.1 — MIT — https://github.com/jshttp/cookie -- cookie-signature@1.2.2 — MIT — https://github.com/visionmedia/node-cookie-signature - core-util-is@1.0.3 — MIT — https://github.com/isaacs/core-util-is - cors@2.8.6 — MIT — https://github.com/expressjs/cors - cose-base@1.0.3 — MIT — https://github.com/iVis-at-Bilkent/cose-base @@ -1305,10 +1306,9 @@ SECTION 2: npm packages (787 packages) - crelt@1.0.7 — MIT — https://code.haverbeke.berlin/marijn/crelt - cross-spawn@7.0.6 — MIT — https://github.com/moxystudio/node-cross-spawn - crypt@0.0.2 — BSD-3-Clause — https://github.com/pvorb/node-crypt -- cytoscape@3.34.0 — MIT — https://github.com/cytoscape/cytoscape.js - cytoscape-cose-bilkent@4.1.0 — MIT — https://github.com/cytoscape/cytoscape.js-cose-bilkent - cytoscape-fcose@2.2.0 — MIT — https://github.com/iVis-at-Bilkent/cytoscape.js-fcose -- d3@7.9.0 — ISC — https://github.com/d3/d3 +- cytoscape@3.34.0 — MIT — https://github.com/cytoscape/cytoscape.js - d3-array@2.12.1 — BSD-3-Clause — https://github.com/d3/d3-array - d3-array@3.2.4 — ISC — https://github.com/d3/d3-array - d3-axis@3.0.0 — ISC — https://github.com/d3/d3-axis @@ -1333,16 +1333,17 @@ SECTION 2: npm packages (787 packages) - d3-quadtree@3.0.1 — ISC — https://github.com/d3/d3-quadtree - d3-random@3.0.1 — ISC — https://github.com/d3/d3-random - d3-sankey@0.12.3 — BSD-3-Clause — https://github.com/d3/d3-sankey -- d3-scale@4.0.2 — ISC — https://github.com/d3/d3-scale - d3-scale-chromatic@3.1.0 — ISC — https://github.com/d3/d3-scale-chromatic +- d3-scale@4.0.2 — ISC — https://github.com/d3/d3-scale - d3-selection@3.0.0 — ISC — https://github.com/d3/d3-selection - d3-shape@1.3.7 — BSD-3-Clause — https://github.com/d3/d3-shape - d3-shape@3.2.0 — ISC — https://github.com/d3/d3-shape -- d3-time@3.1.0 — ISC — https://github.com/d3/d3-time - d3-time-format@4.1.0 — ISC — https://github.com/d3/d3-time-format +- d3-time@3.1.0 — ISC — https://github.com/d3/d3-time - d3-timer@3.0.1 — ISC — https://github.com/d3/d3-timer - d3-transition@3.0.1 — ISC — https://github.com/d3/d3-transition - d3-zoom@3.0.0 — ISC — https://github.com/d3/d3-zoom +- d3@7.9.0 — ISC — https://github.com/d3/d3 - dagre-d3-es@7.0.14 — MIT — https://github.com/tbo47/dagre-es - data-uri-to-buffer@4.0.1 — MIT — https://github.com/TooTallNate/node-data-uri-to-buffer - dayjs@1.11.21 — MIT — https://github.com/iamkun/dayjs @@ -1363,6 +1364,7 @@ SECTION 2: npm packages (787 packages) - devlop@1.1.0 — MIT — https://github.com/wooorm/devlop - diff@8.0.4 — BSD-3-Clause — https://github.com/kpdecker/jsdiff - dijkstrajs@1.0.3 — MIT — https://github.com/tcort/dijkstrajs +- dingtalk-stream@v2.1.5 — MIT — https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs - discord-api-types@0.38.50 — MIT — https://github.com/discordjs/discord-api-types - discord.js@14.27.0 — Apache-2.0 — https://github.com/discordjs/discord.js - dompurify@3.4.12 — (MPL-2.0 OR Apache-2.0) — https://github.com/cure53/DOMPurify @@ -1391,15 +1393,16 @@ SECTION 2: npm packages (787 packages) - esprima@4.0.1 — BSD-2-Clause — https://github.com/jquery/esprima - estree-util-is-identifier-name@3.0.0 — MIT — https://github.com/syntax-tree/estree-util-is-identifier-name - etag@1.8.1 — MIT — https://github.com/jshttp/etag -- eventsource@3.0.7 — MIT — https://git@github.com/EventSource/eventsource +- eventemitter3@5.0.4 — MIT — https://github.com/primus/eventemitter3 - eventsource-parser@3.1.0 — MIT — https://github.com/rexxars/eventsource-parser +- eventsource@3.0.7 — MIT — https://git@github.com/EventSource/eventsource - execa@4.1.0 — MIT — https://github.com/sindresorhus/execa - execa@5.1.1 — MIT — https://github.com/sindresorhus/execa - expand-template@2.0.3 — (MIT OR WTFPL) — https://github.com/ralphtheninja/expand-template -- express@5.2.1 — MIT — https://github.com/expressjs/express - express-rate-limit@8.5.2 — MIT — https://github.com/express-rate-limit/express-rate-limit -- extend@3.0.2 — MIT — https://github.com/justmoon/node-extend +- express@5.2.1 — MIT — https://github.com/expressjs/express - extend-shallow@2.0.1 — MIT — https://github.com/jonschlinkert/extend-shallow +- extend@3.0.2 — MIT — https://github.com/justmoon/node-extend - fast-deep-equal@3.1.3 — MIT — https://github.com/epoberezkin/fast-deep-equal - fast-equals@5.4.1 — MIT — https://github.com/planttheidea/fast-equals - fast-uri@3.1.4 — BSD-3-Clause — https://github.com/fastify/fast-uri @@ -1446,8 +1449,8 @@ SECTION 2: npm packages (787 packages) - has-tostringtag@1.0.2 — MIT — https://github.com/inspect-js/has-tostringtag - hasown@2.0.4 — MIT — https://github.com/inspect-js/hasOwn - hast-util-from-dom@5.0.1 — ISC — https://github.com/syntax-tree/hast-util-from-dom -- hast-util-from-html@2.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-html - hast-util-from-html-isomorphic@2.0.0 — MIT — https://github.com/syntax-tree/hast-util-from-html-isomorphic +- hast-util-from-html@2.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-html - hast-util-from-parse5@8.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-parse5 - hast-util-heading-rank@3.0.0 — MIT — https://github.com/syntax-tree/hast-util-heading-rank - hast-util-is-element@3.0.0 — MIT — https://github.com/syntax-tree/hast-util-is-element @@ -1521,17 +1524,17 @@ SECTION 2: npm packages (787 packages) - layout-base@2.0.1 — MIT — https://github.com/iVis-at-Bilkent/layout-base - lcid@3.1.1 — MIT — https://github.com/sindresorhus/lcid - lie@3.3.0 — MIT — https://github.com/calvinmetcalf/lie -- lit@3.3.3 — BSD-3-Clause — https://github.com/lit/lit - lit-element@4.2.2 — BSD-3-Clause — https://github.com/lit/lit - lit-html@3.3.3 — BSD-3-Clause — https://github.com/lit/lit +- lit@3.3.3 — BSD-3-Clause — https://github.com/lit/lit - locate-path@3.0.0 — MIT — https://github.com/sindresorhus/locate-path - locate-path@5.0.0 — MIT — https://github.com/sindresorhus/locate-path -- lodash@4.18.1 — MIT — https://github.com/lodash/lodash - lodash-es@4.18.1 — MIT — https://github.com/lodash/lodash - lodash.identity@3.0.0 — MIT — https://github.com/lodash/lodash - lodash.merge@4.6.2 — MIT — https://github.com/lodash/lodash - lodash.pickby@4.6.0 — MIT — https://github.com/lodash/lodash - lodash.snakecase@4.1.1 — MIT — https://github.com/lodash/lodash +- lodash@4.18.1 — MIT — https://github.com/lodash/lodash - long@5.3.2 — Apache-2.0 — https://github.com/dcodeIO/long.js - longest-streak@3.1.0 — MIT — https://github.com/wooorm/longest-streak - loudness@0.4.2 — MIT — https://github.com/LinusU/node-loudness @@ -1546,36 +1549,35 @@ SECTION 2: npm packages (787 packages) - md5@2.3.0 — BSD-3-Clause — https://github.com/pvorb/node-md5 - mdast-util-find-and-replace@3.0.2 — MIT — https://github.com/syntax-tree/mdast-util-find-and-replace - mdast-util-from-markdown@2.0.3 — MIT — https://github.com/syntax-tree/mdast-util-from-markdown -- mdast-util-gfm@3.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm - mdast-util-gfm-autolink-literal@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-gfm-autolink-literal - mdast-util-gfm-footnote@2.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-footnote - mdast-util-gfm-strikethrough@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-strikethrough - mdast-util-gfm-table@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-table - mdast-util-gfm-task-list-item@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-task-list-item +- mdast-util-gfm@3.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm - mdast-util-math@3.0.0 — MIT — https://github.com/syntax-tree/mdast-util-math - mdast-util-mdx-expression@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-mdx-expression - mdast-util-mdx-jsx@3.2.0 — MIT — https://github.com/syntax-tree/mdast-util-mdx-jsx - mdast-util-mdxjs-esm@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-mdxjs-esm - mdast-util-phrasing@4.1.0 — MIT — https://github.com/syntax-tree/mdast-util-phrasing - mdast-util-to-hast@13.2.1 — MIT — https://github.com/syntax-tree/mdast-util-to-hast -- mdast-util-to-markdown@2.1.2 — MIT — https://github.com/syntax-tree/mdast-util-to-markdown - mdast-util-to-markdown-cjk-friendly@1.0.0 — MIT — https://github.com/tats-u/markdown-cjk-friendly +- mdast-util-to-markdown@2.1.2 — MIT — https://github.com/syntax-tree/mdast-util-to-markdown - mdast-util-to-string@4.0.0 — MIT — https://github.com/syntax-tree/mdast-util-to-string - media-typer@1.1.0 — MIT — https://github.com/jshttp/media-typer - merge-descriptors@2.0.0 — MIT — https://github.com/sindresorhus/merge-descriptors - merge-stream@2.0.0 — MIT — https://github.com/grncdr/merge-stream - mermaid@11.16.0 — MIT — https://github.com/mermaid-js/mermaid -- micromark@4.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark - micromark-core-commonmark@2.0.3 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark -- micromark-extension-cjk-friendly@2.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly - micromark-extension-cjk-friendly-util@3.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly -- micromark-extension-gfm@3.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm +- micromark-extension-cjk-friendly@2.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly - micromark-extension-gfm-autolink-literal@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-autolink-literal - micromark-extension-gfm-footnote@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-footnote - micromark-extension-gfm-strikethrough@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-strikethrough - micromark-extension-gfm-table@2.1.1 — MIT — https://github.com/micromark/micromark-extension-gfm-table - micromark-extension-gfm-tagfilter@2.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm-tagfilter - micromark-extension-gfm-task-list-item@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-task-list-item +- micromark-extension-gfm@3.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm - micromark-extension-math@3.1.0 — MIT — https://github.com/micromark/micromark-extension-math - micromark-factory-destination@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-factory-destination - micromark-factory-label@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label @@ -1596,6 +1598,7 @@ SECTION 2: npm packages (787 packages) - micromark-util-subtokenize@2.1.0 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize - micromark-util-symbol@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-symbol - micromark-util-types@2.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-types +- micromark@4.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark - mime-db@1.52.0 — MIT — https://github.com/jshttp/mime-db - mime-db@1.54.0 — MIT — https://github.com/jshttp/mime-db - mime-types@2.1.35 — MIT — https://github.com/jshttp/mime-types @@ -1606,8 +1609,8 @@ SECTION 2: npm packages (787 packages) - minimatch@9.0.9 — ISC — https://github.com/isaacs/minimatch - minimist@1.2.8 — MIT — https://github.com/minimistjs/minimist - minipass@7.1.3 — BlueOak-1.0.0 — https://github.com/isaacs/minipass -- mkdirp@0.5.6 — MIT — https://github.com/substack/node-mkdirp - mkdirp-classic@0.5.3 — MIT — https://github.com/mafintosh/mkdirp-classic +- mkdirp@0.5.6 — MIT — https://github.com/substack/node-mkdirp - mri@1.2.0 — MIT — https://github.com/lukeed/mri - ms@2.0.0 — MIT — https://github.com/zeit/ms - ms@2.1.3 — MIT — https://github.com/vercel/ms @@ -1679,15 +1682,15 @@ SECTION 2: npm packages (787 packages) - range-parser@1.3.0 — MIT — https://github.com/jshttp/range-parser - raw-body@3.0.2 — MIT — https://github.com/stream-utils/raw-body - rc@1.2.8 — (BSD-2-Clause OR MIT OR Apache-2.0) — https://github.com/dominictarr/rc -- react@19.2.3 — MIT — https://github.com/facebook/react - react-dom@19.2.3 — MIT — https://github.com/facebook/react - react-i18next@17.0.10 — MIT — https://github.com/i18next/react-i18next - react-markdown@10.1.0 — MIT — https://github.com/remarkjs/react-markdown -- react-remove-scroll@2.7.2 — MIT — https://github.com/theKashey/react-remove-scroll - react-remove-scroll-bar@2.3.8 — MIT — https://github.com/theKashey/react-remove-scroll-bar -- react-router@7.18.1 — MIT — https://github.com/remix-run/react-router +- react-remove-scroll@2.7.2 — MIT — https://github.com/theKashey/react-remove-scroll - react-router-dom@7.18.1 — MIT — https://github.com/remix-run/react-router +- react-router@7.18.1 — MIT — https://github.com/remix-run/react-router - react-style-singleton@2.2.3 — MIT — https://github.com/theKashey/react-style-singleton +- react@19.2.3 — MIT — https://github.com/facebook/react - readable-stream@2.3.8 — MIT — https://github.com/nodejs/readable-stream - readable-stream@3.6.2 — MIT — https://github.com/nodejs/readable-stream - rehype-highlight@7.0.2 — MIT — https://github.com/rehypejs/rehype-highlight @@ -1726,10 +1729,10 @@ SECTION 2: npm packages (787 packages) - shebang-regex@3.0.0 — MIT — https://github.com/sindresorhus/shebang-regex - shell-env@4.0.3 — MIT — https://github.com/sindresorhus/shell-env - shell-path@3.1.0 — MIT — https://github.com/sindresorhus/shell-path -- side-channel@1.1.1 — MIT — https://github.com/ljharb/side-channel - side-channel-list@1.0.1 — MIT — https://github.com/ljharb/side-channel-list - side-channel-map@1.0.1 — MIT — https://github.com/ljharb/side-channel-map - side-channel-weakmap@1.0.2 — MIT — https://github.com/ljharb/side-channel-weakmap +- side-channel@1.1.1 — MIT — https://github.com/ljharb/side-channel - signal-exit@3.0.7 — ISC — https://github.com/tapjs/signal-exit - signal-exit@4.1.0 — ISC — https://github.com/tapjs/signal-exit - silk-wasm@3.7.1 — MIT — https://github.com/idranme/silk-wasm @@ -1773,17 +1776,17 @@ SECTION 2: npm packages (787 packages) - type-fest@0.20.2 — (MIT OR CC0-1.0) — https://github.com/sindresorhus/type-fest - type-is@2.1.0 — MIT — https://github.com/jshttp/type-is - typebox@1.1.39 — MIT — https://github.com/sinclairzx81/typebox +- undici-types@7.24.6 — MIT — https://github.com/nodejs/undici - undici@6.27.0 — MIT — https://github.com/nodejs/undici - undici@8.7.0 — MIT — https://github.com/nodejs/undici -- undici-types@7.24.6 — MIT — https://github.com/nodejs/undici - unified@11.0.5 — MIT — https://github.com/unifiedjs/unified - unist-util-find-after@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-find-after - unist-util-is@6.0.1 — MIT — https://github.com/syntax-tree/unist-util-is - unist-util-position@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-position - unist-util-remove-position@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-remove-position - unist-util-stringify-position@4.0.0 — MIT — https://github.com/syntax-tree/unist-util-stringify-position -- unist-util-visit@5.1.0 — MIT — https://github.com/syntax-tree/unist-util-visit - unist-util-visit-parents@6.0.2 — MIT — https://github.com/syntax-tree/unist-util-visit-parents +- unist-util-visit@5.1.0 — MIT — https://github.com/syntax-tree/unist-util-visit - universalify@2.0.1 — MIT — https://github.com/RyanZim/universalify - unpipe@1.0.0 — MIT — https://github.com/stream-utils/unpipe - uri-js@4.4.1 — BSD-2-Clause — http://github.com/garycourt/uri-js @@ -1794,15 +1797,15 @@ SECTION 2: npm packages (787 packages) - util-deprecate@1.0.2 — MIT — https://github.com/TooTallNate/util-deprecate - uuid@14.0.1 — MIT — https://github.com/uuidjs/uuid - vary@1.1.2 — MIT — https://github.com/jshttp/vary -- vfile@6.0.3 — MIT — https://github.com/vfile/vfile - vfile-location@5.0.3 — MIT — https://github.com/vfile/vfile-location - vfile-message@4.0.3 — MIT — https://github.com/vfile/vfile-message +- vfile@6.0.3 — MIT — https://github.com/vfile/vfile - void-elements@3.1.0 — MIT — https://github.com/pugjs/void-elements - w3c-keyname@2.2.8 — MIT — https://github.com/marijnh/w3c-keyname - web-namespaces@2.0.1 — MIT — https://github.com/wooorm/web-namespaces - web-streams-polyfill@3.3.3 — MIT — https://github.com/MattiasBuelens/web-streams-polyfill -- which@2.0.2 — ISC — https://github.com/isaacs/node-which - which-module@2.0.1 — ISC — https://github.com/nexdrew/which-module +- which@2.0.2 — ISC — https://github.com/isaacs/node-which - workerpool@9.1.1 — Apache-2.0 — https://github.com/josdejong/workerpool - wrap-ansi@6.2.0 — MIT — https://github.com/chalk/wrap-ansi - wrap-ansi@7.0.0 — MIT — https://github.com/chalk/wrap-ansi @@ -1810,10 +1813,10 @@ SECTION 2: npm packages (787 packages) - wrappy@1.0.2 — ISC — https://github.com/npm/wrappy - ws@8.21.1 — MIT — https://github.com/websockets/ws - y18n@4.0.3 — ISC — https://github.com/yargs/y18n -- yargs@15.4.1 — MIT — https://github.com/yargs/yargs - yargs-parser@18.1.3 — ISC — https://github.com/yargs/yargs-parser -- zod@4.3.6 — MIT — https://github.com/colinhacks/zod +- yargs@15.4.1 — MIT — https://github.com/yargs/yargs - zod-to-json-schema@3.25.2 — ISC — https://github.com/StefanTerdell/zod-to-json-schema +- zod@4.3.6 — MIT — https://github.com/colinhacks/zod - zwitch@2.0.4 — MIT — https://github.com/wooorm/zwitch ============================================================================== @@ -3870,7 +3873,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[28] Applies to: npm:@lit/reactive-element@2.1.2, npm:lit@3.3.3, npm:lit-element@4.2.2, npm:lit-html@3.3.3 +[28] Applies to: npm:@lit/reactive-element@2.1.2, npm:lit-element@4.2.2, npm:lit-html@3.3.3, npm:lit@3.3.3 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -4077,7 +4080,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[36] Applies to: npm:@parcel/watcher@2.5.6, npm:@parcel/watcher-linux-arm64-glibc@2.5.6, npm:@parcel/watcher-linux-x64-glibc@2.5.6 +[36] Applies to: npm:@parcel/watcher-linux-arm64-glibc@2.5.6, npm:@parcel/watcher-linux-x64-glibc@2.5.6, npm:@parcel/watcher@2.5.6 ------------------------------------------------------------------------------ MIT License @@ -4260,7 +4263,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[43] Applies to: npm:@types/d3@7.4.3, npm:@types/d3-array@3.2.2, npm:@types/d3-axis@3.0.6, npm:@types/d3-brush@3.0.6, npm:@types/d3-chord@3.0.6, npm:@types/d3-color@3.1.3, npm:@types/d3-contour@3.0.6, npm:@types/d3-delaunay@6.0.4, npm:@types/d3-dispatch@3.0.7, npm:@types/d3-drag@3.0.7, npm:@types/d3-dsv@3.0.7, npm:@types/d3-ease@3.0.2, npm:@types/d3-fetch@3.0.7, npm:@types/d3-force@3.0.10, npm:@types/d3-format@3.0.4, npm:@types/d3-geo@3.1.0, npm:@types/d3-hierarchy@3.1.7, npm:@types/d3-interpolate@3.0.4, npm:@types/d3-path@3.1.1, npm:@types/d3-polygon@3.0.2, npm:@types/d3-quadtree@3.0.6, npm:@types/d3-random@3.0.4, npm:@types/d3-scale@4.0.9, npm:@types/d3-scale-chromatic@3.1.0, npm:@types/d3-selection@3.0.11, npm:@types/d3-shape@3.1.8, npm:@types/d3-time@3.0.4, npm:@types/d3-time-format@4.0.3, npm:@types/d3-timer@3.0.2, npm:@types/d3-transition@3.0.9, npm:@types/d3-zoom@3.0.8, npm:@types/debug@4.1.13, npm:@types/estree@1.0.9, npm:@types/estree-jsx@1.0.5, npm:@types/geojson@7946.0.16, npm:@types/hast@3.0.5, npm:@types/katex@0.16.8, npm:@types/mdast@4.0.4, npm:@types/ms@2.1.0, npm:@types/node@25.9.5, npm:@types/trusted-types@2.0.7, npm:@types/unist@2.0.11, npm:@types/unist@3.0.3, npm:@types/use-sync-external-store@0.0.6, npm:@types/ws@8.18.1 +[43] Applies to: npm:@types/d3-array@3.2.2, npm:@types/d3-axis@3.0.6, npm:@types/d3-brush@3.0.6, npm:@types/d3-chord@3.0.6, npm:@types/d3-color@3.1.3, npm:@types/d3-contour@3.0.6, npm:@types/d3-delaunay@6.0.4, npm:@types/d3-dispatch@3.0.7, npm:@types/d3-drag@3.0.7, npm:@types/d3-dsv@3.0.7, npm:@types/d3-ease@3.0.2, npm:@types/d3-fetch@3.0.7, npm:@types/d3-force@3.0.10, npm:@types/d3-format@3.0.4, npm:@types/d3-geo@3.1.0, npm:@types/d3-hierarchy@3.1.7, npm:@types/d3-interpolate@3.0.4, npm:@types/d3-path@3.1.1, npm:@types/d3-polygon@3.0.2, npm:@types/d3-quadtree@3.0.6, npm:@types/d3-random@3.0.4, npm:@types/d3-scale-chromatic@3.1.0, npm:@types/d3-scale@4.0.9, npm:@types/d3-selection@3.0.11, npm:@types/d3-shape@3.1.8, npm:@types/d3-time-format@4.0.3, npm:@types/d3-time@3.0.4, npm:@types/d3-timer@3.0.2, npm:@types/d3-transition@3.0.9, npm:@types/d3-zoom@3.0.8, npm:@types/d3@7.4.3, npm:@types/debug@4.1.13, npm:@types/estree-jsx@1.0.5, npm:@types/estree@1.0.9, npm:@types/geojson@7946.0.16, npm:@types/hast@3.0.5, npm:@types/katex@0.16.8, npm:@types/mdast@4.0.4, npm:@types/ms@2.1.0, npm:@types/node@25.9.5, npm:@types/trusted-types@2.0.7, npm:@types/unist@2.0.11, npm:@types/unist@3.0.3, npm:@types/use-sync-external-store@0.0.6, npm:@types/ws@8.18.1 ------------------------------------------------------------------------------ MIT License @@ -4505,11 +4508,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[53] Applies to: npm:ajv@7.2.4, npm:ajv@8.20.0 +[53] Applies to: npm:ajv-formats@1.6.1, npm:ajv-formats@3.0.1 ------------------------------------------------------------------------------ -The MIT License (MIT) +MIT License -Copyright (c) 2015-2021 Evgeny Poberezkin +Copyright (c) 2020 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -4530,11 +4533,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[54] Applies to: npm:ajv-formats@1.6.1, npm:ajv-formats@3.0.1 +[54] Applies to: npm:ajv@7.2.4, npm:ajv@8.20.0 ------------------------------------------------------------------------------ -MIT License +The MIT License (MIT) -Copyright (c) 2020 Evgeny Poberezkin +Copyright (c) 2015-2021 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -4973,7 +4976,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[64] Applies to: npm:bail@2.0.2, npm:ccount@2.0.1, npm:character-entities@2.0.2, npm:character-entities-html4@2.1.0, npm:character-entities-legacy@3.0.0, npm:character-reference-invalid@2.0.1, npm:mdast-util-to-string@4.0.0, npm:unist-util-find-after@5.0.0, npm:unist-util-position@5.0.0, npm:unist-util-visit@5.1.0 +[64] Applies to: npm:bail@2.0.2, npm:ccount@2.0.1, npm:character-entities-html4@2.1.0, npm:character-entities-legacy@3.0.0, npm:character-entities@2.0.2, npm:character-reference-invalid@2.0.1, npm:mdast-util-to-string@4.0.0, npm:unist-util-find-after@5.0.0, npm:unist-util-position@5.0.0, npm:unist-util-visit@5.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -5268,7 +5271,23 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[74] Applies to: npm:buffer@5.7.1 +[74] Applies to: npm:buffer-equal-constant-time@1.0.1 +------------------------------------------------------------------------------ +Copyright (c) 2013, GoInstant Inc., a salesforce.com company +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------------------ +[75] Applies to: npm:buffer@5.7.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -5292,22 +5311,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[75] Applies to: npm:buffer-equal-constant-time@1.0.1 ------------------------------------------------------------------------------- -Copyright (c) 2013, GoInstant Inc., a salesforce.com company -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ------------------------------------------------------------------------------ [76] Applies to: npm:buildcheck@0.0.7, npm:cpu-features@0.0.10, npm:ssh2@1.17.0 ------------------------------------------------------------------------------ @@ -5840,12 +5843,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[91] Applies to: npm:cookie@0.7.2, npm:cookie@1.1.1 +[91] Applies to: npm:cookie-signature@1.2.2 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2012-2014 Roman Shtylman -Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2012–2024 LearnBoost and other contributors; Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -5867,11 +5869,12 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[92] Applies to: npm:cookie-signature@1.2.2 +[92] Applies to: npm:cookie@0.7.2, npm:cookie@1.1.1 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2012–2024 LearnBoost and other contributors; +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -6015,9 +6018,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[98] Applies to: npm:cytoscape@3.34.0 +[98] Applies to: npm:cytoscape-cose-bilkent@4.1.0 ------------------------------------------------------------------------------ -Copyright (c) 2016-2026, The Cytoscape Consortium. +Copyright (c) 2016-2018, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -6037,18 +6040,10 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -import fs from 'fs'; -import path from 'path'; - -import { fileURLToPath } from 'url'; -import { dirname } from 'path'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); - -const year = (new Date()).getFullYear(); - -const license = `Copyright (c) 2016-${year}, The Cytoscape Consortium. +------------------------------------------------------------------------------ +[99] Applies to: npm:cytoscape-fcose@2.2.0 +------------------------------------------------------------------------------ +Copyright (c) 2018 - present, iVis-at-Bilkent. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -6066,14 +6061,12 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE.`; - -fs.writeFileSync(path.join(__dirname, 'LICENSE'), license); +SOFTWARE. ------------------------------------------------------------------------------ -[99] Applies to: npm:cytoscape-cose-bilkent@4.1.0 +[100] Applies to: npm:cytoscape@3.34.0 ------------------------------------------------------------------------------ -Copyright (c) 2016-2018, The Cytoscape Consortium. +Copyright (c) 2016-2026, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -6093,10 +6086,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[100] Applies to: npm:cytoscape-fcose@2.2.0 ------------------------------------------------------------------------------- -Copyright (c) 2018 - present, iVis-at-Bilkent. +import fs from 'fs'; +import path from 'path'; + +import { fileURLToPath } from 'url'; +import { dirname } from 'path'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const year = (new Date()).getFullYear(); + +const license = `Copyright (c) 2016-${year}, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -6114,27 +6115,12 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ------------------------------------------------------------------------------- -[101] Applies to: npm:d3@7.9.0, npm:d3-array@3.2.4 ------------------------------------------------------------------------------- -Copyright 2010-2023 Mike Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. +SOFTWARE.`; -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. +fs.writeFileSync(path.join(__dirname, 'LICENSE'), license); ------------------------------------------------------------------------------ -[102] Applies to: npm:d3-array@2.12.1 +[101] Applies to: npm:d3-array@2.12.1 ------------------------------------------------------------------------------ Copyright 2010-2020 Mike Bostock All rights reserved. @@ -6164,6 +6150,23 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------------------ +[102] Applies to: npm:d3-array@3.2.4, npm:d3@7.9.0 +------------------------------------------------------------------------------ +Copyright 2010-2023 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + ------------------------------------------------------------------------------ [103] Applies to: npm:d3-axis@3.0.0, npm:d3-brush@3.0.0, npm:d3-chord@3.0.1, npm:d3-dispatch@3.0.1, npm:d3-drag@3.0.0, npm:d3-force@3.0.0, npm:d3-hierarchy@3.1.2, npm:d3-interpolate@3.0.1, npm:d3-polygon@3.0.1, npm:d3-quadtree@3.0.1, npm:d3-random@3.0.1, npm:d3-scale@4.0.2, npm:d3-selection@3.0.0, npm:d3-time-format@4.1.0, npm:d3-timer@3.0.1, npm:d3-transition@3.0.1, npm:d3-zoom@3.0.0 ------------------------------------------------------------------------------ @@ -6619,7 +6622,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[122] Applies to: npm:decode-named-character-reference@1.3.0, npm:hast-util-from-parse5@8.0.3, npm:hast-util-to-jsx-runtime@2.3.6, npm:hastscript@9.0.1, npm:lowlight@3.3.0, npm:markdown-table@3.0.4, npm:mdast-util-find-and-replace@3.0.2, npm:mdast-util-from-markdown@2.0.3, npm:mdast-util-gfm@3.1.0, npm:mdast-util-gfm-footnote@2.1.0, npm:mdast-util-to-markdown@2.1.2, npm:micromark@4.0.2, npm:micromark-core-commonmark@2.0.3, npm:micromark-extension-gfm-table@2.1.1, npm:micromark-factory-destination@2.0.1, npm:micromark-factory-label@2.0.1, npm:micromark-factory-space@2.0.1, npm:micromark-factory-title@2.0.1, npm:micromark-factory-whitespace@2.0.1, npm:micromark-util-character@2.1.1, npm:micromark-util-chunked@2.0.1, npm:micromark-util-classify-character@2.0.1, npm:micromark-util-combine-extensions@2.0.1, npm:micromark-util-decode-numeric-character-reference@2.0.2, npm:micromark-util-decode-string@2.0.1, npm:micromark-util-encode@2.0.1, npm:micromark-util-html-tag-name@2.0.1, npm:micromark-util-normalize-identifier@2.0.1, npm:micromark-util-resolve-all@2.0.1, npm:micromark-util-sanitize-uri@2.0.1, npm:micromark-util-subtokenize@2.1.0, npm:micromark-util-symbol@2.0.1, npm:micromark-util-types@2.0.2, npm:rehype-highlight@7.0.2, npm:remark-gfm@4.0.1, npm:remark-rehype@11.1.2, npm:vfile-message@4.0.3 +[122] Applies to: npm:decode-named-character-reference@1.3.0, npm:hast-util-from-parse5@8.0.3, npm:hast-util-to-jsx-runtime@2.3.6, npm:hastscript@9.0.1, npm:lowlight@3.3.0, npm:markdown-table@3.0.4, npm:mdast-util-find-and-replace@3.0.2, npm:mdast-util-from-markdown@2.0.3, npm:mdast-util-gfm-footnote@2.1.0, npm:mdast-util-gfm@3.1.0, npm:mdast-util-to-markdown@2.1.2, npm:micromark-core-commonmark@2.0.3, npm:micromark-extension-gfm-table@2.1.1, npm:micromark-factory-destination@2.0.1, npm:micromark-factory-label@2.0.1, npm:micromark-factory-space@2.0.1, npm:micromark-factory-title@2.0.1, npm:micromark-factory-whitespace@2.0.1, npm:micromark-util-character@2.1.1, npm:micromark-util-chunked@2.0.1, npm:micromark-util-classify-character@2.0.1, npm:micromark-util-combine-extensions@2.0.1, npm:micromark-util-decode-numeric-character-reference@2.0.2, npm:micromark-util-decode-string@2.0.1, npm:micromark-util-encode@2.0.1, npm:micromark-util-html-tag-name@2.0.1, npm:micromark-util-normalize-identifier@2.0.1, npm:micromark-util-resolve-all@2.0.1, npm:micromark-util-sanitize-uri@2.0.1, npm:micromark-util-subtokenize@2.1.0, npm:micromark-util-symbol@2.0.1, npm:micromark-util-types@2.0.2, npm:micromark@4.0.2, npm:rehype-highlight@7.0.2, npm:remark-gfm@4.0.1, npm:remark-rehype@11.1.2, npm:vfile-message@4.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -7051,7 +7054,32 @@ THE SOFTWARE. ``` ------------------------------------------------------------------------------ -[132] Applies to: npm:discord-api-types@0.38.50 +[132] Applies to: npm:dingtalk-stream@v2.1.5 +------------------------------------------------------------------------------ +MIT License + +Copyright (c) 2023 钉钉开放平台团队 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------------------ +[133] Applies to: npm:discord-api-types@0.38.50 ------------------------------------------------------------------------------ MIT License @@ -7076,7 +7104,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[133] Applies to: npm:dompurify@3.4.12 +[134] Applies to: npm:dompurify@3.4.12 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -7655,7 +7683,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[134] Applies to: npm:dunder-proto@1.0.1, npm:math-intrinsics@1.1.0 +[135] Applies to: npm:dunder-proto@1.0.1, npm:math-intrinsics@1.1.0 ------------------------------------------------------------------------------ MIT License @@ -7680,7 +7708,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[135] Applies to: npm:ecdsa-sig-formatter@1.0.11 +[136] Applies to: npm:ecdsa-sig-formatter@1.0.11 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -7885,7 +7913,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[136] Applies to: npm:ee-first@1.1.1 +[137] Applies to: npm:ee-first@1.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -7910,7 +7938,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[137] Applies to: npm:electron-squirrel-startup@1.0.1 +[138] Applies to: npm:electron-squirrel-startup@1.0.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -8115,7 +8143,7 @@ See the License for the specific language governing permissions and limitations under the License. ------------------------------------------------------------------------------ -[138] Applies to: npm:electron-window-state@5.0.3 +[139] Applies to: npm:electron-window-state@5.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -8141,7 +8169,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[139] Applies to: npm:emoji-regex@8.0.0, npm:emoji-regex@9.2.2, npm:punycode@2.3.1 +[140] Applies to: npm:emoji-regex@8.0.0, npm:emoji-regex@9.2.2, npm:punycode@2.3.1 ------------------------------------------------------------------------------ Copyright Mathias Bynens @@ -8165,7 +8193,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[140] Applies to: npm:encodeurl@2.0.0 +[141] Applies to: npm:encodeurl@2.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -8191,7 +8219,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[141] Applies to: npm:end-of-stream@1.4.5, npm:pump@3.0.4, npm:tar-fs@2.1.5, npm:tar-stream@2.2.0 +[142] Applies to: npm:end-of-stream@1.4.5, npm:pump@3.0.4, npm:tar-fs@2.1.5, npm:tar-stream@2.2.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -8216,7 +8244,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[142] Applies to: npm:entities@6.0.1 +[143] Applies to: npm:entities@6.0.1 ------------------------------------------------------------------------------ Copyright (c) Felix Böhm All rights reserved. @@ -8231,7 +8259,7 @@ THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[143] Applies to: npm:es-set-tostringtag@2.1.0 +[144] Applies to: npm:es-set-tostringtag@2.1.0 ------------------------------------------------------------------------------ MIT License @@ -8256,7 +8284,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[144] Applies to: npm:es-toolkit@1.49.0 +[145] Applies to: npm:es-toolkit@1.49.0 ------------------------------------------------------------------------------ MIT License @@ -8281,7 +8309,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[145] Applies to: npm:escape-html@1.0.3 +[146] Applies to: npm:escape-html@1.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -8309,7 +8337,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[146] Applies to: npm:esprima@4.0.1 +[147] Applies to: npm:esprima@4.0.1 ------------------------------------------------------------------------------ Copyright JS Foundation and other contributors, https://js.foundation/ @@ -8334,7 +8362,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[147] Applies to: npm:estree-util-is-identifier-name@3.0.0, npm:hast-util-heading-rank@3.0.0, npm:mdast-util-gfm-autolink-literal@2.0.1, npm:mdast-util-gfm-strikethrough@2.0.0, npm:mdast-util-gfm-table@2.0.0, npm:mdast-util-gfm-task-list-item@2.0.0, npm:mdast-util-math@3.0.0, npm:mdast-util-mdx-expression@2.0.1, npm:mdast-util-mdx-jsx@3.2.0, npm:mdast-util-mdxjs-esm@2.0.1, npm:micromark-extension-gfm@3.0.0, npm:micromark-extension-gfm-autolink-literal@2.1.0, npm:micromark-extension-gfm-strikethrough@2.1.0, npm:micromark-extension-gfm-tagfilter@2.0.0, npm:micromark-extension-gfm-task-list-item@2.1.0, npm:micromark-extension-math@3.1.0 +[148] Applies to: npm:estree-util-is-identifier-name@3.0.0, npm:hast-util-heading-rank@3.0.0, npm:mdast-util-gfm-autolink-literal@2.0.1, npm:mdast-util-gfm-strikethrough@2.0.0, npm:mdast-util-gfm-table@2.0.0, npm:mdast-util-gfm-task-list-item@2.0.0, npm:mdast-util-math@3.0.0, npm:mdast-util-mdx-expression@2.0.1, npm:mdast-util-mdx-jsx@3.2.0, npm:mdast-util-mdxjs-esm@2.0.1, npm:micromark-extension-gfm-autolink-literal@2.1.0, npm:micromark-extension-gfm-strikethrough@2.1.0, npm:micromark-extension-gfm-tagfilter@2.0.0, npm:micromark-extension-gfm-task-list-item@2.1.0, npm:micromark-extension-gfm@3.0.0, npm:micromark-extension-math@3.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -8360,7 +8388,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[148] Applies to: npm:etag@1.8.1, npm:proxy-addr@2.0.7 +[149] Applies to: npm:etag@1.8.1, npm:proxy-addr@2.0.7 ------------------------------------------------------------------------------ (The MIT License) @@ -8386,37 +8414,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[149] Applies to: npm:eventsource@3.0.7 ------------------------------------------------------------------------------- -The MIT License - -Copyright (c) EventSource GitHub organisation - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ------------------------------------------------------------------------------- -[150] Applies to: npm:eventsource-parser@3.1.0 +[150] Applies to: npm:eventemitter3@5.0.4 ------------------------------------------------------------------------------ -MIT License +The MIT License (MIT) -Copyright (c) 2026 Espen Hovlandsdal +Copyright (c) 2014 Arnout Kazemier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8437,11 +8439,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[151] Applies to: npm:expand-template@2.0.3 +[151] Applies to: npm:eventsource-parser@3.1.0 ------------------------------------------------------------------------------ -The MIT License (MIT) +MIT License -Copyright (c) 2018 Lars-Magnus Skog +Copyright (c) 2026 Espen Hovlandsdal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8450,29 +8452,27 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ------------------------------------------------------------------------------ -[152] Applies to: npm:express@5.2.1 +[152] Applies to: npm:eventsource@3.0.7 ------------------------------------------------------------------------------ -(The MIT License) +The MIT License -Copyright (c) 2009-2014 TJ Holowaychuk -Copyright (c) 2013-2014 Roman Shtylman -Copyright (c) 2014-2015 Douglas Christopher Wilson +Copyright (c) EventSource GitHub organisation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including +"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -8481,16 +8481,41 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[153] Applies to: npm:expand-template@2.0.3 +------------------------------------------------------------------------------ +The MIT License (MIT) + +Copyright (c) 2018 Lars-Magnus Skog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. ------------------------------------------------------------------------------ -[153] Applies to: npm:express-rate-limit@8.5.2 +[154] Applies to: npm:express-rate-limit@8.5.2 ------------------------------------------------------------------------------ # MIT License @@ -8514,15 +8539,17 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[154] Applies to: npm:extend@3.0.2 +[155] Applies to: npm:express@5.2.1 ------------------------------------------------------------------------------ -The MIT License (MIT) +(The MIT License) -Copyright (c) 2014 Stefan Thomas +Copyright (c) 2009-2014 TJ Holowaychuk +Copyright (c) 2013-2014 Roman Shtylman +Copyright (c) 2014-2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including +'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -8531,16 +8558,16 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[155] Applies to: npm:extend-shallow@2.0.1 +[156] Applies to: npm:extend-shallow@2.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -8565,7 +8592,33 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[156] Applies to: npm:fast-deep-equal@3.1.3, npm:json-schema-traverse@1.0.0 +[157] Applies to: npm:extend@3.0.2 +------------------------------------------------------------------------------ +The MIT License (MIT) + +Copyright (c) 2014 Stefan Thomas + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[158] Applies to: npm:fast-deep-equal@3.1.3, npm:json-schema-traverse@1.0.0 ------------------------------------------------------------------------------ MIT License @@ -8590,7 +8643,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[157] Applies to: npm:fast-equals@5.4.1 +[159] Applies to: npm:fast-equals@5.4.1 ------------------------------------------------------------------------------ MIT License @@ -8615,7 +8668,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[158] Applies to: npm:fast-uri@3.1.4 +[160] Applies to: npm:fast-uri@3.1.4 ------------------------------------------------------------------------------ Copyright (c) 2011-2021, Gary Court until https://github.com/garycourt/uri-js/commit/a1acf730b4bba3f1097c9f52e7d9d3aba8cdcaae Copyright (c) 2021-present The Fastify team @@ -8649,7 +8702,7 @@ The complete list of contributors can be found at: - https://github.com/garycourt/uri-js/graphs/contributors ------------------------------------------------------------------------------ -[159] Applies to: npm:fetch-blob@3.2.0 +[161] Applies to: npm:fetch-blob@3.2.0 ------------------------------------------------------------------------------ MIT License @@ -8674,7 +8727,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[160] Applies to: npm:file-uri-to-path@1.0.0 +[162] Applies to: npm:file-uri-to-path@1.0.0 ------------------------------------------------------------------------------ Copyright (c) 2014 Nathan Rajlich @@ -8698,7 +8751,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[161] Applies to: npm:finalhandler@2.1.1 +[163] Applies to: npm:finalhandler@2.1.1 ------------------------------------------------------------------------------ (The MIT License) @@ -8724,7 +8777,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[162] Applies to: npm:follow-redirects@1.16.0 +[164] Applies to: npm:follow-redirects@1.16.0 ------------------------------------------------------------------------------ Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh @@ -8746,7 +8799,7 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[163] Applies to: npm:foreground-child@3.3.1 +[165] Applies to: npm:foreground-child@3.3.1 ------------------------------------------------------------------------------ The ISC License @@ -8765,7 +8818,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[164] Applies to: npm:form-data@4.0.6 +[166] Applies to: npm:form-data@4.0.6 ------------------------------------------------------------------------------ Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors @@ -8788,7 +8841,7 @@ Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors THE SOFTWARE. ------------------------------------------------------------------------------ -[165] Applies to: npm:formdata-polyfill@4.0.10 +[167] Applies to: npm:formdata-polyfill@4.0.10 ------------------------------------------------------------------------------ MIT License @@ -8813,7 +8866,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[166] Applies to: npm:fresh@2.0.0 +[168] Applies to: npm:fresh@2.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -8840,7 +8893,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[167] Applies to: npm:fs-constants@1.0.0 +[169] Applies to: npm:fs-constants@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -8865,7 +8918,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[168] Applies to: npm:fs-extra@11.3.6 +[170] Applies to: npm:fs-extra@11.3.6 ------------------------------------------------------------------------------ (The MIT License) @@ -8884,7 +8937,7 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[169] Applies to: npm:function-bind@1.1.2 +[171] Applies to: npm:function-bind@1.1.2 ------------------------------------------------------------------------------ Copyright (c) 2013 Raynos. @@ -8907,7 +8960,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[170] Applies to: npm:get-caller-file@2.0.5 +[172] Applies to: npm:get-caller-file@2.0.5 ------------------------------------------------------------------------------ ISC License (ISC) Copyright 2018 Stefan Penner @@ -8917,7 +8970,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[171] Applies to: npm:get-intrinsic@1.3.0 +[173] Applies to: npm:get-intrinsic@1.3.0 ------------------------------------------------------------------------------ MIT License @@ -8942,7 +8995,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[172] Applies to: npm:get-nonce@1.0.1 +[174] Applies to: npm:get-nonce@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -8967,7 +9020,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[173] Applies to: npm:get-proto@1.0.1 +[175] Applies to: npm:get-proto@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -8992,7 +9045,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[174] Applies to: npm:github-from-package@0.0.0, npm:minimist@1.2.8 +[176] Applies to: npm:github-from-package@0.0.0, npm:minimist@1.2.8 ------------------------------------------------------------------------------ This software is released under the MIT license: @@ -9014,7 +9067,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[175] Applies to: npm:github-slugger@2.0.0 +[177] Applies to: npm:github-slugger@2.0.0 ------------------------------------------------------------------------------ Copyright (c) 2015, Dan Flettre @@ -9023,7 +9076,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[176] Applies to: npm:glob@10.5.0 +[178] Applies to: npm:glob@10.5.0 ------------------------------------------------------------------------------ The ISC License @@ -9042,7 +9095,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[177] Applies to: npm:gopd@1.2.0 +[179] Applies to: npm:gopd@1.2.0 ------------------------------------------------------------------------------ MIT License @@ -9067,7 +9120,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[178] Applies to: npm:graceful-fs@4.2.11 +[180] Applies to: npm:graceful-fs@4.2.11 ------------------------------------------------------------------------------ The ISC License @@ -9086,7 +9139,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[179] Applies to: npm:gray-matter@4.0.3 +[181] Applies to: npm:gray-matter@4.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -9111,7 +9164,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[180] Applies to: npm:gtoken@8.0.0 +[182] Applies to: npm:gtoken@8.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -9136,7 +9189,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[181] Applies to: npm:hachure-fill@0.5.2 +[183] Applies to: npm:hachure-fill@0.5.2 ------------------------------------------------------------------------------ MIT License @@ -9161,7 +9214,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[182] Applies to: npm:harmonyos-sans-sc-webfont-splitted@1.1.0 +[184] Applies to: npm:harmonyos-sans-sc-webfont-splitted@1.1.0 ------------------------------------------------------------------------------ This is free and unencumbered software released into the public domain. @@ -9189,7 +9242,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[183] Applies to: npm:has-symbols@1.1.0 +[185] Applies to: npm:has-symbols@1.1.0 ------------------------------------------------------------------------------ MIT License @@ -9214,7 +9267,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[184] Applies to: npm:has-tostringtag@1.0.2 +[186] Applies to: npm:has-tostringtag@1.0.2 ------------------------------------------------------------------------------ MIT License @@ -9239,7 +9292,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[185] Applies to: npm:hasown@2.0.4 +[187] Applies to: npm:hasown@2.0.4 ------------------------------------------------------------------------------ MIT License @@ -9264,7 +9317,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[186] Applies to: npm:hast-util-from-dom@5.0.1 +[188] Applies to: npm:hast-util-from-dom@5.0.1 ------------------------------------------------------------------------------ (ISC License) @@ -9283,11 +9336,11 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[187] Applies to: npm:hast-util-from-html@2.0.3 +[189] Applies to: npm:hast-util-from-html-isomorphic@2.0.0 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2022 Titus Wormer +Copyright (c) 2023 Remco Haszing Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -9309,11 +9362,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[188] Applies to: npm:hast-util-from-html-isomorphic@2.0.0 +[190] Applies to: npm:hast-util-from-html@2.0.3 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2023 Remco Haszing +Copyright (c) 2022 Titus Wormer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -9335,7 +9388,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[189] Applies to: npm:hast-util-to-string@3.0.1, npm:html-url-attributes@3.0.1 +[191] Applies to: npm:hast-util-to-string@3.0.1, npm:html-url-attributes@3.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -9360,7 +9413,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[190] Applies to: npm:hast-util-to-text@4.0.2 +[192] Applies to: npm:hast-util-to-text@4.0.2 ------------------------------------------------------------------------------ (The MIT License) @@ -9386,7 +9439,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[191] Applies to: npm:highlight.js@11.11.1 +[193] Applies to: npm:highlight.js@11.11.1 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -9419,7 +9472,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[192] Applies to: npm:hono@4.12.30 +[194] Applies to: npm:hono@4.12.30 ------------------------------------------------------------------------------ MIT License @@ -9444,7 +9497,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[193] Applies to: npm:html-to-image@1.11.13 +[195] Applies to: npm:html-to-image@1.11.13 ------------------------------------------------------------------------------ MIT License @@ -9469,7 +9522,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[194] Applies to: npm:http-errors@2.0.1 +[196] Applies to: npm:http-errors@2.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -9495,7 +9548,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[195] Applies to: npm:human-signals@1.1.1, npm:human-signals@2.1.0 +[197] Applies to: npm:human-signals@1.1.1, npm:human-signals@2.1.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -9700,7 +9753,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[196] Applies to: npm:i18next@26.3.6 +[198] Applies to: npm:i18next@26.3.6 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -9725,7 +9778,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[197] Applies to: npm:iconv-lite@0.6.3, npm:iconv-lite@0.7.3 +[199] Applies to: npm:iconv-lite@0.6.3, npm:iconv-lite@0.7.3 ------------------------------------------------------------------------------ Copyright (c) 2011 Alexander Shtuchkin @@ -9749,7 +9802,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[198] Applies to: npm:ieee754@1.2.1 +[200] Applies to: npm:ieee754@1.2.1 ------------------------------------------------------------------------------ Copyright 2008 Fair Oaks Labs, Inc. @@ -9764,7 +9817,7 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[199] Applies to: npm:ignore@7.0.6 +[201] Applies to: npm:ignore@7.0.6 ------------------------------------------------------------------------------ Copyright (c) 2013 Kael Zhang , contributors http://kael.me/ @@ -9789,7 +9842,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[200] Applies to: npm:immediate@3.0.6 +[202] Applies to: npm:immediate@3.0.6 ------------------------------------------------------------------------------ Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, Domenic Denicola, Brian Cavalier @@ -9813,7 +9866,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[201] Applies to: npm:import-meta-resolve@4.2.0 +[203] Applies to: npm:import-meta-resolve@4.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -9891,7 +9944,7 @@ IN THE SOFTWARE. """ ------------------------------------------------------------------------------ -[202] Applies to: npm:inherits@2.0.4 +[204] Applies to: npm:inherits@2.0.4 ------------------------------------------------------------------------------ The ISC License @@ -9910,7 +9963,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[203] Applies to: npm:inline-style-parser@0.2.7 +[205] Applies to: npm:inline-style-parser@0.2.7 ------------------------------------------------------------------------------ (The MIT License) @@ -9923,7 +9976,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[204] Applies to: npm:internmap@1.0.1, npm:internmap@2.0.3 +[206] Applies to: npm:internmap@1.0.1, npm:internmap@2.0.3 ------------------------------------------------------------------------------ Copyright 2021 Mike Bostock @@ -9940,7 +9993,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[205] Applies to: npm:ip-address@10.2.0 +[207] Applies to: npm:ip-address@10.2.0 ------------------------------------------------------------------------------ Copyright (C) 2011 by Beau Gunderson @@ -9963,7 +10016,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[206] Applies to: npm:ipaddr.js@1.9.1, npm:ipaddr.js@2.4.0 +[208] Applies to: npm:ipaddr.js@1.9.1, npm:ipaddr.js@2.4.0 ------------------------------------------------------------------------------ Copyright (C) 2011-2017 whitequark @@ -9986,7 +10039,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[207] Applies to: npm:is-buffer@1.1.6, npm:safe-buffer@5.1.2, npm:safe-buffer@5.2.1 +[209] Applies to: npm:is-buffer@1.1.6, npm:safe-buffer@5.1.2, npm:safe-buffer@5.2.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10011,7 +10064,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[208] Applies to: npm:is-extendable@0.1.1 +[210] Applies to: npm:is-extendable@0.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10036,7 +10089,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[209] Applies to: npm:is-extglob@2.1.1 +[211] Applies to: npm:is-extglob@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10061,7 +10114,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[210] Applies to: npm:is-glob@4.0.3, npm:kind-of@6.0.3 +[212] Applies to: npm:is-glob@4.0.3, npm:kind-of@6.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10086,7 +10139,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[211] Applies to: npm:is-promise@2.2.2, npm:is-promise@4.0.0 +[213] Applies to: npm:is-promise@2.2.2, npm:is-promise@4.0.0 ------------------------------------------------------------------------------ Copyright (c) 2014 Forbes Lindesay @@ -10109,7 +10162,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[212] Applies to: npm:jackspeak@3.4.3 +[214] Applies to: npm:jackspeak@3.4.3 ------------------------------------------------------------------------------ # Blue Oak Model License @@ -10168,7 +10221,7 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim._** ------------------------------------------------------------------------------ -[213] Applies to: npm:jose@6.2.3 +[215] Applies to: npm:jose@6.2.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10193,7 +10246,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[214] Applies to: npm:js-base64@3.9.1 +[216] Applies to: npm:js-base64@3.9.1 ------------------------------------------------------------------------------ Copyright (c) 2014, Dan Kogai All rights reserved. @@ -10224,7 +10277,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[215] Applies to: npm:js-yaml@3.15.0, npm:js-yaml@4.3.0 +[217] Applies to: npm:js-yaml@3.15.0, npm:js-yaml@4.3.0 ------------------------------------------------------------------------------ (The MIT License) @@ -10249,7 +10302,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[216] Applies to: npm:json-bigint@1.0.0 +[218] Applies to: npm:json-bigint@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10273,7 +10326,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[217] Applies to: npm:json-schema-to-ts@3.1.1, npm:ts-algebra@2.0.0 +[219] Applies to: npm:json-schema-to-ts@3.1.1, npm:ts-algebra@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -10298,7 +10351,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[218] Applies to: npm:json-schema-typed@7.0.3 +[220] Applies to: npm:json-schema-typed@7.0.3 ------------------------------------------------------------------------------ BSD-2-Clause License @@ -10328,7 +10381,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[219] Applies to: npm:json-schema-typed@8.0.2 +[221] Applies to: npm:json-schema-typed@8.0.2 ------------------------------------------------------------------------------ BSD 2-Clause License @@ -10389,7 +10442,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[220] Applies to: npm:jsonfile@4.0.0, npm:jsonfile@6.2.1 +[222] Applies to: npm:jsonfile@4.0.0, npm:jsonfile@6.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -10408,7 +10461,7 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[221] Applies to: npm:jszip@3.10.1 +[223] Applies to: npm:jszip@3.10.1 ------------------------------------------------------------------------------ JSZip is dual licensed. At your choice you may use it under the MIT license *or* the GPLv3 license. @@ -11063,7 +11116,7 @@ copy of the Program in return for a fee. END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[222] Applies to: npm:jwa@2.0.1, npm:jws@4.0.1 +[224] Applies to: npm:jwa@2.0.1, npm:jws@4.0.1 ------------------------------------------------------------------------------ Copyright (c) 2013 Brian J. Brennan @@ -11084,7 +11137,7 @@ FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TOR ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[223] Applies to: npm:katex@0.16.47 +[225] Applies to: npm:katex@0.16.47 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11109,7 +11162,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[224] Applies to: npm:khroma@2.1.0 +[226] Applies to: npm:khroma@2.1.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11134,7 +11187,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[225] Applies to: npm:layout-base@1.0.2, npm:layout-base@2.0.1 +[227] Applies to: npm:layout-base@1.0.2, npm:layout-base@2.0.1 ------------------------------------------------------------------------------ MIT License @@ -11159,7 +11212,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[226] Applies to: npm:lie@3.3.0 +[228] Applies to: npm:lie@3.3.0 ------------------------------------------------------------------------------ #Copyright (c) 2014-2018 Calvin Metcalf, Jordan Harband @@ -11170,7 +11223,7 @@ The above copyright notice and this permission notice shall be included in all c **THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** ------------------------------------------------------------------------------ -[227] Applies to: npm:lodash@4.18.1, npm:lodash-es@4.18.1, npm:lodash.merge@4.6.2 +[229] Applies to: npm:lodash-es@4.18.1, npm:lodash.merge@4.6.2, npm:lodash@4.18.1 ------------------------------------------------------------------------------ Copyright OpenJS Foundation and other contributors @@ -11221,7 +11274,7 @@ licenses; we recommend you read them, as their terms may differ from the terms above. ------------------------------------------------------------------------------ -[228] Applies to: npm:lodash.identity@3.0.0 +[230] Applies to: npm:lodash.identity@3.0.0 ------------------------------------------------------------------------------ Copyright 2012-2015 The Dojo Foundation Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas, @@ -11247,7 +11300,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[229] Applies to: npm:lodash.pickby@4.6.0, npm:lodash.snakecase@4.1.1 +[231] Applies to: npm:lodash.pickby@4.6.0, npm:lodash.snakecase@4.1.1 ------------------------------------------------------------------------------ Copyright jQuery Foundation and other contributors @@ -11298,7 +11351,7 @@ licenses; we recommend you read them, as their terms may differ from the terms above. ------------------------------------------------------------------------------ -[230] Applies to: npm:longest-streak@3.1.0, npm:stringify-entities@4.0.4, npm:trim-lines@3.0.1 +[232] Applies to: npm:longest-streak@3.1.0, npm:stringify-entities@4.0.4, npm:trim-lines@3.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -11324,7 +11377,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[231] Applies to: npm:loudness@0.4.2 +[233] Applies to: npm:loudness@0.4.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11348,7 +11401,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[232] Applies to: npm:lru-cache@10.4.3 +[234] Applies to: npm:lru-cache@10.4.3 ------------------------------------------------------------------------------ The ISC License @@ -11367,7 +11420,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[233] Applies to: npm:lucide-react@0.468.0 +[235] Applies to: npm:lucide-react@0.468.0 ------------------------------------------------------------------------------ ISC License @@ -11386,7 +11439,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[234] Applies to: npm:magic-bytes.js@1.13.0 +[236] Applies to: npm:magic-bytes.js@1.13.0 ------------------------------------------------------------------------------ MIT License @@ -11411,7 +11464,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[235] Applies to: npm:marked@16.4.2 +[237] Applies to: npm:marked@16.4.2 ------------------------------------------------------------------------------ # License information @@ -11459,7 +11512,7 @@ Redistribution and use in source and binary forms, with or without modification, This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. ------------------------------------------------------------------------------ -[236] Applies to: npm:md5@2.3.0 +[238] Applies to: npm:md5@2.3.0 ------------------------------------------------------------------------------ Copyright © 2011-2012, Paul Vorbach. Copyright © 2009, Jeff Mott. @@ -11490,7 +11543,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[237] Applies to: npm:mdast-util-phrasing@4.1.0 +[239] Applies to: npm:mdast-util-phrasing@4.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -11517,7 +11570,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[238] Applies to: npm:mdast-util-to-markdown-cjk-friendly@1.0.0, npm:remark-cjk-friendly@2.3.1 +[240] Applies to: npm:mdast-util-to-markdown-cjk-friendly@1.0.0, npm:remark-cjk-friendly@2.3.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino @@ -11549,7 +11602,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[239] Applies to: npm:merge-descriptors@2.0.0 +[241] Applies to: npm:merge-descriptors@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -11564,7 +11617,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[240] Applies to: npm:merge-stream@2.0.0 +[242] Applies to: npm:merge-stream@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11589,7 +11642,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[241] Applies to: npm:mermaid@11.16.0 +[243] Applies to: npm:mermaid@11.16.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11614,13 +11667,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[242] Applies to: npm:micromark-extension-cjk-friendly@2.0.1 +[244] Applies to: npm:micromark-extension-cjk-friendly-util@3.0.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino MIT LICENSE -Based on micromark and micromark-core-commonmark +Based on micromark's sub-packages (micromark-util-character, micromark-util-symbol, and micromark-util-classify-character) (The MIT License) @@ -11646,13 +11699,13 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[243] Applies to: npm:micromark-extension-cjk-friendly-util@3.0.1 +[245] Applies to: npm:micromark-extension-cjk-friendly@2.0.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino MIT LICENSE -Based on micromark's sub-packages (micromark-util-character, micromark-util-symbol, and micromark-util-classify-character) +Based on micromark and micromark-core-commonmark (The MIT License) @@ -11678,7 +11731,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[244] Applies to: npm:micromark-extension-gfm-footnote@2.1.0 +[246] Applies to: npm:micromark-extension-gfm-footnote@2.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -11704,7 +11757,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[245] Applies to: npm:mime-db@1.52.0, npm:mime-db@1.54.0 +[247] Applies to: npm:mime-db@1.52.0, npm:mime-db@1.54.0 ------------------------------------------------------------------------------ (The MIT License) @@ -11731,7 +11784,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[246] Applies to: npm:minimatch@9.0.9, npm:rimraf@5.0.10 +[248] Applies to: npm:minimatch@9.0.9, npm:rimraf@5.0.10 ------------------------------------------------------------------------------ The ISC License @@ -11750,7 +11803,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[247] Applies to: npm:minipass@7.1.3, npm:path-scurry@1.11.1 +[249] Applies to: npm:minipass@7.1.3, npm:path-scurry@1.11.1 ------------------------------------------------------------------------------ # Blue Oak Model License @@ -11809,11 +11862,11 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** ------------------------------------------------------------------------------ -[248] Applies to: npm:mkdirp@0.5.6 +[250] Applies to: npm:mkdirp-classic@0.5.3 ------------------------------------------------------------------------------ -Copyright 2010 James Halliday (mail@substack.net) +The MIT License (MIT) -This project is free software released under the MIT/X11 license: +Copyright (c) 2020 James Halliday (mail@substack.net) and Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11834,11 +11887,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[249] Applies to: npm:mkdirp-classic@0.5.3 +[251] Applies to: npm:mkdirp@0.5.6 ------------------------------------------------------------------------------ -The MIT License (MIT) +Copyright 2010 James Halliday (mail@substack.net) -Copyright (c) 2020 James Halliday (mail@substack.net) and Mathias Buus +This project is free software released under the MIT/X11 license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11859,7 +11912,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[250] Applies to: npm:ms@2.0.0 +[252] Applies to: npm:ms@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11884,7 +11937,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[251] Applies to: npm:ms@2.1.3 +[253] Applies to: npm:ms@2.1.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11909,7 +11962,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[252] Applies to: npm:nan@2.28.0 +[254] Applies to: npm:nan@2.28.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11922,7 +11975,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[253] Applies to: npm:napi-build-utils@2.0.0 +[255] Applies to: npm:napi-build-utils@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -11947,7 +12000,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[254] Applies to: npm:negotiator@1.0.0 +[256] Applies to: npm:negotiator@1.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -11975,7 +12028,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[255] Applies to: npm:node-abi@3.94.0 +[257] Applies to: npm:node-abi@3.94.0 ------------------------------------------------------------------------------ MIT License @@ -12000,7 +12053,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[256] Applies to: npm:node-addon-api@7.1.1 +[258] Applies to: npm:node-addon-api@7.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -12013,7 +12066,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[257] Applies to: npm:node-domexception@1.0.0 +[259] Applies to: npm:node-domexception@1.0.0 ------------------------------------------------------------------------------ MIT License @@ -12038,7 +12091,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[258] Applies to: npm:node-fetch@3.3.2 +[260] Applies to: npm:node-fetch@3.3.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -12063,7 +12116,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[259] Applies to: npm:node-machine-id@1.1.12 +[261] Applies to: npm:node-machine-id@1.1.12 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -12088,7 +12141,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[260] Applies to: npm:node-pty@1.1.0 +[262] Applies to: npm:node-pty@1.1.0 ------------------------------------------------------------------------------ Copyright (c) 2012-2015, Christopher Jeffrey (https://github.com/chjj/) @@ -12161,7 +12214,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[261] Applies to: npm:object-inspect@1.13.4 +[263] Applies to: npm:object-inspect@1.13.4 ------------------------------------------------------------------------------ MIT License @@ -12186,7 +12239,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[262] Applies to: npm:on-finished@2.4.1 +[264] Applies to: npm:on-finished@2.4.1 ------------------------------------------------------------------------------ (The MIT License) @@ -12213,7 +12266,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[263] Applies to: npm:orderedmap@2.1.1, npm:w3c-keyname@2.2.8 +[265] Applies to: npm:orderedmap@2.1.1, npm:w3c-keyname@2.2.8 ------------------------------------------------------------------------------ Copyright (C) 2016 by Marijn Haverbeke and others @@ -12236,7 +12289,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[264] Applies to: npm:package-json-from-dist@1.0.1 +[266] Applies to: npm:package-json-from-dist@1.0.1 ------------------------------------------------------------------------------ All packages under `src/` are licensed according to the terms in their respective `LICENSE` or `LICENSE.md` files. @@ -12303,7 +12356,7 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** ------------------------------------------------------------------------------ -[265] Applies to: npm:package-manager-detector@1.7.0 +[267] Applies to: npm:package-manager-detector@1.7.0 ------------------------------------------------------------------------------ MIT License @@ -12328,7 +12381,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[266] Applies to: npm:pako@1.0.11 +[268] Applies to: npm:pako@1.0.11 ------------------------------------------------------------------------------ (The MIT License) @@ -12353,7 +12406,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[267] Applies to: npm:parse-entities@4.0.2, npm:property-information@7.2.0 +[269] Applies to: npm:parse-entities@4.0.2, npm:property-information@7.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -12379,7 +12432,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[268] Applies to: npm:parse5@7.3.0 +[270] Applies to: npm:parse5@7.3.0 ------------------------------------------------------------------------------ Copyright (c) 2013-2019 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin) @@ -12402,7 +12455,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[269] Applies to: npm:parseurl@1.3.3 +[271] Applies to: npm:parseurl@1.3.3 ------------------------------------------------------------------------------ (The MIT License) @@ -12429,7 +12482,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[270] Applies to: npm:path-data-parser@0.1.0, npm:points-on-curve@0.2.0 +[272] Applies to: npm:path-data-parser@0.1.0, npm:points-on-curve@0.2.0 ------------------------------------------------------------------------------ MIT License @@ -12454,7 +12507,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[271] Applies to: npm:path-to-regexp@8.4.2 +[273] Applies to: npm:path-to-regexp@8.4.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -12479,7 +12532,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[272] Applies to: npm:pdfjs-dist@5.7.284 +[274] Applies to: npm:pdfjs-dist@5.7.284 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -12659,7 +12712,7 @@ Apache License END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[273] Applies to: npm:picomatch@4.0.5 +[275] Applies to: npm:picomatch@4.0.5 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -12684,7 +12737,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[274] Applies to: npm:pkce-challenge@5.0.1 +[276] Applies to: npm:pkce-challenge@5.0.1 ------------------------------------------------------------------------------ MIT License @@ -12709,7 +12762,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[275] Applies to: npm:playwright-core@1.60.0 +[277] Applies to: npm:playwright-core@1.60.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -12915,7 +12968,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[276] Applies to: npm:playwright-core@1.60.0 (NOTICE) +[278] Applies to: npm:playwright-core@1.60.0 (NOTICE) ------------------------------------------------------------------------------ NOTICE for npm:playwright-core@1.60.0: @@ -12926,7 +12979,7 @@ This software contains code derived from the Puppeteer project (https://github.c available under the Apache 2.0 license (https://github.com/puppeteer/puppeteer/blob/master/LICENSE). ------------------------------------------------------------------------------ -[277] Applies to: npm:pngjs@5.0.0 +[279] Applies to: npm:pngjs@5.0.0 ------------------------------------------------------------------------------ pngjs2 original work Copyright (c) 2015 Luke Page & Original Contributors pngjs derived work Copyright (c) 2012 Kuba Niegowski @@ -12950,7 +13003,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[278] Applies to: npm:points-on-path@0.2.1 +[280] Applies to: npm:points-on-path@0.2.1 ------------------------------------------------------------------------------ MIT License @@ -12975,7 +13028,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[279] Applies to: npm:prebuild-install@7.1.3 +[281] Applies to: npm:prebuild-install@7.1.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13000,7 +13053,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[280] Applies to: npm:process-nextick-args@2.0.1 +[282] Applies to: npm:process-nextick-args@2.0.1 ------------------------------------------------------------------------------ # Copyright (c) 2015 Calvin Metcalf @@ -13023,7 +13076,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** ------------------------------------------------------------------------------ -[281] Applies to: npm:promise-worker-transferable@1.0.4 +[283] Applies to: npm:promise-worker-transferable@1.0.4 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -13228,7 +13281,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[282] Applies to: npm:prosemirror-changeset@2.4.1 +[284] Applies to: npm:prosemirror-changeset@2.4.1 ------------------------------------------------------------------------------ Copyright (C) 2017 by Marijn Haverbeke and others @@ -13251,7 +13304,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[283] Applies to: npm:prosemirror-commands@1.7.1, npm:prosemirror-dropcursor@1.8.3, npm:prosemirror-gapcursor@1.4.1, npm:prosemirror-history@1.5.0, npm:prosemirror-inputrules@1.5.1, npm:prosemirror-keymap@1.2.3, npm:prosemirror-model@1.25.11, npm:prosemirror-schema-list@1.5.1, npm:prosemirror-state@1.4.4, npm:prosemirror-transform@1.12.0, npm:prosemirror-view@1.42.1 +[285] Applies to: npm:prosemirror-commands@1.7.1, npm:prosemirror-dropcursor@1.8.3, npm:prosemirror-gapcursor@1.4.1, npm:prosemirror-history@1.5.0, npm:prosemirror-inputrules@1.5.1, npm:prosemirror-keymap@1.2.3, npm:prosemirror-model@1.25.11, npm:prosemirror-schema-list@1.5.1, npm:prosemirror-state@1.4.4, npm:prosemirror-transform@1.12.0, npm:prosemirror-view@1.42.1 ------------------------------------------------------------------------------ Copyright (C) 2015-2017 by Marijn Haverbeke and others @@ -13274,7 +13327,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[284] Applies to: npm:prosemirror-tables@1.8.5 +[286] Applies to: npm:prosemirror-tables@1.8.5 ------------------------------------------------------------------------------ Copyright (C) 2015-2016 by Marijn Haverbeke and others @@ -13297,7 +13350,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[285] Applies to: npm:protobufjs@7.6.5 +[287] Applies to: npm:protobufjs@7.6.5 ------------------------------------------------------------------------------ This license applies to all parts of protobuf.js except those files either explicitly including or referencing a different license or @@ -13340,7 +13393,7 @@ standalone and requires a support library to be linked with it. This support library is itself covered by the above license. ------------------------------------------------------------------------------ -[286] Applies to: npm:proxy-from-env@2.1.0 +[288] Applies to: npm:proxy-from-env@2.1.0 ------------------------------------------------------------------------------ The MIT License @@ -13364,7 +13417,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[287] Applies to: npm:qrcode@1.5.4 +[289] Applies to: npm:qrcode@1.5.4 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13377,7 +13430,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[288] Applies to: npm:qs@6.15.3 +[290] Applies to: npm:qs@6.15.3 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -13410,7 +13463,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[289] Applies to: npm:range-parser@1.3.0 +[291] Applies to: npm:range-parser@1.3.0 ------------------------------------------------------------------------------ (The MIT License) @@ -13437,7 +13490,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[290] Applies to: npm:raw-body@3.0.2 +[292] Applies to: npm:raw-body@3.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13463,7 +13516,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[291] Applies to: npm:rc@1.2.8 +[293] Applies to: npm:rc@1.2.8 ------------------------------------------------------------------------------ Apache License, Version 2.0 @@ -13534,7 +13587,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[292] Applies to: npm:react@19.2.3, npm:react-dom@19.2.3, npm:scheduler@0.27.0, npm:use-sync-external-store@1.6.0 +[294] Applies to: npm:react-dom@19.2.3, npm:react@19.2.3, npm:scheduler@0.27.0, npm:use-sync-external-store@1.6.0 ------------------------------------------------------------------------------ MIT License @@ -13559,7 +13612,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[293] Applies to: npm:react-i18next@17.0.10 +[295] Applies to: npm:react-i18next@17.0.10 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13584,7 +13637,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[294] Applies to: npm:react-markdown@10.1.0 +[296] Applies to: npm:react-markdown@10.1.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13609,7 +13662,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[295] Applies to: npm:react-router@7.18.1, npm:react-router-dom@7.18.1 +[297] Applies to: npm:react-router-dom@7.18.1, npm:react-router@7.18.1 ------------------------------------------------------------------------------ MIT License @@ -13636,7 +13689,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[296] Applies to: npm:readable-stream@2.3.8, npm:readable-stream@3.6.2, npm:string_decoder@1.1.1, npm:string_decoder@1.3.0 +[298] Applies to: npm:readable-stream@2.3.8, npm:readable-stream@3.6.2, npm:string_decoder@1.1.1, npm:string_decoder@1.3.0 ------------------------------------------------------------------------------ Node.js is licensed for use as follows: @@ -13687,7 +13740,7 @@ IN THE SOFTWARE. """ ------------------------------------------------------------------------------ -[297] Applies to: npm:remark-parse@11.0.0, npm:remark-stringify@11.0.0 +[299] Applies to: npm:remark-parse@11.0.0, npm:remark-stringify@11.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -13712,7 +13765,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[298] Applies to: npm:require-directory@2.1.1 +[300] Applies to: npm:require-directory@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13738,7 +13791,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[299] Applies to: npm:require-from-string@2.0.2 +[301] Applies to: npm:require-from-string@2.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13763,7 +13816,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[300] Applies to: npm:require-main-filename@2.0.0, npm:set-blocking@2.0.0, npm:yargs-parser@18.1.3 +[302] Applies to: npm:require-main-filename@2.0.0, npm:set-blocking@2.0.0, npm:yargs-parser@18.1.3 ------------------------------------------------------------------------------ Copyright (c) 2016, Contributors @@ -13781,7 +13834,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[301] Applies to: npm:robust-predicates@3.0.3, npm:tweetnacl@0.14.5 +[303] Applies to: npm:robust-predicates@3.0.3, npm:tweetnacl@0.14.5 ------------------------------------------------------------------------------ This is free and unencumbered software released into the public domain. @@ -13809,7 +13862,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[302] Applies to: npm:rope-sequence@1.3.4 +[304] Applies to: npm:rope-sequence@1.3.4 ------------------------------------------------------------------------------ Copyright (C) 2016 by Marijn Haverbeke @@ -13832,7 +13885,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[303] Applies to: npm:roughjs@4.6.6 +[305] Applies to: npm:roughjs@4.6.6 ------------------------------------------------------------------------------ MIT License @@ -13857,7 +13910,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[304] Applies to: npm:router@2.2.0 +[306] Applies to: npm:router@2.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -13884,7 +13937,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[305] Applies to: npm:rw@1.3.3 +[307] Applies to: npm:rw@1.3.3 ------------------------------------------------------------------------------ Copyright (c) 2014-2016, Michael Bostock All rights reserved. @@ -13914,7 +13967,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[306] Applies to: npm:safer-buffer@2.1.2 +[308] Applies to: npm:safer-buffer@2.1.2 ------------------------------------------------------------------------------ MIT License @@ -13939,7 +13992,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[307] Applies to: npm:section-matter@1.0.0 +[309] Applies to: npm:section-matter@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13964,7 +14017,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[308] Applies to: npm:send@1.2.1 +[310] Applies to: npm:send@1.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -13991,7 +14044,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[309] Applies to: npm:serve-static@2.2.1 +[311] Applies to: npm:serve-static@2.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -14020,7 +14073,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[310] Applies to: npm:set-cookie-parser@2.7.2 +[312] Applies to: npm:set-cookie-parser@2.7.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14045,7 +14098,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[311] Applies to: npm:setimmediate@1.0.5 +[313] Applies to: npm:setimmediate@1.0.5 ------------------------------------------------------------------------------ Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola @@ -14069,7 +14122,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[312] Applies to: npm:setprototypeof@1.2.0 +[314] Applies to: npm:setprototypeof@1.2.0 ------------------------------------------------------------------------------ Copyright (c) 2015, Wes Todd @@ -14086,7 +14139,7 @@ OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[313] Applies to: npm:shebang-command@2.0.0 +[315] Applies to: npm:shebang-command@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -14099,7 +14152,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[314] Applies to: npm:side-channel@1.1.1, npm:side-channel-weakmap@1.0.2 +[316] Applies to: npm:side-channel-weakmap@1.0.2, npm:side-channel@1.1.1 ------------------------------------------------------------------------------ MIT License @@ -14124,7 +14177,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[315] Applies to: npm:signal-exit@3.0.7 +[317] Applies to: npm:signal-exit@3.0.7 ------------------------------------------------------------------------------ The ISC License @@ -14144,7 +14197,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[316] Applies to: npm:signal-exit@4.1.0 +[318] Applies to: npm:signal-exit@4.1.0 ------------------------------------------------------------------------------ The ISC License @@ -14164,7 +14217,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[317] Applies to: npm:silk-wasm@3.7.1 +[319] Applies to: npm:silk-wasm@3.7.1 ------------------------------------------------------------------------------ MIT License @@ -14189,7 +14242,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[318] Applies to: npm:simple-concat@1.0.1, npm:simple-get@4.0.1 +[320] Applies to: npm:simple-concat@1.0.1, npm:simple-get@4.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14213,7 +14266,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[319] Applies to: npm:smol-toml@1.7.0 +[321] Applies to: npm:smol-toml@1.7.0 ------------------------------------------------------------------------------ Copyright (c) Squirrel Chat et al., All rights reserved. @@ -14241,7 +14294,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[320] Applies to: npm:sortablejs@1.15.7 +[322] Applies to: npm:sortablejs@1.15.7 ------------------------------------------------------------------------------ MIT License @@ -14266,7 +14319,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[321] Applies to: npm:sprintf-js@1.0.3 +[323] Applies to: npm:sprintf-js@1.0.3 ------------------------------------------------------------------------------ Copyright (c) 2007-2014, Alexandru Marasteanu All rights reserved. @@ -14294,7 +14347,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[322] Applies to: npm:ssh-config@5.2.0 +[324] Applies to: npm:ssh-config@5.2.0 ------------------------------------------------------------------------------ MIT License @@ -14319,7 +14372,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[323] Applies to: npm:statuses@2.0.2 +[325] Applies to: npm:statuses@2.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14345,7 +14398,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[324] Applies to: npm:strip-bom-string@1.0.0 +[326] Applies to: npm:strip-bom-string@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14370,7 +14423,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[325] Applies to: npm:style-mod@4.1.3 +[327] Applies to: npm:style-mod@4.1.3 ------------------------------------------------------------------------------ Copyright (C) 2018 by Marijn Haverbeke and others @@ -14393,7 +14446,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[326] Applies to: npm:style-to-js@1.1.21 +[328] Applies to: npm:style-to-js@1.1.21 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14419,7 +14472,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[327] Applies to: npm:style-to-object@1.0.14 +[329] Applies to: npm:style-to-object@1.0.14 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14445,7 +14498,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[328] Applies to: npm:stylis@4.4.0 +[330] Applies to: npm:stylis@4.4.0 ------------------------------------------------------------------------------ MIT License @@ -14470,7 +14523,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[329] Applies to: npm:tailwind-merge@2.6.1 +[331] Applies to: npm:tailwind-merge@2.6.1 ------------------------------------------------------------------------------ MIT License @@ -14495,7 +14548,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[330] Applies to: npm:tinyexec@1.2.4 +[332] Applies to: npm:tinyexec@1.2.4 ------------------------------------------------------------------------------ MIT License @@ -14520,7 +14573,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[331] Applies to: npm:toidentifier@1.0.1 +[333] Applies to: npm:toidentifier@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -14545,7 +14598,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[332] Applies to: npm:trough@2.2.0 +[334] Applies to: npm:trough@2.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -14570,7 +14623,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[333] Applies to: npm:ts-dedent@2.3.0 +[335] Applies to: npm:ts-dedent@2.3.0 ------------------------------------------------------------------------------ MIT License @@ -14595,7 +14648,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[334] Applies to: npm:ts-mixer@6.0.4 +[336] Applies to: npm:ts-mixer@6.0.4 ------------------------------------------------------------------------------ MIT License @@ -14620,7 +14673,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[335] Applies to: npm:tslib@2.8.1 +[337] Applies to: npm:tslib@2.8.1 ------------------------------------------------------------------------------ Copyright (c) Microsoft Corporation. @@ -14636,7 +14689,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[336] Applies to: npm:tslog@4.11.0 +[338] Applies to: npm:tslog@4.11.0 ------------------------------------------------------------------------------ MIT License @@ -14661,7 +14714,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[337] Applies to: npm:tunnel-agent@0.6.0 +[339] Applies to: npm:tunnel-agent@0.6.0 ------------------------------------------------------------------------------ Apache License @@ -14720,7 +14773,7 @@ If the Work includes a "NOTICE" text file as part of its distribution, then any END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[338] Applies to: npm:type-fest@0.20.2 +[340] Applies to: npm:type-fest@0.20.2 ------------------------------------------------------------------------------ MIT License @@ -14733,7 +14786,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[339] Applies to: npm:typebox@1.1.39 +[341] Applies to: npm:typebox@1.1.39 ------------------------------------------------------------------------------ TypeBox @@ -14760,7 +14813,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[340] Applies to: npm:undici@6.27.0, npm:undici@8.7.0, npm:undici-types@7.24.6 +[342] Applies to: npm:undici-types@7.24.6, npm:undici@6.27.0, npm:undici@8.7.0 ------------------------------------------------------------------------------ MIT License @@ -14785,7 +14838,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[341] Applies to: npm:unified@11.0.5, npm:vfile@6.0.3 +[343] Applies to: npm:unified@11.0.5, npm:vfile@6.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -14810,7 +14863,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[342] Applies to: npm:unist-util-is@6.0.1 +[344] Applies to: npm:unist-util-is@6.0.1 ------------------------------------------------------------------------------ (The MIT license) @@ -14836,7 +14889,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[343] Applies to: npm:universalify@2.0.1 +[345] Applies to: npm:universalify@2.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -14860,7 +14913,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[344] Applies to: npm:unpipe@1.0.0 +[346] Applies to: npm:unpipe@1.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -14886,7 +14939,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[345] Applies to: npm:uri-js@4.4.1 +[347] Applies to: npm:uri-js@4.4.1 ------------------------------------------------------------------------------ Copyright 2011 Gary Court. All rights reserved. @@ -14901,7 +14954,7 @@ THIS SOFTWARE IS PROVIDED BY GARY COURT "AS IS" AND ANY EXPRESS OR IMPLIED WARRA The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Gary Court. ------------------------------------------------------------------------------ -[346] Applies to: npm:url-template@2.0.8 +[348] Applies to: npm:url-template@2.0.8 ------------------------------------------------------------------------------ Copyright (c) 2012-2014, Bram Stein All rights reserved. @@ -14930,7 +14983,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[347] Applies to: npm:util-deprecate@1.0.2 +[349] Applies to: npm:util-deprecate@1.0.2 ------------------------------------------------------------------------------ (The MIT License) @@ -14958,7 +15011,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[348] Applies to: npm:uuid@14.0.1 +[350] Applies to: npm:uuid@14.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14971,7 +15024,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[349] Applies to: npm:void-elements@3.1.0 +[351] Applies to: npm:void-elements@3.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -14997,7 +15050,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[350] Applies to: npm:web-streams-polyfill@3.3.3 +[352] Applies to: npm:web-streams-polyfill@3.3.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -15023,7 +15076,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[351] Applies to: npm:which-module@2.0.1 +[353] Applies to: npm:which-module@2.0.1 ------------------------------------------------------------------------------ Copyright (c) 2016, Contributors @@ -15040,7 +15093,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[352] Applies to: npm:workerpool@9.1.1 +[354] Applies to: npm:workerpool@9.1.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -15245,7 +15298,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[353] Applies to: npm:ws@8.21.1 +[355] Applies to: npm:ws@8.21.1 ------------------------------------------------------------------------------ Copyright (c) 2011 Einar Otto Stangvik Copyright (c) 2013 Arnout Kazemier and contributors @@ -15269,7 +15322,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[354] Applies to: npm:y18n@4.0.3 +[356] Applies to: npm:y18n@4.0.3 ------------------------------------------------------------------------------ Copyright (c) 2015, Contributors @@ -15286,7 +15339,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[355] Applies to: npm:yargs@15.4.1 +[357] Applies to: npm:yargs@15.4.1 ------------------------------------------------------------------------------ MIT License @@ -15311,7 +15364,26 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[356] Applies to: npm:zod@4.3.6 +[358] Applies to: npm:zod-to-json-schema@3.25.2 +------------------------------------------------------------------------------ +ISC License + +Copyright (c) 2020, Stefan Terdell + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------------------ +[359] Applies to: npm:zod@4.3.6 ------------------------------------------------------------------------------ MIT License @@ -15335,25 +15407,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[357] Applies to: npm:zod-to-json-schema@3.25.2 ------------------------------------------------------------------------------- -ISC License - -Copyright (c) 2020, Stefan Terdell - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ------------------------------------------------------------------------------ Packages without a standalone license file (license per package.json): ------------------------------------------------------------------------------ @@ -15369,11 +15422,12 @@ Packages without a standalone license file (license per package.json): - npm:@lit-labs/ssr-dom-shim@1.6.0 (BSD-3-Clause) - npm:@napi-rs/canvas-linux-arm64-gnu@0.1.100 (MIT) - npm:@napi-rs/canvas-linux-x64-gnu@0.1.100 (MIT) -- npm:@napi-rs/woff-build@0.2.2 (MIT) - npm:@napi-rs/woff-build-linux-arm64-gnu@0.2.2 (MIT) - npm:@napi-rs/woff-build-linux-x64-gnu@0.2.2 (MIT) +- npm:@napi-rs/woff-build@0.2.2 (MIT) - npm:@sapphire/async-queue@1.5.5 (MIT) - npm:@sapphire/snowflake@3.5.5 (MIT) +- npm:@wecom/aibot-node-sdk@1.0.7 (MIT) - npm:agent-base@6.0.2 (MIT) - npm:data-uri-to-buffer@4.0.1 (MIT) - npm:drizzle-orm@0.45.2 (Apache-2.0) diff --git a/docs/legal/notices/desktop-macos.txt b/docs/legal/notices/desktop-macos.txt index 1d20aa2b373..8a366f427e3 100644 --- a/docs/legal/notices/desktop-macos.txt +++ b/docs/legal/notices/desktop-macos.txt @@ -1052,7 +1052,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ============================================================================== -SECTION 2: npm packages (787 packages) +SECTION 2: npm packages (790 packages) ============================================================================== - @antfu/install-pkg@1.1.0 — MIT — https://github.com/antfu/install-pkg @@ -1139,17 +1139,17 @@ SECTION 2: npm packages (787 packages) - @mermaid-js/parser@1.2.0 — MIT — https://github.com/mermaid-js/mermaid - @modelcontextprotocol/sdk@1.29.0 — MIT — https://github.com/modelcontextprotocol/typescript-sdk - @monogrid/gainmap-js@3.4.0 — MIT — https://github.com/MONOGRID/gainmap-js -- @napi-rs/canvas@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-darwin-arm64@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-darwin-x64@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas -- @napi-rs/woff-build@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build +- @napi-rs/canvas@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/woff-build-darwin-arm64@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @napi-rs/woff-build-darwin-x64@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build +- @napi-rs/woff-build@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @noble/hashes@1.8.0 — MIT — https://github.com/paulmillr/noble-hashes - @paralleldrive/cuid2@2.3.1 — MIT — https://github.com/ericelliott/cuid2 -- @parcel/watcher@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-darwin-arm64@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-darwin-x64@2.5.6 — MIT — https://github.com/parcel-bundler/watcher +- @parcel/watcher@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @pkgjs/parseargs@0.11.0 — MIT — https://github.com/pkgjs/parseargs - @protobufjs/aspromise@1.1.2 — BSD-3-Clause — https://github.com/dcodeIO/protobuf.js - @protobufjs/base64@1.1.2 — BSD-3-Clause — https://github.com/dcodeIO/protobuf.js @@ -1213,7 +1213,6 @@ SECTION 2: npm packages (787 packages) - @tiptap/extension-text@3.28.0 — MIT — https://github.com/ueberdosis/tiptap - @tiptap/pm@3.28.0 — MIT — https://github.com/ueberdosis/tiptap - @tiptap/react@3.28.0 — MIT — https://github.com/ueberdosis/tiptap -- @types/d3@7.4.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-array@3.2.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-axis@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-brush@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped @@ -1235,18 +1234,19 @@ SECTION 2: npm packages (787 packages) - @types/d3-polygon@3.0.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-quadtree@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-random@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/d3-scale@4.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-scale-chromatic@3.1.0 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3-scale@4.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-selection@3.0.11 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-shape@3.1.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/d3-time@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-time-format@4.0.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3-time@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-timer@3.0.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-transition@3.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-zoom@3.0.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3@7.4.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/debug@4.1.13 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/estree@1.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/estree-jsx@1.0.5 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/estree@1.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/geojson@7946.0.16 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/hast@3.0.5 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/katex@0.16.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped @@ -1261,6 +1261,7 @@ SECTION 2: npm packages (787 packages) - @ungap/structured-clone@1.3.3 — ISC — https://github.com/ungap/structured-clone - @upsetjs/venn.js@2.0.0 — MIT — https://github.com/upsetjs/venn.js - @vladfrangu/async_event_emitter@2.4.7 — MIT — https://github.com/vladfrangu/async_event_emitter +- @wecom/aibot-node-sdk@1.0.7 — MIT — https://github.com/WecomTeam/aibot-node-sdk - @xterm/addon-clipboard@0.1.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-clipboard - @xterm/addon-fit@0.10.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-fit - @xterm/addon-web-links@0.11.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-web-links @@ -1268,10 +1269,10 @@ SECTION 2: npm packages (787 packages) - accepts@2.0.0 — MIT — https://github.com/jshttp/accepts - agent-base@6.0.2 — MIT — https://github.com/TooTallNate/node-agent-base - agent-base@7.1.4 — MIT — https://github.com/TooTallNate/proxy-agents -- ajv@7.2.4 — MIT — https://github.com/ajv-validator/ajv -- ajv@8.20.0 — MIT — https://github.com/ajv-validator/ajv - ajv-formats@1.6.1 — MIT — https://github.com/ajv-validator/ajv-formats - ajv-formats@3.0.1 — MIT — https://github.com/ajv-validator/ajv-formats +- ajv@7.2.4 — MIT — https://github.com/ajv-validator/ajv +- ajv@8.20.0 — MIT — https://github.com/ajv-validator/ajv - ansi-regex@5.0.1 — MIT — https://github.com/chalk/ansi-regex - ansi-regex@6.2.2 — MIT — https://github.com/chalk/ansi-regex - ansi-styles@4.3.0 — MIT — https://github.com/chalk/ansi-styles @@ -1293,8 +1294,8 @@ SECTION 2: npm packages (787 packages) - bl@4.1.0 — MIT — https://github.com/rvagg/bl - body-parser@2.3.0 — MIT — https://github.com/expressjs/body-parser - brace-expansion@2.1.2 — MIT — https://github.com/juliangruber/brace-expansion -- buffer@5.7.1 — MIT — https://github.com/feross/buffer - buffer-equal-constant-time@1.0.1 — BSD-3-Clause — https://github.com/goinstant/buffer-equal-constant-time +- buffer@5.7.1 — MIT — https://github.com/feross/buffer - buildcheck@0.0.7 — MIT — http://github.com/mscdex/buildcheck - byte-size@8.2.1 — MIT — https://github.com/75lb/byte-size - bytes@3.1.2 — MIT — https://github.com/visionmedia/bytes.js @@ -1302,9 +1303,9 @@ SECTION 2: npm packages (787 packages) - call-bound@1.0.4 — MIT — https://github.com/ljharb/call-bound - camelcase@5.3.1 — MIT — https://github.com/sindresorhus/camelcase - ccount@2.0.1 — MIT — https://github.com/wooorm/ccount -- character-entities@2.0.2 — MIT — https://github.com/wooorm/character-entities - character-entities-html4@2.1.0 — MIT — https://github.com/wooorm/character-entities-html4 - character-entities-legacy@3.0.0 — MIT — https://github.com/wooorm/character-entities-legacy +- character-entities@2.0.2 — MIT — https://github.com/wooorm/character-entities - character-reference-invalid@2.0.1 — MIT — https://github.com/wooorm/character-reference-invalid - charenc@0.0.2 — BSD-3-Clause — https://github.com/pvorb/node-charenc - chownr@1.1.4 — ISC — https://github.com/isaacs/chownr @@ -1321,9 +1322,9 @@ SECTION 2: npm packages (787 packages) - content-disposition@1.1.0 — MIT — https://github.com/jshttp/content-disposition - content-type@1.0.5 — MIT — https://github.com/jshttp/content-type - content-type@2.0.0 — MIT — https://github.com/jshttp/content-type +- cookie-signature@1.2.2 — MIT — https://github.com/visionmedia/node-cookie-signature - cookie@0.7.2 — MIT — https://github.com/jshttp/cookie - cookie@1.1.1 — MIT — https://github.com/jshttp/cookie -- cookie-signature@1.2.2 — MIT — https://github.com/visionmedia/node-cookie-signature - core-util-is@1.0.3 — MIT — https://github.com/isaacs/core-util-is - cors@2.8.6 — MIT — https://github.com/expressjs/cors - cose-base@1.0.3 — MIT — https://github.com/iVis-at-Bilkent/cose-base @@ -1332,10 +1333,9 @@ SECTION 2: npm packages (787 packages) - crelt@1.0.7 — MIT — https://code.haverbeke.berlin/marijn/crelt - cross-spawn@7.0.6 — MIT — https://github.com/moxystudio/node-cross-spawn - crypt@0.0.2 — BSD-3-Clause — https://github.com/pvorb/node-crypt -- cytoscape@3.34.0 — MIT — https://github.com/cytoscape/cytoscape.js - cytoscape-cose-bilkent@4.1.0 — MIT — https://github.com/cytoscape/cytoscape.js-cose-bilkent - cytoscape-fcose@2.2.0 — MIT — https://github.com/iVis-at-Bilkent/cytoscape.js-fcose -- d3@7.9.0 — ISC — https://github.com/d3/d3 +- cytoscape@3.34.0 — MIT — https://github.com/cytoscape/cytoscape.js - d3-array@2.12.1 — BSD-3-Clause — https://github.com/d3/d3-array - d3-array@3.2.4 — ISC — https://github.com/d3/d3-array - d3-axis@3.0.0 — ISC — https://github.com/d3/d3-axis @@ -1360,16 +1360,17 @@ SECTION 2: npm packages (787 packages) - d3-quadtree@3.0.1 — ISC — https://github.com/d3/d3-quadtree - d3-random@3.0.1 — ISC — https://github.com/d3/d3-random - d3-sankey@0.12.3 — BSD-3-Clause — https://github.com/d3/d3-sankey -- d3-scale@4.0.2 — ISC — https://github.com/d3/d3-scale - d3-scale-chromatic@3.1.0 — ISC — https://github.com/d3/d3-scale-chromatic +- d3-scale@4.0.2 — ISC — https://github.com/d3/d3-scale - d3-selection@3.0.0 — ISC — https://github.com/d3/d3-selection - d3-shape@1.3.7 — BSD-3-Clause — https://github.com/d3/d3-shape - d3-shape@3.2.0 — ISC — https://github.com/d3/d3-shape -- d3-time@3.1.0 — ISC — https://github.com/d3/d3-time - d3-time-format@4.1.0 — ISC — https://github.com/d3/d3-time-format +- d3-time@3.1.0 — ISC — https://github.com/d3/d3-time - d3-timer@3.0.1 — ISC — https://github.com/d3/d3-timer - d3-transition@3.0.1 — ISC — https://github.com/d3/d3-transition - d3-zoom@3.0.0 — ISC — https://github.com/d3/d3-zoom +- d3@7.9.0 — ISC — https://github.com/d3/d3 - dagre-d3-es@7.0.14 — MIT — https://github.com/tbo47/dagre-es - data-uri-to-buffer@4.0.1 — MIT — https://github.com/TooTallNate/node-data-uri-to-buffer - dayjs@1.11.21 — MIT — https://github.com/iamkun/dayjs @@ -1390,6 +1391,7 @@ SECTION 2: npm packages (787 packages) - devlop@1.1.0 — MIT — https://github.com/wooorm/devlop - diff@8.0.4 — BSD-3-Clause — https://github.com/kpdecker/jsdiff - dijkstrajs@1.0.3 — MIT — https://github.com/tcort/dijkstrajs +- dingtalk-stream@v2.1.5 — MIT — https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs - discord-api-types@0.38.50 — MIT — https://github.com/discordjs/discord-api-types - discord.js@14.27.0 — Apache-2.0 — https://github.com/discordjs/discord.js - dompurify@3.4.12 — (MPL-2.0 OR Apache-2.0) — https://github.com/cure53/DOMPurify @@ -1418,15 +1420,16 @@ SECTION 2: npm packages (787 packages) - esprima@4.0.1 — BSD-2-Clause — https://github.com/jquery/esprima - estree-util-is-identifier-name@3.0.0 — MIT — https://github.com/syntax-tree/estree-util-is-identifier-name - etag@1.8.1 — MIT — https://github.com/jshttp/etag -- eventsource@3.0.7 — MIT — https://git@github.com/EventSource/eventsource +- eventemitter3@5.0.4 — MIT — https://github.com/primus/eventemitter3 - eventsource-parser@3.1.0 — MIT — https://github.com/rexxars/eventsource-parser +- eventsource@3.0.7 — MIT — https://git@github.com/EventSource/eventsource - execa@4.1.0 — MIT — https://github.com/sindresorhus/execa - execa@5.1.1 — MIT — https://github.com/sindresorhus/execa - expand-template@2.0.3 — (MIT OR WTFPL) — https://github.com/ralphtheninja/expand-template -- express@5.2.1 — MIT — https://github.com/expressjs/express - express-rate-limit@8.5.2 — MIT — https://github.com/express-rate-limit/express-rate-limit -- extend@3.0.2 — MIT — https://github.com/justmoon/node-extend +- express@5.2.1 — MIT — https://github.com/expressjs/express - extend-shallow@2.0.1 — MIT — https://github.com/jonschlinkert/extend-shallow +- extend@3.0.2 — MIT — https://github.com/justmoon/node-extend - fast-deep-equal@3.1.3 — MIT — https://github.com/epoberezkin/fast-deep-equal - fast-equals@5.4.1 — MIT — https://github.com/planttheidea/fast-equals - fast-uri@3.1.4 — BSD-3-Clause — https://github.com/fastify/fast-uri @@ -1473,8 +1476,8 @@ SECTION 2: npm packages (787 packages) - has-tostringtag@1.0.2 — MIT — https://github.com/inspect-js/has-tostringtag - hasown@2.0.4 — MIT — https://github.com/inspect-js/hasOwn - hast-util-from-dom@5.0.1 — ISC — https://github.com/syntax-tree/hast-util-from-dom -- hast-util-from-html@2.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-html - hast-util-from-html-isomorphic@2.0.0 — MIT — https://github.com/syntax-tree/hast-util-from-html-isomorphic +- hast-util-from-html@2.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-html - hast-util-from-parse5@8.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-parse5 - hast-util-heading-rank@3.0.0 — MIT — https://github.com/syntax-tree/hast-util-heading-rank - hast-util-is-element@3.0.0 — MIT — https://github.com/syntax-tree/hast-util-is-element @@ -1548,17 +1551,17 @@ SECTION 2: npm packages (787 packages) - layout-base@2.0.1 — MIT — https://github.com/iVis-at-Bilkent/layout-base - lcid@3.1.1 — MIT — https://github.com/sindresorhus/lcid - lie@3.3.0 — MIT — https://github.com/calvinmetcalf/lie -- lit@3.3.3 — BSD-3-Clause — https://github.com/lit/lit - lit-element@4.2.2 — BSD-3-Clause — https://github.com/lit/lit - lit-html@3.3.3 — BSD-3-Clause — https://github.com/lit/lit +- lit@3.3.3 — BSD-3-Clause — https://github.com/lit/lit - locate-path@3.0.0 — MIT — https://github.com/sindresorhus/locate-path - locate-path@5.0.0 — MIT — https://github.com/sindresorhus/locate-path -- lodash@4.18.1 — MIT — https://github.com/lodash/lodash - lodash-es@4.18.1 — MIT — https://github.com/lodash/lodash - lodash.identity@3.0.0 — MIT — https://github.com/lodash/lodash - lodash.merge@4.6.2 — MIT — https://github.com/lodash/lodash - lodash.pickby@4.6.0 — MIT — https://github.com/lodash/lodash - lodash.snakecase@4.1.1 — MIT — https://github.com/lodash/lodash +- lodash@4.18.1 — MIT — https://github.com/lodash/lodash - long@5.3.2 — Apache-2.0 — https://github.com/dcodeIO/long.js - longest-streak@3.1.0 — MIT — https://github.com/wooorm/longest-streak - loudness@0.4.2 — MIT — https://github.com/LinusU/node-loudness @@ -1573,36 +1576,35 @@ SECTION 2: npm packages (787 packages) - md5@2.3.0 — BSD-3-Clause — https://github.com/pvorb/node-md5 - mdast-util-find-and-replace@3.0.2 — MIT — https://github.com/syntax-tree/mdast-util-find-and-replace - mdast-util-from-markdown@2.0.3 — MIT — https://github.com/syntax-tree/mdast-util-from-markdown -- mdast-util-gfm@3.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm - mdast-util-gfm-autolink-literal@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-gfm-autolink-literal - mdast-util-gfm-footnote@2.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-footnote - mdast-util-gfm-strikethrough@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-strikethrough - mdast-util-gfm-table@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-table - mdast-util-gfm-task-list-item@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-task-list-item +- mdast-util-gfm@3.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm - mdast-util-math@3.0.0 — MIT — https://github.com/syntax-tree/mdast-util-math - mdast-util-mdx-expression@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-mdx-expression - mdast-util-mdx-jsx@3.2.0 — MIT — https://github.com/syntax-tree/mdast-util-mdx-jsx - mdast-util-mdxjs-esm@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-mdxjs-esm - mdast-util-phrasing@4.1.0 — MIT — https://github.com/syntax-tree/mdast-util-phrasing - mdast-util-to-hast@13.2.1 — MIT — https://github.com/syntax-tree/mdast-util-to-hast -- mdast-util-to-markdown@2.1.2 — MIT — https://github.com/syntax-tree/mdast-util-to-markdown - mdast-util-to-markdown-cjk-friendly@1.0.0 — MIT — https://github.com/tats-u/markdown-cjk-friendly +- mdast-util-to-markdown@2.1.2 — MIT — https://github.com/syntax-tree/mdast-util-to-markdown - mdast-util-to-string@4.0.0 — MIT — https://github.com/syntax-tree/mdast-util-to-string - media-typer@1.1.0 — MIT — https://github.com/jshttp/media-typer - merge-descriptors@2.0.0 — MIT — https://github.com/sindresorhus/merge-descriptors - merge-stream@2.0.0 — MIT — https://github.com/grncdr/merge-stream - mermaid@11.16.0 — MIT — https://github.com/mermaid-js/mermaid -- micromark@4.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark - micromark-core-commonmark@2.0.3 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark -- micromark-extension-cjk-friendly@2.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly - micromark-extension-cjk-friendly-util@3.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly -- micromark-extension-gfm@3.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm +- micromark-extension-cjk-friendly@2.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly - micromark-extension-gfm-autolink-literal@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-autolink-literal - micromark-extension-gfm-footnote@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-footnote - micromark-extension-gfm-strikethrough@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-strikethrough - micromark-extension-gfm-table@2.1.1 — MIT — https://github.com/micromark/micromark-extension-gfm-table - micromark-extension-gfm-tagfilter@2.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm-tagfilter - micromark-extension-gfm-task-list-item@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-task-list-item +- micromark-extension-gfm@3.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm - micromark-extension-math@3.1.0 — MIT — https://github.com/micromark/micromark-extension-math - micromark-factory-destination@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-factory-destination - micromark-factory-label@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label @@ -1623,6 +1625,7 @@ SECTION 2: npm packages (787 packages) - micromark-util-subtokenize@2.1.0 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize - micromark-util-symbol@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-symbol - micromark-util-types@2.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-types +- micromark@4.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark - mime-db@1.52.0 — MIT — https://github.com/jshttp/mime-db - mime-db@1.54.0 — MIT — https://github.com/jshttp/mime-db - mime-types@2.1.35 — MIT — https://github.com/jshttp/mime-types @@ -1633,8 +1636,8 @@ SECTION 2: npm packages (787 packages) - minimatch@9.0.9 — ISC — https://github.com/isaacs/minimatch - minimist@1.2.8 — MIT — https://github.com/minimistjs/minimist - minipass@7.1.3 — BlueOak-1.0.0 — https://github.com/isaacs/minipass -- mkdirp@0.5.6 — MIT — https://github.com/substack/node-mkdirp - mkdirp-classic@0.5.3 — MIT — https://github.com/mafintosh/mkdirp-classic +- mkdirp@0.5.6 — MIT — https://github.com/substack/node-mkdirp - mri@1.2.0 — MIT — https://github.com/lukeed/mri - ms@2.0.0 — MIT — https://github.com/zeit/ms - ms@2.1.3 — MIT — https://github.com/vercel/ms @@ -1706,15 +1709,15 @@ SECTION 2: npm packages (787 packages) - range-parser@1.3.0 — MIT — https://github.com/jshttp/range-parser - raw-body@3.0.2 — MIT — https://github.com/stream-utils/raw-body - rc@1.2.8 — (BSD-2-Clause OR MIT OR Apache-2.0) — https://github.com/dominictarr/rc -- react@19.2.3 — MIT — https://github.com/facebook/react - react-dom@19.2.3 — MIT — https://github.com/facebook/react - react-i18next@17.0.10 — MIT — https://github.com/i18next/react-i18next - react-markdown@10.1.0 — MIT — https://github.com/remarkjs/react-markdown -- react-remove-scroll@2.7.2 — MIT — https://github.com/theKashey/react-remove-scroll - react-remove-scroll-bar@2.3.8 — MIT — https://github.com/theKashey/react-remove-scroll-bar -- react-router@7.18.1 — MIT — https://github.com/remix-run/react-router +- react-remove-scroll@2.7.2 — MIT — https://github.com/theKashey/react-remove-scroll - react-router-dom@7.18.1 — MIT — https://github.com/remix-run/react-router +- react-router@7.18.1 — MIT — https://github.com/remix-run/react-router - react-style-singleton@2.2.3 — MIT — https://github.com/theKashey/react-style-singleton +- react@19.2.3 — MIT — https://github.com/facebook/react - readable-stream@2.3.8 — MIT — https://github.com/nodejs/readable-stream - readable-stream@3.6.2 — MIT — https://github.com/nodejs/readable-stream - rehype-highlight@7.0.2 — MIT — https://github.com/rehypejs/rehype-highlight @@ -1753,10 +1756,10 @@ SECTION 2: npm packages (787 packages) - shebang-regex@3.0.0 — MIT — https://github.com/sindresorhus/shebang-regex - shell-env@4.0.3 — MIT — https://github.com/sindresorhus/shell-env - shell-path@3.1.0 — MIT — https://github.com/sindresorhus/shell-path -- side-channel@1.1.1 — MIT — https://github.com/ljharb/side-channel - side-channel-list@1.0.1 — MIT — https://github.com/ljharb/side-channel-list - side-channel-map@1.0.1 — MIT — https://github.com/ljharb/side-channel-map - side-channel-weakmap@1.0.2 — MIT — https://github.com/ljharb/side-channel-weakmap +- side-channel@1.1.1 — MIT — https://github.com/ljharb/side-channel - signal-exit@3.0.7 — ISC — https://github.com/tapjs/signal-exit - signal-exit@4.1.0 — ISC — https://github.com/tapjs/signal-exit - silk-wasm@3.7.1 — MIT — https://github.com/idranme/silk-wasm @@ -1800,17 +1803,17 @@ SECTION 2: npm packages (787 packages) - type-fest@0.20.2 — (MIT OR CC0-1.0) — https://github.com/sindresorhus/type-fest - type-is@2.1.0 — MIT — https://github.com/jshttp/type-is - typebox@1.1.39 — MIT — https://github.com/sinclairzx81/typebox +- undici-types@7.24.6 — MIT — https://github.com/nodejs/undici - undici@6.27.0 — MIT — https://github.com/nodejs/undici - undici@8.7.0 — MIT — https://github.com/nodejs/undici -- undici-types@7.24.6 — MIT — https://github.com/nodejs/undici - unified@11.0.5 — MIT — https://github.com/unifiedjs/unified - unist-util-find-after@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-find-after - unist-util-is@6.0.1 — MIT — https://github.com/syntax-tree/unist-util-is - unist-util-position@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-position - unist-util-remove-position@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-remove-position - unist-util-stringify-position@4.0.0 — MIT — https://github.com/syntax-tree/unist-util-stringify-position -- unist-util-visit@5.1.0 — MIT — https://github.com/syntax-tree/unist-util-visit - unist-util-visit-parents@6.0.2 — MIT — https://github.com/syntax-tree/unist-util-visit-parents +- unist-util-visit@5.1.0 — MIT — https://github.com/syntax-tree/unist-util-visit - universalify@2.0.1 — MIT — https://github.com/RyanZim/universalify - unpipe@1.0.0 — MIT — https://github.com/stream-utils/unpipe - uri-js@4.4.1 — BSD-2-Clause — http://github.com/garycourt/uri-js @@ -1821,15 +1824,15 @@ SECTION 2: npm packages (787 packages) - util-deprecate@1.0.2 — MIT — https://github.com/TooTallNate/util-deprecate - uuid@14.0.1 — MIT — https://github.com/uuidjs/uuid - vary@1.1.2 — MIT — https://github.com/jshttp/vary -- vfile@6.0.3 — MIT — https://github.com/vfile/vfile - vfile-location@5.0.3 — MIT — https://github.com/vfile/vfile-location - vfile-message@4.0.3 — MIT — https://github.com/vfile/vfile-message +- vfile@6.0.3 — MIT — https://github.com/vfile/vfile - void-elements@3.1.0 — MIT — https://github.com/pugjs/void-elements - w3c-keyname@2.2.8 — MIT — https://github.com/marijnh/w3c-keyname - web-namespaces@2.0.1 — MIT — https://github.com/wooorm/web-namespaces - web-streams-polyfill@3.3.3 — MIT — https://github.com/MattiasBuelens/web-streams-polyfill -- which@2.0.2 — ISC — https://github.com/isaacs/node-which - which-module@2.0.1 — ISC — https://github.com/nexdrew/which-module +- which@2.0.2 — ISC — https://github.com/isaacs/node-which - workerpool@9.1.1 — Apache-2.0 — https://github.com/josdejong/workerpool - wrap-ansi@6.2.0 — MIT — https://github.com/chalk/wrap-ansi - wrap-ansi@7.0.0 — MIT — https://github.com/chalk/wrap-ansi @@ -1837,10 +1840,10 @@ SECTION 2: npm packages (787 packages) - wrappy@1.0.2 — ISC — https://github.com/npm/wrappy - ws@8.21.1 — MIT — https://github.com/websockets/ws - y18n@4.0.3 — ISC — https://github.com/yargs/y18n -- yargs@15.4.1 — MIT — https://github.com/yargs/yargs - yargs-parser@18.1.3 — ISC — https://github.com/yargs/yargs-parser -- zod@4.3.6 — MIT — https://github.com/colinhacks/zod +- yargs@15.4.1 — MIT — https://github.com/yargs/yargs - zod-to-json-schema@3.25.2 — ISC — https://github.com/StefanTerdell/zod-to-json-schema +- zod@4.3.6 — MIT — https://github.com/colinhacks/zod - zwitch@2.0.4 — MIT — https://github.com/wooorm/zwitch ============================================================================== @@ -3897,7 +3900,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[28] Applies to: npm:@lit/reactive-element@2.1.2, npm:lit@3.3.3, npm:lit-element@4.2.2, npm:lit-html@3.3.3 +[28] Applies to: npm:@lit/reactive-element@2.1.2, npm:lit-element@4.2.2, npm:lit-html@3.3.3, npm:lit@3.3.3 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -4104,7 +4107,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[36] Applies to: npm:@parcel/watcher@2.5.6, npm:@parcel/watcher-darwin-arm64@2.5.6, npm:@parcel/watcher-darwin-x64@2.5.6 +[36] Applies to: npm:@parcel/watcher-darwin-arm64@2.5.6, npm:@parcel/watcher-darwin-x64@2.5.6, npm:@parcel/watcher@2.5.6 ------------------------------------------------------------------------------ MIT License @@ -4287,7 +4290,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[43] Applies to: npm:@types/d3@7.4.3, npm:@types/d3-array@3.2.2, npm:@types/d3-axis@3.0.6, npm:@types/d3-brush@3.0.6, npm:@types/d3-chord@3.0.6, npm:@types/d3-color@3.1.3, npm:@types/d3-contour@3.0.6, npm:@types/d3-delaunay@6.0.4, npm:@types/d3-dispatch@3.0.7, npm:@types/d3-drag@3.0.7, npm:@types/d3-dsv@3.0.7, npm:@types/d3-ease@3.0.2, npm:@types/d3-fetch@3.0.7, npm:@types/d3-force@3.0.10, npm:@types/d3-format@3.0.4, npm:@types/d3-geo@3.1.0, npm:@types/d3-hierarchy@3.1.7, npm:@types/d3-interpolate@3.0.4, npm:@types/d3-path@3.1.1, npm:@types/d3-polygon@3.0.2, npm:@types/d3-quadtree@3.0.6, npm:@types/d3-random@3.0.4, npm:@types/d3-scale@4.0.9, npm:@types/d3-scale-chromatic@3.1.0, npm:@types/d3-selection@3.0.11, npm:@types/d3-shape@3.1.8, npm:@types/d3-time@3.0.4, npm:@types/d3-time-format@4.0.3, npm:@types/d3-timer@3.0.2, npm:@types/d3-transition@3.0.9, npm:@types/d3-zoom@3.0.8, npm:@types/debug@4.1.13, npm:@types/estree@1.0.9, npm:@types/estree-jsx@1.0.5, npm:@types/geojson@7946.0.16, npm:@types/hast@3.0.5, npm:@types/katex@0.16.8, npm:@types/mdast@4.0.4, npm:@types/ms@2.1.0, npm:@types/node@25.9.5, npm:@types/trusted-types@2.0.7, npm:@types/unist@2.0.11, npm:@types/unist@3.0.3, npm:@types/use-sync-external-store@0.0.6, npm:@types/ws@8.18.1 +[43] Applies to: npm:@types/d3-array@3.2.2, npm:@types/d3-axis@3.0.6, npm:@types/d3-brush@3.0.6, npm:@types/d3-chord@3.0.6, npm:@types/d3-color@3.1.3, npm:@types/d3-contour@3.0.6, npm:@types/d3-delaunay@6.0.4, npm:@types/d3-dispatch@3.0.7, npm:@types/d3-drag@3.0.7, npm:@types/d3-dsv@3.0.7, npm:@types/d3-ease@3.0.2, npm:@types/d3-fetch@3.0.7, npm:@types/d3-force@3.0.10, npm:@types/d3-format@3.0.4, npm:@types/d3-geo@3.1.0, npm:@types/d3-hierarchy@3.1.7, npm:@types/d3-interpolate@3.0.4, npm:@types/d3-path@3.1.1, npm:@types/d3-polygon@3.0.2, npm:@types/d3-quadtree@3.0.6, npm:@types/d3-random@3.0.4, npm:@types/d3-scale-chromatic@3.1.0, npm:@types/d3-scale@4.0.9, npm:@types/d3-selection@3.0.11, npm:@types/d3-shape@3.1.8, npm:@types/d3-time-format@4.0.3, npm:@types/d3-time@3.0.4, npm:@types/d3-timer@3.0.2, npm:@types/d3-transition@3.0.9, npm:@types/d3-zoom@3.0.8, npm:@types/d3@7.4.3, npm:@types/debug@4.1.13, npm:@types/estree-jsx@1.0.5, npm:@types/estree@1.0.9, npm:@types/geojson@7946.0.16, npm:@types/hast@3.0.5, npm:@types/katex@0.16.8, npm:@types/mdast@4.0.4, npm:@types/ms@2.1.0, npm:@types/node@25.9.5, npm:@types/trusted-types@2.0.7, npm:@types/unist@2.0.11, npm:@types/unist@3.0.3, npm:@types/use-sync-external-store@0.0.6, npm:@types/ws@8.18.1 ------------------------------------------------------------------------------ MIT License @@ -4532,11 +4535,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[53] Applies to: npm:ajv@7.2.4, npm:ajv@8.20.0 +[53] Applies to: npm:ajv-formats@1.6.1, npm:ajv-formats@3.0.1 ------------------------------------------------------------------------------ -The MIT License (MIT) +MIT License -Copyright (c) 2015-2021 Evgeny Poberezkin +Copyright (c) 2020 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -4557,11 +4560,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[54] Applies to: npm:ajv-formats@1.6.1, npm:ajv-formats@3.0.1 +[54] Applies to: npm:ajv@7.2.4, npm:ajv@8.20.0 ------------------------------------------------------------------------------ -MIT License +The MIT License (MIT) -Copyright (c) 2020 Evgeny Poberezkin +Copyright (c) 2015-2021 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5000,7 +5003,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[64] Applies to: npm:bail@2.0.2, npm:ccount@2.0.1, npm:character-entities@2.0.2, npm:character-entities-html4@2.1.0, npm:character-entities-legacy@3.0.0, npm:character-reference-invalid@2.0.1, npm:mdast-util-to-string@4.0.0, npm:unist-util-find-after@5.0.0, npm:unist-util-position@5.0.0, npm:unist-util-visit@5.1.0 +[64] Applies to: npm:bail@2.0.2, npm:ccount@2.0.1, npm:character-entities-html4@2.1.0, npm:character-entities-legacy@3.0.0, npm:character-entities@2.0.2, npm:character-reference-invalid@2.0.1, npm:mdast-util-to-string@4.0.0, npm:unist-util-find-after@5.0.0, npm:unist-util-position@5.0.0, npm:unist-util-visit@5.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -5295,7 +5298,23 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[74] Applies to: npm:buffer@5.7.1 +[74] Applies to: npm:buffer-equal-constant-time@1.0.1 +------------------------------------------------------------------------------ +Copyright (c) 2013, GoInstant Inc., a salesforce.com company +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------------------ +[75] Applies to: npm:buffer@5.7.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -5319,22 +5338,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[75] Applies to: npm:buffer-equal-constant-time@1.0.1 ------------------------------------------------------------------------------- -Copyright (c) 2013, GoInstant Inc., a salesforce.com company -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ------------------------------------------------------------------------------ [76] Applies to: npm:buildcheck@0.0.7, npm:cpu-features@0.0.10, npm:ssh2@1.17.0 ------------------------------------------------------------------------------ @@ -5867,12 +5870,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[91] Applies to: npm:cookie@0.7.2, npm:cookie@1.1.1 +[91] Applies to: npm:cookie-signature@1.2.2 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2012-2014 Roman Shtylman -Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2012–2024 LearnBoost and other contributors; Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -5894,11 +5896,12 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[92] Applies to: npm:cookie-signature@1.2.2 +[92] Applies to: npm:cookie@0.7.2, npm:cookie@1.1.1 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2012–2024 LearnBoost and other contributors; +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -6042,9 +6045,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[98] Applies to: npm:cytoscape@3.34.0 +[98] Applies to: npm:cytoscape-cose-bilkent@4.1.0 ------------------------------------------------------------------------------ -Copyright (c) 2016-2026, The Cytoscape Consortium. +Copyright (c) 2016-2018, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -6064,18 +6067,10 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -import fs from 'fs'; -import path from 'path'; - -import { fileURLToPath } from 'url'; -import { dirname } from 'path'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); - -const year = (new Date()).getFullYear(); - -const license = `Copyright (c) 2016-${year}, The Cytoscape Consortium. +------------------------------------------------------------------------------ +[99] Applies to: npm:cytoscape-fcose@2.2.0 +------------------------------------------------------------------------------ +Copyright (c) 2018 - present, iVis-at-Bilkent. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -6093,14 +6088,12 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE.`; - -fs.writeFileSync(path.join(__dirname, 'LICENSE'), license); +SOFTWARE. ------------------------------------------------------------------------------ -[99] Applies to: npm:cytoscape-cose-bilkent@4.1.0 +[100] Applies to: npm:cytoscape@3.34.0 ------------------------------------------------------------------------------ -Copyright (c) 2016-2018, The Cytoscape Consortium. +Copyright (c) 2016-2026, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -6120,10 +6113,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[100] Applies to: npm:cytoscape-fcose@2.2.0 ------------------------------------------------------------------------------- -Copyright (c) 2018 - present, iVis-at-Bilkent. +import fs from 'fs'; +import path from 'path'; + +import { fileURLToPath } from 'url'; +import { dirname } from 'path'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const year = (new Date()).getFullYear(); + +const license = `Copyright (c) 2016-${year}, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -6141,27 +6142,12 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ------------------------------------------------------------------------------- -[101] Applies to: npm:d3@7.9.0, npm:d3-array@3.2.4 ------------------------------------------------------------------------------- -Copyright 2010-2023 Mike Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. +SOFTWARE.`; -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. +fs.writeFileSync(path.join(__dirname, 'LICENSE'), license); ------------------------------------------------------------------------------ -[102] Applies to: npm:d3-array@2.12.1 +[101] Applies to: npm:d3-array@2.12.1 ------------------------------------------------------------------------------ Copyright 2010-2020 Mike Bostock All rights reserved. @@ -6191,6 +6177,23 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------------------ +[102] Applies to: npm:d3-array@3.2.4, npm:d3@7.9.0 +------------------------------------------------------------------------------ +Copyright 2010-2023 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + ------------------------------------------------------------------------------ [103] Applies to: npm:d3-axis@3.0.0, npm:d3-brush@3.0.0, npm:d3-chord@3.0.1, npm:d3-dispatch@3.0.1, npm:d3-drag@3.0.0, npm:d3-force@3.0.0, npm:d3-hierarchy@3.1.2, npm:d3-interpolate@3.0.1, npm:d3-polygon@3.0.1, npm:d3-quadtree@3.0.1, npm:d3-random@3.0.1, npm:d3-scale@4.0.2, npm:d3-selection@3.0.0, npm:d3-time-format@4.1.0, npm:d3-timer@3.0.1, npm:d3-transition@3.0.1, npm:d3-zoom@3.0.0 ------------------------------------------------------------------------------ @@ -6646,7 +6649,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[122] Applies to: npm:decode-named-character-reference@1.3.0, npm:hast-util-from-parse5@8.0.3, npm:hast-util-to-jsx-runtime@2.3.6, npm:hastscript@9.0.1, npm:lowlight@3.3.0, npm:markdown-table@3.0.4, npm:mdast-util-find-and-replace@3.0.2, npm:mdast-util-from-markdown@2.0.3, npm:mdast-util-gfm@3.1.0, npm:mdast-util-gfm-footnote@2.1.0, npm:mdast-util-to-markdown@2.1.2, npm:micromark@4.0.2, npm:micromark-core-commonmark@2.0.3, npm:micromark-extension-gfm-table@2.1.1, npm:micromark-factory-destination@2.0.1, npm:micromark-factory-label@2.0.1, npm:micromark-factory-space@2.0.1, npm:micromark-factory-title@2.0.1, npm:micromark-factory-whitespace@2.0.1, npm:micromark-util-character@2.1.1, npm:micromark-util-chunked@2.0.1, npm:micromark-util-classify-character@2.0.1, npm:micromark-util-combine-extensions@2.0.1, npm:micromark-util-decode-numeric-character-reference@2.0.2, npm:micromark-util-decode-string@2.0.1, npm:micromark-util-encode@2.0.1, npm:micromark-util-html-tag-name@2.0.1, npm:micromark-util-normalize-identifier@2.0.1, npm:micromark-util-resolve-all@2.0.1, npm:micromark-util-sanitize-uri@2.0.1, npm:micromark-util-subtokenize@2.1.0, npm:micromark-util-symbol@2.0.1, npm:micromark-util-types@2.0.2, npm:rehype-highlight@7.0.2, npm:remark-gfm@4.0.1, npm:remark-rehype@11.1.2, npm:vfile-message@4.0.3 +[122] Applies to: npm:decode-named-character-reference@1.3.0, npm:hast-util-from-parse5@8.0.3, npm:hast-util-to-jsx-runtime@2.3.6, npm:hastscript@9.0.1, npm:lowlight@3.3.0, npm:markdown-table@3.0.4, npm:mdast-util-find-and-replace@3.0.2, npm:mdast-util-from-markdown@2.0.3, npm:mdast-util-gfm-footnote@2.1.0, npm:mdast-util-gfm@3.1.0, npm:mdast-util-to-markdown@2.1.2, npm:micromark-core-commonmark@2.0.3, npm:micromark-extension-gfm-table@2.1.1, npm:micromark-factory-destination@2.0.1, npm:micromark-factory-label@2.0.1, npm:micromark-factory-space@2.0.1, npm:micromark-factory-title@2.0.1, npm:micromark-factory-whitespace@2.0.1, npm:micromark-util-character@2.1.1, npm:micromark-util-chunked@2.0.1, npm:micromark-util-classify-character@2.0.1, npm:micromark-util-combine-extensions@2.0.1, npm:micromark-util-decode-numeric-character-reference@2.0.2, npm:micromark-util-decode-string@2.0.1, npm:micromark-util-encode@2.0.1, npm:micromark-util-html-tag-name@2.0.1, npm:micromark-util-normalize-identifier@2.0.1, npm:micromark-util-resolve-all@2.0.1, npm:micromark-util-sanitize-uri@2.0.1, npm:micromark-util-subtokenize@2.1.0, npm:micromark-util-symbol@2.0.1, npm:micromark-util-types@2.0.2, npm:micromark@4.0.2, npm:rehype-highlight@7.0.2, npm:remark-gfm@4.0.1, npm:remark-rehype@11.1.2, npm:vfile-message@4.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -7078,7 +7081,32 @@ THE SOFTWARE. ``` ------------------------------------------------------------------------------ -[132] Applies to: npm:discord-api-types@0.38.50 +[132] Applies to: npm:dingtalk-stream@v2.1.5 +------------------------------------------------------------------------------ +MIT License + +Copyright (c) 2023 钉钉开放平台团队 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------------------ +[133] Applies to: npm:discord-api-types@0.38.50 ------------------------------------------------------------------------------ MIT License @@ -7103,7 +7131,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[133] Applies to: npm:dompurify@3.4.12 +[134] Applies to: npm:dompurify@3.4.12 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -7682,7 +7710,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[134] Applies to: npm:dunder-proto@1.0.1, npm:math-intrinsics@1.1.0 +[135] Applies to: npm:dunder-proto@1.0.1, npm:math-intrinsics@1.1.0 ------------------------------------------------------------------------------ MIT License @@ -7707,7 +7735,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[135] Applies to: npm:ecdsa-sig-formatter@1.0.11 +[136] Applies to: npm:ecdsa-sig-formatter@1.0.11 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -7912,7 +7940,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[136] Applies to: npm:ee-first@1.1.1 +[137] Applies to: npm:ee-first@1.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -7937,7 +7965,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[137] Applies to: npm:electron-squirrel-startup@1.0.1 +[138] Applies to: npm:electron-squirrel-startup@1.0.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -8142,7 +8170,7 @@ See the License for the specific language governing permissions and limitations under the License. ------------------------------------------------------------------------------ -[138] Applies to: npm:electron-window-state@5.0.3 +[139] Applies to: npm:electron-window-state@5.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -8168,7 +8196,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[139] Applies to: npm:emoji-regex@8.0.0, npm:emoji-regex@9.2.2, npm:punycode@2.3.1 +[140] Applies to: npm:emoji-regex@8.0.0, npm:emoji-regex@9.2.2, npm:punycode@2.3.1 ------------------------------------------------------------------------------ Copyright Mathias Bynens @@ -8192,7 +8220,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[140] Applies to: npm:encodeurl@2.0.0 +[141] Applies to: npm:encodeurl@2.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -8218,7 +8246,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[141] Applies to: npm:end-of-stream@1.4.5, npm:pump@3.0.4, npm:tar-fs@2.1.5, npm:tar-stream@2.2.0 +[142] Applies to: npm:end-of-stream@1.4.5, npm:pump@3.0.4, npm:tar-fs@2.1.5, npm:tar-stream@2.2.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -8243,7 +8271,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[142] Applies to: npm:entities@6.0.1 +[143] Applies to: npm:entities@6.0.1 ------------------------------------------------------------------------------ Copyright (c) Felix Böhm All rights reserved. @@ -8258,7 +8286,7 @@ THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[143] Applies to: npm:es-set-tostringtag@2.1.0 +[144] Applies to: npm:es-set-tostringtag@2.1.0 ------------------------------------------------------------------------------ MIT License @@ -8283,7 +8311,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[144] Applies to: npm:es-toolkit@1.49.0 +[145] Applies to: npm:es-toolkit@1.49.0 ------------------------------------------------------------------------------ MIT License @@ -8308,7 +8336,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[145] Applies to: npm:escape-html@1.0.3 +[146] Applies to: npm:escape-html@1.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -8336,7 +8364,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[146] Applies to: npm:esprima@4.0.1 +[147] Applies to: npm:esprima@4.0.1 ------------------------------------------------------------------------------ Copyright JS Foundation and other contributors, https://js.foundation/ @@ -8361,7 +8389,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[147] Applies to: npm:estree-util-is-identifier-name@3.0.0, npm:hast-util-heading-rank@3.0.0, npm:mdast-util-gfm-autolink-literal@2.0.1, npm:mdast-util-gfm-strikethrough@2.0.0, npm:mdast-util-gfm-table@2.0.0, npm:mdast-util-gfm-task-list-item@2.0.0, npm:mdast-util-math@3.0.0, npm:mdast-util-mdx-expression@2.0.1, npm:mdast-util-mdx-jsx@3.2.0, npm:mdast-util-mdxjs-esm@2.0.1, npm:micromark-extension-gfm@3.0.0, npm:micromark-extension-gfm-autolink-literal@2.1.0, npm:micromark-extension-gfm-strikethrough@2.1.0, npm:micromark-extension-gfm-tagfilter@2.0.0, npm:micromark-extension-gfm-task-list-item@2.1.0, npm:micromark-extension-math@3.1.0 +[148] Applies to: npm:estree-util-is-identifier-name@3.0.0, npm:hast-util-heading-rank@3.0.0, npm:mdast-util-gfm-autolink-literal@2.0.1, npm:mdast-util-gfm-strikethrough@2.0.0, npm:mdast-util-gfm-table@2.0.0, npm:mdast-util-gfm-task-list-item@2.0.0, npm:mdast-util-math@3.0.0, npm:mdast-util-mdx-expression@2.0.1, npm:mdast-util-mdx-jsx@3.2.0, npm:mdast-util-mdxjs-esm@2.0.1, npm:micromark-extension-gfm-autolink-literal@2.1.0, npm:micromark-extension-gfm-strikethrough@2.1.0, npm:micromark-extension-gfm-tagfilter@2.0.0, npm:micromark-extension-gfm-task-list-item@2.1.0, npm:micromark-extension-gfm@3.0.0, npm:micromark-extension-math@3.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -8387,7 +8415,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[148] Applies to: npm:etag@1.8.1, npm:proxy-addr@2.0.7 +[149] Applies to: npm:etag@1.8.1, npm:proxy-addr@2.0.7 ------------------------------------------------------------------------------ (The MIT License) @@ -8413,37 +8441,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[149] Applies to: npm:eventsource@3.0.7 ------------------------------------------------------------------------------- -The MIT License - -Copyright (c) EventSource GitHub organisation - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ------------------------------------------------------------------------------- -[150] Applies to: npm:eventsource-parser@3.1.0 +[150] Applies to: npm:eventemitter3@5.0.4 ------------------------------------------------------------------------------ -MIT License +The MIT License (MIT) -Copyright (c) 2026 Espen Hovlandsdal +Copyright (c) 2014 Arnout Kazemier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8464,11 +8466,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[151] Applies to: npm:expand-template@2.0.3 +[151] Applies to: npm:eventsource-parser@3.1.0 ------------------------------------------------------------------------------ -The MIT License (MIT) +MIT License -Copyright (c) 2018 Lars-Magnus Skog +Copyright (c) 2026 Espen Hovlandsdal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -8477,29 +8479,27 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ------------------------------------------------------------------------------ -[152] Applies to: npm:express@5.2.1 +[152] Applies to: npm:eventsource@3.0.7 ------------------------------------------------------------------------------ -(The MIT License) +The MIT License -Copyright (c) 2009-2014 TJ Holowaychuk -Copyright (c) 2013-2014 Roman Shtylman -Copyright (c) 2014-2015 Douglas Christopher Wilson +Copyright (c) EventSource GitHub organisation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including +"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -8508,16 +8508,41 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[153] Applies to: npm:expand-template@2.0.3 +------------------------------------------------------------------------------ +The MIT License (MIT) + +Copyright (c) 2018 Lars-Magnus Skog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. ------------------------------------------------------------------------------ -[153] Applies to: npm:express-rate-limit@8.5.2 +[154] Applies to: npm:express-rate-limit@8.5.2 ------------------------------------------------------------------------------ # MIT License @@ -8541,15 +8566,17 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[154] Applies to: npm:extend@3.0.2 +[155] Applies to: npm:express@5.2.1 ------------------------------------------------------------------------------ -The MIT License (MIT) +(The MIT License) -Copyright (c) 2014 Stefan Thomas +Copyright (c) 2009-2014 TJ Holowaychuk +Copyright (c) 2013-2014 Roman Shtylman +Copyright (c) 2014-2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including +'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -8558,16 +8585,16 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[155] Applies to: npm:extend-shallow@2.0.1 +[156] Applies to: npm:extend-shallow@2.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -8592,7 +8619,33 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[156] Applies to: npm:fast-deep-equal@3.1.3, npm:json-schema-traverse@1.0.0 +[157] Applies to: npm:extend@3.0.2 +------------------------------------------------------------------------------ +The MIT License (MIT) + +Copyright (c) 2014 Stefan Thomas + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[158] Applies to: npm:fast-deep-equal@3.1.3, npm:json-schema-traverse@1.0.0 ------------------------------------------------------------------------------ MIT License @@ -8617,7 +8670,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[157] Applies to: npm:fast-equals@5.4.1 +[159] Applies to: npm:fast-equals@5.4.1 ------------------------------------------------------------------------------ MIT License @@ -8642,7 +8695,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[158] Applies to: npm:fast-uri@3.1.4 +[160] Applies to: npm:fast-uri@3.1.4 ------------------------------------------------------------------------------ Copyright (c) 2011-2021, Gary Court until https://github.com/garycourt/uri-js/commit/a1acf730b4bba3f1097c9f52e7d9d3aba8cdcaae Copyright (c) 2021-present The Fastify team @@ -8676,7 +8729,7 @@ The complete list of contributors can be found at: - https://github.com/garycourt/uri-js/graphs/contributors ------------------------------------------------------------------------------ -[159] Applies to: npm:fetch-blob@3.2.0 +[161] Applies to: npm:fetch-blob@3.2.0 ------------------------------------------------------------------------------ MIT License @@ -8701,7 +8754,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[160] Applies to: npm:file-uri-to-path@1.0.0 +[162] Applies to: npm:file-uri-to-path@1.0.0 ------------------------------------------------------------------------------ Copyright (c) 2014 Nathan Rajlich @@ -8725,7 +8778,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[161] Applies to: npm:finalhandler@2.1.1 +[163] Applies to: npm:finalhandler@2.1.1 ------------------------------------------------------------------------------ (The MIT License) @@ -8751,7 +8804,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[162] Applies to: npm:follow-redirects@1.16.0 +[164] Applies to: npm:follow-redirects@1.16.0 ------------------------------------------------------------------------------ Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh @@ -8773,7 +8826,7 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[163] Applies to: npm:foreground-child@3.3.1 +[165] Applies to: npm:foreground-child@3.3.1 ------------------------------------------------------------------------------ The ISC License @@ -8792,7 +8845,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[164] Applies to: npm:form-data@4.0.6 +[166] Applies to: npm:form-data@4.0.6 ------------------------------------------------------------------------------ Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors @@ -8815,7 +8868,7 @@ Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors THE SOFTWARE. ------------------------------------------------------------------------------ -[165] Applies to: npm:formdata-polyfill@4.0.10 +[167] Applies to: npm:formdata-polyfill@4.0.10 ------------------------------------------------------------------------------ MIT License @@ -8840,7 +8893,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[166] Applies to: npm:fresh@2.0.0 +[168] Applies to: npm:fresh@2.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -8867,7 +8920,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[167] Applies to: npm:fs-constants@1.0.0 +[169] Applies to: npm:fs-constants@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -8892,7 +8945,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[168] Applies to: npm:fs-extra@11.3.6 +[170] Applies to: npm:fs-extra@11.3.6 ------------------------------------------------------------------------------ (The MIT License) @@ -8911,7 +8964,7 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[169] Applies to: npm:function-bind@1.1.2 +[171] Applies to: npm:function-bind@1.1.2 ------------------------------------------------------------------------------ Copyright (c) 2013 Raynos. @@ -8934,7 +8987,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[170] Applies to: npm:get-caller-file@2.0.5 +[172] Applies to: npm:get-caller-file@2.0.5 ------------------------------------------------------------------------------ ISC License (ISC) Copyright 2018 Stefan Penner @@ -8944,7 +8997,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[171] Applies to: npm:get-intrinsic@1.3.0 +[173] Applies to: npm:get-intrinsic@1.3.0 ------------------------------------------------------------------------------ MIT License @@ -8969,7 +9022,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[172] Applies to: npm:get-nonce@1.0.1 +[174] Applies to: npm:get-nonce@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -8994,7 +9047,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[173] Applies to: npm:get-proto@1.0.1 +[175] Applies to: npm:get-proto@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -9019,7 +9072,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[174] Applies to: npm:github-from-package@0.0.0, npm:minimist@1.2.8 +[176] Applies to: npm:github-from-package@0.0.0, npm:minimist@1.2.8 ------------------------------------------------------------------------------ This software is released under the MIT license: @@ -9041,7 +9094,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[175] Applies to: npm:github-slugger@2.0.0 +[177] Applies to: npm:github-slugger@2.0.0 ------------------------------------------------------------------------------ Copyright (c) 2015, Dan Flettre @@ -9050,7 +9103,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[176] Applies to: npm:glob@10.5.0 +[178] Applies to: npm:glob@10.5.0 ------------------------------------------------------------------------------ The ISC License @@ -9069,7 +9122,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[177] Applies to: npm:gopd@1.2.0 +[179] Applies to: npm:gopd@1.2.0 ------------------------------------------------------------------------------ MIT License @@ -9094,7 +9147,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[178] Applies to: npm:graceful-fs@4.2.11 +[180] Applies to: npm:graceful-fs@4.2.11 ------------------------------------------------------------------------------ The ISC License @@ -9113,7 +9166,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[179] Applies to: npm:gray-matter@4.0.3 +[181] Applies to: npm:gray-matter@4.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -9138,7 +9191,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[180] Applies to: npm:gtoken@8.0.0 +[182] Applies to: npm:gtoken@8.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -9163,7 +9216,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[181] Applies to: npm:hachure-fill@0.5.2 +[183] Applies to: npm:hachure-fill@0.5.2 ------------------------------------------------------------------------------ MIT License @@ -9188,7 +9241,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[182] Applies to: npm:harmonyos-sans-sc-webfont-splitted@1.1.0 +[184] Applies to: npm:harmonyos-sans-sc-webfont-splitted@1.1.0 ------------------------------------------------------------------------------ This is free and unencumbered software released into the public domain. @@ -9216,7 +9269,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[183] Applies to: npm:has-symbols@1.1.0 +[185] Applies to: npm:has-symbols@1.1.0 ------------------------------------------------------------------------------ MIT License @@ -9241,7 +9294,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[184] Applies to: npm:has-tostringtag@1.0.2 +[186] Applies to: npm:has-tostringtag@1.0.2 ------------------------------------------------------------------------------ MIT License @@ -9266,7 +9319,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[185] Applies to: npm:hasown@2.0.4 +[187] Applies to: npm:hasown@2.0.4 ------------------------------------------------------------------------------ MIT License @@ -9291,7 +9344,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[186] Applies to: npm:hast-util-from-dom@5.0.1 +[188] Applies to: npm:hast-util-from-dom@5.0.1 ------------------------------------------------------------------------------ (ISC License) @@ -9310,11 +9363,11 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[187] Applies to: npm:hast-util-from-html@2.0.3 +[189] Applies to: npm:hast-util-from-html-isomorphic@2.0.0 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2022 Titus Wormer +Copyright (c) 2023 Remco Haszing Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -9336,11 +9389,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[188] Applies to: npm:hast-util-from-html-isomorphic@2.0.0 +[190] Applies to: npm:hast-util-from-html@2.0.3 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2023 Remco Haszing +Copyright (c) 2022 Titus Wormer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -9362,7 +9415,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[189] Applies to: npm:hast-util-to-string@3.0.1, npm:html-url-attributes@3.0.1 +[191] Applies to: npm:hast-util-to-string@3.0.1, npm:html-url-attributes@3.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -9387,7 +9440,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[190] Applies to: npm:hast-util-to-text@4.0.2 +[192] Applies to: npm:hast-util-to-text@4.0.2 ------------------------------------------------------------------------------ (The MIT License) @@ -9413,7 +9466,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[191] Applies to: npm:highlight.js@11.11.1 +[193] Applies to: npm:highlight.js@11.11.1 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -9446,7 +9499,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[192] Applies to: npm:hono@4.12.30 +[194] Applies to: npm:hono@4.12.30 ------------------------------------------------------------------------------ MIT License @@ -9471,7 +9524,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[193] Applies to: npm:html-to-image@1.11.13 +[195] Applies to: npm:html-to-image@1.11.13 ------------------------------------------------------------------------------ MIT License @@ -9496,7 +9549,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[194] Applies to: npm:http-errors@2.0.1 +[196] Applies to: npm:http-errors@2.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -9522,7 +9575,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[195] Applies to: npm:human-signals@1.1.1, npm:human-signals@2.1.0 +[197] Applies to: npm:human-signals@1.1.1, npm:human-signals@2.1.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -9727,7 +9780,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[196] Applies to: npm:i18next@26.3.6 +[198] Applies to: npm:i18next@26.3.6 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -9752,7 +9805,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[197] Applies to: npm:iconv-lite@0.6.3, npm:iconv-lite@0.7.3 +[199] Applies to: npm:iconv-lite@0.6.3, npm:iconv-lite@0.7.3 ------------------------------------------------------------------------------ Copyright (c) 2011 Alexander Shtuchkin @@ -9776,7 +9829,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[198] Applies to: npm:ieee754@1.2.1 +[200] Applies to: npm:ieee754@1.2.1 ------------------------------------------------------------------------------ Copyright 2008 Fair Oaks Labs, Inc. @@ -9791,7 +9844,7 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[199] Applies to: npm:ignore@7.0.6 +[201] Applies to: npm:ignore@7.0.6 ------------------------------------------------------------------------------ Copyright (c) 2013 Kael Zhang , contributors http://kael.me/ @@ -9816,7 +9869,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[200] Applies to: npm:immediate@3.0.6 +[202] Applies to: npm:immediate@3.0.6 ------------------------------------------------------------------------------ Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, Domenic Denicola, Brian Cavalier @@ -9840,7 +9893,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[201] Applies to: npm:import-meta-resolve@4.2.0 +[203] Applies to: npm:import-meta-resolve@4.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -9918,7 +9971,7 @@ IN THE SOFTWARE. """ ------------------------------------------------------------------------------ -[202] Applies to: npm:inherits@2.0.4 +[204] Applies to: npm:inherits@2.0.4 ------------------------------------------------------------------------------ The ISC License @@ -9937,7 +9990,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[203] Applies to: npm:inline-style-parser@0.2.7 +[205] Applies to: npm:inline-style-parser@0.2.7 ------------------------------------------------------------------------------ (The MIT License) @@ -9950,7 +10003,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[204] Applies to: npm:internmap@1.0.1, npm:internmap@2.0.3 +[206] Applies to: npm:internmap@1.0.1, npm:internmap@2.0.3 ------------------------------------------------------------------------------ Copyright 2021 Mike Bostock @@ -9967,7 +10020,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[205] Applies to: npm:ip-address@10.2.0 +[207] Applies to: npm:ip-address@10.2.0 ------------------------------------------------------------------------------ Copyright (C) 2011 by Beau Gunderson @@ -9990,7 +10043,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[206] Applies to: npm:ipaddr.js@1.9.1, npm:ipaddr.js@2.4.0 +[208] Applies to: npm:ipaddr.js@1.9.1, npm:ipaddr.js@2.4.0 ------------------------------------------------------------------------------ Copyright (C) 2011-2017 whitequark @@ -10013,7 +10066,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[207] Applies to: npm:is-buffer@1.1.6, npm:safe-buffer@5.1.2, npm:safe-buffer@5.2.1 +[209] Applies to: npm:is-buffer@1.1.6, npm:safe-buffer@5.1.2, npm:safe-buffer@5.2.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10038,7 +10091,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[208] Applies to: npm:is-extendable@0.1.1 +[210] Applies to: npm:is-extendable@0.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10063,7 +10116,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[209] Applies to: npm:is-extglob@2.1.1 +[211] Applies to: npm:is-extglob@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10088,7 +10141,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[210] Applies to: npm:is-glob@4.0.3, npm:kind-of@6.0.3 +[212] Applies to: npm:is-glob@4.0.3, npm:kind-of@6.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10113,7 +10166,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[211] Applies to: npm:is-promise@2.2.2, npm:is-promise@4.0.0 +[213] Applies to: npm:is-promise@2.2.2, npm:is-promise@4.0.0 ------------------------------------------------------------------------------ Copyright (c) 2014 Forbes Lindesay @@ -10136,7 +10189,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[212] Applies to: npm:jackspeak@3.4.3 +[214] Applies to: npm:jackspeak@3.4.3 ------------------------------------------------------------------------------ # Blue Oak Model License @@ -10195,7 +10248,7 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim._** ------------------------------------------------------------------------------ -[213] Applies to: npm:jose@6.2.3 +[215] Applies to: npm:jose@6.2.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10220,7 +10273,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[214] Applies to: npm:js-base64@3.9.1 +[216] Applies to: npm:js-base64@3.9.1 ------------------------------------------------------------------------------ Copyright (c) 2014, Dan Kogai All rights reserved. @@ -10251,7 +10304,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[215] Applies to: npm:js-yaml@3.15.0, npm:js-yaml@4.3.0 +[217] Applies to: npm:js-yaml@3.15.0, npm:js-yaml@4.3.0 ------------------------------------------------------------------------------ (The MIT License) @@ -10276,7 +10329,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[216] Applies to: npm:json-bigint@1.0.0 +[218] Applies to: npm:json-bigint@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -10300,7 +10353,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[217] Applies to: npm:json-schema-to-ts@3.1.1, npm:ts-algebra@2.0.0 +[219] Applies to: npm:json-schema-to-ts@3.1.1, npm:ts-algebra@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -10325,7 +10378,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[218] Applies to: npm:json-schema-typed@7.0.3 +[220] Applies to: npm:json-schema-typed@7.0.3 ------------------------------------------------------------------------------ BSD-2-Clause License @@ -10355,7 +10408,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[219] Applies to: npm:json-schema-typed@8.0.2 +[221] Applies to: npm:json-schema-typed@8.0.2 ------------------------------------------------------------------------------ BSD 2-Clause License @@ -10416,7 +10469,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[220] Applies to: npm:jsonfile@4.0.0, npm:jsonfile@6.2.1 +[222] Applies to: npm:jsonfile@4.0.0, npm:jsonfile@6.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -10435,7 +10488,7 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[221] Applies to: npm:jszip@3.10.1 +[223] Applies to: npm:jszip@3.10.1 ------------------------------------------------------------------------------ JSZip is dual licensed. At your choice you may use it under the MIT license *or* the GPLv3 license. @@ -11090,7 +11143,7 @@ copy of the Program in return for a fee. END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[222] Applies to: npm:jwa@2.0.1, npm:jws@4.0.1 +[224] Applies to: npm:jwa@2.0.1, npm:jws@4.0.1 ------------------------------------------------------------------------------ Copyright (c) 2013 Brian J. Brennan @@ -11111,7 +11164,7 @@ FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TOR ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[223] Applies to: npm:katex@0.16.47 +[225] Applies to: npm:katex@0.16.47 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11136,7 +11189,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[224] Applies to: npm:khroma@2.1.0 +[226] Applies to: npm:khroma@2.1.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11161,7 +11214,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[225] Applies to: npm:layout-base@1.0.2, npm:layout-base@2.0.1 +[227] Applies to: npm:layout-base@1.0.2, npm:layout-base@2.0.1 ------------------------------------------------------------------------------ MIT License @@ -11186,7 +11239,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[226] Applies to: npm:lie@3.3.0 +[228] Applies to: npm:lie@3.3.0 ------------------------------------------------------------------------------ #Copyright (c) 2014-2018 Calvin Metcalf, Jordan Harband @@ -11197,7 +11250,7 @@ The above copyright notice and this permission notice shall be included in all c **THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** ------------------------------------------------------------------------------ -[227] Applies to: npm:lodash@4.18.1, npm:lodash-es@4.18.1, npm:lodash.merge@4.6.2 +[229] Applies to: npm:lodash-es@4.18.1, npm:lodash.merge@4.6.2, npm:lodash@4.18.1 ------------------------------------------------------------------------------ Copyright OpenJS Foundation and other contributors @@ -11248,7 +11301,7 @@ licenses; we recommend you read them, as their terms may differ from the terms above. ------------------------------------------------------------------------------ -[228] Applies to: npm:lodash.identity@3.0.0 +[230] Applies to: npm:lodash.identity@3.0.0 ------------------------------------------------------------------------------ Copyright 2012-2015 The Dojo Foundation Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas, @@ -11274,7 +11327,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[229] Applies to: npm:lodash.pickby@4.6.0, npm:lodash.snakecase@4.1.1 +[231] Applies to: npm:lodash.pickby@4.6.0, npm:lodash.snakecase@4.1.1 ------------------------------------------------------------------------------ Copyright jQuery Foundation and other contributors @@ -11325,7 +11378,7 @@ licenses; we recommend you read them, as their terms may differ from the terms above. ------------------------------------------------------------------------------ -[230] Applies to: npm:longest-streak@3.1.0, npm:stringify-entities@4.0.4, npm:trim-lines@3.0.1 +[232] Applies to: npm:longest-streak@3.1.0, npm:stringify-entities@4.0.4, npm:trim-lines@3.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -11351,7 +11404,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[231] Applies to: npm:loudness@0.4.2 +[233] Applies to: npm:loudness@0.4.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11375,7 +11428,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[232] Applies to: npm:lru-cache@10.4.3 +[234] Applies to: npm:lru-cache@10.4.3 ------------------------------------------------------------------------------ The ISC License @@ -11394,7 +11447,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[233] Applies to: npm:lucide-react@0.468.0 +[235] Applies to: npm:lucide-react@0.468.0 ------------------------------------------------------------------------------ ISC License @@ -11413,7 +11466,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[234] Applies to: npm:magic-bytes.js@1.13.0 +[236] Applies to: npm:magic-bytes.js@1.13.0 ------------------------------------------------------------------------------ MIT License @@ -11438,7 +11491,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[235] Applies to: npm:marked@16.4.2 +[237] Applies to: npm:marked@16.4.2 ------------------------------------------------------------------------------ # License information @@ -11486,7 +11539,7 @@ Redistribution and use in source and binary forms, with or without modification, This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. ------------------------------------------------------------------------------ -[236] Applies to: npm:md5@2.3.0 +[238] Applies to: npm:md5@2.3.0 ------------------------------------------------------------------------------ Copyright © 2011-2012, Paul Vorbach. Copyright © 2009, Jeff Mott. @@ -11517,7 +11570,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[237] Applies to: npm:mdast-util-phrasing@4.1.0 +[239] Applies to: npm:mdast-util-phrasing@4.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -11544,7 +11597,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[238] Applies to: npm:mdast-util-to-markdown-cjk-friendly@1.0.0, npm:remark-cjk-friendly@2.3.1 +[240] Applies to: npm:mdast-util-to-markdown-cjk-friendly@1.0.0, npm:remark-cjk-friendly@2.3.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino @@ -11576,7 +11629,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[239] Applies to: npm:merge-descriptors@2.0.0 +[241] Applies to: npm:merge-descriptors@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -11591,7 +11644,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[240] Applies to: npm:merge-stream@2.0.0 +[242] Applies to: npm:merge-stream@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11616,7 +11669,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[241] Applies to: npm:mermaid@11.16.0 +[243] Applies to: npm:mermaid@11.16.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11641,13 +11694,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[242] Applies to: npm:micromark-extension-cjk-friendly@2.0.1 +[244] Applies to: npm:micromark-extension-cjk-friendly-util@3.0.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino MIT LICENSE -Based on micromark and micromark-core-commonmark +Based on micromark's sub-packages (micromark-util-character, micromark-util-symbol, and micromark-util-classify-character) (The MIT License) @@ -11673,13 +11726,13 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[243] Applies to: npm:micromark-extension-cjk-friendly-util@3.0.1 +[245] Applies to: npm:micromark-extension-cjk-friendly@2.0.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino MIT LICENSE -Based on micromark's sub-packages (micromark-util-character, micromark-util-symbol, and micromark-util-classify-character) +Based on micromark and micromark-core-commonmark (The MIT License) @@ -11705,7 +11758,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[244] Applies to: npm:micromark-extension-gfm-footnote@2.1.0 +[246] Applies to: npm:micromark-extension-gfm-footnote@2.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -11731,7 +11784,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[245] Applies to: npm:mime-db@1.52.0, npm:mime-db@1.54.0 +[247] Applies to: npm:mime-db@1.52.0, npm:mime-db@1.54.0 ------------------------------------------------------------------------------ (The MIT License) @@ -11758,7 +11811,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[246] Applies to: npm:minimatch@9.0.9, npm:rimraf@5.0.10 +[248] Applies to: npm:minimatch@9.0.9, npm:rimraf@5.0.10 ------------------------------------------------------------------------------ The ISC License @@ -11777,7 +11830,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[247] Applies to: npm:minipass@7.1.3, npm:path-scurry@1.11.1 +[249] Applies to: npm:minipass@7.1.3, npm:path-scurry@1.11.1 ------------------------------------------------------------------------------ # Blue Oak Model License @@ -11836,11 +11889,11 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** ------------------------------------------------------------------------------ -[248] Applies to: npm:mkdirp@0.5.6 +[250] Applies to: npm:mkdirp-classic@0.5.3 ------------------------------------------------------------------------------ -Copyright 2010 James Halliday (mail@substack.net) +The MIT License (MIT) -This project is free software released under the MIT/X11 license: +Copyright (c) 2020 James Halliday (mail@substack.net) and Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11861,11 +11914,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[249] Applies to: npm:mkdirp-classic@0.5.3 +[251] Applies to: npm:mkdirp@0.5.6 ------------------------------------------------------------------------------ -The MIT License (MIT) +Copyright 2010 James Halliday (mail@substack.net) -Copyright (c) 2020 James Halliday (mail@substack.net) and Mathias Buus +This project is free software released under the MIT/X11 license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -11886,7 +11939,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[250] Applies to: npm:ms@2.0.0 +[252] Applies to: npm:ms@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11911,7 +11964,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[251] Applies to: npm:ms@2.1.3 +[253] Applies to: npm:ms@2.1.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11936,7 +11989,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[252] Applies to: npm:nan@2.28.0 +[254] Applies to: npm:nan@2.28.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11949,7 +12002,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[253] Applies to: npm:napi-build-utils@2.0.0 +[255] Applies to: npm:napi-build-utils@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -11974,7 +12027,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[254] Applies to: npm:negotiator@1.0.0 +[256] Applies to: npm:negotiator@1.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -12002,7 +12055,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[255] Applies to: npm:node-abi@3.94.0 +[257] Applies to: npm:node-abi@3.94.0 ------------------------------------------------------------------------------ MIT License @@ -12027,7 +12080,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[256] Applies to: npm:node-addon-api@7.1.1 +[258] Applies to: npm:node-addon-api@7.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -12040,7 +12093,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[257] Applies to: npm:node-domexception@1.0.0 +[259] Applies to: npm:node-domexception@1.0.0 ------------------------------------------------------------------------------ MIT License @@ -12065,7 +12118,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[258] Applies to: npm:node-fetch@3.3.2 +[260] Applies to: npm:node-fetch@3.3.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -12090,7 +12143,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[259] Applies to: npm:node-machine-id@1.1.12 +[261] Applies to: npm:node-machine-id@1.1.12 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -12115,7 +12168,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[260] Applies to: npm:node-pty@1.1.0 +[262] Applies to: npm:node-pty@1.1.0 ------------------------------------------------------------------------------ Copyright (c) 2012-2015, Christopher Jeffrey (https://github.com/chjj/) @@ -12188,7 +12241,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[261] Applies to: npm:object-inspect@1.13.4 +[263] Applies to: npm:object-inspect@1.13.4 ------------------------------------------------------------------------------ MIT License @@ -12213,7 +12266,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[262] Applies to: npm:on-finished@2.4.1 +[264] Applies to: npm:on-finished@2.4.1 ------------------------------------------------------------------------------ (The MIT License) @@ -12240,7 +12293,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[263] Applies to: npm:orderedmap@2.1.1, npm:w3c-keyname@2.2.8 +[265] Applies to: npm:orderedmap@2.1.1, npm:w3c-keyname@2.2.8 ------------------------------------------------------------------------------ Copyright (C) 2016 by Marijn Haverbeke and others @@ -12263,7 +12316,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[264] Applies to: npm:package-json-from-dist@1.0.1 +[266] Applies to: npm:package-json-from-dist@1.0.1 ------------------------------------------------------------------------------ All packages under `src/` are licensed according to the terms in their respective `LICENSE` or `LICENSE.md` files. @@ -12330,7 +12383,7 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** ------------------------------------------------------------------------------ -[265] Applies to: npm:package-manager-detector@1.7.0 +[267] Applies to: npm:package-manager-detector@1.7.0 ------------------------------------------------------------------------------ MIT License @@ -12355,7 +12408,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[266] Applies to: npm:pako@1.0.11 +[268] Applies to: npm:pako@1.0.11 ------------------------------------------------------------------------------ (The MIT License) @@ -12380,7 +12433,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[267] Applies to: npm:parse-entities@4.0.2, npm:property-information@7.2.0 +[269] Applies to: npm:parse-entities@4.0.2, npm:property-information@7.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -12406,7 +12459,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[268] Applies to: npm:parse5@7.3.0 +[270] Applies to: npm:parse5@7.3.0 ------------------------------------------------------------------------------ Copyright (c) 2013-2019 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin) @@ -12429,7 +12482,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[269] Applies to: npm:parseurl@1.3.3 +[271] Applies to: npm:parseurl@1.3.3 ------------------------------------------------------------------------------ (The MIT License) @@ -12456,7 +12509,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[270] Applies to: npm:path-data-parser@0.1.0, npm:points-on-curve@0.2.0 +[272] Applies to: npm:path-data-parser@0.1.0, npm:points-on-curve@0.2.0 ------------------------------------------------------------------------------ MIT License @@ -12481,7 +12534,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[271] Applies to: npm:path-to-regexp@8.4.2 +[273] Applies to: npm:path-to-regexp@8.4.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -12506,7 +12559,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[272] Applies to: npm:pdfjs-dist@5.7.284 +[274] Applies to: npm:pdfjs-dist@5.7.284 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -12686,7 +12739,7 @@ Apache License END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[273] Applies to: npm:picomatch@4.0.5 +[275] Applies to: npm:picomatch@4.0.5 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -12711,7 +12764,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[274] Applies to: npm:pkce-challenge@5.0.1 +[276] Applies to: npm:pkce-challenge@5.0.1 ------------------------------------------------------------------------------ MIT License @@ -12736,7 +12789,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[275] Applies to: npm:playwright-core@1.60.0 +[277] Applies to: npm:playwright-core@1.60.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -12942,7 +12995,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[276] Applies to: npm:playwright-core@1.60.0 (NOTICE) +[278] Applies to: npm:playwright-core@1.60.0 (NOTICE) ------------------------------------------------------------------------------ NOTICE for npm:playwright-core@1.60.0: @@ -12953,7 +13006,7 @@ This software contains code derived from the Puppeteer project (https://github.c available under the Apache 2.0 license (https://github.com/puppeteer/puppeteer/blob/master/LICENSE). ------------------------------------------------------------------------------ -[277] Applies to: npm:pngjs@5.0.0 +[279] Applies to: npm:pngjs@5.0.0 ------------------------------------------------------------------------------ pngjs2 original work Copyright (c) 2015 Luke Page & Original Contributors pngjs derived work Copyright (c) 2012 Kuba Niegowski @@ -12977,7 +13030,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[278] Applies to: npm:points-on-path@0.2.1 +[280] Applies to: npm:points-on-path@0.2.1 ------------------------------------------------------------------------------ MIT License @@ -13002,7 +13055,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[279] Applies to: npm:prebuild-install@7.1.3 +[281] Applies to: npm:prebuild-install@7.1.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13027,7 +13080,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[280] Applies to: npm:process-nextick-args@2.0.1 +[282] Applies to: npm:process-nextick-args@2.0.1 ------------------------------------------------------------------------------ # Copyright (c) 2015 Calvin Metcalf @@ -13050,7 +13103,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** ------------------------------------------------------------------------------ -[281] Applies to: npm:promise-worker-transferable@1.0.4 +[283] Applies to: npm:promise-worker-transferable@1.0.4 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -13255,7 +13308,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[282] Applies to: npm:prosemirror-changeset@2.4.1 +[284] Applies to: npm:prosemirror-changeset@2.4.1 ------------------------------------------------------------------------------ Copyright (C) 2017 by Marijn Haverbeke and others @@ -13278,7 +13331,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[283] Applies to: npm:prosemirror-commands@1.7.1, npm:prosemirror-dropcursor@1.8.3, npm:prosemirror-gapcursor@1.4.1, npm:prosemirror-history@1.5.0, npm:prosemirror-inputrules@1.5.1, npm:prosemirror-keymap@1.2.3, npm:prosemirror-model@1.25.11, npm:prosemirror-schema-list@1.5.1, npm:prosemirror-state@1.4.4, npm:prosemirror-transform@1.12.0, npm:prosemirror-view@1.42.1 +[285] Applies to: npm:prosemirror-commands@1.7.1, npm:prosemirror-dropcursor@1.8.3, npm:prosemirror-gapcursor@1.4.1, npm:prosemirror-history@1.5.0, npm:prosemirror-inputrules@1.5.1, npm:prosemirror-keymap@1.2.3, npm:prosemirror-model@1.25.11, npm:prosemirror-schema-list@1.5.1, npm:prosemirror-state@1.4.4, npm:prosemirror-transform@1.12.0, npm:prosemirror-view@1.42.1 ------------------------------------------------------------------------------ Copyright (C) 2015-2017 by Marijn Haverbeke and others @@ -13301,7 +13354,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[284] Applies to: npm:prosemirror-tables@1.8.5 +[286] Applies to: npm:prosemirror-tables@1.8.5 ------------------------------------------------------------------------------ Copyright (C) 2015-2016 by Marijn Haverbeke and others @@ -13324,7 +13377,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[285] Applies to: npm:protobufjs@7.6.5 +[287] Applies to: npm:protobufjs@7.6.5 ------------------------------------------------------------------------------ This license applies to all parts of protobuf.js except those files either explicitly including or referencing a different license or @@ -13367,7 +13420,7 @@ standalone and requires a support library to be linked with it. This support library is itself covered by the above license. ------------------------------------------------------------------------------ -[286] Applies to: npm:proxy-from-env@2.1.0 +[288] Applies to: npm:proxy-from-env@2.1.0 ------------------------------------------------------------------------------ The MIT License @@ -13391,7 +13444,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[287] Applies to: npm:qrcode@1.5.4 +[289] Applies to: npm:qrcode@1.5.4 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13404,7 +13457,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[288] Applies to: npm:qs@6.15.3 +[290] Applies to: npm:qs@6.15.3 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -13437,7 +13490,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[289] Applies to: npm:range-parser@1.3.0 +[291] Applies to: npm:range-parser@1.3.0 ------------------------------------------------------------------------------ (The MIT License) @@ -13464,7 +13517,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[290] Applies to: npm:raw-body@3.0.2 +[292] Applies to: npm:raw-body@3.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13490,7 +13543,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[291] Applies to: npm:rc@1.2.8 +[293] Applies to: npm:rc@1.2.8 ------------------------------------------------------------------------------ Apache License, Version 2.0 @@ -13561,7 +13614,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[292] Applies to: npm:react@19.2.3, npm:react-dom@19.2.3, npm:scheduler@0.27.0, npm:use-sync-external-store@1.6.0 +[294] Applies to: npm:react-dom@19.2.3, npm:react@19.2.3, npm:scheduler@0.27.0, npm:use-sync-external-store@1.6.0 ------------------------------------------------------------------------------ MIT License @@ -13586,7 +13639,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[293] Applies to: npm:react-i18next@17.0.10 +[295] Applies to: npm:react-i18next@17.0.10 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13611,7 +13664,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[294] Applies to: npm:react-markdown@10.1.0 +[296] Applies to: npm:react-markdown@10.1.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13636,7 +13689,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[295] Applies to: npm:react-router@7.18.1, npm:react-router-dom@7.18.1 +[297] Applies to: npm:react-router-dom@7.18.1, npm:react-router@7.18.1 ------------------------------------------------------------------------------ MIT License @@ -13663,7 +13716,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[296] Applies to: npm:readable-stream@2.3.8, npm:readable-stream@3.6.2, npm:string_decoder@1.1.1, npm:string_decoder@1.3.0 +[298] Applies to: npm:readable-stream@2.3.8, npm:readable-stream@3.6.2, npm:string_decoder@1.1.1, npm:string_decoder@1.3.0 ------------------------------------------------------------------------------ Node.js is licensed for use as follows: @@ -13714,7 +13767,7 @@ IN THE SOFTWARE. """ ------------------------------------------------------------------------------ -[297] Applies to: npm:remark-parse@11.0.0, npm:remark-stringify@11.0.0 +[299] Applies to: npm:remark-parse@11.0.0, npm:remark-stringify@11.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -13739,7 +13792,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[298] Applies to: npm:require-directory@2.1.1 +[300] Applies to: npm:require-directory@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13765,7 +13818,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[299] Applies to: npm:require-from-string@2.0.2 +[301] Applies to: npm:require-from-string@2.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13790,7 +13843,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[300] Applies to: npm:require-main-filename@2.0.0, npm:set-blocking@2.0.0, npm:yargs-parser@18.1.3 +[302] Applies to: npm:require-main-filename@2.0.0, npm:set-blocking@2.0.0, npm:yargs-parser@18.1.3 ------------------------------------------------------------------------------ Copyright (c) 2016, Contributors @@ -13808,7 +13861,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[301] Applies to: npm:robust-predicates@3.0.3, npm:tweetnacl@0.14.5 +[303] Applies to: npm:robust-predicates@3.0.3, npm:tweetnacl@0.14.5 ------------------------------------------------------------------------------ This is free and unencumbered software released into the public domain. @@ -13836,7 +13889,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[302] Applies to: npm:rope-sequence@1.3.4 +[304] Applies to: npm:rope-sequence@1.3.4 ------------------------------------------------------------------------------ Copyright (C) 2016 by Marijn Haverbeke @@ -13859,7 +13912,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[303] Applies to: npm:roughjs@4.6.6 +[305] Applies to: npm:roughjs@4.6.6 ------------------------------------------------------------------------------ MIT License @@ -13884,7 +13937,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[304] Applies to: npm:router@2.2.0 +[306] Applies to: npm:router@2.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -13911,7 +13964,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[305] Applies to: npm:rw@1.3.3 +[307] Applies to: npm:rw@1.3.3 ------------------------------------------------------------------------------ Copyright (c) 2014-2016, Michael Bostock All rights reserved. @@ -13941,7 +13994,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[306] Applies to: npm:safer-buffer@2.1.2 +[308] Applies to: npm:safer-buffer@2.1.2 ------------------------------------------------------------------------------ MIT License @@ -13966,7 +14019,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[307] Applies to: npm:section-matter@1.0.0 +[309] Applies to: npm:section-matter@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -13991,7 +14044,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[308] Applies to: npm:send@1.2.1 +[310] Applies to: npm:send@1.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -14018,7 +14071,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[309] Applies to: npm:serve-static@2.2.1 +[311] Applies to: npm:serve-static@2.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -14047,7 +14100,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[310] Applies to: npm:set-cookie-parser@2.7.2 +[312] Applies to: npm:set-cookie-parser@2.7.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14072,7 +14125,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[311] Applies to: npm:setimmediate@1.0.5 +[313] Applies to: npm:setimmediate@1.0.5 ------------------------------------------------------------------------------ Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola @@ -14096,7 +14149,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[312] Applies to: npm:setprototypeof@1.2.0 +[314] Applies to: npm:setprototypeof@1.2.0 ------------------------------------------------------------------------------ Copyright (c) 2015, Wes Todd @@ -14113,7 +14166,7 @@ OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[313] Applies to: npm:shebang-command@2.0.0 +[315] Applies to: npm:shebang-command@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -14126,7 +14179,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[314] Applies to: npm:side-channel@1.1.1, npm:side-channel-weakmap@1.0.2 +[316] Applies to: npm:side-channel-weakmap@1.0.2, npm:side-channel@1.1.1 ------------------------------------------------------------------------------ MIT License @@ -14151,7 +14204,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[315] Applies to: npm:signal-exit@3.0.7 +[317] Applies to: npm:signal-exit@3.0.7 ------------------------------------------------------------------------------ The ISC License @@ -14171,7 +14224,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[316] Applies to: npm:signal-exit@4.1.0 +[318] Applies to: npm:signal-exit@4.1.0 ------------------------------------------------------------------------------ The ISC License @@ -14191,7 +14244,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[317] Applies to: npm:silk-wasm@3.7.1 +[319] Applies to: npm:silk-wasm@3.7.1 ------------------------------------------------------------------------------ MIT License @@ -14216,7 +14269,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[318] Applies to: npm:simple-concat@1.0.1, npm:simple-get@4.0.1 +[320] Applies to: npm:simple-concat@1.0.1, npm:simple-get@4.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14240,7 +14293,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[319] Applies to: npm:smol-toml@1.7.0 +[321] Applies to: npm:smol-toml@1.7.0 ------------------------------------------------------------------------------ Copyright (c) Squirrel Chat et al., All rights reserved. @@ -14268,7 +14321,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[320] Applies to: npm:sortablejs@1.15.7 +[322] Applies to: npm:sortablejs@1.15.7 ------------------------------------------------------------------------------ MIT License @@ -14293,7 +14346,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[321] Applies to: npm:sprintf-js@1.0.3 +[323] Applies to: npm:sprintf-js@1.0.3 ------------------------------------------------------------------------------ Copyright (c) 2007-2014, Alexandru Marasteanu All rights reserved. @@ -14321,7 +14374,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[322] Applies to: npm:ssh-config@5.2.0 +[324] Applies to: npm:ssh-config@5.2.0 ------------------------------------------------------------------------------ MIT License @@ -14346,7 +14399,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[323] Applies to: npm:statuses@2.0.2 +[325] Applies to: npm:statuses@2.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14372,7 +14425,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[324] Applies to: npm:strip-bom-string@1.0.0 +[326] Applies to: npm:strip-bom-string@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14397,7 +14450,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[325] Applies to: npm:style-mod@4.1.3 +[327] Applies to: npm:style-mod@4.1.3 ------------------------------------------------------------------------------ Copyright (C) 2018 by Marijn Haverbeke and others @@ -14420,7 +14473,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[326] Applies to: npm:style-to-js@1.1.21 +[328] Applies to: npm:style-to-js@1.1.21 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14446,7 +14499,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[327] Applies to: npm:style-to-object@1.0.14 +[329] Applies to: npm:style-to-object@1.0.14 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14472,7 +14525,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[328] Applies to: npm:stylis@4.4.0 +[330] Applies to: npm:stylis@4.4.0 ------------------------------------------------------------------------------ MIT License @@ -14497,7 +14550,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[329] Applies to: npm:tailwind-merge@2.6.1 +[331] Applies to: npm:tailwind-merge@2.6.1 ------------------------------------------------------------------------------ MIT License @@ -14522,7 +14575,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[330] Applies to: npm:tinyexec@1.2.4 +[332] Applies to: npm:tinyexec@1.2.4 ------------------------------------------------------------------------------ MIT License @@ -14547,7 +14600,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[331] Applies to: npm:toidentifier@1.0.1 +[333] Applies to: npm:toidentifier@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -14572,7 +14625,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[332] Applies to: npm:trough@2.2.0 +[334] Applies to: npm:trough@2.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -14597,7 +14650,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[333] Applies to: npm:ts-dedent@2.3.0 +[335] Applies to: npm:ts-dedent@2.3.0 ------------------------------------------------------------------------------ MIT License @@ -14622,7 +14675,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[334] Applies to: npm:ts-mixer@6.0.4 +[336] Applies to: npm:ts-mixer@6.0.4 ------------------------------------------------------------------------------ MIT License @@ -14647,7 +14700,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[335] Applies to: npm:tslib@2.8.1 +[337] Applies to: npm:tslib@2.8.1 ------------------------------------------------------------------------------ Copyright (c) Microsoft Corporation. @@ -14663,7 +14716,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[336] Applies to: npm:tslog@4.11.0 +[338] Applies to: npm:tslog@4.11.0 ------------------------------------------------------------------------------ MIT License @@ -14688,7 +14741,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[337] Applies to: npm:tunnel-agent@0.6.0 +[339] Applies to: npm:tunnel-agent@0.6.0 ------------------------------------------------------------------------------ Apache License @@ -14747,7 +14800,7 @@ If the Work includes a "NOTICE" text file as part of its distribution, then any END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[338] Applies to: npm:type-fest@0.20.2 +[340] Applies to: npm:type-fest@0.20.2 ------------------------------------------------------------------------------ MIT License @@ -14760,7 +14813,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[339] Applies to: npm:typebox@1.1.39 +[341] Applies to: npm:typebox@1.1.39 ------------------------------------------------------------------------------ TypeBox @@ -14787,7 +14840,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[340] Applies to: npm:undici@6.27.0, npm:undici@8.7.0, npm:undici-types@7.24.6 +[342] Applies to: npm:undici-types@7.24.6, npm:undici@6.27.0, npm:undici@8.7.0 ------------------------------------------------------------------------------ MIT License @@ -14812,7 +14865,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[341] Applies to: npm:unified@11.0.5, npm:vfile@6.0.3 +[343] Applies to: npm:unified@11.0.5, npm:vfile@6.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -14837,7 +14890,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[342] Applies to: npm:unist-util-is@6.0.1 +[344] Applies to: npm:unist-util-is@6.0.1 ------------------------------------------------------------------------------ (The MIT license) @@ -14863,7 +14916,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[343] Applies to: npm:universalify@2.0.1 +[345] Applies to: npm:universalify@2.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -14887,7 +14940,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[344] Applies to: npm:unpipe@1.0.0 +[346] Applies to: npm:unpipe@1.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -14913,7 +14966,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[345] Applies to: npm:uri-js@4.4.1 +[347] Applies to: npm:uri-js@4.4.1 ------------------------------------------------------------------------------ Copyright 2011 Gary Court. All rights reserved. @@ -14928,7 +14981,7 @@ THIS SOFTWARE IS PROVIDED BY GARY COURT "AS IS" AND ANY EXPRESS OR IMPLIED WARRA The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Gary Court. ------------------------------------------------------------------------------ -[346] Applies to: npm:url-template@2.0.8 +[348] Applies to: npm:url-template@2.0.8 ------------------------------------------------------------------------------ Copyright (c) 2012-2014, Bram Stein All rights reserved. @@ -14957,7 +15010,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[347] Applies to: npm:util-deprecate@1.0.2 +[349] Applies to: npm:util-deprecate@1.0.2 ------------------------------------------------------------------------------ (The MIT License) @@ -14985,7 +15038,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[348] Applies to: npm:uuid@14.0.1 +[350] Applies to: npm:uuid@14.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -14998,7 +15051,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[349] Applies to: npm:void-elements@3.1.0 +[351] Applies to: npm:void-elements@3.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -15024,7 +15077,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[350] Applies to: npm:web-streams-polyfill@3.3.3 +[352] Applies to: npm:web-streams-polyfill@3.3.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -15050,7 +15103,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[351] Applies to: npm:which-module@2.0.1 +[353] Applies to: npm:which-module@2.0.1 ------------------------------------------------------------------------------ Copyright (c) 2016, Contributors @@ -15067,7 +15120,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[352] Applies to: npm:workerpool@9.1.1 +[354] Applies to: npm:workerpool@9.1.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -15272,7 +15325,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[353] Applies to: npm:ws@8.21.1 +[355] Applies to: npm:ws@8.21.1 ------------------------------------------------------------------------------ Copyright (c) 2011 Einar Otto Stangvik Copyright (c) 2013 Arnout Kazemier and contributors @@ -15296,7 +15349,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[354] Applies to: npm:y18n@4.0.3 +[356] Applies to: npm:y18n@4.0.3 ------------------------------------------------------------------------------ Copyright (c) 2015, Contributors @@ -15313,7 +15366,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[355] Applies to: npm:yargs@15.4.1 +[357] Applies to: npm:yargs@15.4.1 ------------------------------------------------------------------------------ MIT License @@ -15338,7 +15391,26 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[356] Applies to: npm:zod@4.3.6 +[358] Applies to: npm:zod-to-json-schema@3.25.2 +------------------------------------------------------------------------------ +ISC License + +Copyright (c) 2020, Stefan Terdell + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------------------ +[359] Applies to: npm:zod@4.3.6 ------------------------------------------------------------------------------ MIT License @@ -15362,25 +15434,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[357] Applies to: npm:zod-to-json-schema@3.25.2 ------------------------------------------------------------------------------- -ISC License - -Copyright (c) 2020, Stefan Terdell - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ------------------------------------------------------------------------------ Packages without a standalone license file (license per package.json): ------------------------------------------------------------------------------ @@ -15396,11 +15449,12 @@ Packages without a standalone license file (license per package.json): - npm:@lit-labs/ssr-dom-shim@1.6.0 (BSD-3-Clause) - npm:@napi-rs/canvas-darwin-arm64@0.1.100 (MIT) - npm:@napi-rs/canvas-darwin-x64@0.1.100 (MIT) -- npm:@napi-rs/woff-build@0.2.2 (MIT) - npm:@napi-rs/woff-build-darwin-arm64@0.2.2 (MIT) - npm:@napi-rs/woff-build-darwin-x64@0.2.2 (MIT) +- npm:@napi-rs/woff-build@0.2.2 (MIT) - npm:@sapphire/async-queue@1.5.5 (MIT) - npm:@sapphire/snowflake@3.5.5 (MIT) +- npm:@wecom/aibot-node-sdk@1.0.7 (MIT) - npm:agent-base@6.0.2 (MIT) - npm:data-uri-to-buffer@4.0.1 (MIT) - npm:drizzle-orm@0.45.2 (Apache-2.0) diff --git a/docs/legal/notices/desktop-win.txt b/docs/legal/notices/desktop-win.txt index aa61ecec7e9..e82255d6d53 100644 --- a/docs/legal/notices/desktop-win.txt +++ b/docs/legal/notices/desktop-win.txt @@ -3597,7 +3597,7 @@ necessary. Here is a sample; alter the names: That's all there is to it! ============================================================================== -SECTION 2: npm packages (778 packages) +SECTION 2: npm packages (781 packages) ============================================================================== - @antfu/install-pkg@1.1.0 — MIT — https://github.com/antfu/install-pkg @@ -3678,14 +3678,14 @@ SECTION 2: npm packages (778 packages) - @mermaid-js/parser@1.2.0 — MIT — https://github.com/mermaid-js/mermaid - @modelcontextprotocol/sdk@1.29.0 — MIT — https://github.com/modelcontextprotocol/typescript-sdk - @monogrid/gainmap-js@3.4.0 — MIT — https://github.com/MONOGRID/gainmap-js -- @napi-rs/canvas@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/canvas-win32-x64-msvc@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas -- @napi-rs/woff-build@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build +- @napi-rs/canvas@0.1.100 — MIT — https://github.com/Brooooooklyn/canvas - @napi-rs/woff-build-win32-x64-msvc@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build +- @napi-rs/woff-build@0.2.2 — MIT — https://github.com/Brooooooklyn/woff-build - @noble/hashes@1.8.0 — MIT — https://github.com/paulmillr/noble-hashes - @paralleldrive/cuid2@2.3.1 — MIT — https://github.com/ericelliott/cuid2 -- @parcel/watcher@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @parcel/watcher-win32-x64@2.5.6 — MIT — https://github.com/parcel-bundler/watcher +- @parcel/watcher@2.5.6 — MIT — https://github.com/parcel-bundler/watcher - @pkgjs/parseargs@0.11.0 — MIT — https://github.com/pkgjs/parseargs - @protobufjs/aspromise@1.1.2 — BSD-3-Clause — https://github.com/dcodeIO/protobuf.js - @protobufjs/base64@1.1.2 — BSD-3-Clause — https://github.com/dcodeIO/protobuf.js @@ -3749,7 +3749,6 @@ SECTION 2: npm packages (778 packages) - @tiptap/extension-text@3.28.0 — MIT — https://github.com/ueberdosis/tiptap - @tiptap/pm@3.28.0 — MIT — https://github.com/ueberdosis/tiptap - @tiptap/react@3.28.0 — MIT — https://github.com/ueberdosis/tiptap -- @types/d3@7.4.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-array@3.2.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-axis@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-brush@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped @@ -3771,18 +3770,19 @@ SECTION 2: npm packages (778 packages) - @types/d3-polygon@3.0.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-quadtree@3.0.6 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-random@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/d3-scale@4.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-scale-chromatic@3.1.0 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3-scale@4.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-selection@3.0.11 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-shape@3.1.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/d3-time@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-time-format@4.0.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3-time@3.0.4 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-timer@3.0.2 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-transition@3.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/d3-zoom@3.0.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/d3@7.4.3 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/debug@4.1.13 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped -- @types/estree@1.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/estree-jsx@1.0.5 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped +- @types/estree@1.0.9 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/geojson@7946.0.16 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/hast@3.0.5 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped - @types/katex@0.16.8 — MIT — https://github.com/DefinitelyTyped/DefinitelyTyped @@ -3797,6 +3797,7 @@ SECTION 2: npm packages (778 packages) - @ungap/structured-clone@1.3.3 — ISC — https://github.com/ungap/structured-clone - @upsetjs/venn.js@2.0.0 — MIT — https://github.com/upsetjs/venn.js - @vladfrangu/async_event_emitter@2.4.7 — MIT — https://github.com/vladfrangu/async_event_emitter +- @wecom/aibot-node-sdk@1.0.7 — MIT — https://github.com/WecomTeam/aibot-node-sdk - @xterm/addon-clipboard@0.1.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-clipboard - @xterm/addon-fit@0.10.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-fit - @xterm/addon-web-links@0.11.0 — MIT — https://github.com/xtermjs/xterm.js/tree/master/addons/addon-web-links @@ -3804,10 +3805,10 @@ SECTION 2: npm packages (778 packages) - accepts@2.0.0 — MIT — https://github.com/jshttp/accepts - agent-base@6.0.2 — MIT — https://github.com/TooTallNate/node-agent-base - agent-base@7.1.4 — MIT — https://github.com/TooTallNate/proxy-agents -- ajv@7.2.4 — MIT — https://github.com/ajv-validator/ajv -- ajv@8.20.0 — MIT — https://github.com/ajv-validator/ajv - ajv-formats@1.6.1 — MIT — https://github.com/ajv-validator/ajv-formats - ajv-formats@3.0.1 — MIT — https://github.com/ajv-validator/ajv-formats +- ajv@7.2.4 — MIT — https://github.com/ajv-validator/ajv +- ajv@8.20.0 — MIT — https://github.com/ajv-validator/ajv - ansi-regex@5.0.1 — MIT — https://github.com/chalk/ansi-regex - ansi-regex@6.2.2 — MIT — https://github.com/chalk/ansi-regex - ansi-styles@4.3.0 — MIT — https://github.com/chalk/ansi-styles @@ -3829,8 +3830,8 @@ SECTION 2: npm packages (778 packages) - bl@4.1.0 — MIT — https://github.com/rvagg/bl - body-parser@2.3.0 — MIT — https://github.com/expressjs/body-parser - brace-expansion@2.1.2 — MIT — https://github.com/juliangruber/brace-expansion -- buffer@5.7.1 — MIT — https://github.com/feross/buffer - buffer-equal-constant-time@1.0.1 — BSD-3-Clause — https://github.com/goinstant/buffer-equal-constant-time +- buffer@5.7.1 — MIT — https://github.com/feross/buffer - buildcheck@0.0.7 — MIT — http://github.com/mscdex/buildcheck - byte-size@8.2.1 — MIT — https://github.com/75lb/byte-size - bytes@3.1.2 — MIT — https://github.com/visionmedia/bytes.js @@ -3838,9 +3839,9 @@ SECTION 2: npm packages (778 packages) - call-bound@1.0.4 — MIT — https://github.com/ljharb/call-bound - camelcase@5.3.1 — MIT — https://github.com/sindresorhus/camelcase - ccount@2.0.1 — MIT — https://github.com/wooorm/ccount -- character-entities@2.0.2 — MIT — https://github.com/wooorm/character-entities - character-entities-html4@2.1.0 — MIT — https://github.com/wooorm/character-entities-html4 - character-entities-legacy@3.0.0 — MIT — https://github.com/wooorm/character-entities-legacy +- character-entities@2.0.2 — MIT — https://github.com/wooorm/character-entities - character-reference-invalid@2.0.1 — MIT — https://github.com/wooorm/character-reference-invalid - charenc@0.0.2 — BSD-3-Clause — https://github.com/pvorb/node-charenc - chownr@1.1.4 — ISC — https://github.com/isaacs/chownr @@ -3857,9 +3858,9 @@ SECTION 2: npm packages (778 packages) - content-disposition@1.1.0 — MIT — https://github.com/jshttp/content-disposition - content-type@1.0.5 — MIT — https://github.com/jshttp/content-type - content-type@2.0.0 — MIT — https://github.com/jshttp/content-type +- cookie-signature@1.2.2 — MIT — https://github.com/visionmedia/node-cookie-signature - cookie@0.7.2 — MIT — https://github.com/jshttp/cookie - cookie@1.1.1 — MIT — https://github.com/jshttp/cookie -- cookie-signature@1.2.2 — MIT — https://github.com/visionmedia/node-cookie-signature - core-util-is@1.0.3 — MIT — https://github.com/isaacs/core-util-is - cors@2.8.6 — MIT — https://github.com/expressjs/cors - cose-base@1.0.3 — MIT — https://github.com/iVis-at-Bilkent/cose-base @@ -3868,10 +3869,9 @@ SECTION 2: npm packages (778 packages) - crelt@1.0.7 — MIT — https://code.haverbeke.berlin/marijn/crelt - cross-spawn@7.0.6 — MIT — https://github.com/moxystudio/node-cross-spawn - crypt@0.0.2 — BSD-3-Clause — https://github.com/pvorb/node-crypt -- cytoscape@3.34.0 — MIT — https://github.com/cytoscape/cytoscape.js - cytoscape-cose-bilkent@4.1.0 — MIT — https://github.com/cytoscape/cytoscape.js-cose-bilkent - cytoscape-fcose@2.2.0 — MIT — https://github.com/iVis-at-Bilkent/cytoscape.js-fcose -- d3@7.9.0 — ISC — https://github.com/d3/d3 +- cytoscape@3.34.0 — MIT — https://github.com/cytoscape/cytoscape.js - d3-array@2.12.1 — BSD-3-Clause — https://github.com/d3/d3-array - d3-array@3.2.4 — ISC — https://github.com/d3/d3-array - d3-axis@3.0.0 — ISC — https://github.com/d3/d3-axis @@ -3896,16 +3896,17 @@ SECTION 2: npm packages (778 packages) - d3-quadtree@3.0.1 — ISC — https://github.com/d3/d3-quadtree - d3-random@3.0.1 — ISC — https://github.com/d3/d3-random - d3-sankey@0.12.3 — BSD-3-Clause — https://github.com/d3/d3-sankey -- d3-scale@4.0.2 — ISC — https://github.com/d3/d3-scale - d3-scale-chromatic@3.1.0 — ISC — https://github.com/d3/d3-scale-chromatic +- d3-scale@4.0.2 — ISC — https://github.com/d3/d3-scale - d3-selection@3.0.0 — ISC — https://github.com/d3/d3-selection - d3-shape@1.3.7 — BSD-3-Clause — https://github.com/d3/d3-shape - d3-shape@3.2.0 — ISC — https://github.com/d3/d3-shape -- d3-time@3.1.0 — ISC — https://github.com/d3/d3-time - d3-time-format@4.1.0 — ISC — https://github.com/d3/d3-time-format +- d3-time@3.1.0 — ISC — https://github.com/d3/d3-time - d3-timer@3.0.1 — ISC — https://github.com/d3/d3-timer - d3-transition@3.0.1 — ISC — https://github.com/d3/d3-transition - d3-zoom@3.0.0 — ISC — https://github.com/d3/d3-zoom +- d3@7.9.0 — ISC — https://github.com/d3/d3 - dagre-d3-es@7.0.14 — MIT — https://github.com/tbo47/dagre-es - data-uri-to-buffer@4.0.1 — MIT — https://github.com/TooTallNate/node-data-uri-to-buffer - dayjs@1.11.21 — MIT — https://github.com/iamkun/dayjs @@ -3926,6 +3927,7 @@ SECTION 2: npm packages (778 packages) - devlop@1.1.0 — MIT — https://github.com/wooorm/devlop - diff@8.0.4 — BSD-3-Clause — https://github.com/kpdecker/jsdiff - dijkstrajs@1.0.3 — MIT — https://github.com/tcort/dijkstrajs +- dingtalk-stream@v2.1.5 — MIT — https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs - discord-api-types@0.38.50 — MIT — https://github.com/discordjs/discord-api-types - discord.js@14.27.0 — Apache-2.0 — https://github.com/discordjs/discord.js - dompurify@3.4.12 — (MPL-2.0 OR Apache-2.0) — https://github.com/cure53/DOMPurify @@ -3954,15 +3956,16 @@ SECTION 2: npm packages (778 packages) - esprima@4.0.1 — BSD-2-Clause — https://github.com/jquery/esprima - estree-util-is-identifier-name@3.0.0 — MIT — https://github.com/syntax-tree/estree-util-is-identifier-name - etag@1.8.1 — MIT — https://github.com/jshttp/etag -- eventsource@3.0.7 — MIT — https://git@github.com/EventSource/eventsource +- eventemitter3@5.0.4 — MIT — https://github.com/primus/eventemitter3 - eventsource-parser@3.1.0 — MIT — https://github.com/rexxars/eventsource-parser +- eventsource@3.0.7 — MIT — https://git@github.com/EventSource/eventsource - execa@4.1.0 — MIT — https://github.com/sindresorhus/execa - execa@5.1.1 — MIT — https://github.com/sindresorhus/execa - expand-template@2.0.3 — (MIT OR WTFPL) — https://github.com/ralphtheninja/expand-template -- express@5.2.1 — MIT — https://github.com/expressjs/express - express-rate-limit@8.5.2 — MIT — https://github.com/express-rate-limit/express-rate-limit -- extend@3.0.2 — MIT — https://github.com/justmoon/node-extend +- express@5.2.1 — MIT — https://github.com/expressjs/express - extend-shallow@2.0.1 — MIT — https://github.com/jonschlinkert/extend-shallow +- extend@3.0.2 — MIT — https://github.com/justmoon/node-extend - fast-deep-equal@3.1.3 — MIT — https://github.com/epoberezkin/fast-deep-equal - fast-equals@5.4.1 — MIT — https://github.com/planttheidea/fast-equals - fast-uri@3.1.4 — BSD-3-Clause — https://github.com/fastify/fast-uri @@ -4009,8 +4012,8 @@ SECTION 2: npm packages (778 packages) - has-tostringtag@1.0.2 — MIT — https://github.com/inspect-js/has-tostringtag - hasown@2.0.4 — MIT — https://github.com/inspect-js/hasOwn - hast-util-from-dom@5.0.1 — ISC — https://github.com/syntax-tree/hast-util-from-dom -- hast-util-from-html@2.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-html - hast-util-from-html-isomorphic@2.0.0 — MIT — https://github.com/syntax-tree/hast-util-from-html-isomorphic +- hast-util-from-html@2.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-html - hast-util-from-parse5@8.0.3 — MIT — https://github.com/syntax-tree/hast-util-from-parse5 - hast-util-heading-rank@3.0.0 — MIT — https://github.com/syntax-tree/hast-util-heading-rank - hast-util-is-element@3.0.0 — MIT — https://github.com/syntax-tree/hast-util-is-element @@ -4084,17 +4087,17 @@ SECTION 2: npm packages (778 packages) - layout-base@2.0.1 — MIT — https://github.com/iVis-at-Bilkent/layout-base - lcid@3.1.1 — MIT — https://github.com/sindresorhus/lcid - lie@3.3.0 — MIT — https://github.com/calvinmetcalf/lie -- lit@3.3.3 — BSD-3-Clause — https://github.com/lit/lit - lit-element@4.2.2 — BSD-3-Clause — https://github.com/lit/lit - lit-html@3.3.3 — BSD-3-Clause — https://github.com/lit/lit +- lit@3.3.3 — BSD-3-Clause — https://github.com/lit/lit - locate-path@3.0.0 — MIT — https://github.com/sindresorhus/locate-path - locate-path@5.0.0 — MIT — https://github.com/sindresorhus/locate-path -- lodash@4.18.1 — MIT — https://github.com/lodash/lodash - lodash-es@4.18.1 — MIT — https://github.com/lodash/lodash - lodash.identity@3.0.0 — MIT — https://github.com/lodash/lodash - lodash.merge@4.6.2 — MIT — https://github.com/lodash/lodash - lodash.pickby@4.6.0 — MIT — https://github.com/lodash/lodash - lodash.snakecase@4.1.1 — MIT — https://github.com/lodash/lodash +- lodash@4.18.1 — MIT — https://github.com/lodash/lodash - long@5.3.2 — Apache-2.0 — https://github.com/dcodeIO/long.js - longest-streak@3.1.0 — MIT — https://github.com/wooorm/longest-streak - loudness@0.4.2 — MIT — https://github.com/LinusU/node-loudness @@ -4109,36 +4112,35 @@ SECTION 2: npm packages (778 packages) - md5@2.3.0 — BSD-3-Clause — https://github.com/pvorb/node-md5 - mdast-util-find-and-replace@3.0.2 — MIT — https://github.com/syntax-tree/mdast-util-find-and-replace - mdast-util-from-markdown@2.0.3 — MIT — https://github.com/syntax-tree/mdast-util-from-markdown -- mdast-util-gfm@3.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm - mdast-util-gfm-autolink-literal@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-gfm-autolink-literal - mdast-util-gfm-footnote@2.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-footnote - mdast-util-gfm-strikethrough@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-strikethrough - mdast-util-gfm-table@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-table - mdast-util-gfm-task-list-item@2.0.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm-task-list-item +- mdast-util-gfm@3.1.0 — MIT — https://github.com/syntax-tree/mdast-util-gfm - mdast-util-math@3.0.0 — MIT — https://github.com/syntax-tree/mdast-util-math - mdast-util-mdx-expression@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-mdx-expression - mdast-util-mdx-jsx@3.2.0 — MIT — https://github.com/syntax-tree/mdast-util-mdx-jsx - mdast-util-mdxjs-esm@2.0.1 — MIT — https://github.com/syntax-tree/mdast-util-mdxjs-esm - mdast-util-phrasing@4.1.0 — MIT — https://github.com/syntax-tree/mdast-util-phrasing - mdast-util-to-hast@13.2.1 — MIT — https://github.com/syntax-tree/mdast-util-to-hast -- mdast-util-to-markdown@2.1.2 — MIT — https://github.com/syntax-tree/mdast-util-to-markdown - mdast-util-to-markdown-cjk-friendly@1.0.0 — MIT — https://github.com/tats-u/markdown-cjk-friendly +- mdast-util-to-markdown@2.1.2 — MIT — https://github.com/syntax-tree/mdast-util-to-markdown - mdast-util-to-string@4.0.0 — MIT — https://github.com/syntax-tree/mdast-util-to-string - media-typer@1.1.0 — MIT — https://github.com/jshttp/media-typer - merge-descriptors@2.0.0 — MIT — https://github.com/sindresorhus/merge-descriptors - merge-stream@2.0.0 — MIT — https://github.com/grncdr/merge-stream - mermaid@11.16.0 — MIT — https://github.com/mermaid-js/mermaid -- micromark@4.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark - micromark-core-commonmark@2.0.3 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark -- micromark-extension-cjk-friendly@2.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly - micromark-extension-cjk-friendly-util@3.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly -- micromark-extension-gfm@3.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm +- micromark-extension-cjk-friendly@2.0.1 — MIT — https://github.com/tats-u/markdown-cjk-friendly - micromark-extension-gfm-autolink-literal@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-autolink-literal - micromark-extension-gfm-footnote@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-footnote - micromark-extension-gfm-strikethrough@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-strikethrough - micromark-extension-gfm-table@2.1.1 — MIT — https://github.com/micromark/micromark-extension-gfm-table - micromark-extension-gfm-tagfilter@2.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm-tagfilter - micromark-extension-gfm-task-list-item@2.1.0 — MIT — https://github.com/micromark/micromark-extension-gfm-task-list-item +- micromark-extension-gfm@3.0.0 — MIT — https://github.com/micromark/micromark-extension-gfm - micromark-extension-math@3.1.0 — MIT — https://github.com/micromark/micromark-extension-math - micromark-factory-destination@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-factory-destination - micromark-factory-label@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label @@ -4159,6 +4161,7 @@ SECTION 2: npm packages (778 packages) - micromark-util-subtokenize@2.1.0 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize - micromark-util-symbol@2.0.1 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-symbol - micromark-util-types@2.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark-util-types +- micromark@4.0.2 — MIT — https://github.com/micromark/micromark/tree/main/packages/micromark - mime-db@1.52.0 — MIT — https://github.com/jshttp/mime-db - mime-db@1.54.0 — MIT — https://github.com/jshttp/mime-db - mime-types@2.1.35 — MIT — https://github.com/jshttp/mime-types @@ -4169,8 +4172,8 @@ SECTION 2: npm packages (778 packages) - minimatch@9.0.9 — ISC — https://github.com/isaacs/minimatch - minimist@1.2.8 — MIT — https://github.com/minimistjs/minimist - minipass@7.1.3 — BlueOak-1.0.0 — https://github.com/isaacs/minipass -- mkdirp@0.5.6 — MIT — https://github.com/substack/node-mkdirp - mkdirp-classic@0.5.3 — MIT — https://github.com/mafintosh/mkdirp-classic +- mkdirp@0.5.6 — MIT — https://github.com/substack/node-mkdirp - mri@1.2.0 — MIT — https://github.com/lukeed/mri - ms@2.0.0 — MIT — https://github.com/zeit/ms - ms@2.1.3 — MIT — https://github.com/vercel/ms @@ -4242,15 +4245,15 @@ SECTION 2: npm packages (778 packages) - range-parser@1.3.0 — MIT — https://github.com/jshttp/range-parser - raw-body@3.0.2 — MIT — https://github.com/stream-utils/raw-body - rc@1.2.8 — (BSD-2-Clause OR MIT OR Apache-2.0) — https://github.com/dominictarr/rc -- react@19.2.3 — MIT — https://github.com/facebook/react - react-dom@19.2.3 — MIT — https://github.com/facebook/react - react-i18next@17.0.10 — MIT — https://github.com/i18next/react-i18next - react-markdown@10.1.0 — MIT — https://github.com/remarkjs/react-markdown -- react-remove-scroll@2.7.2 — MIT — https://github.com/theKashey/react-remove-scroll - react-remove-scroll-bar@2.3.8 — MIT — https://github.com/theKashey/react-remove-scroll-bar -- react-router@7.18.1 — MIT — https://github.com/remix-run/react-router +- react-remove-scroll@2.7.2 — MIT — https://github.com/theKashey/react-remove-scroll - react-router-dom@7.18.1 — MIT — https://github.com/remix-run/react-router +- react-router@7.18.1 — MIT — https://github.com/remix-run/react-router - react-style-singleton@2.2.3 — MIT — https://github.com/theKashey/react-style-singleton +- react@19.2.3 — MIT — https://github.com/facebook/react - readable-stream@2.3.8 — MIT — https://github.com/nodejs/readable-stream - readable-stream@3.6.2 — MIT — https://github.com/nodejs/readable-stream - rehype-highlight@7.0.2 — MIT — https://github.com/rehypejs/rehype-highlight @@ -4289,10 +4292,10 @@ SECTION 2: npm packages (778 packages) - shebang-regex@3.0.0 — MIT — https://github.com/sindresorhus/shebang-regex - shell-env@4.0.3 — MIT — https://github.com/sindresorhus/shell-env - shell-path@3.1.0 — MIT — https://github.com/sindresorhus/shell-path -- side-channel@1.1.1 — MIT — https://github.com/ljharb/side-channel - side-channel-list@1.0.1 — MIT — https://github.com/ljharb/side-channel-list - side-channel-map@1.0.1 — MIT — https://github.com/ljharb/side-channel-map - side-channel-weakmap@1.0.2 — MIT — https://github.com/ljharb/side-channel-weakmap +- side-channel@1.1.1 — MIT — https://github.com/ljharb/side-channel - signal-exit@3.0.7 — ISC — https://github.com/tapjs/signal-exit - signal-exit@4.1.0 — ISC — https://github.com/tapjs/signal-exit - silk-wasm@3.7.1 — MIT — https://github.com/idranme/silk-wasm @@ -4336,17 +4339,17 @@ SECTION 2: npm packages (778 packages) - type-fest@0.20.2 — (MIT OR CC0-1.0) — https://github.com/sindresorhus/type-fest - type-is@2.1.0 — MIT — https://github.com/jshttp/type-is - typebox@1.1.39 — MIT — https://github.com/sinclairzx81/typebox +- undici-types@7.24.6 — MIT — https://github.com/nodejs/undici - undici@6.27.0 — MIT — https://github.com/nodejs/undici - undici@8.7.0 — MIT — https://github.com/nodejs/undici -- undici-types@7.24.6 — MIT — https://github.com/nodejs/undici - unified@11.0.5 — MIT — https://github.com/unifiedjs/unified - unist-util-find-after@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-find-after - unist-util-is@6.0.1 — MIT — https://github.com/syntax-tree/unist-util-is - unist-util-position@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-position - unist-util-remove-position@5.0.0 — MIT — https://github.com/syntax-tree/unist-util-remove-position - unist-util-stringify-position@4.0.0 — MIT — https://github.com/syntax-tree/unist-util-stringify-position -- unist-util-visit@5.1.0 — MIT — https://github.com/syntax-tree/unist-util-visit - unist-util-visit-parents@6.0.2 — MIT — https://github.com/syntax-tree/unist-util-visit-parents +- unist-util-visit@5.1.0 — MIT — https://github.com/syntax-tree/unist-util-visit - universalify@2.0.1 — MIT — https://github.com/RyanZim/universalify - unpipe@1.0.0 — MIT — https://github.com/stream-utils/unpipe - uri-js@4.4.1 — BSD-2-Clause — http://github.com/garycourt/uri-js @@ -4357,15 +4360,15 @@ SECTION 2: npm packages (778 packages) - util-deprecate@1.0.2 — MIT — https://github.com/TooTallNate/util-deprecate - uuid@14.0.1 — MIT — https://github.com/uuidjs/uuid - vary@1.1.2 — MIT — https://github.com/jshttp/vary -- vfile@6.0.3 — MIT — https://github.com/vfile/vfile - vfile-location@5.0.3 — MIT — https://github.com/vfile/vfile-location - vfile-message@4.0.3 — MIT — https://github.com/vfile/vfile-message +- vfile@6.0.3 — MIT — https://github.com/vfile/vfile - void-elements@3.1.0 — MIT — https://github.com/pugjs/void-elements - w3c-keyname@2.2.8 — MIT — https://github.com/marijnh/w3c-keyname - web-namespaces@2.0.1 — MIT — https://github.com/wooorm/web-namespaces - web-streams-polyfill@3.3.3 — MIT — https://github.com/MattiasBuelens/web-streams-polyfill -- which@2.0.2 — ISC — https://github.com/isaacs/node-which - which-module@2.0.1 — ISC — https://github.com/nexdrew/which-module +- which@2.0.2 — ISC — https://github.com/isaacs/node-which - workerpool@9.1.1 — Apache-2.0 — https://github.com/josdejong/workerpool - wrap-ansi@6.2.0 — MIT — https://github.com/chalk/wrap-ansi - wrap-ansi@7.0.0 — MIT — https://github.com/chalk/wrap-ansi @@ -4373,10 +4376,10 @@ SECTION 2: npm packages (778 packages) - wrappy@1.0.2 — ISC — https://github.com/npm/wrappy - ws@8.21.1 — MIT — https://github.com/websockets/ws - y18n@4.0.3 — ISC — https://github.com/yargs/y18n -- yargs@15.4.1 — MIT — https://github.com/yargs/yargs - yargs-parser@18.1.3 — ISC — https://github.com/yargs/yargs-parser -- zod@4.3.6 — MIT — https://github.com/colinhacks/zod +- yargs@15.4.1 — MIT — https://github.com/yargs/yargs - zod-to-json-schema@3.25.2 — ISC — https://github.com/StefanTerdell/zod-to-json-schema +- zod@4.3.6 — MIT — https://github.com/colinhacks/zod - zwitch@2.0.4 — MIT — https://github.com/wooorm/zwitch ============================================================================== @@ -4970,7 +4973,7 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[4] Applies to: cargo:anstream@1.0.0, cargo:anstyle@1.0.14, cargo:anstyle-parse@1.0.0, cargo:anstyle-query@1.1.5, cargo:anstyle-wincon@3.0.11, cargo:clap@4.6.1, cargo:clap_builder@4.6.0, cargo:clap_derive@4.6.1, cargo:clap_lex@1.1.0, cargo:colorchoice@1.0.5, cargo:is_terminal_polyfill@1.70.2, cargo:once_cell_polyfill@1.70.2, cargo:serde_spanned@1.1.1, cargo:toml@1.1.2+spec-1.1.0, cargo:toml_datetime@1.1.1+spec-1.1.0, cargo:toml_parser@1.1.2+spec-1.1.0, cargo:toml_writer@1.1.1+spec-1.1.0 +[4] Applies to: cargo:anstream@1.0.0, cargo:anstyle-parse@1.0.0, cargo:anstyle-query@1.1.5, cargo:anstyle-wincon@3.0.11, cargo:anstyle@1.0.14, cargo:clap_builder@4.6.0, cargo:clap_derive@4.6.1, cargo:clap_lex@1.1.0, cargo:clap@4.6.1, cargo:colorchoice@1.0.5, cargo:is_terminal_polyfill@1.70.2, cargo:once_cell_polyfill@1.70.2, cargo:serde_spanned@1.1.1, cargo:toml_datetime@1.1.1+spec-1.1.0, cargo:toml_parser@1.1.2+spec-1.1.0, cargo:toml_writer@1.1.1+spec-1.1.0, cargo:toml@1.1.2+spec-1.1.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -5195,7 +5198,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[5] Applies to: cargo:anyhow@1.0.103, cargo:dtoa@1.0.11, cargo:dyn-clone@1.0.20, cargo:erased-serde@0.4.10, cargo:itoa@1.0.18, cargo:proc-macro2@1.0.106, cargo:quote@1.0.46, cargo:ref-cast@1.0.25, cargo:ref-cast-impl@1.0.25, cargo:rustc-hash@2.1.3, cargo:semver@1.0.28, cargo:serde@1.0.228, cargo:serde_core@1.0.228, cargo:serde_derive@1.0.228, cargo:serde_derive_internals@0.29.1, cargo:serde_json@1.0.150, cargo:serde_repr@0.1.20, cargo:serde-untagged@0.1.9, cargo:syn@2.0.118, cargo:thiserror@1.0.69, cargo:thiserror@2.0.18, cargo:thiserror-impl@1.0.69, cargo:thiserror-impl@2.0.18, cargo:typeid@1.0.3 +[5] Applies to: cargo:anyhow@1.0.103, cargo:dtoa@1.0.11, cargo:dyn-clone@1.0.20, cargo:erased-serde@0.4.10, cargo:itoa@1.0.18, cargo:proc-macro2@1.0.106, cargo:quote@1.0.46, cargo:ref-cast-impl@1.0.25, cargo:ref-cast@1.0.25, cargo:rustc-hash@2.1.3, cargo:semver@1.0.28, cargo:serde_core@1.0.228, cargo:serde_derive_internals@0.29.1, cargo:serde_derive@1.0.228, cargo:serde_json@1.0.150, cargo:serde_repr@0.1.20, cargo:serde-untagged@0.1.9, cargo:serde@1.0.228, cargo:syn@2.0.118, cargo:thiserror-impl@1.0.69, cargo:thiserror-impl@2.0.18, cargo:thiserror@1.0.69, cargo:thiserror@2.0.18, cargo:typeid@1.0.3 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -5857,7 +5860,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[8] Applies to: cargo:bitflags@1.3.2, cargo:bitflags@2.13.0, cargo:glob@0.3.3, cargo:log@0.4.33, cargo:num-traits@0.2.19, cargo:regex@1.13.0, cargo:regex-automata@0.4.15, cargo:regex-syntax@0.8.11 +[8] Applies to: cargo:bitflags@1.3.2, cargo:bitflags@2.13.0, cargo:glob@0.3.3, cargo:log@0.4.33, cargo:num-traits@0.2.19, cargo:regex-automata@0.4.15, cargo:regex-syntax@0.8.11, cargo:regex@1.13.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -9944,7 +9947,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[28] Applies to: cargo:cssparser@0.36.0, cargo:cssparser-macros@0.6.1, cargo:dtoa-short@0.3.5 +[28] Applies to: cargo:cssparser-macros@0.6.1, cargo:cssparser@0.36.0, cargo:dtoa-short@0.3.5 ------------------------------------------------------------------------------ Mozilla Public License Version 2.0 ================================== @@ -10321,7 +10324,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[29] Applies to: cargo:ctor@0.8.0, cargo:ctor-proc-macro@0.0.7, cargo:dtor@0.3.0, cargo:dtor-proc-macro@0.0.6 +[29] Applies to: cargo:ctor-proc-macro@0.0.7, cargo:ctor@0.8.0, cargo:dtor-proc-macro@0.0.6, cargo:dtor@0.3.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -10532,7 +10535,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[30] Applies to: cargo:darling@0.23.0, cargo:darling_core@0.23.0, cargo:darling_macro@0.23.0 +[30] Applies to: cargo:darling_core@0.23.0, cargo:darling_macro@0.23.0, cargo:darling@0.23.0 ------------------------------------------------------------------------------ MIT License @@ -10782,7 +10785,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[32] Applies to: cargo:derive_more@2.1.1, cargo:derive_more-impl@2.1.1 +[32] Applies to: cargo:derive_more-impl@2.1.1, cargo:derive_more@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -11038,7 +11041,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[34] Applies to: cargo:dirs@6.0.0, cargo:dirs-sys@0.5.0 +[34] Applies to: cargo:dirs-sys@0.5.0, cargo:dirs@6.0.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -11649,7 +11652,7 @@ express Statement of Purpose. this CC0 or use of the Work. ------------------------------------------------------------------------------ -[38] Applies to: cargo:either@1.16.0, cargo:serde_with@3.21.0, cargo:serde_with_macros@3.21.0 +[38] Applies to: cargo:either@1.16.0, cargo:serde_with_macros@3.21.0, cargo:serde_with@3.21.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -14697,7 +14700,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[54] Applies to: cargo:icu_collections@2.2.0, cargo:icu_locale_core@2.2.0, cargo:icu_normalizer@2.2.0, cargo:icu_normalizer_data@2.2.0, cargo:icu_properties@2.2.0, cargo:icu_properties_data@2.2.0, cargo:icu_provider@2.2.0, cargo:litemap@0.8.2, cargo:potential_utf@0.1.5, cargo:tinystr@0.8.3, cargo:writeable@0.6.3, cargo:yoke@0.8.3, cargo:yoke-derive@0.8.2, cargo:zerofrom@0.1.8, cargo:zerofrom-derive@0.1.7, cargo:zerotrie@0.2.4, cargo:zerovec@0.11.6, cargo:zerovec-derive@0.11.3 +[54] Applies to: cargo:icu_collections@2.2.0, cargo:icu_locale_core@2.2.0, cargo:icu_normalizer_data@2.2.0, cargo:icu_normalizer@2.2.0, cargo:icu_properties_data@2.2.0, cargo:icu_properties@2.2.0, cargo:icu_provider@2.2.0, cargo:litemap@0.8.2, cargo:potential_utf@0.1.5, cargo:tinystr@0.8.3, cargo:writeable@0.6.3, cargo:yoke-derive@0.8.2, cargo:yoke@0.8.3, cargo:zerofrom-derive@0.1.7, cargo:zerofrom@0.1.8, cargo:zerotrie@0.2.4, cargo:zerovec-derive@0.11.3, cargo:zerovec@0.11.6 ------------------------------------------------------------------------------ UNICODE LICENSE V3 @@ -14770,7 +14773,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[56] Applies to: cargo:idna@1.1.0, cargo:percent-encoding@2.3.2, cargo:url@2.5.8 +[56] Applies to: cargo:idna_adapter@1.2.2 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -14974,7 +14977,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -Copyright (c) 2013-2025 The rust-url developers +Copyright (c) The rust-url developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -15001,7 +15004,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[57] Applies to: cargo:idna_adapter@1.2.2 +[57] Applies to: cargo:idna@1.1.0, cargo:percent-encoding@2.3.2, cargo:url@2.5.8 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -15205,7 +15208,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -Copyright (c) The rust-url developers +Copyright (c) 2013-2025 The rust-url developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -16373,7 +16376,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[64] Applies to: cargo:lock_api@0.4.14, cargo:parking_lot@0.12.5, cargo:parking_lot_core@0.9.12 +[64] Applies to: cargo:lock_api@0.4.14, cargo:parking_lot_core@0.9.12, cargo:parking_lot@0.12.5 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -18435,7 +18438,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[75] Applies to: cargo:phf@0.13.1, cargo:phf_generator@0.13.1, cargo:phf_macros@0.13.1, cargo:phf_shared@0.13.1 +[75] Applies to: cargo:phf_generator@0.13.1, cargo:phf_macros@0.13.1, cargo:phf_shared@0.13.1, cargo:phf@0.13.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -19408,7 +19411,7 @@ Permission is granted to anyone to use this software for any purpose, including 3. This notice may not be removed or altered from any source distribution. ------------------------------------------------------------------------------ -[83] Applies to: cargo:rayon@1.12.0, cargo:rayon-core@1.13.0 +[83] Applies to: cargo:rayon-core@1.13.0, cargo:rayon@1.12.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -19693,7 +19696,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[85] Applies to: cargo:schemars@0.8.22, cargo:schemars@0.9.0, cargo:schemars@1.2.1, cargo:schemars_derive@0.8.22 +[85] Applies to: cargo:schemars_derive@0.8.22, cargo:schemars@0.8.22, cargo:schemars@0.9.0, cargo:schemars@1.2.1 ------------------------------------------------------------------------------ MIT License @@ -19949,7 +19952,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[87] Applies to: cargo:serialize-to-javascript@0.1.2, cargo:serialize-to-javascript-impl@0.1.2 +[87] Applies to: cargo:serialize-to-javascript-impl@0.1.2, cargo:serialize-to-javascript@0.1.2 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -21881,7 +21884,7 @@ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[100] Applies to: cargo:time@0.3.53, cargo:time-core@0.1.9, cargo:time-macros@0.2.31 +[100] Applies to: cargo:time-core@0.1.9, cargo:time-macros@0.2.31, cargo:time@0.3.53 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -22081,7 +22084,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[101] Applies to: cargo:tinyvec@1.12.0 +[101] Applies to: cargo:tinyvec_macros@0.1.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -22271,7 +22274,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2020 Tomasz "Soveu" Marx Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22285,26 +22288,50 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +MIT License -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Copyright (c) 2020 Soveu -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (c) 2019 Daniel "Lokathor" Gee. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: +zlib License -1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. +(C) 2020 Tomasz "Soveu" Marx -2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. ------------------------------------------------------------------------------ -[102] Applies to: cargo:tinyvec_macros@0.1.1 +[102] Applies to: cargo:tinyvec@1.12.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -22494,7 +22521,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2020 Tomasz "Soveu" Marx + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -22508,46 +22535,22 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -MIT License - -Copyright (c) 2020 Soveu +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright (c) 2019 Daniel "Lokathor" Gee. -zlib License +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -(C) 2020 Tomasz "Soveu" Marx +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. ------------------------------------------------------------------------------ @@ -22576,7 +22579,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[104] Applies to: cargo:tracing@0.1.44, cargo:tracing-core@0.1.36 +[104] Applies to: cargo:tracing-core@0.1.36, cargo:tracing@0.1.44 ------------------------------------------------------------------------------ Copyright (c) 2019 Tokio Contributors @@ -24491,7 +24494,7 @@ PackageDownloadLocation: git+ssh://github.com/tauri-apps/window-vibrancy.git Creator: Person: Daniel Thompson-Yvetot ------------------------------------------------------------------------------ -[114] Applies to: cargo:windows@0.57.0, cargo:windows@0.61.3, cargo:windows_x86_64_msvc@0.52.6, cargo:windows-collections@0.2.0, cargo:windows-core@0.57.0, cargo:windows-core@0.61.2, cargo:windows-future@0.2.1, cargo:windows-implement@0.57.0, cargo:windows-implement@0.60.2, cargo:windows-interface@0.57.0, cargo:windows-interface@0.59.3, cargo:windows-link@0.1.3, cargo:windows-link@0.2.1, cargo:windows-numerics@0.2.0, cargo:windows-result@0.1.2, cargo:windows-result@0.3.4, cargo:windows-strings@0.4.2, cargo:windows-sys@0.59.0, cargo:windows-sys@0.61.2, cargo:windows-targets@0.52.6, cargo:windows-threading@0.1.0, cargo:windows-version@0.1.7 +[114] Applies to: cargo:windows_x86_64_msvc@0.52.6, cargo:windows-collections@0.2.0, cargo:windows-core@0.57.0, cargo:windows-core@0.61.2, cargo:windows-future@0.2.1, cargo:windows-implement@0.57.0, cargo:windows-implement@0.60.2, cargo:windows-interface@0.57.0, cargo:windows-interface@0.59.3, cargo:windows-link@0.1.3, cargo:windows-link@0.2.1, cargo:windows-numerics@0.2.0, cargo:windows-result@0.1.2, cargo:windows-result@0.3.4, cargo:windows-strings@0.4.2, cargo:windows-sys@0.59.0, cargo:windows-sys@0.61.2, cargo:windows-targets@0.52.6, cargo:windows-threading@0.1.0, cargo:windows-version@0.1.7, cargo:windows@0.57.0, cargo:windows@0.61.3 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -27267,7 +27270,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[146] Applies to: npm:@lit/reactive-element@2.1.2, npm:lit@3.3.3, npm:lit-element@4.2.2, npm:lit-html@3.3.3 +[146] Applies to: npm:@lit/reactive-element@2.1.2, npm:lit-element@4.2.2, npm:lit-html@3.3.3, npm:lit@3.3.3 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -27474,7 +27477,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[154] Applies to: npm:@parcel/watcher@2.5.6, npm:@parcel/watcher-win32-x64@2.5.6 +[154] Applies to: npm:@parcel/watcher-win32-x64@2.5.6, npm:@parcel/watcher@2.5.6 ------------------------------------------------------------------------------ MIT License @@ -27657,7 +27660,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[161] Applies to: npm:@types/d3@7.4.3, npm:@types/d3-array@3.2.2, npm:@types/d3-axis@3.0.6, npm:@types/d3-brush@3.0.6, npm:@types/d3-chord@3.0.6, npm:@types/d3-color@3.1.3, npm:@types/d3-contour@3.0.6, npm:@types/d3-delaunay@6.0.4, npm:@types/d3-dispatch@3.0.7, npm:@types/d3-drag@3.0.7, npm:@types/d3-dsv@3.0.7, npm:@types/d3-ease@3.0.2, npm:@types/d3-fetch@3.0.7, npm:@types/d3-force@3.0.10, npm:@types/d3-format@3.0.4, npm:@types/d3-geo@3.1.0, npm:@types/d3-hierarchy@3.1.7, npm:@types/d3-interpolate@3.0.4, npm:@types/d3-path@3.1.1, npm:@types/d3-polygon@3.0.2, npm:@types/d3-quadtree@3.0.6, npm:@types/d3-random@3.0.4, npm:@types/d3-scale@4.0.9, npm:@types/d3-scale-chromatic@3.1.0, npm:@types/d3-selection@3.0.11, npm:@types/d3-shape@3.1.8, npm:@types/d3-time@3.0.4, npm:@types/d3-time-format@4.0.3, npm:@types/d3-timer@3.0.2, npm:@types/d3-transition@3.0.9, npm:@types/d3-zoom@3.0.8, npm:@types/debug@4.1.13, npm:@types/estree@1.0.9, npm:@types/estree-jsx@1.0.5, npm:@types/geojson@7946.0.16, npm:@types/hast@3.0.5, npm:@types/katex@0.16.8, npm:@types/mdast@4.0.4, npm:@types/ms@2.1.0, npm:@types/node@25.9.5, npm:@types/trusted-types@2.0.7, npm:@types/unist@2.0.11, npm:@types/unist@3.0.3, npm:@types/use-sync-external-store@0.0.6, npm:@types/ws@8.18.1 +[161] Applies to: npm:@types/d3-array@3.2.2, npm:@types/d3-axis@3.0.6, npm:@types/d3-brush@3.0.6, npm:@types/d3-chord@3.0.6, npm:@types/d3-color@3.1.3, npm:@types/d3-contour@3.0.6, npm:@types/d3-delaunay@6.0.4, npm:@types/d3-dispatch@3.0.7, npm:@types/d3-drag@3.0.7, npm:@types/d3-dsv@3.0.7, npm:@types/d3-ease@3.0.2, npm:@types/d3-fetch@3.0.7, npm:@types/d3-force@3.0.10, npm:@types/d3-format@3.0.4, npm:@types/d3-geo@3.1.0, npm:@types/d3-hierarchy@3.1.7, npm:@types/d3-interpolate@3.0.4, npm:@types/d3-path@3.1.1, npm:@types/d3-polygon@3.0.2, npm:@types/d3-quadtree@3.0.6, npm:@types/d3-random@3.0.4, npm:@types/d3-scale-chromatic@3.1.0, npm:@types/d3-scale@4.0.9, npm:@types/d3-selection@3.0.11, npm:@types/d3-shape@3.1.8, npm:@types/d3-time-format@4.0.3, npm:@types/d3-time@3.0.4, npm:@types/d3-timer@3.0.2, npm:@types/d3-transition@3.0.9, npm:@types/d3-zoom@3.0.8, npm:@types/d3@7.4.3, npm:@types/debug@4.1.13, npm:@types/estree-jsx@1.0.5, npm:@types/estree@1.0.9, npm:@types/geojson@7946.0.16, npm:@types/hast@3.0.5, npm:@types/katex@0.16.8, npm:@types/mdast@4.0.4, npm:@types/ms@2.1.0, npm:@types/node@25.9.5, npm:@types/trusted-types@2.0.7, npm:@types/unist@2.0.11, npm:@types/unist@3.0.3, npm:@types/use-sync-external-store@0.0.6, npm:@types/ws@8.18.1 ------------------------------------------------------------------------------ MIT License @@ -27902,11 +27905,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[171] Applies to: npm:ajv@7.2.4, npm:ajv@8.20.0 +[171] Applies to: npm:ajv-formats@1.6.1, npm:ajv-formats@3.0.1 ------------------------------------------------------------------------------ -The MIT License (MIT) +MIT License -Copyright (c) 2015-2021 Evgeny Poberezkin +Copyright (c) 2020 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -27927,11 +27930,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[172] Applies to: npm:ajv-formats@1.6.1, npm:ajv-formats@3.0.1 +[172] Applies to: npm:ajv@7.2.4, npm:ajv@8.20.0 ------------------------------------------------------------------------------ -MIT License +The MIT License (MIT) -Copyright (c) 2020 Evgeny Poberezkin +Copyright (c) 2015-2021 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -28370,7 +28373,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[182] Applies to: npm:bail@2.0.2, npm:ccount@2.0.1, npm:character-entities@2.0.2, npm:character-entities-html4@2.1.0, npm:character-entities-legacy@3.0.0, npm:character-reference-invalid@2.0.1, npm:mdast-util-to-string@4.0.0, npm:unist-util-find-after@5.0.0, npm:unist-util-position@5.0.0, npm:unist-util-visit@5.1.0 +[182] Applies to: npm:bail@2.0.2, npm:ccount@2.0.1, npm:character-entities-html4@2.1.0, npm:character-entities-legacy@3.0.0, npm:character-entities@2.0.2, npm:character-reference-invalid@2.0.1, npm:mdast-util-to-string@4.0.0, npm:unist-util-find-after@5.0.0, npm:unist-util-position@5.0.0, npm:unist-util-visit@5.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -28665,7 +28668,23 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[192] Applies to: npm:buffer@5.7.1 +[192] Applies to: npm:buffer-equal-constant-time@1.0.1 +------------------------------------------------------------------------------ +Copyright (c) 2013, GoInstant Inc., a salesforce.com company +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------------------ +[193] Applies to: npm:buffer@5.7.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -28689,22 +28708,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[193] Applies to: npm:buffer-equal-constant-time@1.0.1 ------------------------------------------------------------------------------- -Copyright (c) 2013, GoInstant Inc., a salesforce.com company -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -* Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ------------------------------------------------------------------------------ [194] Applies to: npm:buildcheck@0.0.7, npm:cpu-features@0.0.10, npm:ssh2@1.17.0 ------------------------------------------------------------------------------ @@ -29237,12 +29240,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[209] Applies to: npm:cookie@0.7.2, npm:cookie@1.1.1 +[209] Applies to: npm:cookie-signature@1.2.2 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2012-2014 Roman Shtylman -Copyright (c) 2015 Douglas Christopher Wilson +Copyright (c) 2012–2024 LearnBoost and other contributors; Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -29264,11 +29266,12 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[210] Applies to: npm:cookie-signature@1.2.2 +[210] Applies to: npm:cookie@0.7.2, npm:cookie@1.1.1 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2012–2024 LearnBoost and other contributors; +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -29412,9 +29415,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[216] Applies to: npm:cytoscape@3.34.0 +[216] Applies to: npm:cytoscape-cose-bilkent@4.1.0 ------------------------------------------------------------------------------ -Copyright (c) 2016-2026, The Cytoscape Consortium. +Copyright (c) 2016-2018, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -29434,18 +29437,10 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -import fs from 'fs'; -import path from 'path'; - -import { fileURLToPath } from 'url'; -import { dirname } from 'path'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); - -const year = (new Date()).getFullYear(); - -const license = `Copyright (c) 2016-${year}, The Cytoscape Consortium. +------------------------------------------------------------------------------ +[217] Applies to: npm:cytoscape-fcose@2.2.0 +------------------------------------------------------------------------------ +Copyright (c) 2018 - present, iVis-at-Bilkent. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -29463,14 +29458,12 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE.`; - -fs.writeFileSync(path.join(__dirname, 'LICENSE'), license); +SOFTWARE. ------------------------------------------------------------------------------ -[217] Applies to: npm:cytoscape-cose-bilkent@4.1.0 +[218] Applies to: npm:cytoscape@3.34.0 ------------------------------------------------------------------------------ -Copyright (c) 2016-2018, The Cytoscape Consortium. +Copyright (c) 2016-2026, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -29490,10 +29483,18 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[218] Applies to: npm:cytoscape-fcose@2.2.0 ------------------------------------------------------------------------------- -Copyright (c) 2018 - present, iVis-at-Bilkent. +import fs from 'fs'; +import path from 'path'; + +import { fileURLToPath } from 'url'; +import { dirname } from 'path'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const year = (new Date()).getFullYear(); + +const license = `Copyright (c) 2016-${year}, The Cytoscape Consortium. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in @@ -29511,27 +29512,12 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ------------------------------------------------------------------------------- -[219] Applies to: npm:d3@7.9.0, npm:d3-array@3.2.4 ------------------------------------------------------------------------------- -Copyright 2010-2023 Mike Bostock - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. +SOFTWARE.`; -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. +fs.writeFileSync(path.join(__dirname, 'LICENSE'), license); ------------------------------------------------------------------------------ -[220] Applies to: npm:d3-array@2.12.1 +[219] Applies to: npm:d3-array@2.12.1 ------------------------------------------------------------------------------ Copyright 2010-2020 Mike Bostock All rights reserved. @@ -29561,6 +29547,23 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +------------------------------------------------------------------------------ +[220] Applies to: npm:d3-array@3.2.4, npm:d3@7.9.0 +------------------------------------------------------------------------------ +Copyright 2010-2023 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + ------------------------------------------------------------------------------ [221] Applies to: npm:d3-axis@3.0.0, npm:d3-brush@3.0.0, npm:d3-chord@3.0.1, npm:d3-dispatch@3.0.1, npm:d3-drag@3.0.0, npm:d3-force@3.0.0, npm:d3-hierarchy@3.1.2, npm:d3-interpolate@3.0.1, npm:d3-polygon@3.0.1, npm:d3-quadtree@3.0.1, npm:d3-random@3.0.1, npm:d3-scale@4.0.2, npm:d3-selection@3.0.0, npm:d3-time-format@4.1.0, npm:d3-timer@3.0.1, npm:d3-transition@3.0.1, npm:d3-zoom@3.0.0 ------------------------------------------------------------------------------ @@ -30016,7 +30019,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[240] Applies to: npm:decode-named-character-reference@1.3.0, npm:hast-util-from-parse5@8.0.3, npm:hast-util-to-jsx-runtime@2.3.6, npm:hastscript@9.0.1, npm:lowlight@3.3.0, npm:markdown-table@3.0.4, npm:mdast-util-find-and-replace@3.0.2, npm:mdast-util-from-markdown@2.0.3, npm:mdast-util-gfm@3.1.0, npm:mdast-util-gfm-footnote@2.1.0, npm:mdast-util-to-markdown@2.1.2, npm:micromark@4.0.2, npm:micromark-core-commonmark@2.0.3, npm:micromark-extension-gfm-table@2.1.1, npm:micromark-factory-destination@2.0.1, npm:micromark-factory-label@2.0.1, npm:micromark-factory-space@2.0.1, npm:micromark-factory-title@2.0.1, npm:micromark-factory-whitespace@2.0.1, npm:micromark-util-character@2.1.1, npm:micromark-util-chunked@2.0.1, npm:micromark-util-classify-character@2.0.1, npm:micromark-util-combine-extensions@2.0.1, npm:micromark-util-decode-numeric-character-reference@2.0.2, npm:micromark-util-decode-string@2.0.1, npm:micromark-util-encode@2.0.1, npm:micromark-util-html-tag-name@2.0.1, npm:micromark-util-normalize-identifier@2.0.1, npm:micromark-util-resolve-all@2.0.1, npm:micromark-util-sanitize-uri@2.0.1, npm:micromark-util-subtokenize@2.1.0, npm:micromark-util-symbol@2.0.1, npm:micromark-util-types@2.0.2, npm:rehype-highlight@7.0.2, npm:remark-gfm@4.0.1, npm:remark-rehype@11.1.2, npm:vfile-message@4.0.3 +[240] Applies to: npm:decode-named-character-reference@1.3.0, npm:hast-util-from-parse5@8.0.3, npm:hast-util-to-jsx-runtime@2.3.6, npm:hastscript@9.0.1, npm:lowlight@3.3.0, npm:markdown-table@3.0.4, npm:mdast-util-find-and-replace@3.0.2, npm:mdast-util-from-markdown@2.0.3, npm:mdast-util-gfm-footnote@2.1.0, npm:mdast-util-gfm@3.1.0, npm:mdast-util-to-markdown@2.1.2, npm:micromark-core-commonmark@2.0.3, npm:micromark-extension-gfm-table@2.1.1, npm:micromark-factory-destination@2.0.1, npm:micromark-factory-label@2.0.1, npm:micromark-factory-space@2.0.1, npm:micromark-factory-title@2.0.1, npm:micromark-factory-whitespace@2.0.1, npm:micromark-util-character@2.1.1, npm:micromark-util-chunked@2.0.1, npm:micromark-util-classify-character@2.0.1, npm:micromark-util-combine-extensions@2.0.1, npm:micromark-util-decode-numeric-character-reference@2.0.2, npm:micromark-util-decode-string@2.0.1, npm:micromark-util-encode@2.0.1, npm:micromark-util-html-tag-name@2.0.1, npm:micromark-util-normalize-identifier@2.0.1, npm:micromark-util-resolve-all@2.0.1, npm:micromark-util-sanitize-uri@2.0.1, npm:micromark-util-subtokenize@2.1.0, npm:micromark-util-symbol@2.0.1, npm:micromark-util-types@2.0.2, npm:micromark@4.0.2, npm:rehype-highlight@7.0.2, npm:remark-gfm@4.0.1, npm:remark-rehype@11.1.2, npm:vfile-message@4.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -30448,7 +30451,32 @@ THE SOFTWARE. ``` ------------------------------------------------------------------------------ -[250] Applies to: npm:discord-api-types@0.38.50 +[250] Applies to: npm:dingtalk-stream@v2.1.5 +------------------------------------------------------------------------------ +MIT License + +Copyright (c) 2023 钉钉开放平台团队 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------------------ +[251] Applies to: npm:discord-api-types@0.38.50 ------------------------------------------------------------------------------ MIT License @@ -30473,7 +30501,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[251] Applies to: npm:dompurify@3.4.12 +[252] Applies to: npm:dompurify@3.4.12 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -31052,7 +31080,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0. ------------------------------------------------------------------------------ -[252] Applies to: npm:dunder-proto@1.0.1, npm:math-intrinsics@1.1.0 +[253] Applies to: npm:dunder-proto@1.0.1, npm:math-intrinsics@1.1.0 ------------------------------------------------------------------------------ MIT License @@ -31077,7 +31105,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[253] Applies to: npm:ecdsa-sig-formatter@1.0.11 +[254] Applies to: npm:ecdsa-sig-formatter@1.0.11 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -31282,7 +31310,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[254] Applies to: npm:ee-first@1.1.1 +[255] Applies to: npm:ee-first@1.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -31307,7 +31335,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[255] Applies to: npm:electron-squirrel-startup@1.0.1 +[256] Applies to: npm:electron-squirrel-startup@1.0.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -31512,7 +31540,7 @@ See the License for the specific language governing permissions and limitations under the License. ------------------------------------------------------------------------------ -[256] Applies to: npm:electron-window-state@5.0.3 +[257] Applies to: npm:electron-window-state@5.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -31538,7 +31566,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[257] Applies to: npm:emoji-regex@8.0.0, npm:emoji-regex@9.2.2, npm:punycode@2.3.1 +[258] Applies to: npm:emoji-regex@8.0.0, npm:emoji-regex@9.2.2, npm:punycode@2.3.1 ------------------------------------------------------------------------------ Copyright Mathias Bynens @@ -31562,7 +31590,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[258] Applies to: npm:encodeurl@2.0.0 +[259] Applies to: npm:encodeurl@2.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -31588,7 +31616,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[259] Applies to: npm:end-of-stream@1.4.5, npm:pump@3.0.4, npm:tar-fs@2.1.5, npm:tar-stream@2.2.0 +[260] Applies to: npm:end-of-stream@1.4.5, npm:pump@3.0.4, npm:tar-fs@2.1.5, npm:tar-stream@2.2.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -31613,7 +31641,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[260] Applies to: npm:entities@6.0.1 +[261] Applies to: npm:entities@6.0.1 ------------------------------------------------------------------------------ Copyright (c) Felix Böhm All rights reserved. @@ -31628,7 +31656,7 @@ THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[261] Applies to: npm:es-set-tostringtag@2.1.0 +[262] Applies to: npm:es-set-tostringtag@2.1.0 ------------------------------------------------------------------------------ MIT License @@ -31653,7 +31681,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[262] Applies to: npm:es-toolkit@1.49.0 +[263] Applies to: npm:es-toolkit@1.49.0 ------------------------------------------------------------------------------ MIT License @@ -31678,7 +31706,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[263] Applies to: npm:escape-html@1.0.3 +[264] Applies to: npm:escape-html@1.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -31706,7 +31734,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[264] Applies to: npm:esprima@4.0.1 +[265] Applies to: npm:esprima@4.0.1 ------------------------------------------------------------------------------ Copyright JS Foundation and other contributors, https://js.foundation/ @@ -31731,7 +31759,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[265] Applies to: npm:estree-util-is-identifier-name@3.0.0, npm:hast-util-heading-rank@3.0.0, npm:mdast-util-gfm-autolink-literal@2.0.1, npm:mdast-util-gfm-strikethrough@2.0.0, npm:mdast-util-gfm-table@2.0.0, npm:mdast-util-gfm-task-list-item@2.0.0, npm:mdast-util-math@3.0.0, npm:mdast-util-mdx-expression@2.0.1, npm:mdast-util-mdx-jsx@3.2.0, npm:mdast-util-mdxjs-esm@2.0.1, npm:micromark-extension-gfm@3.0.0, npm:micromark-extension-gfm-autolink-literal@2.1.0, npm:micromark-extension-gfm-strikethrough@2.1.0, npm:micromark-extension-gfm-tagfilter@2.0.0, npm:micromark-extension-gfm-task-list-item@2.1.0, npm:micromark-extension-math@3.1.0 +[266] Applies to: npm:estree-util-is-identifier-name@3.0.0, npm:hast-util-heading-rank@3.0.0, npm:mdast-util-gfm-autolink-literal@2.0.1, npm:mdast-util-gfm-strikethrough@2.0.0, npm:mdast-util-gfm-table@2.0.0, npm:mdast-util-gfm-task-list-item@2.0.0, npm:mdast-util-math@3.0.0, npm:mdast-util-mdx-expression@2.0.1, npm:mdast-util-mdx-jsx@3.2.0, npm:mdast-util-mdxjs-esm@2.0.1, npm:micromark-extension-gfm-autolink-literal@2.1.0, npm:micromark-extension-gfm-strikethrough@2.1.0, npm:micromark-extension-gfm-tagfilter@2.0.0, npm:micromark-extension-gfm-task-list-item@2.1.0, npm:micromark-extension-gfm@3.0.0, npm:micromark-extension-math@3.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -31757,7 +31785,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[266] Applies to: npm:etag@1.8.1, npm:proxy-addr@2.0.7 +[267] Applies to: npm:etag@1.8.1, npm:proxy-addr@2.0.7 ------------------------------------------------------------------------------ (The MIT License) @@ -31783,37 +31811,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[267] Applies to: npm:eventsource@3.0.7 +[268] Applies to: npm:eventemitter3@5.0.4 ------------------------------------------------------------------------------ -The MIT License - -Copyright (c) EventSource GitHub organisation - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ------------------------------------------------------------------------------- -[268] Applies to: npm:eventsource-parser@3.1.0 ------------------------------------------------------------------------------- -MIT License +The MIT License (MIT) -Copyright (c) 2026 Espen Hovlandsdal +Copyright (c) 2014 Arnout Kazemier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -31834,11 +31836,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[269] Applies to: npm:expand-template@2.0.3 +[269] Applies to: npm:eventsource-parser@3.1.0 ------------------------------------------------------------------------------ -The MIT License (MIT) +MIT License -Copyright (c) 2018 Lars-Magnus Skog +Copyright (c) 2026 Espen Hovlandsdal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -31847,29 +31849,27 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ------------------------------------------------------------------------------ -[270] Applies to: npm:express@5.2.1 +[270] Applies to: npm:eventsource@3.0.7 ------------------------------------------------------------------------------ -(The MIT License) +The MIT License -Copyright (c) 2009-2014 TJ Holowaychuk -Copyright (c) 2013-2014 Roman Shtylman -Copyright (c) 2014-2015 Douglas Christopher Wilson +Copyright (c) EventSource GitHub organisation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including +"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -31878,16 +31878,41 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[271] Applies to: npm:expand-template@2.0.3 +------------------------------------------------------------------------------ +The MIT License (MIT) + +Copyright (c) 2018 Lars-Magnus Skog + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. ------------------------------------------------------------------------------ -[271] Applies to: npm:express-rate-limit@8.5.2 +[272] Applies to: npm:express-rate-limit@8.5.2 ------------------------------------------------------------------------------ # MIT License @@ -31911,15 +31936,17 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[272] Applies to: npm:extend@3.0.2 +[273] Applies to: npm:express@5.2.1 ------------------------------------------------------------------------------ -The MIT License (MIT) +(The MIT License) -Copyright (c) 2014 Stefan Thomas +Copyright (c) 2009-2014 TJ Holowaychuk +Copyright (c) 2013-2014 Roman Shtylman +Copyright (c) 2014-2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including +'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to @@ -31928,16 +31955,16 @@ the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[273] Applies to: npm:extend-shallow@2.0.1 +[274] Applies to: npm:extend-shallow@2.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -31962,7 +31989,33 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[274] Applies to: npm:fast-deep-equal@3.1.3, npm:json-schema-traverse@1.0.0 +[275] Applies to: npm:extend@3.0.2 +------------------------------------------------------------------------------ +The MIT License (MIT) + +Copyright (c) 2014 Stefan Thomas + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------------------------------------------------------------------ +[276] Applies to: npm:fast-deep-equal@3.1.3, npm:json-schema-traverse@1.0.0 ------------------------------------------------------------------------------ MIT License @@ -31987,7 +32040,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[275] Applies to: npm:fast-equals@5.4.1 +[277] Applies to: npm:fast-equals@5.4.1 ------------------------------------------------------------------------------ MIT License @@ -32012,7 +32065,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[276] Applies to: npm:fast-uri@3.1.4 +[278] Applies to: npm:fast-uri@3.1.4 ------------------------------------------------------------------------------ Copyright (c) 2011-2021, Gary Court until https://github.com/garycourt/uri-js/commit/a1acf730b4bba3f1097c9f52e7d9d3aba8cdcaae Copyright (c) 2021-present The Fastify team @@ -32046,7 +32099,7 @@ The complete list of contributors can be found at: - https://github.com/garycourt/uri-js/graphs/contributors ------------------------------------------------------------------------------ -[277] Applies to: npm:fetch-blob@3.2.0 +[279] Applies to: npm:fetch-blob@3.2.0 ------------------------------------------------------------------------------ MIT License @@ -32071,7 +32124,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[278] Applies to: npm:file-uri-to-path@1.0.0 +[280] Applies to: npm:file-uri-to-path@1.0.0 ------------------------------------------------------------------------------ Copyright (c) 2014 Nathan Rajlich @@ -32095,7 +32148,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[279] Applies to: npm:finalhandler@2.1.1 +[281] Applies to: npm:finalhandler@2.1.1 ------------------------------------------------------------------------------ (The MIT License) @@ -32121,7 +32174,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[280] Applies to: npm:follow-redirects@1.16.0 +[282] Applies to: npm:follow-redirects@1.16.0 ------------------------------------------------------------------------------ Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh @@ -32143,7 +32196,7 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[281] Applies to: npm:foreground-child@3.3.1 +[283] Applies to: npm:foreground-child@3.3.1 ------------------------------------------------------------------------------ The ISC License @@ -32162,7 +32215,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[282] Applies to: npm:form-data@4.0.6 +[284] Applies to: npm:form-data@4.0.6 ------------------------------------------------------------------------------ Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors @@ -32185,7 +32238,7 @@ Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors THE SOFTWARE. ------------------------------------------------------------------------------ -[283] Applies to: npm:formdata-polyfill@4.0.10 +[285] Applies to: npm:formdata-polyfill@4.0.10 ------------------------------------------------------------------------------ MIT License @@ -32210,7 +32263,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[284] Applies to: npm:fresh@2.0.0 +[286] Applies to: npm:fresh@2.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -32237,7 +32290,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[285] Applies to: npm:fs-constants@1.0.0 +[287] Applies to: npm:fs-constants@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -32262,7 +32315,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[286] Applies to: npm:fs-extra@11.3.6 +[288] Applies to: npm:fs-extra@11.3.6 ------------------------------------------------------------------------------ (The MIT License) @@ -32281,7 +32334,7 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[287] Applies to: npm:function-bind@1.1.2 +[289] Applies to: npm:function-bind@1.1.2 ------------------------------------------------------------------------------ Copyright (c) 2013 Raynos. @@ -32304,7 +32357,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[288] Applies to: npm:get-caller-file@2.0.5 +[290] Applies to: npm:get-caller-file@2.0.5 ------------------------------------------------------------------------------ ISC License (ISC) Copyright 2018 Stefan Penner @@ -32314,7 +32367,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[289] Applies to: npm:get-intrinsic@1.3.0 +[291] Applies to: npm:get-intrinsic@1.3.0 ------------------------------------------------------------------------------ MIT License @@ -32339,7 +32392,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[290] Applies to: npm:get-nonce@1.0.1 +[292] Applies to: npm:get-nonce@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -32364,7 +32417,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[291] Applies to: npm:get-proto@1.0.1 +[293] Applies to: npm:get-proto@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -32389,7 +32442,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[292] Applies to: npm:github-from-package@0.0.0, npm:minimist@1.2.8 +[294] Applies to: npm:github-from-package@0.0.0, npm:minimist@1.2.8 ------------------------------------------------------------------------------ This software is released under the MIT license: @@ -32411,7 +32464,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[293] Applies to: npm:github-slugger@2.0.0 +[295] Applies to: npm:github-slugger@2.0.0 ------------------------------------------------------------------------------ Copyright (c) 2015, Dan Flettre @@ -32420,7 +32473,7 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[294] Applies to: npm:glob@10.5.0 +[296] Applies to: npm:glob@10.5.0 ------------------------------------------------------------------------------ The ISC License @@ -32439,7 +32492,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[295] Applies to: npm:gopd@1.2.0 +[297] Applies to: npm:gopd@1.2.0 ------------------------------------------------------------------------------ MIT License @@ -32464,7 +32517,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[296] Applies to: npm:graceful-fs@4.2.11 +[298] Applies to: npm:graceful-fs@4.2.11 ------------------------------------------------------------------------------ The ISC License @@ -32483,7 +32536,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[297] Applies to: npm:gray-matter@4.0.3 +[299] Applies to: npm:gray-matter@4.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -32508,7 +32561,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[298] Applies to: npm:gtoken@8.0.0 +[300] Applies to: npm:gtoken@8.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -32533,7 +32586,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[299] Applies to: npm:hachure-fill@0.5.2 +[301] Applies to: npm:hachure-fill@0.5.2 ------------------------------------------------------------------------------ MIT License @@ -32558,7 +32611,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[300] Applies to: npm:harmonyos-sans-sc-webfont-splitted@1.1.0 +[302] Applies to: npm:harmonyos-sans-sc-webfont-splitted@1.1.0 ------------------------------------------------------------------------------ This is free and unencumbered software released into the public domain. @@ -32586,7 +32639,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[301] Applies to: npm:has-symbols@1.1.0 +[303] Applies to: npm:has-symbols@1.1.0 ------------------------------------------------------------------------------ MIT License @@ -32611,7 +32664,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[302] Applies to: npm:has-tostringtag@1.0.2 +[304] Applies to: npm:has-tostringtag@1.0.2 ------------------------------------------------------------------------------ MIT License @@ -32636,7 +32689,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[303] Applies to: npm:hasown@2.0.4 +[305] Applies to: npm:hasown@2.0.4 ------------------------------------------------------------------------------ MIT License @@ -32661,7 +32714,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[304] Applies to: npm:hast-util-from-dom@5.0.1 +[306] Applies to: npm:hast-util-from-dom@5.0.1 ------------------------------------------------------------------------------ (ISC License) @@ -32680,11 +32733,11 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[305] Applies to: npm:hast-util-from-html@2.0.3 +[307] Applies to: npm:hast-util-from-html-isomorphic@2.0.0 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2022 Titus Wormer +Copyright (c) 2023 Remco Haszing Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -32706,11 +32759,11 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[306] Applies to: npm:hast-util-from-html-isomorphic@2.0.0 +[308] Applies to: npm:hast-util-from-html@2.0.3 ------------------------------------------------------------------------------ (The MIT License) -Copyright (c) 2023 Remco Haszing +Copyright (c) 2022 Titus Wormer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -32732,7 +32785,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[307] Applies to: npm:hast-util-to-string@3.0.1, npm:html-url-attributes@3.0.1 +[309] Applies to: npm:hast-util-to-string@3.0.1, npm:html-url-attributes@3.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -32757,7 +32810,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[308] Applies to: npm:hast-util-to-text@4.0.2 +[310] Applies to: npm:hast-util-to-text@4.0.2 ------------------------------------------------------------------------------ (The MIT License) @@ -32783,7 +32836,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[309] Applies to: npm:highlight.js@11.11.1 +[311] Applies to: npm:highlight.js@11.11.1 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -32816,7 +32869,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[310] Applies to: npm:hono@4.12.30 +[312] Applies to: npm:hono@4.12.30 ------------------------------------------------------------------------------ MIT License @@ -32841,7 +32894,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[311] Applies to: npm:html-to-image@1.11.13 +[313] Applies to: npm:html-to-image@1.11.13 ------------------------------------------------------------------------------ MIT License @@ -32866,7 +32919,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[312] Applies to: npm:http-errors@2.0.1 +[314] Applies to: npm:http-errors@2.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -32892,7 +32945,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[313] Applies to: npm:human-signals@1.1.1, npm:human-signals@2.1.0 +[315] Applies to: npm:human-signals@1.1.1, npm:human-signals@2.1.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -33097,7 +33150,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[314] Applies to: npm:i18next@26.3.6 +[316] Applies to: npm:i18next@26.3.6 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33122,7 +33175,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[315] Applies to: npm:iconv-lite@0.6.3, npm:iconv-lite@0.7.3 +[317] Applies to: npm:iconv-lite@0.6.3, npm:iconv-lite@0.7.3 ------------------------------------------------------------------------------ Copyright (c) 2011 Alexander Shtuchkin @@ -33146,7 +33199,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[316] Applies to: npm:ieee754@1.2.1 +[318] Applies to: npm:ieee754@1.2.1 ------------------------------------------------------------------------------ Copyright 2008 Fair Oaks Labs, Inc. @@ -33161,7 +33214,7 @@ Redistribution and use in source and binary forms, with or without modification, THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[317] Applies to: npm:ignore@7.0.6 +[319] Applies to: npm:ignore@7.0.6 ------------------------------------------------------------------------------ Copyright (c) 2013 Kael Zhang , contributors http://kael.me/ @@ -33186,7 +33239,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[318] Applies to: npm:immediate@3.0.6 +[320] Applies to: npm:immediate@3.0.6 ------------------------------------------------------------------------------ Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, Domenic Denicola, Brian Cavalier @@ -33210,7 +33263,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[319] Applies to: npm:import-meta-resolve@4.2.0 +[321] Applies to: npm:import-meta-resolve@4.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -33288,7 +33341,7 @@ IN THE SOFTWARE. """ ------------------------------------------------------------------------------ -[320] Applies to: npm:inherits@2.0.4 +[322] Applies to: npm:inherits@2.0.4 ------------------------------------------------------------------------------ The ISC License @@ -33307,7 +33360,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[321] Applies to: npm:inline-style-parser@0.2.7 +[323] Applies to: npm:inline-style-parser@0.2.7 ------------------------------------------------------------------------------ (The MIT License) @@ -33320,7 +33373,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[322] Applies to: npm:internmap@1.0.1, npm:internmap@2.0.3 +[324] Applies to: npm:internmap@1.0.1, npm:internmap@2.0.3 ------------------------------------------------------------------------------ Copyright 2021 Mike Bostock @@ -33337,7 +33390,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[323] Applies to: npm:ip-address@10.2.0 +[325] Applies to: npm:ip-address@10.2.0 ------------------------------------------------------------------------------ Copyright (C) 2011 by Beau Gunderson @@ -33360,7 +33413,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[324] Applies to: npm:ipaddr.js@1.9.1, npm:ipaddr.js@2.4.0 +[326] Applies to: npm:ipaddr.js@1.9.1, npm:ipaddr.js@2.4.0 ------------------------------------------------------------------------------ Copyright (C) 2011-2017 whitequark @@ -33383,7 +33436,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[325] Applies to: npm:is-buffer@1.1.6, npm:safe-buffer@5.1.2, npm:safe-buffer@5.2.1 +[327] Applies to: npm:is-buffer@1.1.6, npm:safe-buffer@5.1.2, npm:safe-buffer@5.2.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33408,7 +33461,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[326] Applies to: npm:is-extendable@0.1.1 +[328] Applies to: npm:is-extendable@0.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33433,7 +33486,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[327] Applies to: npm:is-extglob@2.1.1 +[329] Applies to: npm:is-extglob@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33458,7 +33511,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[328] Applies to: npm:is-glob@4.0.3, npm:kind-of@6.0.3 +[330] Applies to: npm:is-glob@4.0.3, npm:kind-of@6.0.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33483,7 +33536,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[329] Applies to: npm:is-promise@2.2.2, npm:is-promise@4.0.0 +[331] Applies to: npm:is-promise@2.2.2, npm:is-promise@4.0.0 ------------------------------------------------------------------------------ Copyright (c) 2014 Forbes Lindesay @@ -33506,7 +33559,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[330] Applies to: npm:jackspeak@3.4.3 +[332] Applies to: npm:jackspeak@3.4.3 ------------------------------------------------------------------------------ # Blue Oak Model License @@ -33565,7 +33618,7 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim._** ------------------------------------------------------------------------------ -[331] Applies to: npm:jose@6.2.3 +[333] Applies to: npm:jose@6.2.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33590,7 +33643,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[332] Applies to: npm:js-base64@3.9.1 +[334] Applies to: npm:js-base64@3.9.1 ------------------------------------------------------------------------------ Copyright (c) 2014, Dan Kogai All rights reserved. @@ -33621,7 +33674,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[333] Applies to: npm:js-yaml@3.15.0, npm:js-yaml@4.3.0 +[335] Applies to: npm:js-yaml@3.15.0, npm:js-yaml@4.3.0 ------------------------------------------------------------------------------ (The MIT License) @@ -33646,7 +33699,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[334] Applies to: npm:json-bigint@1.0.0 +[336] Applies to: npm:json-bigint@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -33670,7 +33723,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[335] Applies to: npm:json-schema-to-ts@3.1.1, npm:ts-algebra@2.0.0 +[337] Applies to: npm:json-schema-to-ts@3.1.1, npm:ts-algebra@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -33695,7 +33748,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[336] Applies to: npm:json-schema-typed@7.0.3 +[338] Applies to: npm:json-schema-typed@7.0.3 ------------------------------------------------------------------------------ BSD-2-Clause License @@ -33725,7 +33778,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[337] Applies to: npm:json-schema-typed@8.0.2 +[339] Applies to: npm:json-schema-typed@8.0.2 ------------------------------------------------------------------------------ BSD 2-Clause License @@ -33786,7 +33839,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[338] Applies to: npm:jsonfile@4.0.0, npm:jsonfile@6.2.1 +[340] Applies to: npm:jsonfile@4.0.0, npm:jsonfile@6.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -33805,7 +33858,7 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[339] Applies to: npm:jszip@3.10.1 +[341] Applies to: npm:jszip@3.10.1 ------------------------------------------------------------------------------ JSZip is dual licensed. At your choice you may use it under the MIT license *or* the GPLv3 license. @@ -34460,7 +34513,7 @@ copy of the Program in return for a fee. END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[340] Applies to: npm:jwa@2.0.1, npm:jws@4.0.1 +[342] Applies to: npm:jwa@2.0.1, npm:jws@4.0.1 ------------------------------------------------------------------------------ Copyright (c) 2013 Brian J. Brennan @@ -34481,7 +34534,7 @@ FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TOR ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[341] Applies to: npm:katex@0.16.47 +[343] Applies to: npm:katex@0.16.47 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -34506,7 +34559,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[342] Applies to: npm:khroma@2.1.0 +[344] Applies to: npm:khroma@2.1.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -34531,7 +34584,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[343] Applies to: npm:layout-base@1.0.2, npm:layout-base@2.0.1 +[345] Applies to: npm:layout-base@1.0.2, npm:layout-base@2.0.1 ------------------------------------------------------------------------------ MIT License @@ -34556,7 +34609,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[344] Applies to: npm:lie@3.3.0 +[346] Applies to: npm:lie@3.3.0 ------------------------------------------------------------------------------ #Copyright (c) 2014-2018 Calvin Metcalf, Jordan Harband @@ -34567,7 +34620,7 @@ The above copyright notice and this permission notice shall be included in all c **THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** ------------------------------------------------------------------------------ -[345] Applies to: npm:lodash@4.18.1, npm:lodash-es@4.18.1, npm:lodash.merge@4.6.2 +[347] Applies to: npm:lodash-es@4.18.1, npm:lodash.merge@4.6.2, npm:lodash@4.18.1 ------------------------------------------------------------------------------ Copyright OpenJS Foundation and other contributors @@ -34618,7 +34671,7 @@ licenses; we recommend you read them, as their terms may differ from the terms above. ------------------------------------------------------------------------------ -[346] Applies to: npm:lodash.identity@3.0.0 +[348] Applies to: npm:lodash.identity@3.0.0 ------------------------------------------------------------------------------ Copyright 2012-2015 The Dojo Foundation Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas, @@ -34644,7 +34697,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[347] Applies to: npm:lodash.pickby@4.6.0, npm:lodash.snakecase@4.1.1 +[349] Applies to: npm:lodash.pickby@4.6.0, npm:lodash.snakecase@4.1.1 ------------------------------------------------------------------------------ Copyright jQuery Foundation and other contributors @@ -34695,7 +34748,7 @@ licenses; we recommend you read them, as their terms may differ from the terms above. ------------------------------------------------------------------------------ -[348] Applies to: npm:longest-streak@3.1.0, npm:stringify-entities@4.0.4, npm:trim-lines@3.0.1 +[350] Applies to: npm:longest-streak@3.1.0, npm:stringify-entities@4.0.4, npm:trim-lines@3.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -34721,7 +34774,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[349] Applies to: npm:loudness@0.4.2 +[351] Applies to: npm:loudness@0.4.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -34745,7 +34798,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[350] Applies to: npm:lru-cache@10.4.3 +[352] Applies to: npm:lru-cache@10.4.3 ------------------------------------------------------------------------------ The ISC License @@ -34764,7 +34817,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[351] Applies to: npm:lucide-react@0.468.0 +[353] Applies to: npm:lucide-react@0.468.0 ------------------------------------------------------------------------------ ISC License @@ -34783,7 +34836,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[352] Applies to: npm:magic-bytes.js@1.13.0 +[354] Applies to: npm:magic-bytes.js@1.13.0 ------------------------------------------------------------------------------ MIT License @@ -34808,7 +34861,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[353] Applies to: npm:marked@16.4.2 +[355] Applies to: npm:marked@16.4.2 ------------------------------------------------------------------------------ # License information @@ -34856,7 +34909,7 @@ Redistribution and use in source and binary forms, with or without modification, This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. ------------------------------------------------------------------------------ -[354] Applies to: npm:md5@2.3.0 +[356] Applies to: npm:md5@2.3.0 ------------------------------------------------------------------------------ Copyright © 2011-2012, Paul Vorbach. Copyright © 2009, Jeff Mott. @@ -34887,7 +34940,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[355] Applies to: npm:mdast-util-phrasing@4.1.0 +[357] Applies to: npm:mdast-util-phrasing@4.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -34914,7 +34967,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[356] Applies to: npm:mdast-util-to-markdown-cjk-friendly@1.0.0, npm:remark-cjk-friendly@2.3.1 +[358] Applies to: npm:mdast-util-to-markdown-cjk-friendly@1.0.0, npm:remark-cjk-friendly@2.3.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino @@ -34946,7 +34999,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[357] Applies to: npm:merge-descriptors@2.0.0 +[359] Applies to: npm:merge-descriptors@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -34961,7 +35014,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[358] Applies to: npm:merge-stream@2.0.0 +[360] Applies to: npm:merge-stream@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -34986,7 +35039,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[359] Applies to: npm:mermaid@11.16.0 +[361] Applies to: npm:mermaid@11.16.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35011,13 +35064,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[360] Applies to: npm:micromark-extension-cjk-friendly@2.0.1 +[362] Applies to: npm:micromark-extension-cjk-friendly-util@3.0.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino MIT LICENSE -Based on micromark and micromark-core-commonmark +Based on micromark's sub-packages (micromark-util-character, micromark-util-symbol, and micromark-util-classify-character) (The MIT License) @@ -35043,13 +35096,13 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[361] Applies to: npm:micromark-extension-cjk-friendly-util@3.0.1 +[363] Applies to: npm:micromark-extension-cjk-friendly@2.0.1 ------------------------------------------------------------------------------ Copyright (c) 2025 Tatsunori Uchino MIT LICENSE -Based on micromark's sub-packages (micromark-util-character, micromark-util-symbol, and micromark-util-classify-character) +Based on micromark and micromark-core-commonmark (The MIT License) @@ -35075,7 +35128,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[362] Applies to: npm:micromark-extension-gfm-footnote@2.1.0 +[364] Applies to: npm:micromark-extension-gfm-footnote@2.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -35101,7 +35154,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[363] Applies to: npm:mime-db@1.52.0, npm:mime-db@1.54.0 +[365] Applies to: npm:mime-db@1.52.0, npm:mime-db@1.54.0 ------------------------------------------------------------------------------ (The MIT License) @@ -35128,7 +35181,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[364] Applies to: npm:minimatch@9.0.9, npm:rimraf@5.0.10 +[366] Applies to: npm:minimatch@9.0.9, npm:rimraf@5.0.10 ------------------------------------------------------------------------------ The ISC License @@ -35147,7 +35200,7 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[365] Applies to: npm:minipass@7.1.3, npm:path-scurry@1.11.1 +[367] Applies to: npm:minipass@7.1.3, npm:path-scurry@1.11.1 ------------------------------------------------------------------------------ # Blue Oak Model License @@ -35206,11 +35259,11 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** ------------------------------------------------------------------------------ -[366] Applies to: npm:mkdirp@0.5.6 +[368] Applies to: npm:mkdirp-classic@0.5.3 ------------------------------------------------------------------------------ -Copyright 2010 James Halliday (mail@substack.net) +The MIT License (MIT) -This project is free software released under the MIT/X11 license: +Copyright (c) 2020 James Halliday (mail@substack.net) and Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -35231,11 +35284,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[367] Applies to: npm:mkdirp-classic@0.5.3 +[369] Applies to: npm:mkdirp@0.5.6 ------------------------------------------------------------------------------ -The MIT License (MIT) +Copyright 2010 James Halliday (mail@substack.net) -Copyright (c) 2020 James Halliday (mail@substack.net) and Mathias Buus +This project is free software released under the MIT/X11 license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -35256,7 +35309,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[368] Applies to: npm:ms@2.0.0 +[370] Applies to: npm:ms@2.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35281,7 +35334,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[369] Applies to: npm:ms@2.1.3 +[371] Applies to: npm:ms@2.1.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35306,7 +35359,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[370] Applies to: npm:nan@2.28.0 +[372] Applies to: npm:nan@2.28.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35319,7 +35372,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[371] Applies to: npm:napi-build-utils@2.0.0 +[373] Applies to: npm:napi-build-utils@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -35344,7 +35397,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[372] Applies to: npm:negotiator@1.0.0 +[374] Applies to: npm:negotiator@1.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -35372,7 +35425,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[373] Applies to: npm:node-abi@3.94.0 +[375] Applies to: npm:node-abi@3.94.0 ------------------------------------------------------------------------------ MIT License @@ -35397,7 +35450,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[374] Applies to: npm:node-addon-api@7.1.1 +[376] Applies to: npm:node-addon-api@7.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35410,7 +35463,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[375] Applies to: npm:node-domexception@1.0.0 +[377] Applies to: npm:node-domexception@1.0.0 ------------------------------------------------------------------------------ MIT License @@ -35435,7 +35488,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[376] Applies to: npm:node-fetch@3.3.2 +[378] Applies to: npm:node-fetch@3.3.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35460,7 +35513,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[377] Applies to: npm:node-machine-id@1.1.12 +[379] Applies to: npm:node-machine-id@1.1.12 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35485,7 +35538,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[378] Applies to: npm:node-pty@1.1.0 +[380] Applies to: npm:node-pty@1.1.0 ------------------------------------------------------------------------------ Copyright (c) 2012-2015, Christopher Jeffrey (https://github.com/chjj/) @@ -35558,7 +35611,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[379] Applies to: npm:object-inspect@1.13.4 +[381] Applies to: npm:object-inspect@1.13.4 ------------------------------------------------------------------------------ MIT License @@ -35583,7 +35636,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[380] Applies to: npm:on-finished@2.4.1 +[382] Applies to: npm:on-finished@2.4.1 ------------------------------------------------------------------------------ (The MIT License) @@ -35610,7 +35663,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[381] Applies to: npm:orderedmap@2.1.1, npm:w3c-keyname@2.2.8 +[383] Applies to: npm:orderedmap@2.1.1, npm:w3c-keyname@2.2.8 ------------------------------------------------------------------------------ Copyright (C) 2016 by Marijn Haverbeke and others @@ -35633,7 +35686,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[382] Applies to: npm:package-json-from-dist@1.0.1 +[384] Applies to: npm:package-json-from-dist@1.0.1 ------------------------------------------------------------------------------ All packages under `src/` are licensed according to the terms in their respective `LICENSE` or `LICENSE.md` files. @@ -35700,7 +35753,7 @@ will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** ------------------------------------------------------------------------------ -[383] Applies to: npm:package-manager-detector@1.7.0 +[385] Applies to: npm:package-manager-detector@1.7.0 ------------------------------------------------------------------------------ MIT License @@ -35725,7 +35778,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[384] Applies to: npm:pako@1.0.11 +[386] Applies to: npm:pako@1.0.11 ------------------------------------------------------------------------------ (The MIT License) @@ -35750,7 +35803,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[385] Applies to: npm:parse-entities@4.0.2, npm:property-information@7.2.0 +[387] Applies to: npm:parse-entities@4.0.2, npm:property-information@7.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -35776,7 +35829,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[386] Applies to: npm:parse5@7.3.0 +[388] Applies to: npm:parse5@7.3.0 ------------------------------------------------------------------------------ Copyright (c) 2013-2019 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin) @@ -35799,7 +35852,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[387] Applies to: npm:parseurl@1.3.3 +[389] Applies to: npm:parseurl@1.3.3 ------------------------------------------------------------------------------ (The MIT License) @@ -35826,7 +35879,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[388] Applies to: npm:path-data-parser@0.1.0, npm:points-on-curve@0.2.0 +[390] Applies to: npm:path-data-parser@0.1.0, npm:points-on-curve@0.2.0 ------------------------------------------------------------------------------ MIT License @@ -35851,7 +35904,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[389] Applies to: npm:path-to-regexp@8.4.2 +[391] Applies to: npm:path-to-regexp@8.4.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -35876,7 +35929,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[390] Applies to: npm:pdfjs-dist@5.7.284 +[392] Applies to: npm:pdfjs-dist@5.7.284 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -36056,7 +36109,7 @@ Apache License END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[391] Applies to: npm:picomatch@4.0.5 +[393] Applies to: npm:picomatch@4.0.5 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36081,7 +36134,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[392] Applies to: npm:pkce-challenge@5.0.1 +[394] Applies to: npm:pkce-challenge@5.0.1 ------------------------------------------------------------------------------ MIT License @@ -36106,7 +36159,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[393] Applies to: npm:playwright-core@1.60.0 +[395] Applies to: npm:playwright-core@1.60.0 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -36312,7 +36365,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[394] Applies to: npm:playwright-core@1.60.0 (NOTICE) +[396] Applies to: npm:playwright-core@1.60.0 (NOTICE) ------------------------------------------------------------------------------ NOTICE for npm:playwright-core@1.60.0: @@ -36323,7 +36376,7 @@ This software contains code derived from the Puppeteer project (https://github.c available under the Apache 2.0 license (https://github.com/puppeteer/puppeteer/blob/master/LICENSE). ------------------------------------------------------------------------------ -[395] Applies to: npm:pngjs@5.0.0 +[397] Applies to: npm:pngjs@5.0.0 ------------------------------------------------------------------------------ pngjs2 original work Copyright (c) 2015 Luke Page & Original Contributors pngjs derived work Copyright (c) 2012 Kuba Niegowski @@ -36347,7 +36400,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[396] Applies to: npm:points-on-path@0.2.1 +[398] Applies to: npm:points-on-path@0.2.1 ------------------------------------------------------------------------------ MIT License @@ -36372,7 +36425,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[397] Applies to: npm:prebuild-install@7.1.3 +[399] Applies to: npm:prebuild-install@7.1.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36397,7 +36450,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[398] Applies to: npm:process-nextick-args@2.0.1 +[400] Applies to: npm:process-nextick-args@2.0.1 ------------------------------------------------------------------------------ # Copyright (c) 2015 Calvin Metcalf @@ -36420,7 +36473,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** ------------------------------------------------------------------------------ -[399] Applies to: npm:promise-worker-transferable@1.0.4 +[401] Applies to: npm:promise-worker-transferable@1.0.4 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -36625,7 +36678,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[400] Applies to: npm:prosemirror-changeset@2.4.1 +[402] Applies to: npm:prosemirror-changeset@2.4.1 ------------------------------------------------------------------------------ Copyright (C) 2017 by Marijn Haverbeke and others @@ -36648,7 +36701,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[401] Applies to: npm:prosemirror-commands@1.7.1, npm:prosemirror-dropcursor@1.8.3, npm:prosemirror-gapcursor@1.4.1, npm:prosemirror-history@1.5.0, npm:prosemirror-inputrules@1.5.1, npm:prosemirror-keymap@1.2.3, npm:prosemirror-model@1.25.11, npm:prosemirror-schema-list@1.5.1, npm:prosemirror-state@1.4.4, npm:prosemirror-transform@1.12.0, npm:prosemirror-view@1.42.1 +[403] Applies to: npm:prosemirror-commands@1.7.1, npm:prosemirror-dropcursor@1.8.3, npm:prosemirror-gapcursor@1.4.1, npm:prosemirror-history@1.5.0, npm:prosemirror-inputrules@1.5.1, npm:prosemirror-keymap@1.2.3, npm:prosemirror-model@1.25.11, npm:prosemirror-schema-list@1.5.1, npm:prosemirror-state@1.4.4, npm:prosemirror-transform@1.12.0, npm:prosemirror-view@1.42.1 ------------------------------------------------------------------------------ Copyright (C) 2015-2017 by Marijn Haverbeke and others @@ -36671,7 +36724,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[402] Applies to: npm:prosemirror-tables@1.8.5 +[404] Applies to: npm:prosemirror-tables@1.8.5 ------------------------------------------------------------------------------ Copyright (C) 2015-2016 by Marijn Haverbeke and others @@ -36694,7 +36747,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[403] Applies to: npm:protobufjs@7.6.5 +[405] Applies to: npm:protobufjs@7.6.5 ------------------------------------------------------------------------------ This license applies to all parts of protobuf.js except those files either explicitly including or referencing a different license or @@ -36737,7 +36790,7 @@ standalone and requires a support library to be linked with it. This support library is itself covered by the above license. ------------------------------------------------------------------------------ -[404] Applies to: npm:proxy-from-env@2.1.0 +[406] Applies to: npm:proxy-from-env@2.1.0 ------------------------------------------------------------------------------ The MIT License @@ -36761,7 +36814,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[405] Applies to: npm:qrcode@1.5.4 +[407] Applies to: npm:qrcode@1.5.4 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36774,7 +36827,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[406] Applies to: npm:qs@6.15.3 +[408] Applies to: npm:qs@6.15.3 ------------------------------------------------------------------------------ BSD 3-Clause License @@ -36807,7 +36860,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[407] Applies to: npm:range-parser@1.3.0 +[409] Applies to: npm:range-parser@1.3.0 ------------------------------------------------------------------------------ (The MIT License) @@ -36834,7 +36887,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[408] Applies to: npm:raw-body@3.0.2 +[410] Applies to: npm:raw-body@3.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36860,7 +36913,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[409] Applies to: npm:rc@1.2.8 +[411] Applies to: npm:rc@1.2.8 ------------------------------------------------------------------------------ Apache License, Version 2.0 @@ -36931,7 +36984,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[410] Applies to: npm:react@19.2.3, npm:react-dom@19.2.3, npm:scheduler@0.27.0, npm:use-sync-external-store@1.6.0 +[412] Applies to: npm:react-dom@19.2.3, npm:react@19.2.3, npm:scheduler@0.27.0, npm:use-sync-external-store@1.6.0 ------------------------------------------------------------------------------ MIT License @@ -36956,7 +37009,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[411] Applies to: npm:react-i18next@17.0.10 +[413] Applies to: npm:react-i18next@17.0.10 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -36981,7 +37034,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[412] Applies to: npm:react-markdown@10.1.0 +[414] Applies to: npm:react-markdown@10.1.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37006,7 +37059,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[413] Applies to: npm:react-router@7.18.1, npm:react-router-dom@7.18.1 +[415] Applies to: npm:react-router-dom@7.18.1, npm:react-router@7.18.1 ------------------------------------------------------------------------------ MIT License @@ -37033,7 +37086,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[414] Applies to: npm:readable-stream@2.3.8, npm:readable-stream@3.6.2, npm:string_decoder@1.1.1, npm:string_decoder@1.3.0 +[416] Applies to: npm:readable-stream@2.3.8, npm:readable-stream@3.6.2, npm:string_decoder@1.1.1, npm:string_decoder@1.3.0 ------------------------------------------------------------------------------ Node.js is licensed for use as follows: @@ -37084,7 +37137,7 @@ IN THE SOFTWARE. """ ------------------------------------------------------------------------------ -[415] Applies to: npm:remark-parse@11.0.0, npm:remark-stringify@11.0.0 +[417] Applies to: npm:remark-parse@11.0.0, npm:remark-stringify@11.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -37109,7 +37162,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[416] Applies to: npm:require-directory@2.1.1 +[418] Applies to: npm:require-directory@2.1.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37135,7 +37188,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[417] Applies to: npm:require-from-string@2.0.2 +[419] Applies to: npm:require-from-string@2.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37160,7 +37213,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[418] Applies to: npm:require-main-filename@2.0.0, npm:set-blocking@2.0.0, npm:yargs-parser@18.1.3 +[420] Applies to: npm:require-main-filename@2.0.0, npm:set-blocking@2.0.0, npm:yargs-parser@18.1.3 ------------------------------------------------------------------------------ Copyright (c) 2016, Contributors @@ -37178,7 +37231,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[419] Applies to: npm:robust-predicates@3.0.3, npm:tweetnacl@0.14.5 +[421] Applies to: npm:robust-predicates@3.0.3, npm:tweetnacl@0.14.5 ------------------------------------------------------------------------------ This is free and unencumbered software released into the public domain. @@ -37206,7 +37259,7 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ------------------------------------------------------------------------------ -[420] Applies to: npm:rope-sequence@1.3.4 +[422] Applies to: npm:rope-sequence@1.3.4 ------------------------------------------------------------------------------ Copyright (C) 2016 by Marijn Haverbeke @@ -37229,7 +37282,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[421] Applies to: npm:roughjs@4.6.6 +[423] Applies to: npm:roughjs@4.6.6 ------------------------------------------------------------------------------ MIT License @@ -37254,7 +37307,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[422] Applies to: npm:router@2.2.0 +[424] Applies to: npm:router@2.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -37281,7 +37334,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[423] Applies to: npm:rw@1.3.3 +[425] Applies to: npm:rw@1.3.3 ------------------------------------------------------------------------------ Copyright (c) 2014-2016, Michael Bostock All rights reserved. @@ -37311,7 +37364,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[424] Applies to: npm:safer-buffer@2.1.2 +[426] Applies to: npm:safer-buffer@2.1.2 ------------------------------------------------------------------------------ MIT License @@ -37336,7 +37389,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[425] Applies to: npm:section-matter@1.0.0 +[427] Applies to: npm:section-matter@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37361,7 +37414,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[426] Applies to: npm:send@1.2.1 +[428] Applies to: npm:send@1.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -37388,7 +37441,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[427] Applies to: npm:serve-static@2.2.1 +[429] Applies to: npm:serve-static@2.2.1 ------------------------------------------------------------------------------ (The MIT License) @@ -37417,7 +37470,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[428] Applies to: npm:set-cookie-parser@2.7.2 +[430] Applies to: npm:set-cookie-parser@2.7.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37442,7 +37495,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[429] Applies to: npm:setimmediate@1.0.5 +[431] Applies to: npm:setimmediate@1.0.5 ------------------------------------------------------------------------------ Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola @@ -37466,7 +37519,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[430] Applies to: npm:setprototypeof@1.2.0 +[432] Applies to: npm:setprototypeof@1.2.0 ------------------------------------------------------------------------------ Copyright (c) 2015, Wes Todd @@ -37483,7 +37536,7 @@ OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[431] Applies to: npm:shebang-command@2.0.0 +[433] Applies to: npm:shebang-command@2.0.0 ------------------------------------------------------------------------------ MIT License @@ -37496,7 +37549,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[432] Applies to: npm:side-channel@1.1.1, npm:side-channel-weakmap@1.0.2 +[434] Applies to: npm:side-channel-weakmap@1.0.2, npm:side-channel@1.1.1 ------------------------------------------------------------------------------ MIT License @@ -37521,7 +37574,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[433] Applies to: npm:signal-exit@3.0.7 +[435] Applies to: npm:signal-exit@3.0.7 ------------------------------------------------------------------------------ The ISC License @@ -37541,7 +37594,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[434] Applies to: npm:signal-exit@4.1.0 +[436] Applies to: npm:signal-exit@4.1.0 ------------------------------------------------------------------------------ The ISC License @@ -37561,7 +37614,7 @@ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[435] Applies to: npm:silk-wasm@3.7.1 +[437] Applies to: npm:silk-wasm@3.7.1 ------------------------------------------------------------------------------ MIT License @@ -37586,7 +37639,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[436] Applies to: npm:simple-concat@1.0.1, npm:simple-get@4.0.1 +[438] Applies to: npm:simple-concat@1.0.1, npm:simple-get@4.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37610,7 +37663,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[437] Applies to: npm:smol-toml@1.7.0 +[439] Applies to: npm:smol-toml@1.7.0 ------------------------------------------------------------------------------ Copyright (c) Squirrel Chat et al., All rights reserved. @@ -37638,7 +37691,7 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[438] Applies to: npm:sortablejs@1.15.7 +[440] Applies to: npm:sortablejs@1.15.7 ------------------------------------------------------------------------------ MIT License @@ -37663,7 +37716,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[439] Applies to: npm:sprintf-js@1.0.3 +[441] Applies to: npm:sprintf-js@1.0.3 ------------------------------------------------------------------------------ Copyright (c) 2007-2014, Alexandru Marasteanu All rights reserved. @@ -37691,7 +37744,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[440] Applies to: npm:ssh-config@5.2.0 +[442] Applies to: npm:ssh-config@5.2.0 ------------------------------------------------------------------------------ MIT License @@ -37716,7 +37769,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[441] Applies to: npm:statuses@2.0.2 +[443] Applies to: npm:statuses@2.0.2 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37742,7 +37795,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[442] Applies to: npm:strip-bom-string@1.0.0 +[444] Applies to: npm:strip-bom-string@1.0.0 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37767,7 +37820,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[443] Applies to: npm:style-mod@4.1.3 +[445] Applies to: npm:style-mod@4.1.3 ------------------------------------------------------------------------------ Copyright (C) 2018 by Marijn Haverbeke and others @@ -37790,7 +37843,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[444] Applies to: npm:style-to-js@1.1.21 +[446] Applies to: npm:style-to-js@1.1.21 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37816,7 +37869,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[445] Applies to: npm:style-to-object@1.0.14 +[447] Applies to: npm:style-to-object@1.0.14 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -37842,7 +37895,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[446] Applies to: npm:stylis@4.4.0 +[448] Applies to: npm:stylis@4.4.0 ------------------------------------------------------------------------------ MIT License @@ -37867,7 +37920,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[447] Applies to: npm:tailwind-merge@2.6.1 +[449] Applies to: npm:tailwind-merge@2.6.1 ------------------------------------------------------------------------------ MIT License @@ -37892,7 +37945,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[448] Applies to: npm:tinyexec@1.2.4 +[450] Applies to: npm:tinyexec@1.2.4 ------------------------------------------------------------------------------ MIT License @@ -37917,7 +37970,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[449] Applies to: npm:toidentifier@1.0.1 +[451] Applies to: npm:toidentifier@1.0.1 ------------------------------------------------------------------------------ MIT License @@ -37942,7 +37995,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[450] Applies to: npm:trough@2.2.0 +[452] Applies to: npm:trough@2.2.0 ------------------------------------------------------------------------------ (The MIT License) @@ -37967,7 +38020,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[451] Applies to: npm:ts-dedent@2.3.0 +[453] Applies to: npm:ts-dedent@2.3.0 ------------------------------------------------------------------------------ MIT License @@ -37992,7 +38045,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[452] Applies to: npm:ts-mixer@6.0.4 +[454] Applies to: npm:ts-mixer@6.0.4 ------------------------------------------------------------------------------ MIT License @@ -38017,7 +38070,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[453] Applies to: npm:tslib@2.8.1 +[455] Applies to: npm:tslib@2.8.1 ------------------------------------------------------------------------------ Copyright (c) Microsoft Corporation. @@ -38033,7 +38086,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[454] Applies to: npm:tslog@4.11.0 +[456] Applies to: npm:tslog@4.11.0 ------------------------------------------------------------------------------ MIT License @@ -38058,7 +38111,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[455] Applies to: npm:tunnel-agent@0.6.0 +[457] Applies to: npm:tunnel-agent@0.6.0 ------------------------------------------------------------------------------ Apache License @@ -38117,7 +38170,7 @@ If the Work includes a "NOTICE" text file as part of its distribution, then any END OF TERMS AND CONDITIONS ------------------------------------------------------------------------------ -[456] Applies to: npm:type-fest@0.20.2 +[458] Applies to: npm:type-fest@0.20.2 ------------------------------------------------------------------------------ MIT License @@ -38130,7 +38183,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[457] Applies to: npm:typebox@1.1.39 +[459] Applies to: npm:typebox@1.1.39 ------------------------------------------------------------------------------ TypeBox @@ -38157,7 +38210,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[458] Applies to: npm:undici@6.27.0, npm:undici@8.7.0, npm:undici-types@7.24.6 +[460] Applies to: npm:undici-types@7.24.6, npm:undici@6.27.0, npm:undici@8.7.0 ------------------------------------------------------------------------------ MIT License @@ -38182,7 +38235,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[459] Applies to: npm:unified@11.0.5, npm:vfile@6.0.3 +[461] Applies to: npm:unified@11.0.5, npm:vfile@6.0.3 ------------------------------------------------------------------------------ (The MIT License) @@ -38207,7 +38260,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[460] Applies to: npm:unist-util-is@6.0.1 +[462] Applies to: npm:unist-util-is@6.0.1 ------------------------------------------------------------------------------ (The MIT license) @@ -38233,7 +38286,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[461] Applies to: npm:universalify@2.0.1 +[463] Applies to: npm:universalify@2.0.1 ------------------------------------------------------------------------------ (The MIT License) @@ -38257,7 +38310,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[462] Applies to: npm:unpipe@1.0.0 +[464] Applies to: npm:unpipe@1.0.0 ------------------------------------------------------------------------------ (The MIT License) @@ -38283,7 +38336,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[463] Applies to: npm:uri-js@4.4.1 +[465] Applies to: npm:uri-js@4.4.1 ------------------------------------------------------------------------------ Copyright 2011 Gary Court. All rights reserved. @@ -38298,7 +38351,7 @@ THIS SOFTWARE IS PROVIDED BY GARY COURT "AS IS" AND ANY EXPRESS OR IMPLIED WARRA The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Gary Court. ------------------------------------------------------------------------------ -[464] Applies to: npm:url-template@2.0.8 +[466] Applies to: npm:url-template@2.0.8 ------------------------------------------------------------------------------ Copyright (c) 2012-2014, Bram Stein All rights reserved. @@ -38327,7 +38380,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -[465] Applies to: npm:util-deprecate@1.0.2 +[467] Applies to: npm:util-deprecate@1.0.2 ------------------------------------------------------------------------------ (The MIT License) @@ -38355,7 +38408,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[466] Applies to: npm:uuid@14.0.1 +[468] Applies to: npm:uuid@14.0.1 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -38368,7 +38421,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[467] Applies to: npm:void-elements@3.1.0 +[469] Applies to: npm:void-elements@3.1.0 ------------------------------------------------------------------------------ (The MIT License) @@ -38394,7 +38447,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[468] Applies to: npm:web-streams-polyfill@3.3.3 +[470] Applies to: npm:web-streams-polyfill@3.3.3 ------------------------------------------------------------------------------ The MIT License (MIT) @@ -38420,7 +38473,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[469] Applies to: npm:which-module@2.0.1 +[471] Applies to: npm:which-module@2.0.1 ------------------------------------------------------------------------------ Copyright (c) 2016, Contributors @@ -38437,7 +38490,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[470] Applies to: npm:workerpool@9.1.1 +[472] Applies to: npm:workerpool@9.1.1 ------------------------------------------------------------------------------ Apache License Version 2.0, January 2004 @@ -38642,7 +38695,7 @@ Apache License limitations under the License. ------------------------------------------------------------------------------ -[471] Applies to: npm:ws@8.21.1 +[473] Applies to: npm:ws@8.21.1 ------------------------------------------------------------------------------ Copyright (c) 2011 Einar Otto Stangvik Copyright (c) 2013 Arnout Kazemier and contributors @@ -38666,7 +38719,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[472] Applies to: npm:y18n@4.0.3 +[474] Applies to: npm:y18n@4.0.3 ------------------------------------------------------------------------------ Copyright (c) 2015, Contributors @@ -38683,7 +38736,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ------------------------------------------------------------------------------ -[473] Applies to: npm:yargs@15.4.1 +[475] Applies to: npm:yargs@15.4.1 ------------------------------------------------------------------------------ MIT License @@ -38708,7 +38761,26 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ -[474] Applies to: npm:zod@4.3.6 +[476] Applies to: npm:zod-to-json-schema@3.25.2 +------------------------------------------------------------------------------ +ISC License + +Copyright (c) 2020, Stefan Terdell + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------------------ +[477] Applies to: npm:zod@4.3.6 ------------------------------------------------------------------------------ MIT License @@ -38732,44 +38804,25 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -[475] Applies to: npm:zod-to-json-schema@3.25.2 ------------------------------------------------------------------------------- -ISC License - -Copyright (c) 2020, Stefan Terdell - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ------------------------------------------------------------------------------ Packages without a standalone license file (license per package.json): ------------------------------------------------------------------------------ - cargo:alloc-stdlib@0.2.4 (BSD-3-Clause) - cargo:selectors@0.36.1 (MPL-2.0) -- cargo:tauri@2.11.5 (Apache-2.0 OR MIT) - cargo:tauri-codegen@2.6.3 (Apache-2.0 OR MIT) - cargo:tauri-macros@2.6.3 (Apache-2.0 OR MIT) -- cargo:tauri-runtime@2.11.3 (Apache-2.0 OR MIT) - cargo:tauri-runtime-wry@2.11.4 (Apache-2.0 OR MIT) +- cargo:tauri-runtime@2.11.3 (Apache-2.0 OR MIT) - cargo:tauri-utils@2.9.3 (Apache-2.0 OR MIT) +- cargo:tauri@2.11.5 (Apache-2.0 OR MIT) - cargo:unic-char-property@0.9.0 (MIT OR Apache-2.0) - cargo:unic-char-range@0.9.0 (MIT OR Apache-2.0) - cargo:unic-common@0.9.0 (MIT OR Apache-2.0) - cargo:unic-ucd-ident@0.9.0 (MIT OR Apache-2.0) - cargo:unic-ucd-version@0.9.0 (MIT OR Apache-2.0) -- cargo:webview2-com@0.38.2 (MIT) - cargo:webview2-com-macros@0.8.1 (MIT) - cargo:webview2-com-sys@0.38.2 (MIT) +- cargo:webview2-com@0.38.2 (MIT) - npm:@chinese-fonts/font-contours@1.0.0 (ISC) - npm:@googleapis/calendar@15.0.0 (Apache-2.0) - npm:@googleapis/drive@20.2.0 (Apache-2.0) @@ -38777,10 +38830,11 @@ Packages without a standalone license file (license per package.json): - npm:@googleapis/sheets@13.0.2 (Apache-2.0) - npm:@lit-labs/ssr-dom-shim@1.6.0 (BSD-3-Clause) - npm:@napi-rs/canvas-win32-x64-msvc@0.1.100 (MIT) -- npm:@napi-rs/woff-build@0.2.2 (MIT) - npm:@napi-rs/woff-build-win32-x64-msvc@0.2.2 (MIT) +- npm:@napi-rs/woff-build@0.2.2 (MIT) - npm:@sapphire/async-queue@1.5.5 (MIT) - npm:@sapphire/snowflake@3.5.5 (MIT) +- npm:@wecom/aibot-node-sdk@1.0.7 (MIT) - npm:agent-base@6.0.2 (MIT) - npm:data-uri-to-buffer@4.0.1 (MIT) - npm:drizzle-orm@0.45.2 (Apache-2.0) diff --git a/docs/legal/notices/sbom/desktop-linux.spdx.json b/docs/legal/notices/sbom/desktop-linux.spdx.json index cd3151872db..07feca7ebde 100644 --- a/docs/legal/notices/sbom/desktop-linux.spdx.json +++ b/docs/legal/notices/sbom/desktop-linux.spdx.json @@ -3,7 +3,7 @@ "dataLicense": "CC0-1.0", "SPDXID": "SPDXRef-DOCUMENT", "name": "cindy-desktop-linux", - "documentNamespace": "https://cindy.app/spdx/desktop-linux/3de28c6999b2a84a3b7670006064475e8501052279f386fa3792034e4013eac8", + "documentNamespace": "https://cindy.app/spdx/desktop-linux/fcc47c4d85d315735bdaff4cdddbea8e47ff9bb01830e8ae9458f0a8fbfe5728", "creationInfo": { "created": "2026-07-30T07:20:40Z", "creators": [ @@ -3643,6 +3643,23 @@ } ] }, + { + "name": "@wecom/aibot-node-sdk", + "SPDXID": "SPDXRef-Package-52dee735109446cd", + "versionInfo": "1.0.7", + "downloadLocation": "https://github.com/WecomTeam/aibot-node-sdk", + "filesAnalyzed": false, + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "copyrightText": "NOASSERTION", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceType": "purl", + "referenceLocator": "pkg:npm/%40wecom/aibot-node-sdk@1.0.7" + } + ] + }, { "name": "@xterm/addon-clipboard", "SPDXID": "SPDXRef-Package-8eaddaef2aabf7b6", @@ -5836,6 +5853,23 @@ } ] }, + { + "name": "dingtalk-stream", + "SPDXID": "SPDXRef-Package-90f04b6ed7221e7d", + "versionInfo": "v2.1.5", + "downloadLocation": "https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs", + "filesAnalyzed": false, + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "copyrightText": "NOASSERTION", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceType": "purl", + "referenceLocator": "pkg:npm/dingtalk-stream@v2.1.5" + } + ] + }, { "name": "discord-api-types", "SPDXID": "SPDXRef-Package-c1fb6106ccdf0317", @@ -6312,6 +6346,23 @@ } ] }, + { + "name": "eventemitter3", + "SPDXID": "SPDXRef-Package-858b4b7f616d0453", + "versionInfo": "5.0.4", + "downloadLocation": "https://github.com/primus/eventemitter3", + "filesAnalyzed": false, + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "copyrightText": "NOASSERTION", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceType": "purl", + "referenceLocator": "pkg:npm/eventemitter3@5.0.4" + } + ] + }, { "name": "eventsource", "SPDXID": "SPDXRef-Package-7745d9a4d63f4b5e", @@ -14617,6 +14668,11 @@ "relationshipType": "DESCRIBES", "relatedSpdxElement": "SPDXRef-Package-f36a830582156a52" }, + { + "spdxElementId": "SPDXRef-DOCUMENT", + "relationshipType": "DESCRIBES", + "relatedSpdxElement": "SPDXRef-Package-52dee735109446cd" + }, { "spdxElementId": "SPDXRef-DOCUMENT", "relationshipType": "DESCRIBES", @@ -15262,6 +15318,11 @@ "relationshipType": "DESCRIBES", "relatedSpdxElement": "SPDXRef-Package-ea564ccce08c858a" }, + { + "spdxElementId": "SPDXRef-DOCUMENT", + "relationshipType": "DESCRIBES", + "relatedSpdxElement": "SPDXRef-Package-90f04b6ed7221e7d" + }, { "spdxElementId": "SPDXRef-DOCUMENT", "relationshipType": "DESCRIBES", @@ -15402,6 +15463,11 @@ "relationshipType": "DESCRIBES", "relatedSpdxElement": "SPDXRef-Package-51fac920df3d7558" }, + { + "spdxElementId": "SPDXRef-DOCUMENT", + "relationshipType": "DESCRIBES", + "relatedSpdxElement": "SPDXRef-Package-858b4b7f616d0453" + }, { "spdxElementId": "SPDXRef-DOCUMENT", "relationshipType": "DESCRIBES", @@ -17525,16 +17591,16 @@ ], "hasExtractedLicensingInfos": [ { - "licenseId": "LicenseRef-Sharp-Third-Party-Licenses", - "extractedText": "### bundled:@img/sharp-libvips-linux-arm64 embedded native libraries@1.3.2\n\n# `@img/sharp-libvips-linux-arm64`\n\nPrebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM.\n\n## Licensing\n\nThis software contains third-party libraries\nused under the terms of the following licenses:\n\n| Library | Used under the terms of |\n|---------------|-----------------------------------------------------------------------------------------------------------|\n| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |\n| cairo | Mozilla Public License 2.0 |\n| cgif | MIT License |\n| expat | MIT License |\n| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |\n| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |\n| fribidi | LGPLv3 |\n| glib | LGPLv3 |\n| harfbuzz | MIT License |\n| highway | BSD 3-Clause |\n| lcms | MIT License |\n| libarchive | BSD 2-Clause |\n| libexif | LGPLv3 |\n| libffi | MIT License |\n| libheif | LGPLv3 |\n| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |\n| libnsgif | MIT License |\n| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |\n| librsvg | LGPLv3 |\n| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |\n| libultrahdr | MIT License |\n| libvips | LGPLv3 |\n| libwebp | New BSD License |\n| libxml2 | MIT License |\n| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |\n| pango | LGPLv3 |\n| pixman | MIT License |\n| proxy-libintl | LGPLv3 |\n| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |\n\nUse of libraries under the terms of the LGPLv3 is via the\n\"any later version\" clause of the LGPLv2 or LGPLv2.1.\n\nPlease report any errors or omissions via\nhttps://github.com/lovell/sharp-libvips/issues/new\n\nExact bundled library versions:\n{\n \"aom\": \"3.14.1\",\n \"archive\": \"3.8.8\",\n \"cairo\": \"1.18.4\",\n \"cgif\": \"0.5.3\",\n \"exif\": \"0.6.26\",\n \"expat\": \"2.8.2\",\n \"ffi\": \"3.6.0\",\n \"fontconfig\": \"2.18.1\",\n \"freetype\": \"2.14.3\",\n \"fribidi\": \"1.0.16\",\n \"glib\": \"2.89.1\",\n \"harfbuzz\": \"14.2.1\",\n \"heif\": \"1.23.1\",\n \"highway\": \"1.4.0\",\n \"imagequant\": \"2.4.1\",\n \"lcms\": \"2.19.1\",\n \"mozjpeg\": \"0826579\",\n \"pango\": \"1.58.0\",\n \"pixman\": \"0.46.4\",\n \"png\": \"1.6.58\",\n \"proxy-libintl\": \"0.5\",\n \"rsvg\": \"2.62.90\",\n \"tiff\": \"d01a94b\",\n \"uhdr\": \"1acdbed\",\n \"vips\": \"8.18.3\",\n \"webp\": \"1.6.0\",\n \"xml2\": \"2.15.3\",\n \"zlib-ng\": \"2.3.3\"\n}\n\nCorresponding build recipes and pinned upstream source locations are available at the exact sharp-libvips tag above. The bundled libvips version is 8.18.3.\n\n------------------------------------------------------------------------\n\n### bundled:@img/sharp-libvips-linux-x64 embedded native libraries@1.3.2\n\n# `@img/sharp-libvips-linux-x64`\n\nPrebuilt libvips and dependencies for use with sharp on Linux (glibc) x64.\n\n## Licensing\n\nThis software contains third-party libraries\nused under the terms of the following licenses:\n\n| Library | Used under the terms of |\n|---------------|-----------------------------------------------------------------------------------------------------------|\n| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |\n| cairo | Mozilla Public License 2.0 |\n| cgif | MIT License |\n| expat | MIT License |\n| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |\n| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |\n| fribidi | LGPLv3 |\n| glib | LGPLv3 |\n| harfbuzz | MIT License |\n| highway | BSD 3-Clause |\n| lcms | MIT License |\n| libarchive | BSD 2-Clause |\n| libexif | LGPLv3 |\n| libffi | MIT License |\n| libheif | LGPLv3 |\n| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |\n| libnsgif | MIT License |\n| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |\n| librsvg | LGPLv3 |\n| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |\n| libultrahdr | MIT License |\n| libvips | LGPLv3 |\n| libwebp | New BSD License |\n| libxml2 | MIT License |\n| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |\n| pango | LGPLv3 |\n| pixman | MIT License |\n| proxy-libintl | LGPLv3 |\n| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |\n\nUse of libraries under the terms of the LGPLv3 is via the\n\"any later version\" clause of the LGPLv2 or LGPLv2.1.\n\nPlease report any errors or omissions via\nhttps://github.com/lovell/sharp-libvips/issues/new\n\nExact bundled library versions:\n{\n \"aom\": \"3.14.1\",\n \"archive\": \"3.8.8\",\n \"cairo\": \"1.18.4\",\n \"cgif\": \"0.5.3\",\n \"exif\": \"0.6.26\",\n \"expat\": \"2.8.2\",\n \"ffi\": \"3.6.0\",\n \"fontconfig\": \"2.18.1\",\n \"freetype\": \"2.14.3\",\n \"fribidi\": \"1.0.16\",\n \"glib\": \"2.89.1\",\n \"harfbuzz\": \"14.2.1\",\n \"heif\": \"1.23.1\",\n \"highway\": \"1.4.0\",\n \"imagequant\": \"2.4.1\",\n \"lcms\": \"2.19.1\",\n \"mozjpeg\": \"0826579\",\n \"pango\": \"1.58.0\",\n \"pixman\": \"0.46.4\",\n \"png\": \"1.6.58\",\n \"proxy-libintl\": \"0.5\",\n \"rsvg\": \"2.62.90\",\n \"tiff\": \"d01a94b\",\n \"uhdr\": \"1acdbed\",\n \"vips\": \"8.18.3\",\n \"webp\": \"1.6.0\",\n \"xml2\": \"2.15.3\",\n \"zlib-ng\": \"2.3.3\"\n}\n\nCorresponding build recipes and pinned upstream source locations are available at the exact sharp-libvips tag above. The bundled libvips version is 8.18.3." + "licenseId": "LicenseRef-BSD-Variant", + "extractedText": "Copyright (c) 2012-2014, Bram Stein\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n 3. The name of the author may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\nWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\nEVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\nINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\nOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\nEVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." }, { "licenseId": "LicenseRef-Public-Domain", "extractedText": "SQLite is in the public domain. See https://sqlite.org/copyright.html" }, { - "licenseId": "LicenseRef-BSD-Variant", - "extractedText": "Copyright (c) 2012-2014, Bram Stein\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n 3. The name of the author may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\nWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\nEVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\nINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\nOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\nEVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + "licenseId": "LicenseRef-Sharp-Third-Party-Licenses", + "extractedText": "### bundled:@img/sharp-libvips-linux-arm64 embedded native libraries@1.3.2\n\n# `@img/sharp-libvips-linux-arm64`\n\nPrebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM.\n\n## Licensing\n\nThis software contains third-party libraries\nused under the terms of the following licenses:\n\n| Library | Used under the terms of |\n|---------------|-----------------------------------------------------------------------------------------------------------|\n| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |\n| cairo | Mozilla Public License 2.0 |\n| cgif | MIT License |\n| expat | MIT License |\n| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |\n| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |\n| fribidi | LGPLv3 |\n| glib | LGPLv3 |\n| harfbuzz | MIT License |\n| highway | BSD 3-Clause |\n| lcms | MIT License |\n| libarchive | BSD 2-Clause |\n| libexif | LGPLv3 |\n| libffi | MIT License |\n| libheif | LGPLv3 |\n| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |\n| libnsgif | MIT License |\n| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |\n| librsvg | LGPLv3 |\n| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |\n| libultrahdr | MIT License |\n| libvips | LGPLv3 |\n| libwebp | New BSD License |\n| libxml2 | MIT License |\n| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |\n| pango | LGPLv3 |\n| pixman | MIT License |\n| proxy-libintl | LGPLv3 |\n| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |\n\nUse of libraries under the terms of the LGPLv3 is via the\n\"any later version\" clause of the LGPLv2 or LGPLv2.1.\n\nPlease report any errors or omissions via\nhttps://github.com/lovell/sharp-libvips/issues/new\n\nExact bundled library versions:\n{\n \"aom\": \"3.14.1\",\n \"archive\": \"3.8.8\",\n \"cairo\": \"1.18.4\",\n \"cgif\": \"0.5.3\",\n \"exif\": \"0.6.26\",\n \"expat\": \"2.8.2\",\n \"ffi\": \"3.6.0\",\n \"fontconfig\": \"2.18.1\",\n \"freetype\": \"2.14.3\",\n \"fribidi\": \"1.0.16\",\n \"glib\": \"2.89.1\",\n \"harfbuzz\": \"14.2.1\",\n \"heif\": \"1.23.1\",\n \"highway\": \"1.4.0\",\n \"imagequant\": \"2.4.1\",\n \"lcms\": \"2.19.1\",\n \"mozjpeg\": \"0826579\",\n \"pango\": \"1.58.0\",\n \"pixman\": \"0.46.4\",\n \"png\": \"1.6.58\",\n \"proxy-libintl\": \"0.5\",\n \"rsvg\": \"2.62.90\",\n \"tiff\": \"d01a94b\",\n \"uhdr\": \"1acdbed\",\n \"vips\": \"8.18.3\",\n \"webp\": \"1.6.0\",\n \"xml2\": \"2.15.3\",\n \"zlib-ng\": \"2.3.3\"\n}\n\nCorresponding build recipes and pinned upstream source locations are available at the exact sharp-libvips tag above. The bundled libvips version is 8.18.3.\n\n------------------------------------------------------------------------\n\n### bundled:@img/sharp-libvips-linux-x64 embedded native libraries@1.3.2\n\n# `@img/sharp-libvips-linux-x64`\n\nPrebuilt libvips and dependencies for use with sharp on Linux (glibc) x64.\n\n## Licensing\n\nThis software contains third-party libraries\nused under the terms of the following licenses:\n\n| Library | Used under the terms of |\n|---------------|-----------------------------------------------------------------------------------------------------------|\n| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |\n| cairo | Mozilla Public License 2.0 |\n| cgif | MIT License |\n| expat | MIT License |\n| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |\n| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |\n| fribidi | LGPLv3 |\n| glib | LGPLv3 |\n| harfbuzz | MIT License |\n| highway | BSD 3-Clause |\n| lcms | MIT License |\n| libarchive | BSD 2-Clause |\n| libexif | LGPLv3 |\n| libffi | MIT License |\n| libheif | LGPLv3 |\n| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |\n| libnsgif | MIT License |\n| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |\n| librsvg | LGPLv3 |\n| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |\n| libultrahdr | MIT License |\n| libvips | LGPLv3 |\n| libwebp | New BSD License |\n| libxml2 | MIT License |\n| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |\n| pango | LGPLv3 |\n| pixman | MIT License |\n| proxy-libintl | LGPLv3 |\n| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |\n\nUse of libraries under the terms of the LGPLv3 is via the\n\"any later version\" clause of the LGPLv2 or LGPLv2.1.\n\nPlease report any errors or omissions via\nhttps://github.com/lovell/sharp-libvips/issues/new\n\nExact bundled library versions:\n{\n \"aom\": \"3.14.1\",\n \"archive\": \"3.8.8\",\n \"cairo\": \"1.18.4\",\n \"cgif\": \"0.5.3\",\n \"exif\": \"0.6.26\",\n \"expat\": \"2.8.2\",\n \"ffi\": \"3.6.0\",\n \"fontconfig\": \"2.18.1\",\n \"freetype\": \"2.14.3\",\n \"fribidi\": \"1.0.16\",\n \"glib\": \"2.89.1\",\n \"harfbuzz\": \"14.2.1\",\n \"heif\": \"1.23.1\",\n \"highway\": \"1.4.0\",\n \"imagequant\": \"2.4.1\",\n \"lcms\": \"2.19.1\",\n \"mozjpeg\": \"0826579\",\n \"pango\": \"1.58.0\",\n \"pixman\": \"0.46.4\",\n \"png\": \"1.6.58\",\n \"proxy-libintl\": \"0.5\",\n \"rsvg\": \"2.62.90\",\n \"tiff\": \"d01a94b\",\n \"uhdr\": \"1acdbed\",\n \"vips\": \"8.18.3\",\n \"webp\": \"1.6.0\",\n \"xml2\": \"2.15.3\",\n \"zlib-ng\": \"2.3.3\"\n}\n\nCorresponding build recipes and pinned upstream source locations are available at the exact sharp-libvips tag above. The bundled libvips version is 8.18.3." } ] } diff --git a/docs/legal/notices/sbom/desktop-macos.spdx.json b/docs/legal/notices/sbom/desktop-macos.spdx.json index 1f6fdc70420..0008fbcec86 100644 --- a/docs/legal/notices/sbom/desktop-macos.spdx.json +++ b/docs/legal/notices/sbom/desktop-macos.spdx.json @@ -3,7 +3,7 @@ "dataLicense": "CC0-1.0", "SPDXID": "SPDXRef-DOCUMENT", "name": "cindy-desktop-macos", - "documentNamespace": "https://cindy.app/spdx/desktop-macos/903c5e1fd554ff11270f5a1fba34a763bb9baf433fe133dd4beea0cadb98c5b6", + "documentNamespace": "https://cindy.app/spdx/desktop-macos/ea1f202c24b63dcf936e9ea5f061ce5b580761846c102c5aa302f4dda05c2c9f", "creationInfo": { "created": "2026-07-30T07:20:40Z", "creators": [ @@ -3653,6 +3653,23 @@ } ] }, + { + "name": "@wecom/aibot-node-sdk", + "SPDXID": "SPDXRef-Package-52dee735109446cd", + "versionInfo": "1.0.7", + "downloadLocation": "https://github.com/WecomTeam/aibot-node-sdk", + "filesAnalyzed": false, + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "copyrightText": "NOASSERTION", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceType": "purl", + "referenceLocator": "pkg:npm/%40wecom/aibot-node-sdk@1.0.7" + } + ] + }, { "name": "@xterm/addon-clipboard", "SPDXID": "SPDXRef-Package-8eaddaef2aabf7b6", @@ -5846,6 +5863,23 @@ } ] }, + { + "name": "dingtalk-stream", + "SPDXID": "SPDXRef-Package-90f04b6ed7221e7d", + "versionInfo": "v2.1.5", + "downloadLocation": "https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs", + "filesAnalyzed": false, + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "copyrightText": "NOASSERTION", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceType": "purl", + "referenceLocator": "pkg:npm/dingtalk-stream@v2.1.5" + } + ] + }, { "name": "discord-api-types", "SPDXID": "SPDXRef-Package-c1fb6106ccdf0317", @@ -6322,6 +6356,23 @@ } ] }, + { + "name": "eventemitter3", + "SPDXID": "SPDXRef-Package-858b4b7f616d0453", + "versionInfo": "5.0.4", + "downloadLocation": "https://github.com/primus/eventemitter3", + "filesAnalyzed": false, + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "copyrightText": "NOASSERTION", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceType": "purl", + "referenceLocator": "pkg:npm/eventemitter3@5.0.4" + } + ] + }, { "name": "eventsource", "SPDXID": "SPDXRef-Package-7745d9a4d63f4b5e", @@ -14632,6 +14683,11 @@ "relationshipType": "DESCRIBES", "relatedSpdxElement": "SPDXRef-Package-f36a830582156a52" }, + { + "spdxElementId": "SPDXRef-DOCUMENT", + "relationshipType": "DESCRIBES", + "relatedSpdxElement": "SPDXRef-Package-52dee735109446cd" + }, { "spdxElementId": "SPDXRef-DOCUMENT", "relationshipType": "DESCRIBES", @@ -15277,6 +15333,11 @@ "relationshipType": "DESCRIBES", "relatedSpdxElement": "SPDXRef-Package-ea564ccce08c858a" }, + { + "spdxElementId": "SPDXRef-DOCUMENT", + "relationshipType": "DESCRIBES", + "relatedSpdxElement": "SPDXRef-Package-90f04b6ed7221e7d" + }, { "spdxElementId": "SPDXRef-DOCUMENT", "relationshipType": "DESCRIBES", @@ -15417,6 +15478,11 @@ "relationshipType": "DESCRIBES", "relatedSpdxElement": "SPDXRef-Package-51fac920df3d7558" }, + { + "spdxElementId": "SPDXRef-DOCUMENT", + "relationshipType": "DESCRIBES", + "relatedSpdxElement": "SPDXRef-Package-858b4b7f616d0453" + }, { "spdxElementId": "SPDXRef-DOCUMENT", "relationshipType": "DESCRIBES", @@ -17540,16 +17606,16 @@ ], "hasExtractedLicensingInfos": [ { - "licenseId": "LicenseRef-Sharp-Third-Party-Licenses", - "extractedText": "### bundled:@img/sharp-libvips-darwin-arm64 embedded native libraries@1.3.2\n\n# `@img/sharp-libvips-darwin-arm64`\n\nPrebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM.\n\n## Licensing\n\nThis software contains third-party libraries\nused under the terms of the following licenses:\n\n| Library | Used under the terms of |\n|---------------|-----------------------------------------------------------------------------------------------------------|\n| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |\n| cairo | Mozilla Public License 2.0 |\n| cgif | MIT License |\n| expat | MIT License |\n| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |\n| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |\n| fribidi | LGPLv3 |\n| glib | LGPLv3 |\n| harfbuzz | MIT License |\n| highway | BSD 3-Clause |\n| lcms | MIT License |\n| libarchive | BSD 2-Clause |\n| libexif | LGPLv3 |\n| libffi | MIT License |\n| libheif | LGPLv3 |\n| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |\n| libnsgif | MIT License |\n| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |\n| librsvg | LGPLv3 |\n| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |\n| libultrahdr | MIT License |\n| libvips | LGPLv3 |\n| libwebp | New BSD License |\n| libxml2 | MIT License |\n| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |\n| pango | LGPLv3 |\n| pixman | MIT License |\n| proxy-libintl | LGPLv3 |\n| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |\n\nUse of libraries under the terms of the LGPLv3 is via the\n\"any later version\" clause of the LGPLv2 or LGPLv2.1.\n\nPlease report any errors or omissions via\nhttps://github.com/lovell/sharp-libvips/issues/new\n\nExact bundled library versions:\n{\n \"aom\": \"3.14.1\",\n \"archive\": \"3.8.8\",\n \"cairo\": \"1.18.4\",\n \"cgif\": \"0.5.3\",\n \"exif\": \"0.6.26\",\n \"expat\": \"2.8.2\",\n \"ffi\": \"3.6.0\",\n \"fontconfig\": \"2.18.1\",\n \"freetype\": \"2.14.3\",\n \"fribidi\": \"1.0.16\",\n \"glib\": \"2.89.1\",\n \"harfbuzz\": \"14.2.1\",\n \"heif\": \"1.23.1\",\n \"highway\": \"1.4.0\",\n \"imagequant\": \"2.4.1\",\n \"lcms\": \"2.19.1\",\n \"mozjpeg\": \"0826579\",\n \"pango\": \"1.58.0\",\n \"pixman\": \"0.46.4\",\n \"png\": \"1.6.58\",\n \"proxy-libintl\": \"0.5\",\n \"rsvg\": \"2.62.90\",\n \"tiff\": \"d01a94b\",\n \"uhdr\": \"1acdbed\",\n \"vips\": \"8.18.3\",\n \"webp\": \"1.6.0\",\n \"xml2\": \"2.15.3\",\n \"zlib-ng\": \"2.3.3\"\n}\n\nCorresponding build recipes and pinned upstream source locations are available at the exact sharp-libvips tag above. The bundled libvips version is 8.18.3.\n\n------------------------------------------------------------------------\n\n### bundled:@img/sharp-libvips-darwin-x64 embedded native libraries@1.3.2\n\n# `@img/sharp-libvips-darwin-x64`\n\nPrebuilt libvips and dependencies for use with sharp on macOS x64.\n\n## Licensing\n\nThis software contains third-party libraries\nused under the terms of the following licenses:\n\n| Library | Used under the terms of |\n|---------------|-----------------------------------------------------------------------------------------------------------|\n| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |\n| cairo | Mozilla Public License 2.0 |\n| cgif | MIT License |\n| expat | MIT License |\n| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |\n| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |\n| fribidi | LGPLv3 |\n| glib | LGPLv3 |\n| harfbuzz | MIT License |\n| highway | BSD 3-Clause |\n| lcms | MIT License |\n| libarchive | BSD 2-Clause |\n| libexif | LGPLv3 |\n| libffi | MIT License |\n| libheif | LGPLv3 |\n| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |\n| libnsgif | MIT License |\n| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |\n| librsvg | LGPLv3 |\n| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |\n| libultrahdr | MIT License |\n| libvips | LGPLv3 |\n| libwebp | New BSD License |\n| libxml2 | MIT License |\n| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |\n| pango | LGPLv3 |\n| pixman | MIT License |\n| proxy-libintl | LGPLv3 |\n| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |\n\nUse of libraries under the terms of the LGPLv3 is via the\n\"any later version\" clause of the LGPLv2 or LGPLv2.1.\n\nPlease report any errors or omissions via\nhttps://github.com/lovell/sharp-libvips/issues/new\n\nExact bundled library versions:\n{\n \"aom\": \"3.14.1\",\n \"archive\": \"3.8.8\",\n \"cairo\": \"1.18.4\",\n \"cgif\": \"0.5.3\",\n \"exif\": \"0.6.26\",\n \"expat\": \"2.8.2\",\n \"ffi\": \"3.6.0\",\n \"fontconfig\": \"2.18.1\",\n \"freetype\": \"2.14.3\",\n \"fribidi\": \"1.0.16\",\n \"glib\": \"2.89.1\",\n \"harfbuzz\": \"14.2.1\",\n \"heif\": \"1.23.1\",\n \"highway\": \"1.4.0\",\n \"imagequant\": \"2.4.1\",\n \"lcms\": \"2.19.1\",\n \"mozjpeg\": \"0826579\",\n \"pango\": \"1.58.0\",\n \"pixman\": \"0.46.4\",\n \"png\": \"1.6.58\",\n \"proxy-libintl\": \"0.5\",\n \"rsvg\": \"2.62.90\",\n \"tiff\": \"d01a94b\",\n \"uhdr\": \"1acdbed\",\n \"vips\": \"8.18.3\",\n \"webp\": \"1.6.0\",\n \"xml2\": \"2.15.3\",\n \"zlib-ng\": \"2.3.3\"\n}\n\nCorresponding build recipes and pinned upstream source locations are available at the exact sharp-libvips tag above. The bundled libvips version is 8.18.3." + "licenseId": "LicenseRef-BSD-Variant", + "extractedText": "Copyright (c) 2012-2014, Bram Stein\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n 3. The name of the author may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\nWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\nEVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\nINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\nOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\nEVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." }, { "licenseId": "LicenseRef-Public-Domain", "extractedText": "SQLite is in the public domain. See https://sqlite.org/copyright.html" }, { - "licenseId": "LicenseRef-BSD-Variant", - "extractedText": "Copyright (c) 2012-2014, Bram Stein\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n 3. The name of the author may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\nWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\nEVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\nINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\nOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\nEVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + "licenseId": "LicenseRef-Sharp-Third-Party-Licenses", + "extractedText": "### bundled:@img/sharp-libvips-darwin-arm64 embedded native libraries@1.3.2\n\n# `@img/sharp-libvips-darwin-arm64`\n\nPrebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM.\n\n## Licensing\n\nThis software contains third-party libraries\nused under the terms of the following licenses:\n\n| Library | Used under the terms of |\n|---------------|-----------------------------------------------------------------------------------------------------------|\n| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |\n| cairo | Mozilla Public License 2.0 |\n| cgif | MIT License |\n| expat | MIT License |\n| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |\n| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |\n| fribidi | LGPLv3 |\n| glib | LGPLv3 |\n| harfbuzz | MIT License |\n| highway | BSD 3-Clause |\n| lcms | MIT License |\n| libarchive | BSD 2-Clause |\n| libexif | LGPLv3 |\n| libffi | MIT License |\n| libheif | LGPLv3 |\n| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |\n| libnsgif | MIT License |\n| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |\n| librsvg | LGPLv3 |\n| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |\n| libultrahdr | MIT License |\n| libvips | LGPLv3 |\n| libwebp | New BSD License |\n| libxml2 | MIT License |\n| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |\n| pango | LGPLv3 |\n| pixman | MIT License |\n| proxy-libintl | LGPLv3 |\n| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |\n\nUse of libraries under the terms of the LGPLv3 is via the\n\"any later version\" clause of the LGPLv2 or LGPLv2.1.\n\nPlease report any errors or omissions via\nhttps://github.com/lovell/sharp-libvips/issues/new\n\nExact bundled library versions:\n{\n \"aom\": \"3.14.1\",\n \"archive\": \"3.8.8\",\n \"cairo\": \"1.18.4\",\n \"cgif\": \"0.5.3\",\n \"exif\": \"0.6.26\",\n \"expat\": \"2.8.2\",\n \"ffi\": \"3.6.0\",\n \"fontconfig\": \"2.18.1\",\n \"freetype\": \"2.14.3\",\n \"fribidi\": \"1.0.16\",\n \"glib\": \"2.89.1\",\n \"harfbuzz\": \"14.2.1\",\n \"heif\": \"1.23.1\",\n \"highway\": \"1.4.0\",\n \"imagequant\": \"2.4.1\",\n \"lcms\": \"2.19.1\",\n \"mozjpeg\": \"0826579\",\n \"pango\": \"1.58.0\",\n \"pixman\": \"0.46.4\",\n \"png\": \"1.6.58\",\n \"proxy-libintl\": \"0.5\",\n \"rsvg\": \"2.62.90\",\n \"tiff\": \"d01a94b\",\n \"uhdr\": \"1acdbed\",\n \"vips\": \"8.18.3\",\n \"webp\": \"1.6.0\",\n \"xml2\": \"2.15.3\",\n \"zlib-ng\": \"2.3.3\"\n}\n\nCorresponding build recipes and pinned upstream source locations are available at the exact sharp-libvips tag above. The bundled libvips version is 8.18.3.\n\n------------------------------------------------------------------------\n\n### bundled:@img/sharp-libvips-darwin-x64 embedded native libraries@1.3.2\n\n# `@img/sharp-libvips-darwin-x64`\n\nPrebuilt libvips and dependencies for use with sharp on macOS x64.\n\n## Licensing\n\nThis software contains third-party libraries\nused under the terms of the following licenses:\n\n| Library | Used under the terms of |\n|---------------|-----------------------------------------------------------------------------------------------------------|\n| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |\n| cairo | Mozilla Public License 2.0 |\n| cgif | MIT License |\n| expat | MIT License |\n| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |\n| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |\n| fribidi | LGPLv3 |\n| glib | LGPLv3 |\n| harfbuzz | MIT License |\n| highway | BSD 3-Clause |\n| lcms | MIT License |\n| libarchive | BSD 2-Clause |\n| libexif | LGPLv3 |\n| libffi | MIT License |\n| libheif | LGPLv3 |\n| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |\n| libnsgif | MIT License |\n| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |\n| librsvg | LGPLv3 |\n| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |\n| libultrahdr | MIT License |\n| libvips | LGPLv3 |\n| libwebp | New BSD License |\n| libxml2 | MIT License |\n| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |\n| pango | LGPLv3 |\n| pixman | MIT License |\n| proxy-libintl | LGPLv3 |\n| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |\n\nUse of libraries under the terms of the LGPLv3 is via the\n\"any later version\" clause of the LGPLv2 or LGPLv2.1.\n\nPlease report any errors or omissions via\nhttps://github.com/lovell/sharp-libvips/issues/new\n\nExact bundled library versions:\n{\n \"aom\": \"3.14.1\",\n \"archive\": \"3.8.8\",\n \"cairo\": \"1.18.4\",\n \"cgif\": \"0.5.3\",\n \"exif\": \"0.6.26\",\n \"expat\": \"2.8.2\",\n \"ffi\": \"3.6.0\",\n \"fontconfig\": \"2.18.1\",\n \"freetype\": \"2.14.3\",\n \"fribidi\": \"1.0.16\",\n \"glib\": \"2.89.1\",\n \"harfbuzz\": \"14.2.1\",\n \"heif\": \"1.23.1\",\n \"highway\": \"1.4.0\",\n \"imagequant\": \"2.4.1\",\n \"lcms\": \"2.19.1\",\n \"mozjpeg\": \"0826579\",\n \"pango\": \"1.58.0\",\n \"pixman\": \"0.46.4\",\n \"png\": \"1.6.58\",\n \"proxy-libintl\": \"0.5\",\n \"rsvg\": \"2.62.90\",\n \"tiff\": \"d01a94b\",\n \"uhdr\": \"1acdbed\",\n \"vips\": \"8.18.3\",\n \"webp\": \"1.6.0\",\n \"xml2\": \"2.15.3\",\n \"zlib-ng\": \"2.3.3\"\n}\n\nCorresponding build recipes and pinned upstream source locations are available at the exact sharp-libvips tag above. The bundled libvips version is 8.18.3." } ] } diff --git a/docs/legal/notices/sbom/desktop-win.spdx.json b/docs/legal/notices/sbom/desktop-win.spdx.json index 669111a2086..56b9839233f 100644 --- a/docs/legal/notices/sbom/desktop-win.spdx.json +++ b/docs/legal/notices/sbom/desktop-win.spdx.json @@ -3,7 +3,7 @@ "dataLicense": "CC0-1.0", "SPDXID": "SPDXRef-DOCUMENT", "name": "cindy-desktop-win", - "documentNamespace": "https://cindy.app/spdx/desktop-win/cac6bea59faf65f498869b210fd6bf72b54a9e892163061b10e522f8ffb5284a", + "documentNamespace": "https://cindy.app/spdx/desktop-win/c136ed72a07a486933e707542d0ee8babd860cb576e4a3e542c3a4b5a14b929d", "creationInfo": { "created": "2026-07-30T07:20:40Z", "creators": [ @@ -8012,6 +8012,23 @@ } ] }, + { + "name": "@wecom/aibot-node-sdk", + "SPDXID": "SPDXRef-Package-52dee735109446cd", + "versionInfo": "1.0.7", + "downloadLocation": "https://github.com/WecomTeam/aibot-node-sdk", + "filesAnalyzed": false, + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "copyrightText": "NOASSERTION", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceType": "purl", + "referenceLocator": "pkg:npm/%40wecom/aibot-node-sdk@1.0.7" + } + ] + }, { "name": "@xterm/addon-clipboard", "SPDXID": "SPDXRef-Package-8eaddaef2aabf7b6", @@ -10205,6 +10222,23 @@ } ] }, + { + "name": "dingtalk-stream", + "SPDXID": "SPDXRef-Package-90f04b6ed7221e7d", + "versionInfo": "v2.1.5", + "downloadLocation": "https://github.com/open-dingtalk/dingtalk-stream-sdk-nodejs", + "filesAnalyzed": false, + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "copyrightText": "NOASSERTION", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceType": "purl", + "referenceLocator": "pkg:npm/dingtalk-stream@v2.1.5" + } + ] + }, { "name": "discord-api-types", "SPDXID": "SPDXRef-Package-c1fb6106ccdf0317", @@ -10681,6 +10715,23 @@ } ] }, + { + "name": "eventemitter3", + "SPDXID": "SPDXRef-Package-858b4b7f616d0453", + "versionInfo": "5.0.4", + "downloadLocation": "https://github.com/primus/eventemitter3", + "filesAnalyzed": false, + "licenseConcluded": "MIT", + "licenseDeclared": "MIT", + "copyrightText": "NOASSERTION", + "externalRefs": [ + { + "referenceCategory": "PACKAGE-MANAGER", + "referenceType": "purl", + "referenceLocator": "pkg:npm/eventemitter3@5.0.4" + } + ] + }, { "name": "eventsource", "SPDXID": "SPDXRef-Package-7745d9a4d63f4b5e", @@ -20271,6 +20322,11 @@ "relationshipType": "DESCRIBES", "relatedSpdxElement": "SPDXRef-Package-f36a830582156a52" }, + { + "spdxElementId": "SPDXRef-DOCUMENT", + "relationshipType": "DESCRIBES", + "relatedSpdxElement": "SPDXRef-Package-52dee735109446cd" + }, { "spdxElementId": "SPDXRef-DOCUMENT", "relationshipType": "DESCRIBES", @@ -20916,6 +20972,11 @@ "relationshipType": "DESCRIBES", "relatedSpdxElement": "SPDXRef-Package-ea564ccce08c858a" }, + { + "spdxElementId": "SPDXRef-DOCUMENT", + "relationshipType": "DESCRIBES", + "relatedSpdxElement": "SPDXRef-Package-90f04b6ed7221e7d" + }, { "spdxElementId": "SPDXRef-DOCUMENT", "relationshipType": "DESCRIBES", @@ -21056,6 +21117,11 @@ "relationshipType": "DESCRIBES", "relatedSpdxElement": "SPDXRef-Package-51fac920df3d7558" }, + { + "spdxElementId": "SPDXRef-DOCUMENT", + "relationshipType": "DESCRIBES", + "relatedSpdxElement": "SPDXRef-Package-858b4b7f616d0453" + }, { "spdxElementId": "SPDXRef-DOCUMENT", "relationshipType": "DESCRIBES", @@ -23178,21 +23244,21 @@ } ], "hasExtractedLicensingInfos": [ - { - "licenseId": "LicenseRef-Sharp-Third-Party-Licenses", - "extractedText": "# `@img/sharp-win32-x64`\n\nPrebuilt sharp for use with Windows x64.\n\n## Licensing\n\nCopyright 2013 Lovell Fuller and others.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n[https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\nThis software contains third-party libraries\nused under the terms of the following licenses:\n\n| Library | Used under the terms of |\n|---------------|-----------------------------------------------------------------------------------------------------------|\n| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |\n| cairo | Mozilla Public License 2.0 |\n| cgif | MIT License |\n| expat | MIT License |\n| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |\n| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |\n| fribidi | LGPLv3 |\n| glib | LGPLv3 |\n| harfbuzz | MIT License |\n| highway | BSD 3-Clause |\n| lcms | MIT License |\n| libarchive | BSD 2-Clause |\n| libexif | LGPLv3 |\n| libffi | MIT License |\n| libheif | LGPLv3 |\n| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |\n| libnsgif | MIT License |\n| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |\n| librsvg | LGPLv3 |\n| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |\n| libultrahdr | MIT License |\n| libvips | LGPLv3 |\n| libwebp | New BSD License |\n| libxml2 | MIT License |\n| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |\n| pango | LGPLv3 |\n| pixman | MIT License |\n| proxy-libintl | LGPLv3 |\n| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |\n\nUse of libraries under the terms of the LGPLv3 is via the\n\"any later version\" clause of the LGPLv2 or LGPLv2.1.\n\nPlease report any errors or omissions via\nhttps://github.com/lovell/sharp-libvips/issues/new\n\nExact bundled library versions:\n{\n \"aom\": \"3.14.1\",\n \"archive\": \"3.8.7\",\n \"cairo\": \"1.18.4\",\n \"cgif\": \"0.5.3\",\n \"exif\": \"0.6.26\",\n \"expat\": \"2.8.1\",\n \"ffi\": \"3.5.2\",\n \"fontconfig\": \"2.18.1\",\n \"freetype\": \"2.14.3\",\n \"fribidi\": \"1.0.16\",\n \"glib\": \"2.89.0\",\n \"harfbuzz\": \"14.2.1\",\n \"heif\": \"1.23.0\",\n \"highway\": \"1.4.0\",\n \"imagequant\": \"2.4.1\",\n \"lcms\": \"2.19.1\",\n \"mozjpeg\": \"0826579\",\n \"pango\": \"1.57.1\",\n \"pixman\": \"0.46.4\",\n \"png\": \"1.6.58\",\n \"proxy-libintl\": \"0.5\",\n \"rsvg\": \"2.62.3\",\n \"tiff\": \"732665c\",\n \"uhdr\": \"13a058f\",\n \"vips\": \"8.18.3\",\n \"webp\": \"1.6.0\",\n \"xml2\": \"2.15.3\",\n \"zlib-ng\": \"2.3.3\"\n}\n\nCorresponding build recipes and pinned upstream source locations are available at the exact sharp-libvips tag above. The bundled libvips version is 8.18.3." - }, { "licenseId": "LicenseRef-Android-Platform-Tools-Notice", "extractedText": "Notices for platform-tools\n============================================================\nNotices for file(s):\n/AdbWinApi.dll\n/AdbWinUsbApi.dll\n/etc1tool.exe\n------------------------------------------------------------\nCopyright (c) The Android Open Source Project\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n\n Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright [yyyy] [name of copyright owner]\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n\n============================================================\nNotices for file(s):\n/dmtracedump.exe\n------------------------------------------------------------\nCopyright (c) 2005-2013, The Android Open Source Project\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n\n Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n\n============================================================\nNotices for file(s):\n/mke2fs.exe\n------------------------------------------------------------\nThis package, the EXT2 filesystem utilities, are made available under\nthe GNU Public License version 2, with the exception of the lib/ext2fs\nand lib/e2p libraries, which are made available under the GNU Library\nGeneral Public License Version 2, the lib/uuid library which is made\navailable under a BSD-style license and the lib/et and lib/ss\nlibraries which are made available under an MIT-style license. Please\nsee lib/uuid/COPYING for more details for the license for the files\ncomprising the libuuid library, and the source file headers of the\nlibet and libss libraries for more information.\n\nThe most recent officially distributed version can be found at\nhttp://e2fsprogs.sourceforge.net. If you need to make a distribution,\nthat's the one you should use. If there is some reason why you'd like\na more recent version that is still in ALPHA testing (i.e., either\nusing the \"WIP\" test distributions or one from the hg or git\nrepository from the development branch, please contact me\n(tytso@mit.edu) before you ship. The release schedules for this\npackage are flexible, if you give me enough lead time.\n\n\n\t\t\t\t\tTheodore Ts'o\n\t\t\t\t\t23-June-2007\n\n----------------------------------------------------------------------\n\n\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The licenses for most software are designed to take away your\nfreedom to share and change it. By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users. This\nGeneral Public License applies to most of the Free Software\nFoundation's software and to any other program whose authors commit to\nusing it. (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.) You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have. You must make sure that they, too, receive or can get the\nsource code. And you must show them these terms so they know their\nrights.\n\n We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n Also, for each author's protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware. If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors' reputations.\n\n Finally, any free program is threatened constantly by software\npatents. We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary. To prevent this, we have made it clear that any\npatent must be licensed for everyone's free use or not licensed at all.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t GNU GENERAL PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License. The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage. (Hereinafter, translation is included without limitation in\nthe term \"modification\".) Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope. The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n 1. You may copy and distribute verbatim copies of the Program's\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n 2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n a) You must cause the modified files to carry prominent notices\n stating that you changed the files and the date of any change.\n\n b) You must cause any work that you distribute or publish, that in\n whole or in part contains or is derived from the Program or any\n part thereof, to be licensed as a whole at no charge to all third\n parties under the terms of this License.\n\n c) If the modified program normally reads commands interactively\n when run, you must cause it, when started running for such\n interactive use in the most ordinary way, to print or display an\n announcement including an appropriate copyright notice and a\n notice that there is no warranty (or else, saying that you provide\n a warranty) and that users may redistribute the program under\n these conditions, and telling the user how to view a copy of this\n License. (Exception: if the Program itself is interactive but\n does not normally print such an announcement, your work based on\n the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole. If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works. But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n 3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n a) Accompany it with the complete corresponding machine-readable\n source code, which must be distributed under the terms of Sections\n 1 and 2 above on a medium customarily used for software interchange; or,\n\n b) Accompany it with a written offer, valid for at least three\n years, to give any third party, for a charge no more than your\n cost of physically performing source distribution, a complete\n machine-readable copy of the corresponding source code, to be\n distributed under the terms of Sections 1 and 2 above on a medium\n customarily used for software interchange; or,\n\n c) Accompany it with the information you received as to the offer\n to distribute corresponding source code. (This alternative is\n allowed only for noncommercial distribution and only if you\n received the program in object code or executable form with such\n an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it. For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable. However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n 4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License. Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n 5. You are not required to accept this License, since you have not\nsigned it. However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works. These actions are\nprohibited by law if you do not accept this License. Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n 6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions. You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n 7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all. For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices. Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n 8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded. In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n 9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number. If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation. If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n 10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission. For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this. Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\n\t\t\t NO WARRANTY\n\n 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nconvey the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n\n\nAlso add information on how to contact you by electronic and paper mail.\n\nIf the program is interactive, make it output a short notice like this\nwhen it starts in an interactive mode:\n\n Gnomovision version 69, Copyright (C) year name of author\n Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, the commands you use may\nbe called something other than `show w' and `show c'; they could even be\nmouse-clicks or menu items--whatever suits your program.\n\nYou should also get your employer (if you work as a programmer) or your\nschool, if any, to sign a \"copyright disclaimer\" for the program, if\nnecessary. Here is a sample; alter the names:\n\n Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n `Gnomovision' (which makes passes at compilers) written by James Hacker.\n\n , 1 April 1989\n Ty Coon, President of Vice\n\nThis General Public License does not permit incorporating your program into\nproprietary programs. If your program is a subroutine library, you may\nconsider it more useful to permit linking proprietary applications with the\nlibrary. If this is what you want to do, use the GNU Library General\nPublic License instead of this License.\n\n----------------------------------------------------------------------\n\n\t\t GNU LIBRARY GENERAL PUBLIC LICENSE\n\t\t Version 2, June 1991\n\n Copyright (C) 1991 Free Software Foundation, Inc.\n 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n[This is the first released version of the library GPL. It is\n numbered 2 because it goes with version 2 of the ordinary GPL.]\n\n\t\t\t Preamble\n\n The licenses for most software are designed to take away your\nfreedom to share and change it. By contrast, the GNU General Public\nLicenses are intended to guarantee your freedom to share and change\nfree software--to make sure the software is free for all its users.\n\n This license, the Library General Public License, applies to some\nspecially designated Free Software Foundation software, and to any\nother libraries whose authors decide to use it. You can use it for\nyour libraries, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if\nyou distribute copies of the library, or if you modify it.\n\n For example, if you distribute copies of the library, whether gratis\nor for a fee, you must give the recipients all the rights that we gave\nyou. You must make sure that they, too, receive or can get the source\ncode. If you link a program with the library, you must provide\ncomplete object files to the recipients so that they can relink them\nwith the library, after making changes to the library and recompiling\nit. And you must show them these terms so they know their rights.\n\n Our method of protecting your rights has two steps: (1) copyright\nthe library, and (2) offer you this license which gives you legal\npermission to copy, distribute and/or modify the library.\n\n Also, for each distributor's protection, we want to make certain\nthat everyone understands that there is no warranty for this free\nlibrary. If the library is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original\nversion, so that any problems introduced by others will not reflect on\nthe original authors' reputations.\n\n Finally, any free program is threatened constantly by software\npatents. We wish to avoid the danger that companies distributing free\nsoftware will individually obtain patent licenses, thus in effect\ntransforming the program into proprietary software. To prevent this,\nwe have made it clear that any patent must be licensed for everyone's\nfree use or not licensed at all.\n\n Most GNU software, including some libraries, is covered by the ordinary\nGNU General Public License, which was designed for utility programs. This\nlicense, the GNU Library General Public License, applies to certain\ndesignated libraries. This license is quite different from the ordinary\none; be sure to read it in full, and don't assume that anything in it is\nthe same as in the ordinary license.\n\n The reason we have a separate public license for some libraries is that\nthey blur the distinction we usually make between modifying or adding to a\nprogram and simply using it. Linking a program with a library, without\nchanging the library, is in some sense simply using the library, and is\nanalogous to running a utility program or application program. However, in\na textual and legal sense, the linked executable is a combined work, a\nderivative of the original library, and the ordinary General Public License\ntreats it as such.\n\n Because of this blurred distinction, using the ordinary General\nPublic License for libraries did not effectively promote software\nsharing, because most developers did not use the libraries. We\nconcluded that weaker conditions might promote sharing better.\n\n However, unrestricted linking of non-free programs would deprive the\nusers of those programs of all benefit from the free status of the\nlibraries themselves. This Library General Public License is intended to\npermit developers of non-free programs to use free libraries, while\npreserving your freedom as a user of such programs to change the free\nlibraries that are incorporated in them. (We have not seen how to achieve\nthis as regards changes in header files, but we have achieved it as regards\nchanges in the actual functions of the Library.) The hope is that this\nwill lead to faster development of free libraries.\n\n The precise terms and conditions for copying, distribution and\nmodification follow. Pay close attention to the difference between a\n\"work based on the library\" and a \"work that uses the library\". The\nformer contains code derived from the library, while the latter only\nworks together with the library.\n\n Note that it is possible for a library to be covered by the ordinary\nGeneral Public License rather than by this special one.\n\n\t\t GNU LIBRARY GENERAL PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. This License Agreement applies to any software library which\ncontains a notice placed by the copyright holder or other authorized\nparty saying it may be distributed under the terms of this Library\nGeneral Public License (also called \"this License\"). Each licensee is\naddressed as \"you\".\n\n A \"library\" means a collection of software functions and/or data\nprepared so as to be conveniently linked with application programs\n(which use some of those functions and data) to form executables.\n\n The \"Library\", below, refers to any such software library or work\nwhich has been distributed under these terms. A \"work based on the\nLibrary\" means either the Library or any derivative work under\ncopyright law: that is to say, a work containing the Library or a\nportion of it, either verbatim or with modifications and/or translated\nstraightforwardly into another language. (Hereinafter, translation is\nincluded without limitation in the term \"modification\".)\n\n \"Source code\" for a work means the preferred form of the work for\nmaking modifications to it. For a library, complete source code means\nall the source code for all modules it contains, plus any associated\ninterface definition files, plus the scripts used to control compilation\nand installation of the library.\n\n Activities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope. The act of\nrunning a program using the Library is not restricted, and output from\nsuch a program is covered only if its contents constitute a work based\non the Library (independent of the use of the Library in a tool for\nwriting it). Whether that is true depends on what the Library does\nand what the program that uses the Library does.\n\n 1. You may copy and distribute verbatim copies of the Library's\ncomplete source code as you receive it, in any medium, provided that\nyou conspicuously and appropriately publish on each copy an\nappropriate copyright notice and disclaimer of warranty; keep intact\nall the notices that refer to this License and to the absence of any\nwarranty; and distribute a copy of this License along with the\nLibrary.\n\n You may charge a fee for the physical act of transferring a copy,\nand you may at your option offer warranty protection in exchange for a\nfee.\n\n 2. You may modify your copy or copies of the Library or any portion\nof it, thus forming a work based on the Library, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n a) The modified work must itself be a software library.\n\n b) You must cause the files modified to carry prominent notices\n stating that you changed the files and the date of any change.\n\n c) You must cause the whole of the work to be licensed at no\n charge to all third parties under the terms of this License.\n\n d) If a facility in the modified Library refers to a function or a\n table of data to be supplied by an application program that uses\n the facility, other than as an argument passed when the facility\n is invoked, then you must make a good faith effort to ensure that,\n in the event an application does not supply such function or\n table, the facility still operates, and performs whatever part of\n its purpose remains meaningful.\n\n (For example, a function in a library to compute square roots has\n a purpose that is entirely well-defined independent of the\n application. Therefore, Subsection 2d requires that any\n application-supplied function or table used by this function must\n be optional: if the application does not supply it, the square\n root function must still compute square roots.)\n\nThese requirements apply to the modified work as a whole. If\nidentifiable sections of that work are not derived from the Library,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works. But when you\ndistribute the same sections as part of a whole which is a work based\non the Library, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote\nit.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Library.\n\nIn addition, mere aggregation of another work not based on the Library\nwith the Library (or with a work based on the Library) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n 3. You may opt to apply the terms of the ordinary GNU General Public\nLicense instead of this License to a given copy of the Library. To do\nthis, you must alter all the notices that refer to this License, so\nthat they refer to the ordinary GNU General Public License, version 2,\ninstead of to this License. (If a newer version than version 2 of the\nordinary GNU General Public License has appeared, then you can specify\nthat version instead if you wish.) Do not make any other change in\nthese notices.\n\n Once this change is made in a given copy, it is irreversible for\nthat copy, so the ordinary GNU General Public License applies to all\nsubsequent copies and derivative works made from that copy.\n\n This option is useful when you wish to copy part of the code of\nthe Library into a program that is not a library.\n\n 4. You may copy and distribute the Library (or a portion or\nderivative of it, under Section 2) in object code or executable form\nunder the terms of Sections 1 and 2 above provided that you accompany\nit with the complete corresponding machine-readable source code, which\nmust be distributed under the terms of Sections 1 and 2 above on a\nmedium customarily used for software interchange.\n\n If distribution of object code is made by offering access to copy\nfrom a designated place, then offering equivalent access to copy the\nsource code from the same place satisfies the requirement to\ndistribute the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n 5. A program that contains no derivative of any portion of the\nLibrary, but is designed to work with the Library by being compiled or\nlinked with it, is called a \"work that uses the Library\". Such a\nwork, in isolation, is not a derivative work of the Library, and\ntherefore falls outside the scope of this License.\n\n However, linking a \"work that uses the Library\" with the Library\ncreates an executable that is a derivative of the Library (because it\ncontains portions of the Library), rather than a \"work that uses the\nlibrary\". The executable is therefore covered by this License.\nSection 6 states terms for distribution of such executables.\n\n When a \"work that uses the Library\" uses material from a header file\nthat is part of the Library, the object code for the work may be a\nderivative work of the Library even though the source code is not.\nWhether this is true is especially significant if the work can be\nlinked without the Library, or if the work is itself a library. The\nthreshold for this to be true is not precisely defined by law.\n\n If such an object file uses only numerical parameters, data\nstructure layouts and accessors, and small macros and small inline\nfunctions (ten lines or less in length), then the use of the object\nfile is unrestricted, regardless of whether it is legally a derivative\nwork. (Executables containing this object code plus portions of the\nLibrary will still fall under Section 6.)\n\n Otherwise, if the work is a derivative of the Library, you may\ndistribute the object code for the work under the terms of Section 6.\nAny executables containing that work also fall under Section 6,\nwhether or not they are linked directly with the Library itself.\n\n 6. As an exception to the Sections above, you may also compile or\nlink a \"work that uses the Library\" with the Library to produce a\nwork containing portions of the Library, and distribute that work\nunder terms of your choice, provided that the terms permit\nmodification of the work for the customer's own use and reverse\nengineering for debugging such modifications.\n\n You must give prominent notice with each copy of the work that the\nLibrary is used in it and that the Library and its use are covered by\nthis License. You must supply a copy of this License. If the work\nduring execution displays copyright notices, you must include the\ncopyright notice for the Library among them, as well as a reference\ndirecting the user to the copy of this License. Also, you must do one\nof these things:\n\n a) Accompany the work with the complete corresponding\n machine-readable source code for the Library including whatever\n changes were used in the work (which must be distributed under\n Sections 1 and 2 above); and, if the work is an executable linked\n with the Library, with the complete machine-readable \"work that\n uses the Library\", as object code and/or source code, so that the\n user can modify the Library and then relink to produce a modified\n executable containing the modified Library. (It is understood\n that the user who changes the contents of definitions files in the\n Library will not necessarily be able to recompile the application\n to use the modified definitions.)\n\n b) Accompany the work with a written offer, valid for at\n least three years, to give the same user the materials\n specified in Subsection 6a, above, for a charge no more\n than the cost of performing this distribution.\n\n c) If distribution of the work is made by offering access to copy\n from a designated place, offer equivalent access to copy the above\n specified materials from the same place.\n\n d) Verify that the user has already received a copy of these\n materials or that you have already sent this user a copy.\n\n For an executable, the required form of the \"work that uses the\nLibrary\" must include any data and utility programs needed for\nreproducing the executable from it. However, as a special exception,\nthe source code distributed need not include anything that is normally\ndistributed (in either source or binary form) with the major\ncomponents (compiler, kernel, and so on) of the operating system on\nwhich the executable runs, unless that component itself accompanies\nthe executable.\n\n It may happen that this requirement contradicts the license\nrestrictions of other proprietary libraries that do not normally\naccompany the operating system. Such a contradiction means you cannot\nuse both them and the Library together in an executable that you\ndistribute.\n\n 7. You may place library facilities that are a work based on the\nLibrary side-by-side in a single library together with other library\nfacilities not covered by this License, and distribute such a combined\nlibrary, provided that the separate distribution of the work based on\nthe Library and of the other library facilities is otherwise\npermitted, and provided that you do these two things:\n\n a) Accompany the combined library with a copy of the same work\n based on the Library, uncombined with any other library\n facilities. This must be distributed under the terms of the\n Sections above.\n\n b) Give prominent notice with the combined library of the fact\n that part of it is a work based on the Library, and explaining\n where to find the accompanying uncombined form of the same work.\n\n 8. You may not copy, modify, sublicense, link with, or distribute\nthe Library except as expressly provided under this License. Any\nattempt otherwise to copy, modify, sublicense, link with, or\ndistribute the Library is void, and will automatically terminate your\nrights under this License. However, parties who have received copies,\nor rights, from you under this License will not have their licenses\nterminated so long as such parties remain in full compliance.\n\n 9. You are not required to accept this License, since you have not\nsigned it. However, nothing else grants you permission to modify or\ndistribute the Library or its derivative works. These actions are\nprohibited by law if you do not accept this License. Therefore, by\nmodifying or distributing the Library (or any work based on the\nLibrary), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Library or works based on it.\n\n 10. Each time you redistribute the Library (or any work based on the\nLibrary), the recipient automatically receives a license from the\noriginal licensor to copy, distribute, link with or modify the Library\nsubject to these terms and conditions. You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n 11. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Library at all. For example, if a patent\nlicense would not permit royalty-free redistribution of the Library by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Library.\n\nIf any portion of this section is held invalid or unenforceable under any\nparticular circumstance, the balance of the section is intended to apply,\nand the section as a whole is intended to apply in other circumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system which is\nimplemented by public license practices. Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n 12. If the distribution and/or use of the Library is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Library under this License may add\nan explicit geographical distribution limitation excluding those countries,\nso that distribution is permitted only in or among countries not thus\nexcluded. In such case, this License incorporates the limitation as if\nwritten in the body of this License.\n\n 13. The Free Software Foundation may publish revised and/or new\nversions of the Library General Public License from time to time.\nSuch new versions will be similar in spirit to the present version,\nbut may differ in detail to address new problems or concerns.\n\nEach version is given a distinguishing version number. If the Library\nspecifies a version number of this License which applies to it and\n\"any later version\", you have the option of following the terms and\nconditions either of that version or of any later version published by\nthe Free Software Foundation. If the Library does not specify a\nlicense version number, you may choose any version ever published by\nthe Free Software Foundation.\n\n 14. If you wish to incorporate parts of the Library into other free\nprograms whose distribution conditions are incompatible with these,\nwrite to the author to ask for permission. For software which is\ncopyrighted by the Free Software Foundation, write to the Free\nSoftware Foundation; we sometimes make exceptions for this. Our\ndecision will be guided by the two goals of preserving the free status\nof all derivatives of our free software and of promoting the sharing\nand reuse of software generally.\n\n\t\t\t NO WARRANTY\n\n 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO\nWARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.\nEXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR\nOTHER PARTIES PROVIDE THE LIBRARY \"AS IS\" WITHOUT WARRANTY OF ANY\nKIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE\nLIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME\nTHE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN\nWRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY\nAND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU\nFOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR\nCONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE\nLIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING\nRENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A\nFAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF\nSUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGES.\n\n\t\t END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Libraries\n\n If you develop a new library, and you want it to be of the greatest\npossible use to the public, we recommend making it free software that\neveryone can redistribute and change. You can do so by permitting\nredistribution under these terms (or, alternatively, under the terms of the\nordinary General Public License).\n\n To apply these terms, attach the following notices to the library. It is\nsafest to attach them to the start of each source file to most effectively\nconvey the exclusion of warranty; and each file should have at least the\n\"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Library General Public\n License as published by the Free Software Foundation; either\n version 2 of the License, or (at your option) any later version.\n\n This library is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n Library General Public License for more details.\n\n You should have received a copy of the GNU Library General Public\n License along with this library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n\nAlso add information on how to contact you by electronic and paper mail.\n\nYou should also get your employer (if you work as a programmer) or your\nschool, if any, to sign a \"copyright disclaimer\" for the library, if\nnecessary. Here is a sample; alter the names:\n\n Yoyodyne, Inc., hereby disclaims all copyright interest in the\n library `Frob' (a library for tweaking knobs) written by James Random Hacker.\n\n , 1 April 1990\n Ty Coon, President of Vice\n\nThat's all there is to it!\n============================================================\nNotices for file(s):\n/libwinpthread-1.dll\n------------------------------------------------------------\nCopyright (c) 2011 mingw-w64 project\n\nPermission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the \"Software\"),\nto deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense,\nand/or sell copies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE.\n\n\n/*\n * Parts of this library are derived by:\n *\n * Posix Threads library for Microsoft Windows\n *\n * Use at own risk, there is no implied warranty to this code.\n * It uses undocumented features of Microsoft Windows that can change\n * at any time in the future.\n *\n * (C) 2010 Lockless Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n *\n * * Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n * * Neither the name of Lockless Inc. nor the names of its contributors may be\n * used to endorse or promote products derived from this software without\n * specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AN\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n * OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n\n============================================================\nNotices for file(s):\n/sqlite3.exe\n------------------------------------------------------------\n2001 September 15\n\nThe author disclaims copyright to this source code. In place of\na legal notice, here is a blessing:\n\n May you do good and not evil.\n May you find forgiveness for yourself and forgive others.\n May you share freely, never taking more than you give.\n\n\n============================================================\nNotices for file(s):\n/hprof-conv.exe\n------------------------------------------------------------\n=========================================================================\n == NOTICE file corresponding to the section 4 d of ==\n == the Apache License, Version 2.0, ==\n == in this case for the Android-specific code. ==\n =========================================================================\n\n Copyright (c) 2005-2008, The Android Open Source Project\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n\n Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n =========================================================================\n == NOTICE file for the x86 JIT libenc subdirectory. ==\n =========================================================================\n\nApache Harmony\nCopyright 2006, 2010 The Apache Software Foundation.\n\nThis product includes software developed at\nThe Apache Software Foundation (http://www.apache.org/).\n\nPortions of Harmony were originally developed by\nIntel Corporation and are licensed to the Apache Software\nFoundation under the \"Software Grant and Corporate Contribution\nLicense Agreement\" and for which the following copyright notices\napply\n (C) Copyright 2005 Intel Corporation\n (C) Copyright 2005-2006 Intel Corporation\n (C) Copyright 2006 Intel Corporation\n\nPortions of the Apache Portable Runtime used by DRLVM were\ndeveloped at the National Center for Supercomputing Applications\n(NCSA) at the University of Illinois at Urbana-Champaign.\n\nThis software contains code derived from the RSA Data Security\nInc. MD5 Message-Digest Algorithm.\n\nThis software contains code derived from UNIX V7, Copyright(C)\nCaldera International Inc.\n\n\n============================================================\nNotices for file(s):\n/adb.exe\n------------------------------------------------------------\nCopyright (c) 2006-2009, The Android Open Source Project\n Copyright 2006, Brian Swetland \n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n\n Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n\n============================================================\nNotices for file(s):\n/make_f2fs.exe\n/make_f2fs_casefold.exe\n------------------------------------------------------------\nThe tools for F2FS are covered by GNU Public License version 2.\nExceptionally, the following files are also covered by the GNU Lesser General\nPublic License Version 2.1 as the dual licenses.\n- include/f2fs_fs.h\n- lib/libf2fs.c\n- lib/libf2fs_io.c\n- mkfs/f2fs_format.c\n- mkfs/f2fs_format_main.c\n- mkfs/f2fs_format_utils.c\n- mkfs/f2fs_format_utils.h\n\n================================================================================\nCopyright (c) 2012 Samsung Electronics Co., Ltd.\n http://www.samsung.com/\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License version 2 as\npublished by the Free Software Foundation.\n\n================================================================================\n\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The licenses for most software are designed to take away your\nfreedom to share and change it. By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users. This\nGeneral Public License applies to most of the Free Software\nFoundation's software and to any other program whose authors commit to\nusing it. (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.) You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have. You must make sure that they, too, receive or can get the\nsource code. And you must show them these terms so they know their\nrights.\n\n We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n Also, for each author's protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware. If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors' reputations.\n\n Finally, any free program is threatened constantly by software\npatents. We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary. To prevent this, we have made it clear that any\npatent must be licensed for everyone's free use or not licensed at all.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t GNU GENERAL PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License. The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage. (Hereinafter, translation is included without limitation in\nthe term \"modification\".) Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope. The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n 1. You may copy and distribute verbatim copies of the Program's\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n 2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n a) You must cause the modified files to carry prominent notices\n stating that you changed the files and the date of any change.\n\n b) You must cause any work that you distribute or publish, that in\n whole or in part contains or is derived from the Program or any\n part thereof, to be licensed as a whole at no charge to all third\n parties under the terms of this License.\n\n c) If the modified program normally reads commands interactively\n when run, you must cause it, when started running for such\n interactive use in the most ordinary way, to print or display an\n announcement including an appropriate copyright notice and a\n notice that there is no warranty (or else, saying that you provide\n a warranty) and that users may redistribute the program under\n these conditions, and telling the user how to view a copy of this\n License. (Exception: if the Program itself is interactive but\n does not normally print such an announcement, your work based on\n the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole. If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works. But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n 3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n a) Accompany it with the complete corresponding machine-readable\n source code, which must be distributed under the terms of Sections\n 1 and 2 above on a medium customarily used for software interchange; or,\n\n b) Accompany it with a written offer, valid for at least three\n years, to give any third party, for a charge no more than your\n cost of physically performing source distribution, a complete\n machine-readable copy of the corresponding source code, to be\n distributed under the terms of Sections 1 and 2 above on a medium\n customarily used for software interchange; or,\n\n c) Accompany it with the information you received as to the offer\n to distribute corresponding source code. (This alternative is\n allowed only for noncommercial distribution and only if you\n received the program in object code or executable form with such\n an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it. For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable. However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n 4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License. Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n 5. You are not required to accept this License, since you have not\nsigned it. However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works. These actions are\nprohibited by law if you do not accept this License. Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n 6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions. You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n 7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all. For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices. Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n 8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded. In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n 9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number. If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation. If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n 10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission. For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this. Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\n\t\t\t NO WARRANTY\n\n 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nconvey the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n\n\nAlso add information on how to contact you by electronic and paper mail.\n\nIf the program is interactive, make it output a short notice like this\nwhen it starts in an interactive mode:\n\n Gnomovision version 69, Copyright (C) year name of author\n Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, the commands you use may\nbe called something other than `show w' and `show c'; they could even be\nmouse-clicks or menu items--whatever suits your program.\n\nYou should also get your employer (if you work as a programmer) or your\nschool, if any, to sign a \"copyright disclaimer\" for the program, if\nnecessary. Here is a sample; alter the names:\n\n Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n `Gnomovision' (which makes passes at compilers) written by James Hacker.\n\n , 1 April 1989\n Ty Coon, President of Vice\n\nThis General Public License does not permit incorporating your program into\nproprietary programs. If your program is a subroutine library, you may\nconsider it more useful to permit linking proprietary applications with the\nlibrary. If this is what you want to do, use the GNU Library General\nPublic License instead of this License.\n\n================================================================================\n GNU LESSER GENERAL PUBLIC LICENSE\n Version 2.1, February 1999\n\n Copyright (C) 1991, 1999 Free Software Foundation, Inc.\n 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n[This is the first released version of the Lesser GPL. It also counts\n as the successor of the GNU Library Public License, version 2, hence\n the version number 2.1.]\n\n Preamble\n\n The licenses for most software are designed to take away your\nfreedom to share and change it. By contrast, the GNU General Public\nLicenses are intended to guarantee your freedom to share and change\nfree software--to make sure the software is free for all its users.\n\n This license, the Lesser General Public License, applies to some\nspecially designated software packages--typically libraries--of the\nFree Software Foundation and other authors who decide to use it. You\ncan use it too, but we suggest you first think carefully about whether\nthis license or the ordinary General Public License is the better\nstrategy to use in any particular case, based on the explanations below.\n\n When we speak of free software, we are referring to freedom of use,\nnot price. Our General Public Licenses are designed to make sure that\nyou have the freedom to distribute copies of free software (and charge\nfor this service if you wish); that you receive source code or can get\nit if you want it; that you can change the software and use pieces of\nit in new free programs; and that you are informed that you can do\nthese things.\n\n To protect your rights, we need to make restrictions that forbid\ndistributors to deny you these rights or to ask you to surrender these\nrights. These restrictions translate to certain responsibilities for\nyou if you distribute copies of the library or if you modify it.\n\n For example, if you distribute copies of the library, whether gratis\nor for a fee, you must give the recipients all the rights that we gave\nyou. You must make sure that they, too, receive or can get the source\ncode. If you link other code with the library, you must provide\ncomplete object files to the recipients, so that they can relink them\nwith the library after making changes to the library and recompiling\nit. And you must show them these terms so they know their rights.\n\n We protect your rights with a two-step method: (1) we copyright the\nlibrary, and (2) we offer you this license, which gives you legal\npermission to copy, distribute and/or modify the library.\n\n To protect each distributor, we want to make it very clear that\nthere is no warranty for the free library. Also, if the library is\nmodified by someone else and passed on, the recipients should know\nthat what they have is not the original version, so that the original\nauthor's reputation will not be affected by problems that might be\nintroduced by others.\n\n Finally, software patents pose a constant threat to the existence of\nany free program. We wish to make sure that a company cannot\neffectively restrict the users of a free program by obtaining a\nrestrictive license from a patent holder. Therefore, we insist that\nany patent license obtained for a version of the library must be\nconsistent with the full freedom of use specified in this license.\n\n Most GNU software, including some libraries, is covered by the\nordinary GNU General Public License. This license, the GNU Lesser\nGeneral Public License, applies to certain designated libraries, and\nis quite different from the ordinary General Public License. We use\nthis license for certain libraries in order to permit linking those\nlibraries into non-free programs.\n\n When a program is linked with a library, whether statically or using\na shared library, the combination of the two is legally speaking a\ncombined work, a derivative of the original library. The ordinary\nGeneral Public License therefore permits such linking only if the\nentire combination fits its criteria of freedom. The Lesser General\nPublic License permits more lax criteria for linking other code with\nthe library.\n\n We call this license the \"Lesser\" General Public License because it\ndoes Less to protect the user's freedom than the ordinary General\nPublic License. It also provides other free software developers Less\nof an advantage over competing non-free programs. These disadvantages\nare the reason we use the ordinary General Public License for many\nlibraries. However, the Lesser license provides advantages in certain\nspecial circumstances.\n\n For example, on rare occasions, there may be a special need to\nencourage the widest possible use of a certain library, so that it becomes\na de-facto standard. To achieve this, non-free programs must be\nallowed to use the library. A more frequent case is that a free\nlibrary does the same job as widely used non-free libraries. In this\ncase, there is little to gain by limiting the free library to free\nsoftware only, so we use the Lesser General Public License.\n\n In other cases, permission to use a particular library in non-free\nprograms enables a greater number of people to use a large body of\nfree software. For example, permission to use the GNU C Library in\nnon-free programs enables many more people to use the whole GNU\noperating system, as well as its variant, the GNU/Linux operating\nsystem.\n\n Although the Lesser General Public License is Less protective of the\nusers' freedom, it does ensure that the user of a program that is\nlinked with the Library has the freedom and the wherewithal to run\nthat program using a modified version of the Library.\n\n The precise terms and conditions for copying, distribution and\nmodification follow. Pay close attention to the difference between a\n\"work based on the library\" and a \"work that uses the library\". The\nformer contains code derived from the library, whereas the latter must\nbe combined with the library in order to run.\n\n GNU LESSER GENERAL PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. This License Agreement applies to any software library or other\nprogram which contains a notice placed by the copyright holder or\nother authorized party saying it may be distributed under the terms of\nthis Lesser General Public License (also called \"this License\").\nEach licensee is addressed as \"you\".\n\n A \"library\" means a collection of software functions and/or data\nprepared so as to be conveniently linked with application programs\n(which use some of those functions and data) to form executables.\n\n The \"Library\", below, refers to any such software library or work\nwhich has been distributed under these terms. A \"work based on the\nLibrary\" means either the Library or any derivative work under\ncopyright law: that is to say, a work containing the Library or a\nportion of it, either verbatim or with modifications and/or translated\nstraightforwardly into another language. (Hereinafter, translation is\nincluded without limitation in the term \"modification\".)\n\n \"Source code\" for a work means the preferred form of the work for\nmaking modifications to it. For a library, complete source code means\nall the source code for all modules it contains, plus any associated\ninterface definition files, plus the scripts used to control compilation\nand installation of the library.\n\n Activities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope. The act of\nrunning a program using the Library is not restricted, and output from\nsuch a program is covered only if its contents constitute a work based\non the Library (independent of the use of the Library in a tool for\nwriting it). Whether that is true depends on what the Library does\nand what the program that uses the Library does.\n\n 1. You may copy and distribute verbatim copies of the Library's\ncomplete source code as you receive it, in any medium, provided that\nyou conspicuously and appropriately publish on each copy an\nappropriate copyright notice and disclaimer of warranty; keep intact\nall the notices that refer to this License and to the absence of any\nwarranty; and distribute a copy of this License along with the\nLibrary.\n\n You may charge a fee for the physical act of transferring a copy,\nand you may at your option offer warranty protection in exchange for a\nfee.\n\n 2. You may modify your copy or copies of the Library or any portion\nof it, thus forming a work based on the Library, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n a) The modified work must itself be a software library.\n\n b) You must cause the files modified to carry prominent notices\n stating that you changed the files and the date of any change.\n\n c) You must cause the whole of the work to be licensed at no\n charge to all third parties under the terms of this License.\n\n d) If a facility in the modified Library refers to a function or a\n table of data to be supplied by an application program that uses\n the facility, other than as an argument passed when the facility\n is invoked, then you must make a good faith effort to ensure that,\n in the event an application does not supply such function or\n table, the facility still operates, and performs whatever part of\n its purpose remains meaningful.\n\n (For example, a function in a library to compute square roots has\n a purpose that is entirely well-defined independent of the\n application. Therefore, Subsection 2d requires that any\n application-supplied function or table used by this function must\n be optional: if the application does not supply it, the square\n root function must still compute square roots.)\n\nThese requirements apply to the modified work as a whole. If\nidentifiable sections of that work are not derived from the Library,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works. But when you\ndistribute the same sections as part of a whole which is a work based\non the Library, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote\nit.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Library.\n\nIn addition, mere aggregation of another work not based on the Library\nwith the Library (or with a work based on the Library) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n 3. You may opt to apply the terms of the ordinary GNU General Public\nLicense instead of this License to a given copy of the Library. To do\nthis, you must alter all the notices that refer to this License, so\nthat they refer to the ordinary GNU General Public License, version 2,\ninstead of to this License. (If a newer version than version 2 of the\nordinary GNU General Public License has appeared, then you can specify\nthat version instead if you wish.) Do not make any other change in\nthese notices.\n\n Once this change is made in a given copy, it is irreversible for\nthat copy, so the ordinary GNU General Public License applies to all\nsubsequent copies and derivative works made from that copy.\n\n This option is useful when you wish to copy part of the code of\nthe Library into a program that is not a library.\n\n 4. You may copy and distribute the Library (or a portion or\nderivative of it, under Section 2) in object code or executable form\nunder the terms of Sections 1 and 2 above provided that you accompany\nit with the complete corresponding machine-readable source code, which\nmust be distributed under the terms of Sections 1 and 2 above on a\nmedium customarily used for software interchange.\n\n If distribution of object code is made by offering access to copy\nfrom a designated place, then offering equivalent access to copy the\nsource code from the same place satisfies the requirement to\ndistribute the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n 5. A program that contains no derivative of any portion of the\nLibrary, but is designed to work with the Library by being compiled or\nlinked with it, is called a \"work that uses the Library\". Such a\nwork, in isolation, is not a derivative work of the Library, and\ntherefore falls outside the scope of this License.\n\n However, linking a \"work that uses the Library\" with the Library\ncreates an executable that is a derivative of the Library (because it\ncontains portions of the Library), rather than a \"work that uses the\nlibrary\". The executable is therefore covered by this License.\nSection 6 states terms for distribution of such executables.\n\n When a \"work that uses the Library\" uses material from a header file\nthat is part of the Library, the object code for the work may be a\nderivative work of the Library even though the source code is not.\nWhether this is true is especially significant if the work can be\nlinked without the Library, or if the work is itself a library. The\nthreshold for this to be true is not precisely defined by law.\n\n If such an object file uses only numerical parameters, data\nstructure layouts and accessors, and small macros and small inline\nfunctions (ten lines or less in length), then the use of the object\nfile is unrestricted, regardless of whether it is legally a derivative\nwork. (Executables containing this object code plus portions of the\nLibrary will still fall under Section 6.)\n\n Otherwise, if the work is a derivative of the Library, you may\ndistribute the object code for the work under the terms of Section 6.\nAny executables containing that work also fall under Section 6,\nwhether or not they are linked directly with the Library itself.\n\n 6. As an exception to the Sections above, you may also combine or\nlink a \"work that uses the Library\" with the Library to produce a\nwork containing portions of the Library, and distribute that work\nunder terms of your choice, provided that the terms permit\nmodification of the work for the customer's own use and reverse\nengineering for debugging such modifications.\n\n You must give prominent notice with each copy of the work that the\nLibrary is used in it and that the Library and its use are covered by\nthis License. You must supply a copy of this License. If the work\nduring execution displays copyright notices, you must include the\ncopyright notice for the Library among them, as well as a reference\ndirecting the user to the copy of this License. Also, you must do one\nof these things:\n\n a) Accompany the work with the complete corresponding\n machine-readable source code for the Library including whatever\n changes were used in the work (which must be distributed under\n Sections 1 and 2 above); and, if the work is an executable linked\n with the Library, with the complete machine-readable \"work that\n uses the Library\", as object code and/or source code, so that the\n user can modify the Library and then relink to produce a modified\n executable containing the modified Library. (It is understood\n that the user who changes the contents of definitions files in the\n Library will not necessarily be able to recompile the application\n to use the modified definitions.)\n\n b) Use a suitable shared library mechanism for linking with the\n Library. A suitable mechanism is one that (1) uses at run time a\n copy of the library already present on the user's computer system,\n rather than copying library functions into the executable, and (2)\n will operate properly with a modified version of the library, if\n the user installs one, as long as the modified version is\n interface-compatible with the version that the work was made with.\n\n c) Accompany the work with a written offer, valid for at\n least three years, to give the same user the materials\n specified in Subsection 6a, above, for a charge no more\n than the cost of performing this distribution.\n\n d) If distribution of the work is made by offering access to copy\n from a designated place, offer equivalent access to copy the above\n specified materials from the same place.\n\n e) Verify that the user has already received a copy of these\n materials or that you have already sent this user a copy.\n\n For an executable, the required form of the \"work that uses the\nLibrary\" must include any data and utility programs needed for\nreproducing the executable from it. However, as a special exception,\nthe materials to be distributed need not include anything that is\nnormally distributed (in either source or binary form) with the major\ncomponents (compiler, kernel, and so on) of the operating system on\nwhich the executable runs, unless that component itself accompanies\nthe executable.\n\n It may happen that this requirement contradicts the license\nrestrictions of other proprietary libraries that do not normally\naccompany the operating system. Such a contradiction means you cannot\nuse both them and the Library together in an executable that you\ndistribute.\n\n 7. You may place library facilities that are a work based on the\nLibrary side-by-side in a single library together with other library\nfacilities not covered by this License, and distribute such a combined\nlibrary, provided that the separate distribution of the work based on\nthe Library and of the other library facilities is otherwise\npermitted, and provided that you do these two things:\n\n a) Accompany the combined library with a copy of the same work\n based on the Library, uncombined with any other library\n facilities. This must be distributed under the terms of the\n Sections above.\n\n b) Give prominent notice with the combined library of the fact\n that part of it is a work based on the Library, and explaining\n where to find the accompanying uncombined form of the same work.\n\n 8. You may not copy, modify, sublicense, link with, or distribute\nthe Library except as expressly provided under this License. Any\nattempt otherwise to copy, modify, sublicense, link with, or\ndistribute the Library is void, and will automatically terminate your\nrights under this License. However, parties who have received copies,\nor rights, from you under this License will not have their licenses\nterminated so long as such parties remain in full compliance.\n\n 9. You are not required to accept this License, since you have not\nsigned it. However, nothing else grants you permission to modify or\ndistribute the Library or its derivative works. These actions are\nprohibited by law if you do not accept this License. Therefore, by\nmodifying or distributing the Library (or any work based on the\nLibrary), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Library or works based on it.\n\n 10. Each time you redistribute the Library (or any work based on the\nLibrary), the recipient automatically receives a license from the\noriginal licensor to copy, distribute, link with or modify the Library\nsubject to these terms and conditions. You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties with\nthis License.\n\n 11. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Library at all. For example, if a patent\nlicense would not permit royalty-free redistribution of the Library by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Library.\n\nIf any portion of this section is held invalid or unenforceable under any\nparticular circumstance, the balance of the section is intended to apply,\nand the section as a whole is intended to apply in other circumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system which is\nimplemented by public license practices. Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n 12. If the distribution and/or use of the Library is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Library under this License may add\nan explicit geographical distribution limitation excluding those countries,\nso that distribution is permitted only in or among countries not thus\nexcluded. In such case, this License incorporates the limitation as if\nwritten in the body of this License.\n\n 13. The Free Software Foundation may publish revised and/or new\nversions of the Lesser General Public License from time to time.\nSuch new versions will be similar in spirit to the present version,\nbut may differ in detail to address new problems or concerns.\n\nEach version is given a distinguishing version number. If the Library\nspecifies a version number of this License which applies to it and\n\"any later version\", you have the option of following the terms and\nconditions either of that version or of any later version published by\nthe Free Software Foundation. If the Library does not specify a\nlicense version number, you may choose any version ever published by\nthe Free Software Foundation.\n\n 14. If you wish to incorporate parts of the Library into other free\nprograms whose distribution conditions are incompatible with these,\nwrite to the author to ask for permission. For software which is\ncopyrighted by the Free Software Foundation, write to the Free\nSoftware Foundation; we sometimes make exceptions for this. Our\ndecision will be guided by the two goals of preserving the free status\nof all derivatives of our free software and of promoting the sharing\nand reuse of software generally.\n\n NO WARRANTY\n\n 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO\nWARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.\nEXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR\nOTHER PARTIES PROVIDE THE LIBRARY \"AS IS\" WITHOUT WARRANTY OF ANY\nKIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE\nLIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME\nTHE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN\nWRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY\nAND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU\nFOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR\nCONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE\nLIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING\nRENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A\nFAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF\nSUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGES.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Libraries\n\n If you develop a new library, and you want it to be of the greatest\npossible use to the public, we recommend making it free software that\neveryone can redistribute and change. You can do so by permitting\nredistribution under these terms (or, alternatively, under the terms of the\nordinary General Public License).\n\n To apply these terms, attach the following notices to the library. It is\nsafest to attach them to the start of each source file to most effectively\nconvey the exclusion of warranty; and each file should have at least the\n\"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n\n This library is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public\n License along with this library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n\nAlso add information on how to contact you by electronic and paper mail.\n\nYou should also get your employer (if you work as a programmer) or your\nschool, if any, to sign a \"copyright disclaimer\" for the library, if\nnecessary. Here is a sample; alter the names:\n\n Yoyodyne, Inc., hereby disclaims all copyright interest in the\n library `Frob' (a library for tweaking knobs) written by James Random Hacker.\n\n , 1 April 1990\n Ty Coon, President of Vice\n\nThat's all there is to it!" }, + { + "licenseId": "LicenseRef-BSD-Variant", + "extractedText": "Copyright (c) 2012-2014, Bram Stein\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n 3. The name of the author may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\nWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\nEVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\nINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\nOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\nEVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + }, { "licenseId": "LicenseRef-Public-Domain", "extractedText": "SQLite is in the public domain. See https://sqlite.org/copyright.html" }, { - "licenseId": "LicenseRef-BSD-Variant", - "extractedText": "Copyright (c) 2012-2014, Bram Stein\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n 3. The name of the author may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\nWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\nEVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\nINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\nOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\nEVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + "licenseId": "LicenseRef-Sharp-Third-Party-Licenses", + "extractedText": "# `@img/sharp-win32-x64`\n\nPrebuilt sharp for use with Windows x64.\n\n## Licensing\n\nCopyright 2013 Lovell Fuller and others.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n[https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\nThis software contains third-party libraries\nused under the terms of the following licenses:\n\n| Library | Used under the terms of |\n|---------------|-----------------------------------------------------------------------------------------------------------|\n| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |\n| cairo | Mozilla Public License 2.0 |\n| cgif | MIT License |\n| expat | MIT License |\n| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |\n| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |\n| fribidi | LGPLv3 |\n| glib | LGPLv3 |\n| harfbuzz | MIT License |\n| highway | BSD 3-Clause |\n| lcms | MIT License |\n| libarchive | BSD 2-Clause |\n| libexif | LGPLv3 |\n| libffi | MIT License |\n| libheif | LGPLv3 |\n| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |\n| libnsgif | MIT License |\n| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |\n| librsvg | LGPLv3 |\n| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |\n| libultrahdr | MIT License |\n| libvips | LGPLv3 |\n| libwebp | New BSD License |\n| libxml2 | MIT License |\n| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |\n| pango | LGPLv3 |\n| pixman | MIT License |\n| proxy-libintl | LGPLv3 |\n| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |\n\nUse of libraries under the terms of the LGPLv3 is via the\n\"any later version\" clause of the LGPLv2 or LGPLv2.1.\n\nPlease report any errors or omissions via\nhttps://github.com/lovell/sharp-libvips/issues/new\n\nExact bundled library versions:\n{\n \"aom\": \"3.14.1\",\n \"archive\": \"3.8.7\",\n \"cairo\": \"1.18.4\",\n \"cgif\": \"0.5.3\",\n \"exif\": \"0.6.26\",\n \"expat\": \"2.8.1\",\n \"ffi\": \"3.5.2\",\n \"fontconfig\": \"2.18.1\",\n \"freetype\": \"2.14.3\",\n \"fribidi\": \"1.0.16\",\n \"glib\": \"2.89.0\",\n \"harfbuzz\": \"14.2.1\",\n \"heif\": \"1.23.0\",\n \"highway\": \"1.4.0\",\n \"imagequant\": \"2.4.1\",\n \"lcms\": \"2.19.1\",\n \"mozjpeg\": \"0826579\",\n \"pango\": \"1.57.1\",\n \"pixman\": \"0.46.4\",\n \"png\": \"1.6.58\",\n \"proxy-libintl\": \"0.5\",\n \"rsvg\": \"2.62.3\",\n \"tiff\": \"732665c\",\n \"uhdr\": \"13a058f\",\n \"vips\": \"8.18.3\",\n \"webp\": \"1.6.0\",\n \"xml2\": \"2.15.3\",\n \"zlib-ng\": \"2.3.3\"\n}\n\nCorresponding build recipes and pinned upstream source locations are available at the exact sharp-libvips tag above. The bundled libvips version is 8.18.3." } ] } diff --git a/i18n/GLOSSARY.md b/i18n/GLOSSARY.md index 876e889ab15..7ee54110ab2 100644 --- a/i18n/GLOSSARY.md +++ b/i18n/GLOSSARY.md @@ -257,6 +257,18 @@ macOS TCC 的 kTCCServiceListenEvent(系统设置里叫「输入监控」)在 Ci 个人微信连接的产品名称,沿用微信官方品牌写法;先登记为 proposed,待产品术语评审后再决定是否固化。 +### WeCom + +企业微信官方英文品牌名,用于智能机器人和群机器人能力;先登记为 proposed,待产品术语评审后再决定是否固化。 + +### WeCom group bot + +企业微信群 Webhook 单向通知能力的名称;先登记为 proposed。 + +### WeCom Intelligent Bot + +企业微信 WebSocket 长连接双向 IM 能力在设置页中的名称;先登记为 proposed。 + ## 怎么加一条术语 1. 在 `i18n/glossary.json` 的 `terms` 里加条目,`note` 必填——写清楚**为什么**这么定, diff --git a/i18n/glossary.json b/i18n/glossary.json index 108e79aaacf..fb1bab51993 100644 --- a/i18n/glossary.json +++ b/i18n/glossary.json @@ -109,6 +109,39 @@ }, "note": "钉钉机器人连接的产品名称,沿用官方品牌写法;先登记为 proposed,待产品术语评审后再决定是否固化。" }, + { + "id": "wecom", + "status": "proposed", + "en": "WeCom", + "translations": { + "zh-CN": "企业微信", + "ja": "WeCom", + "ko": "WeCom" + }, + "note": "企业微信官方英文品牌名,用于智能机器人和群机器人能力;先登记为 proposed,待产品术语评审后再决定是否固化。" + }, + { + "id": "wecom-intelligent-bot", + "status": "proposed", + "en": "WeCom Intelligent Bot", + "translations": { + "zh-CN": "企业微信智能机器人", + "ja": "WeCom インテリジェントボット", + "ko": "WeCom 지능형 봇" + }, + "note": "企业微信 WebSocket 长连接双向 IM 能力在设置页中的名称;先登记为 proposed。" + }, + { + "id": "wecom-group-bot", + "status": "proposed", + "en": "WeCom group bot", + "translations": { + "zh-CN": "企微群机器人", + "ja": "WeCom グループボット", + "ko": "WeCom 그룹 봇" + }, + "note": "企业微信群 Webhook 单向通知能力的名称;先登记为 proposed。" + }, { "id": "openclaw", "status": "proposed", diff --git a/packages/lizi-im/package.json b/packages/lizi-im/package.json index 06a502547fe..8e8a51fdc1c 100644 --- a/packages/lizi-im/package.json +++ b/packages/lizi-im/package.json @@ -22,6 +22,7 @@ "dependencies": { "@larksuiteoapi/node-sdk": "^1.60.0", "dingtalk-stream": "^2.1.5", + "@wecom/aibot-node-sdk": "1.0.7", "discord.js": "^14.16.0" }, "devDependencies": { diff --git a/packages/lizi-im/src/__tests__/xdtRefs.test.ts b/packages/lizi-im/src/__tests__/xdtRefs.test.ts index b941148b1fa..f04e167a89f 100644 --- a/packages/lizi-im/src/__tests__/xdtRefs.test.ts +++ b/packages/lizi-im/src/__tests__/xdtRefs.test.ts @@ -8,8 +8,12 @@ import { describe, it, expect } from 'vitest'; import { classifyXdtOnly, + collectXdtFileLinks, + collectXdtImageRefs, collectXdtImageUrls, + stripXdtFileLinks, stripXdtForStreaming, + stripXdtImageLinks, xdtFileUrlToAbsPath, } from '../xdtRefs.js'; @@ -45,3 +49,40 @@ describe('xdtFileUrlToAbsPath(Windows 盘符,规则 15)', () => { expect(xdtFileUrlToAbsPath('xdt-file:///home/u/f.txt')).toBe('/home/u/f.txt'); }); }); + +describe('linear managed-media parser', () => { + it('preserves source offsets while parsing image and file refs', () => { + const file = 'xdt-file:///tmp/report.txt'; + const text = `before ![chart](${BLOB}) [report](${file}) after`; + + expect(collectXdtImageRefs(text)).toEqual([ + { + alt: 'chart', + url: BLOB, + start: text.indexOf('!['), + end: text.indexOf(')') + 1, + }, + ]); + expect(collectXdtFileLinks(text)).toEqual([ + { alt: 'report', absPath: '/tmp/report.txt' }, + ]); + expect(stripXdtFileLinks(stripXdtImageLinks(text))).toBe('before after'); + }); + + it('handles long near-matches without regex backtracking', () => { + const nearImage = `![${'![\\\\'.repeat(20_000)}`; + const nearUrl = `![](xdt-image://${'![](xdt-image://'.repeat(20_000)}`; + + expect(collectXdtImageUrls(nearImage)).toEqual([]); + expect(collectXdtImageUrls(nearUrl)).toEqual([]); + expect(stripXdtForStreaming(nearImage)).toBe(nearImage); + expect(stripXdtForStreaming(nearUrl)).toBe(nearUrl); + }); + + it('still finds a valid ref after malformed Markdown', () => { + const text = `broken [ prefix ![chart](${BLOB})`; + + expect(collectXdtImageUrls(text)).toEqual([BLOB]); + expect(stripXdtImageLinks(text)).toBe('broken [ prefix '); + }); +}); diff --git a/packages/lizi-im/src/channelIM.ts b/packages/lizi-im/src/channelIM.ts index 5025410daf0..410103e139d 100644 --- a/packages/lizi-im/src/channelIM.ts +++ b/packages/lizi-im/src/channelIM.ts @@ -120,6 +120,8 @@ export interface ImFinalOutput { errorCode?: string; /** Managed local media discovered in the terminal assistant output. */ mediaAbsPaths?: string[]; + /** Host-approved roots for model-authored local file attachment links. */ + allowedFileRoots?: string[]; } /** @@ -134,5 +136,10 @@ export type ImOutputDriver = | { kind: 'chunked-text'; im: TextChannelIM; + /** + * Reserve an inbound reply context before a potentially long turn. + * Transports with callback deadlines may emit a non-terminal placeholder. + */ + beginReply?(userId: string): Promise; commitFinal(output: ImFinalOutput): Promise; }; diff --git a/packages/lizi-im/src/feishu/cards.ts b/packages/lizi-im/src/feishu/cards.ts index c59945763cd..1510c272f72 100644 --- a/packages/lizi-im/src/feishu/cards.ts +++ b/packages/lizi-im/src/feishu/cards.ts @@ -15,7 +15,7 @@ */ import type { InteractiveCardSpec } from '../types.js'; -import { XDT_IMAGE_REGEX } from '../xdtRefs.js'; +import { collectXdtImageRefs } from '../xdtRefs.js'; /** * 去掉 markdown inline code 的反引号,保留 fenced code block(```)不动。 @@ -167,11 +167,10 @@ export function buildMixedMarkdownCardV2( ): unknown { const elements: unknown[] = []; let lastIdx = 0; - for (const m of text.matchAll(XDT_IMAGE_REGEX)) { - const before = text.slice(lastIdx, m.index); + for (const ref of collectXdtImageRefs(text)) { + const before = text.slice(lastIdx, ref.start); if (before) elements.push({ tag: 'markdown', content: stripInlineCode(before) }); - const alt = m[1] || ''; - const url = m[2]; + const { alt, url } = ref; const key = imageMap.get(url); if (key) { elements.push({ @@ -185,7 +184,7 @@ export function buildMixedMarkdownCardV2( content: `_[图片加载失败:${alt || url}]_`, }); } - lastIdx = (m.index ?? 0) + m[0].length; + lastIdx = ref.end; } const tail = text.slice(lastIdx); if (tail) elements.push({ tag: 'markdown', content: stripInlineCode(tail) }); diff --git a/packages/lizi-im/src/index.ts b/packages/lizi-im/src/index.ts index 31f83f1a32b..74f116d1bff 100644 --- a/packages/lizi-im/src/index.ts +++ b/packages/lizi-im/src/index.ts @@ -43,6 +43,15 @@ export { TelegramIM, createTelegramIM } from './telegram/index.js'; export type { TelegramIMOptions, TelegramGroupWindowEntry } from './telegram/index.js'; export { TELEGRAM_DEFAULT_BEHAVIOR } from './telegram/index.js'; export type { TelegramBehaviorConfig } from './telegram/index.js'; +export { WecomIM, createWecomIM } from './wecom/index.js'; +export type { WecomIMOptions } from './wecom/index.js'; +export { + decodeWecomLane, + encodeWecomGroupLane, + chunkWecomMarkdown, + escapeWecomMarkdown, +} from './wecom/codec.js'; +export { stripXdtFileLinks, stripXdtImageLinks } from './xdtRefs.js'; export { decodeLaneUserId as decodeTelegramLaneUserId, encodeLaneUserId as encodeTelegramLaneUserId, diff --git a/packages/lizi-im/src/telegram/inbound.ts b/packages/lizi-im/src/telegram/inbound.ts index aa0da125c3f..50388d7f5ce 100644 --- a/packages/lizi-im/src/telegram/inbound.ts +++ b/packages/lizi-im/src/telegram/inbound.ts @@ -14,7 +14,7 @@ import path from 'node:path'; import type { IMAttachment, IMHostMediaCache, IMMessageEvent, IMUnsupportedEntry } from '../types.js'; import type { TelegramApiClient, TgFile, TgMessage, TgMessageEntity, TgUser } from './api.js'; -import { encodeLaneUserId, encodeMessageId } from './codec.js'; +import { encodeMessageId } from './codec.js'; /** Bot API getFile 的官方下载上限(20MB), 超过标注 oversize 不下载。 */ const MAX_INBOUND_FILE_BYTES = 20 * 1024 * 1024; diff --git a/packages/lizi-im/src/telegram/index.ts b/packages/lizi-im/src/telegram/index.ts index 74af8fab3fe..26fa8b69988 100644 --- a/packages/lizi-im/src/telegram/index.ts +++ b/packages/lizi-im/src/telegram/index.ts @@ -1624,10 +1624,6 @@ export function createTelegramIM(host: IMHost, opts?: TelegramIMOptions): Telegr export type { TelegramGroupWindowEntry } from './inbound.js'; -function laneUserIdOf(m: TgMessage): string { - return encodeLaneUserId(String(m.chat.id), laneThreadIdOf(m)); -} - function mapConnectErrorToStatus(err: unknown): IMStatus { if (err instanceof TelegramApiError) { if (err.errorCode === 401 || err.errorCode === 404) { diff --git a/packages/lizi-im/src/types.ts b/packages/lizi-im/src/types.ts index 80ee8ec0c49..ec77420b871 100644 --- a/packages/lizi-im/src/types.ts +++ b/packages/lizi-im/src/types.ts @@ -60,14 +60,14 @@ export interface IMHost { discordMediaDir?: string; /** Root for downloaded telegram media. Optional — only hosts that wire the telegram channel provide it. */ telegramMediaDir?: string; + /** Root for downloaded WeCom files and legacy image fallback. */ + wecomMediaDir?: string; }; /** - * host 托管的媒体缓存(cindy-media 媒体总仓)。可选——注入后 - * 入站**图片**改走 host 内容寻址仓(按 token 免重下、全局去重、吃缓存回收 - * 策略);缺省时回落 `paths.*MediaDir` 的老目录写盘。非图片文件始终走老 - * 目录(host 侧规则 25 边界:非媒体不进字节仓)。包侧只摸字节和字符串, - * 落盘/记账细节全在 host(规则 2)。 + * host 托管的媒体缓存(cindy-media 媒体总仓)。可选——注入后入站图片及 + * host 明确支持的其它媒体改走内容寻址仓;非媒体文件仍走 + * `paths.*MediaDir`。包侧只摸字节和字符串,落盘/记账细节全在 host。 */ media?: IMHostMediaCache; @@ -85,16 +85,38 @@ export interface IMHost { export interface IMHostMediaCache { /** 图片字节入 host 总仓;返回仓内绝对路径(喂 agent)+ 渲染 URL(cindy-media://)。 */ cacheImage(params: { - integration: 'feishu' | 'discord' | 'telegram' | 'dingtalk'; + integration: 'feishu' | 'discord' | 'telegram' | 'dingtalk' | 'wecom'; /** 平台侧稳定 token(feishu image_key / discord attachment id / telegram file_id),host 据此免重下。 */ token: string; buffer: Uint8Array; mimeType: string; - }): Promise<{ absPath: string; url: string }>; + /** Keep the blob reclaimable until the transport confirms account ownership after the write. */ + staging?: boolean; + }): Promise<{ absPath: string; url: string; discard?: () => Promise }>; + /** + * 其它 Cindy 托管媒体入总仓。未提供时 transport 必须降级为 unsupported, + * 不得新增写入冻结的 `cc-agent/*-media` 历史目录。 + */ + cacheMedia?(params: { + integration: 'feishu' | 'discord' | 'telegram' | 'wecom'; + token: string; + buffer: Uint8Array; + mimeType: string; + }): Promise<{ + absPath: string; + url: string; + mimeType: string; + /** Release host-side staging when the originating account becomes stale. */ + discard?: () => Promise; + }>; /** 按 token 查已缓存图片;未缓存返回 null(调用方去真下载)。 */ getCachedImage( - integration: 'feishu' | 'discord' | 'telegram' | 'dingtalk', + integration: 'feishu' | 'discord' | 'telegram' | 'dingtalk' | 'wecom', token: string, + options?: { + /** Re-check transport/account ownership after the async lookup, before host-side pinning. */ + shouldReuse?: () => boolean; + }, ): Promise<{ absPath: string; url: string; mimeType: string } | null>; /** host 托管媒体 URL(cindy-media://)→ 绝对路径;认不出返回 null(出站上传用)。 */ resolveMediaUrl(url: string): string | null; diff --git a/packages/lizi-im/src/wecom/__tests__/codec.test.ts b/packages/lizi-im/src/wecom/__tests__/codec.test.ts new file mode 100644 index 00000000000..ae22e11903d --- /dev/null +++ b/packages/lizi-im/src/wecom/__tests__/codec.test.ts @@ -0,0 +1,54 @@ +import { describe, expect, it } from "vitest"; + +import { + chunkWecomMarkdown, + decodeWecomLane, + encodeWecomGroupLane, + escapeWecomMarkdown, +} from "../codec.js"; + +describe("WeCom lane codec", () => { + it("round-trips group chat ids without exposing path separators", () => { + const lane = encodeWecomGroupLane("chat/with spaces/中文"); + expect(lane).toMatch(/^group\/[A-Za-z0-9_-]+$/); + expect(decodeWecomLane(lane)).toEqual({ + kind: "group", + targetId: "chat/with spaces/中文", + }); + }); + + it("treats ordinary ids as single-chat targets", () => { + expect(decodeWecomLane("zhangsan")).toEqual({ + kind: "single", + targetId: "zhangsan", + }); + }); + + it.each(["group/", "group/abc=", "group/abc+", "group/abc/", "group/_w"])( + "rejects malformed group lane %s", + (lane) => { + expect(() => decodeWecomLane(lane)).toThrow("WECOM_GROUP_LANE_INVALID"); + }, + ); +}); + +describe("WeCom markdown chunking", () => { + it("keeps every chunk under the transport byte limit", () => { + const chunks = chunkWecomMarkdown("中".repeat(20_000)); + expect(chunks.length).toBeGreaterThan(1); + expect( + chunks.every((chunk) => Buffer.byteLength(chunk, "utf8") <= 18 * 1024), + ).toBe(true); + expect(chunks.join("")).toBe("中".repeat(20_000)); + }); + + it("normalizes an empty final response", () => { + expect(chunkWecomMarkdown(" \r\n ")).toEqual(["✅ (本轮无文本输出)"]); + }); + + it("escapes plain text before sending it through markdown", () => { + expect(escapeWecomMarkdown("**not bold** [link](x)")).toBe( + "\\*\\*not bold\\*\\* \\[link\\]\\(x\\)", + ); + }); +}); diff --git a/packages/lizi-im/src/wecom/__tests__/index.test.ts b/packages/lizi-im/src/wecom/__tests__/index.test.ts new file mode 100644 index 00000000000..e3754a915f9 --- /dev/null +++ b/packages/lizi-im/src/wecom/__tests__/index.test.ts @@ -0,0 +1,1104 @@ +import { randomUUID } from "node:crypto"; +import { existsSync } from "node:fs"; +import { mkdir, rm, writeFile } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; + +import { describe, expect, it, vi } from "vitest"; + +import type { IMHost, IMMessageEvent } from "../../types.js"; +import { decodeWecomLane } from "../codec.js"; +import { WecomIM } from "../index.js"; + +type Handler = (payload?: unknown) => void; +type IpcHandler = (payload?: unknown) => Promise | unknown; + +class FakeClient { + readonly handlers = new Map(); + readonly sendMessage = vi.fn(async () => ({})); + readonly sendMediaMessage = vi.fn(async () => ({})); + readonly replyStream = vi.fn< + ( + frame: unknown, + streamId: string, + content: string, + finish: boolean, + ) => Promise> + >(async () => ({})); + readonly replyMedia = vi.fn(async () => ({})); + readonly uploadMedia = vi.fn( + async (buffer: Buffer, options: { type: string; filename: string }) => { + void buffer; + void options; + return { media_id: "media-1" }; + }, + ); + readonly downloadFile = vi.fn(async () => ({ + buffer: Buffer.from("image"), + filename: "photo.jpg", + })); + isConnected = false; + connectError: Error | null = null; + + on(event: string, handler: Handler) { + const entries = this.handlers.get(event) ?? []; + entries.push(handler); + this.handlers.set(event, entries); + return this; + } + + connect() { + if (this.connectError) throw this.connectError; + this.isConnected = true; + this.emit("authenticated"); + return this; + } + + disconnect() { + this.isConnected = false; + } + + emit(event: string, payload?: unknown) { + for (const handler of this.handlers.get(event) ?? []) handler(payload); + } +} + +function createHost() { + const secrets = new Map([ + ["wecom-bot-id", "bot-1"], + ["wecom-bot-secret", "secret-1"], + ]); + const broadcasts: unknown[] = []; + const ipcHandlers = new Map(); + const host: IMHost = { + secrets: { + read: (name) => secrets.get(name) ?? null, + write: (name, value) => { + secrets.set(name, value); + return true; + }, + remove: (name) => void secrets.delete(name), + isAvailable: () => true, + }, + ipc: { + handle: (channel, handler) => void ipcHandlers.set(channel, handler), + broadcast: (_channel, payload) => broadcasts.push(payload), + }, + paths: { + feishuMediaDir: "unused", + wecomMediaDir: "unused", + }, + httpPostForm: async () => ({ status: 200, body: {} }), + }; + return { host, secrets, broadcasts, ipcHandlers }; +} + +function message(args: { + id: string; + sender: string; + text: string; + chatId?: string; +}) { + return { + body: { + msgid: args.id, + aibotid: "bot-1", + chattype: args.chatId ? "group" : "single", + ...(args.chatId ? { chatid: args.chatId } : {}), + from: { userid: args.sender }, + msgtype: "text", + text: { content: args.text }, + }, + }; +} + +const flush = () => new Promise((resolve) => setTimeout(resolve, 0)); + +function deferred() { + let resolve!: (value: T) => void; + const promise = new Promise((done) => { + resolve = done; + }); + return { promise, resolve }; +} + +describe("WecomIM routing and ownership", () => { + it("TOFU-binds the first DM sender and only accepts that owner afterwards", async () => { + const { host, secrets } = createHost(); + const client = new FakeClient(); + const im = new WecomIM(host, { + clientFactory: () => client as never, + }); + const received: IMMessageEvent[] = []; + im.onMessage((event) => received.push(event)); + + await im.init(); + client.emit( + "message.text", + message({ id: "m1", sender: "owner", text: "hello" }), + ); + client.emit( + "message.text", + message({ id: "m2", sender: "other", text: "blocked" }), + ); + await flush(); + + expect(secrets.get("wecom-owner-user-id")).toBe("owner"); + expect(received.map((event) => event.text)).toEqual(["hello"]); + }); + + it("routes owner group messages through an encoded lane and active fallback uses chatid", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + const im = new WecomIM(host, { clientFactory: () => client as never }); + const received: IMMessageEvent[] = []; + im.onMessage((event) => received.push(event)); + + await im.init(); + client.emit( + "message.text", + message({ + id: "m-group", + sender: "owner", + text: "group task", + chatId: "chat-123", + }), + ); + await flush(); + + const lane = received[0]!.senderId; + expect(decodeWecomLane(lane)).toEqual({ + kind: "group", + targetId: "chat-123", + }); + await im.sendMarkdownText(lane, "**ack**"); + expect(client.replyStream).toHaveBeenCalledOnce(); + + await im.sendMarkdownText(lane, "**active**"); + expect(client.sendMessage).toHaveBeenCalledWith("chat-123", { + msgtype: "markdown", + markdown: { content: "**active**" }, + }); + }); + + it("starts a passive stream before the turn and finalizes the same stream", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + const im = new WecomIM(host, { + clientFactory: () => client as never, + now: () => 1_000, + }); + + await im.init(); + const frame = message({ id: "m-stream", sender: "owner", text: "task" }); + client.emit("message.text", frame); + await flush(); + + await im.beginReply("owner"); + const streamId = client.replyStream.mock.calls[0]?.[1]; + expect(client.replyStream).toHaveBeenNthCalledWith( + 1, + frame, + expect.any(String), + " ", + false, + ); + + await im.commitFinal({ + userId: "owner", + text: "final answer", + terminal: "done", + }); + + expect(client.replyStream).toHaveBeenNthCalledWith( + 2, + frame, + streamId, + "final answer", + true, + ); + expect(client.sendMessage).not.toHaveBeenCalled(); + }); + + it("keeps later inbound frames available while terminal attachments use active send", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + const mediaDir = join(tmpdir(), `cindy-wecom-frame-${randomUUID()}`); + const filePath = join(mediaDir, "report.txt"); + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await mkdir(mediaDir, { recursive: true }); + await writeFile(filePath, "report"); + try { + await im.init(); + const firstFrame = message({ + id: "m-first", + sender: "owner", + text: "first", + }); + const secondFrame = message({ + id: "m-second", + sender: "owner", + text: "second", + }); + client.emit("message.text", firstFrame); + await flush(); + await im.beginReply("owner"); + client.uploadMedia.mockImplementationOnce(async () => { + client.emit("message.text", secondFrame); + await flush(); + return { media_id: "media-2" }; + }); + + const fileUrl = `xdt-file:///${encodeURI(filePath.replaceAll("\\", "/"))}`; + await im.commitFinal({ + userId: "owner", + text: `done\n[report](${fileUrl})`, + terminal: "done", + allowedFileRoots: [mediaDir], + }); + + expect(client.replyMedia).not.toHaveBeenCalled(); + expect(client.sendMediaMessage).toHaveBeenCalledWith( + "owner", + "file", + "media-2", + ); + await im.sendMarkdownText("owner", "second reply"); + expect(client.replyStream).toHaveBeenLastCalledWith( + secondFrame, + expect.any(String), + "second reply", + true, + ); + } finally { + await im.dispose(); + await rm(mediaDir, { recursive: true, force: true }); + } + }); + + it("falls back to active send after the passive stream safety window", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + let now = 1_000; + const im = new WecomIM(host, { + clientFactory: () => client as never, + now: () => now, + }); + + await im.init(); + client.emit( + "message.text", + message({ id: "m-timeout", sender: "owner", text: "long task" }), + ); + await flush(); + await im.beginReply("owner"); + now += 3 * 60_000; + + await im.commitFinal({ + userId: "owner", + text: "late answer", + terminal: "done", + }); + + expect(client.replyStream).toHaveBeenCalledTimes(1); + expect(client.sendMessage).toHaveBeenCalledWith("owner", { + msgtype: "markdown", + markdown: { content: "late answer" }, + }); + }); + + it("delivers terminal file and managed-image links without leaking local URLs", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + const mediaDir = join(tmpdir(), `cindy-wecom-outbound-${randomUUID()}`); + const filePath = join(mediaDir, "report.txt"); + const imagePath = join(mediaDir, "chart.png"); + const imageUrl = "cindy-media://blobs/chart.png"; + host.media = { + getCachedImage: async () => null, + cacheImage: async () => ({ absPath: imagePath, url: imageUrl }), + resolveMediaUrl: vi.fn((url) => (url === imageUrl ? imagePath : null)), + }; + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await mkdir(mediaDir, { recursive: true }); + await Promise.all([ + writeFile(filePath, "report"), + writeFile(imagePath, "image"), + ]); + try { + await im.init(); + const fileUrl = `xdt-file:///${encodeURI(filePath.replaceAll("\\", "/"))}`; + await im.commitFinal({ + userId: "owner", + text: `done\n[report.txt](${fileUrl})\n![chart](${imageUrl})`, + terminal: "done", + mediaAbsPaths: [imagePath], + allowedFileRoots: [mediaDir], + }); + + expect(client.sendMessage).toHaveBeenCalledWith("owner", { + msgtype: "markdown", + markdown: { content: "done" }, + }); + expect(JSON.stringify(client.sendMessage.mock.calls)).not.toContain("xdt-file://"); + expect(JSON.stringify(client.sendMessage.mock.calls)).not.toContain("cindy-media://"); + expect(client.uploadMedia).toHaveBeenCalledTimes(2); + expect(client.sendMediaMessage).toHaveBeenCalledTimes(2); + expect(host.media.resolveMediaUrl).toHaveBeenCalledWith(imageUrl); + } finally { + await im.dispose(); + await rm(mediaDir, { recursive: true, force: true }); + } + }); + + it("reports managed images that cannot be resolved before removing their links", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + const imageUrl = "cindy-media://blobs/missing.png"; + host.media = { + getCachedImage: async () => null, + cacheImage: async () => ({ absPath: "unused", url: imageUrl }), + resolveMediaUrl: vi.fn(() => null), + }; + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await im.init(); + await im.commitFinal({ + userId: "owner", + text: `done\n![missing](${imageUrl})`, + terminal: "done", + }); + + expect(client.uploadMedia).not.toHaveBeenCalled(); + expect(client.sendMessage).toHaveBeenCalledWith("owner", { + msgtype: "markdown", + markdown: { + content: "done\n\n⚠️ 有 1 张图片未发送(图片已不存在或无法读取)。", + }, + }); + }); + + it("does not upload model-authored xdt-file links outside allowed roots", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + const allowedDir = join(tmpdir(), `cindy-wecom-allowed-${randomUUID()}`); + const outsideDir = join(tmpdir(), `cindy-wecom-outside-${randomUUID()}`); + const allowedPath = join(allowedDir, "report.txt"); + const outsidePath = join(outsideDir, "secret.txt"); + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await Promise.all([ + mkdir(allowedDir, { recursive: true }), + mkdir(outsideDir, { recursive: true }), + ]); + await Promise.all([ + writeFile(allowedPath, "report"), + writeFile(outsidePath, "secret"), + ]); + try { + await im.init(); + const allowedUrl = `xdt-file:///${encodeURI(allowedPath.replaceAll("\\", "/"))}`; + const outsideUrl = `xdt-file:///${encodeURI(outsidePath.replaceAll("\\", "/"))}`; + await im.commitFinal({ + userId: "owner", + text: `done\n[report](${allowedUrl})\n[secret](${outsideUrl})`, + terminal: "done", + allowedFileRoots: [allowedDir], + }); + + expect(client.uploadMedia).toHaveBeenCalledOnce(); + expect(client.uploadMedia.mock.calls[0]?.[0]).toEqual(Buffer.from("report")); + expect(JSON.stringify(client.uploadMedia.mock.calls)).not.toContain("secret"); + expect(client.sendMessage).toHaveBeenCalledWith("owner", { + msgtype: "markdown", + markdown: { + content: + "done\n\n⚠️ 有 1 个文件附件未发送(不在当前工作目录内或无法验证)。", + }, + }); + } finally { + await im.dispose(); + await Promise.all([ + rm(allowedDir, { recursive: true, force: true }), + rm(outsideDir, { recursive: true, force: true }), + ]); + } + }); + + it("reports attachments omitted by the outbound safety cap", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + const im = new WecomIM(host, { clientFactory: () => client as never }); + const sendFile = vi + .spyOn(im, "sendFile") + .mockResolvedValue({ ok: true, messageId: "attachment" }); + + await im.init(); + await im.commitFinal({ + userId: "owner", + text: "done", + terminal: "done", + mediaAbsPaths: ["one", "two", "three", "four", "five"], + }); + + expect(sendFile).toHaveBeenCalledTimes(4); + expect(client.sendMessage).toHaveBeenCalledWith("owner", { + msgtype: "markdown", + markdown: { + content: "done\n\n⚠️ 另有 1 个附件未发送(企业微信单次最多发送 4 个)。", + }, + }); + }); + + it("notifies the recipient when a terminal attachment fails to send", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + const im = new WecomIM(host, { clientFactory: () => client as never }); + const nextFrame = message({ id: "m-next", sender: "owner", text: "next" }); + vi.spyOn(im, "sendFile").mockImplementation(async () => { + client.emit("message.text", nextFrame); + await flush(); + return { ok: false, reason: "UPLOAD_FAIL" }; + }); + + await im.init(); + await im.commitFinal({ + userId: "owner", + text: "done", + terminal: "done", + mediaAbsPaths: ["missing"], + }); + + expect(client.sendMessage).toHaveBeenNthCalledWith(1, "owner", { + msgtype: "markdown", + markdown: { content: "done" }, + }); + expect(client.sendMessage).toHaveBeenNthCalledWith(2, "owner", { + msgtype: "markdown", + markdown: { content: "⚠️ 有 1 个附件发送失败,请稍后重试。" }, + }); + + await im.sendMarkdownText("owner", "next reply"); + expect(client.replyStream).toHaveBeenLastCalledWith( + nextFrame, + expect.any(String), + "next reply", + true, + ); + }); + + it("deduplicates repeated callback message ids", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + const im = new WecomIM(host, { clientFactory: () => client as never }); + const received = vi.fn(); + im.onMessage(received); + + await im.init(); + const frame = message({ id: "same", sender: "owner", text: "once" }); + client.emit("message.text", frame); + client.emit("message.text", frame); + await flush(); + + expect(received).toHaveBeenCalledOnce(); + }); + + it("surfaces a synchronous SDK startup failure instead of staying connecting", async () => { + const { host } = createHost(); + const client = new FakeClient(); + client.connectError = new Error("invalid credentials"); + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await expect(im.init()).resolves.toBeUndefined(); + + expect(im.getStatus()).toEqual({ + kind: "error", + reason: "invalid credentials", + }); + }); + + it("preserves the concrete authentication failure after retries are exhausted", async () => { + const { host } = createHost(); + const client = new FakeClient(); + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await im.init(); + client.emit( + "error", + new Error("Authentication failed: invalid secret (code: 40001)"), + ); + client.emit( + "error", + Object.assign(new Error("Max auth failure attempts exceeded (3)"), { + code: "WS_AUTH_FAILURE_EXHAUSTED", + }), + ); + + expect(im.getStatus()).toEqual({ + kind: "error", + reason: "企业微信鉴权失败:invalid secret (code: 40001)", + }); + }); + + it("preserves conflict status when the SDK follows a server kick with disconnected", async () => { + const { host } = createHost(); + const client = new FakeClient(); + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await im.init(); + client.emit("event.disconnected_event"); + client.emit("disconnected", "another connection took over"); + + expect(im.getStatus()).toEqual({ kind: "conflict", appId: "bot-1" }); + }); + + it("keeps ordinary disconnects in the reconnecting state", async () => { + const { host } = createHost(); + const client = new FakeClient(); + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await im.init(); + client.emit("disconnected", "network unavailable"); + + expect(im.getStatus()).toEqual({ kind: "connecting" }); + }); + + it.each([ + { + channel: "wecomBot:set-config", + payload: { botId: "bot-2", secret: "secret-2" }, + }, + { channel: "wecomBot:reconnect", payload: undefined }, + { channel: "wecomBot:disconnect", payload: undefined }, + ])( + "does not mutate transport through $channel after the account generation changes", + async ({ channel, payload }) => { + const { host, secrets, ipcHandlers } = createHost(); + const gate = deferred(); + let active = true; + let accountToken = 1; + const accountRun = vi.fn(); + host.accountScope = { + capture: () => (active ? accountToken : null), + isCurrent: (token) => active && token === accountToken, + async run( + token: unknown, + operation: () => Promise, + ): Promise { + accountRun(token); + await gate.promise; + if (!active || token !== accountToken) { + throw new Error("[IM_NOT_READY] stale account generation"); + } + return operation(); + }, + }; + const clientFactory = vi.fn(() => new FakeClient() as never); + const im = new WecomIM(host, { clientFactory }); + im.registerIpc(); + + const invoke = ipcHandlers.get(channel); + expect(invoke).toBeDefined(); + const operation = Promise.resolve(invoke?.(payload)); + await vi.waitFor(() => expect(accountRun).toHaveBeenCalledWith(1)); + + active = false; + accountToken += 1; + gate.resolve(); + + await expect(operation).rejects.toThrow("[IM_NOT_READY]"); + expect(clientFactory).not.toHaveBeenCalled(); + expect(secrets.get("wecom-bot-id")).toBe("bot-1"); + expect(secrets.get("wecom-bot-secret")).toBe("secret-1"); + }, + ); + + it("preserves arrival order when media download is slower than a following text message", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + let releaseDownload!: () => void; + client.downloadFile.mockImplementationOnce( + () => + new Promise((resolve) => { + releaseDownload = () => + resolve({ buffer: Buffer.from("image"), filename: "photo.jpg" }); + }), + ); + host.media = { + getCachedImage: async () => null, + cacheImage: async () => ({ + absPath: "C:\\managed\\photo.jpg", + url: "cindy-media://image", + }), + resolveMediaUrl: () => null, + }; + const im = new WecomIM(host, { clientFactory: () => client as never }); + const received: string[] = []; + im.onMessage((event) => + received.push(event.text || event.attachments[0]?.kind || "empty"), + ); + + await im.init(); + client.emit("message.image", { + body: { + msgid: "image-first", + aibotid: "bot-1", + chattype: "single", + from: { userid: "owner" }, + msgtype: "image", + image: { url: "https://example.invalid/image" }, + }, + }); + client.emit( + "message.text", + message({ id: "text-second", sender: "owner", text: "second" }), + ); + await flush(); + expect(received).toEqual([]); + + releaseDownload(); + await flush(); + await flush(); + expect(received).toEqual(["image", "second"]); + }); + + it("does not cache an inbound image after the transport generation changes", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + const download = deferred>>(); + client.downloadFile.mockImplementationOnce(() => download.promise); + const cacheImage = vi.fn(async () => ({ + absPath: "C:\\managed\\photo.jpg", + url: "cindy-media://image", + })); + host.media = { + getCachedImage: vi.fn(async () => null), + cacheImage, + resolveMediaUrl: vi.fn(() => null), + }; + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await im.init(); + client.emit("message.image", { + body: { + msgid: "stale-image", + aibotid: "bot-1", + chattype: "single", + from: { userid: "owner" }, + msgtype: "image", + image: { url: "https://example.invalid/image" }, + }, + }); + await vi.waitFor(() => expect(client.downloadFile).toHaveBeenCalledOnce()); + + await im.dispose(); + download.resolve({ buffer: Buffer.from("image"), filename: "photo.jpg" }); + await flush(); + await flush(); + + expect(cacheImage).not.toHaveBeenCalled(); + }); + + it("discards image staging when the owning account closes during the write", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const accountToken = { id: 1 }; + let accountActive = true; + host.accountScope = { + capture: () => (accountActive ? accountToken : null), + isCurrent: (token) => accountActive && token === accountToken, + run: async (_token, operation) => operation(), + }; + const client = new FakeClient(); + const staged = deferred<{ + absPath: string; + url: string; + discard: () => Promise; + }>(); + const discard = vi.fn(async () => {}); + const cacheImage = vi.fn(() => staged.promise); + host.media = { + getCachedImage: vi.fn(async () => null), + cacheImage, + resolveMediaUrl: vi.fn(() => null), + }; + const im = new WecomIM(host, { clientFactory: () => client as never }); + const received: IMMessageEvent[] = []; + im.onMessage((event) => received.push(event)); + + await im.init(); + client.emit("message.image", { + body: { + msgid: "stale-staged-image", + aibotid: "bot-1", + chattype: "single", + from: { userid: "owner" }, + msgtype: "image", + image: { url: "https://example.invalid/image" }, + }, + }); + await vi.waitFor(() => expect(cacheImage).toHaveBeenCalledOnce()); + expect(cacheImage).toHaveBeenCalledWith( + expect.objectContaining({ staging: true }), + ); + + accountActive = false; + staged.resolve({ + absPath: "C:\\managed\\photo.jpg", + url: "cindy-media://image", + discard, + }); + await vi.waitFor(() => expect(discard).toHaveBeenCalledOnce()); + + expect(received).toEqual([]); + }); + + it("carries image staging rollback through the final account ownership check", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const accountToken = { id: 1 }; + let accountActive = true; + host.accountScope = { + capture: () => (accountActive ? accountToken : null), + isCurrent: (token) => accountActive && token === accountToken, + run: async (_token, operation) => operation(), + }; + const client = new FakeClient(); + const discard = vi.fn(async () => {}); + host.media = { + getCachedImage: vi.fn(async () => null), + cacheImage: vi.fn(async () => ({ + absPath: "C:\\managed\\photo.jpg", + get url() { + accountActive = false; + return "cindy-media://image"; + }, + discard, + })), + resolveMediaUrl: vi.fn(() => null), + }; + const im = new WecomIM(host, { clientFactory: () => client as never }); + const received: IMMessageEvent[] = []; + im.onMessage((event) => received.push(event)); + + await im.init(); + client.emit("message.image", { + body: { + msgid: "stale-normalized-image", + aibotid: "bot-1", + chattype: "single", + from: { userid: "owner" }, + msgtype: "image", + image: { url: "https://example.invalid/image" }, + }, + }); + + await vi.waitFor(() => expect(discard).toHaveBeenCalledOnce()); + expect(received).toEqual([]); + }); + + it("does not pin or download a cached image after the owning account boundary closes", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const accountToken = { id: 1 }; + let accountActive = true; + host.accountScope = { + capture: () => (accountActive ? accountToken : null), + isCurrent: (token) => accountActive && token === accountToken, + run: async (_token, operation) => operation(), + }; + const client = new FakeClient(); + const lookup = deferred<{ + absPath: string; + url: string; + mimeType: string; + }>(); + const pinCachedImage = vi.fn(); + const getCachedImage = vi.fn( + async ( + _integration: "wecom", + _token: string, + options?: { shouldReuse?: () => boolean }, + ) => { + const cached = await lookup.promise; + if (options?.shouldReuse?.() === false) return null; + pinCachedImage(); + return cached; + }, + ); + host.media = { + getCachedImage, + cacheImage: vi.fn(), + resolveMediaUrl: vi.fn(() => null), + }; + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await im.init(); + client.emit("message.image", { + body: { + msgid: "closed-account-cached-image", + aibotid: "bot-1", + chattype: "single", + from: { userid: "owner" }, + msgtype: "image", + image: { url: "https://example.invalid/image" }, + }, + }); + await vi.waitFor(() => expect(getCachedImage).toHaveBeenCalledOnce()); + + accountActive = false; + lookup.resolve({ + absPath: "C:\\managed\\photo.jpg", + url: "cindy-media://image", + mimeType: "image/jpeg", + }); + await flush(); + await flush(); + + expect(pinCachedImage).not.toHaveBeenCalled(); + expect(client.downloadFile).not.toHaveBeenCalled(); + }); + + it("does not persist an inbound file after the transport generation changes", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const mediaDir = join(tmpdir(), `cindy-wecom-stale-${randomUUID()}`); + host.paths.wecomMediaDir = mediaDir; + const client = new FakeClient(); + const download = deferred>>(); + client.downloadFile.mockImplementationOnce(() => download.promise); + const im = new WecomIM(host, { clientFactory: () => client as never }); + + try { + await im.init(); + client.emit("message.file", { + body: { + msgid: "stale-file", + aibotid: "bot-1", + chattype: "single", + from: { userid: "owner" }, + msgtype: "file", + file: { url: "https://example.invalid/file" }, + }, + }); + await vi.waitFor(() => expect(client.downloadFile).toHaveBeenCalledOnce()); + + await im.dispose(); + download.resolve({ buffer: Buffer.from("file"), filename: "report.txt" }); + await flush(); + await flush(); + + expect(existsSync(mediaDir)).toBe(false); + } finally { + await rm(mediaDir, { recursive: true, force: true }); + } + }); + + it("does not cache an inbound video after the transport generation changes", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + const download = deferred>>(); + client.downloadFile.mockImplementationOnce(() => download.promise); + const cacheMedia = vi.fn(async () => ({ + absPath: "C:\\managed\\clip.mp4", + url: `cindy-media://blobs/${"a".repeat(64)}.mp4`, + mimeType: "video/mp4", + })); + host.media = { + cacheImage: vi.fn(), + cacheMedia, + getCachedImage: vi.fn(async () => null), + resolveMediaUrl: vi.fn(() => null), + }; + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await im.init(); + client.emit("message.video", { + body: { + msgid: "stale-video", + aibotid: "bot-1", + chattype: "single", + from: { userid: "owner" }, + msgtype: "video", + video: { url: "https://example.invalid/video" }, + }, + }); + await vi.waitFor(() => expect(client.downloadFile).toHaveBeenCalledOnce()); + + await im.dispose(); + download.resolve({ buffer: Buffer.from("video"), filename: "clip.mp4" }); + await flush(); + await flush(); + + expect(cacheMedia).not.toHaveBeenCalled(); + }); + + it("does not stage inbound media after the owning account boundary closes", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const accountToken = { id: 1 }; + let accountActive = true; + host.accountScope = { + capture: () => (accountActive ? accountToken : null), + isCurrent: (token) => accountActive && token === accountToken, + run: async (_token, operation) => operation(), + }; + const client = new FakeClient(); + const cacheMedia = vi.fn(async () => ({ + absPath: "C:\\managed\\clip.mp4", + url: `cindy-media://blobs/${"a".repeat(64)}.mp4`, + mimeType: "video/mp4", + })); + host.media = { + cacheImage: vi.fn(), + cacheMedia, + getCachedImage: vi.fn(async () => null), + resolveMediaUrl: vi.fn(() => null), + }; + const im = new WecomIM(host, { clientFactory: () => client as never }); + + await im.init(); + accountActive = false; + client.emit("message.video", { + body: { + msgid: "closed-account-video", + aibotid: "bot-1", + chattype: "single", + from: { userid: "owner" }, + msgtype: "video", + video: { url: "https://example.invalid/video" }, + }, + }); + await flush(); + + expect(client.downloadFile).not.toHaveBeenCalled(); + expect(cacheMedia).not.toHaveBeenCalled(); + }); + + it("discards video staging when the owning account closes during the write", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const accountToken = { id: 1 }; + let accountActive = true; + host.accountScope = { + capture: () => (accountActive ? accountToken : null), + isCurrent: (token) => accountActive && token === accountToken, + run: async (_token, operation) => operation(), + }; + const client = new FakeClient(); + client.downloadFile.mockResolvedValueOnce({ + buffer: Buffer.from("video"), + filename: "clip.mp4", + }); + const staged = deferred<{ + absPath: string; + url: string; + mimeType: string; + discard: () => Promise; + }>(); + const discard = vi.fn(async () => {}); + const cacheMedia = vi.fn(() => staged.promise); + host.media = { + cacheImage: vi.fn(), + cacheMedia, + getCachedImage: vi.fn(async () => null), + resolveMediaUrl: vi.fn(() => null), + }; + const im = new WecomIM(host, { clientFactory: () => client as never }); + const received: IMMessageEvent[] = []; + im.onMessage((event) => received.push(event)); + + await im.init(); + client.emit("message.video", { + body: { + msgid: "stale-staged-video", + aibotid: "bot-1", + chattype: "single", + from: { userid: "owner" }, + msgtype: "video", + video: { url: "https://example.invalid/video" }, + }, + }); + await vi.waitFor(() => expect(cacheMedia).toHaveBeenCalledOnce()); + + accountActive = false; + staged.resolve({ + absPath: "C:\\managed\\clip.mp4", + url: `cindy-media://blobs/${"a".repeat(64)}.mp4`, + mimeType: "video/mp4", + discard, + }); + await vi.waitFor(() => expect(discard).toHaveBeenCalledOnce()); + + expect(received).toEqual([]); + }); + + it("routes inbound video bytes through the host media ledger", async () => { + const { host, secrets } = createHost(); + secrets.set("wecom-owner-user-id", "owner"); + const client = new FakeClient(); + client.downloadFile.mockResolvedValueOnce({ + buffer: Buffer.from("video"), + filename: "clip.mp4", + }); + const cacheMedia = vi.fn(async () => ({ + absPath: "C:\\managed\\clip.mp4", + url: `cindy-media://blobs/${"a".repeat(64)}.mp4`, + mimeType: "video/mp4", + })); + host.media = { + cacheImage: vi.fn(), + cacheMedia, + getCachedImage: vi.fn(async () => null), + resolveMediaUrl: vi.fn(() => null), + }; + const im = new WecomIM(host, { clientFactory: () => client as never }); + const received: IMMessageEvent[] = []; + im.onMessage((event) => received.push(event)); + + await im.init(); + client.emit("message.video", { + body: { + msgid: "video-1", + aibotid: "bot-1", + chattype: "single", + from: { userid: "owner" }, + msgtype: "video", + video: { url: "https://example.invalid/video" }, + }, + }); + await flush(); + await flush(); + + expect(cacheMedia).toHaveBeenCalledWith({ + integration: "wecom", + token: "video-1:video", + buffer: Buffer.from("video"), + mimeType: "video/mp4", + }); + expect(received[0]?.attachments).toEqual([ + { + kind: "file", + absPath: "C:\\managed\\clip.mp4", + originalName: "clip.mp4", + mimeType: "video/mp4", + url: `cindy-media://blobs/${"a".repeat(64)}.mp4`, + }, + ]); + }); +}); diff --git a/packages/lizi-im/src/wecom/__tests__/media.test.ts b/packages/lizi-im/src/wecom/__tests__/media.test.ts new file mode 100644 index 00000000000..1db9b7cee65 --- /dev/null +++ b/packages/lizi-im/src/wecom/__tests__/media.test.ts @@ -0,0 +1,119 @@ +import fs from "node:fs/promises"; +import os from "node:os"; +import path from "node:path"; + +import { afterEach, describe, expect, it } from "vitest"; + +import { + mimeTypeForFilename, + persistWecomDownload, + readWecomOutboundFile, + resolveAllowedWecomOutboundFile, + safeWecomFilename, +} from "../media.js"; + +const tempDirs: string[] = []; + +afterEach(async () => { + await Promise.all( + tempDirs + .splice(0) + .map((dir) => fs.rm(dir, { recursive: true, force: true })), + ); +}); + +describe("WeCom media helpers", () => { + it("removes path traversal and reserved filename characters", () => { + expect(safeWecomFilename("../../bad:name?.png")).toBe("bad_name_.png"); + expect(safeWecomFilename(`report${" ".repeat(20_000)}..`)).toBe( + "report", + ); + }); + + it("prefixes Windows device names while preserving similar filenames", () => { + expect(safeWecomFilename("CON")).toBe("_CON"); + expect(safeWecomFilename("nul.txt")).toBe("_nul.txt"); + expect(safeWecomFilename("COM1.log")).toBe("_COM1.log"); + expect(safeWecomFilename("LPT9.csv")).toBe("_LPT9.csv"); + expect(safeWecomFilename("console.txt")).toBe("console.txt"); + expect(safeWecomFilename("COM10.log")).toBe("COM10.log"); + }); + + it("persists a downloaded file below the channel directory", async () => { + const dir = await fs.mkdtemp(path.join(os.tmpdir(), "cindy-wecom-")); + tempDirs.push(dir); + const stored = await persistWecomDownload({ + mediaDir: dir, + buffer: Buffer.from("hello"), + filename: "../notes.txt", + }); + expect(path.dirname(stored.absPath)).toBe(dir); + expect(await fs.readFile(stored.absPath, "utf8")).toBe("hello"); + expect(stored.originalName).toBe("notes.txt"); + expect(stored.mimeType).toBe("text/plain"); + }); + + it("removes a staged download when ownership changes during the write", async () => { + const dir = await fs.mkdtemp(path.join(os.tmpdir(), "cindy-wecom-")); + tempDirs.push(dir); + let checks = 0; + + await expect( + persistWecomDownload({ + mediaDir: dir, + buffer: Buffer.from("stale"), + filename: "stale.txt", + shouldKeep: () => (checks += 1) === 1, + }), + ).rejects.toThrow("WECOM_MEDIA_STALE"); + + expect(await fs.readdir(dir)).toEqual([]); + }); + + it("selects outbound media types from safe metadata", async () => { + const dir = await fs.mkdtemp(path.join(os.tmpdir(), "cindy-wecom-")); + tempDirs.push(dir); + const file = path.join(dir, "picture.png"); + await fs.writeFile(file, Buffer.from([1, 2, 3])); + const outbound = await readWecomOutboundFile(file); + expect(outbound.mediaType).toBe("image"); + expect(outbound.filename).toBe("picture.png"); + expect(mimeTypeForFilename("README")).toBe("application/octet-stream"); + }); + + it("confines outbound files to an allowed root and returns the canonical path", async () => { + const root = await fs.mkdtemp(path.join(os.tmpdir(), "cindy-wecom-root-")); + const outside = await fs.mkdtemp( + path.join(os.tmpdir(), "cindy-wecom-outside-"), + ); + tempDirs.push(root, outside); + const allowedFile = path.join(root, "report.txt"); + const outsideFile = path.join(outside, "secret.txt"); + await Promise.all([ + fs.writeFile(allowedFile, "report"), + fs.writeFile(outsideFile, "secret"), + ]); + + await expect( + resolveAllowedWecomOutboundFile(allowedFile, [root]), + ).resolves.toBe(await fs.realpath(allowedFile)); + await expect( + resolveAllowedWecomOutboundFile(outsideFile, [root]), + ).resolves.toBeNull(); + await expect( + resolveAllowedWecomOutboundFile(allowedFile, []), + ).resolves.toBeNull(); + }); + + it("rejects a lexical in-root path whose realpath escapes the root", async () => { + const root = path.resolve("workspace"); + const candidate = path.join(root, "linked", "secret.txt"); + const escaped = path.resolve("outside", "secret.txt"); + const realpath = async (target: string): Promise => + target === root ? root : escaped; + + await expect( + resolveAllowedWecomOutboundFile(candidate, [root], realpath), + ).resolves.toBeNull(); + }); +}); diff --git a/packages/lizi-im/src/wecom/codec.ts b/packages/lizi-im/src/wecom/codec.ts new file mode 100644 index 00000000000..6b7e1566e55 --- /dev/null +++ b/packages/lizi-im/src/wecom/codec.ts @@ -0,0 +1,58 @@ +const GROUP_LANE_PREFIX = "group/"; +const MAX_MESSAGE_BYTES = 18 * 1024; + +export interface WecomLane { + kind: "single" | "group"; + targetId: string; +} + +export function encodeWecomGroupLane(chatId: string): string { + if (!chatId) throw new Error("WECOM_CHAT_ID_REQUIRED"); + return `${GROUP_LANE_PREFIX}${Buffer.from(chatId, "utf8").toString("base64url")}`; +} + +export function decodeWecomLane(userId: string): WecomLane { + if (!userId.startsWith(GROUP_LANE_PREFIX)) { + if (!userId) throw new Error("WECOM_USER_ID_REQUIRED"); + return { kind: "single", targetId: userId }; + } + const encoded = userId.slice(GROUP_LANE_PREFIX.length); + if (!encoded || !/^[A-Za-z0-9_-]+$/.test(encoded)) { + throw new Error("WECOM_GROUP_LANE_INVALID"); + } + try { + const targetId = Buffer.from(encoded, "base64url").toString("utf8"); + if ( + !targetId || + Buffer.from(targetId, "utf8").toString("base64url") !== encoded + ) { + throw new Error("WECOM_GROUP_LANE_INVALID"); + } + return { kind: "group", targetId }; + } catch { + throw new Error("WECOM_GROUP_LANE_INVALID"); + } +} + +export function chunkWecomMarkdown(source: string): string[] { + const normalized = source.replace(/\r\n?/g, "\n").trim(); + if (!normalized) return ["✅ (本轮无文本输出)"]; + + const chunks: string[] = []; + let current = ""; + for (const point of normalized) { + const candidate = current + point; + if (Buffer.byteLength(candidate, "utf8") > MAX_MESSAGE_BYTES && current) { + chunks.push(current); + current = point; + } else { + current = candidate; + } + } + if (current) chunks.push(current); + return chunks; +} + +export function escapeWecomMarkdown(source: string): string { + return source.replace(/([\\`*_{}[\]()#+\-.!>])/g, "\\$1"); +} diff --git a/packages/lizi-im/src/wecom/index.ts b/packages/lizi-im/src/wecom/index.ts new file mode 100644 index 00000000000..e81e26157cf --- /dev/null +++ b/packages/lizi-im/src/wecom/index.ts @@ -0,0 +1,1195 @@ +import { randomUUID } from "node:crypto"; + +import { + WSClient, + type BaseMessage, + type FileMessage, + type ImageMessage, + type MixedMessage, + type TextMessage, + type VideoMessage, + type VoiceMessage, + type WSClientOptions, + type WsFrame, +} from "@wecom/aibot-node-sdk"; + +import { BaseIM } from "../BaseIM.js"; +import type { ImFinalOutput, TextChannelIM } from "../channelIM.js"; +import type { Logger } from "../logger.js"; +import type { + IMAttachment, + IMHost, + IMMessageEvent, + IMStatus, + IMUnsupportedEntry, + SendFileResult, +} from "../types.js"; +import { + collectXdtFileLinks, + collectXdtImageUrls, + stripXdtFileLinks, + stripXdtImageLinks, +} from "../xdtRefs.js"; +import { + chunkWecomMarkdown, + decodeWecomLane, + encodeWecomGroupLane, + escapeWecomMarkdown, +} from "./codec.js"; +import { + mimeTypeForFilename, + persistWecomDownload, + readWecomOutboundFile, + resolveAllowedWecomOutboundFile, + safeWecomFilename, +} from "./media.js"; + +const BOT_ID_SECRET_KEY = "wecom-bot-id"; +const BOT_SECRET_SECRET_KEY = "wecom-bot-secret"; +const OWNER_USER_ID_SECRET_KEY = "wecom-owner-user-id"; +const CALLBACK_TTL_MS = 4 * 60_000; +const CALLBACK_QUEUE_CAPACITY = 64; +const STREAM_SAFE_TIMEOUT_MS = 2 * 60_000 + 45_000; +const DEDUPE_CAPACITY = 2_048; +const MAX_TERMINAL_ATTACHMENTS = 4; +const SECRET_WRITE_FAILED_REASON = "无法使用系统安全存储保存企业微信机器人凭证"; +const NO_ACCOUNT_SCOPE = Symbol("no-account-scope"); + +type StagedImage = { + attachment: IMAttachment; + discard?: () => Promise; +}; + +type MessageHandler = (event: IMMessageEvent) => void; +type StatusHandler = (status: IMStatus) => void; +type TextInterceptor = (event: IMMessageEvent) => boolean; +type WecomFrame = WsFrame; + +interface PendingFrame { + frame: WecomFrame; + receivedAt: number; +} + +interface PendingResponse { + frame: WecomFrame | null; + streamId: string; + startedAt: number; + passiveStarted: boolean; +} + +export interface WecomIMOptions { + clientFactory?: (options: WSClientOptions) => WSClient; + now?: () => number; +} + +/** Enterprise WeChat transport with durable chunked-text output. */ +export class WecomIM extends BaseIM implements TextChannelIM { + private readonly messageHandlers = new Set(); + private readonly statusHandlers = new Set(); + private readonly textInterceptors = new Set(); + private readonly pendingFrames = new Map(); + private readonly pendingResponses = new Map(); + private readonly inboundTails = new Map>(); + private readonly seenMessageIds = new Set(); + private readonly mediaDir: string; + private readonly now: () => number; + private client: WSClient | null = null; + private status: IMStatus = { kind: "idle" }; + private botId = ""; + private ownerUserId = ""; + private lastAuthFailureReason = ""; + private generation = 0; + private accountToken: unknown = NO_ACCOUNT_SCOPE; + + constructor( + host: IMHost, + private readonly options: WecomIMOptions = {}, + ) { + super("wecom", host); + if (!host.paths.wecomMediaDir) { + throw new Error( + "IMHost.paths.wecomMediaDir is required to wire the WeCom channel", + ); + } + this.mediaDir = host.paths.wecomMediaDir; + this.now = options.now ?? Date.now; + } + + async init(): Promise { + this.botId = this.host.secrets.read(BOT_ID_SECRET_KEY)?.trim() ?? ""; + this.ownerUserId = + this.host.secrets.read(OWNER_USER_ID_SECRET_KEY)?.trim() ?? ""; + const secret = this.host.secrets.read(BOT_SECRET_SECRET_KEY)?.trim() ?? ""; + if (!this.botId || !secret) { + this.setStatus({ kind: "idle" }); + return; + } + this.connect(this.botId, secret); + } + + async dispose(): Promise { + this.generation += 1; + this.pendingFrames.clear(); + this.pendingResponses.clear(); + this.inboundTails.clear(); + this.seenMessageIds.clear(); + this.client?.disconnect(); + this.client = null; + this.setStatus({ kind: "idle" }); + } + + registerIpc(): void { + const state = (saveErrorStatus?: IMStatus) => ({ + status: this.status, + botId: this.botId || null, + ownerUserId: this.ownerUserId || null, + ...(saveErrorStatus ? { saveErrorStatus } : {}), + }); + const runAccountScoped = (operation: () => Promise): Promise => { + const accountScope = this.host.accountScope; + if (!accountScope) return operation(); + const token = accountScope.capture(); + if (token === null) { + return Promise.reject( + new Error("[IM_NOT_READY] IM account is not active"), + ); + } + return accountScope.run(token, operation); + }; + + this.host.ipc.handle("wecomBot:get-status", () => state()); + this.host.ipc.handle("wecomBot:set-config", (payload) => + runAccountScoped(async () => { + const record = isRecord(payload) ? payload : {}; + const botId = + typeof record.botId === "string" ? record.botId.trim() : ""; + const secret = + typeof record.secret === "string" ? record.secret.trim() : ""; + if (!botId || !secret) { + const failed: IMStatus = { + kind: "error", + reason: "Bot ID 和 Secret 不能为空", + }; + this.setStatus(failed); + return state(failed); + } + if (!this.host.secrets.isAvailable()) { + const failed: IMStatus = { + kind: "error", + reason: SECRET_WRITE_FAILED_REASON, + }; + this.setStatus(failed); + return state(failed); + } + + const previousBotId = this.host.secrets.read(BOT_ID_SECRET_KEY); + const previousSecret = this.host.secrets.read(BOT_SECRET_SECRET_KEY); + const previousOwner = this.host.secrets.read(OWNER_USER_ID_SECRET_KEY); + const botChanged = Boolean( + previousBotId?.trim() && previousBotId.trim() !== botId, + ); + const saved = + this.host.secrets.write(BOT_ID_SECRET_KEY, botId) && + this.host.secrets.write(BOT_SECRET_SECRET_KEY, secret); + if (!saved) { + this.restoreSecret(BOT_ID_SECRET_KEY, previousBotId); + this.restoreSecret(BOT_SECRET_SECRET_KEY, previousSecret); + this.restoreSecret(OWNER_USER_ID_SECRET_KEY, previousOwner); + const failed: IMStatus = { + kind: "error", + reason: SECRET_WRITE_FAILED_REASON, + }; + this.setStatus(failed); + return state(failed); + } + if (botChanged) { + this.host.secrets.remove(OWNER_USER_ID_SECRET_KEY); + this.ownerUserId = ""; + } + this.botId = botId; + this.connect(botId, secret); + return state(); + }), + ); + this.host.ipc.handle("wecomBot:reconnect", () => + runAccountScoped(async () => { + const botId = this.host.secrets.read(BOT_ID_SECRET_KEY)?.trim() ?? ""; + const secret = + this.host.secrets.read(BOT_SECRET_SECRET_KEY)?.trim() ?? ""; + if (botId && secret) this.connect(botId, secret); + return state(); + }), + ); + this.host.ipc.handle("wecomBot:disconnect", () => + runAccountScoped(async () => { + this.generation += 1; + this.client?.disconnect(); + this.client = null; + this.pendingFrames.clear(); + this.pendingResponses.clear(); + this.inboundTails.clear(); + this.seenMessageIds.clear(); + this.host.secrets.remove(BOT_ID_SECRET_KEY); + this.host.secrets.remove(BOT_SECRET_SECRET_KEY); + this.host.secrets.remove(OWNER_USER_ID_SECRET_KEY); + this.botId = ""; + this.ownerUserId = ""; + this.setStatus({ kind: "idle" }); + return state(); + }), + ); + } + + onMessage(handler: MessageHandler): () => void { + this.messageHandlers.add(handler); + return () => this.messageHandlers.delete(handler); + } + + onStatusChange(handler: StatusHandler): () => void { + this.statusHandlers.add(handler); + return () => this.statusHandlers.delete(handler); + } + + onTextMessageIntercept(handler: TextInterceptor): () => void { + this.textInterceptors.add(handler); + return () => this.textInterceptors.delete(handler); + } + + getStatus(): IMStatus { + return this.status; + } + + async sendText(userId: string, text: string): Promise<{ messageId: string }> { + const chunks = chunkWecomMarkdown(escapeWecomMarkdown(text)); + return this.sendChunks(userId, chunks); + } + + async sendMarkdownText( + userId: string, + markdown: string, + ): Promise<{ messageId: string }> { + return this.sendChunks(userId, chunkWecomMarkdown(markdown)); + } + + async sendFile( + userId: string, + absPath: string, + displayName?: string, + opts?: { threadTs?: string; usePendingFrame?: boolean }, + ): Promise { + let uploaded = false; + try { + const client = this.requireConnectedClient(); + const local = await readWecomOutboundFile(absPath, displayName); + const result = await client.uploadMedia(local.buffer, { + type: local.mediaType, + filename: local.filename, + }); + uploaded = true; + const lane = decodeWecomLane(userId); + const frame = + opts?.usePendingFrame === false ? null : this.claimNewestFrame(userId); + if (frame) { + try { + await client.replyMedia(frame, local.mediaType, result.media_id); + return { ok: true, messageId: randomUUID() }; + } catch (error) { + this.log.warn( + "passive media reply failed; using active send", + safeError(error), + ); + } + } + await client.sendMediaMessage( + lane.targetId, + local.mediaType, + result.media_id, + ); + return { ok: true, messageId: randomUUID() }; + } catch (error) { + const code = errorCode(error); + if (code === "ENOENT" || code === "WECOM_FILE_NOT_FOUND") { + return { ok: false, reason: "NOT_FOUND" }; + } + if (code === "WECOM_FILE_EMPTY") return { ok: false, reason: "EMPTY" }; + if (code === "WECOM_FILE_TOO_LARGE") + return { ok: false, reason: "TOO_LARGE" }; + if (error instanceof Error && error.message === "WECOM_NOT_CONNECTED") { + return { ok: false, reason: "SEND_FAIL" }; + } + this.log.warn("failed to send media", safeError(error)); + return { ok: false, reason: uploaded ? "SEND_FAIL" : "UPLOAD_FAIL" }; + } + } + + /** + * Preserve the callback reply window before the Agent starts. The final + * response reuses this stream id; after the safe window it falls back to an + * active markdown message. + */ + async beginReply(userId: string): Promise { + const client = this.requireConnectedClient(); + const response: PendingResponse = { + frame: this.claimOldestFrame(userId), + streamId: randomUUID(), + startedAt: this.now(), + passiveStarted: false, + }; + this.enqueueResponse(userId, response); + if (!response.frame) return; + try { + await client.replyStream(response.frame, response.streamId, " ", false); + response.passiveStarted = true; + } catch (error) { + this.log.warn( + "failed to start passive stream; final reply will use active send", + safeError(error), + ); + } + } + + async commitFinal(output: ImFinalOutput): Promise { + const fileLinks = collectXdtFileLinks(output.text); + const imageUrls = collectXdtImageUrls(output.text); + const attachments: Array<{ absPath: string; displayName?: string }> = []; + const seenPaths = new Set(); + const addAttachment = (absPath: string, displayName?: string) => { + if (seenPaths.has(absPath)) return; + seenPaths.add(absPath); + attachments.push({ + absPath, + ...(displayName ? { displayName } : {}), + }); + }; + let rejectedFileCount = 0; + let unresolvedImageCount = 0; + for (const link of fileLinks) { + const resolved = await resolveAllowedWecomOutboundFile( + link.absPath, + output.allowedFileRoots ?? [], + ); + if (!resolved) { + rejectedFileCount += 1; + this.log.warn("skipped terminal file attachment outside allowed roots"); + continue; + } + addAttachment(resolved, link.alt || undefined); + } + for (const url of imageUrls) { + const absPath = this.host.media?.resolveMediaUrl(url) ?? null; + if (absPath) { + addAttachment(absPath); + } else { + unresolvedImageCount += 1; + this.log.warn("failed to resolve terminal managed image", { url }); + } + } + for (const absPath of output.mediaAbsPaths ?? []) addAttachment(absPath); + + const omittedAttachmentCount = Math.max( + 0, + attachments.length - MAX_TERMINAL_ATTACHMENTS, + ); + const attachmentNotice = omittedAttachmentCount + ? `⚠️ 另有 ${omittedAttachmentCount} 个附件未发送(企业微信单次最多发送 ${MAX_TERMINAL_ATTACHMENTS} 个)。` + : ""; + const rejectedFileNotice = rejectedFileCount + ? `⚠️ 有 ${rejectedFileCount} 个文件附件未发送(不在当前工作目录内或无法验证)。` + : ""; + const unresolvedImageNotice = unresolvedImageCount + ? `⚠️ 有 ${unresolvedImageCount} 张图片未发送(图片已不存在或无法读取)。` + : ""; + const visibleText = [ + stripXdtFileLinks(stripXdtImageLinks(output.text)).trim(), + attachmentNotice, + rejectedFileNotice, + unresolvedImageNotice, + ] + .filter(Boolean) + .join("\n\n"); + const chunks = chunkWecomMarkdown( + visibleText || (attachments.length > 0 ? "📎 附件如下" : "_(空回复)_"), + ); + await this.sendFinalChunks(output.userId, chunks); + let failedAttachmentCount = 0; + for (const attachment of attachments.slice(0, MAX_TERMINAL_ATTACHMENTS)) { + const result = await this.sendFile( + output.userId, + attachment.absPath, + attachment.displayName, + { usePendingFrame: false }, + ); + if (!result.ok) { + failedAttachmentCount += 1; + this.log.warn("failed to send terminal attachment", { + reason: result.reason, + }); + } + } + if (failedAttachmentCount > 0) { + try { + await this.sendChunks( + output.userId, + chunkWecomMarkdown( + `⚠️ 有 ${failedAttachmentCount} 个附件发送失败,请稍后重试。`, + ), + "none", + ); + } catch (error) { + this.log.warn( + "failed to report terminal attachment delivery failure", + safeError(error), + ); + } + } + } + + private connect(botId: string, secret: string): void { + const generation = (this.generation += 1); + this.accountToken = this.host.accountScope + ? this.host.accountScope.capture() + : NO_ACCOUNT_SCOPE; + this.client?.disconnect(); + this.pendingFrames.clear(); + this.pendingResponses.clear(); + this.lastAuthFailureReason = ""; + this.setStatus({ kind: "connecting" }); + + const clientFactory = + this.options.clientFactory ?? ((options) => new WSClient(options)); + const client = clientFactory({ + botId, + secret, + maxReconnectAttempts: -1, + maxAuthFailureAttempts: 3, + logger: createSdkLogger(this.log, botId, secret), + }); + this.client = client; + let serverConflict = false; + + client.on("authenticated", () => { + if (!this.isCurrent(client, generation)) return; + serverConflict = false; + this.setStatus({ kind: "connected", appId: botId }); + }); + client.on("reconnecting", () => { + if (!this.isCurrent(client, generation)) return; + this.setStatus({ kind: "connecting" }); + }); + client.on("disconnected", (reason) => { + if (!this.isCurrent(client, generation)) return; + this.log.warn("connection disconnected", sanitizeReason(reason)); + if (serverConflict) return; + this.setStatus({ kind: "connecting" }); + }); + client.on("error", (error) => { + if (!this.isCurrent(client, generation)) return; + this.log.warn("connection error", safeError(error)); + const code = errorCode(error); + if (/^Authentication failed:/iu.test(error.message)) { + this.lastAuthFailureReason = formatAuthFailureReason(error.message); + } + this.setStatus({ + kind: "error", + reason: + code === "WS_AUTH_FAILURE_EXHAUSTED" + ? this.lastAuthFailureReason || "企业微信鉴权失败,请检查 Bot ID、Secret 和长连接模式" + : this.lastAuthFailureReason || sanitizeReason(error.message), + }); + }); + client.on("event.disconnected_event", () => { + if (!this.isCurrent(client, generation)) return; + serverConflict = true; + this.setStatus({ kind: "conflict", appId: botId }); + }); + client.on("message.text", (frame) => + this.queueInbound(frame, () => + this.processText(frame, client, generation), + ), + ); + client.on("message.image", (frame) => + this.queueInbound(frame, () => + this.processImage(frame, client, generation), + ), + ); + client.on("message.mixed", (frame) => + this.queueInbound(frame, () => + this.processMixed(frame, client, generation), + ), + ); + client.on("message.voice", (frame) => + this.queueInbound(frame, () => + this.processVoice(frame, client, generation), + ), + ); + client.on("message.file", (frame) => + this.queueInbound(frame, () => + this.processFile(frame, client, generation), + ), + ); + client.on("message.video", (frame) => + this.queueInbound(frame, () => + this.processVideo(frame, client, generation), + ), + ); + try { + client.connect(); + } catch (error) { + if (!this.isCurrent(client, generation)) return; + this.client = null; + const reason = sanitizeReason( + error instanceof Error ? error.message : String(error), + ); + this.log.warn("connection start failed", safeError(error)); + this.setStatus({ kind: "error", reason }); + } + } + + private async processText( + frame: WsFrame, + client: WSClient, + generation: number, + ): Promise { + await this.emitInbound(frame, client, generation, async () => ({ + text: frame.body?.text.content ?? "", + attachments: [], + unsupported: [], + })); + } + + private async processImage( + frame: WsFrame, + client: WSClient, + generation: number, + ): Promise { + await this.emitInbound(frame, client, generation, async () => { + const image = frame.body?.image; + if (!image) return unsupportedPayload("image", "图片内容缺失"); + const staged = await this.downloadImage( + client, + generation, + frame.body!.msgid, + 0, + image, + ); + return staged + ? { + text: "", + attachments: [staged.attachment], + unsupported: [], + discard: staged.discard, + } + : unsupportedPayload("image:download-failed", "图片下载失败"); + }); + } + + private async processMixed( + frame: WsFrame, + client: WSClient, + generation: number, + ): Promise { + await this.emitInbound(frame, client, generation, async () => { + const text: string[] = []; + const attachments: IMAttachment[] = []; + const unsupported: IMUnsupportedEntry[] = []; + const discards: Array<() => Promise> = []; + for (const [index, item] of ( + frame.body?.mixed.msg_item ?? [] + ).entries()) { + if (item.msgtype === "text") { + if (item.text?.content) text.push(item.text.content); + continue; + } + if (item.msgtype === "image" && item.image) { + const staged = await this.downloadImage( + client, + generation, + frame.body!.msgid, + index, + item.image, + ); + if (staged) { + attachments.push(staged.attachment); + if (staged.discard) discards.push(staged.discard); + } + else + unsupported.push({ + type: "image:download-failed", + label: "图片下载失败", + }); + } + } + return { + text: text.join("\n"), + attachments, + unsupported, + discard: combineDiscards(discards), + }; + }); + } + + private async processVoice( + frame: WsFrame, + client: WSClient, + generation: number, + ): Promise { + await this.emitInbound(frame, client, generation, async () => ({ + text: frame.body?.voice.content ?? "", + attachments: [], + unsupported: frame.body?.voice.content + ? [] + : [{ type: "voice:empty", label: "语音未能识别为文字" }], + })); + } + + private async processFile( + frame: WsFrame, + client: WSClient, + generation: number, + ): Promise { + await this.emitInbound(frame, client, generation, async () => { + const file = frame.body?.file; + if (!file) return unsupportedPayload("file", "文件内容缺失"); + try { + const downloaded = await client.downloadFile(file.url, file.aeskey); + if (!this.isCurrent(client, generation)) { + return unsupportedPayload("file:stale", "文件下载已取消"); + } + const persisted = await persistWecomDownload({ + mediaDir: this.mediaDir, + buffer: downloaded.buffer, + filename: downloaded.filename, + shouldKeep: () => this.isCurrent(client, generation), + }); + return { + text: "", + attachments: [{ kind: "file", ...persisted }], + unsupported: [], + }; + } catch (error) { + this.log.warn("failed to stage inbound file", safeError(error)); + return unsupportedPayload("file:download-failed", "文件下载失败"); + } + }); + } + + private async processVideo( + frame: WsFrame, + client: WSClient, + generation: number, + ): Promise { + await this.emitInbound(frame, client, generation, async () => { + const video = frame.body?.video; + if (!video) return unsupportedPayload("video", "视频内容缺失"); + const cacheMedia = this.host.media?.cacheMedia; + if (!cacheMedia) { + return unsupportedPayload("video:unsupported", "视频暂不支持"); + } + try { + const downloaded = await client.downloadFile(video.url, video.aeskey); + if (!this.isCurrent(client, generation)) { + return unsupportedPayload("video:stale", "视频下载已取消"); + } + const originalName = safeWecomFilename(downloaded.filename, ".mp4"); + const stored = await cacheMedia({ + integration: "wecom", + token: `${frame.body!.msgid}:video`, + buffer: downloaded.buffer, + mimeType: mimeTypeForFilename(originalName), + }); + if (!this.isCurrent(client, generation)) { + await this.discardStagedMedia(stored.discard); + return unsupportedPayload("video:stale", "视频下载已取消"); + } + return { + text: "", + attachments: [ + { + kind: "file", + absPath: stored.absPath, + originalName, + mimeType: stored.mimeType, + url: stored.url, + }, + ], + unsupported: [], + discard: stored.discard, + }; + } catch (error) { + this.log.warn("failed to stage inbound video", safeError(error)); + return unsupportedPayload("video:download-failed", "视频下载失败"); + } + }); + } + + private async emitInbound( + frame: WecomFrame, + client: WSClient, + generation: number, + normalize: () => Promise<{ + text: string; + attachments: IMAttachment[]; + unsupported: IMUnsupportedEntry[]; + discard?: () => Promise; + }>, + ): Promise { + if (!this.isCurrent(client, generation)) return; + const body = frame.body; + if (!body || !body.msgid || !body.from?.userid || this.hasSeen(body.msgid)) + return; + + const isOwner = await this.acceptOwner(body); + if (!isOwner || !this.isCurrent(client, generation)) return; + const lane = + body.chattype === "group" && body.chatid + ? encodeWecomGroupLane(body.chatid) + : body.from.userid; + this.enqueueFrame(lane, frame); + + let normalized: Awaited>; + try { + normalized = await normalize(); + } catch (error) { + this.log.warn("failed to normalize inbound message", safeError(error)); + normalized = unsupportedPayload(body.msgtype, `${body.msgtype} 处理失败`); + } + if (!this.isCurrent(client, generation)) { + await this.discardStagedMedia(normalized.discard); + return; + } + + const quoted = quoteContext(body); + const event: IMMessageEvent = { + channelName: this.name, + senderId: lane, + chatId: body.chatid || body.from.userid, + contextId: body.aibotid || this.botId, + messageId: body.msgid, + text: normalized.text, + attachments: normalized.attachments, + unsupported: normalized.unsupported, + ...(body.chattype === "group" + ? { + speaker: { + id: body.from.userid, + name: body.from.userid, + isOwner: true, + }, + } + : {}), + ...(quoted ? { replyContext: quoted } : {}), + }; + if ( + event.text.trim() && + event.attachments.length === 0 && + [...this.textInterceptors].some((handler) => handler(event)) + ) { + return; + } + for (const handler of this.messageHandlers) handler(event); + } + + private async discardStagedMedia(discard?: () => Promise): Promise { + if (!discard) return; + try { + await discard(); + } catch (error) { + this.log.warn("failed to discard stale inbound media", safeError(error)); + } + } + + private async acceptOwner(body: BaseMessage): Promise { + const sender = body.from.userid.trim(); + if (!sender) return false; + if (this.ownerUserId) return sender === this.ownerUserId; + if (body.chattype !== "single") return false; + if (!this.host.secrets.write(OWNER_USER_ID_SECRET_KEY, sender)) { + this.log.warn("failed to persist first owner binding"); + return false; + } + this.ownerUserId = sender; + this.host.ipc.broadcast("wecomBot:status-changed", { + status: this.status, + botId: this.botId, + ownerUserId: sender, + }); + return true; + } + + private async downloadImage( + client: WSClient, + generation: number, + messageId: string, + index: number, + image: { url: string; aeskey?: string }, + ): Promise { + const token = `${messageId}:${index}`; + const cached = await this.host.media?.getCachedImage("wecom", token, { + shouldReuse: () => this.isCurrent(client, generation), + }); + if (!this.isCurrent(client, generation)) return null; + if (cached) { + return { + attachment: { + kind: "image", + absPath: cached.absPath, + originalName: safeWecomFilename( + undefined, + extensionForMime(cached.mimeType), + ), + mimeType: cached.mimeType, + url: cached.url, + }, + }; + } + try { + const downloaded = await client.downloadFile(image.url, image.aeskey); + if (!this.isCurrent(client, generation)) return null; + const filename = safeWecomFilename(downloaded.filename, ".jpg"); + const mimeType = mimeTypeForFilename(filename); + if (this.host.media) { + const stored = await this.host.media.cacheImage({ + integration: "wecom", + token, + buffer: downloaded.buffer, + mimeType, + staging: true, + }); + if (!this.isCurrent(client, generation)) { + await this.discardStagedMedia(stored.discard); + return null; + } + return { + attachment: { + kind: "image", + absPath: stored.absPath, + originalName: filename, + mimeType, + url: stored.url, + }, + discard: stored.discard, + }; + } + const persisted = await persistWecomDownload({ + mediaDir: this.mediaDir, + buffer: downloaded.buffer, + filename, + fallbackExtension: ".jpg", + shouldKeep: () => this.isCurrent(client, generation), + }); + return { attachment: { kind: "image", ...persisted } }; + } catch (error) { + this.log.warn("failed to stage inbound image", safeError(error)); + return null; + } + } + + private async sendChunks( + userId: string, + chunks: string[], + framePreference: "newest" | "oldest" | "none" = "newest", + ): Promise<{ messageId: string }> { + const client = this.requireConnectedClient(); + const lane = decodeWecomLane(userId); + const firstId = randomUUID(); + const frame = + framePreference === "none" + ? null + : framePreference === "oldest" + ? this.claimOldestFrame(userId) + : this.claimNewestFrame(userId); + + let start = 0; + if (frame) { + try { + await client.replyStream(frame, firstId, chunks[0]!, true); + start = 1; + } catch (error) { + this.log.warn( + "passive text reply failed; using active send", + safeError(error), + ); + } + } + for (let index = start; index < chunks.length; index += 1) { + await client.sendMessage(lane.targetId, { + msgtype: "markdown", + markdown: { content: chunks[index]! }, + }); + } + return { messageId: firstId }; + } + + private async sendFinalChunks( + userId: string, + chunks: string[], + ): Promise<{ messageId: string }> { + const client = this.requireConnectedClient(); + const lane = decodeWecomLane(userId); + const response = this.claimOldestResponse(userId); + const messageId = response?.streamId ?? randomUUID(); + let start = 0; + + if ( + response?.frame && + response.passiveStarted && + this.now() - response.startedAt < STREAM_SAFE_TIMEOUT_MS + ) { + try { + await client.replyStream( + response.frame, + response.streamId, + chunks[0] ?? " ", + true, + ); + start = 1; + } catch (error) { + this.log.warn( + "passive stream finalization failed; using active send", + safeError(error), + ); + } + } + + for (let index = start; index < chunks.length; index += 1) { + await client.sendMessage(lane.targetId, { + msgtype: "markdown", + markdown: { content: chunks[index]! }, + }); + } + return { messageId }; + } + + private requireConnectedClient(): WSClient { + if (!this.client || !this.client.isConnected) + throw new Error("WECOM_NOT_CONNECTED"); + return this.client; + } + + private queueInbound( + frame: WecomFrame, + operation: () => Promise, + ): void { + const body = frame.body; + const lane = + body?.chattype === "group" && body.chatid + ? `group:${body.chatid}` + : `single:${body?.from?.userid ?? "unknown"}`; + const previous = this.inboundTails.get(lane) ?? Promise.resolve(); + const current = previous + .catch(() => { + // One malformed message must not block later messages in the lane. + }) + .then(operation) + .catch((error) => { + this.log.warn("inbound message processing failed", safeError(error)); + }); + this.inboundTails.set(lane, current); + void current.finally(() => { + if (this.inboundTails.get(lane) === current) + this.inboundTails.delete(lane); + }); + } + + private enqueueFrame(lane: string, frame: WecomFrame): void { + const queue = this.pendingFrames.get(lane) ?? []; + queue.push({ frame, receivedAt: this.now() }); + while (queue.length > CALLBACK_QUEUE_CAPACITY) queue.shift(); + this.pendingFrames.set(lane, queue); + } + + private enqueueResponse(lane: string, response: PendingResponse): void { + const queue = this.pendingResponses.get(lane) ?? []; + queue.push(response); + while (queue.length > CALLBACK_QUEUE_CAPACITY) queue.shift(); + this.pendingResponses.set(lane, queue); + } + + private claimOldestResponse(lane: string): PendingResponse | null { + const queue = this.pendingResponses.get(lane) ?? []; + const found = queue.shift() ?? null; + if (queue.length) this.pendingResponses.set(lane, queue); + else this.pendingResponses.delete(lane); + return found; + } + + private claimNewestFrame(lane: string): WecomFrame | null { + const queue = this.liveFrames(lane); + const found = queue.pop()?.frame ?? null; + this.updateFrameQueue(lane, queue); + return found; + } + + private claimOldestFrame(lane: string): WecomFrame | null { + const queue = this.liveFrames(lane); + const found = queue.shift()?.frame ?? null; + this.updateFrameQueue(lane, queue); + return found; + } + + private liveFrames(lane: string): PendingFrame[] { + const minimum = this.now() - CALLBACK_TTL_MS; + return (this.pendingFrames.get(lane) ?? []).filter( + (item) => item.receivedAt >= minimum, + ); + } + + private updateFrameQueue(lane: string, queue: PendingFrame[]): void { + if (queue.length) this.pendingFrames.set(lane, queue); + else this.pendingFrames.delete(lane); + } + + private hasSeen(messageId: string): boolean { + if (this.seenMessageIds.has(messageId)) return true; + this.seenMessageIds.add(messageId); + while (this.seenMessageIds.size > DEDUPE_CAPACITY) { + const oldest = this.seenMessageIds.values().next().value; + if (oldest === undefined) break; + this.seenMessageIds.delete(oldest); + } + return false; + } + + private isCurrent(client: WSClient, generation: number): boolean { + if (this.client !== client || this.generation !== generation) return false; + const accountScope = this.host.accountScope; + if (!accountScope) return true; + return ( + this.accountToken !== NO_ACCOUNT_SCOPE && + this.accountToken !== null && + accountScope.isCurrent(this.accountToken) + ); + } + + private setStatus(status: IMStatus): void { + this.status = status; + for (const handler of this.statusHandlers) handler(status); + this.host.ipc.broadcast("wecomBot:status-changed", { + status, + botId: this.botId || null, + ownerUserId: this.ownerUserId || null, + }); + } + + private restoreSecret(key: string, previous: string | null): void { + if (previous === null) this.host.secrets.remove(key); + else this.host.secrets.write(key, previous); + } +} + +export function createWecomIM(host: IMHost, options?: WecomIMOptions): WecomIM { + return new WecomIM(host, options); +} + +function createSdkLogger( + logger: Logger, + botId: string, + secret: string, +): NonNullable { + const clean = (message: string) => redactSdkMessage(message, botId, secret); + return { + debug: (message) => logger.debug(clean(message)), + info: (message) => logger.info(clean(message)), + warn: (message) => logger.warn(clean(message)), + error: (message) => logger.error(clean(message)), + }; +} + +function redactSdkMessage( + message: string, + botId: string, + secret: string, +): string { + let redacted = String(message).replace(/https?:\/\/\S+/giu, "[url]"); + for (const value of [botId, secret]) { + if (value) redacted = redacted.split(value).join("[redacted]"); + } + return redacted.slice(0, 500); +} + +function quoteContext( + body: BaseMessage, +): IMMessageEvent["replyContext"] | null { + const quote = body.quote; + if (!quote) return null; + const mixedText = + quote.mixed?.msg_item + .filter((item) => item.msgtype === "text") + .map((item) => item.text?.content ?? "") + .filter(Boolean) + .join("\n") ?? ""; + const text = quote.text?.content ?? quote.voice?.content ?? mixedText; + const attachmentCount = + Number(Boolean(quote.image)) + + Number(Boolean(quote.file)) + + (quote.mixed?.msg_item.filter((item) => item.msgtype === "image").length ?? + 0); + return { + author: "引用消息", + text: text || "[附件]", + ...(attachmentCount ? { attachmentCount } : {}), + }; +} + +function unsupportedPayload(type: string, label: string) { + return { + text: "", + attachments: [] as IMAttachment[], + unsupported: [{ type, label }], + }; +} + +function combineDiscards( + discards: Array<() => Promise>, +): (() => Promise) | undefined { + if (discards.length === 0) return undefined; + return async () => { + const results = await Promise.allSettled(discards.map((discard) => discard())); + const failed = results.find( + (result): result is PromiseRejectedResult => result.status === "rejected", + ); + if (failed) throw failed.reason; + }; +} + +function extensionForMime(mimeType: string): string { + if (mimeType === "image/png") return ".png"; + if (mimeType === "image/gif") return ".gif"; + if (mimeType === "image/webp") return ".webp"; + return ".jpg"; +} + +function sanitizeReason(reason: string): string { + return String(reason) + .replace(/https?:\/\/\S+/giu, "[url]") + .replace(/[A-Za-z0-9_-]{32,}/g, "[redacted]") + .slice(0, 240); +} + +function formatAuthFailureReason(message: string): string { + const detail = sanitizeReason(message).replace( + /^Authentication failed:\s*/iu, + "", + ); + return detail + ? `企业微信鉴权失败:${detail}` + : "企业微信鉴权失败,请检查 Bot ID、Secret 和长连接模式"; +} + +function safeError(error: unknown): { code: string; message: string } { + return { + code: errorCode(error), + message: sanitizeReason( + error instanceof Error ? error.message : String(error), + ), + }; +} + +function errorCode(error: unknown): string { + if (!error || typeof error !== "object" || !("code" in error)) return ""; + return String(error.code); +} + +function isRecord(value: unknown): value is Record { + return Boolean(value && typeof value === "object" && !Array.isArray(value)); +} diff --git a/packages/lizi-im/src/wecom/media.ts b/packages/lizi-im/src/wecom/media.ts new file mode 100644 index 00000000000..f6351a5a1f7 --- /dev/null +++ b/packages/lizi-im/src/wecom/media.ts @@ -0,0 +1,178 @@ +import { randomUUID } from "node:crypto"; +import fs from "node:fs/promises"; +import path from "node:path"; + +const MAX_MEDIA_BYTES = 50 * 1024 * 1024; +const MAX_IMAGE_BYTES = 10 * 1024 * 1024; +const WINDOWS_RESERVED_FILENAME_STEMS = new Set([ + "CON", + "PRN", + "AUX", + "NUL", + "COM1", + "COM2", + "COM3", + "COM4", + "COM5", + "COM6", + "COM7", + "COM8", + "COM9", + "LPT1", + "LPT2", + "LPT3", + "LPT4", + "LPT5", + "LPT6", + "LPT7", + "LPT8", + "LPT9", +]); + +const MIME_BY_EXTENSION: Readonly> = { + ".gif": "image/gif", + ".jpeg": "image/jpeg", + ".jpg": "image/jpeg", + ".png": "image/png", + ".webp": "image/webp", + ".pdf": "application/pdf", + ".txt": "text/plain", + ".md": "text/markdown", + ".json": "application/json", + ".csv": "text/csv", + ".zip": "application/zip", + ".mp4": "video/mp4", + ".mov": "video/quicktime", + ".mp3": "audio/mpeg", + ".wav": "audio/wav", +}; + +function isPathWithin(base: string, target: string): boolean { + const normalize = (value: string): string => { + const resolved = path.resolve(value); + return process.platform === "win32" ? resolved.toLowerCase() : resolved; + }; + const relative = path.relative(normalize(base), normalize(target)); + return ( + relative === "" || + (!relative.startsWith("..") && !path.isAbsolute(relative)) + ); +} + +/** + * Resolve a model-authored attachment only when both its lexical path and + * canonical target stay under a host-approved root. Returning the canonical + * path keeps the later stat/read on the same symlink-resolved target. + */ +export async function resolveAllowedWecomOutboundFile( + absPath: string, + allowedRoots: readonly string[], + realpath: (target: string) => Promise = fs.realpath, +): Promise { + const targetAbs = path.resolve(absPath); + for (const root of allowedRoots) { + if (!root.trim()) continue; + const rootAbs = path.resolve(root); + if (!isPathWithin(rootAbs, targetAbs)) continue; + try { + const [rootReal, targetReal] = await Promise.all([ + realpath(rootAbs), + realpath(targetAbs), + ]); + if (isPathWithin(rootReal, targetReal)) return targetReal; + } catch { + // Missing, unreadable, or cyclic paths fail closed. + } + } + return null; +} + +export function mimeTypeForFilename(filename: string | undefined): string { + const extension = path.extname(filename ?? "").toLowerCase(); + return MIME_BY_EXTENSION[extension] ?? "application/octet-stream"; +} + +export function safeWecomFilename( + filename: string | undefined, + fallbackExtension = "", +): string { + const sanitized = path + .basename(filename?.trim() || `attachment${fallbackExtension}`) + // eslint-disable-next-line no-control-regex -- filenames must strip ASCII control characters + .replace(/[<>:"/\\|?*\u0000-\u001f]/g, "_") + .slice(0, 160); + let end = sanitized.length; + while ( + end > 0 && + (sanitized.charCodeAt(end - 1) === 0x2e || + sanitized.charCodeAt(end - 1) === 0x20) + ) { + end -= 1; + } + const base = sanitized.slice(0, end); + if (!base) return `attachment${fallbackExtension}`; + + const stemEnd = base.indexOf("."); + const stem = (stemEnd === -1 ? base : base.slice(0, stemEnd)).toUpperCase(); + return WINDOWS_RESERVED_FILENAME_STEMS.has(stem) + ? `_${base}`.slice(0, 160) + : base; +} + +export async function persistWecomDownload(args: { + mediaDir: string; + buffer: Buffer; + filename?: string; + fallbackExtension?: string; + shouldKeep?: () => boolean; +}): Promise<{ absPath: string; originalName: string; mimeType: string }> { + if (args.buffer.length === 0) throw new Error("WECOM_MEDIA_EMPTY"); + if (args.buffer.length > MAX_MEDIA_BYTES) + throw new Error("WECOM_MEDIA_TOO_LARGE"); + + const originalName = safeWecomFilename(args.filename, args.fallbackExtension); + const storageName = `${randomUUID()}-${originalName}`; + if (args.shouldKeep?.() === false) throw new Error("WECOM_MEDIA_STALE"); + await fs.mkdir(args.mediaDir, { recursive: true }); + const absPath = path.join(args.mediaDir, storageName); + await fs.writeFile(absPath, args.buffer, { flag: "wx" }); + if (args.shouldKeep?.() === false) { + await fs.rm(absPath, { force: true }); + throw new Error("WECOM_MEDIA_STALE"); + } + return { + absPath, + originalName, + mimeType: mimeTypeForFilename(originalName), + }; +} + +export async function readWecomOutboundFile( + absPath: string, + displayName?: string, +): Promise<{ + buffer: Buffer; + filename: string; + mediaType: "file" | "image" | "voice" | "video"; +}> { + const stat = await fs.stat(absPath); + if (!stat.isFile()) throw new Error("WECOM_FILE_NOT_FOUND"); + if (stat.size === 0) throw new Error("WECOM_FILE_EMPTY"); + if (stat.size > MAX_MEDIA_BYTES) throw new Error("WECOM_FILE_TOO_LARGE"); + + const filename = safeWecomFilename(displayName || path.basename(absPath)); + const mimeType = mimeTypeForFilename(filename); + const mediaType = + mimeType.startsWith("image/") && stat.size <= MAX_IMAGE_BYTES + ? "image" + : mimeType.startsWith("video/") + ? "video" + : mimeType.startsWith("audio/") + ? "voice" + : "file"; + return { + buffer: await fs.readFile(absPath), + filename, + mediaType, + }; +} diff --git a/packages/lizi-im/src/xdtRefs.ts b/packages/lizi-im/src/xdtRefs.ts index 8fde1811eed..9d8127e6e75 100644 --- a/packages/lizi-im/src/xdtRefs.ts +++ b/packages/lizi-im/src/xdtRefs.ts @@ -14,8 +14,97 @@ import path from 'node:path'; -export const XDT_IMAGE_REGEX = /!\[([^\]]*)\]\(((?:xdt-image|cindy-media):\/\/[^)]+)\)/g; -export const XDT_FILE_REGEX = /\[([^\]]*)\]\((xdt-file:\/\/[^)]+)\)/g; +export interface XdtImageRef { + alt: string; + url: string; + start: number; + end: number; +} + +interface ParsedXdtRef extends XdtImageRef { + kind: 'image' | 'file'; +} + +/** + * Parse managed-media Markdown in one forward pass. Model output is + * uncontrolled input, so this deliberately avoids the former global regexes: + * repeated near-matches could make the regex engine rescan a long suffix. + */ +function parseXdtRefs(text: string): ParsedXdtRef[] { + const refs: ParsedXdtRef[] = []; + let cursor = 0; + + while (cursor < text.length) { + const openBracket = text.indexOf('[', cursor); + if (openBracket === -1) break; + + const image = openBracket > 0 && text[openBracket - 1] === '!'; + const start = image ? openBracket - 1 : openBracket; + const altStart = openBracket + 1; + let altEnd = altStart; + while ( + altEnd < text.length && + text[altEnd] !== '[' && + !(text[altEnd] === ']' && text[altEnd + 1] === '(') + ) { + altEnd += 1; + } + + // A nested opening bracket supersedes the malformed outer candidate. This + // both preserves later valid refs and keeps the scan strictly forward. + if (text[altEnd] === '[') { + cursor = altEnd; + continue; + } + if (altEnd >= text.length) break; + + const urlStart = altEnd + 2; + const scheme = image + ? text.startsWith('xdt-image://', urlStart) + ? 'xdt-image://' + : text.startsWith('cindy-media://', urlStart) + ? 'cindy-media://' + : null + : text.startsWith('xdt-file://', urlStart) + ? 'xdt-file://' + : null; + if (!scheme) { + cursor = urlStart; + continue; + } + + const endParen = text.indexOf(')', urlStart + scheme.length); + if (endParen === -1) break; + if (endParen > urlStart + scheme.length) { + refs.push({ + kind: image ? 'image' : 'file', + alt: text.slice(altStart, altEnd), + url: text.slice(urlStart, endParen), + start, + end: endParen + 1, + }); + } + cursor = endParen + 1; + } + + return refs; +} + +function replaceXdtRefs( + text: string, + refs: ReadonlyArray, + replacement: (ref: ParsedXdtRef) => string, +): string { + if (refs.length === 0) return text; + const parts: string[] = []; + let cursor = 0; + for (const ref of refs) { + parts.push(text.slice(cursor, ref.start), replacement(ref)); + cursor = ref.end; + } + parts.push(text.slice(cursor)); + return parts.join(''); +} /** xdt-file:// → absPath (URL-decoded). */ export function xdtFileUrlToAbsPath(url: string): string { @@ -35,12 +124,12 @@ export function xdtFileUrlToAbsPath(url: string): string { /** Replace xdt-* refs with placeholder text suitable for intermediate frames. */ export function stripXdtForStreaming(text: string): string { - return text - .replace(XDT_IMAGE_REGEX, (_m, alt) => `[🖼️ ${alt || '图片'} · 上传中...]`) - .replace(XDT_FILE_REGEX, (_m, alt, url) => { - const display = alt || path.basename(xdtFileUrlToAbsPath(url)); - return `[📎 ${display} · 准备发送...]`; - }); + const refs = parseXdtRefs(text); + return replaceXdtRefs(text, refs, (ref) => { + if (ref.kind === 'image') return `[🖼️ ${ref.alt || '图片'} · 上传中...]`; + const display = ref.alt || path.basename(xdtFileUrlToAbsPath(ref.url)); + return `[📎 ${display} · 准备发送...]`; + }); } /** Detect if `text` is essentially "only xdt refs" (no real prose). Used for @@ -48,13 +137,11 @@ export function stripXdtForStreaming(text: string): string { export function classifyXdtOnly( text: string, ): 'image-only' | 'file-only' | 'mixed-or-text' { - const trimmed = text.replace(XDT_IMAGE_REGEX, '').replace(XDT_FILE_REGEX, '').trim(); + const refs = parseXdtRefs(text); + const trimmed = replaceXdtRefs(text, refs, () => '').trim(); if (trimmed.length > 0) return 'mixed-or-text'; - const hasImg = XDT_IMAGE_REGEX.test(text); - // Reset lastIndex (regex with /g is stateful) before testing again. - XDT_IMAGE_REGEX.lastIndex = 0; - const hasFile = XDT_FILE_REGEX.test(text); - XDT_FILE_REGEX.lastIndex = 0; + const hasImg = refs.some((ref) => ref.kind === 'image'); + const hasFile = refs.some((ref) => ref.kind === 'file'); if (hasImg && !hasFile) return 'image-only'; if (hasFile && !hasImg) return 'file-only'; return 'mixed-or-text'; @@ -62,7 +149,14 @@ export function classifyXdtOnly( /** Remove xdt-file links entirely (since they're delivered as separate file messages). */ export function stripXdtFileLinks(text: string): string { - return text.replace(XDT_FILE_REGEX, ''); + const refs = parseXdtRefs(text).filter((ref) => ref.kind === 'file'); + return replaceXdtRefs(text, refs, () => ''); +} + +/** Remove managed-image Markdown after it has been delivered as media. */ +export function stripXdtImageLinks(text: string): string { + const refs = parseXdtRefs(text).filter((ref) => ref.kind === 'image'); + return replaceXdtRefs(text, refs, () => ''); } export interface XdtFileLink { @@ -73,19 +167,25 @@ export interface XdtFileLink { /** Collect xdt-file links from text, deduped by absPath (model often repeats). */ export function collectXdtFileLinks(text: string): XdtFileLink[] { const seen = new Map(); - for (const m of text.matchAll(XDT_FILE_REGEX)) { - const absPath = xdtFileUrlToAbsPath(m[2]); + for (const ref of parseXdtRefs(text)) { + if (ref.kind !== 'file') continue; + const absPath = xdtFileUrlToAbsPath(ref.url); if (seen.has(absPath)) continue; - seen.set(absPath, { alt: m[1] || '', absPath }); + seen.set(absPath, { alt: ref.alt, absPath }); } return Array.from(seen.values()); } +/** Collect managed-image refs in source order, including text offsets. */ +export function collectXdtImageRefs(text: string): XdtImageRef[] { + return parseXdtRefs(text) + .filter((ref) => ref.kind === 'image') + .map(({ alt, url, start, end }) => ({ alt, url, start, end })); +} + /** Collect unique xdt-image URLs from text. */ export function collectXdtImageUrls(text: string): string[] { const set = new Set(); - for (const m of text.matchAll(XDT_IMAGE_REGEX)) { - set.add(m[2]); - } + for (const ref of collectXdtImageRefs(text)) set.add(ref.url); return Array.from(set); } diff --git a/packages/lizi-mcps/src/__tests__/feishuBotChannelRouting.test.ts b/packages/lizi-mcps/src/__tests__/feishuBotChannelRouting.test.ts index f9a84d28f66..223de739f9b 100644 --- a/packages/lizi-mcps/src/__tests__/feishuBotChannelRouting.test.ts +++ b/packages/lizi-mcps/src/__tests__/feishuBotChannelRouting.test.ts @@ -17,6 +17,7 @@ import { SLACK_HOOK_SESSION_CHANNEL_NOTE, TELEGRAM_HOOK_SESSION_CHANNEL_NOTE, X_HOOK_SESSION_CHANNEL_NOTE, + WECOM_SESSION_CHANNEL_NOTE, type FeishuBotMcpDeps, } from '../cindy_feishuBotMcpServer'; @@ -75,6 +76,7 @@ describe('cindy_feishu_bot channel routing note', () => { it.each([ ['slack-hook', SLACK_HOOK_SESSION_CHANNEL_NOTE], ['telegram', TELEGRAM_HOOK_SESSION_CHANNEL_NOTE], + ['wecom', WECOM_SESSION_CHANNEL_NOTE], ['x', X_HOOK_SESSION_CHANNEL_NOTE], ] as const)( '%s description === base description + fixed note, for every tool', @@ -105,6 +107,7 @@ describe('cindy_feishu_bot channel routing note', () => { for (const description of feishuDescs.values()) { expect(description).not.toContain(SLACK_HOOK_SESSION_CHANNEL_NOTE.trim()); expect(description).not.toContain(TELEGRAM_HOOK_SESSION_CHANNEL_NOTE.trim()); + expect(description).not.toContain(WECOM_SESSION_CHANNEL_NOTE.trim()); expect(description).not.toContain(X_HOOK_SESSION_CHANNEL_NOTE.trim()); } } finally { diff --git a/packages/lizi-mcps/src/cindy_feishuBotMcpServer.ts b/packages/lizi-mcps/src/cindy_feishuBotMcpServer.ts index 648cf590c84..aebbf351ecd 100644 --- a/packages/lizi-mcps/src/cindy_feishuBotMcpServer.ts +++ b/packages/lizi-mcps/src/cindy_feishuBotMcpServer.ts @@ -55,10 +55,14 @@ export const TELEGRAM_HOOK_SESSION_CHANNEL_NOTE = export const X_HOOK_SESSION_CHANNEL_NOTE = '\n\n⚠️ 当前是 X (Twitter) 会话:文字回复直接输出即可(会自动作为单条公开回帖发布在 X 上,无需工具);回帖为纯文本呈现,保持简短聚焦;把文件发给用户是在最终回复文本里写 `[文件名](xdt-file:///绝对路径)`(文件须位于当前工作目录内),图片直接引用其地址 `![说明](cindy-media://… 或 xdt-image://…)`;仅当用户明确说「发飞书 / 飞书通知我」时才走飞书通道。'; +export const WECOM_SESSION_CHANNEL_NOTE = + '\n\n⚠️ 当前是企业微信会话:文字回复直接输出即可(会自动回复到当前企业微信会话,无需工具);把文件发给用户是在最终回复文本里写 `[文件名](xdt-file:///绝对路径)`(文件须位于当前工作目录内),图片直接引用其地址 `![说明](cindy-media://… 或 xdt-image://…)`,系统自动作为企业微信附件发回,不要用本工具;仅当用户明确说「发飞书 / 飞书通知我」时才走飞书通道。'; + const NOTE_BY_SOURCE: Record = { 'slack-hook': SLACK_HOOK_SESSION_CHANNEL_NOTE, telegram: TELEGRAM_HOOK_SESSION_CHANNEL_NOTE, // 键与 hook-control/session-runner.ts 的 vendorOptions.source 是一对隐式契约 + wecom: WECOM_SESSION_CHANNEL_NOTE, x: X_HOOK_SESSION_CHANNEL_NOTE, }; diff --git a/packages/maker-core/src/agents/base-agent.ts b/packages/maker-core/src/agents/base-agent.ts index 64aa5db3cf2..aec9e6c468d 100644 --- a/packages/maker-core/src/agents/base-agent.ts +++ b/packages/maker-core/src/agents/base-agent.ts @@ -836,7 +836,11 @@ export interface SendOptions { export type TurnPermissionOrigin = | { kind: 'desktop' } - | { kind: 'im'; channel: 'feishu' | 'discord' | 'slack' | 'wechat' | 'telegram' | 'dingtalk'; taskId?: string } + | { + kind: 'im'; + channel: 'feishu' | 'discord' | 'slack' | 'wechat' | 'telegram' | 'dingtalk' | 'wecom'; + taskId?: string; + } | { kind: 'scheduler' } | { kind: 'hook'; source: string }; diff --git a/packages/maker-scheduler/src/types.ts b/packages/maker-scheduler/src/types.ts index 603299b871c..1de5a3467bc 100644 --- a/packages/maker-scheduler/src/types.ts +++ b/packages/maker-scheduler/src/types.ts @@ -116,6 +116,7 @@ export type JobType = 'prompt' | 'issue-triage'; export interface ScheduleNotifyConfig { desktop: boolean; feishu: boolean; + wecomGroup?: boolean; } /** diff --git a/packages/maker-shared/src/__tests__/scheduleForm.test.ts b/packages/maker-shared/src/__tests__/scheduleForm.test.ts index a783f091527..28e3e1ae6e5 100644 --- a/packages/maker-shared/src/__tests__/scheduleForm.test.ts +++ b/packages/maker-shared/src/__tests__/scheduleForm.test.ts @@ -85,6 +85,19 @@ describe('mobile schedule form model', () => { }); }); + it('writes an explicit false when mobile disables WeCom group notifications', () => { + const draft = createMobileScheduleDraft(schedule({ + notify: { desktop: true, feishu: false, wecomGroup: true }, + })); + const input = buildMobileScheduleInput({ ...draft, notifyWecomGroup: false }); + + expect(input.notify).toEqual({ + desktop: true, + feishu: false, + wecomGroup: false, + }); + }); + it('matches desktop heartbeat update semantics for bound sessions', () => { const draft = createMobileScheduleDraft(schedule({ agentKind: 'codex', diff --git a/packages/maker-shared/src/scheduleForm.ts b/packages/maker-shared/src/scheduleForm.ts index e1778d9c80d..e176366376c 100644 --- a/packages/maker-shared/src/scheduleForm.ts +++ b/packages/maker-shared/src/scheduleForm.ts @@ -44,6 +44,7 @@ export interface MobileScheduleDraft { useWorktree: boolean; notifyDesktop: boolean; notifyFeishu: boolean; + notifyWecomGroup?: boolean; targetSessionId: string; persistentSession: boolean; silentWhenIdle: boolean; @@ -106,6 +107,7 @@ export function createMobileScheduleDraft( useWorktree: workspaceKind === 'project' && !!schedule.useWorktree, notifyDesktop: schedule.notify?.desktop !== false, notifyFeishu: schedule.notify?.feishu === true, + ...(schedule.notify?.wecomGroup === true ? { notifyWecomGroup: true } : {}), targetSessionId: schedule.targetSessionId ?? '', persistentSession: !!schedule.persistentSession, silentWhenIdle: !!schedule.silentWhenIdle, @@ -150,6 +152,9 @@ export function applyTemplateToMobileScheduleDraft( persistentSession: template.persistentSession ?? draft.persistentSession, notifyDesktop: template.notify?.desktop ?? draft.notifyDesktop, notifyFeishu: template.notify?.feishu ?? draft.notifyFeishu, + ...((template.notify?.wecomGroup ?? draft.notifyWecomGroup) !== undefined + ? { notifyWecomGroup: template.notify?.wecomGroup ?? draft.notifyWecomGroup } + : {}), }; } @@ -253,6 +258,7 @@ export function buildMobileScheduleInput(draft: MobileScheduleDraft): RemoteSche notify: { desktop: draft.notifyDesktop, feishu: draft.notifyFeishu, + wecomGroup: draft.notifyWecomGroup === true, }, }; diff --git a/packages/maker-shared/src/scheduleTypes.ts b/packages/maker-shared/src/scheduleTypes.ts index 2b7af63920d..75f2d7a2475 100644 --- a/packages/maker-shared/src/scheduleTypes.ts +++ b/packages/maker-shared/src/scheduleTypes.ts @@ -9,6 +9,7 @@ export type RemoteTimestamp = number | string | null | undefined; export interface RemoteScheduleNotifyConfig { desktop?: boolean; feishu?: boolean; + wecomGroup?: boolean; } export interface RemoteScheduleWriteInput { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d98aba3f58..b8381ece122 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -962,6 +962,9 @@ importers: '@larksuiteoapi/node-sdk': specifier: ^1.60.0 version: 1.71.1 + '@wecom/aibot-node-sdk': + specifier: 1.0.7 + version: 1.0.7 dingtalk-stream: specifier: ^2.1.5 version: 2.1.5 @@ -4752,6 +4755,9 @@ packages: '@webassemblyjs/wast-printer@1.14.1': resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + '@wecom/aibot-node-sdk@1.0.7': + resolution: {integrity: sha512-51w+sTqunry6GD3HFvmuh0gArMSJDFE418vyvR1wMJHj1N6DaFuGD3HuaY2fazZs3mb9FWeQFX3+vU5t0Qhwmw==} + '@xmldom/xmldom@0.8.13': resolution: {integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==} engines: {node: '>=10.0.0'} @@ -14622,6 +14628,17 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 + '@wecom/aibot-node-sdk@1.0.7': + dependencies: + axios: 1.18.1(debug@4.4.3) + eventemitter3: 5.0.4 + ws: 8.21.1 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + '@xmldom/xmldom@0.8.13': {} '@xmldom/xmldom@0.9.10': {}