@evalops/maestro 0.10.8 → 0.10.11
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 +3 -1
- package/dist/agent/action-approval.d.ts +6 -0
- package/dist/agent/action-approval.d.ts.map +1 -1
- package/dist/agent/action-approval.js.map +1 -1
- package/dist/agent/agent.d.ts +13 -1
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +368 -1
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/auto-compaction.d.ts +4 -4
- package/dist/agent/auto-compaction.d.ts.map +1 -1
- package/dist/agent/auto-compaction.js.map +1 -1
- package/dist/agent/compaction-cleanup.d.ts +2 -0
- package/dist/agent/compaction-cleanup.d.ts.map +1 -1
- package/dist/agent/compaction-cleanup.js +17 -2
- package/dist/agent/compaction-cleanup.js.map +1 -1
- package/dist/agent/compaction.d.ts +3 -1
- package/dist/agent/compaction.d.ts.map +1 -1
- package/dist/agent/compaction.js +10 -2
- package/dist/agent/compaction.js.map +1 -1
- package/dist/agent/context-manager.d.ts +4 -0
- package/dist/agent/context-manager.d.ts.map +1 -1
- package/dist/agent/context-manager.js +8 -0
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/context-providers.d.ts +2 -0
- package/dist/agent/context-providers.d.ts.map +1 -1
- package/dist/agent/context-providers.js +3 -2
- package/dist/agent/context-providers.js.map +1 -1
- package/dist/agent/providers/google-gemini-cli.js +17 -5
- package/dist/agent/providers/google.js +174 -144
- package/dist/agent/providers/openai-codex-responses.d.ts +4 -0
- package/dist/agent/providers/openai-codex-responses.d.ts.map +1 -0
- package/dist/agent/providers/openai-codex-responses.js +637 -0
- package/dist/agent/providers/openai-codex-responses.js.map +1 -0
- package/dist/agent/providers/openai-codex-session.d.ts +18 -0
- package/dist/agent/providers/openai-codex-session.d.ts.map +1 -0
- package/dist/agent/providers/openai-codex-session.js +53 -0
- package/dist/agent/providers/openai-codex-session.js.map +1 -0
- package/dist/agent/providers/openai-responses-sdk.d.ts.map +1 -1
- package/dist/agent/providers/openai-responses-sdk.js +16 -6
- package/dist/agent/providers/openai-responses-sdk.js.map +1 -1
- package/dist/agent/providers/openai-shared.d.ts +12 -5
- package/dist/agent/providers/openai-shared.d.ts.map +1 -1
- package/dist/agent/providers/openai-shared.js +291 -2
- package/dist/agent/providers/openai-shared.js.map +1 -1
- package/dist/agent/providers/openai.d.ts +1 -1
- package/dist/agent/providers/openai.d.ts.map +1 -1
- package/dist/agent/providers/openai.js +48 -20
- package/dist/agent/providers/openai.js.map +1 -1
- package/dist/agent/providers/vertex.js +7 -0
- package/dist/agent/tracing.d.ts +16 -5
- package/dist/agent/tracing.d.ts.map +1 -1
- package/dist/agent/tracing.js +44 -2
- package/dist/agent/tracing.js.map +1 -1
- package/dist/agent/transport/create-provider-stream.d.ts.map +1 -1
- package/dist/agent/transport/create-provider-stream.js +9 -0
- package/dist/agent/transport/create-provider-stream.js.map +1 -1
- package/dist/agent/transport/tool-execution-bridge.d.ts +86 -0
- package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -0
- package/dist/agent/transport/tool-execution-bridge.js +665 -0
- package/dist/agent/transport/tool-execution-bridge.js.map +1 -0
- package/dist/agent/transport/tool-execution.d.ts +3 -0
- package/dist/agent/transport/tool-execution.d.ts.map +1 -1
- package/dist/agent/transport/tool-execution.js +16 -1
- package/dist/agent/transport/tool-execution.js.map +1 -1
- package/dist/agent/transport/tool-safety-pipeline.d.ts +7 -1
- package/dist/agent/transport/tool-safety-pipeline.d.ts.map +1 -1
- package/dist/agent/transport/tool-safety-pipeline.js +207 -40
- package/dist/agent/transport/tool-safety-pipeline.js.map +1 -1
- package/dist/agent/transport/tool-update-queue.d.ts +2 -0
- package/dist/agent/transport/tool-update-queue.d.ts.map +1 -1
- package/dist/agent/transport/tool-update-queue.js.map +1 -1
- package/dist/agent/transport.d.ts +3 -0
- package/dist/agent/transport.d.ts.map +1 -1
- package/dist/agent/transport.js +96 -16
- package/dist/agent/transport.js.map +1 -1
- package/dist/agent/types.d.ts +50 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/approvals/platform-action-approval.d.ts +32 -0
- package/dist/approvals/platform-action-approval.d.ts.map +1 -0
- package/dist/approvals/platform-action-approval.js +210 -0
- package/dist/approvals/platform-action-approval.js.map +1 -0
- package/dist/approvals/service-client.d.ts +56 -0
- package/dist/approvals/service-client.d.ts.map +1 -0
- package/dist/approvals/service-client.js +316 -0
- package/dist/approvals/service-client.js.map +1 -0
- package/dist/audit/logger.d.ts +4 -4
- package/dist/bootstrap/auth-setup.d.ts +2 -2
- package/dist/bootstrap/auth-setup.d.ts.map +1 -1
- package/dist/bootstrap/auth-setup.js +4 -7
- package/dist/bootstrap/auth-setup.js.map +1 -1
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +29 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/codex.d.ts +2 -0
- package/dist/cli/commands/codex.d.ts.map +1 -0
- package/dist/cli/commands/codex.js +65 -0
- package/dist/cli/commands/codex.js.map +1 -0
- package/dist/cli/commands/config.js +1 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/evalops.d.ts +2 -0
- package/dist/cli/commands/evalops.d.ts.map +1 -0
- package/dist/cli/commands/evalops.js +74 -0
- package/dist/cli/commands/evalops.js.map +1 -0
- package/dist/cli/commands/hosted-runner.d.ts +23 -0
- package/dist/cli/commands/hosted-runner.d.ts.map +1 -0
- package/dist/cli/commands/hosted-runner.js +241 -0
- package/dist/cli/commands/hosted-runner.js.map +1 -0
- package/dist/cli/commands/init.d.ts +4 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +140 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/memory.d.ts.map +1 -1
- package/dist/cli/commands/memory.js +23 -30
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/cli/commands/remote.d.ts +3 -0
- package/dist/cli/commands/remote.d.ts.map +1 -0
- package/dist/cli/commands/remote.js +631 -0
- package/dist/cli/commands/remote.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +7 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +167 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/headless-protocol.d.ts +16 -1
- package/dist/cli/headless-protocol.d.ts.map +1 -1
- package/dist/cli/headless-protocol.js +60 -4
- package/dist/cli/headless-protocol.js.map +1 -1
- package/dist/cli/headless.d.ts.map +1 -1
- package/dist/cli/headless.js +1 -0
- package/dist/cli/headless.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +44 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/jsonl-writer.d.ts.map +1 -1
- package/dist/cli/jsonl-writer.js +19 -6
- package/dist/cli/jsonl-writer.js.map +1 -1
- package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +1 -1
- package/dist/cli-tui/client-tools/client-tool-controller.js +17 -1
- package/dist/cli-tui/client-tools/client-tool-controller.js.map +1 -1
- package/dist/cli-tui/commands/access-command.js +1 -1
- package/dist/cli-tui/commands/access-command.js.map +1 -1
- package/dist/cli-tui/commands/audit-command.js +1 -1
- package/dist/cli-tui/commands/audit-command.js.map +1 -1
- package/dist/cli-tui/commands/command-catalog.d.ts +29 -0
- package/dist/cli-tui/commands/command-catalog.d.ts.map +1 -0
- package/dist/cli-tui/commands/command-catalog.js +645 -0
- package/dist/cli-tui/commands/command-catalog.js.map +1 -0
- package/dist/cli-tui/commands/command-registry-adapter.d.ts +12 -0
- package/dist/cli-tui/commands/command-registry-adapter.d.ts.map +1 -0
- package/dist/cli-tui/commands/command-registry-adapter.js +120 -0
- package/dist/cli-tui/commands/command-registry-adapter.js.map +1 -0
- package/dist/cli-tui/commands/command-suite-catalog.d.ts +14 -0
- package/dist/cli-tui/commands/command-suite-catalog.d.ts.map +1 -0
- package/dist/cli-tui/commands/command-suite-catalog.js +147 -0
- package/dist/cli-tui/commands/command-suite-catalog.js.map +1 -0
- package/dist/cli-tui/commands/{grouped-command-handlers.d.ts → command-suite-handlers.d.ts} +27 -26
- package/dist/cli-tui/commands/command-suite-handlers.d.ts.map +1 -0
- package/dist/cli-tui/commands/command-suite-handlers.js +110 -0
- package/dist/cli-tui/commands/command-suite-handlers.js.map +1 -0
- package/dist/cli-tui/commands/hotkeys-command.d.ts +1 -1
- package/dist/cli-tui/commands/hotkeys-command.d.ts.map +1 -1
- package/dist/cli-tui/commands/hotkeys-command.js +2 -2
- package/dist/cli-tui/commands/hotkeys-command.js.map +1 -1
- package/dist/cli-tui/commands/limits-command.js +1 -1
- package/dist/cli-tui/commands/limits-command.js.map +1 -1
- package/dist/cli-tui/commands/pii-command.js +1 -1
- package/dist/cli-tui/commands/pii-command.js.map +1 -1
- package/dist/cli-tui/commands/registry.d.ts +1 -1
- package/dist/cli-tui/commands/registry.d.ts.map +1 -1
- package/dist/cli-tui/commands/registry.js +29 -921
- package/dist/cli-tui/commands/registry.js.map +1 -1
- package/dist/cli-tui/commands/{grouped → subcommands}/auth-commands.d.ts +2 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/auth-commands.js +22 -6
- package/dist/cli-tui/commands/subcommands/auth-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/config-commands.d.ts +0 -1
- package/dist/cli-tui/commands/subcommands/config-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/config-commands.js +2 -2
- package/dist/cli-tui/commands/subcommands/config-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/diag-commands.d.ts +1 -2
- package/dist/cli-tui/commands/subcommands/diag-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/diag-commands.js +5 -7
- package/dist/cli-tui/commands/subcommands/diag-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/git-commands.d.ts +0 -2
- package/dist/cli-tui/commands/subcommands/git-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/git-commands.js +2 -2
- package/dist/cli-tui/commands/subcommands/git-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/index.d.ts +2 -2
- package/dist/cli-tui/commands/subcommands/index.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/index.js +2 -2
- package/dist/cli-tui/commands/subcommands/index.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/safety-commands.d.ts +0 -1
- package/dist/cli-tui/commands/subcommands/safety-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/safety-commands.js +12 -12
- package/dist/cli-tui/commands/subcommands/safety-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/session-commands.d.ts +1 -2
- package/dist/cli-tui/commands/subcommands/session-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/session-commands.js +3 -3
- package/dist/cli-tui/commands/subcommands/session-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/tools-commands.d.ts +0 -1
- package/dist/cli-tui/commands/subcommands/tools-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/tools-commands.js +2 -2
- package/dist/cli-tui/commands/subcommands/tools-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/ui-commands.d.ts +0 -1
- package/dist/cli-tui/commands/subcommands/ui-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/ui-commands.js +5 -5
- package/dist/cli-tui/commands/subcommands/ui-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/undo-commands.d.ts +1 -2
- package/dist/cli-tui/commands/subcommands/undo-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/undo-commands.js +6 -6
- package/dist/cli-tui/commands/subcommands/undo-commands.js.map +1 -0
- package/dist/cli-tui/commands/subcommands/usage-commands.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/usage-commands.js +2 -2
- package/dist/cli-tui/commands/subcommands/usage-commands.js.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/utils.d.ts +15 -15
- package/dist/cli-tui/commands/subcommands/utils.d.ts.map +1 -0
- package/dist/cli-tui/commands/{grouped → subcommands}/utils.js +13 -8
- package/dist/cli-tui/commands/subcommands/utils.js.map +1 -0
- package/dist/cli-tui/commands/types.d.ts +3 -3
- package/dist/cli-tui/commands/types.d.ts.map +1 -1
- package/dist/cli-tui/commands/types.js.map +1 -1
- package/dist/cli-tui/editor-view.d.ts +1 -1
- package/dist/cli-tui/editor-view.d.ts.map +1 -1
- package/dist/cli-tui/editor-view.js +1 -1
- package/dist/cli-tui/editor-view.js.map +1 -1
- package/dist/cli-tui/oauth/oauth-flow-controller.d.ts +4 -0
- package/dist/cli-tui/oauth/oauth-flow-controller.d.ts.map +1 -1
- package/dist/cli-tui/oauth/oauth-flow-controller.js +76 -5
- package/dist/cli-tui/oauth/oauth-flow-controller.js.map +1 -1
- package/dist/cli-tui/run/run-controller.d.ts +2 -2
- package/dist/cli-tui/run/run-controller.d.ts.map +1 -1
- package/dist/cli-tui/run/run-controller.js +3 -2
- package/dist/cli-tui/run/run-controller.js.map +1 -1
- package/dist/cli-tui/run/run-shell-command.d.ts.map +1 -1
- package/dist/cli-tui/run/run-shell-command.js +11 -3
- package/dist/cli-tui/run/run-shell-command.js.map +1 -1
- package/dist/cli-tui/run/streaming-shell-command.d.ts.map +1 -1
- package/dist/cli-tui/run/streaming-shell-command.js +11 -3
- package/dist/cli-tui/run/streaming-shell-command.js.map +1 -1
- package/dist/cli-tui/selectors/model-selector.d.ts.map +1 -1
- package/dist/cli-tui/selectors/model-selector.js +1 -0
- package/dist/cli-tui/selectors/model-selector.js.map +1 -1
- package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts +8 -0
- package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/agent-event-bridge.js +23 -2
- package/dist/cli-tui/tui-renderer/agent-event-bridge.js.map +1 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.d.ts +3 -3
- package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.js +12 -2
- package/dist/cli-tui/tui-renderer/command-registry-options.js.map +1 -1
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts +32 -0
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts.map +1 -0
- package/dist/cli-tui/tui-renderer/command-suite-wiring.js +108 -0
- package/dist/cli-tui/tui-renderer/command-suite-wiring.js.map +1 -0
- package/dist/cli-tui/tui-renderer/input-controller.d.ts +2 -2
- package/dist/cli-tui/tui-renderer/input-controller.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/input-controller.js +2 -2
- package/dist/cli-tui/tui-renderer/input-controller.js.map +1 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +1 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.js +1 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +1 -1
- package/dist/cli-tui/tui-renderer.d.ts +1 -3
- package/dist/cli-tui/tui-renderer.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer.js +37 -83
- package/dist/cli-tui/tui-renderer.js.map +1 -1
- package/dist/cli-tui/utils/runtime-badges.d.ts +8 -0
- package/dist/cli-tui/utils/runtime-badges.d.ts.map +1 -1
- package/dist/cli-tui/utils/runtime-badges.js +58 -0
- package/dist/cli-tui/utils/runtime-badges.js.map +1 -1
- package/dist/cli.js +42555 -23133
- package/dist/cli.js.map +1 -1
- package/dist/config/env-vars.d.ts +4 -0
- package/dist/config/env-vars.d.ts.map +1 -1
- package/dist/config/env-vars.js +4 -0
- package/dist/config/env-vars.js.map +1 -1
- package/dist/config/feature-flags.d.ts +44 -0
- package/dist/config/feature-flags.d.ts.map +1 -1
- package/dist/config/feature-flags.js +214 -0
- package/dist/config/feature-flags.js.map +1 -1
- package/dist/connectors/service-client.d.ts +98 -0
- package/dist/connectors/service-client.d.ts.map +1 -0
- package/dist/connectors/service-client.js +459 -0
- package/dist/connectors/service-client.js.map +1 -0
- package/dist/conversation/render-model.d.ts.map +1 -1
- package/dist/conversation/render-model.js +53 -3
- package/dist/conversation/render-model.js.map +1 -1
- package/dist/db/health.d.ts +8 -0
- package/dist/db/health.d.ts.map +1 -0
- package/dist/db/health.js +64 -0
- package/dist/db/health.js.map +1 -0
- package/dist/db/migrate.d.ts +301 -0
- package/dist/db/migrate.d.ts.map +1 -1
- package/dist/db/migrate.js +186 -0
- package/dist/db/migrate.js.map +1 -1
- package/dist/db/migrations/0000_initial.sql +308 -0
- package/dist/db/migrations/0001_shared_sessions.sql +18 -0
- package/dist/db/migrations/0002_usage_metrics.sql +28 -0
- package/dist/db/migrations/0003_execution_traces.sql +18 -0
- package/dist/db/migrations/0004_workspace_config.sql +11 -0
- package/dist/db/migrations/0005_revenue_attribution.sql +31 -0
- package/dist/db/migrations/0006_hosted_session_storage.sql +51 -0
- package/dist/db/migrations/0007_reconcile_legacy_audit_hash_cache.sql +24 -0
- package/dist/db/migrations/0008_reconcile_legacy_webhook_deliveries.sql +290 -0
- package/dist/db/migrations/meta/0000_snapshot.json +2438 -0
- package/dist/db/migrations/meta/_journal.json +69 -0
- package/dist/db/schema.d.ts +2232 -844
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +187 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/evalops/agent-bootstrap.d.ts +73 -0
- package/dist/evalops/agent-bootstrap.d.ts.map +1 -0
- package/dist/evalops/agent-bootstrap.js +380 -0
- package/dist/evalops/agent-bootstrap.js.map +1 -0
- package/dist/export-html.d.ts.map +1 -1
- package/dist/export-html.js +7 -4
- package/dist/export-html.js.map +1 -1
- package/dist/headless/utility-command-manager.d.ts +2 -1
- package/dist/headless/utility-command-manager.d.ts.map +1 -1
- package/dist/headless/utility-command-manager.js +12 -6
- package/dist/headless/utility-command-manager.js.map +1 -1
- package/dist/headless/utility-file-read.d.ts +1 -0
- package/dist/headless/utility-file-read.d.ts.map +1 -1
- package/dist/headless/utility-file-read.js +5 -1
- package/dist/headless/utility-file-read.js.map +1 -1
- package/dist/headless/utility-file-search.d.ts +1 -0
- package/dist/headless/utility-file-search.d.ts.map +1 -1
- package/dist/headless/utility-file-search.js +4 -1
- package/dist/headless/utility-file-search.js.map +1 -1
- package/dist/headless/utility-file-watch-manager.d.ts +2 -1
- package/dist/headless/utility-file-watch-manager.d.ts.map +1 -1
- package/dist/headless/utility-file-watch-manager.js +6 -2
- package/dist/headless/utility-file-watch-manager.js.map +1 -1
- package/dist/headless/workspace-root.d.ts +8 -0
- package/dist/headless/workspace-root.d.ts.map +1 -0
- package/dist/headless/workspace-root.js +74 -0
- package/dist/headless/workspace-root.js.map +1 -0
- package/dist/hooks/notification-hooks.d.ts +5 -0
- package/dist/hooks/notification-hooks.d.ts.map +1 -1
- package/dist/hooks/notification-hooks.js +4 -0
- package/dist/hooks/notification-hooks.js.map +1 -1
- package/dist/lsp/diagnostic-deltas.d.ts +20 -0
- package/dist/lsp/diagnostic-deltas.d.ts.map +1 -0
- package/dist/lsp/diagnostic-deltas.js +92 -0
- package/dist/lsp/diagnostic-deltas.js.map +1 -0
- package/dist/lsp/diagnostic-repair.d.ts +48 -0
- package/dist/lsp/diagnostic-repair.d.ts.map +1 -0
- package/dist/lsp/diagnostic-repair.js +143 -0
- package/dist/lsp/diagnostic-repair.js.map +1 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +127 -37
- package/dist/main.js.map +1 -1
- package/dist/mcp/config.d.ts +4 -2
- package/dist/mcp/config.d.ts.map +1 -1
- package/dist/mcp/config.js +58 -14
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/manager.d.ts +1 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +1 -0
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/platform-plugin.d.ts +3 -0
- package/dist/mcp/platform-plugin.d.ts.map +1 -0
- package/dist/mcp/platform-plugin.js +117 -0
- package/dist/mcp/platform-plugin.js.map +1 -0
- package/dist/mcp/tool-bridge.d.ts +15 -0
- package/dist/mcp/tool-bridge.d.ts.map +1 -1
- package/dist/mcp/tool-bridge.js +194 -6
- package/dist/mcp/tool-bridge.js.map +1 -1
- package/dist/memory/platform-memory-client.d.ts +130 -0
- package/dist/memory/platform-memory-client.d.ts.map +1 -0
- package/dist/memory/platform-memory-client.js +330 -0
- package/dist/memory/platform-memory-client.js.map +1 -0
- package/dist/memory/service-client.d.ts.map +1 -1
- package/dist/memory/service-client.js +1 -2
- package/dist/memory/service-client.js.map +1 -1
- package/dist/models/builtin.d.ts.map +1 -1
- package/dist/models/builtin.js +137 -0
- package/dist/models/builtin.js.map +1 -1
- package/dist/models/config-loader.d.ts +10 -10
- package/dist/models/config-loader.d.ts.map +1 -1
- package/dist/models/config-loader.js +1 -0
- package/dist/models/config-loader.js.map +1 -1
- package/dist/models/registry.d.ts +1 -0
- package/dist/models/registry.d.ts.map +1 -1
- package/dist/models/registry.js +1 -0
- package/dist/models/registry.js.map +1 -1
- package/dist/oauth/connectors.d.ts +25 -0
- package/dist/oauth/connectors.d.ts.map +1 -0
- package/dist/oauth/connectors.js +253 -0
- package/dist/oauth/connectors.js.map +1 -0
- package/dist/oauth/device-identity.d.ts +18 -0
- package/dist/oauth/device-identity.d.ts.map +1 -0
- package/dist/oauth/device-identity.js +193 -0
- package/dist/oauth/device-identity.js.map +1 -0
- package/dist/oauth/evalops.d.ts.map +1 -1
- package/dist/oauth/evalops.js +74 -15
- package/dist/oauth/evalops.js.map +1 -1
- package/dist/oauth/index.d.ts +1 -1
- package/dist/oauth/index.d.ts.map +1 -1
- package/dist/oauth/index.js +31 -1
- package/dist/oauth/index.js.map +1 -1
- package/dist/oauth/openai-codex.d.ts +16 -0
- package/dist/oauth/openai-codex.d.ts.map +1 -0
- package/dist/oauth/openai-codex.js +300 -0
- package/dist/oauth/openai-codex.js.map +1 -0
- package/dist/opentelemetry.d.ts.map +1 -1
- package/dist/opentelemetry.js +9 -2
- package/dist/opentelemetry.js.map +1 -1
- package/dist/platform/agent-runtime-client.d.ts +279 -0
- package/dist/platform/agent-runtime-client.d.ts.map +1 -0
- package/dist/platform/agent-runtime-client.js +515 -0
- package/dist/platform/agent-runtime-client.js.map +1 -0
- package/dist/platform/cerebro-facts-client.d.ts +56 -0
- package/dist/platform/cerebro-facts-client.d.ts.map +1 -0
- package/dist/platform/cerebro-facts-client.js +297 -0
- package/dist/platform/cerebro-facts-client.js.map +1 -0
- package/dist/platform/client.d.ts +2 -1
- package/dist/platform/client.d.ts.map +1 -1
- package/dist/platform/client.js +9 -26
- package/dist/platform/client.js.map +1 -1
- package/dist/platform/core-services.d.ts +128 -0
- package/dist/platform/core-services.d.ts.map +1 -1
- package/dist/platform/core-services.js +128 -0
- package/dist/platform/core-services.js.map +1 -1
- package/dist/platform/maestro-timeline-client.d.ts +22 -0
- package/dist/platform/maestro-timeline-client.d.ts.map +1 -0
- package/dist/platform/maestro-timeline-client.js +373 -0
- package/dist/platform/maestro-timeline-client.js.map +1 -0
- package/dist/platform/tool-execution-client.d.ts +104 -0
- package/dist/platform/tool-execution-client.d.ts.map +1 -0
- package/dist/platform/tool-execution-client.js +284 -0
- package/dist/platform/tool-execution-client.js.map +1 -0
- package/dist/prompts/service-client.d.ts.map +1 -1
- package/dist/prompts/service-client.js +5 -2
- package/dist/prompts/service-client.js.map +1 -1
- package/dist/providers/anthropic-auth.d.ts.map +1 -1
- package/dist/providers/anthropic-auth.js +8 -6
- package/dist/providers/anthropic-auth.js.map +1 -1
- package/dist/providers/api-keys.d.ts +1 -0
- package/dist/providers/api-keys.d.ts.map +1 -1
- package/dist/providers/api-keys.js +5 -0
- package/dist/providers/api-keys.js.map +1 -1
- package/dist/providers/auth.d.ts +2 -1
- package/dist/providers/auth.d.ts.map +1 -1
- package/dist/providers/auth.js +26 -3
- package/dist/providers/auth.js.map +1 -1
- package/dist/remote-runner/attach-client.d.ts +41 -0
- package/dist/remote-runner/attach-client.d.ts.map +1 -0
- package/dist/remote-runner/attach-client.js +692 -0
- package/dist/remote-runner/attach-client.js.map +1 -0
- package/dist/remote-runner/client.d.ts +205 -0
- package/dist/remote-runner/client.d.ts.map +1 -0
- package/dist/remote-runner/client.js +633 -0
- package/dist/remote-runner/client.js.map +1 -0
- package/dist/safety/action-firewall.d.ts +6 -1
- package/dist/safety/action-firewall.d.ts.map +1 -1
- package/dist/safety/action-firewall.js +62 -26
- package/dist/safety/action-firewall.js.map +1 -1
- package/dist/safety/governance-service-client.d.ts +36 -0
- package/dist/safety/governance-service-client.d.ts.map +1 -0
- package/dist/safety/governance-service-client.js +279 -0
- package/dist/safety/governance-service-client.js.map +1 -0
- package/dist/safety/policy.d.ts +13 -2
- package/dist/safety/policy.d.ts.map +1 -1
- package/dist/safety/policy.js +474 -52
- package/dist/safety/policy.js.map +1 -1
- package/dist/sdk-tools.d.ts +21 -0
- package/dist/sdk-tools.d.ts.map +1 -1
- package/dist/sdk-tools.js +16 -0
- package/dist/sdk-tools.js.map +1 -1
- package/dist/server/app-context.d.ts +25 -0
- package/dist/server/app-context.d.ts.map +1 -1
- package/dist/server/app-context.js.map +1 -1
- package/dist/server/approval-service.d.ts +7 -8
- package/dist/server/approval-service.d.ts.map +1 -1
- package/dist/server/approval-service.js +12 -24
- package/dist/server/approval-service.js.map +1 -1
- package/dist/server/authz.d.ts +23 -2
- package/dist/server/authz.d.ts.map +1 -1
- package/dist/server/authz.js +153 -17
- package/dist/server/authz.js.map +1 -1
- package/dist/server/handlers/approvals.d.ts.map +1 -1
- package/dist/server/handlers/approvals.js +3 -10
- package/dist/server/handlers/approvals.js.map +1 -1
- package/dist/server/handlers/branch.d.ts.map +1 -1
- package/dist/server/handlers/branch.js +29 -20
- package/dist/server/handlers/branch.js.map +1 -1
- package/dist/server/handlers/bridge.d.ts.map +1 -1
- package/dist/server/handlers/bridge.js +3 -2
- package/dist/server/handlers/bridge.js.map +1 -1
- package/dist/server/handlers/chat-ws.d.ts.map +1 -1
- package/dist/server/handlers/chat-ws.js +23 -31
- package/dist/server/handlers/chat-ws.js.map +1 -1
- package/dist/server/handlers/chat.d.ts.map +1 -1
- package/dist/server/handlers/chat.js +105 -46
- package/dist/server/handlers/chat.js.map +1 -1
- package/dist/server/handlers/compliance.d.ts +3 -0
- package/dist/server/handlers/compliance.d.ts.map +1 -0
- package/dist/server/handlers/compliance.js +53 -0
- package/dist/server/handlers/compliance.js.map +1 -0
- package/dist/server/handlers/context.d.ts.map +1 -1
- package/dist/server/handlers/context.js +3 -8
- package/dist/server/handlers/context.js.map +1 -1
- package/dist/server/handlers/fleet.d.ts +4 -0
- package/dist/server/handlers/fleet.d.ts.map +1 -0
- package/dist/server/handlers/fleet.js +9 -0
- package/dist/server/handlers/fleet.js.map +1 -0
- package/dist/server/handlers/headless-sessions.d.ts +4 -0
- package/dist/server/handlers/headless-sessions.d.ts.map +1 -1
- package/dist/server/handlers/headless-sessions.js +168 -3
- package/dist/server/handlers/headless-sessions.js.map +1 -1
- package/dist/server/handlers/health.d.ts +31 -2
- package/dist/server/handlers/health.d.ts.map +1 -1
- package/dist/server/handlers/health.js +82 -8
- package/dist/server/handlers/health.js.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.d.ts +128 -0
- package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -0
- package/dist/server/handlers/hosted-runner-drain.js +373 -0
- package/dist/server/handlers/hosted-runner-drain.js.map +1 -0
- package/dist/server/handlers/hosted-runner-identity.d.ts +17 -0
- package/dist/server/handlers/hosted-runner-identity.d.ts.map +1 -0
- package/dist/server/handlers/hosted-runner-identity.js +39 -0
- package/dist/server/handlers/hosted-runner-identity.js.map +1 -0
- package/dist/server/handlers/intelligent-router.d.ts +3 -0
- package/dist/server/handlers/intelligent-router.d.ts.map +1 -0
- package/dist/server/handlers/intelligent-router.js +141 -0
- package/dist/server/handlers/intelligent-router.js.map +1 -0
- package/dist/server/handlers/models.d.ts.map +1 -1
- package/dist/server/handlers/models.js +14 -0
- package/dist/server/handlers/models.js.map +1 -1
- package/dist/server/handlers/pending-requests.d.ts +8 -0
- package/dist/server/handlers/pending-requests.d.ts.map +1 -0
- package/dist/server/handlers/pending-requests.js +149 -0
- package/dist/server/handlers/pending-requests.js.map +1 -0
- package/dist/server/handlers/revenue-attribution.d.ts +3 -0
- package/dist/server/handlers/revenue-attribution.d.ts.map +1 -0
- package/dist/server/handlers/revenue-attribution.js +45 -0
- package/dist/server/handlers/revenue-attribution.js.map +1 -0
- package/dist/server/handlers/runtime-app-server-ws.d.ts +10 -0
- package/dist/server/handlers/runtime-app-server-ws.d.ts.map +1 -0
- package/dist/server/handlers/runtime-app-server-ws.js +206 -0
- package/dist/server/handlers/runtime-app-server-ws.js.map +1 -0
- package/dist/server/handlers/session-artifacts.js +2 -2
- package/dist/server/handlers/session-artifacts.js.map +1 -1
- package/dist/server/handlers/session-attachments.js +3 -3
- package/dist/server/handlers/session-attachments.js.map +1 -1
- package/dist/server/handlers/session-timeline.d.ts +11 -0
- package/dist/server/handlers/session-timeline.d.ts.map +1 -0
- package/dist/server/handlers/session-timeline.js +77 -0
- package/dist/server/handlers/session-timeline.js.map +1 -0
- package/dist/server/handlers/sessions.d.ts +11 -0
- package/dist/server/handlers/sessions.d.ts.map +1 -1
- package/dist/server/handlers/sessions.js +68 -100
- package/dist/server/handlers/sessions.js.map +1 -1
- package/dist/server/handlers/traces.d.ts +3 -0
- package/dist/server/handlers/traces.d.ts.map +1 -0
- package/dist/server/handlers/traces.js +60 -0
- package/dist/server/handlers/traces.js.map +1 -0
- package/dist/server/handlers/usage-analytics.d.ts +3 -0
- package/dist/server/handlers/usage-analytics.d.ts.map +1 -0
- package/dist/server/handlers/usage-analytics.js +40 -0
- package/dist/server/handlers/usage-analytics.js.map +1 -0
- package/dist/server/handlers/workspace-config.d.ts +3 -0
- package/dist/server/handlers/workspace-config.d.ts.map +1 -0
- package/dist/server/handlers/workspace-config.js +62 -0
- package/dist/server/handlers/workspace-config.js.map +1 -0
- package/dist/server/headless-in-process-host.d.ts +8 -1
- package/dist/server/headless-in-process-host.d.ts.map +1 -1
- package/dist/server/headless-in-process-host.js +6 -0
- package/dist/server/headless-in-process-host.js.map +1 -1
- package/dist/server/headless-runtime-service.d.ts +99 -1
- package/dist/server/headless-runtime-service.d.ts.map +1 -1
- package/dist/server/headless-runtime-service.js +286 -23
- package/dist/server/headless-runtime-service.js.map +1 -1
- package/dist/server/hosted-session-manager.d.ts +103 -0
- package/dist/server/hosted-session-manager.d.ts.map +1 -0
- package/dist/server/hosted-session-manager.js +629 -0
- package/dist/server/hosted-session-manager.js.map +1 -0
- package/dist/server/pending-request-payload.d.ts +4 -0
- package/dist/server/pending-request-payload.d.ts.map +1 -0
- package/dist/server/pending-request-payload.js +107 -0
- package/dist/server/pending-request-payload.js.map +1 -0
- package/dist/server/request-context.d.ts +4 -0
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js +9 -0
- package/dist/server/request-context.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +149 -1
- package/dist/server/routes.js.map +1 -1
- package/dist/server/runtime-ws-access.d.ts +16 -0
- package/dist/server/runtime-ws-access.d.ts.map +1 -0
- package/dist/server/runtime-ws-access.js +21 -0
- package/dist/server/runtime-ws-access.js.map +1 -0
- package/dist/server/server-middlewares.d.ts +1 -1
- package/dist/server/server-middlewares.d.ts.map +1 -1
- package/dist/server/server-middlewares.js +35 -27
- package/dist/server/server-middlewares.js.map +1 -1
- package/dist/server/server-request-manager.d.ts +8 -27
- package/dist/server/server-request-manager.d.ts.map +1 -1
- package/dist/server/server-request-manager.js +7 -0
- package/dist/server/server-request-manager.js.map +1 -1
- package/dist/server/server-utils.d.ts +2 -1
- package/dist/server/server-utils.d.ts.map +1 -1
- package/dist/server/server-utils.js +11 -1
- package/dist/server/server-utils.js.map +1 -1
- package/dist/server/session-event-env.d.ts +2 -0
- package/dist/server/session-event-env.d.ts.map +1 -0
- package/dist/server/session-event-env.js +8 -0
- package/dist/server/session-event-env.js.map +1 -0
- package/dist/server/session-initialization.d.ts +25 -4
- package/dist/server/session-initialization.d.ts.map +1 -1
- package/dist/server/session-initialization.js +22 -5
- package/dist/server/session-initialization.js.map +1 -1
- package/dist/server/session-scope.d.ts +4 -0
- package/dist/server/session-scope.d.ts.map +1 -1
- package/dist/server/session-scope.js +44 -4
- package/dist/server/session-scope.js.map +1 -1
- package/dist/server/session-timeline.d.ts +13 -0
- package/dist/server/session-timeline.d.ts.map +1 -0
- package/dist/server/session-timeline.js +566 -0
- package/dist/server/session-timeline.js.map +1 -0
- package/dist/services/compliance/controls.d.ts +6 -0
- package/dist/services/compliance/controls.d.ts.map +1 -0
- package/dist/services/compliance/controls.js +113 -0
- package/dist/services/compliance/controls.js.map +1 -0
- package/dist/services/compliance/index.d.ts +6 -0
- package/dist/services/compliance/index.d.ts.map +1 -0
- package/dist/services/compliance/index.js +5 -0
- package/dist/services/compliance/index.js.map +1 -0
- package/dist/services/compliance/normalize.d.ts +23 -0
- package/dist/services/compliance/normalize.d.ts.map +1 -0
- package/dist/services/compliance/normalize.js +226 -0
- package/dist/services/compliance/normalize.js.map +1 -0
- package/dist/services/compliance/recorder.d.ts +22 -0
- package/dist/services/compliance/recorder.d.ts.map +1 -0
- package/dist/services/compliance/recorder.js +89 -0
- package/dist/services/compliance/recorder.js.map +1 -0
- package/dist/services/compliance/service.d.ts +24 -0
- package/dist/services/compliance/service.d.ts.map +1 -0
- package/dist/services/compliance/service.js +426 -0
- package/dist/services/compliance/service.js.map +1 -0
- package/dist/services/compliance/types.d.ts +185 -0
- package/dist/services/compliance/types.d.ts.map +1 -0
- package/dist/services/compliance/types.js +2 -0
- package/dist/services/compliance/types.js.map +1 -0
- package/dist/services/intelligent-router/index.d.ts +5 -0
- package/dist/services/intelligent-router/index.d.ts.map +1 -0
- package/dist/services/intelligent-router/index.js +5 -0
- package/dist/services/intelligent-router/index.js.map +1 -0
- package/dist/services/intelligent-router/normalize.d.ts +9 -0
- package/dist/services/intelligent-router/normalize.d.ts.map +1 -0
- package/dist/services/intelligent-router/normalize.js +169 -0
- package/dist/services/intelligent-router/normalize.js.map +1 -0
- package/dist/services/intelligent-router/recorder.d.ts +24 -0
- package/dist/services/intelligent-router/recorder.d.ts.map +1 -0
- package/dist/services/intelligent-router/recorder.js +98 -0
- package/dist/services/intelligent-router/recorder.js.map +1 -0
- package/dist/services/intelligent-router/service.d.ts +22 -0
- package/dist/services/intelligent-router/service.d.ts.map +1 -0
- package/dist/services/intelligent-router/service.js +328 -0
- package/dist/services/intelligent-router/service.js.map +1 -0
- package/dist/services/intelligent-router/types.d.ts +98 -0
- package/dist/services/intelligent-router/types.d.ts.map +1 -0
- package/dist/services/intelligent-router/types.js +7 -0
- package/dist/services/intelligent-router/types.js.map +1 -0
- package/dist/services/revenue-attribution/index.d.ts +4 -0
- package/dist/services/revenue-attribution/index.d.ts.map +1 -0
- package/dist/services/revenue-attribution/index.js +4 -0
- package/dist/services/revenue-attribution/index.js.map +1 -0
- package/dist/services/revenue-attribution/normalize.d.ts +13 -0
- package/dist/services/revenue-attribution/normalize.d.ts.map +1 -0
- package/dist/services/revenue-attribution/normalize.js +155 -0
- package/dist/services/revenue-attribution/normalize.js.map +1 -0
- package/dist/services/revenue-attribution/service.d.ts +21 -0
- package/dist/services/revenue-attribution/service.d.ts.map +1 -0
- package/dist/services/revenue-attribution/service.js +248 -0
- package/dist/services/revenue-attribution/service.js.map +1 -0
- package/dist/services/revenue-attribution/types.d.ts +96 -0
- package/dist/services/revenue-attribution/types.d.ts.map +1 -0
- package/dist/services/revenue-attribution/types.js +7 -0
- package/dist/services/revenue-attribution/types.js.map +1 -0
- package/dist/services/traces/index.d.ts +5 -0
- package/dist/services/traces/index.d.ts.map +1 -0
- package/dist/services/traces/index.js +4 -0
- package/dist/services/traces/index.js.map +1 -0
- package/dist/services/traces/normalize.d.ts +20 -0
- package/dist/services/traces/normalize.d.ts.map +1 -0
- package/dist/services/traces/normalize.js +261 -0
- package/dist/services/traces/normalize.js.map +1 -0
- package/dist/services/traces/otel.d.ts +3 -0
- package/dist/services/traces/otel.d.ts.map +1 -0
- package/dist/services/traces/otel.js +173 -0
- package/dist/services/traces/otel.js.map +1 -0
- package/dist/services/traces/service.d.ts +17 -0
- package/dist/services/traces/service.d.ts.map +1 -0
- package/dist/services/traces/service.js +197 -0
- package/dist/services/traces/service.js.map +1 -0
- package/dist/services/traces/types.d.ts +130 -0
- package/dist/services/traces/types.d.ts.map +1 -0
- package/dist/services/traces/types.js +8 -0
- package/dist/services/traces/types.js.map +1 -0
- package/dist/services/usage-analytics/aggregation.d.ts +18 -0
- package/dist/services/usage-analytics/aggregation.d.ts.map +1 -0
- package/dist/services/usage-analytics/aggregation.js +130 -0
- package/dist/services/usage-analytics/aggregation.js.map +1 -0
- package/dist/services/usage-analytics/index.d.ts +5 -0
- package/dist/services/usage-analytics/index.d.ts.map +1 -0
- package/dist/services/usage-analytics/index.js +4 -0
- package/dist/services/usage-analytics/index.js.map +1 -0
- package/dist/services/usage-analytics/recorder.d.ts +16 -0
- package/dist/services/usage-analytics/recorder.d.ts.map +1 -0
- package/dist/services/usage-analytics/recorder.js +128 -0
- package/dist/services/usage-analytics/recorder.js.map +1 -0
- package/dist/services/usage-analytics/service.d.ts +15 -0
- package/dist/services/usage-analytics/service.d.ts.map +1 -0
- package/dist/services/usage-analytics/service.js +210 -0
- package/dist/services/usage-analytics/service.js.map +1 -0
- package/dist/services/usage-analytics/types.d.ts +80 -0
- package/dist/services/usage-analytics/types.d.ts.map +1 -0
- package/dist/services/usage-analytics/types.js +2 -0
- package/dist/services/usage-analytics/types.js.map +1 -0
- package/dist/services/workspace-config/index.d.ts +6 -0
- package/dist/services/workspace-config/index.d.ts.map +1 -0
- package/dist/services/workspace-config/index.js +5 -0
- package/dist/services/workspace-config/index.js.map +1 -0
- package/dist/services/workspace-config/middleware.d.ts +5 -0
- package/dist/services/workspace-config/middleware.d.ts.map +1 -0
- package/dist/services/workspace-config/middleware.js +98 -0
- package/dist/services/workspace-config/middleware.js.map +1 -0
- package/dist/services/workspace-config/normalize.d.ts +17 -0
- package/dist/services/workspace-config/normalize.d.ts.map +1 -0
- package/dist/services/workspace-config/normalize.js +148 -0
- package/dist/services/workspace-config/normalize.js.map +1 -0
- package/dist/services/workspace-config/policy.d.ts +16 -0
- package/dist/services/workspace-config/policy.d.ts.map +1 -0
- package/dist/services/workspace-config/policy.js +77 -0
- package/dist/services/workspace-config/policy.js.map +1 -0
- package/dist/services/workspace-config/service.d.ts +20 -0
- package/dist/services/workspace-config/service.d.ts.map +1 -0
- package/dist/services/workspace-config/service.js +162 -0
- package/dist/services/workspace-config/service.js.map +1 -0
- package/dist/services/workspace-config/types.d.ts +71 -0
- package/dist/services/workspace-config/types.d.ts.map +1 -0
- package/dist/services/workspace-config/types.js +2 -0
- package/dist/services/workspace-config/types.js.map +1 -0
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +10 -0
- package/dist/session/manager.js.map +1 -1
- package/dist/session/migration.d.ts.map +1 -1
- package/dist/session/migration.js +2 -1
- package/dist/session/migration.js.map +1 -1
- package/dist/session/session-memory.d.ts.map +1 -1
- package/dist/session/session-memory.js +7 -1
- package/dist/session/session-memory.js.map +1 -1
- package/dist/session/types.d.ts +1 -2
- package/dist/session/types.d.ts.map +1 -1
- package/dist/session/types.js +1 -22
- package/dist/session/types.js.map +1 -1
- package/dist/session/wire-format.d.ts +7 -0
- package/dist/session/wire-format.d.ts.map +1 -0
- package/dist/session/wire-format.generated.d.ts +95 -0
- package/dist/session/wire-format.generated.d.ts.map +1 -0
- package/dist/session/wire-format.generated.js +111 -0
- package/dist/session/wire-format.generated.js.map +1 -0
- package/dist/session/wire-format.js +145 -0
- package/dist/session/wire-format.js.map +1 -0
- package/dist/shared-memory/client.d.ts.map +1 -1
- package/dist/shared-memory/client.js +22 -22
- package/dist/shared-memory/client.js.map +1 -1
- package/dist/skills/artifact-metadata.d.ts +16 -0
- package/dist/skills/artifact-metadata.d.ts.map +1 -0
- package/dist/skills/artifact-metadata.js +86 -0
- package/dist/skills/artifact-metadata.js.map +1 -0
- package/dist/skills/loader.d.ts +2 -2
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +1 -0
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/service-client.d.ts +42 -0
- package/dist/skills/service-client.d.ts.map +1 -0
- package/dist/skills/service-client.js +258 -0
- package/dist/skills/service-client.js.map +1 -0
- package/dist/skills/tool.d.ts +3 -0
- package/dist/skills/tool.d.ts.map +1 -1
- package/dist/skills/tool.js +67 -5
- package/dist/skills/tool.js.map +1 -1
- package/dist/telemetry/index.d.ts +4 -0
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +5 -0
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/maestro-event-bus.d.ts +440 -0
- package/dist/telemetry/maestro-event-bus.d.ts.map +1 -0
- package/dist/telemetry/maestro-event-bus.js +784 -0
- package/dist/telemetry/maestro-event-bus.js.map +1 -0
- package/dist/telemetry/maestro-event-catalog.d.ts +48 -0
- package/dist/telemetry/maestro-event-catalog.d.ts.map +1 -0
- package/dist/telemetry/maestro-event-catalog.js +69 -0
- package/dist/telemetry/maestro-event-catalog.js.map +1 -0
- package/dist/telemetry/maestro-platform-replay-fixture.d.ts +24 -0
- package/dist/telemetry/maestro-platform-replay-fixture.d.ts.map +1 -0
- package/dist/telemetry/maestro-platform-replay-fixture.js +400 -0
- package/dist/telemetry/maestro-platform-replay-fixture.js.map +1 -0
- package/dist/telemetry/maestro-publisher-conformance-fixture.d.ts +29 -0
- package/dist/telemetry/maestro-publisher-conformance-fixture.d.ts.map +1 -0
- package/dist/telemetry/maestro-publisher-conformance-fixture.js +240 -0
- package/dist/telemetry/maestro-publisher-conformance-fixture.js.map +1 -0
- package/dist/telemetry/meter-service-client.d.ts +0 -33
- package/dist/telemetry/meter-service-client.d.ts.map +1 -1
- package/dist/telemetry/meter-service-client.js +22 -50
- package/dist/telemetry/meter-service-client.js.map +1 -1
- package/dist/telemetry/turn-tracker.d.ts.map +1 -1
- package/dist/telemetry/turn-tracker.js +5 -5
- package/dist/telemetry/turn-tracker.js.map +1 -1
- package/dist/telemetry/wide-events.d.ts +8 -0
- package/dist/telemetry/wide-events.d.ts.map +1 -1
- package/dist/telemetry/wide-events.js +28 -0
- package/dist/telemetry/wide-events.js.map +1 -1
- package/dist/telemetry.d.ts +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +14 -4
- package/dist/telemetry.js.map +1 -1
- package/dist/timeline/redaction.d.ts +5 -0
- package/dist/timeline/redaction.d.ts.map +1 -0
- package/dist/timeline/redaction.js +119 -0
- package/dist/timeline/redaction.js.map +1 -0
- package/dist/tools/ask-user.d.ts +26 -0
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/ask-user.js +33 -1
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/background/task-types.d.ts +1 -1
- package/dist/tools/edit.d.ts +2 -0
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +27 -7
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/index.d.ts +9 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/pipeline.d.ts.map +1 -1
- package/dist/tools/pipeline.js +16 -7
- package/dist/tools/pipeline.js.map +1 -1
- package/dist/tools/write.d.ts +2 -0
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +24 -6
- package/dist/tools/write.js.map +1 -1
- package/dist/tracking/cost-tracker.d.ts +15 -12
- package/dist/tracking/cost-tracker.d.ts.map +1 -1
- package/dist/tracking/cost-tracker.js +29 -40
- package/dist/tracking/cost-tracker.js.map +1 -1
- package/dist/utils/checkpoint-profiler.d.ts +29 -0
- package/dist/utils/checkpoint-profiler.d.ts.map +1 -0
- package/dist/utils/checkpoint-profiler.js +118 -0
- package/dist/utils/checkpoint-profiler.js.map +1 -0
- package/dist/utils/downstream-http.d.ts +21 -0
- package/dist/utils/downstream-http.d.ts.map +1 -0
- package/dist/utils/downstream-http.js +151 -0
- package/dist/utils/downstream-http.js.map +1 -0
- package/dist/utils/downstream.d.ts +18 -0
- package/dist/utils/downstream.d.ts.map +1 -0
- package/dist/utils/downstream.js +47 -0
- package/dist/utils/downstream.js.map +1 -0
- package/dist/utils/logger.d.ts +3 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +12 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/oauth-http.d.ts +8 -0
- package/dist/utils/oauth-http.d.ts.map +1 -0
- package/dist/utils/oauth-http.js +41 -0
- package/dist/utils/oauth-http.js.map +1 -0
- package/dist/utils/path-utils.d.ts +2 -0
- package/dist/utils/path-utils.d.ts.map +1 -0
- package/dist/utils/path-utils.js +12 -0
- package/dist/utils/path-utils.js.map +1 -0
- package/dist/utils/path-validation.d.ts +1 -1
- package/dist/utils/path-validation.d.ts.map +1 -1
- package/dist/utils/path-validation.js +3 -3
- package/dist/utils/path-validation.js.map +1 -1
- package/dist/version.json +2 -2
- package/dist/web-server.d.ts +7 -1
- package/dist/web-server.d.ts.map +1 -1
- package/dist/web-server.js +117 -15
- package/dist/web-server.js.map +1 -1
- package/dist/webhooks/delivery.d.ts.map +1 -1
- package/dist/webhooks/delivery.js +9 -12
- package/dist/webhooks/delivery.js.map +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/descriptors.d.ts +12 -5
- package/node_modules/@bufbuild/protobuf/dist/cjs/from-binary.js +7 -7
- package/node_modules/@bufbuild/protobuf/dist/cjs/from-json.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/from-json.js +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/path.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/registry.js +24 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/to-json.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/to-json.js +9 -10
- package/node_modules/@bufbuild/protobuf/dist/cjs/types.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/binary-encoding.d.ts +9 -7
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/binary-encoding.js +18 -8
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/text-encoding.d.ts +4 -2
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/text-encoding.js +8 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/api_pb.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +2 -2
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +37 -23
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +1 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.d.ts +32 -36
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/go_features_pb.d.ts +65 -0
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/go_features_pb.js +38 -2
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.d.ts +5 -5
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/type_pb.d.ts +3 -3
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/wrappers.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/wrappers.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.d.ts +12 -5
- package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.js +7 -7
- package/node_modules/@bufbuild/protobuf/dist/esm/from-json.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/from-json.js +2 -2
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/registry.js +24 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/to-json.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/to-json.js +10 -11
- package/node_modules/@bufbuild/protobuf/dist/esm/types.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.d.ts +9 -7
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.js +18 -8
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.d.ts +4 -2
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.js +8 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.d.ts +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +2 -2
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +37 -23
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +1 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.d.ts +32 -36
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.d.ts +65 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.js +37 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.d.ts +5 -5
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.d.ts +3 -3
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.js +23 -0
- package/node_modules/@bufbuild/protobuf/package.json +1 -1
- package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.d.ts +305 -2
- package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.js +34 -4
- package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/index.d.ts +88 -0
- package/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/index.js +2 -0
- package/node_modules/@evalops/contracts/dist/index.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.d.ts +77 -77
- package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.js +1 -1
- package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/runtime-app-server.d.ts +182 -0
- package/node_modules/@evalops/contracts/dist/runtime-app-server.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/runtime-app-server.js +83 -0
- package/node_modules/@evalops/contracts/dist/runtime-app-server.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/runtime-server-request.d.ts +133 -0
- package/node_modules/@evalops/contracts/dist/runtime-server-request.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/runtime-server-request.js +68 -0
- package/node_modules/@evalops/contracts/dist/runtime-server-request.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/schemas.d.ts +178 -0
- package/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/schemas.js +165 -0
- package/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
- package/node_modules/@evalops/contracts/dist/typebox-utils.d.ts +2 -0
- package/node_modules/@evalops/contracts/dist/typebox-utils.d.ts.map +1 -0
- package/node_modules/@evalops/contracts/dist/typebox-utils.js +5 -0
- package/node_modules/@evalops/contracts/dist/typebox-utils.js.map +1 -0
- package/node_modules/@evalops/contracts/dist/validators.d.ts +4 -1
- package/node_modules/@evalops/contracts/dist/validators.d.ts.map +1 -1
- package/node_modules/@evalops/contracts/dist/validators.js +4 -1
- package/node_modules/@evalops/contracts/dist/validators.js.map +1 -1
- package/node_modules/@evalops/contracts/package.json +1 -1
- package/node_modules/@evalops/tui/package.json +1 -1
- package/node_modules/string-width/index.js +93 -9
- package/node_modules/string-width/package.json +1 -1
- package/package.json +32 -25
- package/dist/cli-tui/commands/grouped/auth-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/auth-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/config-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/config-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/diag-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/diag-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/git-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/git-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/index.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/index.js.map +0 -1
- package/dist/cli-tui/commands/grouped/safety-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/safety-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/session-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/session-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/tools-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/tools-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/ui-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/ui-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/undo-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/undo-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/usage-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/usage-commands.js.map +0 -1
- package/dist/cli-tui/commands/grouped/utils.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped/utils.js.map +0 -1
- package/dist/cli-tui/commands/grouped-command-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/grouped-command-handlers.js +0 -135
- package/dist/cli-tui/commands/grouped-command-handlers.js.map +0 -1
- package/dist/cli-tui/tui-renderer/grouped-handlers-wiring.d.ts +0 -78
- package/dist/cli-tui/tui-renderer/grouped-handlers-wiring.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/grouped-handlers-wiring.js +0 -129
- package/dist/cli-tui/tui-renderer/grouped-handlers-wiring.js.map +0 -1
- package/node_modules/@evalops/memory/dist/client.d.ts +0 -94
- package/node_modules/@evalops/memory/dist/client.js +0 -503
- package/node_modules/@evalops/memory/gen/proto/dist/memory/v1/memory_pb.d.ts +0 -608
- package/node_modules/@evalops/memory/gen/proto/dist/memory/v1/memory_pb.js +0 -187
- package/node_modules/@evalops/memory/package.json +0 -26
- /package/dist/cli-tui/commands/{grouped → subcommands}/usage-commands.d.ts +0 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { loadOAuthCredentials } from "../oauth/storage.js";
|
|
2
|
+
import { fetchDownstream, } from "../utils/downstream-http.js";
|
|
3
|
+
import * as downstream from "../utils/downstream.js";
|
|
4
|
+
const CONNECT_PROTOCOL_VERSION = "1";
|
|
5
|
+
const DEFAULT_LIMIT = 100;
|
|
6
|
+
const DEFAULT_MAX_ATTEMPTS = 2;
|
|
7
|
+
const DEFAULT_SURFACE = "maestro";
|
|
8
|
+
const DEFAULT_TIMEOUT_MS = 2_000;
|
|
9
|
+
const LIST_SKILLS_PATH = "/skills.v1.SkillService/List";
|
|
10
|
+
export const SKILLS_CALL_FAILURE_MODES = {
|
|
11
|
+
listSkills: {
|
|
12
|
+
optional: downstream.FailOpen,
|
|
13
|
+
required: downstream.FailClosed,
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
const downstreamClients = new Map();
|
|
17
|
+
function trimString(value) {
|
|
18
|
+
const trimmed = value?.trim();
|
|
19
|
+
return trimmed ? trimmed : undefined;
|
|
20
|
+
}
|
|
21
|
+
function getEnvValue(names) {
|
|
22
|
+
for (const name of names) {
|
|
23
|
+
const value = trimString(process.env[name]);
|
|
24
|
+
if (value) {
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
function parsePositiveInt(value, fallback) {
|
|
31
|
+
const parsed = Number.parseInt(value ?? "", 10);
|
|
32
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
|
|
33
|
+
}
|
|
34
|
+
function normalizeBaseUrl(baseUrl) {
|
|
35
|
+
let normalized = baseUrl.trim();
|
|
36
|
+
for (const suffix of [LIST_SKILLS_PATH, "/skills.v1.SkillService"]) {
|
|
37
|
+
if (normalized.endsWith(suffix)) {
|
|
38
|
+
normalized = normalized.slice(0, -suffix.length);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return normalized.replace(/\/+$/, "");
|
|
42
|
+
}
|
|
43
|
+
function resolveWorkspaceId(config) {
|
|
44
|
+
const configuredWorkspaceId = trimString(config?.workspaceId);
|
|
45
|
+
const envWorkspaceId = getEnvValue([
|
|
46
|
+
"SKILLS_SERVICE_WORKSPACE_ID",
|
|
47
|
+
"MAESTRO_SKILLS_WORKSPACE_ID",
|
|
48
|
+
"MAESTRO_EVALOPS_ORG_ID",
|
|
49
|
+
"EVALOPS_ORGANIZATION_ID",
|
|
50
|
+
"MAESTRO_ENTERPRISE_ORG_ID",
|
|
51
|
+
]);
|
|
52
|
+
if (configuredWorkspaceId ?? envWorkspaceId) {
|
|
53
|
+
return configuredWorkspaceId ?? envWorkspaceId;
|
|
54
|
+
}
|
|
55
|
+
const stored = loadOAuthCredentials("evalops")?.metadata?.organizationId;
|
|
56
|
+
return typeof stored === "string" && stored.trim().length > 0
|
|
57
|
+
? stored.trim()
|
|
58
|
+
: undefined;
|
|
59
|
+
}
|
|
60
|
+
function normalizeLimit(value) {
|
|
61
|
+
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
62
|
+
return DEFAULT_LIMIT;
|
|
63
|
+
}
|
|
64
|
+
return Math.max(1, Math.min(500, Math.trunc(value)));
|
|
65
|
+
}
|
|
66
|
+
export function resolveSkillsServiceConfig(config) {
|
|
67
|
+
if (config === false) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
const baseUrl = trimString(config?.baseUrl) ??
|
|
71
|
+
getEnvValue(["SKILLS_SERVICE_URL", "MAESTRO_SKILLS_SERVICE_URL"]);
|
|
72
|
+
if (!baseUrl) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
const workspaceId = resolveWorkspaceId(config);
|
|
76
|
+
if (!workspaceId) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
const storedToken = trimString(loadOAuthCredentials("evalops")?.access);
|
|
80
|
+
const token = trimString(config?.token) ??
|
|
81
|
+
getEnvValue([
|
|
82
|
+
"SKILLS_SERVICE_TOKEN",
|
|
83
|
+
"MAESTRO_SKILLS_SERVICE_TOKEN",
|
|
84
|
+
"MAESTRO_EVALOPS_ACCESS_TOKEN",
|
|
85
|
+
]) ??
|
|
86
|
+
storedToken;
|
|
87
|
+
const required = config?.required ??
|
|
88
|
+
getEnvValue([
|
|
89
|
+
"SKILLS_SERVICE_REQUIRED",
|
|
90
|
+
"MAESTRO_SKILLS_SERVICE_REQUIRED",
|
|
91
|
+
]) === "1";
|
|
92
|
+
return {
|
|
93
|
+
baseUrl: normalizeBaseUrl(baseUrl),
|
|
94
|
+
circuitFailureThreshold: config?.circuitFailureThreshold ??
|
|
95
|
+
parsePositiveInt(getEnvValue([
|
|
96
|
+
"SKILLS_SERVICE_CIRCUIT_FAILURE_THRESHOLD",
|
|
97
|
+
"MAESTRO_SKILLS_SERVICE_CIRCUIT_FAILURE_THRESHOLD",
|
|
98
|
+
]), 5),
|
|
99
|
+
circuitResetTimeoutMs: config?.circuitResetTimeoutMs ??
|
|
100
|
+
parsePositiveInt(getEnvValue([
|
|
101
|
+
"SKILLS_SERVICE_CIRCUIT_RESET_TIMEOUT_MS",
|
|
102
|
+
"MAESTRO_SKILLS_SERVICE_CIRCUIT_RESET_TIMEOUT_MS",
|
|
103
|
+
]), 30_000),
|
|
104
|
+
circuitSuccessThreshold: config?.circuitSuccessThreshold ??
|
|
105
|
+
parsePositiveInt(getEnvValue([
|
|
106
|
+
"SKILLS_SERVICE_CIRCUIT_SUCCESS_THRESHOLD",
|
|
107
|
+
"MAESTRO_SKILLS_SERVICE_CIRCUIT_SUCCESS_THRESHOLD",
|
|
108
|
+
]), 2),
|
|
109
|
+
entityId: trimString(config?.entityId) ??
|
|
110
|
+
getEnvValue(["SKILLS_SERVICE_ENTITY_ID", "MAESTRO_SKILLS_ENTITY_ID"]),
|
|
111
|
+
failureMode: required ? "required" : "optional",
|
|
112
|
+
limit: config?.limit ??
|
|
113
|
+
parsePositiveInt(getEnvValue(["SKILLS_SERVICE_LIMIT", "MAESTRO_SKILLS_SERVICE_LIMIT"]), DEFAULT_LIMIT),
|
|
114
|
+
maxAttempts: config?.maxAttempts ??
|
|
115
|
+
parsePositiveInt(getEnvValue([
|
|
116
|
+
"SKILLS_SERVICE_MAX_ATTEMPTS",
|
|
117
|
+
"MAESTRO_SKILLS_SERVICE_MAX_ATTEMPTS",
|
|
118
|
+
]), DEFAULT_MAX_ATTEMPTS),
|
|
119
|
+
surface: trimString(config?.surface) ??
|
|
120
|
+
getEnvValue(["SKILLS_SERVICE_SURFACE"]) ??
|
|
121
|
+
DEFAULT_SURFACE,
|
|
122
|
+
timeoutMs: config?.timeoutMs ??
|
|
123
|
+
parsePositiveInt(getEnvValue([
|
|
124
|
+
"SKILLS_SERVICE_TIMEOUT_MS",
|
|
125
|
+
"MAESTRO_SKILLS_SERVICE_TIMEOUT_MS",
|
|
126
|
+
]), DEFAULT_TIMEOUT_MS),
|
|
127
|
+
token,
|
|
128
|
+
workspaceId,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
function getDownstreamClient(config, op) {
|
|
132
|
+
const failureMode = SKILLS_CALL_FAILURE_MODES[op][config.failureMode];
|
|
133
|
+
const key = JSON.stringify({
|
|
134
|
+
baseUrl: config.baseUrl,
|
|
135
|
+
failureMode,
|
|
136
|
+
op,
|
|
137
|
+
reset: config.circuitResetTimeoutMs,
|
|
138
|
+
success: config.circuitSuccessThreshold,
|
|
139
|
+
threshold: config.circuitFailureThreshold,
|
|
140
|
+
});
|
|
141
|
+
const cached = downstreamClients.get(key);
|
|
142
|
+
if (cached) {
|
|
143
|
+
return cached;
|
|
144
|
+
}
|
|
145
|
+
const client = downstream.New(`skills.${op}`, {
|
|
146
|
+
failureMode,
|
|
147
|
+
breaker: {
|
|
148
|
+
failureThreshold: config.circuitFailureThreshold,
|
|
149
|
+
resetTimeoutMs: config.circuitResetTimeoutMs,
|
|
150
|
+
successThreshold: config.circuitSuccessThreshold,
|
|
151
|
+
toolName: `skills.${op}`,
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
downstreamClients.set(key, client);
|
|
155
|
+
return client;
|
|
156
|
+
}
|
|
157
|
+
function toHttpFailureMode(client) {
|
|
158
|
+
return client.failureMode === downstream.FailClosed ? "required" : "optional";
|
|
159
|
+
}
|
|
160
|
+
function buildHeaders(config) {
|
|
161
|
+
return {
|
|
162
|
+
...(config.token ? { Authorization: `Bearer ${config.token}` } : {}),
|
|
163
|
+
"Connect-Protocol-Version": CONNECT_PROTOCOL_VERSION,
|
|
164
|
+
"Content-Type": "application/json",
|
|
165
|
+
"X-Surface": config.surface,
|
|
166
|
+
...(config.entityId ? { "X-Entity-ID": config.entityId } : {}),
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
function normalizeScope(scope) {
|
|
170
|
+
switch (scope) {
|
|
171
|
+
case "SKILL_SCOPE_GLOBAL":
|
|
172
|
+
case "global":
|
|
173
|
+
case 1:
|
|
174
|
+
return "global";
|
|
175
|
+
case "SKILL_SCOPE_WORKSPACE":
|
|
176
|
+
case "workspace":
|
|
177
|
+
case 2:
|
|
178
|
+
return "workspace";
|
|
179
|
+
case "SKILL_SCOPE_PERSONAL":
|
|
180
|
+
case "personal":
|
|
181
|
+
case 3:
|
|
182
|
+
return "personal";
|
|
183
|
+
default:
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
function normalizeTags(tags) {
|
|
188
|
+
const normalized = Array.isArray(tags)
|
|
189
|
+
? tags.map((tag) => tag.trim()).filter((tag) => tag.length > 0)
|
|
190
|
+
: [];
|
|
191
|
+
return normalized.length > 0 ? normalized : undefined;
|
|
192
|
+
}
|
|
193
|
+
function toLoadedSkill(skill) {
|
|
194
|
+
const id = trimString(skill.id);
|
|
195
|
+
const name = trimString(skill.name);
|
|
196
|
+
const content = trimString(skill.content);
|
|
197
|
+
if (!id || !name || !content) {
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
const scope = normalizeScope(skill.scope);
|
|
201
|
+
const metadata = {
|
|
202
|
+
skillServiceId: id,
|
|
203
|
+
...(trimString(skill.workspaceId)
|
|
204
|
+
? { workspaceId: trimString(skill.workspaceId) }
|
|
205
|
+
: {}),
|
|
206
|
+
...(trimString(skill.ownerId)
|
|
207
|
+
? { ownerId: trimString(skill.ownerId) }
|
|
208
|
+
: {}),
|
|
209
|
+
...(typeof skill.currentVersion === "number" &&
|
|
210
|
+
Number.isFinite(skill.currentVersion)
|
|
211
|
+
? { currentVersion: String(Math.trunc(skill.currentVersion)) }
|
|
212
|
+
: {}),
|
|
213
|
+
...(scope ? { scope } : {}),
|
|
214
|
+
};
|
|
215
|
+
return {
|
|
216
|
+
name,
|
|
217
|
+
description: trimString(skill.description) ?? "Skill from skills service",
|
|
218
|
+
content,
|
|
219
|
+
metadata,
|
|
220
|
+
tags: normalizeTags(skill.tags),
|
|
221
|
+
sourcePath: `skills-service://${id}`,
|
|
222
|
+
sourceType: "service",
|
|
223
|
+
resources: [],
|
|
224
|
+
resourceDirs: {},
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
export async function loadSkillsFromService(config, options) {
|
|
228
|
+
const client = getDownstreamClient(config, "listSkills");
|
|
229
|
+
return downstream.CallOp(client, "listSkills", async () => {
|
|
230
|
+
const response = await fetchDownstream(`${config.baseUrl}${LIST_SKILLS_PATH}`, {
|
|
231
|
+
method: "POST",
|
|
232
|
+
headers: buildHeaders(config),
|
|
233
|
+
signal: options?.signal,
|
|
234
|
+
body: JSON.stringify({
|
|
235
|
+
workspaceId: config.workspaceId,
|
|
236
|
+
limit: normalizeLimit(config.limit),
|
|
237
|
+
offset: 0,
|
|
238
|
+
}),
|
|
239
|
+
}, {
|
|
240
|
+
serviceName: "skills service",
|
|
241
|
+
failureMode: toHttpFailureMode(client),
|
|
242
|
+
timeoutMs: config.timeoutMs,
|
|
243
|
+
maxAttempts: config.maxAttempts,
|
|
244
|
+
});
|
|
245
|
+
if (!response.ok) {
|
|
246
|
+
const text = await response.text();
|
|
247
|
+
throw new Error(`skills service returned ${response.status}: ${text || response.statusText}`);
|
|
248
|
+
}
|
|
249
|
+
const payload = (await response.json());
|
|
250
|
+
return (payload.skills ?? [])
|
|
251
|
+
.map(toLoadedSkill)
|
|
252
|
+
.filter((skill) => skill !== null);
|
|
253
|
+
}, () => []);
|
|
254
|
+
}
|
|
255
|
+
export function resetSkillsDownstreamForTests() {
|
|
256
|
+
downstreamClients.clear();
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=service-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-client.js","sourceRoot":"","sources":["../../src/skills/service-client.ts"],"names":[],"mappings":"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","sourcesContent":["import { loadOAuthCredentials } from \"../oauth/storage.js\";\nimport {\n\ttype DownstreamFailureMode as DownstreamHttpFailureMode,\n\tfetchDownstream,\n} from \"../utils/downstream-http.js\";\nimport * as downstream from \"../utils/downstream.js\";\nimport type { LoadedSkill } from \"./loader.js\";\n\nconst CONNECT_PROTOCOL_VERSION = \"1\";\nconst DEFAULT_LIMIT = 100;\nconst DEFAULT_MAX_ATTEMPTS = 2;\nconst DEFAULT_SURFACE = \"maestro\";\nconst DEFAULT_TIMEOUT_MS = 2_000;\nconst LIST_SKILLS_PATH = \"/skills.v1.SkillService/List\";\n\nexport const SKILLS_CALL_FAILURE_MODES = {\n\tlistSkills: {\n\t\toptional: downstream.FailOpen,\n\t\trequired: downstream.FailClosed,\n\t},\n} as const;\n\ntype SkillsCall = keyof typeof SKILLS_CALL_FAILURE_MODES;\n\nexport interface SkillsServiceConfig {\n\tbaseUrl?: string;\n\ttoken?: string;\n\tworkspaceId?: string;\n\tsurface?: string;\n\tentityId?: string;\n\tlimit?: number;\n\ttimeoutMs?: number;\n\tmaxAttempts?: number;\n\tcircuitFailureThreshold?: number;\n\tcircuitResetTimeoutMs?: number;\n\tcircuitSuccessThreshold?: number;\n\trequired?: boolean;\n}\n\nexport interface ResolvedSkillsServiceConfig {\n\tbaseUrl: string;\n\ttoken?: string;\n\tworkspaceId: string;\n\tsurface: string;\n\tentityId?: string;\n\tlimit: number;\n\ttimeoutMs: number;\n\tmaxAttempts: number;\n\tcircuitFailureThreshold: number;\n\tcircuitResetTimeoutMs: number;\n\tcircuitSuccessThreshold: number;\n\tfailureMode: DownstreamHttpFailureMode;\n}\n\ninterface SkillsServiceSkill {\n\tid?: string;\n\tworkspaceId?: string;\n\townerId?: string;\n\tname?: string;\n\tdescription?: string;\n\tscope?: string | number;\n\tcontent?: string;\n\tcurrentVersion?: number;\n\ttags?: string[];\n}\n\ninterface ListSkillsResponse {\n\tskills?: SkillsServiceSkill[];\n\ttotal?: number;\n}\n\nconst downstreamClients = new Map<string, downstream.DownstreamClient>();\n\nfunction trimString(value: string | undefined): string | undefined {\n\tconst trimmed = value?.trim();\n\treturn trimmed ? trimmed : undefined;\n}\n\nfunction getEnvValue(names: string[]): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = trimString(process.env[name]);\n\t\tif (value) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction parsePositiveInt(value: string | undefined, fallback: number): number {\n\tconst parsed = Number.parseInt(value ?? \"\", 10);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;\n}\n\nfunction normalizeBaseUrl(baseUrl: string): string {\n\tlet normalized = baseUrl.trim();\n\tfor (const suffix of [LIST_SKILLS_PATH, \"/skills.v1.SkillService\"]) {\n\t\tif (normalized.endsWith(suffix)) {\n\t\t\tnormalized = normalized.slice(0, -suffix.length);\n\t\t}\n\t}\n\treturn normalized.replace(/\\/+$/, \"\");\n}\n\nfunction resolveWorkspaceId(\n\tconfig: SkillsServiceConfig | undefined,\n): string | undefined {\n\tconst configuredWorkspaceId = trimString(config?.workspaceId);\n\tconst envWorkspaceId = getEnvValue([\n\t\t\"SKILLS_SERVICE_WORKSPACE_ID\",\n\t\t\"MAESTRO_SKILLS_WORKSPACE_ID\",\n\t\t\"MAESTRO_EVALOPS_ORG_ID\",\n\t\t\"EVALOPS_ORGANIZATION_ID\",\n\t\t\"MAESTRO_ENTERPRISE_ORG_ID\",\n\t]);\n\tif (configuredWorkspaceId ?? envWorkspaceId) {\n\t\treturn configuredWorkspaceId ?? envWorkspaceId;\n\t}\n\tconst stored = loadOAuthCredentials(\"evalops\")?.metadata?.organizationId;\n\treturn typeof stored === \"string\" && stored.trim().length > 0\n\t\t? stored.trim()\n\t\t: undefined;\n}\n\nfunction normalizeLimit(value: number | undefined): number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value)) {\n\t\treturn DEFAULT_LIMIT;\n\t}\n\treturn Math.max(1, Math.min(500, Math.trunc(value)));\n}\n\nexport function resolveSkillsServiceConfig(\n\tconfig: SkillsServiceConfig | false | undefined,\n): ResolvedSkillsServiceConfig | null {\n\tif (config === false) {\n\t\treturn null;\n\t}\n\n\tconst baseUrl =\n\t\ttrimString(config?.baseUrl) ??\n\t\tgetEnvValue([\"SKILLS_SERVICE_URL\", \"MAESTRO_SKILLS_SERVICE_URL\"]);\n\tif (!baseUrl) {\n\t\treturn null;\n\t}\n\n\tconst workspaceId = resolveWorkspaceId(config);\n\tif (!workspaceId) {\n\t\treturn null;\n\t}\n\n\tconst storedToken = trimString(loadOAuthCredentials(\"evalops\")?.access);\n\tconst token =\n\t\ttrimString(config?.token) ??\n\t\tgetEnvValue([\n\t\t\t\"SKILLS_SERVICE_TOKEN\",\n\t\t\t\"MAESTRO_SKILLS_SERVICE_TOKEN\",\n\t\t\t\"MAESTRO_EVALOPS_ACCESS_TOKEN\",\n\t\t]) ??\n\t\tstoredToken;\n\n\tconst required =\n\t\tconfig?.required ??\n\t\tgetEnvValue([\n\t\t\t\"SKILLS_SERVICE_REQUIRED\",\n\t\t\t\"MAESTRO_SKILLS_SERVICE_REQUIRED\",\n\t\t]) === \"1\";\n\n\treturn {\n\t\tbaseUrl: normalizeBaseUrl(baseUrl),\n\t\tcircuitFailureThreshold:\n\t\t\tconfig?.circuitFailureThreshold ??\n\t\t\tparsePositiveInt(\n\t\t\t\tgetEnvValue([\n\t\t\t\t\t\"SKILLS_SERVICE_CIRCUIT_FAILURE_THRESHOLD\",\n\t\t\t\t\t\"MAESTRO_SKILLS_SERVICE_CIRCUIT_FAILURE_THRESHOLD\",\n\t\t\t\t]),\n\t\t\t\t5,\n\t\t\t),\n\t\tcircuitResetTimeoutMs:\n\t\t\tconfig?.circuitResetTimeoutMs ??\n\t\t\tparsePositiveInt(\n\t\t\t\tgetEnvValue([\n\t\t\t\t\t\"SKILLS_SERVICE_CIRCUIT_RESET_TIMEOUT_MS\",\n\t\t\t\t\t\"MAESTRO_SKILLS_SERVICE_CIRCUIT_RESET_TIMEOUT_MS\",\n\t\t\t\t]),\n\t\t\t\t30_000,\n\t\t\t),\n\t\tcircuitSuccessThreshold:\n\t\t\tconfig?.circuitSuccessThreshold ??\n\t\t\tparsePositiveInt(\n\t\t\t\tgetEnvValue([\n\t\t\t\t\t\"SKILLS_SERVICE_CIRCUIT_SUCCESS_THRESHOLD\",\n\t\t\t\t\t\"MAESTRO_SKILLS_SERVICE_CIRCUIT_SUCCESS_THRESHOLD\",\n\t\t\t\t]),\n\t\t\t\t2,\n\t\t\t),\n\t\tentityId:\n\t\t\ttrimString(config?.entityId) ??\n\t\t\tgetEnvValue([\"SKILLS_SERVICE_ENTITY_ID\", \"MAESTRO_SKILLS_ENTITY_ID\"]),\n\t\tfailureMode: required ? \"required\" : \"optional\",\n\t\tlimit:\n\t\t\tconfig?.limit ??\n\t\t\tparsePositiveInt(\n\t\t\t\tgetEnvValue([\"SKILLS_SERVICE_LIMIT\", \"MAESTRO_SKILLS_SERVICE_LIMIT\"]),\n\t\t\t\tDEFAULT_LIMIT,\n\t\t\t),\n\t\tmaxAttempts:\n\t\t\tconfig?.maxAttempts ??\n\t\t\tparsePositiveInt(\n\t\t\t\tgetEnvValue([\n\t\t\t\t\t\"SKILLS_SERVICE_MAX_ATTEMPTS\",\n\t\t\t\t\t\"MAESTRO_SKILLS_SERVICE_MAX_ATTEMPTS\",\n\t\t\t\t]),\n\t\t\t\tDEFAULT_MAX_ATTEMPTS,\n\t\t\t),\n\t\tsurface:\n\t\t\ttrimString(config?.surface) ??\n\t\t\tgetEnvValue([\"SKILLS_SERVICE_SURFACE\"]) ??\n\t\t\tDEFAULT_SURFACE,\n\t\ttimeoutMs:\n\t\t\tconfig?.timeoutMs ??\n\t\t\tparsePositiveInt(\n\t\t\t\tgetEnvValue([\n\t\t\t\t\t\"SKILLS_SERVICE_TIMEOUT_MS\",\n\t\t\t\t\t\"MAESTRO_SKILLS_SERVICE_TIMEOUT_MS\",\n\t\t\t\t]),\n\t\t\t\tDEFAULT_TIMEOUT_MS,\n\t\t\t),\n\t\ttoken,\n\t\tworkspaceId,\n\t};\n}\n\nfunction getDownstreamClient(\n\tconfig: ResolvedSkillsServiceConfig,\n\top: SkillsCall,\n): downstream.DownstreamClient {\n\tconst failureMode = SKILLS_CALL_FAILURE_MODES[op][config.failureMode];\n\tconst key = JSON.stringify({\n\t\tbaseUrl: config.baseUrl,\n\t\tfailureMode,\n\t\top,\n\t\treset: config.circuitResetTimeoutMs,\n\t\tsuccess: config.circuitSuccessThreshold,\n\t\tthreshold: config.circuitFailureThreshold,\n\t});\n\tconst cached = downstreamClients.get(key);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\tconst client = downstream.New(`skills.${op}`, {\n\t\tfailureMode,\n\t\tbreaker: {\n\t\t\tfailureThreshold: config.circuitFailureThreshold,\n\t\t\tresetTimeoutMs: config.circuitResetTimeoutMs,\n\t\t\tsuccessThreshold: config.circuitSuccessThreshold,\n\t\t\ttoolName: `skills.${op}`,\n\t\t},\n\t});\n\tdownstreamClients.set(key, client);\n\treturn client;\n}\n\nfunction toHttpFailureMode(\n\tclient: downstream.DownstreamClient,\n): DownstreamHttpFailureMode {\n\treturn client.failureMode === downstream.FailClosed ? \"required\" : \"optional\";\n}\n\nfunction buildHeaders(\n\tconfig: ResolvedSkillsServiceConfig,\n): Record<string, string> {\n\treturn {\n\t\t...(config.token ? { Authorization: `Bearer ${config.token}` } : {}),\n\t\t\"Connect-Protocol-Version\": CONNECT_PROTOCOL_VERSION,\n\t\t\"Content-Type\": \"application/json\",\n\t\t\"X-Surface\": config.surface,\n\t\t...(config.entityId ? { \"X-Entity-ID\": config.entityId } : {}),\n\t};\n}\n\nfunction normalizeScope(\n\tscope: string | number | undefined,\n): string | undefined {\n\tswitch (scope) {\n\t\tcase \"SKILL_SCOPE_GLOBAL\":\n\t\tcase \"global\":\n\t\tcase 1:\n\t\t\treturn \"global\";\n\t\tcase \"SKILL_SCOPE_WORKSPACE\":\n\t\tcase \"workspace\":\n\t\tcase 2:\n\t\t\treturn \"workspace\";\n\t\tcase \"SKILL_SCOPE_PERSONAL\":\n\t\tcase \"personal\":\n\t\tcase 3:\n\t\t\treturn \"personal\";\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction normalizeTags(tags: string[] | undefined): string[] | undefined {\n\tconst normalized = Array.isArray(tags)\n\t\t? tags.map((tag) => tag.trim()).filter((tag) => tag.length > 0)\n\t\t: [];\n\treturn normalized.length > 0 ? normalized : undefined;\n}\n\nfunction toLoadedSkill(skill: SkillsServiceSkill): LoadedSkill | null {\n\tconst id = trimString(skill.id);\n\tconst name = trimString(skill.name);\n\tconst content = trimString(skill.content);\n\tif (!id || !name || !content) {\n\t\treturn null;\n\t}\n\n\tconst scope = normalizeScope(skill.scope);\n\tconst metadata: Record<string, string> = {\n\t\tskillServiceId: id,\n\t\t...(trimString(skill.workspaceId)\n\t\t\t? { workspaceId: trimString(skill.workspaceId)! }\n\t\t\t: {}),\n\t\t...(trimString(skill.ownerId)\n\t\t\t? { ownerId: trimString(skill.ownerId)! }\n\t\t\t: {}),\n\t\t...(typeof skill.currentVersion === \"number\" &&\n\t\tNumber.isFinite(skill.currentVersion)\n\t\t\t? { currentVersion: String(Math.trunc(skill.currentVersion)) }\n\t\t\t: {}),\n\t\t...(scope ? { scope } : {}),\n\t};\n\n\treturn {\n\t\tname,\n\t\tdescription: trimString(skill.description) ?? \"Skill from skills service\",\n\t\tcontent,\n\t\tmetadata,\n\t\ttags: normalizeTags(skill.tags),\n\t\tsourcePath: `skills-service://${id}`,\n\t\tsourceType: \"service\",\n\t\tresources: [],\n\t\tresourceDirs: {},\n\t};\n}\n\nexport async function loadSkillsFromService(\n\tconfig: ResolvedSkillsServiceConfig,\n\toptions?: { signal?: AbortSignal },\n): Promise<LoadedSkill[]> {\n\tconst client = getDownstreamClient(config, \"listSkills\");\n\treturn downstream.CallOp(\n\t\tclient,\n\t\t\"listSkills\",\n\t\tasync () => {\n\t\t\tconst response = await fetchDownstream(\n\t\t\t\t`${config.baseUrl}${LIST_SKILLS_PATH}`,\n\t\t\t\t{\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: buildHeaders(config),\n\t\t\t\t\tsignal: options?.signal,\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\tworkspaceId: config.workspaceId,\n\t\t\t\t\t\tlimit: normalizeLimit(config.limit),\n\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tserviceName: \"skills service\",\n\t\t\t\t\tfailureMode: toHttpFailureMode(client),\n\t\t\t\t\ttimeoutMs: config.timeoutMs,\n\t\t\t\t\tmaxAttempts: config.maxAttempts,\n\t\t\t\t},\n\t\t\t);\n\t\t\tif (!response.ok) {\n\t\t\t\tconst text = await response.text();\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`skills service returned ${response.status}: ${\n\t\t\t\t\t\ttext || response.statusText\n\t\t\t\t\t}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst payload = (await response.json()) as ListSkillsResponse;\n\t\t\treturn (payload.skills ?? [])\n\t\t\t\t.map(toLoadedSkill)\n\t\t\t\t.filter((skill): skill is LoadedSkill => skill !== null);\n\t\t},\n\t\t() => [],\n\t);\n}\n\nexport function resetSkillsDownstreamForTests(): void {\n\tdownstreamClients.clear();\n}\n"]}
|
package/dist/skills/tool.d.ts
CHANGED
|
@@ -5,11 +5,14 @@
|
|
|
5
5
|
* and resources when it recognizes a task that matches a skill's domain.
|
|
6
6
|
*/
|
|
7
7
|
import type { AgentTool } from "../agent/types.js";
|
|
8
|
+
import { type SkillsServiceConfig } from "./service-client.js";
|
|
8
9
|
/**
|
|
9
10
|
* Create the Skill tool definition.
|
|
10
11
|
*/
|
|
11
12
|
export declare function createSkillTool(workspaceDir: string, options?: {
|
|
12
13
|
includeSystem?: boolean;
|
|
14
|
+
includeService?: boolean;
|
|
15
|
+
skillsService?: SkillsServiceConfig | false;
|
|
13
16
|
}): AgentTool;
|
|
14
17
|
/**
|
|
15
18
|
* Invalidate cached skills (call after skill files change).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/skills/tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/skills/tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,mBAAmB,CAAC;AAWpE,OAAO,EACN,KAAK,mBAAmB,EAGxB,MAAM,qBAAqB,CAAC;AAmB7B;;GAEG;AACH,wBAAgB,eAAe,CAC9B,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;IACT,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;CAC5C,GACC,SAAS,CAqJX;AA2DD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAI3C"}
|
package/dist/skills/tool.js
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Type } from "@sinclair/typebox";
|
|
8
8
|
import { createLogger } from "../utils/logger.js";
|
|
9
|
+
import { buildSkillArtifactMetadata } from "./artifact-metadata.js";
|
|
9
10
|
import { findSkill, formatSkillForInjection, formatSkillListItem, loadSkills, searchSkills, } from "./loader.js";
|
|
11
|
+
import { loadSkillsFromService, resolveSkillsServiceConfig, } from "./service-client.js";
|
|
10
12
|
const logger = createLogger("skills:tool");
|
|
11
13
|
/**
|
|
12
14
|
* Skill tool input schema.
|
|
@@ -25,12 +27,14 @@ const SkillToolSchema = Type.Object({
|
|
|
25
27
|
export function createSkillTool(workspaceDir, options) {
|
|
26
28
|
// Load skills once when tool is created
|
|
27
29
|
let cachedSkills = null;
|
|
28
|
-
const getSkills = () => {
|
|
30
|
+
const getSkills = async () => {
|
|
29
31
|
if (cachedSkills === null) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
cachedSkills = loadSkillsForTool(workspaceDir, options).catch((error) => {
|
|
33
|
+
cachedSkills = null;
|
|
34
|
+
throw error;
|
|
35
|
+
});
|
|
32
36
|
}
|
|
33
|
-
return cachedSkills;
|
|
37
|
+
return await cachedSkills;
|
|
34
38
|
};
|
|
35
39
|
return {
|
|
36
40
|
name: "Skill",
|
|
@@ -55,7 +59,21 @@ Available skills can be listed by calling this tool with skill="list".`,
|
|
|
55
59
|
isError: true,
|
|
56
60
|
};
|
|
57
61
|
}
|
|
58
|
-
|
|
62
|
+
let skills;
|
|
63
|
+
try {
|
|
64
|
+
skills = await getSkills();
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
return {
|
|
68
|
+
content: [
|
|
69
|
+
{
|
|
70
|
+
type: "text",
|
|
71
|
+
text: `Error loading skills: ${error instanceof Error ? error.message : String(error)}`,
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
isError: true,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
59
77
|
// Handle "list" command
|
|
60
78
|
if (skillName.toLowerCase() === "list") {
|
|
61
79
|
if (skills.length === 0) {
|
|
@@ -129,10 +147,54 @@ Available skills can be listed by calling this tool with skill="list".`,
|
|
|
129
147
|
}
|
|
130
148
|
return {
|
|
131
149
|
content: [{ type: "text", text }],
|
|
150
|
+
details: {
|
|
151
|
+
skillMetadata: buildSkillArtifactMetadata(skill),
|
|
152
|
+
},
|
|
132
153
|
};
|
|
133
154
|
},
|
|
134
155
|
};
|
|
135
156
|
}
|
|
157
|
+
function mergeSkills(localSkills, serviceSkills) {
|
|
158
|
+
const skillMap = new Map();
|
|
159
|
+
for (const skill of localSkills) {
|
|
160
|
+
skillMap.set(skill.name.toLowerCase(), skill);
|
|
161
|
+
}
|
|
162
|
+
for (const skill of serviceSkills) {
|
|
163
|
+
const existing = skillMap.get(skill.name.toLowerCase());
|
|
164
|
+
if (existing) {
|
|
165
|
+
logger.debug("Skills service skill overrides local skill", {
|
|
166
|
+
name: skill.name,
|
|
167
|
+
overridden: existing.sourceType,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
skillMap.set(skill.name.toLowerCase(), skill);
|
|
171
|
+
}
|
|
172
|
+
return Array.from(skillMap.values());
|
|
173
|
+
}
|
|
174
|
+
async function loadSkillsForTool(workspaceDir, options) {
|
|
175
|
+
const result = loadSkills(workspaceDir, options);
|
|
176
|
+
if (options?.includeService === false) {
|
|
177
|
+
return result.skills;
|
|
178
|
+
}
|
|
179
|
+
const config = resolveSkillsServiceConfig(options?.skillsService);
|
|
180
|
+
if (!config) {
|
|
181
|
+
return result.skills;
|
|
182
|
+
}
|
|
183
|
+
try {
|
|
184
|
+
const serviceSkills = await loadSkillsFromService(config);
|
|
185
|
+
return mergeSkills(result.skills, serviceSkills);
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
189
|
+
if (config.failureMode === "required") {
|
|
190
|
+
throw new Error(`Skills service unavailable: ${message}`);
|
|
191
|
+
}
|
|
192
|
+
logger.warn("Failed to load skills from skills service; using local skills", {
|
|
193
|
+
error: message,
|
|
194
|
+
});
|
|
195
|
+
return result.skills;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
136
198
|
/**
|
|
137
199
|
* Invalidate cached skills (call after skill files change).
|
|
138
200
|
*/
|
package/dist/skills/tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/skills/tool.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Skill Tool - Allows the agent to load specialized domain skills.\n *\n * This tool enables the agent to dynamically load skill instructions\n * and resources when it recognizes a task that matches a skill's domain.\n */\n\nimport { Type } from \"@sinclair/typebox\";\nimport type { AgentTool, AgentToolResult } from \"../agent/types.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport {\n\ttype LoadedSkill,\n\tfindSkill,\n\tformatSkillForInjection,\n\tformatSkillListItem,\n\tloadSkills,\n\tsearchSkills,\n} from \"./loader.js\";\n\nconst logger = createLogger(\"skills:tool\");\n\n/**\n * Skill tool input schema.\n */\nconst SkillToolSchema = Type.Object({\n\tskill: Type.String({\n\t\tdescription:\n\t\t\t'The name of the skill to load. Use \"list\" to see all available skills, or a search term to find matching skills.',\n\t}),\n\targs: Type.Optional(\n\t\tType.Record(Type.String(), Type.String(), {\n\t\t\tdescription: \"Optional arguments to pass to the skill\",\n\t\t}),\n\t),\n});\n\n/**\n * Create the Skill tool definition.\n */\nexport function createSkillTool(\n\tworkspaceDir: string,\n\toptions?: { includeSystem?: boolean },\n): AgentTool {\n\t// Load skills once when tool is created\n\tlet cachedSkills: LoadedSkill[] | null = null;\n\n\tconst getSkills = (): LoadedSkill[] => {\n\t\tif (cachedSkills === null) {\n\t\t\tconst result = loadSkills(workspaceDir, options);\n\t\t\tcachedSkills = result.skills;\n\t\t}\n\t\treturn cachedSkills;\n\t};\n\n\treturn {\n\t\tname: \"Skill\",\n\t\tlabel: \"Skill\",\n\t\tdescription: `Load a specialized skill that provides domain-specific instructions and workflows.\n\nWhen you recognize that a task matches one of the available skills, use this tool to load the full skill instructions. The skill will inject detailed instructions, workflows, and access to bundled resources (scripts, references, templates) into the conversation context.\n\nUse this tool proactively when:\n- The user asks about a domain that matches an available skill\n- You need specialized procedures or workflows\n- You want access to skill-specific resources\n\nAvailable skills can be listed by calling this tool with skill=\"list\".`,\n\t\tparameters: SkillToolSchema,\n\t\texecute: async (\n\t\t\ttoolCallId: string,\n\t\t\tparams: Record<string, unknown>,\n\t\t): Promise<AgentToolResult> => {\n\t\t\tconst skillName = (params.skill as string)?.trim() ?? \"\";\n\t\t\tconst args = params.args as Record<string, string> | undefined;\n\n\t\t\tif (!skillName) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: \"Error: skill name is required\" }],\n\t\t\t\t\tisError: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst skills = getSkills();\n\n\t\t\t// Handle \"list\" command\n\t\t\tif (skillName.toLowerCase() === \"list\") {\n\t\t\t\tif (skills.length === 0) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontent: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\ttext: \"No skills available. Skills can be added to `.maestro/skills/` in your workspace or `~/.maestro/skills/` for global skills.\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst lines = [\n\t\t\t\t\t`Available Skills (${skills.length}):`,\n\t\t\t\t\t\"\",\n\t\t\t\t\t...skills.map((s) => `- ${formatSkillListItem(s)}`),\n\t\t\t\t\t\"\",\n\t\t\t\t\t\"Use Skill tool with the skill name to load its instructions.\",\n\t\t\t\t];\n\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: lines.join(\"\\n\") }],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Try to find exact match first\n\t\t\tlet skill = findSkill(skills, skillName);\n\n\t\t\t// If no exact match, try search\n\t\t\tif (!skill) {\n\t\t\t\tconst matches = searchSkills(skills, skillName);\n\t\t\t\tif (matches.length === 1) {\n\t\t\t\t\tskill = matches[0];\n\t\t\t\t} else if (matches.length > 1) {\n\t\t\t\t\tconst lines = [\n\t\t\t\t\t\t`Multiple skills match \"${skillName}\":`,\n\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t...matches.map((s) => `- ${formatSkillListItem(s)}`),\n\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\"Please specify the exact skill name.\",\n\t\t\t\t\t];\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: lines.join(\"\\n\") }],\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!skill) {\n\t\t\t\tconst suggestions =\n\t\t\t\t\tskills.length > 0\n\t\t\t\t\t\t? `\\n\\nAvailable skills: ${skills.map((s) => s.name).join(\", \")}`\n\t\t\t\t\t\t: '\\n\\nNo skills are available. Add skills to `.maestro/skills/` or use \"list\" to check.';\n\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: `Skill \"${skillName}\" not found.${suggestions}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tisError: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tlogger.info(\"Loading skill\", {\n\t\t\t\tname: skill.name,\n\t\t\t\tsourceType: skill.sourceType,\n\t\t\t});\n\n\t\t\t// Format skill content for injection\n\t\t\tlet text = formatSkillForInjection(skill);\n\n\t\t\t// Handle args substitution if provided\n\t\t\tif (args && Object.keys(args).length > 0) {\n\t\t\t\tfor (const [key, value] of Object.entries(args)) {\n\t\t\t\t\tconst pattern = new RegExp(`\\\\{\\\\{${key}\\\\}\\\\}`, \"g\");\n\t\t\t\t\ttext = text.replace(pattern, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text }],\n\t\t\t};\n\t\t},\n\t};\n}\n\n/**\n * Invalidate cached skills (call after skill files change).\n */\nexport function invalidateSkillCache(): void {\n\t// This would need to be connected to the actual tool instance\n\t// For now, skills are loaded fresh each time createSkillTool is called\n\tlogger.debug(\"Skill cache invalidation requested\");\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/skills/tool.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Skill Tool - Allows the agent to load specialized domain skills.\n *\n * This tool enables the agent to dynamically load skill instructions\n * and resources when it recognizes a task that matches a skill's domain.\n */\n\nimport { Type } from \"@sinclair/typebox\";\nimport type { AgentTool, AgentToolResult } from \"../agent/types.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { buildSkillArtifactMetadata } from \"./artifact-metadata.js\";\nimport {\n\ttype LoadedSkill,\n\tfindSkill,\n\tformatSkillForInjection,\n\tformatSkillListItem,\n\tloadSkills,\n\tsearchSkills,\n} from \"./loader.js\";\nimport {\n\ttype SkillsServiceConfig,\n\tloadSkillsFromService,\n\tresolveSkillsServiceConfig,\n} from \"./service-client.js\";\n\nconst logger = createLogger(\"skills:tool\");\n\n/**\n * Skill tool input schema.\n */\nconst SkillToolSchema = Type.Object({\n\tskill: Type.String({\n\t\tdescription:\n\t\t\t'The name of the skill to load. Use \"list\" to see all available skills, or a search term to find matching skills.',\n\t}),\n\targs: Type.Optional(\n\t\tType.Record(Type.String(), Type.String(), {\n\t\t\tdescription: \"Optional arguments to pass to the skill\",\n\t\t}),\n\t),\n});\n\n/**\n * Create the Skill tool definition.\n */\nexport function createSkillTool(\n\tworkspaceDir: string,\n\toptions?: {\n\t\tincludeSystem?: boolean;\n\t\tincludeService?: boolean;\n\t\tskillsService?: SkillsServiceConfig | false;\n\t},\n): AgentTool {\n\t// Load skills once when tool is created\n\tlet cachedSkills: Promise<LoadedSkill[]> | null = null;\n\n\tconst getSkills = async (): Promise<LoadedSkill[]> => {\n\t\tif (cachedSkills === null) {\n\t\t\tcachedSkills = loadSkillsForTool(workspaceDir, options).catch((error) => {\n\t\t\t\tcachedSkills = null;\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}\n\t\treturn await cachedSkills;\n\t};\n\n\treturn {\n\t\tname: \"Skill\",\n\t\tlabel: \"Skill\",\n\t\tdescription: `Load a specialized skill that provides domain-specific instructions and workflows.\n\nWhen you recognize that a task matches one of the available skills, use this tool to load the full skill instructions. The skill will inject detailed instructions, workflows, and access to bundled resources (scripts, references, templates) into the conversation context.\n\nUse this tool proactively when:\n- The user asks about a domain that matches an available skill\n- You need specialized procedures or workflows\n- You want access to skill-specific resources\n\nAvailable skills can be listed by calling this tool with skill=\"list\".`,\n\t\tparameters: SkillToolSchema,\n\t\texecute: async (\n\t\t\ttoolCallId: string,\n\t\t\tparams: Record<string, unknown>,\n\t\t): Promise<AgentToolResult> => {\n\t\t\tconst skillName = (params.skill as string)?.trim() ?? \"\";\n\t\t\tconst args = params.args as Record<string, string> | undefined;\n\n\t\t\tif (!skillName) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: \"Error: skill name is required\" }],\n\t\t\t\t\tisError: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tlet skills: LoadedSkill[];\n\t\t\ttry {\n\t\t\t\tskills = await getSkills();\n\t\t\t} catch (error) {\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: `Error loading skills: ${\n\t\t\t\t\t\t\t\terror instanceof Error ? error.message : String(error)\n\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tisError: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Handle \"list\" command\n\t\t\tif (skillName.toLowerCase() === \"list\") {\n\t\t\t\tif (skills.length === 0) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontent: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\ttext: \"No skills available. Skills can be added to `.maestro/skills/` in your workspace or `~/.maestro/skills/` for global skills.\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst lines = [\n\t\t\t\t\t`Available Skills (${skills.length}):`,\n\t\t\t\t\t\"\",\n\t\t\t\t\t...skills.map((s) => `- ${formatSkillListItem(s)}`),\n\t\t\t\t\t\"\",\n\t\t\t\t\t\"Use Skill tool with the skill name to load its instructions.\",\n\t\t\t\t];\n\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [{ type: \"text\", text: lines.join(\"\\n\") }],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Try to find exact match first\n\t\t\tlet skill = findSkill(skills, skillName);\n\n\t\t\t// If no exact match, try search\n\t\t\tif (!skill) {\n\t\t\t\tconst matches = searchSkills(skills, skillName);\n\t\t\t\tif (matches.length === 1) {\n\t\t\t\t\tskill = matches[0];\n\t\t\t\t} else if (matches.length > 1) {\n\t\t\t\t\tconst lines = [\n\t\t\t\t\t\t`Multiple skills match \"${skillName}\":`,\n\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t...matches.map((s) => `- ${formatSkillListItem(s)}`),\n\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\"Please specify the exact skill name.\",\n\t\t\t\t\t];\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: lines.join(\"\\n\") }],\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!skill) {\n\t\t\t\tconst suggestions =\n\t\t\t\t\tskills.length > 0\n\t\t\t\t\t\t? `\\n\\nAvailable skills: ${skills.map((s) => s.name).join(\", \")}`\n\t\t\t\t\t\t: '\\n\\nNo skills are available. Add skills to `.maestro/skills/` or use \"list\" to check.';\n\n\t\t\t\treturn {\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: `Skill \"${skillName}\" not found.${suggestions}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tisError: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tlogger.info(\"Loading skill\", {\n\t\t\t\tname: skill.name,\n\t\t\t\tsourceType: skill.sourceType,\n\t\t\t});\n\n\t\t\t// Format skill content for injection\n\t\t\tlet text = formatSkillForInjection(skill);\n\n\t\t\t// Handle args substitution if provided\n\t\t\tif (args && Object.keys(args).length > 0) {\n\t\t\t\tfor (const [key, value] of Object.entries(args)) {\n\t\t\t\t\tconst pattern = new RegExp(`\\\\{\\\\{${key}\\\\}\\\\}`, \"g\");\n\t\t\t\t\ttext = text.replace(pattern, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text }],\n\t\t\t\tdetails: {\n\t\t\t\t\tskillMetadata: buildSkillArtifactMetadata(skill),\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t};\n}\n\nfunction mergeSkills(\n\tlocalSkills: LoadedSkill[],\n\tserviceSkills: LoadedSkill[],\n): LoadedSkill[] {\n\tconst skillMap = new Map<string, LoadedSkill>();\n\tfor (const skill of localSkills) {\n\t\tskillMap.set(skill.name.toLowerCase(), skill);\n\t}\n\tfor (const skill of serviceSkills) {\n\t\tconst existing = skillMap.get(skill.name.toLowerCase());\n\t\tif (existing) {\n\t\t\tlogger.debug(\"Skills service skill overrides local skill\", {\n\t\t\t\tname: skill.name,\n\t\t\t\toverridden: existing.sourceType,\n\t\t\t});\n\t\t}\n\t\tskillMap.set(skill.name.toLowerCase(), skill);\n\t}\n\treturn Array.from(skillMap.values());\n}\n\nasync function loadSkillsForTool(\n\tworkspaceDir: string,\n\toptions?: {\n\t\tincludeSystem?: boolean;\n\t\tincludeService?: boolean;\n\t\tskillsService?: SkillsServiceConfig | false;\n\t},\n): Promise<LoadedSkill[]> {\n\tconst result = loadSkills(workspaceDir, options);\n\tif (options?.includeService === false) {\n\t\treturn result.skills;\n\t}\n\n\tconst config = resolveSkillsServiceConfig(options?.skillsService);\n\tif (!config) {\n\t\treturn result.skills;\n\t}\n\n\ttry {\n\t\tconst serviceSkills = await loadSkillsFromService(config);\n\t\treturn mergeSkills(result.skills, serviceSkills);\n\t} catch (error) {\n\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\tif (config.failureMode === \"required\") {\n\t\t\tthrow new Error(`Skills service unavailable: ${message}`);\n\t\t}\n\t\tlogger.warn(\n\t\t\t\"Failed to load skills from skills service; using local skills\",\n\t\t\t{\n\t\t\t\terror: message,\n\t\t\t},\n\t\t);\n\t\treturn result.skills;\n\t}\n}\n\n/**\n * Invalidate cached skills (call after skill files change).\n */\nexport function invalidateSkillCache(): void {\n\t// This would need to be connected to the actual tool instance\n\t// For now, skills are loaded fresh each time createSkillTool is called\n\tlogger.debug(\"Skill cache invalidation requested\");\n}\n"]}
|
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
* Centralized telemetry exports including wide events pattern.
|
|
5
5
|
*/
|
|
6
6
|
export { recordTelemetry, recordToolExecution, recordEvaluationResult, recordLoaderStage, recordSseSkip, logToolFailure, recordBackgroundTaskEvent, recordApiRequest, recordBusinessMetric, recordSessionStart, recordSessionDuration, recordTokenUsage, recordCost, recordCompaction, recordModelSwitch, recordSandboxViolation, getTelemetryStatus, setTelemetryRuntimeOverride, getBackgroundTaskHistory, type TelemetryStatus, type ApiRequestTelemetry, type ToolExecutionTelemetry, type EvaluationTelemetry, type LoaderStageTelemetry, type SseTelemetry, type BackgroundTaskTelemetry, type BusinessMetricTelemetry, type SandboxViolationTelemetry, } from "../telemetry.js";
|
|
7
|
+
export { MAESTRO_BUS_EVENT_CATALOG, MAESTRO_BUS_EVENT_TYPES, MaestroBusEventType, getMaestroBusEventCatalogEntry, isMaestroBusEventType, listMaestroBusEventCatalog, type MaestroBusEventCatalogEntry, type MaestroBusEventCategory, } from "./maestro-event-catalog.js";
|
|
8
|
+
export { buildMaestroCloudEvent, closeMaestroEventBusTransport, getMaestroEventBusStatus, maestroCorrelationToChronicleMetadata, publishMaestroCloudEvent, publishMaestroCloudEventStrict, recordMaestroApprovalHit, recordMaestroEvalScored, recordMaestroFirewallBlock, recordMaestroLearnedContext, recordMaestroPromptVariantSelected, recordMaestroSessionEvent, recordMaestroSkillInvoked, recordMaestroSkillOutcome, recordMaestroToolCallAttempt, recordMaestroToolCallCompleted, resolveMaestroEventBusConfig, setMaestroEventBusTransportForTests, type ApprovalHitEventData, type EvalScoredEventData, type FirewallBlockEventData, type MaestroCloudEvent, type MaestroCloseReason, type MaestroCorrelation, type MaestroDecisionMode, type MaestroEventBusConfig, type MaestroEventBusStatus, type MaestroEventBusTransport, type MaestroLearnedContextEventData, type MaestroLearnedContextEvidence, type MaestroPrincipal, type MaestroRuntimeMode, type MaestroSessionEventData, type MaestroSessionState, type MaestroSkillOutcomeProtoStatus, type MaestroSkillOutcomeStatus, type MaestroSurface, type MaestroToolCallStatus, type PublishMaestroEventOptions, type RecordMaestroApprovalHitInput, type RecordMaestroEvalScoredInput, type RecordMaestroFirewallBlockInput, type RecordMaestroLearnedContextInput, type RecordMaestroPromptVariantSelectedInput, type PromptVariantSelectedEventData, type RecordMaestroSkillInvokedInput, type RecordMaestroSkillOutcomeInput, type RecordMaestroToolCallAttemptInput, type RecordMaestroToolCallCompletedInput, type SandboxViolationEventData, type SkillInvocationEventData, type SkillOutcomeEventData, type ToolCallAttemptEventData, type ToolCallResultEventData, } from "./maestro-event-bus.js";
|
|
9
|
+
export { CANONICAL_MAESTRO_PUBLISHER_CONFORMANCE_FIXTURE_NAME, buildCanonicalMaestroPublisherConformanceFixture, canonicalMaestroPublisherConformanceFixtureJson, type BuildMaestroPublisherConformanceFixtureOptions, type MaestroPublisherConformanceFixture, type MaestroPublisherConformanceFixtureEvent, } from "./maestro-publisher-conformance-fixture.js";
|
|
10
|
+
export { CANONICAL_MAESTRO_PLATFORM_REPLAY_FIXTURE_NAME, buildCanonicalMaestroPlatformReplayFixture, canonicalMaestroPlatformReplayFixtureJson, type MaestroPlatformReplayFixture, type MaestroPlatformReplayFixtureEvent, } from "./maestro-platform-replay-fixture.js";
|
|
7
11
|
export { TurnCollector, createTurnCollector, getSamplingConfigFromEnv, type CanonicalTurnEvent, type ToolExecution, type TokenUsage as WideEventTokenUsage, type ModelInfo, type TailSamplingConfig, } from "./wide-events.js";
|
|
8
12
|
export { TurnTracker, createTurnTracker, type TurnTrackerConfig, type TurnTrackerContext, } from "./turn-tracker.js";
|
|
9
13
|
export { SessionPerfCollector, formatPerfReport, type SessionPerfSnapshot, } from "./session-perf.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,EACxB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,GAC9B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACN,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,UAAU,IAAI,mBAAmB,EACtC,KAAK,SAAS,EACd,KAAK,kBAAkB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,WAAW,EACX,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACN,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,mBAAmB,GACxB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"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"}
|
package/dist/telemetry/index.js
CHANGED
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
// Re-export from main telemetry module
|
|
7
7
|
export { recordTelemetry, recordToolExecution, recordEvaluationResult, recordLoaderStage, recordSseSkip, logToolFailure, recordBackgroundTaskEvent, recordApiRequest, recordBusinessMetric, recordSessionStart, recordSessionDuration, recordTokenUsage, recordCost, recordCompaction, recordModelSwitch, recordSandboxViolation, getTelemetryStatus, setTelemetryRuntimeOverride, getBackgroundTaskHistory, } from "../telemetry.js";
|
|
8
|
+
// Maestro event bus catalog shared with the public mirror.
|
|
9
|
+
export { MAESTRO_BUS_EVENT_CATALOG, MAESTRO_BUS_EVENT_TYPES, MaestroBusEventType, getMaestroBusEventCatalogEntry, isMaestroBusEventType, listMaestroBusEventCatalog, } from "./maestro-event-catalog.js";
|
|
10
|
+
export { buildMaestroCloudEvent, closeMaestroEventBusTransport, getMaestroEventBusStatus, maestroCorrelationToChronicleMetadata, publishMaestroCloudEvent, publishMaestroCloudEventStrict, recordMaestroApprovalHit, recordMaestroEvalScored, recordMaestroFirewallBlock, recordMaestroLearnedContext, recordMaestroPromptVariantSelected, recordMaestroSessionEvent, recordMaestroSkillInvoked, recordMaestroSkillOutcome, recordMaestroToolCallAttempt, recordMaestroToolCallCompleted, resolveMaestroEventBusConfig, setMaestroEventBusTransportForTests, } from "./maestro-event-bus.js";
|
|
11
|
+
export { CANONICAL_MAESTRO_PUBLISHER_CONFORMANCE_FIXTURE_NAME, buildCanonicalMaestroPublisherConformanceFixture, canonicalMaestroPublisherConformanceFixtureJson, } from "./maestro-publisher-conformance-fixture.js";
|
|
12
|
+
export { CANONICAL_MAESTRO_PLATFORM_REPLAY_FIXTURE_NAME, buildCanonicalMaestroPlatformReplayFixture, canonicalMaestroPlatformReplayFixtureJson, } from "./maestro-platform-replay-fixture.js";
|
|
8
13
|
// Wide events (canonical turn events)
|
|
9
14
|
export { TurnCollector, createTurnCollector, getSamplingConfigFromEnv, } from "./wide-events.js";
|
|
10
15
|
// Turn tracking integration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,uCAAuC;AACvC,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,GAUxB,MAAM,iBAAiB,CAAC;AAEzB,sCAAsC;AACtC,OAAO,EACN,aAAa,EACb,mBAAmB,EACnB,wBAAwB,GAMxB,MAAM,kBAAkB,CAAC;AAE1B,4BAA4B;AAC5B,OAAO,EACN,WAAW,EACX,iBAAiB,GAGjB,MAAM,mBAAmB,CAAC;AAE3B,kCAAkC;AAClC,OAAO,EACN,oBAAoB,EACpB,gBAAgB,GAEhB,MAAM,mBAAmB,CAAC","sourcesContent":["/**\n * Telemetry Module\n *\n * Centralized telemetry exports including wide events pattern.\n */\n\n// Re-export from main telemetry module\nexport {\n\trecordTelemetry,\n\trecordToolExecution,\n\trecordEvaluationResult,\n\trecordLoaderStage,\n\trecordSseSkip,\n\tlogToolFailure,\n\trecordBackgroundTaskEvent,\n\trecordApiRequest,\n\trecordBusinessMetric,\n\trecordSessionStart,\n\trecordSessionDuration,\n\trecordTokenUsage,\n\trecordCost,\n\trecordCompaction,\n\trecordModelSwitch,\n\trecordSandboxViolation,\n\tgetTelemetryStatus,\n\tsetTelemetryRuntimeOverride,\n\tgetBackgroundTaskHistory,\n\ttype TelemetryStatus,\n\ttype ApiRequestTelemetry,\n\ttype ToolExecutionTelemetry,\n\ttype EvaluationTelemetry,\n\ttype LoaderStageTelemetry,\n\ttype SseTelemetry,\n\ttype BackgroundTaskTelemetry,\n\ttype BusinessMetricTelemetry,\n\ttype SandboxViolationTelemetry,\n} from \"../telemetry.js\";\n\n// Wide events (canonical turn events)\nexport {\n\tTurnCollector,\n\tcreateTurnCollector,\n\tgetSamplingConfigFromEnv,\n\ttype CanonicalTurnEvent,\n\ttype ToolExecution,\n\ttype TokenUsage as WideEventTokenUsage,\n\ttype ModelInfo,\n\ttype TailSamplingConfig,\n} from \"./wide-events.js\";\n\n// Turn tracking integration\nexport {\n\tTurnTracker,\n\tcreateTurnTracker,\n\ttype TurnTrackerConfig,\n\ttype TurnTrackerContext,\n} from \"./turn-tracker.js\";\n\n// Session performance aggregation\nexport {\n\tSessionPerfCollector,\n\tformatPerfReport,\n\ttype SessionPerfSnapshot,\n} from \"./session-perf.js\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,uCAAuC;AACvC,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,GAUxB,MAAM,iBAAiB,CAAC;AAEzB,2DAA2D;AAC3D,OAAO,EACN,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,8BAA8B,EAC9B,qBAAqB,EACrB,0BAA0B,GAG1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACN,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,EACxB,qCAAqC,EACrC,wBAAwB,EACxB,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,kCAAkC,EAClC,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,mCAAmC,GAqCnC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACN,oDAAoD,EACpD,gDAAgD,EAChD,+CAA+C,GAI/C,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACN,8CAA8C,EAC9C,0CAA0C,EAC1C,yCAAyC,GAGzC,MAAM,sCAAsC,CAAC;AAE9C,sCAAsC;AACtC,OAAO,EACN,aAAa,EACb,mBAAmB,EACnB,wBAAwB,GAMxB,MAAM,kBAAkB,CAAC;AAE1B,4BAA4B;AAC5B,OAAO,EACN,WAAW,EACX,iBAAiB,GAGjB,MAAM,mBAAmB,CAAC;AAE3B,kCAAkC;AAClC,OAAO,EACN,oBAAoB,EACpB,gBAAgB,GAEhB,MAAM,mBAAmB,CAAC","sourcesContent":["/**\n * Telemetry Module\n *\n * Centralized telemetry exports including wide events pattern.\n */\n\n// Re-export from main telemetry module\nexport {\n\trecordTelemetry,\n\trecordToolExecution,\n\trecordEvaluationResult,\n\trecordLoaderStage,\n\trecordSseSkip,\n\tlogToolFailure,\n\trecordBackgroundTaskEvent,\n\trecordApiRequest,\n\trecordBusinessMetric,\n\trecordSessionStart,\n\trecordSessionDuration,\n\trecordTokenUsage,\n\trecordCost,\n\trecordCompaction,\n\trecordModelSwitch,\n\trecordSandboxViolation,\n\tgetTelemetryStatus,\n\tsetTelemetryRuntimeOverride,\n\tgetBackgroundTaskHistory,\n\ttype TelemetryStatus,\n\ttype ApiRequestTelemetry,\n\ttype ToolExecutionTelemetry,\n\ttype EvaluationTelemetry,\n\ttype LoaderStageTelemetry,\n\ttype SseTelemetry,\n\ttype BackgroundTaskTelemetry,\n\ttype BusinessMetricTelemetry,\n\ttype SandboxViolationTelemetry,\n} from \"../telemetry.js\";\n\n// Maestro event bus catalog shared with the public mirror.\nexport {\n\tMAESTRO_BUS_EVENT_CATALOG,\n\tMAESTRO_BUS_EVENT_TYPES,\n\tMaestroBusEventType,\n\tgetMaestroBusEventCatalogEntry,\n\tisMaestroBusEventType,\n\tlistMaestroBusEventCatalog,\n\ttype MaestroBusEventCatalogEntry,\n\ttype MaestroBusEventCategory,\n} from \"./maestro-event-catalog.js\";\n\nexport {\n\tbuildMaestroCloudEvent,\n\tcloseMaestroEventBusTransport,\n\tgetMaestroEventBusStatus,\n\tmaestroCorrelationToChronicleMetadata,\n\tpublishMaestroCloudEvent,\n\tpublishMaestroCloudEventStrict,\n\trecordMaestroApprovalHit,\n\trecordMaestroEvalScored,\n\trecordMaestroFirewallBlock,\n\trecordMaestroLearnedContext,\n\trecordMaestroPromptVariantSelected,\n\trecordMaestroSessionEvent,\n\trecordMaestroSkillInvoked,\n\trecordMaestroSkillOutcome,\n\trecordMaestroToolCallAttempt,\n\trecordMaestroToolCallCompleted,\n\tresolveMaestroEventBusConfig,\n\tsetMaestroEventBusTransportForTests,\n\ttype ApprovalHitEventData,\n\ttype EvalScoredEventData,\n\ttype FirewallBlockEventData,\n\ttype MaestroCloudEvent,\n\ttype MaestroCloseReason,\n\ttype MaestroCorrelation,\n\ttype MaestroDecisionMode,\n\ttype MaestroEventBusConfig,\n\ttype MaestroEventBusStatus,\n\ttype MaestroEventBusTransport,\n\ttype MaestroLearnedContextEventData,\n\ttype MaestroLearnedContextEvidence,\n\ttype MaestroPrincipal,\n\ttype MaestroRuntimeMode,\n\ttype MaestroSessionEventData,\n\ttype MaestroSessionState,\n\ttype MaestroSkillOutcomeProtoStatus,\n\ttype MaestroSkillOutcomeStatus,\n\ttype MaestroSurface,\n\ttype MaestroToolCallStatus,\n\ttype PublishMaestroEventOptions,\n\ttype RecordMaestroApprovalHitInput,\n\ttype RecordMaestroEvalScoredInput,\n\ttype RecordMaestroFirewallBlockInput,\n\ttype RecordMaestroLearnedContextInput,\n\ttype RecordMaestroPromptVariantSelectedInput,\n\ttype PromptVariantSelectedEventData,\n\ttype RecordMaestroSkillInvokedInput,\n\ttype RecordMaestroSkillOutcomeInput,\n\ttype RecordMaestroToolCallAttemptInput,\n\ttype RecordMaestroToolCallCompletedInput,\n\ttype SandboxViolationEventData,\n\ttype SkillInvocationEventData,\n\ttype SkillOutcomeEventData,\n\ttype ToolCallAttemptEventData,\n\ttype ToolCallResultEventData,\n} from \"./maestro-event-bus.js\";\n\nexport {\n\tCANONICAL_MAESTRO_PUBLISHER_CONFORMANCE_FIXTURE_NAME,\n\tbuildCanonicalMaestroPublisherConformanceFixture,\n\tcanonicalMaestroPublisherConformanceFixtureJson,\n\ttype BuildMaestroPublisherConformanceFixtureOptions,\n\ttype MaestroPublisherConformanceFixture,\n\ttype MaestroPublisherConformanceFixtureEvent,\n} from \"./maestro-publisher-conformance-fixture.js\";\n\nexport {\n\tCANONICAL_MAESTRO_PLATFORM_REPLAY_FIXTURE_NAME,\n\tbuildCanonicalMaestroPlatformReplayFixture,\n\tcanonicalMaestroPlatformReplayFixtureJson,\n\ttype MaestroPlatformReplayFixture,\n\ttype MaestroPlatformReplayFixtureEvent,\n} from \"./maestro-platform-replay-fixture.js\";\n\n// Wide events (canonical turn events)\nexport {\n\tTurnCollector,\n\tcreateTurnCollector,\n\tgetSamplingConfigFromEnv,\n\ttype CanonicalTurnEvent,\n\ttype ToolExecution,\n\ttype TokenUsage as WideEventTokenUsage,\n\ttype ModelInfo,\n\ttype TailSamplingConfig,\n} from \"./wide-events.js\";\n\n// Turn tracking integration\nexport {\n\tTurnTracker,\n\tcreateTurnTracker,\n\ttype TurnTrackerConfig,\n\ttype TurnTrackerContext,\n} from \"./turn-tracker.js\";\n\n// Session performance aggregation\nexport {\n\tSessionPerfCollector,\n\tformatPerfReport,\n\ttype SessionPerfSnapshot,\n} from \"./session-perf.js\";\n"]}
|