forgebadger 0.1.1 → 0.1.3
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/README.md +10 -0
- package/dist/commands/uninstall.d.ts +24 -0
- package/dist/commands/uninstall.js +123 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/gateway/src/adapters/index.js +24 -1
- package/dist/gateway/src/adapters/index.js.map +1 -1
- package/dist/gateway/src/config/env.d.ts +19 -5
- package/dist/gateway/src/config/env.js +27 -8
- package/dist/gateway/src/config/env.js.map +1 -1
- package/dist/gateway/src/config-generation/writer.d.ts +2 -0
- package/dist/gateway/src/config-generation/writer.js +29 -3
- package/dist/gateway/src/config-generation/writer.js.map +1 -1
- package/dist/gateway/src/db/migrations/0097_telegram_channel_accounts.sql +7 -0
- package/dist/gateway/src/db/migrations/0098_skill_remote_provenance.sql +1 -0
- package/dist/gateway/src/db/migrations/0099_runtime_settings.sql +1 -0
- package/dist/gateway/src/db/migrations/0100_runtime_confirmation_revocation.sql +27 -0
- package/dist/gateway/src/db/migrations/0101_provider_private_networks.sql +7 -0
- package/dist/gateway/src/db/migrations/0102_copilot_preferences.sql +4 -0
- package/dist/gateway/src/db/migrations/0103_model_thinking_efforts.sql +8 -0
- package/dist/gateway/src/db/migrations/0104_copilot_project_autonomy.sql +1 -0
- package/dist/gateway/src/db/migrations/0105_remove_copilot_grants.sql +91 -0
- package/dist/gateway/src/db/migrations/0106_mcp_cli_dispatch_scope.sql +3 -0
- package/dist/gateway/src/db/migrations/0107_cli_skill_revisions.sql +12 -0
- package/dist/gateway/src/db/migrations/0108_copilot_run_governance.sql +43 -0
- package/dist/gateway/src/db/migrations/0109_copilot_research_jobs.sql +19 -0
- package/dist/gateway/src/db/migrations/0110_copilot_tool_artifacts.sql +19 -0
- package/dist/gateway/src/db/migrations/0111_copilot_model_metering.sql +13 -0
- package/dist/gateway/src/db/migrations/0112_copilot_repair_jobs.sql +27 -0
- package/dist/gateway/src/db/migrations/0113_copilot_memory_search_index.sql +19 -0
- package/dist/gateway/src/db/migrations/0114_channel_reliability.sql +32 -0
- package/dist/gateway/src/db/migrations/0115_feishu_typing_reactions.sql +12 -0
- package/dist/gateway/src/db/migrations/0116_channel_control_commands.sql +6 -0
- package/dist/gateway/src/db/migrations/0117_channel_session_model.sql +2 -0
- package/dist/gateway/src/db/migrations/0118_mcp_project_grants.sql +2 -0
- package/dist/gateway/src/db/migrations/0119_feishu_notifications.sql +23 -0
- package/dist/gateway/src/db/migrations/0120_feishu_notification_targets.sql +25 -0
- package/dist/gateway/src/db/migrations/0121_session_notification_prompts.sql +10 -0
- package/dist/gateway/src/db/migrations/0122_mcode_adapter.sql +97 -0
- package/dist/gateway/src/db/migrations/0123_mcode_supported_adapters_backfill.sql +16 -0
- package/dist/gateway/src/db/migrations/0124_user_adapter_order.sql +4 -0
- package/dist/gateway/src/db/migrations/0125_copilot_approval_clock.sql +15 -0
- package/dist/gateway/src/db/migrations/0126_development_execution_identity.sql +3 -0
- package/dist/gateway/src/db/migrations/0127_cli_observation_summaries.sql +17 -0
- package/dist/gateway/src/db/migrations/0128_feishu_builtin_summaries.sql +11 -0
- package/dist/gateway/src/db/migrations/meta/_journal.json +224 -0
- package/dist/gateway/src/db/migrations/meta/migration-checksums.json +33 -1
- package/dist/gateway/src/db/repositories/adapter-order-repository.d.ts +18 -0
- package/dist/gateway/src/db/repositories/adapter-order-repository.js +61 -0
- package/dist/gateway/src/db/repositories/adapter-order-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/catalog-repository.d.ts +4 -1
- package/dist/gateway/src/db/repositories/catalog-repository.js +16 -2
- package/dist/gateway/src/db/repositories/catalog-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/channel-command-repository.d.ts +14 -0
- package/dist/gateway/src/db/repositories/channel-command-repository.js +34 -0
- package/dist/gateway/src/db/repositories/channel-command-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/channel-delivery-repository.d.ts +11 -0
- package/dist/gateway/src/db/repositories/channel-delivery-repository.js +25 -5
- package/dist/gateway/src/db/repositories/channel-delivery-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/channel-identity-repository.d.ts +29 -5
- package/dist/gateway/src/db/repositories/channel-identity-repository.js +46 -8
- package/dist/gateway/src/db/repositories/channel-identity-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/channel-message-repository.d.ts +11 -1
- package/dist/gateway/src/db/repositories/channel-message-repository.js +21 -6
- package/dist/gateway/src/db/repositories/channel-message-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/cli-observation-repository.d.ts +20 -0
- package/dist/gateway/src/db/repositories/cli-observation-repository.js +91 -0
- package/dist/gateway/src/db/repositories/cli-observation-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/cli-skill-revision-repository.d.ts +11 -0
- package/dist/gateway/src/db/repositories/cli-skill-revision-repository.js +57 -0
- package/dist/gateway/src/db/repositories/cli-skill-revision-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/copilot-model-response-repository.d.ts +20 -0
- package/dist/gateway/src/db/repositories/copilot-model-response-repository.js +151 -0
- package/dist/gateway/src/db/repositories/copilot-model-response-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/copilot-preferences-repository.d.ts +43 -0
- package/dist/gateway/src/db/repositories/copilot-preferences-repository.js +74 -0
- package/dist/gateway/src/db/repositories/copilot-preferences-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/copilot-skill-revision-repository.d.ts +1 -0
- package/dist/gateway/src/db/repositories/copilot-skill-revision-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.d.ts +30 -0
- package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js +103 -0
- package/dist/gateway/src/db/repositories/copilot-tool-artifact-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/development-task-repository.d.ts +5 -1
- package/dist/gateway/src/db/repositories/development-task-repository.js +25 -0
- package/dist/gateway/src/db/repositories/development-task-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/feishu-channel-repository.js +4 -0
- package/dist/gateway/src/db/repositories/feishu-channel-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/feishu-notification-repository.d.ts +54 -0
- package/dist/gateway/src/db/repositories/feishu-notification-repository.js +72 -0
- package/dist/gateway/src/db/repositories/feishu-notification-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/feishu-notification-target-repository.d.ts +28 -0
- package/dist/gateway/src/db/repositories/feishu-notification-target-repository.js +51 -0
- package/dist/gateway/src/db/repositories/feishu-notification-target-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/feishu-typing-repository.d.ts +26 -0
- package/dist/gateway/src/db/repositories/feishu-typing-repository.js +77 -0
- package/dist/gateway/src/db/repositories/feishu-typing-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/mcp-token-repository.d.ts +14 -1
- package/dist/gateway/src/db/repositories/mcp-token-repository.js +19 -4
- package/dist/gateway/src/db/repositories/mcp-token-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/model-provider-repository.d.ts +10 -1
- package/dist/gateway/src/db/repositories/model-provider-repository.js +22 -12
- package/dist/gateway/src/db/repositories/model-provider-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/notification-repository.d.ts +4 -0
- package/dist/gateway/src/db/repositories/notification-repository.js +24 -2
- package/dist/gateway/src/db/repositories/notification-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/platform-action-repository.d.ts +30 -4
- package/dist/gateway/src/db/repositories/platform-action-repository.js +41 -5
- package/dist/gateway/src/db/repositories/platform-action-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/project-manager-repository.d.ts +3 -0
- package/dist/gateway/src/db/repositories/project-manager-repository.js +16 -0
- package/dist/gateway/src/db/repositories/project-manager-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/project-repository.d.ts +3 -0
- package/dist/gateway/src/db/repositories/project-repository.js +16 -0
- package/dist/gateway/src/db/repositories/project-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/session-notification-prompt-repository.d.ts +17 -0
- package/dist/gateway/src/db/repositories/session-notification-prompt-repository.js +47 -0
- package/dist/gateway/src/db/repositories/session-notification-prompt-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/session-repository.js +16 -4
- package/dist/gateway/src/db/repositories/session-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.d.ts +11 -1
- package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.js +14 -1
- package/dist/gateway/src/db/repositories/session-runtime-confirmation-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/session-writer-lease-repository.d.ts +8 -1
- package/dist/gateway/src/db/repositories/session-writer-lease-repository.js +13 -3
- package/dist/gateway/src/db/repositories/session-writer-lease-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/skill-repository.d.ts +3 -0
- package/dist/gateway/src/db/repositories/skill-repository.js +3 -0
- package/dist/gateway/src/db/repositories/skill-repository.js.map +1 -1
- package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.d.ts +22 -0
- package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.js +58 -0
- package/dist/gateway/src/db/repositories/task-dispatch-evidence-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/task-report-repository.d.ts +19 -0
- package/dist/gateway/src/db/repositories/task-report-repository.js +35 -0
- package/dist/gateway/src/db/repositories/task-report-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/telegram-channel-repository.d.ts +36 -0
- package/dist/gateway/src/db/repositories/telegram-channel-repository.js +93 -0
- package/dist/gateway/src/db/repositories/telegram-channel-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/telegram-cursor-repository.d.ts +11 -0
- package/dist/gateway/src/db/repositories/telegram-cursor-repository.js +31 -0
- package/dist/gateway/src/db/repositories/telegram-cursor-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/telegram-integration-repository.d.ts +19 -0
- package/dist/gateway/src/db/repositories/telegram-integration-repository.js +84 -0
- package/dist/gateway/src/db/repositories/telegram-integration-repository.js.map +1 -0
- package/dist/gateway/src/db/repositories/template-repository.d.ts +15 -0
- package/dist/gateway/src/db/repositories/template-repository.js +22 -0
- package/dist/gateway/src/db/repositories/template-repository.js.map +1 -1
- package/dist/gateway/src/db/schema.d.ts +11355 -8305
- package/dist/gateway/src/db/schema.js +226 -29
- package/dist/gateway/src/db/schema.js.map +1 -1
- package/dist/gateway/src/lib/adapter-ids.d.ts +15 -0
- package/dist/gateway/src/lib/adapter-ids.js +24 -0
- package/dist/gateway/src/lib/adapter-ids.js.map +1 -0
- package/dist/gateway/src/lib/dependency-check.d.ts +5 -1
- package/dist/gateway/src/lib/dependency-check.js +65 -6
- package/dist/gateway/src/lib/dependency-check.js.map +1 -1
- package/dist/gateway/src/lib/redaction.js +8 -2
- package/dist/gateway/src/lib/redaction.js.map +1 -1
- package/dist/gateway/src/routes/adapters.d.ts +2 -1
- package/dist/gateway/src/routes/adapters.js +122 -2
- package/dist/gateway/src/routes/adapters.js.map +1 -1
- package/dist/gateway/src/routes/auth.d.ts +5 -1
- package/dist/gateway/src/routes/auth.js +10 -5
- package/dist/gateway/src/routes/auth.js.map +1 -1
- package/dist/gateway/src/routes/catalog.d.ts +2 -1
- package/dist/gateway/src/routes/catalog.js +41 -24
- package/dist/gateway/src/routes/catalog.js.map +1 -1
- package/dist/gateway/src/routes/channel-diagnostics.d.ts +7 -0
- package/dist/gateway/src/routes/channel-diagnostics.js +21 -0
- package/dist/gateway/src/routes/channel-diagnostics.js.map +1 -0
- package/dist/gateway/src/routes/cli-accounts.d.ts +13 -0
- package/dist/gateway/src/routes/cli-accounts.js +89 -0
- package/dist/gateway/src/routes/cli-accounts.js.map +1 -0
- package/dist/gateway/src/routes/cli-config.js +7 -4
- package/dist/gateway/src/routes/cli-config.js.map +1 -1
- package/dist/gateway/src/routes/copilot-channels.js +1 -1
- package/dist/gateway/src/routes/copilot-channels.js.map +1 -1
- package/dist/gateway/src/routes/copilot-development.js +18 -0
- package/dist/gateway/src/routes/copilot-development.js.map +1 -1
- package/dist/gateway/src/routes/copilot-metering.d.ts +4 -0
- package/dist/gateway/src/routes/copilot-metering.js +46 -0
- package/dist/gateway/src/routes/copilot-metering.js.map +1 -0
- package/dist/gateway/src/routes/copilot-skills.js +13 -0
- package/dist/gateway/src/routes/copilot-skills.js.map +1 -1
- package/dist/gateway/src/routes/copilot.js +97 -25
- package/dist/gateway/src/routes/copilot.js.map +1 -1
- package/dist/gateway/src/routes/feishu-notifications.d.ts +9 -0
- package/dist/gateway/src/routes/feishu-notifications.js +63 -0
- package/dist/gateway/src/routes/feishu-notifications.js.map +1 -0
- package/dist/gateway/src/routes/index.js +13 -1
- package/dist/gateway/src/routes/index.js.map +1 -1
- package/dist/gateway/src/routes/integrations-telegram.d.ts +11 -0
- package/dist/gateway/src/routes/integrations-telegram.js +117 -0
- package/dist/gateway/src/routes/integrations-telegram.js.map +1 -0
- package/dist/gateway/src/routes/mcp-tokens.js +36 -5
- package/dist/gateway/src/routes/mcp-tokens.js.map +1 -1
- package/dist/gateway/src/routes/mcp.d.ts +2 -1
- package/dist/gateway/src/routes/mcp.js +4 -2
- package/dist/gateway/src/routes/mcp.js.map +1 -1
- package/dist/gateway/src/routes/model-providers.js +47 -7
- package/dist/gateway/src/routes/model-providers.js.map +1 -1
- package/dist/gateway/src/routes/notifications.d.ts +1 -1
- package/dist/gateway/src/routes/notifications.js +3 -1
- package/dist/gateway/src/routes/notifications.js.map +1 -1
- package/dist/gateway/src/routes/platform-actions.js +2 -28
- package/dist/gateway/src/routes/platform-actions.js.map +1 -1
- package/dist/gateway/src/routes/project-management.js +22 -9
- package/dist/gateway/src/routes/project-management.js.map +1 -1
- package/dist/gateway/src/routes/project-manager.js +2 -1
- package/dist/gateway/src/routes/project-manager.js.map +1 -1
- package/dist/gateway/src/routes/projects.js +3 -2
- package/dist/gateway/src/routes/projects.js.map +1 -1
- package/dist/gateway/src/routes/runtime-settings.d.ts +4 -0
- package/dist/gateway/src/routes/runtime-settings.js +51 -0
- package/dist/gateway/src/routes/runtime-settings.js.map +1 -0
- package/dist/gateway/src/routes/session-hooks.d.ts +2 -1
- package/dist/gateway/src/routes/session-hooks.js +81 -15
- package/dist/gateway/src/routes/session-hooks.js.map +1 -1
- package/dist/gateway/src/routes/sessions.js +129 -36
- package/dist/gateway/src/routes/sessions.js.map +1 -1
- package/dist/gateway/src/routes/skill-registry.d.ts +4 -0
- package/dist/gateway/src/routes/skill-registry.js +77 -0
- package/dist/gateway/src/routes/skill-registry.js.map +1 -0
- package/dist/gateway/src/routes/skills.d.ts +2 -1
- package/dist/gateway/src/routes/skills.js +112 -49
- package/dist/gateway/src/routes/skills.js.map +1 -1
- package/dist/gateway/src/routes/templates.js +3 -2
- package/dist/gateway/src/routes/templates.js.map +1 -1
- package/dist/gateway/src/runtime/start-gateway.js +25 -1
- package/dist/gateway/src/runtime/start-gateway.js.map +1 -1
- package/dist/gateway/src/server.d.ts +18 -2
- package/dist/gateway/src/server.js +47 -8
- package/dist/gateway/src/server.js.map +1 -1
- package/dist/gateway/src/services/adapter-discovery.d.ts +2 -1
- package/dist/gateway/src/services/adapter-discovery.js +16 -2
- package/dist/gateway/src/services/adapter-discovery.js.map +1 -1
- package/dist/gateway/src/services/adapter-updates.d.ts +44 -0
- package/dist/gateway/src/services/adapter-updates.js +344 -0
- package/dist/gateway/src/services/adapter-updates.js.map +1 -0
- package/dist/gateway/src/services/agent/agent-stack.js +2 -0
- package/dist/gateway/src/services/agent/agent-stack.js.map +1 -1
- package/dist/gateway/src/services/agent/approval-clock.d.ts +9 -0
- package/dist/gateway/src/services/agent/approval-clock.js +36 -0
- package/dist/gateway/src/services/agent/approval-clock.js.map +1 -0
- package/dist/gateway/src/services/agent/catalog-search.d.ts +4 -0
- package/dist/gateway/src/services/agent/catalog-search.js +29 -0
- package/dist/gateway/src/services/agent/catalog-search.js.map +1 -0
- package/dist/gateway/src/services/agent/context-recovery.d.ts +15 -0
- package/dist/gateway/src/services/agent/context-recovery.js +34 -0
- package/dist/gateway/src/services/agent/context-recovery.js.map +1 -0
- package/dist/gateway/src/services/agent/context.d.ts +9 -3
- package/dist/gateway/src/services/agent/context.js +129 -42
- package/dist/gateway/src/services/agent/context.js.map +1 -1
- package/dist/gateway/src/services/agent/conversation-log.js +16 -3
- package/dist/gateway/src/services/agent/conversation-log.js.map +1 -1
- package/dist/gateway/src/services/agent/development-repair.d.ts +15 -0
- package/dist/gateway/src/services/agent/development-repair.js +115 -0
- package/dist/gateway/src/services/agent/development-repair.js.map +1 -0
- package/dist/gateway/src/services/agent/dispatch-supervisor.d.ts +3 -16
- package/dist/gateway/src/services/agent/dispatch-supervisor.js +31 -51
- package/dist/gateway/src/services/agent/dispatch-supervisor.js.map +1 -1
- package/dist/gateway/src/services/agent/followups.d.ts +22 -0
- package/dist/gateway/src/services/agent/followups.js +80 -0
- package/dist/gateway/src/services/agent/followups.js.map +1 -0
- package/dist/gateway/src/services/agent/llm-anthropic.js +17 -8
- package/dist/gateway/src/services/agent/llm-anthropic.js.map +1 -1
- package/dist/gateway/src/services/agent/llm-client.d.ts +25 -0
- package/dist/gateway/src/services/agent/llm-client.js +195 -63
- package/dist/gateway/src/services/agent/llm-client.js.map +1 -1
- package/dist/gateway/src/services/agent/llm-connection-error.d.ts +22 -0
- package/dist/gateway/src/services/agent/llm-connection-error.js +64 -0
- package/dist/gateway/src/services/agent/llm-connection-error.js.map +1 -0
- package/dist/gateway/src/services/agent/llm-openai.d.ts +4 -0
- package/dist/gateway/src/services/agent/llm-openai.js +69 -9
- package/dist/gateway/src/services/agent/llm-openai.js.map +1 -1
- package/dist/gateway/src/services/agent/llm-public-fetch.d.ts +10 -1
- package/dist/gateway/src/services/agent/llm-public-fetch.js +182 -51
- package/dist/gateway/src/services/agent/llm-public-fetch.js.map +1 -1
- package/dist/gateway/src/services/agent/llm-replay.d.ts +30 -0
- package/dist/gateway/src/services/agent/llm-replay.js +21 -0
- package/dist/gateway/src/services/agent/llm-replay.js.map +1 -0
- package/dist/gateway/src/services/agent/llm-response.d.ts +6 -0
- package/dist/gateway/src/services/agent/llm-response.js +40 -3
- package/dist/gateway/src/services/agent/llm-response.js.map +1 -1
- package/dist/gateway/src/services/agent/memory-search-index.d.ts +30 -0
- package/dist/gateway/src/services/agent/memory-search-index.js +63 -0
- package/dist/gateway/src/services/agent/memory-search-index.js.map +1 -0
- package/dist/gateway/src/services/agent/memory.d.ts +1 -0
- package/dist/gateway/src/services/agent/memory.js +43 -57
- package/dist/gateway/src/services/agent/memory.js.map +1 -1
- package/dist/gateway/src/services/agent/model-metering.d.ts +32 -0
- package/dist/gateway/src/services/agent/model-metering.js +62 -0
- package/dist/gateway/src/services/agent/model-metering.js.map +1 -0
- package/dist/gateway/src/services/agent/model-transport.d.ts +2 -0
- package/dist/gateway/src/services/agent/model-transport.js +22 -0
- package/dist/gateway/src/services/agent/model-transport.js.map +1 -0
- package/dist/gateway/src/services/agent/no-progress.d.ts +4 -0
- package/dist/gateway/src/services/agent/no-progress.js +57 -0
- package/dist/gateway/src/services/agent/no-progress.js.map +1 -0
- package/dist/gateway/src/services/agent/notification-context.d.ts +5 -0
- package/dist/gateway/src/services/agent/notification-context.js +72 -0
- package/dist/gateway/src/services/agent/notification-context.js.map +1 -0
- package/dist/gateway/src/services/agent/orchestrator-types.d.ts +12 -3
- package/dist/gateway/src/services/agent/orchestrator.d.ts +9 -0
- package/dist/gateway/src/services/agent/orchestrator.js +305 -64
- package/dist/gateway/src/services/agent/orchestrator.js.map +1 -1
- package/dist/gateway/src/services/agent/platform-access.d.ts +5 -1
- package/dist/gateway/src/services/agent/platform-access.js +7 -4
- package/dist/gateway/src/services/agent/platform-access.js.map +1 -1
- package/dist/gateway/src/services/agent/provider-error.d.ts +17 -0
- package/dist/gateway/src/services/agent/provider-error.js +66 -0
- package/dist/gateway/src/services/agent/provider-error.js.map +1 -0
- package/dist/gateway/src/services/agent/provisional-text.d.ts +13 -0
- package/dist/gateway/src/services/agent/provisional-text.js +46 -0
- package/dist/gateway/src/services/agent/provisional-text.js.map +1 -0
- package/dist/gateway/src/services/agent/public-text-stream.d.ts +12 -0
- package/dist/gateway/src/services/agent/public-text-stream.js +36 -0
- package/dist/gateway/src/services/agent/public-text-stream.js.map +1 -0
- package/dist/gateway/src/services/agent/reactive-loop.js +44 -5
- package/dist/gateway/src/services/agent/reactive-loop.js.map +1 -1
- package/dist/gateway/src/services/agent/read-batch.d.ts +3 -0
- package/dist/gateway/src/services/agent/read-batch.js +19 -0
- package/dist/gateway/src/services/agent/read-batch.js.map +1 -0
- package/dist/gateway/src/services/agent/recall-query.d.ts +6 -0
- package/dist/gateway/src/services/agent/recall-query.js +29 -0
- package/dist/gateway/src/services/agent/recall-query.js.map +1 -0
- package/dist/gateway/src/services/agent/redaction.d.ts +10 -0
- package/dist/gateway/src/services/agent/redaction.js +75 -6
- package/dist/gateway/src/services/agent/redaction.js.map +1 -1
- package/dist/gateway/src/services/agent/restricted-runs.d.ts +5 -0
- package/dist/gateway/src/services/agent/restricted-runs.js +22 -0
- package/dist/gateway/src/services/agent/restricted-runs.js.map +1 -0
- package/dist/gateway/src/services/agent/run-governance.d.ts +44 -0
- package/dist/gateway/src/services/agent/run-governance.js +92 -0
- package/dist/gateway/src/services/agent/run-governance.js.map +1 -0
- package/dist/gateway/src/services/agent/run-ledger.d.ts +21 -4
- package/dist/gateway/src/services/agent/run-ledger.js +113 -46
- package/dist/gateway/src/services/agent/run-ledger.js.map +1 -1
- package/dist/gateway/src/services/agent/runtime.js +53 -7
- package/dist/gateway/src/services/agent/runtime.js.map +1 -1
- package/dist/gateway/src/services/agent/security-policy.js +25 -1
- package/dist/gateway/src/services/agent/security-policy.js.map +1 -1
- package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.d.ts +2 -0
- package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js +41 -0
- package/dist/gateway/src/services/agent/skills/copilot-skill-baselines.js.map +1 -0
- package/dist/gateway/src/services/agent/skills/copilot-skill-service.d.ts +7 -1
- package/dist/gateway/src/services/agent/skills/copilot-skill-service.js +37 -20
- package/dist/gateway/src/services/agent/skills/copilot-skill-service.js.map +1 -1
- package/dist/gateway/src/services/agent/skills/copilot-skills.js +17 -17
- package/dist/gateway/src/services/agent/skills/copilot-skills.js.map +1 -1
- package/dist/gateway/src/services/agent/task-reports.d.ts +3 -0
- package/dist/gateway/src/services/agent/task-reports.js +78 -0
- package/dist/gateway/src/services/agent/task-reports.js.map +1 -0
- package/dist/gateway/src/services/agent/task-review.d.ts +12 -0
- package/dist/gateway/src/services/agent/task-review.js +67 -0
- package/dist/gateway/src/services/agent/task-review.js.map +1 -0
- package/dist/gateway/src/services/agent/tool-artifact-policy.d.ts +7 -0
- package/dist/gateway/src/services/agent/tool-artifact-policy.js +9 -0
- package/dist/gateway/src/services/agent/tool-artifact-policy.js.map +1 -0
- package/dist/gateway/src/services/agent/tool-availability.d.ts +0 -1
- package/dist/gateway/src/services/agent/tool-availability.js +3 -6
- package/dist/gateway/src/services/agent/tool-availability.js.map +1 -1
- package/dist/gateway/src/services/agent/tool-discovery.d.ts +1 -1
- package/dist/gateway/src/services/agent/tool-discovery.js +5 -10
- package/dist/gateway/src/services/agent/tool-discovery.js.map +1 -1
- package/dist/gateway/src/services/agent/tool-registry.d.ts +1 -0
- package/dist/gateway/src/services/agent/tool-registry.js +26 -10
- package/dist/gateway/src/services/agent/tool-registry.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/development.js +2 -2
- package/dist/gateway/src/services/agent/tools/development.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/discovery.js +1 -1
- package/dist/gateway/src/services/agent/tools/discovery.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/index.js +8 -0
- package/dist/gateway/src/services/agent/tools/index.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/memory.js +3 -3
- package/dist/gateway/src/services/agent/tools/memory.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/platform-management.js +3 -4
- package/dist/gateway/src/services/agent/tools/platform-management.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/project-diff.d.ts +2 -0
- package/dist/gateway/src/services/agent/tools/project-diff.js +17 -0
- package/dist/gateway/src/services/agent/tools/project-diff.js.map +1 -0
- package/dist/gateway/src/services/agent/tools/project-manager.js +40 -1
- package/dist/gateway/src/services/agent/tools/project-manager.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/projects.d.ts +2 -0
- package/dist/gateway/src/services/agent/tools/projects.js +44 -3
- package/dist/gateway/src/services/agent/tools/projects.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/research.d.ts +2 -0
- package/dist/gateway/src/services/agent/tools/research.js +15 -0
- package/dist/gateway/src/services/agent/tools/research.js.map +1 -0
- package/dist/gateway/src/services/agent/tools/sessions.js +38 -10
- package/dist/gateway/src/services/agent/tools/sessions.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/skills.js +2 -2
- package/dist/gateway/src/services/agent/tools/skills.js.map +1 -1
- package/dist/gateway/src/services/agent/tools/source-search.d.ts +2 -0
- package/dist/gateway/src/services/agent/tools/source-search.js +44 -0
- package/dist/gateway/src/services/agent/tools/source-search.js.map +1 -0
- package/dist/gateway/src/services/agent/tools/terminal.d.ts +2 -0
- package/dist/gateway/src/services/agent/tools/terminal.js +83 -0
- package/dist/gateway/src/services/agent/tools/terminal.js.map +1 -0
- package/dist/gateway/src/services/agent/tools/tool-results.js +24 -11
- package/dist/gateway/src/services/agent/tools/tool-results.js.map +1 -1
- package/dist/gateway/src/services/agent/types.d.ts +5 -0
- package/dist/gateway/src/services/agent/types.js.map +1 -1
- package/dist/gateway/src/services/automation/delivery.js +2 -2
- package/dist/gateway/src/services/automation/delivery.js.map +1 -1
- package/dist/gateway/src/services/builtin-skills.d.ts +1 -1
- package/dist/gateway/src/services/builtin-skills.js +1 -7
- package/dist/gateway/src/services/builtin-skills.js.map +1 -1
- package/dist/gateway/src/services/catalog-sync.js +1 -1
- package/dist/gateway/src/services/catalog-sync.js.map +1 -1
- package/dist/gateway/src/services/channels/channel-commands.d.ts +19 -0
- package/dist/gateway/src/services/channels/channel-commands.js +106 -0
- package/dist/gateway/src/services/channels/channel-commands.js.map +1 -0
- package/dist/gateway/src/services/channels/channel-diagnostics.d.ts +17 -0
- package/dist/gateway/src/services/channels/channel-diagnostics.js +204 -0
- package/dist/gateway/src/services/channels/channel-diagnostics.js.map +1 -0
- package/dist/gateway/src/services/channels/channel-identity-service.d.ts +81 -21
- package/dist/gateway/src/services/channels/channel-identity-service.js +84 -32
- package/dist/gateway/src/services/channels/channel-identity-service.js.map +1 -1
- package/dist/gateway/src/services/channels/channel-model-command.d.ts +13 -0
- package/dist/gateway/src/services/channels/channel-model-command.js +108 -0
- package/dist/gateway/src/services/channels/channel-model-command.js.map +1 -0
- package/dist/gateway/src/services/channels/channel-run-authority.d.ts +3 -0
- package/dist/gateway/src/services/channels/channel-run-authority.js +26 -7
- package/dist/gateway/src/services/channels/channel-run-authority.js.map +1 -1
- package/dist/gateway/src/services/channels/channel-run-scope.d.ts +64 -0
- package/dist/gateway/src/services/channels/channel-run-scope.js +208 -0
- package/dist/gateway/src/services/channels/channel-run-scope.js.map +1 -0
- package/dist/gateway/src/services/channels/feishu-approval.d.ts +28 -0
- package/dist/gateway/src/services/channels/feishu-approval.js +152 -0
- package/dist/gateway/src/services/channels/feishu-approval.js.map +1 -0
- package/dist/gateway/src/services/channels/feishu-typing-worker.d.ts +16 -0
- package/dist/gateway/src/services/channels/feishu-typing-worker.js +100 -0
- package/dist/gateway/src/services/channels/feishu-typing-worker.js.map +1 -0
- package/dist/gateway/src/services/channels/native-channel-delivery.d.ts +6 -1
- package/dist/gateway/src/services/channels/native-channel-delivery.js +58 -7
- package/dist/gateway/src/services/channels/native-channel-delivery.js.map +1 -1
- package/dist/gateway/src/services/channels/native-channel-inbox.d.ts +35 -0
- package/dist/gateway/src/services/channels/native-channel-inbox.js +123 -15
- package/dist/gateway/src/services/channels/native-channel-inbox.js.map +1 -1
- package/dist/gateway/src/services/channels/native-feishu-runtime.d.ts +5 -1
- package/dist/gateway/src/services/channels/native-feishu-runtime.js +73 -20
- package/dist/gateway/src/services/channels/native-feishu-runtime.js.map +1 -1
- package/dist/gateway/src/services/channels/native-telegram-runtime.d.ts +34 -0
- package/dist/gateway/src/services/channels/native-telegram-runtime.js +139 -0
- package/dist/gateway/src/services/channels/native-telegram-runtime.js.map +1 -0
- package/dist/gateway/src/services/claude-notification-settings.d.ts +2 -0
- package/dist/gateway/src/services/claude-notification-settings.js +8 -0
- package/dist/gateway/src/services/claude-notification-settings.js.map +1 -1
- package/dist/gateway/src/services/claude-route/forwarder.js +4 -2
- package/dist/gateway/src/services/claude-route/forwarder.js.map +1 -1
- package/dist/gateway/src/services/cli-account/claude-account.d.ts +14 -0
- package/dist/gateway/src/services/cli-account/claude-account.js +197 -0
- package/dist/gateway/src/services/cli-account/claude-account.js.map +1 -0
- package/dist/gateway/src/services/cli-account/codex-account.d.ts +11 -0
- package/dist/gateway/src/services/cli-account/codex-account.js +140 -0
- package/dist/gateway/src/services/cli-account/codex-account.js.map +1 -0
- package/dist/gateway/src/services/cli-account/index.d.ts +9 -0
- package/dist/gateway/src/services/cli-account/index.js +27 -0
- package/dist/gateway/src/services/cli-account/index.js.map +1 -0
- package/dist/gateway/src/services/cli-account/kimi-account.d.ts +12 -0
- package/dist/gateway/src/services/cli-account/kimi-account.js +217 -0
- package/dist/gateway/src/services/cli-account/kimi-account.js.map +1 -0
- package/dist/gateway/src/services/cli-account/mcode-account.d.ts +47 -0
- package/dist/gateway/src/services/cli-account/mcode-account.js +249 -0
- package/dist/gateway/src/services/cli-account/mcode-account.js.map +1 -0
- package/dist/gateway/src/services/cli-account/probe-runner.d.ts +81 -0
- package/dist/gateway/src/services/cli-account/probe-runner.js +181 -0
- package/dist/gateway/src/services/cli-account/probe-runner.js.map +1 -0
- package/dist/gateway/src/services/cli-account/types.d.ts +49 -0
- package/dist/gateway/src/services/cli-account/types.js +2 -0
- package/dist/gateway/src/services/cli-account/types.js.map +1 -0
- package/dist/gateway/src/services/cli-config-apply.d.ts +10 -2
- package/dist/gateway/src/services/cli-config-apply.js +184 -15
- package/dist/gateway/src/services/cli-config-apply.js.map +1 -1
- package/dist/gateway/src/services/cli-config-fields.js +30 -1
- package/dist/gateway/src/services/cli-config-fields.js.map +1 -1
- package/dist/gateway/src/services/cli-config-target.js +20 -1
- package/dist/gateway/src/services/cli-config-target.js.map +1 -1
- package/dist/gateway/src/services/cli-config-yaml.d.ts +37 -0
- package/dist/gateway/src/services/cli-config-yaml.js +77 -0
- package/dist/gateway/src/services/cli-config-yaml.js.map +1 -0
- package/dist/gateway/src/services/cli-config.js +124 -2
- package/dist/gateway/src/services/cli-config.js.map +1 -1
- package/dist/gateway/src/services/cli-notification-policy.d.ts +2 -0
- package/dist/gateway/src/services/cli-notification-policy.js +19 -0
- package/dist/gateway/src/services/cli-notification-policy.js.map +1 -0
- package/dist/gateway/src/services/cli-notification-settings.js +98 -14
- package/dist/gateway/src/services/cli-notification-settings.js.map +1 -1
- package/dist/gateway/src/services/codex-config-probe.d.ts +18 -0
- package/dist/gateway/src/services/codex-config-probe.js +149 -0
- package/dist/gateway/src/services/codex-config-probe.js.map +1 -0
- package/dist/gateway/src/services/collaboration/github-pull-requests.d.ts +4 -4
- package/dist/gateway/src/services/dashboard-summary.d.ts +6 -0
- package/dist/gateway/src/services/dashboard-summary.js +7 -2
- package/dist/gateway/src/services/dashboard-summary.js.map +1 -1
- package/dist/gateway/src/services/development/authority.d.ts +4 -0
- package/dist/gateway/src/services/development/authority.js +56 -6
- package/dist/gateway/src/services/development/authority.js.map +1 -1
- package/dist/gateway/src/services/development/commands.d.ts +2 -0
- package/dist/gateway/src/services/development/commands.js +27 -5
- package/dist/gateway/src/services/development/commands.js.map +1 -1
- package/dist/gateway/src/services/development/contracts.d.ts +10 -0
- package/dist/gateway/src/services/development/contracts.js +1 -1
- package/dist/gateway/src/services/development/contracts.js.map +1 -1
- package/dist/gateway/src/services/development/execution-identity.d.ts +78 -0
- package/dist/gateway/src/services/development/execution-identity.js +33 -0
- package/dist/gateway/src/services/development/execution-identity.js.map +1 -0
- package/dist/gateway/src/services/development/project-diff.d.ts +26 -0
- package/dist/gateway/src/services/development/project-diff.js +194 -0
- package/dist/gateway/src/services/development/project-diff.js.map +1 -0
- package/dist/gateway/src/services/development/project-git-status.d.ts +33 -0
- package/dist/gateway/src/services/development/project-git-status.js +232 -0
- package/dist/gateway/src/services/development/project-git-status.js.map +1 -0
- package/dist/gateway/src/services/development/reconciliation.d.ts +11 -0
- package/dist/gateway/src/services/development/reconciliation.js +93 -0
- package/dist/gateway/src/services/development/reconciliation.js.map +1 -0
- package/dist/gateway/src/services/development/repair-scope.d.ts +43 -0
- package/dist/gateway/src/services/development/repair-scope.js +81 -0
- package/dist/gateway/src/services/development/repair-scope.js.map +1 -0
- package/dist/gateway/src/services/development/runtime.js +16 -18
- package/dist/gateway/src/services/development/runtime.js.map +1 -1
- package/dist/gateway/src/services/development/sandbox-supervisor.js +39 -14
- package/dist/gateway/src/services/development/sandbox-supervisor.js.map +1 -1
- package/dist/gateway/src/services/development/sandbox.d.ts +6 -0
- package/dist/gateway/src/services/development/sandbox.js +43 -6
- package/dist/gateway/src/services/development/sandbox.js.map +1 -1
- package/dist/gateway/src/services/development/state-directory.d.ts +5 -0
- package/dist/gateway/src/services/development/state-directory.js +23 -0
- package/dist/gateway/src/services/development/state-directory.js.map +1 -0
- package/dist/gateway/src/services/development/workspace.d.ts +4 -2
- package/dist/gateway/src/services/development/workspace.js +9 -8
- package/dist/gateway/src/services/development/workspace.js.map +1 -1
- package/dist/gateway/src/services/event-bus.d.ts +46 -1
- package/dist/gateway/src/services/event-bus.js +38 -0
- package/dist/gateway/src/services/event-bus.js.map +1 -1
- package/dist/gateway/src/services/extensions/connection-tools.js +1 -1
- package/dist/gateway/src/services/extensions/connection-tools.js.map +1 -1
- package/dist/gateway/src/services/extensions/public-fetch.d.ts +1 -0
- package/dist/gateway/src/services/extensions/public-fetch.js +1 -1
- package/dist/gateway/src/services/extensions/public-fetch.js.map +1 -1
- package/dist/gateway/src/services/github-skill-source.d.ts +102 -0
- package/dist/gateway/src/services/github-skill-source.js +519 -0
- package/dist/gateway/src/services/github-skill-source.js.map +1 -0
- package/dist/gateway/src/services/integrations/feishu-event-normalizer.js +1 -1
- package/dist/gateway/src/services/integrations/feishu-event-normalizer.js.map +1 -1
- package/dist/gateway/src/services/integrations/feishu-markdown.d.ts +9 -0
- package/dist/gateway/src/services/integrations/feishu-markdown.js +169 -0
- package/dist/gateway/src/services/integrations/feishu-markdown.js.map +1 -0
- package/dist/gateway/src/services/integrations/feishu-native-sender.d.ts +1 -1
- package/dist/gateway/src/services/integrations/feishu-native-sender.js +53 -8
- package/dist/gateway/src/services/integrations/feishu-native-sender.js.map +1 -1
- package/dist/gateway/src/services/integrations/feishu-reactions.d.ts +35 -0
- package/dist/gateway/src/services/integrations/feishu-reactions.js +100 -0
- package/dist/gateway/src/services/integrations/feishu-reactions.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-bot-api.d.ts +33 -0
- package/dist/gateway/src/services/integrations/telegram-bot-api.js +103 -0
- package/dist/gateway/src/services/integrations/telegram-bot-api.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-connection-supervisor.d.ts +66 -0
- package/dist/gateway/src/services/integrations/telegram-connection-supervisor.js +250 -0
- package/dist/gateway/src/services/integrations/telegram-connection-supervisor.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-error-redaction.d.ts +1 -0
- package/dist/gateway/src/services/integrations/telegram-error-redaction.js +19 -0
- package/dist/gateway/src/services/integrations/telegram-error-redaction.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-event-normalizer.d.ts +7 -0
- package/dist/gateway/src/services/integrations/telegram-event-normalizer.js +84 -0
- package/dist/gateway/src/services/integrations/telegram-event-normalizer.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-native-sender.d.ts +8 -0
- package/dist/gateway/src/services/integrations/telegram-native-sender.js +55 -0
- package/dist/gateway/src/services/integrations/telegram-native-sender.js.map +1 -0
- package/dist/gateway/src/services/integrations/telegram-polling-client.d.ts +35 -0
- package/dist/gateway/src/services/integrations/telegram-polling-client.js +112 -0
- package/dist/gateway/src/services/integrations/telegram-polling-client.js.map +1 -0
- package/dist/gateway/src/services/local-skills.d.ts +1 -0
- package/dist/gateway/src/services/local-skills.js +5 -2
- package/dist/gateway/src/services/local-skills.js.map +1 -1
- package/dist/gateway/src/services/mcode-notification-preference.d.ts +49 -0
- package/dist/gateway/src/services/mcode-notification-preference.js +91 -0
- package/dist/gateway/src/services/mcode-notification-preference.js.map +1 -0
- package/dist/gateway/src/services/mcp/mcp-server.d.ts +2 -1
- package/dist/gateway/src/services/mcp/mcp-server.js +197 -22
- package/dist/gateway/src/services/mcp/mcp-server.js.map +1 -1
- package/dist/gateway/src/services/mcp/project-workflow.d.ts +25 -0
- package/dist/gateway/src/services/mcp/project-workflow.js +81 -0
- package/dist/gateway/src/services/mcp/project-workflow.js.map +1 -0
- package/dist/gateway/src/services/mcp/token-authority.d.ts +6 -0
- package/dist/gateway/src/services/mcp/token-authority.js +143 -0
- package/dist/gateway/src/services/mcp/token-authority.js.map +1 -0
- package/dist/gateway/src/services/model-capability-projection.d.ts +22 -0
- package/dist/gateway/src/services/model-capability-projection.js +46 -0
- package/dist/gateway/src/services/model-capability-projection.js.map +1 -0
- package/dist/gateway/src/services/model-endpoint-health.d.ts +1 -0
- package/dist/gateway/src/services/model-endpoint-health.js +2 -1
- package/dist/gateway/src/services/model-endpoint-health.js.map +1 -1
- package/dist/gateway/src/services/native-directory-picker.js +42 -12
- package/dist/gateway/src/services/native-directory-picker.js.map +1 -1
- package/dist/gateway/src/services/network-policy.d.ts +12 -4
- package/dist/gateway/src/services/network-policy.js +40 -9
- package/dist/gateway/src/services/network-policy.js.map +1 -1
- package/dist/gateway/src/services/notification-dedupe.d.ts +41 -0
- package/dist/gateway/src/services/notification-dedupe.js +86 -0
- package/dist/gateway/src/services/notification-dedupe.js.map +1 -0
- package/dist/gateway/src/services/notification-events.js +50 -32
- package/dist/gateway/src/services/notification-events.js.map +1 -1
- package/dist/gateway/src/services/notification-service.d.ts +9 -0
- package/dist/gateway/src/services/notification-service.js +19 -0
- package/dist/gateway/src/services/notification-service.js.map +1 -0
- package/dist/gateway/src/services/notifications/cli-observation.d.ts +138 -0
- package/dist/gateway/src/services/notifications/cli-observation.js +62 -0
- package/dist/gateway/src/services/notifications/cli-observation.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notification-card.d.ts +18 -0
- package/dist/gateway/src/services/notifications/feishu-notification-card.js +133 -0
- package/dist/gateway/src/services/notifications/feishu-notification-card.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notification-directory-client.d.ts +14 -0
- package/dist/gateway/src/services/notifications/feishu-notification-directory-client.js +50 -0
- package/dist/gateway/src/services/notifications/feishu-notification-directory-client.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notification-error.d.ts +4 -0
- package/dist/gateway/src/services/notifications/feishu-notification-error.js +8 -0
- package/dist/gateway/src/services/notifications/feishu-notification-error.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notification-targets.d.ts +27 -0
- package/dist/gateway/src/services/notifications/feishu-notification-targets.js +101 -0
- package/dist/gateway/src/services/notifications/feishu-notification-targets.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notification-worker.d.ts +14 -0
- package/dist/gateway/src/services/notifications/feishu-notification-worker.js +117 -0
- package/dist/gateway/src/services/notifications/feishu-notification-worker.js.map +1 -0
- package/dist/gateway/src/services/notifications/feishu-notifications.d.ts +32 -0
- package/dist/gateway/src/services/notifications/feishu-notifications.js +139 -0
- package/dist/gateway/src/services/notifications/feishu-notifications.js.map +1 -0
- package/dist/gateway/src/services/notifications/observe-cli-hook.d.ts +6 -0
- package/dist/gateway/src/services/notifications/observe-cli-hook.js +55 -0
- package/dist/gateway/src/services/notifications/observe-cli-hook.js.map +1 -0
- package/dist/gateway/src/services/opencode-notification-settings.d.ts +1 -1
- package/dist/gateway/src/services/opencode-notification-settings.js +143 -13
- package/dist/gateway/src/services/opencode-notification-settings.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/actions.d.ts +14 -55
- package/dist/gateway/src/services/platform-commands/actions.js +192 -131
- package/dist/gateway/src/services/platform-commands/actions.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/agent-actions.js +1 -1
- package/dist/gateway/src/services/platform-commands/agent-actions.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/agent-scope.d.ts +0 -2
- package/dist/gateway/src/services/platform-commands/agent-scope.js +10 -38
- package/dist/gateway/src/services/platform-commands/agent-scope.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/catalog.d.ts +51 -8
- package/dist/gateway/src/services/platform-commands/catalog.js +184 -65
- package/dist/gateway/src/services/platform-commands/catalog.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/receipt-projection.js +4 -0
- package/dist/gateway/src/services/platform-commands/receipt-projection.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/session-commands.js +89 -38
- package/dist/gateway/src/services/platform-commands/session-commands.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/tool-commands.js +2 -1
- package/dist/gateway/src/services/platform-commands/tool-commands.js.map +1 -1
- package/dist/gateway/src/services/platform-commands/types.d.ts +22 -1
- package/dist/gateway/src/services/programmatic-terminal-submit.d.ts +7 -0
- package/dist/gateway/src/services/programmatic-terminal-submit.js +68 -9
- package/dist/gateway/src/services/programmatic-terminal-submit.js.map +1 -1
- package/dist/gateway/src/services/project-ai-config.js +6 -0
- package/dist/gateway/src/services/project-ai-config.js.map +1 -1
- package/dist/gateway/src/services/project-config-files.d.ts +1 -1
- package/dist/gateway/src/services/project-config-files.js +10 -1
- package/dist/gateway/src/services/project-config-files.js.map +1 -1
- package/dist/gateway/src/services/project-config-render.d.ts +2 -1
- package/dist/gateway/src/services/project-config-render.js +3 -2
- package/dist/gateway/src/services/project-config-render.js.map +1 -1
- package/dist/gateway/src/services/project-git.js +3 -7
- package/dist/gateway/src/services/project-git.js.map +1 -1
- package/dist/gateway/src/services/project-manager/access.js +1 -1
- package/dist/gateway/src/services/project-manager/access.js.map +1 -1
- package/dist/gateway/src/services/project-manager/management.d.ts +4 -3
- package/dist/gateway/src/services/project-manager/management.js +2 -2
- package/dist/gateway/src/services/project-manager/management.js.map +1 -1
- package/dist/gateway/src/services/project-manager/task-execution.d.ts +92 -0
- package/dist/gateway/src/services/project-manager/task-execution.js +142 -0
- package/dist/gateway/src/services/project-manager/task-execution.js.map +1 -0
- package/dist/gateway/src/services/project-manager/task-packets.js +1 -2
- package/dist/gateway/src/services/project-manager/task-packets.js.map +1 -1
- package/dist/gateway/src/services/project-manager/task-progress.d.ts +124 -0
- package/dist/gateway/src/services/project-manager/task-progress.js +154 -0
- package/dist/gateway/src/services/project-manager/task-progress.js.map +1 -0
- package/dist/gateway/src/services/provider-balance.d.ts +1 -0
- package/dist/gateway/src/services/provider-balance.js +2 -1
- package/dist/gateway/src/services/provider-balance.js.map +1 -1
- package/dist/gateway/src/services/provider-capabilities.js +11 -0
- package/dist/gateway/src/services/provider-capabilities.js.map +1 -1
- package/dist/gateway/src/services/provider-model-fetch.d.ts +1 -0
- package/dist/gateway/src/services/provider-model-fetch.js +2 -1
- package/dist/gateway/src/services/provider-model-fetch.js.map +1 -1
- package/dist/gateway/src/services/redaction.d.ts +2 -0
- package/dist/gateway/src/services/redaction.js +6 -3
- package/dist/gateway/src/services/redaction.js.map +1 -1
- package/dist/gateway/src/services/runtime-settings.d.ts +50 -0
- package/dist/gateway/src/services/runtime-settings.js +206 -0
- package/dist/gateway/src/services/runtime-settings.js.map +1 -0
- package/dist/gateway/src/services/session-launch-plan.d.ts +53 -0
- package/dist/gateway/src/services/session-launch-plan.js +143 -3
- package/dist/gateway/src/services/session-launch-plan.js.map +1 -1
- package/dist/gateway/src/services/session-manager.d.ts +64 -2
- package/dist/gateway/src/services/session-manager.js +270 -41
- package/dist/gateway/src/services/session-manager.js.map +1 -1
- package/dist/gateway/src/services/session-server/hello-handshake.d.ts +1 -1
- package/dist/gateway/src/services/session-server/hello-handshake.js +2 -2
- package/dist/gateway/src/services/session-server/hello-handshake.js.map +1 -1
- package/dist/gateway/src/services/session-server/index.d.ts +1 -1
- package/dist/gateway/src/services/session-server/index.js.map +1 -1
- package/dist/gateway/src/services/session-server/ipc-protocol.d.ts +14 -1
- package/dist/gateway/src/services/session-server/ipc-protocol.js.map +1 -1
- package/dist/gateway/src/services/session-server/ipc-server.d.ts +5 -0
- package/dist/gateway/src/services/session-server/ipc-server.js +28 -0
- package/dist/gateway/src/services/session-server/ipc-server.js.map +1 -1
- package/dist/gateway/src/services/session-server/platform-adapter.d.ts +10 -0
- package/dist/gateway/src/services/session-server/platform-adapter.js +159 -15
- package/dist/gateway/src/services/session-server/platform-adapter.js.map +1 -1
- package/dist/gateway/src/services/session-server/session-handle.d.ts +8 -1
- package/dist/gateway/src/services/session-server/session-handle.js +9 -1
- package/dist/gateway/src/services/session-server/session-handle.js.map +1 -1
- package/dist/gateway/src/services/session-server/session-server.d.ts +14 -0
- package/dist/gateway/src/services/session-server/session-server.js +39 -2
- package/dist/gateway/src/services/session-server/session-server.js.map +1 -1
- package/dist/gateway/src/services/session-server/terminal-notification-scanner.d.ts +80 -0
- package/dist/gateway/src/services/session-server/terminal-notification-scanner.js +253 -0
- package/dist/gateway/src/services/session-server/terminal-notification-scanner.js.map +1 -0
- package/dist/gateway/src/services/session-server/terminal-screen.d.ts +9 -3
- package/dist/gateway/src/services/session-server/terminal-screen.js +10 -4
- package/dist/gateway/src/services/session-server/terminal-screen.js.map +1 -1
- package/dist/gateway/src/services/session-server-client.d.ts +8 -0
- package/dist/gateway/src/services/session-server-client.js +22 -1
- package/dist/gateway/src/services/session-server-client.js.map +1 -1
- package/dist/gateway/src/services/session-stop-target.d.ts +79 -0
- package/dist/gateway/src/services/session-stop-target.js +115 -0
- package/dist/gateway/src/services/session-stop-target.js.map +1 -0
- package/dist/gateway/src/services/session-writer-leases.d.ts +12 -0
- package/dist/gateway/src/services/session-writer-leases.js +25 -2
- package/dist/gateway/src/services/session-writer-leases.js.map +1 -1
- package/dist/gateway/src/services/shell-command-execution.d.ts +72 -0
- package/dist/gateway/src/services/shell-command-execution.js +448 -0
- package/dist/gateway/src/services/shell-command-execution.js.map +1 -0
- package/dist/gateway/src/services/skill-discovery.d.ts +46 -0
- package/dist/gateway/src/services/skill-discovery.js +363 -0
- package/dist/gateway/src/services/skill-discovery.js.map +1 -0
- package/dist/gateway/src/services/skill-fs-install.d.ts +24 -0
- package/dist/gateway/src/services/skill-fs-install.js +150 -0
- package/dist/gateway/src/services/skill-fs-install.js.map +1 -0
- package/dist/gateway/src/services/skill-install-service.d.ts +72 -0
- package/dist/gateway/src/services/skill-install-service.js +346 -0
- package/dist/gateway/src/services/skill-install-service.js.map +1 -0
- package/dist/gateway/src/services/skill-marketplaces.d.ts +59 -0
- package/dist/gateway/src/services/skill-marketplaces.js +420 -0
- package/dist/gateway/src/services/skill-marketplaces.js.map +1 -0
- package/dist/gateway/src/services/skill-package.d.ts +27 -0
- package/dist/gateway/src/services/skill-package.js +135 -0
- package/dist/gateway/src/services/skill-package.js.map +1 -0
- package/dist/gateway/src/services/skill-registry-http.d.ts +8 -0
- package/dist/gateway/src/services/skill-registry-http.js +57 -0
- package/dist/gateway/src/services/skill-registry-http.js.map +1 -0
- package/dist/gateway/src/services/skill-registry-package.d.ts +55 -0
- package/dist/gateway/src/services/skill-registry-package.js +208 -0
- package/dist/gateway/src/services/skill-registry-package.js.map +1 -0
- package/dist/gateway/src/services/skill-resources.d.ts +1 -0
- package/dist/gateway/src/services/skill-resources.js +1 -1
- package/dist/gateway/src/services/skill-resources.js.map +1 -1
- package/dist/gateway/src/services/teams/service.d.ts +7 -7
- package/dist/gateway/src/services/terminal-backend.d.ts +3 -0
- package/dist/gateway/src/services/terminal-notification-ingestion.d.ts +19 -0
- package/dist/gateway/src/services/terminal-notification-ingestion.js +135 -0
- package/dist/gateway/src/services/terminal-notification-ingestion.js.map +1 -0
- package/dist/gateway/src/services/terminal-notification-settings.d.ts +42 -0
- package/dist/gateway/src/services/terminal-notification-settings.js +133 -0
- package/dist/gateway/src/services/terminal-notification-settings.js.map +1 -0
- package/dist/gateway/src/services/usage/kimi-source.d.ts +11 -3
- package/dist/gateway/src/services/usage/kimi-source.js +40 -9
- package/dist/gateway/src/services/usage/kimi-source.js.map +1 -1
- package/dist/gateway/src/services/usage/mcode-source.d.ts +39 -0
- package/dist/gateway/src/services/usage/mcode-source.js +137 -0
- package/dist/gateway/src/services/usage/mcode-source.js.map +1 -0
- package/dist/gateway/src/services/usage/usage-source.d.ts +6 -1
- package/dist/gateway/src/services/usage/usage-source.js.map +1 -1
- package/dist/gateway/src/services/usage/usage-token-syncer.d.ts +1 -1
- package/dist/gateway/src/services/usage/usage-token-syncer.js +3 -1
- package/dist/gateway/src/services/usage/usage-token-syncer.js.map +1 -1
- package/dist/gateway/src/websocket/events.js +17 -0
- package/dist/gateway/src/websocket/events.js.map +1 -1
- package/dist/gateway/src/websocket/terminal-output-flow.d.ts +1 -1
- package/dist/gateway/src/websocket/terminal.js +12 -4
- package/dist/gateway/src/websocket/terminal.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.js +63 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/version.d.ts +10 -0
- package/dist/runtime/version.js +25 -0
- package/dist/runtime/version.js.map +1 -0
- package/dist/web/standalone/packages/web/.next/BUILD_ID +1 -1
- package/dist/web/standalone/packages/web/.next/app-path-routes-manifest.json +2 -1
- package/dist/web/standalone/packages/web/.next/build-manifest.json +3 -3
- package/dist/web/standalone/packages/web/.next/prerender-manifest.json +51 -27
- package/dist/web/standalone/packages/web/.next/routes-manifest.json +12 -6
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/cli-config/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/automations/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/channels/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/extensions/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/tasks/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/history/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/members/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/models/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/notifications/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page/react-loadable-manifest.json +6 -3
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/[id]/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/import/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/new/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/sessions/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/app-paths-manifest.json +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page/react-loadable-manifest.json +12 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page.js +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page.js.nft.json +1 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/discover/page_client-reference-manifest.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/install/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/app-paths-manifest.json +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/build-manifest.json +18 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/next-font-manifest.json +6 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/react-loadable-manifest.json +12 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page/server-reference-manifest.json +4 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js +14 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.map +5 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page.js.nft.json +1 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/skills/sources/page_client-reference-manifest.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/teams/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/templates/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/usage/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/[projectId]/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page/react-loadable-manifest.json +5 -2
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/workspaces/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.rsc +11 -11
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config/__PAGE__.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk/cli-config.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_full.segment.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/cli-config.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.rsc +25 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations/__PAGE__.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot/automations.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_full.segment.rsc +25 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot/automations.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.rsc +26 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels/__PAGE__.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot/channels.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_full.segment.rsc +26 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot/channels.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.rsc +25 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions/__PAGE__.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot/extensions.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_full.segment.rsc +25 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot/extensions.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.rsc +26 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings/__PAGE__.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_full.segment.rsc +26 -23
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/copilot.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot.rsc +25 -25
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_full.segment.rsc +25 -25
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_full.segment.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/history.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/history.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk/history.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/history.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/index.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/index.rsc +25 -22
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +25 -22
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/join/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/join/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/join.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/join.rsc +12 -12
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/_full.segment.rsc +12 -12
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/join/__PAGE__.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/join.segments/join.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/login/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/login.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/login.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/_full.segment.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/login.segments/login.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/members.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/members.rsc +25 -25
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk/members.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/_full.segment.rsc +25 -25
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/members.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/models.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/models.rsc +28 -27
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk/models.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/_full.segment.rsc +28 -27
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/models.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/notifications.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/notifications.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk/notifications.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/notifications.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.rsc +24 -24
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects/import.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_full.segment.rsc +24 -24
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/projects/import.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.rsc +24 -24
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects/new.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_full.segment.rsc +24 -24
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/projects/new.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/projects.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/projects.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk/projects.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/register/page.js.nft.json +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/register/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/register.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/register.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/_full.segment.rsc +13 -13
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/register/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/register.segments/register.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/sessions.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/sessions.rsc +28 -29
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk/sessions.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_full.segment.rsc +28 -29
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/settings.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/settings.rsc +28 -27
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_full.segment.rsc +28 -27
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.html +1 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.meta +17 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.rsc +32 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover/__PAGE__.segment.rsc +9 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills/discover.segment.rsc +5 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +5 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_full.segment.rsc +32 -0
- package/dist/web/standalone/packages/web/.next/server/app/{copilot/settings/access.segments → skills/discover.segments}/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_index.segment.rsc +8 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/discover.segments/_tree.segment.rsc +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.rsc +29 -27
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills/install.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_full.segment.rsc +29 -27
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/skills/install.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.html +1 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.meta +17 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.rsc +32 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources/__PAGE__.segment.rsc +9 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills/sources.segment.rsc +5 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +5 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_full.segment.rsc +32 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_head.segment.rsc +6 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_index.segment.rsc +8 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills/sources.segments/_tree.segment.rsc +3 -0
- package/dist/web/standalone/packages/web/.next/server/app/skills.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/skills.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk/skills.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/teams.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/teams.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams/__PAGE__.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk/teams.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_full.segment.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/teams.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/templates.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/templates.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk/templates.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/templates.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/usage.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/usage.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage/__PAGE__.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk/usage.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_full.segment.rsc +28 -25
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/usage.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces/__PAGE__.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk/workspaces.segment.rsc +3 -3
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -5
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_full.segment.rsc +25 -20
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_head.segment.rsc +4 -4
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_index.segment.rsc +6 -6
- package/dist/web/standalone/packages/web/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/packages/web/.next/server/app-paths-manifest.json +2 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0942_@dnd-kit_core_dist_core_esm_06quy3m.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0e0j_zod_v3_external_0q93s3v.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0juq_web__next-internal_server_app_(dashboard)_skills_discover_page_actions_0s10d6r.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0juq_web__next-internal_server_app_(dashboard)_skills_sources_page_actions_120iys8.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0vyr_@hookform_resolvers_zod_dist_zod_mjs_13jikrg._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/0zxb_lucide-react_dist_esm_icons_external-link_0buejti.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/12g__next_dist_esm_build_templates_app-page_0mp8266.js +4 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{12g__next_dist_esm_build_templates_app-page_0hj3-t3.js → 12g__next_dist_esm_build_templates_app-page_0u2wn0p.js} +3 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-ytd88._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-yv-w0._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0-~3_py._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0.xbx1g._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__000_z4-._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__00pu_nf._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__01gw6cp._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__04y4h09._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__04zzicc._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__059ub-x._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05uxdhs._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__099xvsj._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__05zp5v-._.js → [root-of-the-server]__0b_bfwi._.js} +2 -2
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0bwa4-1._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dm9ht7._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dwolw1._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0dypek8._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0e4wlbg._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0hdcf1b._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0hyeafb._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0i9m599._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ixm_tt._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0joovln._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0nayrgw._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0oi0duh._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0p0asvc._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0rnn~dl._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0s85g_~._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0t6hcz2._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0t6yt~4._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ue.dgb._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0vdrg8-._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0vhr68-._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0w9fpxt._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0xjgo0p._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0ym8445._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0yni1ey._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0~uajh5._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0~x9f4h._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__10ulbpl._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__12_~9x3._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__12t8cyh._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-46bd0._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0-c~1pz._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00u25e5._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_029s~22._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02b77w9._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_02q4sxr._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_03lvgsp._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_055deww._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_06y~qef._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_081_abe._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_08sy38p._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_08w4krs._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09uis~9._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0_y0lld._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d70f63._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0e2js.7._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0eg167x._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0k0ia-e._.js +7 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0l2_hbr._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0nko1ur._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0of~gco._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0pgj5uk._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0q78tdj._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r7r2dd._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0r8225d._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0s2linz._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0u.z_-u._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0uhabr0._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0upw.g1._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0vxw15j._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0wz9mfr._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x14feb._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0z-ne1w._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~z3iws._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11yi7~7._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_12w9fro._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_130nfm2._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_132t5iu._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13cs2xv._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_13jwtym._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_04syrba._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0dcra4_._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0euki8~._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0p9lxjb._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xlg_r9._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_0xsup7i._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_members_page_tsx_036.9by._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_models_page_tsx_0_ccn2i._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_page_tsx_04lc303._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_projects_[id]_page_tsx_0pmq-e9._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_[id]_page_tsx_0x9_6se._.js +3 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_sessions_page_tsx_0phmhty._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_settings_page_tsx_05ku4-o._.js +2 -2
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_skills_page_tsx_096j6mw._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_templates_page_tsx_0.s32f~._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_(dashboard)_usage_page_tsx_018s0ua._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotChannelsPage_tsx_10jdmdv._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_CopilotExtensionsPage_tsx_0jl0nnn._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_DevelopmentTasks_tsx_0fr61i5._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_session-tabs_tsx_0qnm.9x._.js +3 -0
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_ui_select_tsx_0led5xt._.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/middleware-build-manifest.js +3 -3
- package/dist/web/standalone/packages/web/.next/server/pages/404.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/pages/500.html +1 -1
- package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/dist/web/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0-8d_w3npya8o.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0.1mxnjmxr~su.js +5 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0.athqv8ojt0q.js +3 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0.s72kofo_rqw.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/01u~p.mfnnn02.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/02tbf1dbhnqcj.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/{01_gytnzf~ik-.js → 02tn25zg7z463.js} +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/04z6sbk30kk_r.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/04~5~zhq-13bw.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/053cmh-o17957.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/06tu7kgxg31~o.js +2 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/06u~yrka~n0q1.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/07_bj2hhs1b~b.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/07ikcry4s28l9.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0b5zptp8.z.nn.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0b_338udx-~jl.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0ecg~muitl4rl.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0eg3_d4n2kkia.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0equ6w7v0pt2c.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0f4~n_u2rd.u..js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0fjt5fv~.5gyl.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/{04r2nmtpcfrz..js → 0g.bgavgt6uke.js} +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0g.jepdilt76o.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0i4_5dn3hx-l4.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0jdbsw64_fybj.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0l2ojgpvlde~a.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0lgdaqjuo1zdw.css +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0n8lawbi2_4vp.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0ouh2tpsjqi5m.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0qz5kbcs~i-jm.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0rvmfvjpdwe.w.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0spmlj~6fltww.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0s~9.kdkdky_4.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0t8mzjjlw~wnz.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0tgs66vwkse.2.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0txrk44pdmdsw.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0ujyee4n5.vxl.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0v-8fk68e-ugm.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0v4~sp3bx1l88.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0vu012c_~rsq2.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0y2ze6bljklix.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0y8vr-14-90yt.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0yy-wz1k_sil_.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/0z6vq-3bfwo0y.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/{0wys15fa7nhtt.js → 0~cm.ike75hqk.js} +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0~kf3_6b2c_lt.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/{0y._brrinmy-y.js → 1052k.mfsf9ib.js} +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/112uoiiyc.o-i.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/11y_6l.0_a2jc.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/12kzd4cqtbqk~.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/13e0ddfy-03de.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/13wgo~3bv23zr.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/{02cfennlupsr5.js → 140zf2tofmr6d.js} +1 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/17jci4t~zq7c9.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/17lr--xdjl9wa.js +1 -0
- package/dist/web/standalone/packages/web/.next/static/chunks/185bxlmpgwiu-.js +1 -0
- package/dist/web/standalone/packages/web/public/brand/cli/codex.svg +5 -1
- package/dist/web/standalone/packages/web/public/brand/cli/kimi.svg +1 -1
- package/dist/web/standalone/packages/web/public/brand/cli/mcode.svg +1 -0
- package/dist/web/standalone/packages/web/public/brand/fonts/OFL.txt +93 -0
- package/dist/web/standalone/packages/web/public/brand/fonts/forgebadger-nerd-bold.ttf +0 -0
- package/dist/web/standalone/packages/web/public/brand/fonts/forgebadger-nerd-regular.ttf +0 -0
- package/dist/web/standalone/packages/web/public/favicon.ico +0 -0
- package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/sit.webp +0 -0
- package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/stand.webp +0 -0
- package/dist/web/standalone/packages/web/public/pets/honey-badger-v3/walk.webp +0 -0
- package/docs/README.zh-CN.md +10 -0
- package/docs/README.zh-TW.md +10 -0
- package/package.json +9 -9
- package/dist/gateway/src/db/repositories/copilot-grant-repository.d.ts +0 -40
- package/dist/gateway/src/db/repositories/copilot-grant-repository.js +0 -53
- package/dist/gateway/src/db/repositories/copilot-grant-repository.js.map +0 -1
- package/dist/gateway/src/services/codex-native-auth-status.d.ts +0 -22
- package/dist/gateway/src/services/codex-native-auth-status.js +0 -84
- package/dist/gateway/src/services/codex-native-auth-status.js.map +0 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page/app-paths-manifest.json +0 -3
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page/react-loadable-manifest.json +0 -9
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page.js.nft.json +0 -1
- package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/copilot/settings/access/page_client-reference-manifest.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.html +0 -1
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.meta +0 -18
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.rsc +0 -27
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access/__PAGE__.segment.rsc +0 -6
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings/access.segment.rsc +0 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot/settings.segment.rsc +0 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk/copilot.segment.rsc +0 -5
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/!KGRhc2hib2FyZCk.segment.rsc +0 -7
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_full.segment.rsc +0 -27
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_index.segment.rsc +0 -8
- package/dist/web/standalone/packages/web/.next/server/app/copilot/settings/access.segments/_tree.segment.rsc +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/06ld_server_app_(dashboard)_copilot_settings_access_page_actions_0-w4z-w.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__03qqlsf._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__05_yw9~._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0e0am7z._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0oun.k-._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__0y-e.fw._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__135gcxh._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0.2ld7q._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_00.0g-5._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_01h5sc6._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_03t4dqx._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_04ioa9k._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_05rbfok._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_07sqde5._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0941x7t._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_09~uay9._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0anvf8m._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0atn-ml._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0c3twpg._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0d4~sy4._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0f1dcy2._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0f6qxtj._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0fbdold._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0h3beoe._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0inc1dm._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0i~~g8h._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0p3urqy._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0qi9cog._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0rc9ewt._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0vf07~e._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0x1-w0e._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~t_uoo._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_0~wir~e._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_10h.hnm._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11586ck._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/_11dpryf._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0eo3d7_._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0hfdzjb._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/node_modules__pnpm_0mls2za._.js +0 -7
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_08mhbmm._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_12cpu6n._.js +0 -3
- package/dist/web/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_components_copilot_0mvr-eu._.js +0 -3
- package/dist/web/standalone/packages/web/.next/static/chunks/0..mi~ip7knx..js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0.4~~7f7.7nat.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0.iplf~527jxz.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0.uku9w_tku_y.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/00a29f0n_owqb.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/00nyo39rsq7i8.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/00pacdmo8d9v~.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/00~iuhivx6vaz.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/012n34zp1cx_n.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/01qswe5yw6zti.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0269he.njfzan.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/05mebsn5x~f7z.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/05pjsamrc9hw8.css +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/06k2e3bpaue8l.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/08i6pyfaut9bg.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/09ue~77p.85v3.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0a812oghcxixr.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0abzy49yu-md1.js +0 -2
- package/dist/web/standalone/packages/web/.next/static/chunks/0av6gt_66dv~q.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0belg47nkwgq6.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0bihh5ze2~z1f.js +0 -5
- package/dist/web/standalone/packages/web/.next/static/chunks/0bwb7o-xmqgh9.js +0 -3
- package/dist/web/standalone/packages/web/.next/static/chunks/0c2pxjg6tacjx.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0cnz9fv.au4.r.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0h73tv8xwqxqw.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0jm.qk52w_wlq.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0kl7osb_ugtrb.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0kuv_jfsd~d34.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0l2c60o_7mt7g.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0lgu8uprqf5l5.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0ljywx8uhruo~.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0mx93hpu5af8p.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0omo_v~lr8w_w.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0owwl5ly1~5em.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0pav25z50nsff.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0q~8nf7do6jft.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0rcf89hmdwpcw.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0ro2__iu505.1.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0rxi1_itf74bl.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0v0jdpyx4p.1c.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0v_2~m-2hqn2..js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0vxu682behxa7.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/0wel25michro~.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/10eii2rij6zzf.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/13ehygx5durlz.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/17b.cxsg0c75d.js +0 -1
- package/dist/web/standalone/packages/web/.next/static/chunks/180yq_t-g35fr.js +0 -1
- /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/build-manifest.json +0 -0
- /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/next-font-manifest.json +0 -0
- /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page/server-reference-manifest.json +0 -0
- /package/dist/web/standalone/packages/web/.next/server/app/(dashboard)/{copilot/settings/access → skills/discover}/page.js.map +0 -0
- /package/dist/web/standalone/packages/web/.next/static/{lcO9z98BJ26kFzrqXH-ot → RJQQaO6wuaTxGJ_LVnGhM}/_buildManifest.js +0 -0
- /package/dist/web/standalone/packages/web/.next/static/{lcO9z98BJ26kFzrqXH-ot → RJQQaO6wuaTxGJ_LVnGhM}/_clientMiddlewareManifest.js +0 -0
- /package/dist/web/standalone/packages/web/.next/static/{lcO9z98BJ26kFzrqXH-ot → RJQQaO6wuaTxGJ_LVnGhM}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
import fs from 'node:fs';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { tmpdir } from 'node:os';
|
|
6
|
+
import { validateProjectRoot } from '../../lib/safe-resolve.js';
|
|
7
|
+
import { assertGitRoot } from './project-diff.js';
|
|
8
|
+
const exec = promisify(execFile);
|
|
9
|
+
const MAX_STATUS_BYTES = 8 * 1024 * 1024;
|
|
10
|
+
const CONFLICTS = new Set(['DD', 'AU', 'UD', 'UA', 'DU', 'AA', 'UU']);
|
|
11
|
+
const SAFE_CORE = ['repositoryformatversion', 'filemode', 'ignorecase', 'symlinks', 'precomposeunicode',
|
|
12
|
+
'autocrlf', 'eol', 'checkstat', 'trustctime', 'excludesfile', 'attributesfile', 'protectntfs', 'protecthfs'];
|
|
13
|
+
const CONFIG_PATTERN = `^(core\\.(${SAFE_CORE.join('|')}|sparsecheckout)|extensions\\.objectformat|filter\\..*\\.(clean|process|required))$`;
|
|
14
|
+
const fixedArgs = ['--no-pager', '-c', 'core.fsmonitor=false', '-c', 'core.hooksPath=/dev/null',
|
|
15
|
+
'-c', 'diff.external=', '-c', 'submodule.recurse=false', '-c', 'protocol.allow=never', '-c', 'credential.helper='];
|
|
16
|
+
/** Parse byte-framed paths without UTF-8 normalization or filename disclosure. */
|
|
17
|
+
function* statusEntries(data) {
|
|
18
|
+
if (data.length > MAX_STATUS_BYTES)
|
|
19
|
+
throw new Error('COPILOT_GIT_STATUS_LIMIT');
|
|
20
|
+
let cursor = 0;
|
|
21
|
+
while (cursor < data.length) {
|
|
22
|
+
const end = data.indexOf(0, cursor);
|
|
23
|
+
if (end < cursor + 4 || data[cursor + 2] !== 32)
|
|
24
|
+
throw new Error('COPILOT_GIT_STATUS_INVALID');
|
|
25
|
+
const code = data.subarray(cursor, cursor + 2).toString('ascii');
|
|
26
|
+
const identity = data.subarray(cursor + 3, end).toString('base64');
|
|
27
|
+
cursor = end + 1;
|
|
28
|
+
if (!CONFLICTS.has(code) && code !== '??' && (!/^[ MTADRC]{2}$/.test(code) || code === ' '))
|
|
29
|
+
throw new Error('COPILOT_GIT_STATUS_INVALID');
|
|
30
|
+
if (code.includes('R') || code.includes('C')) {
|
|
31
|
+
const sourceEnd = data.indexOf(0, cursor);
|
|
32
|
+
if (sourceEnd <= cursor)
|
|
33
|
+
throw new Error('COPILOT_GIT_STATUS_INVALID');
|
|
34
|
+
cursor = sourceEnd + 1;
|
|
35
|
+
}
|
|
36
|
+
yield { code, identity };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** Parse the complete status stream. Categories overlap; total is unique paths. */
|
|
40
|
+
export function summarizeGitStatus(data) {
|
|
41
|
+
const counts = { total: 0, staged: 0, unstaged: 0, untracked: 0, conflicted: 0, stagedAndUnstaged: 0 };
|
|
42
|
+
const byStatus = {};
|
|
43
|
+
const paths = new Set(), entries = new Set();
|
|
44
|
+
for (const { code, identity } of statusEntries(data)) {
|
|
45
|
+
if (entries.has(code + identity))
|
|
46
|
+
continue;
|
|
47
|
+
entries.add(code + identity);
|
|
48
|
+
paths.add(identity);
|
|
49
|
+
counts.total = paths.size;
|
|
50
|
+
byStatus[code] = (byStatus[code] ?? 0) + 1;
|
|
51
|
+
if (code === '??') {
|
|
52
|
+
counts.untracked++;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (CONFLICTS.has(code)) {
|
|
56
|
+
counts.conflicted++;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (code[0] !== ' ')
|
|
60
|
+
counts.staged++;
|
|
61
|
+
if (code[1] !== ' ')
|
|
62
|
+
counts.unstaged++;
|
|
63
|
+
if (code[0] !== ' ' && code[1] !== ' ')
|
|
64
|
+
counts.stagedAndUnstaged++;
|
|
65
|
+
}
|
|
66
|
+
return { counts, byStatus, clean: counts.total === 0, complete: true };
|
|
67
|
+
}
|
|
68
|
+
/** --ignore-submodules=all hides staged gitlinks too; recover those from index/HEAD only. */
|
|
69
|
+
function stagedGitlinks(data, status) {
|
|
70
|
+
const knownPaths = new Set([...statusEntries(status)].map(entry => entry.identity));
|
|
71
|
+
const records = [];
|
|
72
|
+
let cursor = 0;
|
|
73
|
+
const field = () => {
|
|
74
|
+
const end = data.indexOf(0, cursor);
|
|
75
|
+
if (end <= cursor)
|
|
76
|
+
throw new Error('COPILOT_GIT_STATUS_INVALID');
|
|
77
|
+
const result = data.subarray(cursor, end);
|
|
78
|
+
cursor = end + 1;
|
|
79
|
+
return result;
|
|
80
|
+
};
|
|
81
|
+
while (cursor < data.length) {
|
|
82
|
+
const header = field().toString('ascii');
|
|
83
|
+
const match = /^:([0-7]{6}) ([0-7]{6}) [0-9a-f]+ [0-9a-f]+ ([A-Z])(?:[0-9]+)?$/.exec(header);
|
|
84
|
+
if (!match)
|
|
85
|
+
throw new Error('COPILOT_GIT_STATUS_INVALID');
|
|
86
|
+
const source = field(), renamed = match[3] === 'R' || match[3] === 'C';
|
|
87
|
+
const target = renamed ? field() : source;
|
|
88
|
+
if (match[1] !== '160000' && match[2] !== '160000')
|
|
89
|
+
continue;
|
|
90
|
+
if (knownPaths.has(target.toString('base64')))
|
|
91
|
+
continue;
|
|
92
|
+
if (match[3] === 'U')
|
|
93
|
+
throw new Error('COPILOT_GIT_STATUS_INVALID');
|
|
94
|
+
records.push(Buffer.from(`${match[3]} `), target, Buffer.from([0]));
|
|
95
|
+
if (renamed)
|
|
96
|
+
records.push(source, Buffer.from([0]));
|
|
97
|
+
}
|
|
98
|
+
return Buffer.concat(records);
|
|
99
|
+
}
|
|
100
|
+
function safeEnvironment() {
|
|
101
|
+
const env = { PATH: process.env.PATH, LANG: 'C', LC_ALL: 'C', GIT_OPTIONAL_LOCKS: '0',
|
|
102
|
+
GIT_TERMINAL_PROMPT: '0', GIT_NO_REPLACE_OBJECTS: '1', GIT_NO_LAZY_FETCH: '1', GIT_ALLOW_PROTOCOL: '', GIT_PROTOCOL_FROM_USER: '0' };
|
|
103
|
+
for (const key of ['HOME', 'XDG_CONFIG_HOME', 'USERPROFILE', 'SYSTEMROOT', 'GIT_CONFIG_GLOBAL', 'GIT_CONFIG_SYSTEM']) {
|
|
104
|
+
if (process.env[key] !== undefined)
|
|
105
|
+
env[key] = process.env[key];
|
|
106
|
+
}
|
|
107
|
+
return env;
|
|
108
|
+
}
|
|
109
|
+
/** No helper/filter configuration is copied. Paths/config may never become error messages. */
|
|
110
|
+
function snapshotConfig(data) {
|
|
111
|
+
const entries = new Map();
|
|
112
|
+
for (const record of data.toString('utf8').split('\0').filter(Boolean)) {
|
|
113
|
+
const split = record.indexOf('\n');
|
|
114
|
+
if (split < 0)
|
|
115
|
+
entries.set(record, 'true'); // Git's implicit boolean value.
|
|
116
|
+
else
|
|
117
|
+
entries.set(record.slice(0, split), record.slice(split + 1));
|
|
118
|
+
}
|
|
119
|
+
for (const [key, value] of entries) {
|
|
120
|
+
if (/^filter\..*\.(clean|process)$/.test(key) && value.trim())
|
|
121
|
+
throw new Error('COPILOT_GIT_STATUS_FILTER_UNSUPPORTED');
|
|
122
|
+
if (/^filter\..*\.required$/.test(key) && /^(true|yes|on|1)$/i.test(value))
|
|
123
|
+
throw new Error('COPILOT_GIT_STATUS_FILTER_UNSUPPORTED');
|
|
124
|
+
if (key === 'core.sparsecheckout' && /^(true|yes|on|1)$/i.test(value))
|
|
125
|
+
throw new Error('COPILOT_GIT_STATUS_SPARSE_UNSUPPORTED');
|
|
126
|
+
}
|
|
127
|
+
const quoted = (value) => {
|
|
128
|
+
if (/[\x00-\x07\x0b-\x1f\x7f]/.test(value))
|
|
129
|
+
throw new Error('COPILOT_GIT_STATUS_CONFIG_UNSUPPORTED');
|
|
130
|
+
return '"' + value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n').replace(/\t/g, '\\t').replace(/\x08/g, '\\b') + '"';
|
|
131
|
+
};
|
|
132
|
+
const core = SAFE_CORE.filter(key => entries.has(`core.${key}`)).map(key => `\t${key} = ${quoted(entries.get(`core.${key}`))}`);
|
|
133
|
+
const format = entries.get('extensions.objectformat');
|
|
134
|
+
return `[core]\n${core.join('\n')}\n\tbare = false\n` + (format ? `[extensions]\n\tobjectFormat = ${quoted(format)}\n` : '');
|
|
135
|
+
}
|
|
136
|
+
function copyMetadata(source, destination, maxBytes) {
|
|
137
|
+
let fd;
|
|
138
|
+
try {
|
|
139
|
+
fd = fs.openSync(source, fs.constants.O_RDONLY | fs.constants.O_NOFOLLOW | fs.constants.O_NONBLOCK);
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
if (error.code === 'ENOENT')
|
|
143
|
+
return 0;
|
|
144
|
+
throw new Error('COPILOT_GIT_ROOT_UNSUPPORTED');
|
|
145
|
+
}
|
|
146
|
+
try {
|
|
147
|
+
const stat = fs.fstatSync(fd);
|
|
148
|
+
if (!stat.isFile() || stat.size > maxBytes)
|
|
149
|
+
throw new Error('COPILOT_GIT_STATUS_LIMIT');
|
|
150
|
+
const data = Buffer.alloc(stat.size + 1);
|
|
151
|
+
let size = 0;
|
|
152
|
+
while (size < data.length) {
|
|
153
|
+
const n = fs.readSync(fd, data, size, data.length - size, null);
|
|
154
|
+
if (!n)
|
|
155
|
+
break;
|
|
156
|
+
size += n;
|
|
157
|
+
}
|
|
158
|
+
if (size !== stat.size)
|
|
159
|
+
throw new Error('COPILOT_GIT_STATUS_CHANGED');
|
|
160
|
+
fs.writeFileSync(destination, data.subarray(0, size), { mode: 0o600, flag: 'wx' });
|
|
161
|
+
return size;
|
|
162
|
+
}
|
|
163
|
+
finally {
|
|
164
|
+
fs.closeSync(fd);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/** Stable config/index snapshots prevent status from executing mutable repo/global filter drivers. */
|
|
168
|
+
export async function readProjectGitStatus(root, signal) {
|
|
169
|
+
signal?.throwIfAborted();
|
|
170
|
+
const canonical = fs.realpathSync(root);
|
|
171
|
+
validateProjectRoot(canonical);
|
|
172
|
+
assertGitRoot(canonical);
|
|
173
|
+
const sourceGit = path.join(canonical, '.git');
|
|
174
|
+
const controller = new AbortController();
|
|
175
|
+
const abort = () => controller.abort(signal?.reason);
|
|
176
|
+
signal?.addEventListener('abort', abort, { once: true });
|
|
177
|
+
const timeout = setTimeout(() => controller.abort(new Error('COPILOT_GIT_STATUS_TIMEOUT')), 10_000);
|
|
178
|
+
const env = safeEnvironment();
|
|
179
|
+
let temporary;
|
|
180
|
+
const git = async (gitDir, args, environment = env, allowMissing = false, maxBuffer = MAX_STATUS_BYTES) => {
|
|
181
|
+
controller.signal.throwIfAborted();
|
|
182
|
+
assertGitRoot(canonical);
|
|
183
|
+
try {
|
|
184
|
+
const result = await exec('git', [...fixedArgs, `--git-dir=${gitDir}`, `--work-tree=${canonical}`, ...args], { cwd: canonical, env: environment, signal: controller.signal, timeout: 10000, maxBuffer, encoding: 'buffer', windowsHide: true });
|
|
185
|
+
assertGitRoot(canonical);
|
|
186
|
+
return result.stdout;
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
controller.signal.throwIfAborted();
|
|
190
|
+
const code = error.code;
|
|
191
|
+
if (allowMissing && error.code === 1)
|
|
192
|
+
return Buffer.alloc(0);
|
|
193
|
+
if (code === 'ERR_CHILD_PROCESS_STDIO_MAXBUFFER')
|
|
194
|
+
throw new Error('COPILOT_GIT_STATUS_LIMIT');
|
|
195
|
+
throw new Error('COPILOT_GIT_STATUS_FAILED');
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
try {
|
|
199
|
+
const values = await git(sourceGit, ['config', '--includes', '--null', '--get-regexp', CONFIG_PATTERN], env, true, 256 * 1024);
|
|
200
|
+
const booleans = await git(sourceGit, ['config', '--includes', '--null', '--type=bool', '--get-regexp', '^(core\\.sparsecheckout|filter\\..*\\.required)$'], env, true, 256 * 1024);
|
|
201
|
+
const config = snapshotConfig(Buffer.concat([values, booleans]));
|
|
202
|
+
const head = (await git(sourceGit, ['rev-parse', '--revs-only', 'HEAD'], env, false, 1024)).toString('ascii').trim();
|
|
203
|
+
if (head && !/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/.test(head))
|
|
204
|
+
throw new Error('COPILOT_GIT_STATUS_INVALID');
|
|
205
|
+
temporary = fs.mkdtempSync(path.join(tmpdir(), 'fb-git-status-'));
|
|
206
|
+
fs.mkdirSync(path.join(temporary, 'refs'));
|
|
207
|
+
fs.mkdirSync(path.join(temporary, 'info'));
|
|
208
|
+
fs.writeFileSync(path.join(temporary, 'HEAD'), head ? `${head}\n` : 'ref: refs/heads/unborn\n', { mode: 0o600 });
|
|
209
|
+
fs.writeFileSync(path.join(temporary, 'config'), config, { mode: 0o600 });
|
|
210
|
+
let remaining = 64 * 1024 * 1024;
|
|
211
|
+
for (const file of ['index', ...fs.readdirSync(sourceGit).filter(name => /^sharedindex\.[0-9a-f]+$/.test(name))]) {
|
|
212
|
+
remaining -= copyMetadata(path.join(sourceGit, file), path.join(temporary, file), remaining);
|
|
213
|
+
}
|
|
214
|
+
for (const file of ['attributes', 'exclude'])
|
|
215
|
+
copyMetadata(path.join(sourceGit, 'info', file), path.join(temporary, 'info', file), 1024 * 1024);
|
|
216
|
+
const isolatedEnv = { ...env, GIT_CONFIG_NOSYSTEM: '1', GIT_CONFIG_GLOBAL: '/dev/null', GIT_CONFIG_SYSTEM: '/dev/null',
|
|
217
|
+
GIT_OBJECT_DIRECTORY: path.join(sourceGit, 'objects') };
|
|
218
|
+
const status = await git(temporary, ['status', '--porcelain=v1', '-z', '--untracked-files=all', '--ignore-submodules=all', '--renames'], isolatedEnv);
|
|
219
|
+
const gitlinks = stagedGitlinks(await git(temporary, ['diff', '--cached', '--raw', '-z', '--no-ext-diff', '--no-textconv', '--ignore-submodules=none', '--find-renames'], isolatedEnv), status);
|
|
220
|
+
const result = summarizeGitStatus(Buffer.concat([status, gitlinks]));
|
|
221
|
+
return { ...result, observedAt: new Date().toISOString(), unit: 'unique_git_status_paths',
|
|
222
|
+
scope: 'superproject; ignored files and submodule worktree changes excluded; nested untracked repositories count as one entry',
|
|
223
|
+
note: 'Counts cover the complete status output, not a diff page. Categories can overlap; use total for unique paths. Conflicts count separately. Staged gitlinks count; submodule worktrees are not inspected. Concurrent edits can change the snapshot.', readOnly: true };
|
|
224
|
+
}
|
|
225
|
+
finally {
|
|
226
|
+
clearTimeout(timeout);
|
|
227
|
+
signal?.removeEventListener('abort', abort);
|
|
228
|
+
if (temporary)
|
|
229
|
+
fs.rmSync(temporary, { recursive: true, force: true });
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=project-git-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-git-status.js","sourceRoot":"","sources":["../../../../src/services/development/project-git-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Database } from '../../db/types.js';
|
|
2
|
+
import { type ExecutionObserver } from './execution-identity.js';
|
|
3
|
+
import type { DevelopmentTaskRow } from './contracts.js';
|
|
4
|
+
export interface ReconcileInput {
|
|
5
|
+
projectId: string;
|
|
6
|
+
taskId: string;
|
|
7
|
+
expectedRevision: number;
|
|
8
|
+
}
|
|
9
|
+
/** OS observation is independent of lease expiry and never sends signals or requeues work. */
|
|
10
|
+
export declare function reconcileDevelopmentTask(db: Database, userId: string, input: ReconcileInput, observer?: ExecutionObserver): DevelopmentTaskRow;
|
|
11
|
+
export declare function reconciliationRemedy(codeName: string): string;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { DevelopmentTaskRepository } from '../../db/repositories/development-task-repository.js';
|
|
5
|
+
import { ProjectRepository } from '../../db/repositories/project-repository.js';
|
|
6
|
+
import { canonical } from '../platform-commands/actions.js';
|
|
7
|
+
import { executionIdentitySchema, executionReservationSchema, systemExecutionObserver } from './execution-identity.js';
|
|
8
|
+
import { evidenceDirectory } from './state-directory.js';
|
|
9
|
+
import { hashText } from './workspace.js';
|
|
10
|
+
const code = (suffix) => new Error('DEVELOPMENT_RECONCILIATION_' + suffix);
|
|
11
|
+
const recordedExecutionSchema = z.discriminatedUnion('phase', [executionReservationSchema, executionIdentitySchema]);
|
|
12
|
+
function recordedIdentity(db, row) {
|
|
13
|
+
if (!row.execution_identity_json)
|
|
14
|
+
throw code('IDENTITY_MISSING');
|
|
15
|
+
let parsed;
|
|
16
|
+
try {
|
|
17
|
+
parsed = JSON.parse(row.execution_identity_json);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
throw code('IDENTITY_MISSING');
|
|
21
|
+
}
|
|
22
|
+
const checked = recordedExecutionSchema.safeParse(parsed);
|
|
23
|
+
if (!checked.success)
|
|
24
|
+
throw code('IDENTITY_MISSING');
|
|
25
|
+
const identity = checked.data;
|
|
26
|
+
if (identity.taskId !== row.id || identity.userId !== row.user_id || identity.owner !== row.owner || (identity.phase === 'ready' && identity.supervisorPid !== identity.processGroup)
|
|
27
|
+
|| identity.evidencePath !== path.join(evidenceDirectory(db), identity.nonce + '.json'))
|
|
28
|
+
throw code('IDENTITY_MISMATCH');
|
|
29
|
+
return identity;
|
|
30
|
+
}
|
|
31
|
+
function assertStoppedEvidence(identity) {
|
|
32
|
+
let fd;
|
|
33
|
+
try {
|
|
34
|
+
fd = fs.openSync(identity.evidencePath, fs.constants.O_RDONLY | fs.constants.O_NOFOLLOW);
|
|
35
|
+
const stat = fs.fstatSync(fd);
|
|
36
|
+
if (!stat.isFile() || stat.size > 16384 || stat.size < 2 || (stat.mode & 0o777) !== 0o600 || process.getuid && stat.uid !== process.getuid())
|
|
37
|
+
throw code('EVIDENCE_INVALID');
|
|
38
|
+
if (fs.realpathSync(identity.evidencePath) !== identity.evidencePath)
|
|
39
|
+
throw code('EVIDENCE_INVALID');
|
|
40
|
+
const evidence = JSON.parse(fs.readFileSync(fd, 'utf8'));
|
|
41
|
+
if (evidence.version !== 1 || evidence.stopped !== true || canonical(evidence.identity) !== canonical(identity)
|
|
42
|
+
|| typeof evidence.finishedAt !== 'number' || !Number.isSafeInteger(evidence.finishedAt) || evidence.finishedAt <= 0 || evidence.finishedAt > Date.now() + 5000)
|
|
43
|
+
throw code('EVIDENCE_INVALID');
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
if (error instanceof Error && error.message.startsWith('DEVELOPMENT_RECONCILIATION_'))
|
|
47
|
+
throw error;
|
|
48
|
+
throw code('EVIDENCE_UNAVAILABLE');
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
if (fd !== undefined)
|
|
52
|
+
fs.closeSync(fd);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** OS observation is independent of lease expiry and never sends signals or requeues work. */
|
|
56
|
+
export function reconcileDevelopmentTask(db, userId, input, observer = systemExecutionObserver) {
|
|
57
|
+
const repo = new DevelopmentTaskRepository(db, userId), row = repo.get(input.taskId, input.projectId);
|
|
58
|
+
if (!row || !new ProjectRepository(db, userId).getById(input.projectId))
|
|
59
|
+
throw code('NOT_FOUND');
|
|
60
|
+
const actor = db.prepare('SELECT status FROM users WHERE id=?').get(userId);
|
|
61
|
+
if (actor?.status !== 'active')
|
|
62
|
+
throw code('ACTOR_REVOKED');
|
|
63
|
+
if (row.status !== 'indeterminate' || row.revision !== input.expectedRevision)
|
|
64
|
+
throw code('STALE');
|
|
65
|
+
const identity = recordedIdentity(db, row), observedBoot = z.string().uuid().safeParse(observer.bootIdentity());
|
|
66
|
+
if (!observedBoot.success)
|
|
67
|
+
throw code('BOOT_IDENTITY_UNAVAILABLE');
|
|
68
|
+
const boot = observedBoot.data.toLowerCase();
|
|
69
|
+
let basis = 'host_reboot';
|
|
70
|
+
if (boot === identity.bootIdentity.toLowerCase()) {
|
|
71
|
+
if (identity.phase === 'reserved')
|
|
72
|
+
throw code('RESERVATION_UNCONFIRMED');
|
|
73
|
+
assertStoppedEvidence(identity);
|
|
74
|
+
if (observer.groupHasProcesses(identity.processGroup))
|
|
75
|
+
throw code('STILL_ACTIVE');
|
|
76
|
+
basis = 'supervisor_stopped';
|
|
77
|
+
}
|
|
78
|
+
return repo.reconcile(row, { version: 1, outcome: 'unknown', basis, identityDigest: hashText(canonical(identity)), observedAt: Date.now() });
|
|
79
|
+
}
|
|
80
|
+
export function reconciliationRemedy(codeName) {
|
|
81
|
+
if (codeName === 'DEVELOPMENT_RECONCILIATION_RESERVATION_UNCONFIRMED')
|
|
82
|
+
return 'The execution startup handshake was interrupted on this host boot. Keep it fenced; reboot the host before reconciling the recorded reservation.';
|
|
83
|
+
if (codeName === 'DEVELOPMENT_RECONCILIATION_BOOT_IDENTITY_UNAVAILABLE')
|
|
84
|
+
return 'The current host boot identity is unavailable. Keep the execution fenced until a trustworthy host boot can be observed.';
|
|
85
|
+
if (codeName === 'DEVELOPMENT_RECONCILIATION_IDENTITY_MISSING')
|
|
86
|
+
return 'Legacy execution has no trustworthy process identity. Keep it fenced; use a verified host reset and administrator recovery. Lease expiry or a missing PID is insufficient.';
|
|
87
|
+
if (codeName === 'DEVELOPMENT_RECONCILIATION_STALE')
|
|
88
|
+
return 'Refresh the task and submit its current revision; only indeterminate tasks can be reconciled.';
|
|
89
|
+
if (codeName === 'DEVELOPMENT_RECONCILIATION_STILL_ACTIVE')
|
|
90
|
+
return 'The recorded private process group still has live processes. Wait for the supervisor to finish; reconciliation never kills them.';
|
|
91
|
+
return 'No trustworthy independent stop evidence is available. Keep the task fenced and verify supervisor shutdown, or reboot the host before retrying the recorded execution identity.';
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=reconciliation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconciliation.js","sourceRoot":"","sources":["../../../../src/services/development/reconciliation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Database } from '../../db/types.js';
|
|
2
|
+
import type { TurnInput } from '../agent/run-ledger.js';
|
|
3
|
+
export interface RepairJob {
|
|
4
|
+
id: string;
|
|
5
|
+
user_id: string;
|
|
6
|
+
root_task_id: string;
|
|
7
|
+
failed_task_id: string;
|
|
8
|
+
origin_run_id: string;
|
|
9
|
+
child_run_id: string;
|
|
10
|
+
attempt: number;
|
|
11
|
+
evidence_digest: string;
|
|
12
|
+
submission_step_id: string | null;
|
|
13
|
+
submitted_task_id: string | null;
|
|
14
|
+
report_message_id: string | null;
|
|
15
|
+
}
|
|
16
|
+
export declare function repairJob(db: Database, userId: string, runId: string): RepairJob | undefined;
|
|
17
|
+
export declare function validateRepairJob(db: Database, userId: string, job: RepairJob): {
|
|
18
|
+
root: import("./contracts.js").DevelopmentTaskRow;
|
|
19
|
+
failed: import("./contracts.js").DevelopmentTaskRow;
|
|
20
|
+
origin: TurnInput;
|
|
21
|
+
parent: {
|
|
22
|
+
input_json: string;
|
|
23
|
+
status: string;
|
|
24
|
+
conversation_id: string;
|
|
25
|
+
repair_revoked_at: number | null;
|
|
26
|
+
};
|
|
27
|
+
plan: {
|
|
28
|
+
projectId: string;
|
|
29
|
+
goal: string;
|
|
30
|
+
checks: {
|
|
31
|
+
path: string;
|
|
32
|
+
sha256: string;
|
|
33
|
+
}[];
|
|
34
|
+
sourceFiles: string[];
|
|
35
|
+
changes: {
|
|
36
|
+
path: string;
|
|
37
|
+
content: string | null;
|
|
38
|
+
beforeSha256: string | null;
|
|
39
|
+
}[];
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export declare function assertRepairPlan(db: Database, userId: string, runId: string, stepId: string, raw: unknown): RepairJob | undefined;
|
|
43
|
+
export declare function reserveRepairSubmission(db: Database, userId: string, runId: string, stepId: string, raw: unknown): void;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { DevelopmentTaskRepository } from '../../db/repositories/development-task-repository.js';
|
|
2
|
+
import { ProjectRepository } from '../../db/repositories/project-repository.js';
|
|
3
|
+
import { assertChannelConversationAuthority } from '../channels/channel-run-authority.js';
|
|
4
|
+
import { assertDevelopmentAuthority } from './authority.js';
|
|
5
|
+
import { developmentPlanSchema } from './contracts.js';
|
|
6
|
+
import { prepareSource, hashText } from './workspace.js';
|
|
7
|
+
import { assertChannelRunScope } from '../channels/channel-run-scope.js';
|
|
8
|
+
export function repairJob(db, userId, runId) {
|
|
9
|
+
return db.prepare('SELECT * FROM copilot_repair_jobs WHERE user_id=? AND child_run_id=?').get(userId, runId);
|
|
10
|
+
}
|
|
11
|
+
export function validateRepairJob(db, userId, job) {
|
|
12
|
+
const tasks = new DevelopmentTaskRepository(db, userId), root = tasks.get(job.root_task_id), failed = tasks.get(job.failed_task_id);
|
|
13
|
+
const parent = db.prepare('SELECT input_json,status,conversation_id,repair_revoked_at FROM copilot_runs WHERE user_id=? AND id=?').get(userId, job.origin_run_id);
|
|
14
|
+
const origin = parent ? JSON.parse(parent.input_json) : undefined;
|
|
15
|
+
if (!root || !failed || !parent || parent.repair_revoked_at || !origin?.repairFailedChecks || origin.executionMode || origin.source && origin.source !== 'user'
|
|
16
|
+
|| !['running', 'completed', 'awaiting_approval'].includes(parent.status) || root.origin_run_id !== job.origin_run_id
|
|
17
|
+
|| root.project_id !== failed.project_id || origin.projectId && origin.projectId !== root.project_id
|
|
18
|
+
|| job.attempt < 1 || job.attempt > 2)
|
|
19
|
+
throw new Error('COPILOT_REPAIR_ORIGIN_REVOKED');
|
|
20
|
+
const authorization = db.prepare(`SELECT m.id FROM copilot_messages m
|
|
21
|
+
JOIN copilot_conversations c ON c.id=m.conversation_id AND c.user_id=m.user_id
|
|
22
|
+
WHERE m.user_id=? AND m.conversation_id=? AND c.status='active' AND m.role='user' AND m.kind='text'
|
|
23
|
+
AND m.content=? AND (m.run_id=? OR m.id=?) LIMIT 1`)
|
|
24
|
+
.get(userId, parent.conversation_id, origin.userText, job.origin_run_id, origin.editMessageId ?? null);
|
|
25
|
+
if (!authorization)
|
|
26
|
+
throw new Error('COPILOT_REPAIR_ORIGIN_REVOKED');
|
|
27
|
+
assertChannelConversationAuthority(db, userId, parent.conversation_id);
|
|
28
|
+
assertChannelRunScope(db, userId, origin, { projectIds: [root.project_id], rootPaths: [root.project_root] });
|
|
29
|
+
if (!new ProjectRepository(db, userId).getCopilotAutonomy(root.project_id))
|
|
30
|
+
throw new Error('COPILOT_REPAIR_AUTONOMY_OFF');
|
|
31
|
+
if (job.attempt === 1 && root.id !== failed.id)
|
|
32
|
+
throw new Error('COPILOT_REPAIR_CHAIN_MISMATCH');
|
|
33
|
+
if (job.attempt === 2) {
|
|
34
|
+
const previous = failed.origin_run_id ? repairJob(db, userId, failed.origin_run_id) : undefined;
|
|
35
|
+
if (!previous || previous.attempt !== 1 || previous.root_task_id !== root.id || previous.submitted_task_id !== failed.id)
|
|
36
|
+
throw new Error('COPILOT_REPAIR_CHAIN_MISMATCH');
|
|
37
|
+
}
|
|
38
|
+
assertDevelopmentAuthority(db, root);
|
|
39
|
+
if (failed.id !== root.id)
|
|
40
|
+
assertDevelopmentAuthority(db, failed);
|
|
41
|
+
if (failed.status !== 'checks_failed' || !failed.evidence_json || hashText(failed.evidence_json) !== failed.artifact_digest
|
|
42
|
+
|| failed.artifact_digest !== job.evidence_digest)
|
|
43
|
+
throw new Error('COPILOT_REPAIR_EVIDENCE_CHANGED');
|
|
44
|
+
const evidence = JSON.parse(failed.evidence_json), plan = developmentPlanSchema.parse(JSON.parse(root.plan_json));
|
|
45
|
+
if (evidence.sourceDigest !== failed.source_digest || evidence.outputDigest !== failed.output_digest || evidence.recipeDigest !== failed.recipe_digest
|
|
46
|
+
|| !evidence.checks.length || evidence.checks.length > plan.checks.length
|
|
47
|
+
|| evidence.checks.some((check, index) => check.path !== plan.checks[index]?.path || check.cancelled || check.timedOut)
|
|
48
|
+
|| !evidence.checks.some(check => check.exitCode !== null && check.exitCode !== 0))
|
|
49
|
+
throw new Error('COPILOT_REPAIR_NO_FAILED_CHECK');
|
|
50
|
+
return { root, failed, origin, parent, plan };
|
|
51
|
+
}
|
|
52
|
+
export function assertRepairPlan(db, userId, runId, stepId, raw) {
|
|
53
|
+
const job = repairJob(db, userId, runId);
|
|
54
|
+
if (!job)
|
|
55
|
+
return undefined;
|
|
56
|
+
const { root, plan } = validateRepairJob(db, userId, job), next = developmentPlanSchema.parse(raw);
|
|
57
|
+
if (job.submission_step_id && job.submission_step_id !== stepId)
|
|
58
|
+
throw new Error('COPILOT_REPAIR_SUBMISSION_LIMIT');
|
|
59
|
+
if (next.projectId !== root.project_id || JSON.stringify(next.sourceFiles) !== JSON.stringify(plan.sourceFiles)
|
|
60
|
+
|| JSON.stringify(next.checks) !== JSON.stringify(plan.checks)
|
|
61
|
+
|| next.changes.some(change => !plan.changes.some(original => original.path === change.path)))
|
|
62
|
+
throw new Error('COPILOT_REPAIR_SCOPE_CHANGED');
|
|
63
|
+
for (const check of plan.checks) {
|
|
64
|
+
const expected = plan.changes.find(change => change.path === check.path), actual = next.changes.find(change => change.path === check.path);
|
|
65
|
+
if (JSON.stringify(actual) !== JSON.stringify(expected))
|
|
66
|
+
throw new Error('COPILOT_REPAIR_TEST_CHANGED');
|
|
67
|
+
}
|
|
68
|
+
const prepared = prepareSource(root.project_root, next);
|
|
69
|
+
if (prepared.root !== root.project_root || prepared.sourceDigest !== root.source_digest)
|
|
70
|
+
throw new Error('COPILOT_REPAIR_SOURCE_DRIFT');
|
|
71
|
+
return job;
|
|
72
|
+
}
|
|
73
|
+
export function reserveRepairSubmission(db, userId, runId, stepId, raw) {
|
|
74
|
+
db.transaction(() => {
|
|
75
|
+
const job = assertRepairPlan(db, userId, runId, stepId, raw);
|
|
76
|
+
if (!job)
|
|
77
|
+
throw new Error('COPILOT_REPAIR_ORIGIN_MISSING');
|
|
78
|
+
db.prepare('UPDATE copilot_repair_jobs SET submission_step_id=? WHERE user_id=? AND id=? AND submission_step_id IS NULL').run(stepId, userId, job.id);
|
|
79
|
+
}).immediate();
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=repair-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair-scope.js","sourceRoot":"","sources":["../../../../src/services/development/repair-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,13 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
1
|
import path from 'node:path';
|
|
3
|
-
import os from 'node:os';
|
|
4
2
|
import { randomUUID } from 'node:crypto';
|
|
5
3
|
import { DevelopmentTaskRepository } from '../../db/repositories/development-task-repository.js';
|
|
6
4
|
import { redactAgentErrorMessage, redactAgentValue } from '../agent/redaction.js';
|
|
7
|
-
import { assertDevelopmentAuthority } from './authority.js';
|
|
5
|
+
import { assertDevelopmentAuthority, assertDevelopmentAuthorityCheap } from './authority.js';
|
|
8
6
|
import { prepareSource, writeWorkspace, assertWorkspace, sourceDiff, hashText } from './workspace.js';
|
|
9
7
|
import { runSandboxChecks } from './sandbox.js';
|
|
8
|
+
import { workspaceBase } from './state-directory.js';
|
|
9
|
+
import { executionReservation } from './execution-identity.js';
|
|
10
10
|
const liveWorkers = new WeakMap();
|
|
11
|
-
const bases = new WeakMap();
|
|
12
|
-
function workspaceBase(db) {
|
|
13
|
-
let base = bases.get(db);
|
|
14
|
-
if (base)
|
|
15
|
-
return base;
|
|
16
|
-
base = db.name && db.name !== ':memory:' ? path.join(fs.realpathSync(path.dirname(path.resolve(db.name))), 'development-workspaces') : fs.mkdtempSync(path.join(os.tmpdir(), 'forgebadger-development-'));
|
|
17
|
-
fs.mkdirSync(base, { recursive: true, mode: 0o700 });
|
|
18
|
-
if (fs.lstatSync(base).isSymbolicLink())
|
|
19
|
-
throw new Error('DEVELOPMENT_ROOT_SYMLINK');
|
|
20
|
-
fs.chmodSync(base, 0o700);
|
|
21
|
-
bases.set(db, base);
|
|
22
|
-
return base;
|
|
23
|
-
}
|
|
24
11
|
export function startDevelopmentRuntime(deps) {
|
|
25
12
|
const workers = liveWorkers.get(deps.db) ?? new Map();
|
|
26
13
|
liveWorkers.set(deps.db, workers);
|
|
@@ -75,8 +62,12 @@ async function executeTask(deps, row, controller) {
|
|
|
75
62
|
let error;
|
|
76
63
|
const authorize = () => { if (!deps.db.open || !repo.owns(row.id, owner))
|
|
77
64
|
throw new Error('DEVELOPMENT_EXECUTION_CANCELLED'); assertDevelopmentAuthority(deps.db, row, false); };
|
|
65
|
+
// The 500ms tick probes only cheap liveness/revocation; full authority validation runs at the
|
|
66
|
+
// check boundaries (authorize) and before finish/acceptance, where a false result has consequences.
|
|
78
67
|
const timer = setInterval(() => { try {
|
|
79
|
-
|
|
68
|
+
if (!deps.db.open || !repo.owns(row.id, owner))
|
|
69
|
+
throw new Error('DEVELOPMENT_EXECUTION_CANCELLED');
|
|
70
|
+
assertDevelopmentAuthorityCheap(deps.db, row);
|
|
80
71
|
if (!repo.renew(row.id, owner))
|
|
81
72
|
throw new Error('DEVELOPMENT_LEASE_LOST');
|
|
82
73
|
}
|
|
@@ -101,7 +92,14 @@ async function executeTask(deps, row, controller) {
|
|
|
101
92
|
const remaining = 60000 - (Date.now() - evidence.startedAt);
|
|
102
93
|
if (remaining <= 0)
|
|
103
94
|
throw new Error('DEVELOPMENT_DEADLINE');
|
|
104
|
-
const
|
|
95
|
+
const reservation = executionReservation(deps.db, row.user_id, row.id, owner);
|
|
96
|
+
repo.setExecutionIdentity(row.id, owner, reservation);
|
|
97
|
+
const result = await runSandboxChecks({ workspace: directory, checks: [check.path], signal: controller.signal, timeoutMs: remaining,
|
|
98
|
+
execution: { reservation, onReady(identity) { authorize(); repo.setExecutionIdentity(row.id, owner, identity); } } });
|
|
99
|
+
if (result.executionUncertain) {
|
|
100
|
+
repo.interrupt(row.id, owner);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
105
103
|
evidence.checks.push({ path: check.path, ...result });
|
|
106
104
|
if (result.exitCode !== 0 || result.cancelled || result.timedOut)
|
|
107
105
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/services/development/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/services/development/runtime.ts"],"names":[],"mappings":"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"}
|