@aquaclawai/aquarium 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-types/claude-code/index.d.ts +2 -0
- package/dist/agent-types/claude-code/index.d.ts.map +1 -0
- package/dist/agent-types/claude-code/index.js +2 -0
- package/dist/agent-types/claude-code/index.js.map +1 -0
- package/dist/agent-types/claude-code/manifest.d.ts +3 -0
- package/dist/agent-types/claude-code/manifest.d.ts.map +1 -0
- package/dist/agent-types/claude-code/manifest.js +45 -0
- package/dist/agent-types/claude-code/manifest.js.map +1 -0
- package/dist/agent-types/openclaw/adapter.d.ts +3 -0
- package/dist/agent-types/openclaw/adapter.d.ts.map +1 -0
- package/dist/agent-types/openclaw/adapter.js +714 -0
- package/dist/agent-types/openclaw/adapter.js.map +1 -0
- package/dist/agent-types/openclaw/gateway-rpc.d.ts +21 -0
- package/dist/agent-types/openclaw/gateway-rpc.d.ts.map +1 -0
- package/dist/agent-types/openclaw/gateway-rpc.js +202 -0
- package/dist/agent-types/openclaw/gateway-rpc.js.map +1 -0
- package/dist/agent-types/openclaw/index.d.ts +3 -0
- package/dist/agent-types/openclaw/index.d.ts.map +1 -0
- package/dist/agent-types/openclaw/index.js +3 -0
- package/dist/agent-types/openclaw/index.js.map +1 -0
- package/dist/agent-types/openclaw/manifest.d.ts +137 -0
- package/dist/agent-types/openclaw/manifest.d.ts.map +1 -0
- package/dist/agent-types/openclaw/manifest.js +191 -0
- package/dist/agent-types/openclaw/manifest.js.map +1 -0
- package/dist/agent-types/openclaw/provider-registry.d.ts +46 -0
- package/dist/agent-types/openclaw/provider-registry.d.ts.map +1 -0
- package/dist/agent-types/openclaw/provider-registry.js +108 -0
- package/dist/agent-types/openclaw/provider-registry.js.map +1 -0
- package/dist/agent-types/openclaw/reverse-adapter.d.ts +7 -0
- package/dist/agent-types/openclaw/reverse-adapter.d.ts.map +1 -0
- package/dist/agent-types/openclaw/reverse-adapter.js +528 -0
- package/dist/agent-types/openclaw/reverse-adapter.js.map +1 -0
- package/dist/agent-types/openclaw/security-profiles.d.ts +21 -0
- package/dist/agent-types/openclaw/security-profiles.d.ts.map +1 -0
- package/dist/agent-types/openclaw/security-profiles.js +251 -0
- package/dist/agent-types/openclaw/security-profiles.js.map +1 -0
- package/dist/agent-types/openclaw/workspace-templates.d.ts +2 -0
- package/dist/agent-types/openclaw/workspace-templates.d.ts.map +1 -0
- package/dist/agent-types/openclaw/workspace-templates.js +363 -0
- package/dist/agent-types/openclaw/workspace-templates.js.map +1 -0
- package/dist/agent-types/opencode/index.d.ts +2 -0
- package/dist/agent-types/opencode/index.d.ts.map +1 -0
- package/dist/agent-types/opencode/index.js +2 -0
- package/dist/agent-types/opencode/index.js.map +1 -0
- package/dist/agent-types/opencode/manifest.d.ts +3 -0
- package/dist/agent-types/opencode/manifest.d.ts.map +1 -0
- package/dist/agent-types/opencode/manifest.js +63 -0
- package/dist/agent-types/opencode/manifest.js.map +1 -0
- package/dist/agent-types/registry.d.ts +4 -0
- package/dist/agent-types/registry.d.ts.map +1 -0
- package/dist/agent-types/registry.js +24 -0
- package/dist/agent-types/registry.js.map +1 -0
- package/dist/agent-types/types.d.ts +169 -0
- package/dist/agent-types/types.d.ts.map +1 -0
- package/dist/agent-types/types.js +2 -0
- package/dist/agent-types/types.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +72 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +68 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +98 -0
- package/dist/config.js.map +1 -0
- package/dist/db/adapter.d.ts +21 -0
- package/dist/db/adapter.d.ts.map +1 -0
- package/dist/db/adapter.js +11 -0
- package/dist/db/adapter.js.map +1 -0
- package/dist/db/index.d.ts +4 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +5 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/knexfile.d.ts +5 -0
- package/dist/db/knexfile.d.ts.map +1 -0
- package/dist/db/knexfile.js +34 -0
- package/dist/db/knexfile.js.map +1 -0
- package/dist/db/migration-helpers.d.ts +45 -0
- package/dist/db/migration-helpers.d.ts.map +1 -0
- package/dist/db/migration-helpers.js +90 -0
- package/dist/db/migration-helpers.js.map +1 -0
- package/dist/db/migrations/001_initial.d.ts +4 -0
- package/dist/db/migrations/001_initial.d.ts.map +1 -0
- package/dist/db/migrations/001_initial.js +56 -0
- package/dist/db/migrations/001_initial.js.map +1 -0
- package/dist/db/migrations/002_instance_config.d.ts +4 -0
- package/dist/db/migrations/002_instance_config.d.ts.map +1 -0
- package/dist/db/migrations/002_instance_config.js +12 -0
- package/dist/db/migrations/002_instance_config.js.map +1 -0
- package/dist/db/migrations/003_instance_status_message.d.ts +4 -0
- package/dist/db/migrations/003_instance_status_message.d.ts.map +1 -0
- package/dist/db/migrations/003_instance_status_message.js +11 -0
- package/dist/db/migrations/003_instance_status_message.js.map +1 -0
- package/dist/db/migrations/004_templates.d.ts +4 -0
- package/dist/db/migrations/004_templates.d.ts.map +1 -0
- package/dist/db/migrations/004_templates.js +95 -0
- package/dist/db/migrations/004_templates.js.map +1 -0
- package/dist/db/migrations/005_group_chats.d.ts +4 -0
- package/dist/db/migrations/005_group_chats.d.ts.map +1 -0
- package/dist/db/migrations/005_group_chats.js +66 -0
- package/dist/db/migrations/005_group_chats.js.map +1 -0
- package/dist/db/migrations/006_template_setup.d.ts +4 -0
- package/dist/db/migrations/006_template_setup.d.ts.map +1 -0
- package/dist/db/migrations/006_template_setup.js +14 -0
- package/dist/db/migrations/006_template_setup.js.map +1 -0
- package/dist/db/migrations/007_group_chat_v2.d.ts +4 -0
- package/dist/db/migrations/007_group_chat_v2.d.ts.map +1 -0
- package/dist/db/migrations/007_group_chat_v2.js +59 -0
- package/dist/db/migrations/007_group_chat_v2.js.map +1 -0
- package/dist/db/migrations/008_default_provider_openrouter.d.ts +4 -0
- package/dist/db/migrations/008_default_provider_openrouter.d.ts.map +1 -0
- package/dist/db/migrations/008_default_provider_openrouter.js +33 -0
- package/dist/db/migrations/008_default_provider_openrouter.js.map +1 -0
- package/dist/db/migrations/009_opencode_default_provider_openrouter.d.ts +4 -0
- package/dist/db/migrations/009_opencode_default_provider_openrouter.d.ts.map +1 -0
- package/dist/db/migrations/009_opencode_default_provider_openrouter.js +33 -0
- package/dist/db/migrations/009_opencode_default_provider_openrouter.js.map +1 -0
- package/dist/db/migrations/010_fix_null_default_provider.d.ts +4 -0
- package/dist/db/migrations/010_fix_null_default_provider.d.ts.map +1 -0
- package/dist/db/migrations/010_fix_null_default_provider.js +24 -0
- package/dist/db/migrations/010_fix_null_default_provider.js.map +1 -0
- package/dist/db/migrations/011_snapshots.d.ts +4 -0
- package/dist/db/migrations/011_snapshots.d.ts.map +1 -0
- package/dist/db/migrations/011_snapshots.js +27 -0
- package/dist/db/migrations/011_snapshots.js.map +1 -0
- package/dist/db/migrations/013_official_templates.d.ts +4 -0
- package/dist/db/migrations/013_official_templates.d.ts.map +1 -0
- package/dist/db/migrations/013_official_templates.js +173 -0
- package/dist/db/migrations/013_official_templates.js.map +1 -0
- package/dist/db/migrations/014_notifications.d.ts +4 -0
- package/dist/db/migrations/014_notifications.d.ts.map +1 -0
- package/dist/db/migrations/014_notifications.js +45 -0
- package/dist/db/migrations/014_notifications.js.map +1 -0
- package/dist/db/migrations/015_security_profile.d.ts +4 -0
- package/dist/db/migrations/015_security_profile.d.ts.map +1 -0
- package/dist/db/migrations/015_security_profile.js +14 -0
- package/dist/db/migrations/015_security_profile.js.map +1 -0
- package/dist/db/migrations/016_template_security.d.ts +4 -0
- package/dist/db/migrations/016_template_security.d.ts.map +1 -0
- package/dist/db/migrations/016_template_security.js +12 -0
- package/dist/db/migrations/016_template_security.js.map +1 -0
- package/dist/db/migrations/017_auth_events.d.ts +4 -0
- package/dist/db/migrations/017_auth_events.d.ts.map +1 -0
- package/dist/db/migrations/017_auth_events.js +19 -0
- package/dist/db/migrations/017_auth_events.js.map +1 -0
- package/dist/db/migrations/018_skill_market.d.ts +4 -0
- package/dist/db/migrations/018_skill_market.d.ts.map +1 -0
- package/dist/db/migrations/018_skill_market.js +21 -0
- package/dist/db/migrations/018_skill_market.js.map +1 -0
- package/dist/db/migrations/019_credential_audit_log.d.ts +4 -0
- package/dist/db/migrations/019_credential_audit_log.d.ts.map +1 -0
- package/dist/db/migrations/019_credential_audit_log.js +19 -0
- package/dist/db/migrations/019_credential_audit_log.js.map +1 -0
- package/dist/db/migrations/020_template_security_score.d.ts +4 -0
- package/dist/db/migrations/020_template_security_score.d.ts.map +1 -0
- package/dist/db/migrations/020_template_security_score.js +31 -0
- package/dist/db/migrations/020_template_security_score.js.map +1 -0
- package/dist/db/migrations/021_credential_enhancements.d.ts +4 -0
- package/dist/db/migrations/021_credential_enhancements.d.ts.map +1 -0
- package/dist/db/migrations/021_credential_enhancements.js +15 -0
- package/dist/db/migrations/021_credential_enhancements.js.map +1 -0
- package/dist/db/migrations/021_user_roles.d.ts +4 -0
- package/dist/db/migrations/021_user_roles.d.ts.map +1 -0
- package/dist/db/migrations/021_user_roles.js +11 -0
- package/dist/db/migrations/021_user_roles.js.map +1 -0
- package/dist/db/migrations/022_config_hash.d.ts +4 -0
- package/dist/db/migrations/022_config_hash.d.ts.map +1 -0
- package/dist/db/migrations/022_config_hash.js +11 -0
- package/dist/db/migrations/022_config_hash.js.map +1 -0
- package/dist/db/migrations/023_account_security.d.ts +4 -0
- package/dist/db/migrations/023_account_security.d.ts.map +1 -0
- package/dist/db/migrations/023_account_security.js +22 -0
- package/dist/db/migrations/023_account_security.js.map +1 -0
- package/dist/db/migrations/024_wizard_configs.d.ts +4 -0
- package/dist/db/migrations/024_wizard_configs.d.ts.map +1 -0
- package/dist/db/migrations/024_wizard_configs.js +165 -0
- package/dist/db/migrations/024_wizard_configs.js.map +1 -0
- package/dist/db/migrations/025_auth_dual_mode.d.ts +4 -0
- package/dist/db/migrations/025_auth_dual_mode.d.ts.map +1 -0
- package/dist/db/migrations/025_auth_dual_mode.js +19 -0
- package/dist/db/migrations/025_auth_dual_mode.js.map +1 -0
- package/dist/db/migrations/027_add_avatar_to_instances.d.ts +4 -0
- package/dist/db/migrations/027_add_avatar_to_instances.d.ts.map +1 -0
- package/dist/db/migrations/027_add_avatar_to_instances.js +11 -0
- package/dist/db/migrations/027_add_avatar_to_instances.js.map +1 -0
- package/dist/db/migrations/027_add_clerk_id.d.ts +4 -0
- package/dist/db/migrations/027_add_clerk_id.d.ts.map +1 -0
- package/dist/db/migrations/027_add_clerk_id.js +11 -0
- package/dist/db/migrations/027_add_clerk_id.js.map +1 -0
- package/dist/db/migrations/028_template_plugin_dependencies.d.ts +4 -0
- package/dist/db/migrations/028_template_plugin_dependencies.d.ts.map +1 -0
- package/dist/db/migrations/028_template_plugin_dependencies.js +18 -0
- package/dist/db/migrations/028_template_plugin_dependencies.js.map +1 -0
- package/dist/db/migrations/029_remap_orphan_config_keys.d.ts +21 -0
- package/dist/db/migrations/029_remap_orphan_config_keys.d.ts.map +1 -0
- package/dist/db/migrations/029_remap_orphan_config_keys.js +63 -0
- package/dist/db/migrations/029_remap_orphan_config_keys.js.map +1 -0
- package/dist/db/migrations/030_extend_notification_types.d.ts +4 -0
- package/dist/db/migrations/030_extend_notification_types.d.ts.map +1 -0
- package/dist/db/migrations/030_extend_notification_types.js +10 -0
- package/dist/db/migrations/030_extend_notification_types.js.map +1 -0
- package/dist/db/migrations/031_default_security_profile_developer.d.ts +9 -0
- package/dist/db/migrations/031_default_security_profile_developer.d.ts.map +1 -0
- package/dist/db/migrations/031_default_security_profile_developer.js +22 -0
- package/dist/db/migrations/031_default_security_profile_developer.js.map +1 -0
- package/dist/db/migrations/032_geo_template.d.ts +4 -0
- package/dist/db/migrations/032_geo_template.d.ts.map +1 -0
- package/dist/db/migrations/032_geo_template.js +133 -0
- package/dist/db/migrations/032_geo_template.js.map +1 -0
- package/dist/db/migrations/033_jinko_travel_template.d.ts +4 -0
- package/dist/db/migrations/033_jinko_travel_template.d.ts.map +1 -0
- package/dist/db/migrations/033_jinko_travel_template.js +126 -0
- package/dist/db/migrations/033_jinko_travel_template.js.map +1 -0
- package/dist/db/postgres-adapter.d.ts +13 -0
- package/dist/db/postgres-adapter.d.ts.map +1 -0
- package/dist/db/postgres-adapter.js +27 -0
- package/dist/db/postgres-adapter.js.map +1 -0
- package/dist/db/run-migrations.d.ts +2 -0
- package/dist/db/run-migrations.d.ts.map +1 -0
- package/dist/db/run-migrations.js +26 -0
- package/dist/db/run-migrations.js.map +1 -0
- package/dist/db/sqlite-adapter.d.ts +13 -0
- package/dist/db/sqlite-adapter.d.ts.map +1 -0
- package/dist/db/sqlite-adapter.js +29 -0
- package/dist/db/sqlite-adapter.js.map +1 -0
- package/dist/ee/litellm/litellm-key-manager.d.ts +16 -0
- package/dist/ee/litellm/litellm-key-manager.d.ts.map +1 -0
- package/dist/ee/litellm/litellm-key-manager.js +16 -0
- package/dist/ee/litellm/litellm-key-manager.js.map +1 -0
- package/dist/ee/litellm/litellm-model-seeder.d.ts +6 -0
- package/dist/ee/litellm/litellm-model-seeder.d.ts.map +1 -0
- package/dist/ee/litellm/litellm-model-seeder.js +6 -0
- package/dist/ee/litellm/litellm-model-seeder.js.map +1 -0
- package/dist/index.ce.d.ts +2 -0
- package/dist/index.ce.d.ts.map +1 -0
- package/dist/index.ce.js +12 -0
- package/dist/index.ce.js.map +1 -0
- package/dist/middleware/auth.d.ts +30 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +86 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/dynamic-middleware.d.ts +7 -0
- package/dist/middleware/dynamic-middleware.d.ts.map +1 -0
- package/dist/middleware/dynamic-middleware.js +46 -0
- package/dist/middleware/dynamic-middleware.js.map +1 -0
- package/dist/middleware/log-redaction.d.ts +2 -0
- package/dist/middleware/log-redaction.d.ts.map +1 -0
- package/dist/middleware/log-redaction.js +56 -0
- package/dist/middleware/log-redaction.js.map +1 -0
- package/dist/routes/admin.d.ts +3 -0
- package/dist/routes/admin.d.ts.map +1 -0
- package/dist/routes/admin.js +491 -0
- package/dist/routes/admin.js.map +1 -0
- package/dist/routes/agent-types.d.ts +3 -0
- package/dist/routes/agent-types.d.ts.map +1 -0
- package/dist/routes/agent-types.js +85 -0
- package/dist/routes/agent-types.js.map +1 -0
- package/dist/routes/auth.d.ts +3 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +242 -0
- package/dist/routes/auth.js.map +1 -0
- package/dist/routes/channels.d.ts +3 -0
- package/dist/routes/channels.d.ts.map +1 -0
- package/dist/routes/channels.js +527 -0
- package/dist/routes/channels.js.map +1 -0
- package/dist/routes/credentials.d.ts +3 -0
- package/dist/routes/credentials.d.ts.map +1 -0
- package/dist/routes/credentials.js +81 -0
- package/dist/routes/credentials.js.map +1 -0
- package/dist/routes/dashboard.d.ts +3 -0
- package/dist/routes/dashboard.d.ts.map +1 -0
- package/dist/routes/dashboard.js +75 -0
- package/dist/routes/dashboard.js.map +1 -0
- package/dist/routes/exec-approval.d.ts +3 -0
- package/dist/routes/exec-approval.d.ts.map +1 -0
- package/dist/routes/exec-approval.js +60 -0
- package/dist/routes/exec-approval.js.map +1 -0
- package/dist/routes/group-chats.d.ts +3 -0
- package/dist/routes/group-chats.d.ts.map +1 -0
- package/dist/routes/group-chats.js +190 -0
- package/dist/routes/group-chats.js.map +1 -0
- package/dist/routes/instance-files.d.ts +3 -0
- package/dist/routes/instance-files.d.ts.map +1 -0
- package/dist/routes/instance-files.js +255 -0
- package/dist/routes/instance-files.js.map +1 -0
- package/dist/routes/instance-proxy.d.ts +40 -0
- package/dist/routes/instance-proxy.d.ts.map +1 -0
- package/dist/routes/instance-proxy.js +318 -0
- package/dist/routes/instance-proxy.js.map +1 -0
- package/dist/routes/instances.d.ts +3 -0
- package/dist/routes/instances.d.ts.map +1 -0
- package/dist/routes/instances.js +325 -0
- package/dist/routes/instances.js.map +1 -0
- package/dist/routes/metadata.d.ts +3 -0
- package/dist/routes/metadata.d.ts.map +1 -0
- package/dist/routes/metadata.js +13 -0
- package/dist/routes/metadata.js.map +1 -0
- package/dist/routes/notifications.d.ts +3 -0
- package/dist/routes/notifications.d.ts.map +1 -0
- package/dist/routes/notifications.js +104 -0
- package/dist/routes/notifications.js.map +1 -0
- package/dist/routes/oauth.d.ts +3 -0
- package/dist/routes/oauth.d.ts.map +1 -0
- package/dist/routes/oauth.js +516 -0
- package/dist/routes/oauth.js.map +1 -0
- package/dist/routes/rpc-proxy.d.ts +3 -0
- package/dist/routes/rpc-proxy.d.ts.map +1 -0
- package/dist/routes/rpc-proxy.js +116 -0
- package/dist/routes/rpc-proxy.js.map +1 -0
- package/dist/routes/security.d.ts +3 -0
- package/dist/routes/security.d.ts.map +1 -0
- package/dist/routes/security.js +43 -0
- package/dist/routes/security.js.map +1 -0
- package/dist/routes/skills.d.ts +3 -0
- package/dist/routes/skills.d.ts.map +1 -0
- package/dist/routes/skills.js +48 -0
- package/dist/routes/skills.js.map +1 -0
- package/dist/routes/snapshots.d.ts +3 -0
- package/dist/routes/snapshots.d.ts.map +1 -0
- package/dist/routes/snapshots.js +99 -0
- package/dist/routes/snapshots.js.map +1 -0
- package/dist/routes/system-config.d.ts +3 -0
- package/dist/routes/system-config.d.ts.map +1 -0
- package/dist/routes/system-config.js +75 -0
- package/dist/routes/system-config.js.map +1 -0
- package/dist/routes/templates.d.ts +3 -0
- package/dist/routes/templates.d.ts.map +1 -0
- package/dist/routes/templates.js +256 -0
- package/dist/routes/templates.js.map +1 -0
- package/dist/routes/ui-proxy.d.ts +3 -0
- package/dist/routes/ui-proxy.d.ts.map +1 -0
- package/dist/routes/ui-proxy.js +90 -0
- package/dist/routes/ui-proxy.js.map +1 -0
- package/dist/routes/user-credentials.d.ts +3 -0
- package/dist/routes/user-credentials.d.ts.map +1 -0
- package/dist/routes/user-credentials.js +85 -0
- package/dist/routes/user-credentials.js.map +1 -0
- package/dist/routes/users.d.ts +3 -0
- package/dist/routes/users.d.ts.map +1 -0
- package/dist/routes/users.js +30 -0
- package/dist/routes/users.js.map +1 -0
- package/dist/runtime/docker.d.ts +37 -0
- package/dist/runtime/docker.d.ts.map +1 -0
- package/dist/runtime/docker.js +612 -0
- package/dist/runtime/docker.js.map +1 -0
- package/dist/runtime/factory.d.ts +4 -0
- package/dist/runtime/factory.d.ts.map +1 -0
- package/dist/runtime/factory.js +21 -0
- package/dist/runtime/factory.js.map +1 -0
- package/dist/runtime/kubernetes.d.ts +34 -0
- package/dist/runtime/kubernetes.d.ts.map +1 -0
- package/dist/runtime/kubernetes.js +513 -0
- package/dist/runtime/kubernetes.js.map +1 -0
- package/dist/runtime/types.d.ts +81 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/server-core.d.ts +26 -0
- package/dist/server-core.d.ts.map +1 -0
- package/dist/server-core.js +184 -0
- package/dist/server-core.js.map +1 -0
- package/dist/services/config-diff.d.ts +6 -0
- package/dist/services/config-diff.d.ts.map +1 -0
- package/dist/services/config-diff.js +85 -0
- package/dist/services/config-diff.js.map +1 -0
- package/dist/services/config-field-meta.d.ts +22 -0
- package/dist/services/config-field-meta.d.ts.map +1 -0
- package/dist/services/config-field-meta.js +177 -0
- package/dist/services/config-field-meta.js.map +1 -0
- package/dist/services/config-validator.d.ts +8 -0
- package/dist/services/config-validator.d.ts.map +1 -0
- package/dist/services/config-validator.js +59 -0
- package/dist/services/config-validator.js.map +1 -0
- package/dist/services/credential-audit.d.ts +13 -0
- package/dist/services/credential-audit.d.ts.map +1 -0
- package/dist/services/credential-audit.js +18 -0
- package/dist/services/credential-audit.js.map +1 -0
- package/dist/services/credential-store.d.ts +28 -0
- package/dist/services/credential-store.d.ts.map +1 -0
- package/dist/services/credential-store.js +99 -0
- package/dist/services/credential-store.js.map +1 -0
- package/dist/services/dlp-scanner.d.ts +9 -0
- package/dist/services/dlp-scanner.d.ts.map +1 -0
- package/dist/services/dlp-scanner.js +90 -0
- package/dist/services/dlp-scanner.js.map +1 -0
- package/dist/services/gateway-event-relay.d.ts +53 -0
- package/dist/services/gateway-event-relay.d.ts.map +1 -0
- package/dist/services/gateway-event-relay.js +519 -0
- package/dist/services/gateway-event-relay.js.map +1 -0
- package/dist/services/group-chat-manager.d.ts +17 -0
- package/dist/services/group-chat-manager.d.ts.map +1 -0
- package/dist/services/group-chat-manager.js +613 -0
- package/dist/services/group-chat-manager.js.map +1 -0
- package/dist/services/health-monitor.d.ts +3 -0
- package/dist/services/health-monitor.d.ts.map +1 -0
- package/dist/services/health-monitor.js +342 -0
- package/dist/services/health-monitor.js.map +1 -0
- package/dist/services/instance-manager.d.ts +20 -0
- package/dist/services/instance-manager.d.ts.map +1 -0
- package/dist/services/instance-manager.js +833 -0
- package/dist/services/instance-manager.js.map +1 -0
- package/dist/services/metadata-store.d.ts +3 -0
- package/dist/services/metadata-store.d.ts.map +1 -0
- package/dist/services/metadata-store.js +34 -0
- package/dist/services/metadata-store.js.map +1 -0
- package/dist/services/notification-store.d.ts +24 -0
- package/dist/services/notification-store.d.ts.map +1 -0
- package/dist/services/notification-store.js +216 -0
- package/dist/services/notification-store.js.map +1 -0
- package/dist/services/openrouter-models.d.ts +13 -0
- package/dist/services/openrouter-models.d.ts.map +1 -0
- package/dist/services/openrouter-models.js +46 -0
- package/dist/services/openrouter-models.js.map +1 -0
- package/dist/services/output-filter.d.ts +8 -0
- package/dist/services/output-filter.d.ts.map +1 -0
- package/dist/services/output-filter.js +230 -0
- package/dist/services/output-filter.js.map +1 -0
- package/dist/services/prompt-guard.d.ts +6 -0
- package/dist/services/prompt-guard.d.ts.map +1 -0
- package/dist/services/prompt-guard.js +165 -0
- package/dist/services/prompt-guard.js.map +1 -0
- package/dist/services/security-event-service.d.ts +11 -0
- package/dist/services/security-event-service.d.ts.map +1 -0
- package/dist/services/security-event-service.js +201 -0
- package/dist/services/security-event-service.js.map +1 -0
- package/dist/services/snapshot-store.d.ts +21 -0
- package/dist/services/snapshot-store.d.ts.map +1 -0
- package/dist/services/snapshot-store.js +330 -0
- package/dist/services/snapshot-store.js.map +1 -0
- package/dist/services/system-config.d.ts +15 -0
- package/dist/services/system-config.d.ts.map +1 -0
- package/dist/services/system-config.js +80 -0
- package/dist/services/system-config.js.map +1 -0
- package/dist/services/template-file-format.d.ts +32 -0
- package/dist/services/template-file-format.d.ts.map +1 -0
- package/dist/services/template-file-format.js +125 -0
- package/dist/services/template-file-format.js.map +1 -0
- package/dist/services/template-store.d.ts +21 -0
- package/dist/services/template-store.d.ts.map +1 -0
- package/dist/services/template-store.js +701 -0
- package/dist/services/template-store.js.map +1 -0
- package/dist/services/user-credential-store.d.ts +20 -0
- package/dist/services/user-credential-store.d.ts.map +1 -0
- package/dist/services/user-credential-store.js +243 -0
- package/dist/services/user-credential-store.js.map +1 -0
- package/dist/services/wizard-config-store.d.ts +38 -0
- package/dist/services/wizard-config-store.d.ts.map +1 -0
- package/dist/services/wizard-config-store.js +70 -0
- package/dist/services/wizard-config-store.js.map +1 -0
- package/dist/web-dist/assets/AdminPage-BrAU67Dg.js +1 -0
- package/dist/web-dist/assets/AgentAvatar-BKJckc1W.js +1 -0
- package/dist/web-dist/assets/AgentAvatar-Cq-M5jMd.css +1 -0
- package/dist/web-dist/assets/AppLayout-Bf0v_2wK.css +1 -0
- package/dist/web-dist/assets/AppLayout-DXgV0atq.js +1 -0
- package/dist/web-dist/assets/AssistantChatPage-uVLgKLay.js +6 -0
- package/dist/web-dist/assets/AssistantEditPage-Bab1X-DA.js +1 -0
- package/dist/web-dist/assets/AssistantVersionsPage-BQRw3BUF.js +1 -0
- package/dist/web-dist/assets/AvatarPicker-DmnkD8Rb.js +1 -0
- package/dist/web-dist/assets/AvatarPicker-LHUepNFa.css +1 -0
- package/dist/web-dist/assets/CeAuthProvider-38_x9VGA.js +1 -0
- package/dist/web-dist/assets/ChatHubPage-2l4cKq0x.css +1 -0
- package/dist/web-dist/assets/ChatHubPage-B2WduoUM.js +1 -0
- package/dist/web-dist/assets/ChatTab-CHpjEu8M.js +6 -0
- package/dist/web-dist/assets/CreateWizardPage-DFEQ3VX3.js +47 -0
- package/dist/web-dist/assets/CreateWizardPage-IqNXDOER.css +1 -0
- package/dist/web-dist/assets/CredentialsPage-CDeXpnLG.js +1 -0
- package/dist/web-dist/assets/CredentialsPage-aI4kLoJD.css +1 -0
- package/dist/web-dist/assets/DocsAboutPage-CMbxiw1u.js +26 -0
- package/dist/web-dist/assets/DocsChannelsPage-CtmKYKK_.js +1 -0
- package/dist/web-dist/assets/DocsGettingStartedPage-CpM7o8sw.js +1 -0
- package/dist/web-dist/assets/DocsGroupChatsPage-7w-RVSJR.js +1 -0
- package/dist/web-dist/assets/DocsHomePage-BGEU5xBg.js +1 -0
- package/dist/web-dist/assets/DocsInstancesPage-Sewnw_x7.js +1 -0
- package/dist/web-dist/assets/DocsLayout-S7-ONZwP.js +1 -0
- package/dist/web-dist/assets/DocsProvidersPage-MeWneL5K.js +1 -0
- package/dist/web-dist/assets/DocsSkillsPage-CzsHPXxE.js +1 -0
- package/dist/web-dist/assets/DocsTemplatesPage-BXASAEoO.js +1 -0
- package/dist/web-dist/assets/DocsWorkspacePage-qYNeK_YS.js +24 -0
- package/dist/web-dist/assets/ExportWizardPage-BhNvovbU.js +3 -0
- package/dist/web-dist/assets/ExportWizardPage-Cp-KSYUy.css +1 -0
- package/dist/web-dist/assets/GoogleOAuthCallback-CBvLawe2.js +1 -0
- package/dist/web-dist/assets/GroupChatPage-rMfhmtsX.js +1 -0
- package/dist/web-dist/assets/GroupChatsListPage-BOwxHFfA.js +1 -0
- package/dist/web-dist/assets/InstancePage-BBL68DKB.js +1 -0
- package/dist/web-dist/assets/InstancePage-CzysRY40.css +1 -0
- package/dist/web-dist/assets/MyAssistantsPage-B808ZfHg.css +1 -0
- package/dist/web-dist/assets/MyAssistantsPage-q3-hNMth.js +1 -0
- package/dist/web-dist/assets/ProfilePage-Dx8YdU59.js +1 -0
- package/dist/web-dist/assets/ProfilePage-JMOkUDx7.css +1 -0
- package/dist/web-dist/assets/SessionDrawer-Ba7pbZDJ.css +1 -0
- package/dist/web-dist/assets/SessionDrawer-CXzEQAfF.js +1 -0
- package/dist/web-dist/assets/SystemConfigPage-4dvxADwi.js +1 -0
- package/dist/web-dist/assets/SystemConfigPage-DRqVfLGt.css +1 -0
- package/dist/web-dist/assets/TemplatesPage-DqXuG-Gy.css +1 -0
- package/dist/web-dist/assets/TemplatesPage-HMS__ODO.js +1 -0
- package/dist/web-dist/assets/TestLoginPage-xVQL0lYP.js +1 -0
- package/dist/web-dist/assets/ThemeToggle-DymKEYXG.js +1 -0
- package/dist/web-dist/assets/WorkbenchPage-Bymo4SSt.css +1 -0
- package/dist/web-dist/assets/WorkbenchPage-ST3hVrbL.js +33 -0
- package/dist/web-dist/assets/api-B5psysvQ.js +1 -0
- package/dist/web-dist/assets/clock-dRyRszad.js +1 -0
- package/dist/web-dist/assets/createLucideIcon-DiGX-lN4.js +1 -0
- package/dist/web-dist/assets/group-chat-9BaA9G_8.css +1 -0
- package/dist/web-dist/assets/index-BqzqZJ96.js +26 -0
- package/dist/web-dist/assets/index-DyrDN1Of.css +1 -0
- package/dist/web-dist/assets/index-wWimwgy7.js +1 -0
- package/dist/web-dist/assets/provider-display-BgrE7u33.js +1 -0
- package/dist/web-dist/assets/types-1lNWpzYk.js +57 -0
- package/dist/web-dist/assets/types-B6ttO-6G.css +1 -0
- package/dist/web-dist/assets/useTranslation-B-8kenfJ.js +1 -0
- package/dist/web-dist/assets/zap-CVBnETFW.js +1 -0
- package/dist/web-dist/index.html +31 -0
- package/dist/web-dist/vite.svg +1 -0
- package/dist/ws/index.d.ts +7 -0
- package/dist/ws/index.d.ts.map +1 -0
- package/dist/ws/index.js +112 -0
- package/dist/ws/index.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-validator.d.ts","sourceRoot":"","sources":["../../src/services/config-validator.ts"],"names":[],"mappings":"AAiBA,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAEzD;AAoBD,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACzC,OAAO,CAAC,EAAE;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/C,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuChD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { createRequire } from 'module';
|
|
2
|
+
const require = createRequire(import.meta.url);
|
|
3
|
+
const Ajv = require('ajv').default;
|
|
4
|
+
const ajv = new Ajv({ allErrors: true, strict: false });
|
|
5
|
+
const validatorCache = new Map();
|
|
6
|
+
const CACHE_TTL_MS = 5 * 60 * 1000; // 5 minutes
|
|
7
|
+
export function clearSchemaCache(instanceId) {
|
|
8
|
+
validatorCache.delete(instanceId);
|
|
9
|
+
}
|
|
10
|
+
// Platform-level fields stored in instance.config but NOT part of the gateway schema.
|
|
11
|
+
// These must be stripped before validating against the gateway's JSON schema
|
|
12
|
+
// (which uses additionalProperties: false).
|
|
13
|
+
const PLATFORM_CONFIG_KEYS = new Set([
|
|
14
|
+
'defaultProvider', 'defaultModel', 'provider', 'model',
|
|
15
|
+
'billingMode', 'imageTag', 'securityProfile',
|
|
16
|
+
]);
|
|
17
|
+
function stripPlatformFields(config) {
|
|
18
|
+
const stripped = {};
|
|
19
|
+
for (const [key, value] of Object.entries(config)) {
|
|
20
|
+
if (!PLATFORM_CONFIG_KEYS.has(key)) {
|
|
21
|
+
stripped[key] = value;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return stripped;
|
|
25
|
+
}
|
|
26
|
+
export async function validateConfigPatch(instanceId, mergedConfig, fetchSchema, options) {
|
|
27
|
+
// For PATCH operations, skip strict gateway schema validation.
|
|
28
|
+
// The gateway validates on push via config.patch RPC.
|
|
29
|
+
if (options?.skipFullSchemaValidation) {
|
|
30
|
+
return { valid: true };
|
|
31
|
+
}
|
|
32
|
+
let cached = validatorCache.get(instanceId);
|
|
33
|
+
if (!cached || Date.now() - cached.cachedAt > CACHE_TTL_MS) {
|
|
34
|
+
let schema;
|
|
35
|
+
try {
|
|
36
|
+
schema = await fetchSchema();
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// Schema fetch failed -- graceful degradation, allow the patch through
|
|
40
|
+
return { valid: true };
|
|
41
|
+
}
|
|
42
|
+
if (!schema) {
|
|
43
|
+
// No schema available -- skip validation (graceful degradation)
|
|
44
|
+
return { valid: true };
|
|
45
|
+
}
|
|
46
|
+
const validate = ajv.compile(schema);
|
|
47
|
+
cached = { validate, cachedAt: Date.now() };
|
|
48
|
+
validatorCache.set(instanceId, cached);
|
|
49
|
+
}
|
|
50
|
+
// Strip platform-only fields before validating against gateway schema
|
|
51
|
+
const gatewayConfig = stripPlatformFields(mergedConfig);
|
|
52
|
+
const valid = cached.validate(gatewayConfig);
|
|
53
|
+
if (!valid) {
|
|
54
|
+
const errors = (cached.validate.errors || []).map((e) => `${e.instancePath || '/'}: ${e.message}`);
|
|
55
|
+
return { valid: false, errors };
|
|
56
|
+
}
|
|
57
|
+
return { valid: true };
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=config-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../src/services/config-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type CredentialAuditAction = 'create' | 'read' | 'update' | 'delete' | 'resolve' | 'inject';
|
|
2
|
+
export type CredentialAuditSource = 'api' | 'seed_config' | 'reseed';
|
|
3
|
+
export interface CredentialAuditEntry {
|
|
4
|
+
action: CredentialAuditAction;
|
|
5
|
+
userId: string;
|
|
6
|
+
instanceId?: string | null;
|
|
7
|
+
provider: string;
|
|
8
|
+
credentialType: string;
|
|
9
|
+
source: CredentialAuditSource;
|
|
10
|
+
ipAddress?: string | null;
|
|
11
|
+
}
|
|
12
|
+
export declare function logCredentialAudit(entry: CredentialAuditEntry): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=credential-audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-audit.d.ts","sourceRoot":"","sources":["../../src/services/credential-audit.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AACnG,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,aAAa,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { db } from '../db/index.js';
|
|
2
|
+
export async function logCredentialAudit(entry) {
|
|
3
|
+
try {
|
|
4
|
+
await db('credential_audit_log').insert({
|
|
5
|
+
action: entry.action,
|
|
6
|
+
user_id: entry.userId,
|
|
7
|
+
instance_id: entry.instanceId ?? null,
|
|
8
|
+
provider: entry.provider,
|
|
9
|
+
credential_type: entry.credentialType,
|
|
10
|
+
source: entry.source,
|
|
11
|
+
ip_address: entry.ipAddress ?? null,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
// Audit logging must never break the main flow
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=credential-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-audit.js","sourceRoot":"","sources":["../../src/services/credential-audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAepC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAA2B;IAClE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,WAAW,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;YACrC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,KAAK,CAAC,cAAc;YACrC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type CredentialAuditSource } from './credential-audit.js';
|
|
2
|
+
export interface CredentialAuditContext {
|
|
3
|
+
userId: string;
|
|
4
|
+
source: CredentialAuditSource;
|
|
5
|
+
ipAddress?: string | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function encrypt(plaintext: string): string;
|
|
8
|
+
export declare function decrypt(encoded: string): string;
|
|
9
|
+
export interface StoredCredential {
|
|
10
|
+
id: string;
|
|
11
|
+
instance_id: string;
|
|
12
|
+
provider: string;
|
|
13
|
+
credential_type: string;
|
|
14
|
+
encrypted_value: string;
|
|
15
|
+
metadata: Record<string, unknown>;
|
|
16
|
+
created_at: string;
|
|
17
|
+
updated_at: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function addCredential(instanceId: string, provider: string, credentialType: string, value: string, metadata?: Record<string, unknown>, audit?: CredentialAuditContext): Promise<StoredCredential>;
|
|
20
|
+
export declare function listCredentials(instanceId: string): Promise<StoredCredential[]>;
|
|
21
|
+
export declare function getDecryptedCredentials(instanceId: string): Promise<Array<{
|
|
22
|
+
provider: string;
|
|
23
|
+
credentialType: string;
|
|
24
|
+
value: string;
|
|
25
|
+
metadata?: Record<string, unknown>;
|
|
26
|
+
}>>;
|
|
27
|
+
export declare function deleteCredential(credentialId: string, instanceId: string, audit?: CredentialAuditContext): Promise<boolean>;
|
|
28
|
+
//# sourceMappingURL=credential-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../src/services/credential-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEvF,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAWD,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS/C;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACtC,KAAK,CAAC,EAAE,sBAAsB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAgC3B;AAED,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAErF;AAED,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAAC,CAQjL;AAED,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4BjI"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { createCipheriv, createDecipheriv, randomBytes } from 'crypto';
|
|
2
|
+
import { db } from '../db/index.js';
|
|
3
|
+
import { config } from '../config.js';
|
|
4
|
+
import { logCredentialAudit } from './credential-audit.js';
|
|
5
|
+
const ALGORITHM = 'aes-256-gcm';
|
|
6
|
+
function deriveKey() {
|
|
7
|
+
// Pad or hash the encryption key to 32 bytes
|
|
8
|
+
const key = Buffer.alloc(32);
|
|
9
|
+
Buffer.from(config.encryptionKey).copy(key);
|
|
10
|
+
return key;
|
|
11
|
+
}
|
|
12
|
+
export function encrypt(plaintext) {
|
|
13
|
+
const key = deriveKey();
|
|
14
|
+
const iv = randomBytes(12);
|
|
15
|
+
const cipher = createCipheriv(ALGORITHM, key, iv);
|
|
16
|
+
const encrypted = Buffer.concat([cipher.update(plaintext, 'utf8'), cipher.final()]);
|
|
17
|
+
const tag = cipher.getAuthTag();
|
|
18
|
+
// Format: iv:tag:ciphertext (all hex)
|
|
19
|
+
return `${iv.toString('hex')}:${tag.toString('hex')}:${encrypted.toString('hex')}`;
|
|
20
|
+
}
|
|
21
|
+
export function decrypt(encoded) {
|
|
22
|
+
const key = deriveKey();
|
|
23
|
+
const [ivHex, tagHex, dataHex] = encoded.split(':');
|
|
24
|
+
const iv = Buffer.from(ivHex, 'hex');
|
|
25
|
+
const tag = Buffer.from(tagHex, 'hex');
|
|
26
|
+
const data = Buffer.from(dataHex, 'hex');
|
|
27
|
+
const decipher = createDecipheriv(ALGORITHM, key, iv);
|
|
28
|
+
decipher.setAuthTag(tag);
|
|
29
|
+
return Buffer.concat([decipher.update(data), decipher.final()]).toString('utf8');
|
|
30
|
+
}
|
|
31
|
+
export async function addCredential(instanceId, provider, credentialType, value, metadata = {}, audit) {
|
|
32
|
+
const encrypted = encrypt(value);
|
|
33
|
+
const [row] = await db('instance_credentials')
|
|
34
|
+
.insert({
|
|
35
|
+
instance_id: instanceId,
|
|
36
|
+
provider,
|
|
37
|
+
credential_type: credentialType,
|
|
38
|
+
encrypted_value: encrypted,
|
|
39
|
+
metadata: JSON.stringify(metadata),
|
|
40
|
+
})
|
|
41
|
+
.onConflict(['instance_id', 'provider', 'credential_type'])
|
|
42
|
+
.merge({
|
|
43
|
+
encrypted_value: encrypted,
|
|
44
|
+
metadata: JSON.stringify(metadata),
|
|
45
|
+
updated_at: db.fn.now(),
|
|
46
|
+
})
|
|
47
|
+
.returning('*');
|
|
48
|
+
if (audit) {
|
|
49
|
+
logCredentialAudit({
|
|
50
|
+
action: 'create',
|
|
51
|
+
userId: audit.userId,
|
|
52
|
+
instanceId,
|
|
53
|
+
provider,
|
|
54
|
+
credentialType,
|
|
55
|
+
source: audit.source,
|
|
56
|
+
ipAddress: audit.ipAddress,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return row;
|
|
60
|
+
}
|
|
61
|
+
export async function listCredentials(instanceId) {
|
|
62
|
+
return db('instance_credentials').where({ instance_id: instanceId }).orderBy('provider');
|
|
63
|
+
}
|
|
64
|
+
export async function getDecryptedCredentials(instanceId) {
|
|
65
|
+
const rows = await listCredentials(instanceId);
|
|
66
|
+
return rows.map(r => ({
|
|
67
|
+
provider: r.provider,
|
|
68
|
+
credentialType: r.credential_type,
|
|
69
|
+
value: decrypt(r.encrypted_value),
|
|
70
|
+
metadata: r.metadata ? (typeof r.metadata === 'string' ? JSON.parse(r.metadata) : r.metadata) : undefined,
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
export async function deleteCredential(credentialId, instanceId, audit) {
|
|
74
|
+
let provider = '';
|
|
75
|
+
let credentialType = '';
|
|
76
|
+
if (audit) {
|
|
77
|
+
const existing = await db('instance_credentials').where({ id: credentialId, instance_id: instanceId }).first();
|
|
78
|
+
if (existing) {
|
|
79
|
+
provider = existing.provider;
|
|
80
|
+
credentialType = existing.credential_type;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const count = await db('instance_credentials')
|
|
84
|
+
.where({ id: credentialId, instance_id: instanceId })
|
|
85
|
+
.delete();
|
|
86
|
+
if (count > 0 && audit && provider) {
|
|
87
|
+
logCredentialAudit({
|
|
88
|
+
action: 'delete',
|
|
89
|
+
userId: audit.userId,
|
|
90
|
+
instanceId,
|
|
91
|
+
provider,
|
|
92
|
+
credentialType,
|
|
93
|
+
source: audit.source,
|
|
94
|
+
ipAddress: audit.ipAddress,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
return count > 0;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=credential-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/services/credential-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface DlpFinding {
|
|
2
|
+
patternName: string;
|
|
3
|
+
filename: string;
|
|
4
|
+
lineNumber: number;
|
|
5
|
+
redacted: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function scanContent(content: string, filename: string): DlpFinding[];
|
|
8
|
+
export declare function scanWorkspaceFiles(files: Map<string, string>): DlpFinding[];
|
|
9
|
+
//# sourceMappingURL=dlp-scanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dlp-scanner.d.ts","sourceRoot":"","sources":["../../src/services/dlp-scanner.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CA6B3E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,UAAU,EAAE,CAS3E"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
const SENSITIVE_PATTERNS = [
|
|
2
|
+
{
|
|
3
|
+
name: 'OpenAI API Key',
|
|
4
|
+
pattern: /sk-[a-zA-Z0-9]{20,}/g,
|
|
5
|
+
minLength: 24,
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
name: 'Anthropic API Key',
|
|
9
|
+
pattern: /sk-ant-[a-zA-Z0-9-]{80,}/g,
|
|
10
|
+
minLength: 86,
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'GitHub PAT',
|
|
14
|
+
pattern: /ghp_[a-zA-Z0-9]{36}/g,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'GitHub OAuth Token',
|
|
18
|
+
pattern: /gho_[a-zA-Z0-9]{36}/g,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'GitHub Fine-grained PAT',
|
|
22
|
+
pattern: /github_pat_[a-zA-Z0-9_]{82}/g,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: 'PEM Private Key',
|
|
26
|
+
pattern: /-----BEGIN (?:RSA |EC |DSA |OPENSSH )?PRIVATE KEY-----/g,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'AWS Access Key',
|
|
30
|
+
pattern: /AKIA[0-9A-Z]{16}/g,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'AWS Secret Key',
|
|
34
|
+
pattern: /(?:aws_secret_access_key|AWS_SECRET_ACCESS_KEY)\s*[=:]\s*[A-Za-z0-9/+=]{40}/g,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'Google API Key',
|
|
38
|
+
pattern: /AIza[0-9A-Za-z_-]{35}/g,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'Stripe Secret Key',
|
|
42
|
+
pattern: /sk_live_[a-zA-Z0-9]{24,}/g,
|
|
43
|
+
minLength: 32,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'Ethereum Private Key',
|
|
47
|
+
pattern: /(?:0x)?[0-9a-fA-F]{64}(?=\s|$|['"`,;)\]}])/g,
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
function redactMatch(match) {
|
|
51
|
+
if (match.length <= 8)
|
|
52
|
+
return '***';
|
|
53
|
+
const prefix = match.slice(0, 4);
|
|
54
|
+
const suffix = match.slice(-4);
|
|
55
|
+
return `${prefix}${'*'.repeat(Math.min(match.length - 8, 20))}${suffix}`;
|
|
56
|
+
}
|
|
57
|
+
export function scanContent(content, filename) {
|
|
58
|
+
const findings = [];
|
|
59
|
+
const lines = content.split('\n');
|
|
60
|
+
for (let i = 0; i < lines.length; i++) {
|
|
61
|
+
const line = lines[i];
|
|
62
|
+
for (const sp of SENSITIVE_PATTERNS) {
|
|
63
|
+
// Reset lastIndex for global regexes
|
|
64
|
+
sp.pattern.lastIndex = 0;
|
|
65
|
+
let match;
|
|
66
|
+
while ((match = sp.pattern.exec(line)) !== null) {
|
|
67
|
+
const matchStr = match[0];
|
|
68
|
+
// Skip if too short (false positive filter)
|
|
69
|
+
if (sp.minLength && matchStr.length < sp.minLength)
|
|
70
|
+
continue;
|
|
71
|
+
findings.push({
|
|
72
|
+
patternName: sp.name,
|
|
73
|
+
filename,
|
|
74
|
+
lineNumber: i + 1,
|
|
75
|
+
redacted: redactMatch(matchStr),
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return findings;
|
|
81
|
+
}
|
|
82
|
+
export function scanWorkspaceFiles(files) {
|
|
83
|
+
const allFindings = [];
|
|
84
|
+
for (const [filename, content] of files) {
|
|
85
|
+
const findings = scanContent(content, filename);
|
|
86
|
+
allFindings.push(...findings);
|
|
87
|
+
}
|
|
88
|
+
return allFindings;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=dlp-scanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dlp-scanner.js","sourceRoot":"","sources":["../../src/services/dlp-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ExecApprovalRequest, SecurityProfile } from '@aquarium/shared';
|
|
2
|
+
export declare function preloadDlpConfig(instanceId: string, profile: SecurityProfile): void;
|
|
3
|
+
export declare function evictDlpConfig(instanceId: string): void;
|
|
4
|
+
export interface ChatEventData {
|
|
5
|
+
sessionKey: string;
|
|
6
|
+
state: string;
|
|
7
|
+
content: unknown;
|
|
8
|
+
role?: string;
|
|
9
|
+
messageId?: string;
|
|
10
|
+
}
|
|
11
|
+
interface PendingApproval extends ExecApprovalRequest {
|
|
12
|
+
instanceId: string;
|
|
13
|
+
timer: ReturnType<typeof setTimeout>;
|
|
14
|
+
}
|
|
15
|
+
export declare function addPendingApproval(instanceId: string, req: ExecApprovalRequest): void;
|
|
16
|
+
export declare function removePendingApproval(instanceId: string, approvalId: string): void;
|
|
17
|
+
export declare function consumePendingApproval(instanceId: string, approvalId: string): PendingApproval | null;
|
|
18
|
+
export declare function getPendingApprovalsForInstance(instanceId: string): ExecApprovalRequest[];
|
|
19
|
+
declare class PersistentGatewayClient {
|
|
20
|
+
private readonly instanceId;
|
|
21
|
+
private readonly endpoint;
|
|
22
|
+
private readonly token;
|
|
23
|
+
private ws;
|
|
24
|
+
private connected;
|
|
25
|
+
private closed;
|
|
26
|
+
private retryCount;
|
|
27
|
+
private retryTimeout;
|
|
28
|
+
private pendingRequests;
|
|
29
|
+
constructor(instanceId: string, endpoint: string, token: string);
|
|
30
|
+
private connect;
|
|
31
|
+
private scheduleReconnect;
|
|
32
|
+
call(method: string, params?: Record<string, unknown>, timeoutMs?: number): Promise<unknown>;
|
|
33
|
+
get isConnected(): boolean;
|
|
34
|
+
get isExhausted(): boolean;
|
|
35
|
+
close(): void;
|
|
36
|
+
}
|
|
37
|
+
export declare function startGatewayEventRelay(): void;
|
|
38
|
+
export declare function stopGatewayEventRelay(): void;
|
|
39
|
+
export declare function connectGateway(instanceId: string, endpoint: string, token: string): void;
|
|
40
|
+
export declare function disconnectGateway(instanceId: string): void;
|
|
41
|
+
export declare function getGatewayClient(instanceId: string): PersistentGatewayClient | null;
|
|
42
|
+
/**
|
|
43
|
+
* Register a one-time callback for a chat completion event.
|
|
44
|
+
* Resolves when the gateway emits a chat event with state === 'final'
|
|
45
|
+
* for the given instanceId + sessionKey combination.
|
|
46
|
+
*/
|
|
47
|
+
export declare function waitForChatCompletion(instanceId: string, sessionKey: string, timeoutMs?: number): Promise<ChatEventData>;
|
|
48
|
+
/**
|
|
49
|
+
* Cancel a pending chat completion callback.
|
|
50
|
+
*/
|
|
51
|
+
export declare function cancelChatCompletion(instanceId: string, sessionKey: string): void;
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=gateway-event-relay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-event-relay.d.ts","sourceRoot":"","sources":["../../src/services/gateway-event-relay.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAa,MAAM,kBAAkB,CAAC;AASxF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAEnF;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAEvD;AAsCD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,UAAU,eAAgB,SAAQ,mBAAmB;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CACtC;AAQD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAarF;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAOlF;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAOrG;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAexF;AAOD,cAAM,uBAAuB;IASzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAVxB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,eAAe,CAAqC;gBAGzC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM;IAKhC,OAAO,CAAC,OAAO;IAgQf,OAAO,CAAC,iBAAiB;IAenB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAetG,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,KAAK,IAAI,IAAI;CA4Bd;AAoDD,wBAAgB,sBAAsB,IAAI,IAAI,CAY7C;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAY5C;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQxF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAM1D;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAGnF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,SAAU,GAClB,OAAO,CAAC,aAAa,CAAC,CAyBxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAQjF"}
|