@wrongstack/core 0.287.0 → 0.291.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-status-tracker.d.ts +13 -0
- package/dist/agent-status-tracker.d.ts.map +1 -1
- package/dist/boot.d.ts.map +1 -1
- package/dist/chronicle/context.d.ts +13 -0
- package/dist/chronicle/context.d.ts.map +1 -0
- package/dist/chronicle/decision-adapter.d.ts +13 -0
- package/dist/chronicle/decision-adapter.d.ts.map +1 -0
- package/dist/chronicle/domain-adapter.d.ts +13 -0
- package/dist/chronicle/domain-adapter.d.ts.map +1 -0
- package/dist/chronicle/file-observer.d.ts +20 -0
- package/dist/chronicle/file-observer.d.ts.map +1 -0
- package/dist/chronicle/health-monitor.d.ts +11 -0
- package/dist/chronicle/health-monitor.d.ts.map +1 -0
- package/dist/chronicle/identity.d.ts +18 -0
- package/dist/chronicle/identity.d.ts.map +1 -0
- package/dist/chronicle/index.d.ts +16 -0
- package/dist/chronicle/index.d.ts.map +1 -0
- package/dist/chronicle/index.js +2555 -0
- package/dist/chronicle/index.js.map +7 -0
- package/dist/chronicle/journal.d.ts +81 -0
- package/dist/chronicle/journal.d.ts.map +1 -0
- package/dist/chronicle/process-adapter.d.ts +14 -0
- package/dist/chronicle/process-adapter.d.ts.map +1 -0
- package/dist/chronicle/prompt-manifest.d.ts +34 -0
- package/dist/chronicle/prompt-manifest.d.ts.map +1 -0
- package/dist/chronicle/provider-adapter.d.ts +13 -0
- package/dist/chronicle/provider-adapter.d.ts.map +1 -0
- package/dist/chronicle/query.d.ts +108 -0
- package/dist/chronicle/query.d.ts.map +1 -0
- package/dist/chronicle/rollup-adapter.d.ts +14 -0
- package/dist/chronicle/rollup-adapter.d.ts.map +1 -0
- package/dist/chronicle/stream-adapter.d.ts +13 -0
- package/dist/chronicle/stream-adapter.d.ts.map +1 -0
- package/dist/chronicle/tool-adapter.d.ts +15 -0
- package/dist/chronicle/tool-adapter.d.ts.map +1 -0
- package/dist/chronicle/types.d.ts +82 -0
- package/dist/chronicle/types.d.ts.map +1 -0
- package/dist/coordination/agent-monitor.d.ts +40 -0
- package/dist/coordination/agent-monitor.d.ts.map +1 -1
- package/dist/coordination/agent-subagent-runner.d.ts +7 -1
- package/dist/coordination/agent-subagent-runner.d.ts.map +1 -1
- package/dist/coordination/agents/phase6-domain.d.ts.map +1 -1
- package/dist/coordination/autonomous-coordinator.d.ts +2 -0
- package/dist/coordination/autonomous-coordinator.d.ts.map +1 -1
- package/dist/coordination/brain-monitor.d.ts +1 -1
- package/dist/coordination/brain.d.ts +3 -2
- package/dist/coordination/brain.d.ts.map +1 -1
- package/dist/coordination/collab-debug.d.ts +0 -9
- package/dist/coordination/collab-debug.d.ts.map +1 -1
- package/dist/coordination/coordinator/error-classifier.d.ts.map +1 -1
- package/dist/coordination/dep-watcher.d.ts +2 -1
- package/dist/coordination/dep-watcher.d.ts.map +1 -1
- package/dist/coordination/director/director-collab.d.ts +1 -1
- package/dist/coordination/director/director-collab.d.ts.map +1 -1
- package/dist/coordination/director-tools.d.ts.map +1 -1
- package/dist/coordination/director.d.ts +10 -1
- package/dist/coordination/director.d.ts.map +1 -1
- package/dist/coordination/file-author-tracker.d.ts.map +1 -1
- package/dist/coordination/fleet-bus.d.ts.map +1 -1
- package/dist/coordination/fleet-event-validation.d.ts +0 -7
- package/dist/coordination/fleet-event-validation.d.ts.map +1 -1
- package/dist/coordination/fleet-spawn.d.ts.map +1 -1
- package/dist/coordination/fleet-supervisor.d.ts +1 -1
- package/dist/coordination/fleet-supervisor.d.ts.map +1 -1
- package/dist/coordination/fleet.d.ts +0 -44
- package/dist/coordination/fleet.d.ts.map +1 -1
- package/dist/coordination/global-mailbox.d.ts +7 -1
- package/dist/coordination/global-mailbox.d.ts.map +1 -1
- package/dist/coordination/index.d.ts +5 -3
- package/dist/coordination/index.d.ts.map +1 -1
- package/dist/coordination/index.js +2426 -299
- package/dist/coordination/index.js.map +4 -4
- package/dist/coordination/knowledge-graph.d.ts +2 -1
- package/dist/coordination/knowledge-graph.d.ts.map +1 -1
- package/dist/coordination/large-answer-store.d.ts +0 -6
- package/dist/coordination/large-answer-store.d.ts.map +1 -1
- package/dist/coordination/mail-tools.d.ts +2 -2
- package/dist/coordination/mail-tools.d.ts.map +1 -1
- package/dist/coordination/mailbox-hooks.d.ts +2 -0
- package/dist/coordination/mailbox-hooks.d.ts.map +1 -1
- package/dist/coordination/mailbox-http-router.d.ts +43 -0
- package/dist/coordination/mailbox-http-router.d.ts.map +1 -0
- package/dist/coordination/mailbox-message-codec.d.ts +35 -0
- package/dist/coordination/mailbox-message-codec.d.ts.map +1 -1
- package/dist/coordination/mailbox-tool.d.ts +1 -1
- package/dist/coordination/mailbox-tool.d.ts.map +1 -1
- package/dist/coordination/mailbox-types.d.ts +170 -10
- package/dist/coordination/mailbox-types.d.ts.map +1 -1
- package/dist/coordination/mailbox.d.ts +1 -1
- package/dist/coordination/mailbox.d.ts.map +1 -1
- package/dist/coordination/package-author-tracker.d.ts.map +1 -1
- package/dist/coordination/provider-status-tracker.d.ts +236 -0
- package/dist/coordination/provider-status-tracker.d.ts.map +1 -0
- package/dist/coordination/subagent-budget.d.ts +2 -1
- package/dist/coordination/subagent-budget.d.ts.map +1 -1
- package/dist/core/agent-loop.d.ts +8 -3
- package/dist/core/agent-loop.d.ts.map +1 -1
- package/dist/core/agent-response.d.ts +5 -4
- package/dist/core/agent-response.d.ts.map +1 -1
- package/dist/core/agent-tools.d.ts +1 -1
- package/dist/core/agent-tools.d.ts.map +1 -1
- package/dist/core/agent.d.ts +4 -2
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/context.d.ts +55 -1
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/fallback-model.d.ts +14 -8
- package/dist/core/fallback-model.d.ts.map +1 -1
- package/dist/core/fallback-profile-manager.d.ts +118 -0
- package/dist/core/fallback-profile-manager.d.ts.map +1 -0
- package/dist/core/fleet-pulse.d.ts +2 -1
- package/dist/core/fleet-pulse.d.ts.map +1 -1
- package/dist/core/iteration-limit.d.ts +2 -1
- package/dist/core/iteration-limit.d.ts.map +1 -1
- package/dist/core/mailbox-loop.d.ts +16 -1
- package/dist/core/mailbox-loop.d.ts.map +1 -1
- package/dist/core/model-availability-calendar.d.ts +27 -0
- package/dist/core/model-availability-calendar.d.ts.map +1 -0
- package/dist/core/provider-runner.d.ts.map +1 -1
- package/dist/core/system-prompt-builder.d.ts +2 -1
- package/dist/core/system-prompt-builder.d.ts.map +1 -1
- package/dist/defaults/index.js +1920 -598
- package/dist/defaults/index.js.map +4 -4
- package/dist/execution/auto-compaction-middleware.d.ts +3 -2
- package/dist/execution/auto-compaction-middleware.d.ts.map +1 -1
- package/dist/execution/compaction-core.d.ts.map +1 -1
- package/dist/execution/council-brain.d.ts +28 -49
- package/dist/execution/council-brain.d.ts.map +1 -1
- package/dist/execution/council-orchestrator.d.ts +30 -0
- package/dist/execution/council-orchestrator.d.ts.map +1 -1
- package/dist/execution/enhance-recovery.d.ts +8 -0
- package/dist/execution/enhance-recovery.d.ts.map +1 -1
- package/dist/execution/error-handler.d.ts +2 -2
- package/dist/execution/error-handler.d.ts.map +1 -1
- package/dist/execution/eternal-autonomy.d.ts.map +1 -1
- package/dist/execution/index.js +2600 -1903
- package/dist/execution/index.js.map +4 -4
- package/dist/execution/intelligent-compactor.d.ts +0 -16
- package/dist/execution/intelligent-compactor.d.ts.map +1 -1
- package/dist/execution/model-runtime.d.ts.map +1 -1
- package/dist/execution/one-shot-llm.d.ts +9 -1
- package/dist/execution/one-shot-llm.d.ts.map +1 -1
- package/dist/execution/prompt-enhancer.d.ts +36 -0
- package/dist/execution/prompt-enhancer.d.ts.map +1 -1
- package/dist/execution/prompt-enhancer.js +158 -10
- package/dist/execution/prompt-enhancer.js.map +2 -2
- package/dist/execution/retry-policy.d.ts +0 -13
- package/dist/execution/retry-policy.d.ts.map +1 -1
- package/dist/execution/skill-loader.d.ts.map +1 -1
- package/dist/execution/tool-executor.d.ts.map +1 -1
- package/dist/goal/checkpoint.d.ts.map +1 -0
- package/dist/{autophase/auto-phase-planner.d.ts → goal/goal-planner.d.ts} +8 -8
- package/dist/goal/goal-planner.d.ts.map +1 -0
- package/dist/{autophase/auto-phase-runner.d.ts → goal/goal-runner.d.ts} +10 -10
- package/dist/goal/goal-runner.d.ts.map +1 -0
- package/dist/{autophase → goal}/index.d.ts +3 -3
- package/dist/goal/index.d.ts.map +1 -0
- package/dist/goal/phase-graph-builder.d.ts.map +1 -0
- package/dist/{autophase → goal}/phase-orchestrator.d.ts +2 -2
- package/dist/goal/phase-orchestrator.d.ts.map +1 -0
- package/dist/goal/phase-store.d.ts.map +1 -0
- package/dist/{autophase → goal}/types.d.ts +2 -2
- package/dist/goal/types.d.ts.map +1 -0
- package/dist/hq/auth-store.d.ts.map +1 -1
- package/dist/hq/commands.d.ts +2 -1
- package/dist/hq/commands.d.ts.map +1 -1
- package/dist/hq/exposure.d.ts +66 -0
- package/dist/hq/exposure.d.ts.map +1 -0
- package/dist/hq/index.d.ts +1 -0
- package/dist/hq/index.d.ts.map +1 -1
- package/dist/hq/index.js +190 -21
- package/dist/hq/index.js.map +4 -4
- package/dist/hq/mailbox-mapper.d.ts +13 -1
- package/dist/hq/mailbox-mapper.d.ts.map +1 -1
- package/dist/hq/protocol/browser.d.ts +9 -1
- package/dist/hq/protocol/browser.d.ts.map +1 -1
- package/dist/hq/protocol/client.d.ts +2 -2
- package/dist/hq/protocol/client.d.ts.map +1 -1
- package/dist/hq/protocol/core.d.ts.map +1 -1
- package/dist/hq/protocol/mailbox.d.ts +6 -0
- package/dist/hq/protocol/mailbox.d.ts.map +1 -1
- package/dist/hq/protocol/session.d.ts +4 -0
- package/dist/hq/protocol/session.d.ts.map +1 -1
- package/dist/hq/publisher.d.ts.map +1 -1
- package/dist/index.d.ts +34 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30287 -22214
- package/dist/index.js.map +4 -4
- package/dist/infrastructure/index.js +60 -5
- package/dist/infrastructure/index.js.map +2 -2
- package/dist/kernel/events/agent-events.d.ts +33 -1
- package/dist/kernel/events/agent-events.d.ts.map +1 -1
- package/dist/kernel/events/file-events.d.ts +65 -0
- package/dist/kernel/events/file-events.d.ts.map +1 -0
- package/dist/kernel/events/memory-events.d.ts +36 -0
- package/dist/kernel/events/memory-events.d.ts.map +1 -1
- package/dist/kernel/events/network-events.d.ts +60 -0
- package/dist/kernel/events/network-events.d.ts.map +1 -0
- package/dist/kernel/events/process-events.d.ts +44 -0
- package/dist/kernel/events/process-events.d.ts.map +1 -0
- package/dist/kernel/events/provider-events.d.ts +89 -0
- package/dist/kernel/events/provider-events.d.ts.map +1 -1
- package/dist/kernel/events/tool-events.d.ts +10 -0
- package/dist/kernel/events/tool-events.d.ts.map +1 -1
- package/dist/kernel/events/worktree-events.d.ts +1 -1
- package/dist/kernel/events.d.ts +14 -1
- package/dist/kernel/events.d.ts.map +1 -1
- package/dist/kernel/index.js +2 -1
- package/dist/kernel/index.js.map +2 -2
- package/dist/kernel/tokens.d.ts +3 -1
- package/dist/kernel/tokens.d.ts.map +1 -1
- package/dist/mailbox-attach.d.ts.map +1 -1
- package/dist/models/index.js.map +2 -2
- package/dist/observability/index.d.ts +3 -0
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +278 -0
- package/dist/observability/index.js.map +4 -4
- package/dist/observability/network-telemetry.d.ts +15 -0
- package/dist/observability/network-telemetry.d.ts.map +1 -0
- package/dist/observability/process-telemetry.d.ts +18 -0
- package/dist/observability/process-telemetry.d.ts.map +1 -0
- package/dist/observability/redact-command.d.ts +20 -0
- package/dist/observability/redact-command.d.ts.map +1 -0
- package/dist/plugins/auto-review-plugin.d.ts +56 -3
- package/dist/plugins/auto-review-plugin.d.ts.map +1 -1
- package/dist/plugins/chimera-plugin.d.ts +164 -5
- package/dist/plugins/chimera-plugin.d.ts.map +1 -1
- package/dist/plugins/review-context-builder.d.ts +52 -0
- package/dist/plugins/review-context-builder.d.ts.map +1 -0
- package/dist/security/index.d.ts +1 -0
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +186 -9
- package/dist/security/index.js.map +4 -4
- package/dist/security/kanban-boundary.d.ts +10 -0
- package/dist/security/kanban-boundary.d.ts.map +1 -0
- package/dist/security/permission-policy.d.ts +1 -0
- package/dist/security/permission-policy.d.ts.map +1 -1
- package/dist/session-registry.d.ts +80 -0
- package/dist/session-registry.d.ts.map +1 -1
- package/dist/skills/index.js.map +2 -2
- package/dist/storage/config-loader.d.ts +7 -0
- package/dist/storage/config-loader.d.ts.map +1 -1
- package/dist/storage/file-session-writer.d.ts +20 -7
- package/dist/storage/file-session-writer.d.ts.map +1 -1
- package/dist/storage/goal-coordination.d.ts +40 -0
- package/dist/storage/goal-coordination.d.ts.map +1 -0
- package/dist/storage/goal-store.d.ts +9 -5
- package/dist/storage/goal-store.d.ts.map +1 -1
- package/dist/storage/index.d.ts +4 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +1066 -226
- package/dist/storage/index.js.map +4 -4
- package/dist/storage/memory-consolidator.d.ts +49 -4
- package/dist/storage/memory-consolidator.d.ts.map +1 -1
- package/dist/storage/memory-graph-backend.d.ts +11 -0
- package/dist/storage/memory-graph-backend.d.ts.map +1 -1
- package/dist/storage/provider-config-watcher.d.ts +19 -0
- package/dist/storage/provider-config-watcher.d.ts.map +1 -1
- package/dist/storage/session-event-bridge.d.ts +2 -2
- package/dist/storage/session-event-bridge.d.ts.map +1 -1
- package/dist/storage/session-resume-validation.d.ts +10 -0
- package/dist/storage/session-resume-validation.d.ts.map +1 -1
- package/dist/storage/session-rewind-apply.d.ts +53 -0
- package/dist/storage/session-rewind-apply.d.ts.map +1 -0
- package/dist/storage/session-rewinder.d.ts.map +1 -1
- package/dist/storage/session-store.d.ts.map +1 -1
- package/dist/tasking/index.js.map +1 -1
- package/dist/tasking/task-store.d.ts +1 -1
- package/dist/tools/council-tool.d.ts +3 -0
- package/dist/tools/council-tool.d.ts.map +1 -1
- package/dist/tools/fallback-manage-tools.d.ts +82 -0
- package/dist/tools/fallback-manage-tools.d.ts.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3423 -192
- package/dist/tools/index.js.map +4 -4
- package/dist/tools/one-shot-llm-tool.d.ts +2 -0
- package/dist/tools/one-shot-llm-tool.d.ts.map +1 -1
- package/dist/types/config.d.ts +76 -7
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/file-event-record.d.ts +68 -0
- package/dist/types/file-event-record.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +13 -8
- package/dist/types/index.js.map +3 -3
- package/dist/types/memory.d.ts +12 -0
- package/dist/types/memory.d.ts.map +1 -1
- package/dist/types/multi-agent.d.ts +12 -1
- package/dist/types/multi-agent.d.ts.map +1 -1
- package/dist/types/one-shot-llm.d.ts +16 -7
- package/dist/types/one-shot-llm.d.ts.map +1 -1
- package/dist/types/provider.d.ts +1 -1
- package/dist/types/provider.d.ts.map +1 -1
- package/dist/types/session.d.ts +68 -2
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/tool-executor.d.ts +2 -0
- package/dist/types/tool-executor.d.ts.map +1 -1
- package/dist/types/tool.d.ts +5 -0
- package/dist/types/tool.d.ts.map +1 -1
- package/dist/utils/atomic-write.d.ts.map +1 -1
- package/dist/utils/index.d.ts +10 -10
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +497 -254
- package/dist/utils/index.js.map +4 -4
- package/dist/utils/message-invariants.d.ts +9 -0
- package/dist/utils/message-invariants.d.ts.map +1 -1
- package/dist/utils/safe-json.d.ts +1 -1
- package/dist/utils/safe-json.d.ts.map +1 -1
- package/dist/utils/term.d.ts +279 -0
- package/dist/utils/term.d.ts.map +1 -1
- package/dist/utils/tool-wire-compact.d.ts +9 -0
- package/dist/utils/tool-wire-compact.d.ts.map +1 -1
- package/dist/utils/wstack-paths.d.ts +12 -2
- package/dist/utils/wstack-paths.d.ts.map +1 -1
- package/dist/worktree/worktree-manager.d.ts +1 -1
- package/dist/worktree/worktree-manager.d.ts.map +1 -1
- package/instructions/agents/ios.md +113 -0
- package/instructions/agents/search.md +1 -1
- package/instructions/llm/chimera-review.md +66 -9
- package/instructions/llm/memory-consolidator.md +4 -12
- package/instructions/llm/prompt-enhancer.md +3 -1
- package/instructions/sections/tool/common-patterns.md +3 -3
- package/instructions/system.md +40 -5
- package/package.json +7 -3
- package/skills/auto-review/SKILL.md +176 -0
- package/skills/mnemosyne/SKILL.md +156 -0
- package/skills/mnemosyne/instructions/agent-prompt.md +200 -0
- package/dist/autophase/auto-phase-planner.d.ts.map +0 -1
- package/dist/autophase/auto-phase-runner.d.ts.map +0 -1
- package/dist/autophase/checkpoint.d.ts.map +0 -1
- package/dist/autophase/index.d.ts.map +0 -1
- package/dist/autophase/phase-graph-builder.d.ts.map +0 -1
- package/dist/autophase/phase-orchestrator.d.ts.map +0 -1
- package/dist/autophase/phase-store.d.ts.map +0 -1
- package/dist/autophase/types.d.ts.map +0 -1
- /package/dist/{autophase → goal}/checkpoint.d.ts +0 -0
- /package/dist/{autophase → goal}/phase-graph-builder.d.ts +0 -0
- /package/dist/{autophase → goal}/phase-store.d.ts +0 -0
- /package/instructions/{autophase → goal}/phase-planner.md +0 -0
|
@@ -3,6 +3,9 @@ export { DefaultHealthRegistry } from './health.js';
|
|
|
3
3
|
export { NoopTracer } from './tracer.js';
|
|
4
4
|
export { OTelTracer } from './otel-tracer.js';
|
|
5
5
|
export { wireMetricsToEvents } from './event-bridge.js';
|
|
6
|
+
export { emitProcessCompleted, emitProcessOutput, emitProcessStarted, runWithProcessTelemetry, type ProcessTelemetryContext, } from './process-telemetry.js';
|
|
7
|
+
export { redactCommand, redactCommandArgs } from './redact-command.js';
|
|
8
|
+
export { runWithNetworkTelemetry, startNetworkTelemetryMonitor, type NetworkTelemetryContext } from './network-telemetry.js';
|
|
6
9
|
export { renderPrometheus, startMetricsServer, PROMETHEUS_CONTENT_TYPE, type MetricsServerOptions, type MetricsServerHandle, type MetricsTlsOptions, } from './prometheus.js';
|
|
7
10
|
export { buildOtlpMetricsRequest, startOtlpMetricsExporter, type OtlpMetricsExporterOptions, type OtlpMetricsExporterHandle, } from './otlp-metrics.js';
|
|
8
11
|
export { buildOtlpTracesRequest, startOtlpTraceExporter, type OtlpTraceExporterOptions, type OtlpTraceExporterHandle, } from './otlp-traces.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC7H,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,kBAAkB,CAAC"}
|
|
@@ -287,6 +287,276 @@ function metricToolName(name) {
|
|
|
287
287
|
return name.startsWith("mcp__") ? "mcp_proxy" : name;
|
|
288
288
|
}
|
|
289
289
|
|
|
290
|
+
// src/observability/process-telemetry.ts
|
|
291
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
292
|
+
import { createHash } from "node:crypto";
|
|
293
|
+
|
|
294
|
+
// src/utils/expect-defined.ts
|
|
295
|
+
function expectDefined(value, label) {
|
|
296
|
+
if (value === null || value === void 0) {
|
|
297
|
+
const err = new Error(label ? `Expected ${label} to be defined` : "Expected value to be defined");
|
|
298
|
+
err.name = "ExpectDefinedError";
|
|
299
|
+
throw err;
|
|
300
|
+
}
|
|
301
|
+
return value;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// src/observability/redact-command.ts
|
|
305
|
+
var SENSITIVE_FLAG_PATTERNS = [
|
|
306
|
+
// --flag=value or --flag "value" (value captured up to next space or comma)
|
|
307
|
+
/--(?:token|password|passwd|pwd|secret|api[-_]?key|api[-_]?secret|auth|credential|private[-_]?key|access[-_]?key|github[-_]?token|gh[-_]?token|bearer|jwt|oauth|pin|pincode|passphrase|access[-_]?token)(?:[=\s,][^\s]*)?/gi,
|
|
308
|
+
// -t short flag (token): attached (-tVALUE), separated (-t VALUE), or -t=VALUE.
|
|
309
|
+
// The separator group is optional so the attached form (the common one) matches.
|
|
310
|
+
// (?<![-\w]) anchors to a token start so we don't match the `-t` inside `--token`.
|
|
311
|
+
/(?<![-\w])-t(?:[=\s]+)?[^\s,-]+/,
|
|
312
|
+
// -p|-password|-a (redis auth) short flags: attached + separated + =value.
|
|
313
|
+
// Same token-start anchor; over-redaction is an accepted tradeoff for a
|
|
314
|
+
// redaction function (false positive = cosmetic noise; false negative = leak).
|
|
315
|
+
/(?<![-\w])-(?:password|p|a)(?:[=\s]+)?[^\s,-]+/gi,
|
|
316
|
+
// env var–style secrets: TOKEN=x, API_KEY=y, etc.
|
|
317
|
+
/(?:TOKEN|API_KEY|API_SECRET|AUTH_TOKEN|GITHUB_TOKEN|GH_TOKEN|BEARER|JWT|OAUTH|CREDENTIAL|SECRET|PRIVATE_KEY|PASSWORD|PASSWD)\s*[=:]\s*[^\s,]+/gi,
|
|
318
|
+
// Generic high-entropy look: base64 strings >32 chars or hex strings >32 digits — but only
|
|
319
|
+
// when preceded by a flag name (e.g. --github-token=EyJ...).
|
|
320
|
+
/--\w*(?:token|key|secret|password|passwd|auth|credential)\w*[=\s,][A-Za-z0-9+/=]{32,}/
|
|
321
|
+
];
|
|
322
|
+
function redactCommand(cmd) {
|
|
323
|
+
let result = cmd;
|
|
324
|
+
for (const pattern of SENSITIVE_FLAG_PATTERNS) {
|
|
325
|
+
result = result.replace(pattern, (match) => {
|
|
326
|
+
const eq = match.indexOf("=");
|
|
327
|
+
const sp = match.search(/\s/);
|
|
328
|
+
const delim = eq !== -1 ? "=" : sp !== -1 ? match[sp] : null;
|
|
329
|
+
if (delim !== null) {
|
|
330
|
+
const flag = match.slice(0, match.indexOf(expectDefined(delim)) + 1);
|
|
331
|
+
return `${flag}[REDACTED]`;
|
|
332
|
+
}
|
|
333
|
+
if (match.startsWith("--")) {
|
|
334
|
+
return match;
|
|
335
|
+
}
|
|
336
|
+
return `${match.slice(0, 2)}[REDACTED]`;
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
return result;
|
|
340
|
+
}
|
|
341
|
+
var BARE_SENSITIVE_LONG_FLAG = /^--(?:token|password|passwd|pwd|secret|api[-_]?key|api[-_]?secret|auth|credential|private[-_]?key|access[-_]?key|github[-_]?token|gh[-_]?token|bearer|jwt|oauth|pin|pincode|passphrase|access[-_]?token)$/i;
|
|
342
|
+
var BARE_SENSITIVE_SHORT_FLAG = /^-(?:p|t|a)$/i;
|
|
343
|
+
function redactCommandArgs(command, args) {
|
|
344
|
+
const redactedCommand = redactCommand(command);
|
|
345
|
+
const redactedArgs = args.map((a) => redactCommand(a));
|
|
346
|
+
for (let i = 0; i < redactedArgs.length - 1; i++) {
|
|
347
|
+
const flag = redactedArgs[i];
|
|
348
|
+
const next = redactedArgs[i + 1];
|
|
349
|
+
if (flag === void 0 || next === void 0) continue;
|
|
350
|
+
const isBareSensitive = (BARE_SENSITIVE_LONG_FLAG.test(flag) || BARE_SENSITIVE_SHORT_FLAG.test(flag)) && !flag.includes("[REDACTED]");
|
|
351
|
+
if (isBareSensitive && !next.startsWith("-")) {
|
|
352
|
+
redactedArgs[i + 1] = "[REDACTED]";
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
return { command: redactedCommand, args: redactedArgs };
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
// src/observability/process-telemetry.ts
|
|
359
|
+
var storage = new AsyncLocalStorage();
|
|
360
|
+
function runWithProcessTelemetry(context, run) {
|
|
361
|
+
return storage.run(context, run);
|
|
362
|
+
}
|
|
363
|
+
function emitProcessStarted(event) {
|
|
364
|
+
const { command, args } = redactCommandArgs(event.command, event.args);
|
|
365
|
+
emit("process.started", { ...event, command, args });
|
|
366
|
+
}
|
|
367
|
+
function emitProcessOutput(input) {
|
|
368
|
+
const bytes = Buffer.byteLength(input.chunk);
|
|
369
|
+
emit("process.output", {
|
|
370
|
+
...input.pid !== void 0 ? { pid: input.pid } : {},
|
|
371
|
+
stream: input.stream,
|
|
372
|
+
bytes,
|
|
373
|
+
chunkHash: createHash("sha256").update(input.chunk).digest("hex"),
|
|
374
|
+
at: (/* @__PURE__ */ new Date()).toISOString()
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
function emitProcessCompleted(event) {
|
|
378
|
+
emit("process.completed", event);
|
|
379
|
+
}
|
|
380
|
+
function emit(name, event) {
|
|
381
|
+
const context = storage.getStore();
|
|
382
|
+
if (!context) return;
|
|
383
|
+
const { events, ...identity2 } = context;
|
|
384
|
+
events.emit(name, { ...identity2, ...event });
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
// src/observability/network-telemetry.ts
|
|
388
|
+
import { AsyncLocalStorage as AsyncLocalStorage2 } from "node:async_hooks";
|
|
389
|
+
import { createHash as createHash2, randomUUID } from "node:crypto";
|
|
390
|
+
import { channel } from "node:diagnostics_channel";
|
|
391
|
+
var storage2 = new AsyncLocalStorage2();
|
|
392
|
+
var requests = /* @__PURE__ */ new WeakMap();
|
|
393
|
+
var users = 0;
|
|
394
|
+
var unsubscribe;
|
|
395
|
+
function runWithNetworkTelemetry(context, run) {
|
|
396
|
+
return storage2.run(context, run);
|
|
397
|
+
}
|
|
398
|
+
function startNetworkTelemetryMonitor() {
|
|
399
|
+
users++;
|
|
400
|
+
if (!unsubscribe) unsubscribe = subscribe();
|
|
401
|
+
let stopped = false;
|
|
402
|
+
return () => {
|
|
403
|
+
if (stopped) return;
|
|
404
|
+
stopped = true;
|
|
405
|
+
users--;
|
|
406
|
+
if (users <= 0) {
|
|
407
|
+
unsubscribe?.();
|
|
408
|
+
unsubscribe = void 0;
|
|
409
|
+
users = 0;
|
|
410
|
+
}
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
function subscribe() {
|
|
414
|
+
const create = channel("undici:request:create");
|
|
415
|
+
const headers = channel("undici:request:headers");
|
|
416
|
+
const error = channel("undici:request:error");
|
|
417
|
+
const onCreate = (message) => {
|
|
418
|
+
const context = storage2.getStore();
|
|
419
|
+
const request = objectField(message, "request");
|
|
420
|
+
if (!context || !request) return;
|
|
421
|
+
const target = safeTarget(request);
|
|
422
|
+
const startedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
423
|
+
const requestBytes = numberField(request, "contentLength");
|
|
424
|
+
const state = {
|
|
425
|
+
...context,
|
|
426
|
+
requestId: randomUUID(),
|
|
427
|
+
...target,
|
|
428
|
+
...requestBytes !== void 0 ? { requestBytes } : {},
|
|
429
|
+
startedAt,
|
|
430
|
+
startedNs: process.hrtime.bigint()
|
|
431
|
+
};
|
|
432
|
+
requests.set(request, state);
|
|
433
|
+
context.events.emit("network.request.started", {
|
|
434
|
+
...identity(state),
|
|
435
|
+
requestId: state.requestId,
|
|
436
|
+
method: state.method,
|
|
437
|
+
scheme: state.scheme,
|
|
438
|
+
serverAddress: state.serverAddress,
|
|
439
|
+
...state.serverPort !== void 0 ? { serverPort: state.serverPort } : {},
|
|
440
|
+
pathHash: state.pathHash,
|
|
441
|
+
queryKeys: queryKeys(request),
|
|
442
|
+
...state.requestBytes !== void 0 ? { requestBytes: state.requestBytes } : {},
|
|
443
|
+
startedAt
|
|
444
|
+
});
|
|
445
|
+
};
|
|
446
|
+
const onHeaders = (message) => {
|
|
447
|
+
const request = objectField(message, "request");
|
|
448
|
+
if (!request) return;
|
|
449
|
+
const state = requests.get(request);
|
|
450
|
+
if (!state) return;
|
|
451
|
+
requests.delete(request);
|
|
452
|
+
const response = objectField(message, "response");
|
|
453
|
+
const responseBytes = contentLength(response);
|
|
454
|
+
state.events.emit("network.request.completed", {
|
|
455
|
+
...identity(state),
|
|
456
|
+
requestId: state.requestId,
|
|
457
|
+
method: state.method,
|
|
458
|
+
scheme: state.scheme,
|
|
459
|
+
serverAddress: state.serverAddress,
|
|
460
|
+
...state.serverPort !== void 0 ? { serverPort: state.serverPort } : {},
|
|
461
|
+
pathHash: state.pathHash,
|
|
462
|
+
statusCode: numberField(response, "statusCode") ?? 0,
|
|
463
|
+
durationMs: elapsed(state.startedNs),
|
|
464
|
+
...state.requestBytes !== void 0 ? { requestBytes: state.requestBytes } : {},
|
|
465
|
+
...responseBytes !== void 0 ? { responseBytes } : {},
|
|
466
|
+
completedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
467
|
+
});
|
|
468
|
+
};
|
|
469
|
+
const onError = (message) => {
|
|
470
|
+
const request = objectField(message, "request");
|
|
471
|
+
if (!request) return;
|
|
472
|
+
const state = requests.get(request);
|
|
473
|
+
if (!state) return;
|
|
474
|
+
requests.delete(request);
|
|
475
|
+
const err = objectField(message, "error");
|
|
476
|
+
const errorCode = stringField(err, "code");
|
|
477
|
+
state.events.emit("network.request.failed", {
|
|
478
|
+
...identity(state),
|
|
479
|
+
requestId: state.requestId,
|
|
480
|
+
method: state.method,
|
|
481
|
+
scheme: state.scheme,
|
|
482
|
+
serverAddress: state.serverAddress,
|
|
483
|
+
...state.serverPort !== void 0 ? { serverPort: state.serverPort } : {},
|
|
484
|
+
pathHash: state.pathHash,
|
|
485
|
+
durationMs: elapsed(state.startedNs),
|
|
486
|
+
errorName: stringField(err, "name") ?? "Error",
|
|
487
|
+
...errorCode ? { errorCode } : {},
|
|
488
|
+
failedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
489
|
+
});
|
|
490
|
+
};
|
|
491
|
+
create.subscribe(onCreate);
|
|
492
|
+
headers.subscribe(onHeaders);
|
|
493
|
+
error.subscribe(onError);
|
|
494
|
+
return () => {
|
|
495
|
+
create.unsubscribe(onCreate);
|
|
496
|
+
headers.unsubscribe(onHeaders);
|
|
497
|
+
error.unsubscribe(onError);
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
function identity(state) {
|
|
501
|
+
return {
|
|
502
|
+
sessionId: state.sessionId,
|
|
503
|
+
...state.traceId ? { traceId: state.traceId } : {},
|
|
504
|
+
...state.agentId ? { agentId: state.agentId } : {},
|
|
505
|
+
...state.toolCallId ? { toolCallId: state.toolCallId } : {},
|
|
506
|
+
...state.attemptId ? { attemptId: state.attemptId } : {},
|
|
507
|
+
initiator: state.initiator,
|
|
508
|
+
operationName: state.operationName
|
|
509
|
+
};
|
|
510
|
+
}
|
|
511
|
+
function safeTarget(request) {
|
|
512
|
+
const origin = String(request.origin ?? "");
|
|
513
|
+
const path = String(request.path ?? "");
|
|
514
|
+
let url;
|
|
515
|
+
try {
|
|
516
|
+
url = new URL(path, origin);
|
|
517
|
+
} catch {
|
|
518
|
+
url = new URL("http://invalid.local/");
|
|
519
|
+
}
|
|
520
|
+
return {
|
|
521
|
+
method: String(request.method ?? "GET").toUpperCase(),
|
|
522
|
+
scheme: url.protocol.replace(":", ""),
|
|
523
|
+
serverAddress: url.hostname,
|
|
524
|
+
...url.port ? { serverPort: Number(url.port) } : {},
|
|
525
|
+
pathHash: hash(url.pathname)
|
|
526
|
+
};
|
|
527
|
+
}
|
|
528
|
+
function queryKeys(request) {
|
|
529
|
+
try {
|
|
530
|
+
return [...new URL(String(request.path ?? ""), String(request.origin ?? "")).searchParams.keys()].filter((v, i, a) => a.indexOf(v) === i).slice(0, 50);
|
|
531
|
+
} catch {
|
|
532
|
+
return [];
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
function contentLength(response) {
|
|
536
|
+
const raw = response?.headers;
|
|
537
|
+
if (!Array.isArray(raw)) return void 0;
|
|
538
|
+
for (let index = 0; index < raw.length - 1; index += 2) if (String(raw[index]).toLowerCase() === "content-length") {
|
|
539
|
+
const value = Number(String(raw[index + 1]));
|
|
540
|
+
return Number.isFinite(value) ? value : void 0;
|
|
541
|
+
}
|
|
542
|
+
return void 0;
|
|
543
|
+
}
|
|
544
|
+
function objectField(value, key) {
|
|
545
|
+
return value && typeof value === "object" && value[key] && typeof value[key] === "object" ? value[key] : void 0;
|
|
546
|
+
}
|
|
547
|
+
function stringField(value, key) {
|
|
548
|
+
return typeof value?.[key] === "string" ? value[key] : void 0;
|
|
549
|
+
}
|
|
550
|
+
function numberField(value, key) {
|
|
551
|
+
return typeof value?.[key] === "number" ? value[key] : void 0;
|
|
552
|
+
}
|
|
553
|
+
function elapsed(start) {
|
|
554
|
+
return Number(process.hrtime.bigint() - start) / 1e6;
|
|
555
|
+
}
|
|
556
|
+
function hash(value) {
|
|
557
|
+
return createHash2("sha256").update(value).digest("hex");
|
|
558
|
+
}
|
|
559
|
+
|
|
290
560
|
// src/observability/prometheus.ts
|
|
291
561
|
var NUMBER_FORMAT_INFINITY = "NaN";
|
|
292
562
|
function escapeLabelValue(v) {
|
|
@@ -701,8 +971,16 @@ export {
|
|
|
701
971
|
PROMETHEUS_CONTENT_TYPE,
|
|
702
972
|
buildOtlpMetricsRequest,
|
|
703
973
|
buildOtlpTracesRequest,
|
|
974
|
+
emitProcessCompleted,
|
|
975
|
+
emitProcessOutput,
|
|
976
|
+
emitProcessStarted,
|
|
977
|
+
redactCommand,
|
|
978
|
+
redactCommandArgs,
|
|
704
979
|
renderPrometheus,
|
|
980
|
+
runWithNetworkTelemetry,
|
|
981
|
+
runWithProcessTelemetry,
|
|
705
982
|
startMetricsServer,
|
|
983
|
+
startNetworkTelemetryMonitor,
|
|
706
984
|
startOtlpMetricsExporter,
|
|
707
985
|
startOtlpTraceExporter,
|
|
708
986
|
wireMetricsToEvents
|