@vauban-org/agent-sdk 1.0.0 → 1.3.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/CONTRACT.md +6918 -742
- package/dist/adapters/llm/anthropic-direct.d.ts +1 -0
- package/dist/adapters/llm/anthropic-direct.d.ts.map +1 -1
- package/dist/adapters/llm/anthropic-direct.js +43 -0
- package/dist/adapters/llm/anthropic-direct.js.map +1 -1
- package/dist/adapters/llm/cascade.d.ts.map +1 -1
- package/dist/adapters/llm/cascade.js +57 -14
- package/dist/adapters/llm/cascade.js.map +1 -1
- package/dist/adapters/llm/litellm.d.ts +2 -0
- package/dist/adapters/llm/litellm.d.ts.map +1 -1
- package/dist/adapters/llm/litellm.js +44 -0
- package/dist/adapters/llm/litellm.js.map +1 -1
- package/dist/compute/difficulty-estimator.d.ts +53 -0
- package/dist/compute/difficulty-estimator.d.ts.map +1 -0
- package/dist/compute/difficulty-estimator.js +82 -0
- package/dist/compute/difficulty-estimator.js.map +1 -0
- package/dist/compute/strategies/mixture-of-agents.d.ts +40 -0
- package/dist/compute/strategies/mixture-of-agents.d.ts.map +1 -0
- package/dist/compute/strategies/mixture-of-agents.js +110 -0
- package/dist/compute/strategies/mixture-of-agents.js.map +1 -0
- package/dist/compute/strategies/tree-of-thoughts.d.ts +48 -0
- package/dist/compute/strategies/tree-of-thoughts.d.ts.map +1 -0
- package/dist/compute/strategies/tree-of-thoughts.js +242 -0
- package/dist/compute/strategies/tree-of-thoughts.js.map +1 -0
- package/dist/compute/strategies/two-phase-orient.d.ts +72 -0
- package/dist/compute/strategies/two-phase-orient.d.ts.map +1 -0
- package/dist/compute/strategies/two-phase-orient.js +85 -0
- package/dist/compute/strategies/two-phase-orient.js.map +1 -0
- package/dist/constitution/types.d.ts +10 -10
- package/dist/container/protocol.d.ts +134 -0
- package/dist/container/protocol.d.ts.map +1 -0
- package/dist/container/protocol.js +157 -0
- package/dist/container/protocol.js.map +1 -0
- package/dist/container/runtime.d.ts +140 -0
- package/dist/container/runtime.d.ts.map +1 -0
- package/dist/container/runtime.js +256 -0
- package/dist/container/runtime.js.map +1 -0
- package/dist/events/catalogue.d.ts +46 -46
- package/dist/events/schemas/agent.completed.v1.d.ts +4 -4
- package/dist/events/schemas/agent.failed.v1.d.ts +2 -2
- package/dist/events/schemas/agent.hitl_resolved.v1.d.ts +2 -2
- package/dist/events/schemas/agent.started.v1.d.ts +2 -2
- package/dist/events/schemas/brain.skill.extracted.v1.d.ts +4 -4
- package/dist/events/schemas/cc.cost.anomaly_detected.v1.d.ts +2 -2
- package/dist/events/schemas/cc.cost.recorded.v1.d.ts +4 -4
- package/dist/events/schemas/citadel.sprint.analyzed.v1.d.ts +6 -6
- package/dist/events/schemas/citadel.sprint.closed.v1.d.ts +2 -2
- package/dist/events/schemas/forge.inbox.reply_classified.v1.d.ts +6 -6
- package/dist/events/schemas/forge.lead.qualified.v1.d.ts +2 -2
- package/dist/events/schemas/forge.outreach.sent.v1.d.ts +4 -4
- package/dist/events/schemas/incident.detected.v1.d.ts +2 -2
- package/dist/events/schemas/vauban.goal.checked.v1.d.ts +2 -2
- package/dist/events/schemas/vauban.rebalancing.checked.v1.d.ts +2 -2
- package/dist/events/schemas/vauban.tax.checked.v1.d.ts +2 -2
- package/dist/events/schemas/vauban.vault.analyzed.v1.d.ts +6 -6
- package/dist/identity/agent-persona.d.ts +73 -0
- package/dist/identity/agent-persona.d.ts.map +1 -0
- package/dist/identity/agent-persona.js +165 -0
- package/dist/identity/agent-persona.js.map +1 -0
- package/dist/identity/persona-prompt.d.ts +25 -0
- package/dist/identity/persona-prompt.d.ts.map +1 -0
- package/dist/identity/persona-prompt.js +71 -0
- package/dist/identity/persona-prompt.js.map +1 -0
- package/dist/identity/persona-schema.d.ts +120 -0
- package/dist/identity/persona-schema.d.ts.map +1 -0
- package/dist/identity/persona-schema.js +103 -0
- package/dist/identity/persona-schema.js.map +1 -0
- package/dist/index.d.ts +41 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -1
- package/dist/index.js.map +1 -1
- package/dist/loop/minimal-loop.js +293 -287
- package/dist/memory/episodic-rrf.d.ts +114 -0
- package/dist/memory/episodic-rrf.d.ts.map +1 -0
- package/dist/memory/episodic-rrf.js +148 -0
- package/dist/memory/episodic-rrf.js.map +1 -0
- package/dist/mesh/attenuation.d.ts +78 -0
- package/dist/mesh/attenuation.d.ts.map +1 -0
- package/dist/mesh/attenuation.js +141 -0
- package/dist/mesh/attenuation.js.map +1 -0
- package/dist/mesh/delegate.d.ts +96 -0
- package/dist/mesh/delegate.d.ts.map +1 -0
- package/dist/mesh/delegate.js +172 -0
- package/dist/mesh/delegate.js.map +1 -0
- package/dist/mesh/dispatcher.d.ts +119 -0
- package/dist/mesh/dispatcher.d.ts.map +1 -0
- package/dist/mesh/dispatcher.js +207 -0
- package/dist/mesh/dispatcher.js.map +1 -0
- package/dist/mesh/index.d.ts +12 -0
- package/dist/mesh/index.d.ts.map +1 -0
- package/dist/mesh/index.js +11 -0
- package/dist/mesh/index.js.map +1 -0
- package/dist/mesh/types.d.ts +30 -0
- package/dist/mesh/types.d.ts.map +1 -0
- package/dist/mesh/types.js +11 -0
- package/dist/mesh/types.js.map +1 -0
- package/dist/orchestration/ooda/agent.d.ts.map +1 -1
- package/dist/orchestration/ooda/agent.js +36 -0
- package/dist/orchestration/ooda/agent.js.map +1 -1
- package/dist/orchestration/ooda/skills.d.ts +104 -0
- package/dist/orchestration/ooda/skills.d.ts.map +1 -1
- package/dist/orchestration/ooda/skills.js +106 -0
- package/dist/orchestration/ooda/skills.js.map +1 -1
- package/dist/orchestration/ooda/types.d.ts +11 -0
- package/dist/orchestration/ooda/types.d.ts.map +1 -1
- package/dist/ports/bastion-action.contract.test.d.ts +11 -0
- package/dist/ports/bastion-action.contract.test.d.ts.map +1 -0
- package/dist/ports/bastion-action.contract.test.js +238 -0
- package/dist/ports/bastion-action.contract.test.js.map +1 -0
- package/dist/ports/bastion-action.d.ts +133 -0
- package/dist/ports/bastion-action.d.ts.map +1 -0
- package/dist/ports/bastion-action.js +73 -0
- package/dist/ports/bastion-action.js.map +1 -0
- package/dist/ports/brain.d.ts +31 -0
- package/dist/ports/brain.d.ts.map +1 -1
- package/dist/ports/brain.js +115 -1
- package/dist/ports/brain.js.map +1 -1
- package/dist/ports/citadel-action.contract.test.d.ts +11 -0
- package/dist/ports/citadel-action.contract.test.d.ts.map +1 -0
- package/dist/ports/citadel-action.contract.test.js +317 -0
- package/dist/ports/citadel-action.contract.test.js.map +1 -0
- package/dist/ports/citadel-action.d.ts +111 -0
- package/dist/ports/citadel-action.d.ts.map +1 -0
- package/dist/ports/citadel-action.js +62 -0
- package/dist/ports/citadel-action.js.map +1 -0
- package/dist/ports/compliance-contract.d.ts +123 -0
- package/dist/ports/compliance-contract.d.ts.map +1 -0
- package/dist/ports/compliance-contract.js +35 -0
- package/dist/ports/compliance-contract.js.map +1 -0
- package/dist/ports/db.d.ts +38 -0
- package/dist/ports/db.d.ts.map +1 -1
- package/dist/ports/db.js +88 -1
- package/dist/ports/db.js.map +1 -1
- package/dist/ports/delegation.contract.test.d.ts +9 -0
- package/dist/ports/delegation.contract.test.d.ts.map +1 -0
- package/dist/ports/delegation.contract.test.js +337 -0
- package/dist/ports/delegation.contract.test.js.map +1 -0
- package/dist/ports/delegation.d.ts +134 -0
- package/dist/ports/delegation.d.ts.map +1 -0
- package/dist/ports/delegation.js +105 -0
- package/dist/ports/delegation.js.map +1 -0
- package/dist/ports/event-bus.d.ts +29 -0
- package/dist/ports/event-bus.d.ts.map +1 -1
- package/dist/ports/event-bus.js +106 -1
- package/dist/ports/event-bus.js.map +1 -1
- package/dist/ports/federation.contract.test.d.ts +9 -0
- package/dist/ports/federation.contract.test.d.ts.map +1 -0
- package/dist/ports/federation.contract.test.js +279 -0
- package/dist/ports/federation.contract.test.js.map +1 -0
- package/dist/ports/federation.d.ts +140 -0
- package/dist/ports/federation.d.ts.map +1 -0
- package/dist/ports/federation.js +57 -0
- package/dist/ports/federation.js.map +1 -0
- package/dist/ports/index.d.ts +28 -2
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js +17 -2
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/llm-provider.d.ts +37 -0
- package/dist/ports/llm-provider.d.ts.map +1 -1
- package/dist/ports/llm-provider.js +99 -1
- package/dist/ports/llm-provider.js.map +1 -1
- package/dist/ports/logger.d.ts +27 -0
- package/dist/ports/logger.d.ts.map +1 -1
- package/dist/ports/logger.js +87 -0
- package/dist/ports/logger.js.map +1 -1
- package/dist/ports/manifest-registry.contract.test.d.ts +9 -0
- package/dist/ports/manifest-registry.contract.test.d.ts.map +1 -0
- package/dist/ports/manifest-registry.contract.test.js +246 -0
- package/dist/ports/manifest-registry.contract.test.js.map +1 -0
- package/dist/ports/manifest-registry.d.ts +116 -0
- package/dist/ports/manifest-registry.d.ts.map +1 -0
- package/dist/ports/manifest-registry.js +79 -0
- package/dist/ports/manifest-registry.js.map +1 -0
- package/dist/ports/observability.contract.test.d.ts +12 -0
- package/dist/ports/observability.contract.test.d.ts.map +1 -0
- package/dist/ports/observability.contract.test.js +260 -0
- package/dist/ports/observability.contract.test.js.map +1 -0
- package/dist/ports/observability.d.ts +98 -0
- package/dist/ports/observability.d.ts.map +1 -0
- package/dist/ports/observability.js +59 -0
- package/dist/ports/observability.js.map +1 -0
- package/dist/ports/outcome.d.ts +26 -0
- package/dist/ports/outcome.d.ts.map +1 -1
- package/dist/ports/outcome.js +62 -1
- package/dist/ports/outcome.js.map +1 -1
- package/dist/ports/privacy.contract.test.d.ts +12 -0
- package/dist/ports/privacy.contract.test.d.ts.map +1 -0
- package/dist/ports/privacy.contract.test.js +325 -0
- package/dist/ports/privacy.contract.test.js.map +1 -0
- package/dist/ports/privacy.d.ts +132 -0
- package/dist/ports/privacy.d.ts.map +1 -0
- package/dist/ports/privacy.js +83 -0
- package/dist/ports/privacy.js.map +1 -0
- package/dist/ports/tenant-context.contract.test.d.ts +14 -0
- package/dist/ports/tenant-context.contract.test.d.ts.map +1 -0
- package/dist/ports/tenant-context.contract.test.js +352 -0
- package/dist/ports/tenant-context.contract.test.js.map +1 -0
- package/dist/ports/tenant-context.d.ts +103 -0
- package/dist/ports/tenant-context.d.ts.map +1 -0
- package/dist/ports/tenant-context.js +48 -0
- package/dist/ports/tenant-context.js.map +1 -0
- package/dist/ports/vauban-finance-action.contract.test.d.ts +11 -0
- package/dist/ports/vauban-finance-action.contract.test.d.ts.map +1 -0
- package/dist/ports/vauban-finance-action.contract.test.js +260 -0
- package/dist/ports/vauban-finance-action.contract.test.js.map +1 -0
- package/dist/ports/vauban-finance-action.d.ts +106 -0
- package/dist/ports/vauban-finance-action.d.ts.map +1 -0
- package/dist/ports/vauban-finance-action.js +60 -0
- package/dist/ports/vauban-finance-action.js.map +1 -0
- package/dist/ports/workflow-runtime.d.ts +204 -0
- package/dist/ports/workflow-runtime.d.ts.map +1 -0
- package/dist/ports/workflow-runtime.js +72 -0
- package/dist/ports/workflow-runtime.js.map +1 -0
- package/dist/proof/cert-verify.d.ts +80 -0
- package/dist/proof/cert-verify.d.ts.map +1 -0
- package/dist/proof/cert-verify.js +178 -0
- package/dist/proof/cert-verify.js.map +1 -0
- package/dist/replay/replay.d.ts.map +1 -1
- package/dist/replay/replay.js +5 -1
- package/dist/replay/replay.js.map +1 -1
- package/dist/retry/index.d.ts +129 -0
- package/dist/retry/index.d.ts.map +1 -0
- package/dist/retry/index.js +156 -0
- package/dist/retry/index.js.map +1 -0
- package/dist/retry/presets.d.ts +39 -0
- package/dist/retry/presets.d.ts.map +1 -0
- package/dist/retry/presets.js +69 -0
- package/dist/retry/presets.js.map +1 -0
- package/dist/skill-loop/ab-runner.d.ts +67 -0
- package/dist/skill-loop/ab-runner.d.ts.map +1 -0
- package/dist/skill-loop/ab-runner.js +160 -0
- package/dist/skill-loop/ab-runner.js.map +1 -0
- package/dist/skill-loop/adoption.d.ts +67 -0
- package/dist/skill-loop/adoption.d.ts.map +1 -0
- package/dist/skill-loop/adoption.js +126 -0
- package/dist/skill-loop/adoption.js.map +1 -0
- package/dist/skill-loop/candidate.d.ts +45 -0
- package/dist/skill-loop/candidate.d.ts.map +1 -0
- package/dist/skill-loop/candidate.js +43 -0
- package/dist/skill-loop/candidate.js.map +1 -0
- package/dist/skill-loop/evaluator.d.ts +42 -0
- package/dist/skill-loop/evaluator.d.ts.map +1 -0
- package/dist/skill-loop/evaluator.js +184 -0
- package/dist/skill-loop/evaluator.js.map +1 -0
- package/dist/skill-loop/index.d.ts +27 -0
- package/dist/skill-loop/index.d.ts.map +1 -0
- package/dist/skill-loop/index.js +27 -0
- package/dist/skill-loop/index.js.map +1 -0
- package/dist/skill-loop/reflexion-replay.d.ts +87 -0
- package/dist/skill-loop/reflexion-replay.d.ts.map +1 -0
- package/dist/skill-loop/reflexion-replay.js +110 -0
- package/dist/skill-loop/reflexion-replay.js.map +1 -0
- package/dist/skill-loop/sign-off.d.ts +88 -0
- package/dist/skill-loop/sign-off.d.ts.map +1 -0
- package/dist/skill-loop/sign-off.js +146 -0
- package/dist/skill-loop/sign-off.js.map +1 -0
- package/dist/skill-loop/value-metric.d.ts +55 -0
- package/dist/skill-loop/value-metric.d.ts.map +1 -0
- package/dist/skill-loop/value-metric.js +69 -0
- package/dist/skill-loop/value-metric.js.map +1 -0
- package/dist/skill-loop/versioning.d.ts +36 -0
- package/dist/skill-loop/versioning.d.ts.map +1 -0
- package/dist/skill-loop/versioning.js +47 -0
- package/dist/skill-loop/versioning.js.map +1 -0
- package/dist/skill-manifest/anchor.d.ts +91 -0
- package/dist/skill-manifest/anchor.d.ts.map +1 -0
- package/dist/skill-manifest/anchor.js +331 -0
- package/dist/skill-manifest/anchor.js.map +1 -0
- package/dist/skill-manifest/builder.d.ts +47 -0
- package/dist/skill-manifest/builder.d.ts.map +1 -0
- package/dist/skill-manifest/builder.js +93 -0
- package/dist/skill-manifest/builder.js.map +1 -0
- package/dist/skill-manifest/index.d.ts +13 -0
- package/dist/skill-manifest/index.d.ts.map +1 -0
- package/dist/skill-manifest/index.js +9 -0
- package/dist/skill-manifest/index.js.map +1 -0
- package/dist/skill-manifest/types.d.ts +67 -0
- package/dist/skill-manifest/types.d.ts.map +1 -0
- package/dist/skill-manifest/types.js +16 -0
- package/dist/skill-manifest/types.js.map +1 -0
- package/dist/skill-manifest/verifier.d.ts +42 -0
- package/dist/skill-manifest/verifier.d.ts.map +1 -0
- package/dist/skill-manifest/verifier.js +136 -0
- package/dist/skill-manifest/verifier.js.map +1 -0
- package/dist/skills/_secrets.d.ts +16 -0
- package/dist/skills/_secrets.d.ts.map +1 -0
- package/dist/skills/_secrets.js +20 -0
- package/dist/skills/_secrets.js.map +1 -0
- package/dist/skills/alpaca-quote.d.ts +2 -2
- package/dist/skills/alpaca-quote.d.ts.map +1 -1
- package/dist/skills/alpaca-quote.js +51 -20
- package/dist/skills/alpaca-quote.js.map +1 -1
- package/dist/skills/brain-query.d.ts +4 -4
- package/dist/skills/brain-store.d.ts +6 -6
- package/dist/skills/errors.d.ts +15 -0
- package/dist/skills/errors.d.ts.map +1 -1
- package/dist/skills/errors.js +21 -0
- package/dist/skills/errors.js.map +1 -1
- package/dist/skills/hitl-request.d.ts +2 -2
- package/dist/skills/index.d.ts +3 -1
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +4 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/markdown/loader.d.ts +52 -0
- package/dist/skills/markdown/loader.d.ts.map +1 -0
- package/dist/skills/markdown/loader.js +93 -0
- package/dist/skills/markdown/loader.js.map +1 -0
- package/dist/skills/markdown/schema.d.ts +432 -0
- package/dist/skills/markdown/schema.d.ts.map +1 -0
- package/dist/skills/markdown/schema.js +121 -0
- package/dist/skills/markdown/schema.js.map +1 -0
- package/dist/skills/poc-md-loader/markdown-loader.d.ts +77 -0
- package/dist/skills/poc-md-loader/markdown-loader.d.ts.map +1 -0
- package/dist/skills/poc-md-loader/markdown-loader.js +125 -0
- package/dist/skills/poc-md-loader/markdown-loader.js.map +1 -0
- package/dist/skills/poc-md-loader/runner.d.ts +24 -0
- package/dist/skills/poc-md-loader/runner.d.ts.map +1 -0
- package/dist/skills/poc-md-loader/runner.js +57 -0
- package/dist/skills/poc-md-loader/runner.js.map +1 -0
- package/dist/skills/poc-md-loader/vitest.poc.config.d.ts +3 -0
- package/dist/skills/poc-md-loader/vitest.poc.config.d.ts.map +1 -0
- package/dist/skills/poc-md-loader/vitest.poc.config.js +13 -0
- package/dist/skills/poc-md-loader/vitest.poc.config.js.map +1 -0
- package/dist/skills/poc-md-loader/web-search/script.d.ts +33 -0
- package/dist/skills/poc-md-loader/web-search/script.d.ts.map +1 -0
- package/dist/skills/poc-md-loader/web-search/script.js +75 -0
- package/dist/skills/poc-md-loader/web-search/script.js.map +1 -0
- package/dist/skills/record-outcome.d.ts +4 -4
- package/dist/skills/send-email.d.ts +2 -2
- package/dist/skills/send-email.d.ts.map +1 -1
- package/dist/skills/send-email.js +4 -3
- package/dist/skills/send-email.js.map +1 -1
- package/dist/skills/slack-notify.d.ts +4 -4
- package/dist/skills/slack-notify.d.ts.map +1 -1
- package/dist/skills/slack-notify.js +52 -21
- package/dist/skills/slack-notify.js.map +1 -1
- package/dist/skills/starknet-balance.d.ts +1 -1
- package/dist/skills/telegram-notify.d.ts +4 -4
- package/dist/skills/telegram-notify.d.ts.map +1 -1
- package/dist/skills/telegram-notify.js +48 -19
- package/dist/skills/telegram-notify.js.map +1 -1
- package/dist/skills/web-search.d.ts +1 -1
- package/dist/skills/web-search.d.ts.map +1 -1
- package/dist/skills/web-search.js +85 -40
- package/dist/skills/web-search.js.map +1 -1
- package/dist/telemetry/bus.d.ts +54 -0
- package/dist/telemetry/bus.d.ts.map +1 -0
- package/dist/telemetry/bus.js +159 -0
- package/dist/telemetry/bus.js.map +1 -0
- package/dist/telemetry/index.d.ts +35 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +30 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/port.d.ts +121 -0
- package/dist/telemetry/port.d.ts.map +1 -0
- package/dist/telemetry/port.js +48 -0
- package/dist/telemetry/port.js.map +1 -0
- package/dist/telemetry/sinks/otlp.d.ts +45 -0
- package/dist/telemetry/sinks/otlp.d.ts.map +1 -0
- package/dist/telemetry/sinks/otlp.js +195 -0
- package/dist/telemetry/sinks/otlp.js.map +1 -0
- package/dist/telemetry/sinks/sqlite.d.ts +32 -0
- package/dist/telemetry/sinks/sqlite.d.ts.map +1 -0
- package/dist/telemetry/sinks/sqlite.js +170 -0
- package/dist/telemetry/sinks/sqlite.js.map +1 -0
- package/dist/telemetry/sinks/stdout.d.ts +22 -0
- package/dist/telemetry/sinks/stdout.d.ts.map +1 -0
- package/dist/telemetry/sinks/stdout.js +38 -0
- package/dist/telemetry/sinks/stdout.js.map +1 -0
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/test-brain-port.d.ts +4 -0
- package/dist/testing/test-brain-port.d.ts.map +1 -1
- package/dist/testing/test-brain-port.js +75 -20
- package/dist/testing/test-brain-port.js.map +1 -1
- package/dist/testing/test-event-bus.d.ts.map +1 -1
- package/dist/testing/test-event-bus.js +89 -36
- package/dist/testing/test-event-bus.js.map +1 -1
- package/dist/trace/schema.d.ts +1 -1
- package/dist/trace/schema.d.ts.map +1 -1
- package/dist/trace/schema.js +1 -1
- package/dist/trace/schema.js.map +1 -1
- package/dist/verify/formal/index.d.ts +44 -0
- package/dist/verify/formal/index.d.ts.map +1 -0
- package/dist/verify/formal/index.js +98 -0
- package/dist/verify/formal/index.js.map +1 -0
- package/dist/verify/formal/policy.d.ts +105 -0
- package/dist/verify/formal/policy.d.ts.map +1 -0
- package/dist/verify/formal/policy.js +159 -0
- package/dist/verify/formal/policy.js.map +1 -0
- package/dist/verify/formal/result.d.ts +50 -0
- package/dist/verify/formal/result.d.ts.map +1 -0
- package/dist/verify/formal/result.js +21 -0
- package/dist/verify/formal/result.js.map +1 -0
- package/dist/verify/formal/solver.d.ts +67 -0
- package/dist/verify/formal/solver.d.ts.map +1 -0
- package/dist/verify/formal/solver.js +184 -0
- package/dist/verify/formal/solver.js.map +1 -0
- package/dist/verify/formal/spec-language.d.ts +80 -0
- package/dist/verify/formal/spec-language.d.ts.map +1 -0
- package/dist/verify/formal/spec-language.js +219 -0
- package/dist/verify/formal/spec-language.js.map +1 -0
- package/docs/attestation.md +199 -0
- package/docs/identity.md +193 -0
- package/docs/telemetry/migration.md +155 -0
- package/docs/telemetry/overview.md +154 -0
- package/docs/telemetry/privacy.md +127 -0
- package/docs/telemetry/sinks/cc.md +155 -0
- package/docs/telemetry/sinks/otlp.md +146 -0
- package/docs/telemetry/sinks/sqlite.md +126 -0
- package/docs/telemetry/sinks/stdout.md +82 -0
- package/package.json +18 -2
- package/src/adapters/llm/anthropic-direct.ts +51 -0
- package/src/adapters/llm/cascade.ts +64 -19
- package/src/adapters/llm/litellm.ts +49 -0
- package/src/compute/difficulty-estimator.ts +111 -0
- package/src/compute/strategies/mixture-of-agents.ts +150 -0
- package/src/compute/strategies/tree-of-thoughts.ts +293 -0
- package/src/compute/strategies/two-phase-orient.ts +147 -0
- package/src/container/protocol.ts +243 -0
- package/src/container/runtime.ts +424 -0
- package/src/db/migrations/026_formal_verify_results.sql +30 -0
- package/src/identity/agent-persona.ts +203 -0
- package/src/identity/persona-prompt.ts +84 -0
- package/src/identity/persona-schema.ts +127 -0
- package/src/index.ts +368 -2
- package/src/memory/episodic-rrf.ts +224 -0
- package/src/mesh/attenuation.ts +190 -0
- package/src/mesh/delegate.ts +254 -0
- package/src/mesh/dispatcher.ts +301 -0
- package/src/mesh/index.ts +39 -0
- package/src/mesh/types.ts +31 -0
- package/src/orchestration/ooda/agent.ts +50 -0
- package/src/orchestration/ooda/skills.ts +177 -0
- package/src/orchestration/ooda/types.ts +12 -0
- package/src/ports/bastion-action.contract.test.ts +355 -0
- package/src/ports/bastion-action.ts +198 -0
- package/src/ports/brain.ts +177 -15
- package/src/ports/citadel-action.contract.test.ts +430 -0
- package/src/ports/citadel-action.ts +174 -0
- package/src/ports/compliance-contract.ts +191 -0
- package/src/ports/db.ts +98 -0
- package/src/ports/delegation.contract.test.ts +428 -0
- package/src/ports/delegation.ts +211 -0
- package/src/ports/event-bus.ts +133 -0
- package/src/ports/federation.contract.test.ts +355 -0
- package/src/ports/federation.ts +190 -0
- package/src/ports/index.ts +186 -1
- package/src/ports/llm-provider.ts +123 -0
- package/src/ports/logger.ts +104 -0
- package/src/ports/manifest-registry.contract.test.ts +324 -0
- package/src/ports/manifest-registry.ts +188 -0
- package/src/ports/observability.contract.test.ts +315 -0
- package/src/ports/observability.ts +150 -0
- package/src/ports/outcome.ts +69 -0
- package/src/ports/privacy.contract.test.ts +413 -0
- package/src/ports/privacy.ts +207 -0
- package/src/ports/tenant-context.contract.test.ts +454 -0
- package/src/ports/tenant-context.ts +150 -0
- package/src/ports/vauban-finance-action.contract.test.ts +335 -0
- package/src/ports/vauban-finance-action.ts +166 -0
- package/src/ports/workflow-runtime.ts +327 -0
- package/src/proof/cert-verify.ts +249 -0
- package/src/replay/replay.ts +11 -8
- package/src/retry/index.ts +227 -0
- package/src/retry/presets.ts +75 -0
- package/src/skill-loop/ab-runner.ts +196 -0
- package/src/skill-loop/adoption.ts +188 -0
- package/src/skill-loop/candidate.ts +75 -0
- package/src/skill-loop/evaluator.ts +238 -0
- package/src/skill-loop/index.ts +51 -0
- package/src/skill-loop/reflexion-replay.ts +173 -0
- package/src/skill-loop/sign-off.ts +247 -0
- package/src/skill-loop/value-metric.ts +120 -0
- package/src/skill-loop/versioning.ts +75 -0
- package/src/skill-manifest/anchor.ts +401 -0
- package/src/skill-manifest/builder.ts +129 -0
- package/src/skill-manifest/index.ts +18 -0
- package/src/skill-manifest/types.ts +72 -0
- package/src/skill-manifest/verifier.ts +198 -0
- package/src/skills/_secrets.ts +25 -0
- package/src/skills/alpaca-quote.ts +68 -23
- package/src/skills/errors.ts +30 -2
- package/src/skills/index.ts +19 -0
- package/src/skills/markdown/loader.ts +129 -0
- package/src/skills/markdown/schema.ts +144 -0
- package/src/skills/poc-md-loader/e2e-parity.test.ts +237 -0
- package/src/skills/poc-md-loader/markdown-loader.ts +161 -0
- package/src/skills/poc-md-loader/runner.ts +82 -0
- package/src/skills/poc-md-loader/vitest.poc.config.ts +13 -0
- package/src/skills/poc-md-loader/web-search/SKILL.md +42 -0
- package/src/skills/poc-md-loader/web-search/script.ts +109 -0
- package/src/skills/send-email.ts +4 -3
- package/src/skills/slack-notify.ts +73 -30
- package/src/skills/telegram-notify.ts +70 -24
- package/src/skills/web-search.ts +132 -50
- package/src/telemetry/bus.test.ts +231 -0
- package/src/telemetry/bus.ts +241 -0
- package/src/telemetry/index.ts +49 -0
- package/src/telemetry/port.ts +160 -0
- package/src/telemetry/sinks/otlp.test.ts +146 -0
- package/src/telemetry/sinks/otlp.ts +250 -0
- package/src/telemetry/sinks/sqlite.test.ts +121 -0
- package/src/telemetry/sinks/sqlite.ts +260 -0
- package/src/telemetry/sinks/stdout.test.ts +109 -0
- package/src/telemetry/sinks/stdout.ts +59 -0
- package/src/testing/test-brain-port.ts +98 -24
- package/src/testing/test-event-bus.ts +104 -43
- package/src/trace/schema.ts +1 -1
- package/src/verify/formal/index.ts +154 -0
- package/src/verify/formal/policy.ts +253 -0
- package/src/verify/formal/result.ts +52 -0
- package/src/verify/formal/solver.ts +235 -0
- package/src/verify/formal/spec-language.ts +274 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Lineage Manifest — types (sprint-586).
|
|
3
|
+
*
|
|
4
|
+
* Every skill has a cryptographically anchored lineage.
|
|
5
|
+
* Modifying 1 byte of the training replay → verifier rejects.
|
|
6
|
+
* ClawHavoc defense: arXiv:2603.00195.
|
|
7
|
+
*
|
|
8
|
+
* Grade hierarchy:
|
|
9
|
+
* starknet_primary — Poseidon hash anchored on-chain (decentralised, post-quantum).
|
|
10
|
+
* tsa_fallback — RFC 3161 DigiCert TSA only (DEGRADED: centralised, not post-quantum).
|
|
11
|
+
* unanchored — Development / testing only. No anchor.
|
|
12
|
+
*
|
|
13
|
+
* @module skill-manifest/types
|
|
14
|
+
*/
|
|
15
|
+
export interface SkillManifest {
|
|
16
|
+
/** Canonical identifier for the skill, e.g. "vauban.sentinel.rebalancing". */
|
|
17
|
+
skillId: string;
|
|
18
|
+
/** SemVer of the skill implementation. */
|
|
19
|
+
version: string;
|
|
20
|
+
/** Domain bucket, e.g. "finance", "governance", "identity". */
|
|
21
|
+
domain: string;
|
|
22
|
+
/**
|
|
23
|
+
* SHA-256 hex digest of the deterministic training replay snapshot.
|
|
24
|
+
* 1-byte tamper in the replay → this value changes → verifier rejects.
|
|
25
|
+
*/
|
|
26
|
+
trainingReplayRoot: string;
|
|
27
|
+
/**
|
|
28
|
+
* Poseidon(skillId_felt, version_felt, domain_felt, replayRoot_felt).
|
|
29
|
+
* ZK-friendly commitment over felt252 — used for Starknet anchoring.
|
|
30
|
+
*/
|
|
31
|
+
poseidonHash: string;
|
|
32
|
+
/**
|
|
33
|
+
* Base64-encoded RFC 3161 TimeStampToken from DigiCert TSA.
|
|
34
|
+
* Fallback anchor only — see grade field for semantics.
|
|
35
|
+
*/
|
|
36
|
+
tsaToken?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Starknet transaction hash of the batch anchor call.
|
|
39
|
+
* Present when grade === 'starknet_primary'.
|
|
40
|
+
*/
|
|
41
|
+
starknetAnchorTx?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Optional IPFS CID of the full manifest for content-addressed redundancy.
|
|
44
|
+
* Not a security anchor — informational only.
|
|
45
|
+
*/
|
|
46
|
+
ipfsCid?: string;
|
|
47
|
+
createdAt: Date;
|
|
48
|
+
/**
|
|
49
|
+
* Proof grade of this manifest:
|
|
50
|
+
* starknet_primary — on-chain, decentralised, post-quantum (Poseidon/STARK).
|
|
51
|
+
* tsa_fallback — RFC 3161 DigiCert TSA only — DEGRADED MODE.
|
|
52
|
+
* unanchored — No anchor. Development/testing only.
|
|
53
|
+
*/
|
|
54
|
+
grade: "starknet_primary" | "tsa_fallback" | "unanchored";
|
|
55
|
+
}
|
|
56
|
+
export interface AnchorWitness {
|
|
57
|
+
/** Which anchor mechanism produced this witness. */
|
|
58
|
+
type: "starknet" | "tsa" | "none";
|
|
59
|
+
/**
|
|
60
|
+
* For starknet: Merkle inclusion proof (hex-encoded siblings, comma-separated).
|
|
61
|
+
* For tsa: base64 TSA token (same as SkillManifest.tsaToken).
|
|
62
|
+
* For none: empty string.
|
|
63
|
+
*/
|
|
64
|
+
proof: string;
|
|
65
|
+
verifiedAt: Date;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/skill-manifest/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB;;;;;OAKG;IACH,KAAK,EAAE,kBAAkB,GAAG,cAAc,GAAG,YAAY,CAAC;CAC3D;AAID,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;IAClC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,IAAI,CAAC;CAClB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Lineage Manifest — types (sprint-586).
|
|
3
|
+
*
|
|
4
|
+
* Every skill has a cryptographically anchored lineage.
|
|
5
|
+
* Modifying 1 byte of the training replay → verifier rejects.
|
|
6
|
+
* ClawHavoc defense: arXiv:2603.00195.
|
|
7
|
+
*
|
|
8
|
+
* Grade hierarchy:
|
|
9
|
+
* starknet_primary — Poseidon hash anchored on-chain (decentralised, post-quantum).
|
|
10
|
+
* tsa_fallback — RFC 3161 DigiCert TSA only (DEGRADED: centralised, not post-quantum).
|
|
11
|
+
* unanchored — Development / testing only. No anchor.
|
|
12
|
+
*
|
|
13
|
+
* @module skill-manifest/types
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/skill-manifest/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Lineage Manifest — verifier (sprint-586).
|
|
3
|
+
*
|
|
4
|
+
* Zero external dependency verifier — mirrors vauban-claim-verifier philosophy.
|
|
5
|
+
*
|
|
6
|
+
* Verification checks:
|
|
7
|
+
* 1. replayRootMatches — SHA-256(replaySnapshot) === manifest.trainingReplayRoot
|
|
8
|
+
* 2. poseidonHashValid — computeManifestHash(manifest) === manifest.poseidonHash
|
|
9
|
+
* 3. tsaAnchorValid — verifyTsaAnchor(manifest) (skipped if no tsaToken)
|
|
10
|
+
* 4. starknetAnchorValid — merkle inclusion via AnchorWitness (if provided)
|
|
11
|
+
*
|
|
12
|
+
* A 1-byte tamper in replaySnapshot causes check 1 to fail.
|
|
13
|
+
* All checks run independently; errors array collects all failures.
|
|
14
|
+
*
|
|
15
|
+
* @module skill-manifest/verifier
|
|
16
|
+
*/
|
|
17
|
+
import type { SkillManifest, AnchorWitness } from "./types.js";
|
|
18
|
+
export interface ManifestVerifyResult {
|
|
19
|
+
/** Overall validity — true only if all applicable checks pass. */
|
|
20
|
+
valid: boolean;
|
|
21
|
+
/** SHA-256(replaySnapshot) === manifest.trainingReplayRoot */
|
|
22
|
+
replayRootMatches: boolean;
|
|
23
|
+
/** Poseidon commitment over manifest fields matches stored poseidonHash */
|
|
24
|
+
poseidonHashValid: boolean;
|
|
25
|
+
/** RFC 3161 TSA token structurally verifiable (false if no tsaToken) */
|
|
26
|
+
tsaAnchorValid: boolean;
|
|
27
|
+
/** Merkle inclusion proof valid (false if no witness or witness.type='none') */
|
|
28
|
+
starknetAnchorValid: boolean;
|
|
29
|
+
/** Grade propagated from the manifest (informational). */
|
|
30
|
+
grade: SkillManifest["grade"];
|
|
31
|
+
/** Human-readable error messages for every failed check. */
|
|
32
|
+
errors: string[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Verify a SkillManifest against the original training replay snapshot.
|
|
36
|
+
*
|
|
37
|
+
* @param manifest - Manifest to verify.
|
|
38
|
+
* @param replaySnapshot - Original training trace bytes (same input used in buildManifest).
|
|
39
|
+
* @param starknetWitness - Optional Merkle inclusion witness from the Starknet anchor.
|
|
40
|
+
*/
|
|
41
|
+
export declare function verifyManifest(manifest: SkillManifest, replaySnapshot: string | Buffer, starknetWitness?: AnchorWitness): ManifestVerifyResult;
|
|
42
|
+
//# sourceMappingURL=verifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../src/skill-manifest/verifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI/D,MAAM,WAAW,oBAAoB;IACnC,kEAAkE;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2EAA2E;IAC3E,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wEAAwE;IACxE,cAAc,EAAE,OAAO,CAAC;IACxB,gFAAgF;IAChF,mBAAmB,EAAE,OAAO,CAAC;IAC7B,0DAA0D;IAC1D,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,4DAA4D;IAC5D,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAkBD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,MAAM,GAAG,MAAM,EAC/B,eAAe,CAAC,EAAE,aAAa,GAC9B,oBAAoB,CAgItB"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Lineage Manifest — verifier (sprint-586).
|
|
3
|
+
*
|
|
4
|
+
* Zero external dependency verifier — mirrors vauban-claim-verifier philosophy.
|
|
5
|
+
*
|
|
6
|
+
* Verification checks:
|
|
7
|
+
* 1. replayRootMatches — SHA-256(replaySnapshot) === manifest.trainingReplayRoot
|
|
8
|
+
* 2. poseidonHashValid — computeManifestHash(manifest) === manifest.poseidonHash
|
|
9
|
+
* 3. tsaAnchorValid — verifyTsaAnchor(manifest) (skipped if no tsaToken)
|
|
10
|
+
* 4. starknetAnchorValid — merkle inclusion via AnchorWitness (if provided)
|
|
11
|
+
*
|
|
12
|
+
* A 1-byte tamper in replaySnapshot causes check 1 to fail.
|
|
13
|
+
* All checks run independently; errors array collects all failures.
|
|
14
|
+
*
|
|
15
|
+
* @module skill-manifest/verifier
|
|
16
|
+
*/
|
|
17
|
+
import { createHash } from "node:crypto";
|
|
18
|
+
import { computeManifestHash } from "./builder.js";
|
|
19
|
+
import { verifyTsaAnchor } from "./anchor.js";
|
|
20
|
+
import { verifyProofInclusion } from "../proof/index.js";
|
|
21
|
+
// ─── helpers ─────────────────────────────────────────────────────────────────
|
|
22
|
+
function sha256Hex(input) {
|
|
23
|
+
const data = typeof input === "string" ? Buffer.from(input, "utf8") : input;
|
|
24
|
+
return createHash("sha256").update(data).digest("hex");
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Normalise hex strings for comparison: strip "0x" prefix, lowercase.
|
|
28
|
+
*/
|
|
29
|
+
function normaliseHex(h) {
|
|
30
|
+
return (h.startsWith("0x") ? h.slice(2) : h).toLowerCase();
|
|
31
|
+
}
|
|
32
|
+
// ─── verifyManifest ───────────────────────────────────────────────────────────
|
|
33
|
+
/**
|
|
34
|
+
* Verify a SkillManifest against the original training replay snapshot.
|
|
35
|
+
*
|
|
36
|
+
* @param manifest - Manifest to verify.
|
|
37
|
+
* @param replaySnapshot - Original training trace bytes (same input used in buildManifest).
|
|
38
|
+
* @param starknetWitness - Optional Merkle inclusion witness from the Starknet anchor.
|
|
39
|
+
*/
|
|
40
|
+
export function verifyManifest(manifest, replaySnapshot, starknetWitness) {
|
|
41
|
+
const errors = [];
|
|
42
|
+
// ── Check 1: replay root integrity ──────────────────────────────────────────
|
|
43
|
+
const recomputedRoot = sha256Hex(typeof replaySnapshot === "string"
|
|
44
|
+
? Buffer.from(replaySnapshot, "utf8")
|
|
45
|
+
: replaySnapshot);
|
|
46
|
+
const replayRootMatches = normaliseHex(recomputedRoot) === normaliseHex(manifest.trainingReplayRoot);
|
|
47
|
+
if (!replayRootMatches) {
|
|
48
|
+
errors.push(`replayRoot mismatch: expected ${manifest.trainingReplayRoot}, got ${recomputedRoot}`);
|
|
49
|
+
}
|
|
50
|
+
// ── Check 2: Poseidon hash validity ──────────────────────────────────────────
|
|
51
|
+
let poseidonHashValid = false;
|
|
52
|
+
try {
|
|
53
|
+
const recomputed = computeManifestHash({
|
|
54
|
+
skillId: manifest.skillId,
|
|
55
|
+
version: manifest.version,
|
|
56
|
+
domain: manifest.domain,
|
|
57
|
+
trainingReplayRoot: manifest.trainingReplayRoot,
|
|
58
|
+
});
|
|
59
|
+
poseidonHashValid =
|
|
60
|
+
normaliseHex(recomputed) === normaliseHex(manifest.poseidonHash);
|
|
61
|
+
if (!poseidonHashValid) {
|
|
62
|
+
errors.push(`poseidonHash mismatch: expected ${manifest.poseidonHash}, got ${recomputed}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
errors.push(`poseidonHash computation failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
67
|
+
}
|
|
68
|
+
// ── Check 3: TSA anchor ───────────────────────────────────────────────────────
|
|
69
|
+
const tsaAnchorValid = manifest.tsaToken ? verifyTsaAnchor(manifest) : false;
|
|
70
|
+
if (manifest.tsaToken && !tsaAnchorValid) {
|
|
71
|
+
errors.push("tsaAnchor invalid: token present but verification failed");
|
|
72
|
+
}
|
|
73
|
+
// ── Check 4: Starknet Merkle inclusion ──────────────────────────────────────
|
|
74
|
+
let starknetAnchorValid = false;
|
|
75
|
+
if (starknetWitness && starknetWitness.type === "starknet") {
|
|
76
|
+
try {
|
|
77
|
+
// proof field: comma-separated Merkle siblings (hex)
|
|
78
|
+
const siblings = starknetWitness.proof.length > 0
|
|
79
|
+
? starknetWitness.proof.split(",").map((s) => s.trim())
|
|
80
|
+
: [];
|
|
81
|
+
const leafFelt = manifest.poseidonHash.startsWith("0x")
|
|
82
|
+
? manifest.poseidonHash.slice(2)
|
|
83
|
+
: manifest.poseidonHash;
|
|
84
|
+
// We need a root to verify against; derive it from the first sibling
|
|
85
|
+
// if the proof is a single-leaf tree (leaf === root).
|
|
86
|
+
if (siblings.length === 0) {
|
|
87
|
+
// Degenerate tree: leaf is the root — valid if leaf is consistent.
|
|
88
|
+
starknetAnchorValid = leafFelt.length > 0;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// verifyProofInclusion: leaf + proof[] → recomputed root must match
|
|
92
|
+
// the last sibling used as root sentinel in single-layer proofs.
|
|
93
|
+
// For multi-layer proofs the root must be provided externally.
|
|
94
|
+
// We use the witness.proof first element as root when siblings.length === 1.
|
|
95
|
+
const root = siblings[siblings.length - 1];
|
|
96
|
+
const proofSiblings = siblings.slice(0, -1);
|
|
97
|
+
starknetAnchorValid = verifyProofInclusion(leafFelt, proofSiblings, root);
|
|
98
|
+
}
|
|
99
|
+
if (!starknetAnchorValid) {
|
|
100
|
+
errors.push("starknetAnchor: Merkle inclusion proof failed");
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
errors.push(`starknetAnchor verification error: ${err instanceof Error ? err.message : String(err)}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else if (starknetWitness && starknetWitness.type === "tsa") {
|
|
108
|
+
// TSA witness — treat as tsaAnchorValid supplement (already checked above).
|
|
109
|
+
starknetAnchorValid = false;
|
|
110
|
+
}
|
|
111
|
+
// type === 'none' or no witness → starknetAnchorValid remains false (expected).
|
|
112
|
+
// ── Grade propagation ─────────────────────────────────────────────────────────
|
|
113
|
+
const grade = manifest.grade;
|
|
114
|
+
// Warn about unanchored grade in errors (non-fatal, but caller should know).
|
|
115
|
+
if (grade === "unanchored") {
|
|
116
|
+
errors.push("grade=unanchored: manifest has no anchor — development/testing only");
|
|
117
|
+
}
|
|
118
|
+
// ── Overall validity ──────────────────────────────────────────────────────────
|
|
119
|
+
// An anchored manifest is valid when the integrity checks pass.
|
|
120
|
+
// For unanchored: valid = replayRootMatches && poseidonHashValid only.
|
|
121
|
+
const anchorErrors = errors.filter((e) => e.startsWith("tsa") ||
|
|
122
|
+
e.startsWith("starknet") ||
|
|
123
|
+
e.startsWith("grade=unanchored"));
|
|
124
|
+
const integrityErrors = errors.filter((e) => !anchorErrors.includes(e));
|
|
125
|
+
const valid = integrityErrors.length === 0;
|
|
126
|
+
return {
|
|
127
|
+
valid,
|
|
128
|
+
replayRootMatches,
|
|
129
|
+
poseidonHashValid,
|
|
130
|
+
tsaAnchorValid,
|
|
131
|
+
starknetAnchorValid,
|
|
132
|
+
grade,
|
|
133
|
+
errors,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=verifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/skill-manifest/verifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal helper for skills that read configuration secrets.
|
|
3
|
+
*
|
|
4
|
+
* Prefers `ctx.secrets` (audit-trail-bearing per ADR-ECO-036) over
|
|
5
|
+
* `process.env` when a {@link SecretsAccessor} is configured on the
|
|
6
|
+
* {@link SkillContext}. Falls back to env when no accessor is wired so
|
|
7
|
+
* legacy callers see no behavior change.
|
|
8
|
+
*
|
|
9
|
+
* Returns `undefined` when the secret is configured nowhere — callers
|
|
10
|
+
* decide whether that's a SkillNotConfiguredError or a soft default.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
import type { SkillContext } from "../orchestration/ooda/skills.js";
|
|
15
|
+
export declare function readSecret(ctx: SkillContext, name: string): string | undefined;
|
|
16
|
+
//# sourceMappingURL=_secrets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_secrets.d.ts","sourceRoot":"","sources":["../../src/skills/_secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,wBAAgB,UAAU,CACxB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAKpB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal helper for skills that read configuration secrets.
|
|
3
|
+
*
|
|
4
|
+
* Prefers `ctx.secrets` (audit-trail-bearing per ADR-ECO-036) over
|
|
5
|
+
* `process.env` when a {@link SecretsAccessor} is configured on the
|
|
6
|
+
* {@link SkillContext}. Falls back to env when no accessor is wired so
|
|
7
|
+
* legacy callers see no behavior change.
|
|
8
|
+
*
|
|
9
|
+
* Returns `undefined` when the secret is configured nowhere — callers
|
|
10
|
+
* decide whether that's a SkillNotConfiguredError or a soft default.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export function readSecret(ctx, name) {
|
|
15
|
+
if (ctx.secrets && ctx.secrets.has(name)) {
|
|
16
|
+
return ctx.secrets.get(name);
|
|
17
|
+
}
|
|
18
|
+
return process.env[name];
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=_secrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_secrets.js","sourceRoot":"","sources":["../../src/skills/_secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,UAAU,UAAU,CACxB,GAAiB,EACjB,IAAY;IAEZ,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -12,10 +12,10 @@ declare const inputSchema: z.ZodObject<{
|
|
|
12
12
|
mode: z.ZodDefault<z.ZodEnum<["paper", "live"]>>;
|
|
13
13
|
}, "strict", z.ZodTypeAny, {
|
|
14
14
|
symbol: string;
|
|
15
|
-
mode: "
|
|
15
|
+
mode: "paper" | "live";
|
|
16
16
|
}, {
|
|
17
17
|
symbol: string;
|
|
18
|
-
mode?: "
|
|
18
|
+
mode?: "paper" | "live" | undefined;
|
|
19
19
|
}>;
|
|
20
20
|
type AlpacaQuoteInput = z.infer<typeof inputSchema>;
|
|
21
21
|
export interface AlpacaQuoteOutput {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpaca-quote.d.ts","sourceRoot":"","sources":["../../src/skills/alpaca-quote.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"alpaca-quote.d.ts","sourceRoot":"","sources":["../../src/skills/alpaca-quote.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,iCAAiC,CAAC;AAmB3E,QAAA,MAAM,WAAW;;;;;;;;;EASN,CAAC;AACZ,KAAK,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;CACnC;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,CAwElE,CAAC"}
|
|
@@ -6,8 +6,24 @@
|
|
|
6
6
|
* @public
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
+
import { retry, RETRY_TRANSIENT, RetryExhaustedError, } from "../retry/index.js";
|
|
9
10
|
import { SkillExecutionError, SkillNotConfiguredError } from "./errors.js";
|
|
10
11
|
import { withSkillSpan } from "./_otel.js";
|
|
12
|
+
import { readSecret } from "./_secrets.js";
|
|
13
|
+
class RetryableHttpError extends Error {
|
|
14
|
+
status;
|
|
15
|
+
body;
|
|
16
|
+
constructor(status, body) {
|
|
17
|
+
super(`HTTP ${status}: ${body.slice(0, 200)}`);
|
|
18
|
+
this.status = status;
|
|
19
|
+
this.body = body;
|
|
20
|
+
this.name = "RetryableHttpError";
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const ALPACA_RETRY = {
|
|
24
|
+
...RETRY_TRANSIENT,
|
|
25
|
+
retryIf: (err) => err instanceof RetryableHttpError || err instanceof TypeError,
|
|
26
|
+
};
|
|
11
27
|
const inputSchema = z
|
|
12
28
|
.object({
|
|
13
29
|
symbol: z
|
|
@@ -35,8 +51,8 @@ export const alpacaQuote = {
|
|
|
35
51
|
};
|
|
36
52
|
}
|
|
37
53
|
return withSkillSpan("alpaca_quote", async () => {
|
|
38
|
-
const apiKey =
|
|
39
|
-
const apiSecret =
|
|
54
|
+
const apiKey = readSecret(ctx, "ALPACA_API_KEY");
|
|
55
|
+
const apiSecret = readSecret(ctx, "ALPACA_API_SECRET");
|
|
40
56
|
if (!apiKey || !apiSecret) {
|
|
41
57
|
throw new SkillNotConfiguredError("alpaca_quote", [
|
|
42
58
|
"ALPACA_API_KEY",
|
|
@@ -45,25 +61,40 @@ export const alpacaQuote = {
|
|
|
45
61
|
}
|
|
46
62
|
const dataHost = "https://data.alpaca.markets";
|
|
47
63
|
const url = `${dataHost}/v2/stocks/${encodeURIComponent(input.symbol)}/quotes/latest`;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
64
|
+
try {
|
|
65
|
+
return await retry(async () => {
|
|
66
|
+
const res = await fetch(url, {
|
|
67
|
+
headers: {
|
|
68
|
+
"APCA-API-KEY-ID": apiKey,
|
|
69
|
+
"APCA-API-SECRET-KEY": apiSecret,
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
if (!res.ok) {
|
|
73
|
+
const body = await res.text().catch(() => "");
|
|
74
|
+
if (res.status >= 500 || res.status === 429) {
|
|
75
|
+
throw new RetryableHttpError(res.status, body);
|
|
76
|
+
}
|
|
77
|
+
throw new SkillExecutionError("alpaca_quote", `${res.status}`, {
|
|
78
|
+
status: res.status,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
const data = (await res.json());
|
|
82
|
+
return {
|
|
83
|
+
symbol: input.symbol,
|
|
84
|
+
bid: data.quote?.bp ?? 0,
|
|
85
|
+
ask: data.quote?.ap ?? 0,
|
|
86
|
+
timestamp: data.quote?.t ?? new Date().toISOString(),
|
|
87
|
+
mode: input.mode,
|
|
88
|
+
};
|
|
89
|
+
}, { config: ALPACA_RETRY });
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
const cause = err instanceof RetryExhaustedError ? err.lastError : err;
|
|
93
|
+
if (cause instanceof RetryableHttpError) {
|
|
94
|
+
throw new SkillExecutionError("alpaca_quote", `${cause.status} after retries`, { status: cause.status });
|
|
95
|
+
}
|
|
96
|
+
throw cause;
|
|
58
97
|
}
|
|
59
|
-
const data = (await res.json());
|
|
60
|
-
return {
|
|
61
|
-
symbol: input.symbol,
|
|
62
|
-
bid: data.quote?.bp ?? 0,
|
|
63
|
-
ask: data.quote?.ap ?? 0,
|
|
64
|
-
timestamp: data.quote?.t ?? new Date().toISOString(),
|
|
65
|
-
mode: input.mode,
|
|
66
|
-
};
|
|
67
98
|
});
|
|
68
99
|
},
|
|
69
100
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpaca-quote.js","sourceRoot":"","sources":["../../src/skills/alpaca-quote.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,KAAK,CAAC,gBAAgB,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;CACjD,CAAC;KACD,MAAM,EAAE,CAAC;AAWZ,MAAM,CAAC,MAAM,WAAW,GAA+C;IACrE,IAAI,EAAE,cAAc;IACpB,WAAW;IACX,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAiB;QACpC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAsB,CAAC;YAClD,OAAO;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,CAAC;gBACN,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBACpC,IAAI,EAAE,QAAQ;aACf,CAAC;QACJ,CAAC;QACD,OAAO,aAAa,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"alpaca-quote.js","sourceRoot":"","sources":["../../src/skills/alpaca-quote.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,14 +15,14 @@ declare const inputSchema: z.ZodObject<{
|
|
|
15
15
|
}, "strict", z.ZodTypeAny, {
|
|
16
16
|
query: string;
|
|
17
17
|
limit: number;
|
|
18
|
-
tags?: string[] | undefined;
|
|
19
|
-
category?: string | undefined;
|
|
20
18
|
mcp_call_hash?: string | undefined;
|
|
19
|
+
category?: string | undefined;
|
|
20
|
+
tags?: string[] | undefined;
|
|
21
21
|
}, {
|
|
22
22
|
query: string;
|
|
23
|
-
tags?: string[] | undefined;
|
|
24
|
-
category?: string | undefined;
|
|
25
23
|
mcp_call_hash?: string | undefined;
|
|
24
|
+
category?: string | undefined;
|
|
25
|
+
tags?: string[] | undefined;
|
|
26
26
|
limit?: number | undefined;
|
|
27
27
|
}>;
|
|
28
28
|
type BrainQueryInput = z.infer<typeof inputSchema>;
|
|
@@ -19,20 +19,20 @@ declare const inputSchema: z.ZodObject<{
|
|
|
19
19
|
mcp_call_hash: z.ZodOptional<z.ZodString>;
|
|
20
20
|
}, "strict", z.ZodTypeAny, {
|
|
21
21
|
content: string;
|
|
22
|
-
metadata?: Record<string, unknown> | undefined;
|
|
23
|
-
tags?: string[] | undefined;
|
|
24
|
-
category?: string | undefined;
|
|
25
22
|
mcp_call_hash?: string | undefined;
|
|
26
23
|
confidence?: number | undefined;
|
|
24
|
+
category?: string | undefined;
|
|
25
|
+
tags?: string[] | undefined;
|
|
27
26
|
author?: string | undefined;
|
|
27
|
+
metadata?: Record<string, unknown> | undefined;
|
|
28
28
|
}, {
|
|
29
29
|
content: string;
|
|
30
|
-
metadata?: Record<string, unknown> | undefined;
|
|
31
|
-
tags?: string[] | undefined;
|
|
32
|
-
category?: string | undefined;
|
|
33
30
|
mcp_call_hash?: string | undefined;
|
|
34
31
|
confidence?: number | undefined;
|
|
32
|
+
category?: string | undefined;
|
|
33
|
+
tags?: string[] | undefined;
|
|
35
34
|
author?: string | undefined;
|
|
35
|
+
metadata?: Record<string, unknown> | undefined;
|
|
36
36
|
}>;
|
|
37
37
|
type BrainStoreInput = z.infer<typeof inputSchema>;
|
|
38
38
|
export interface BrainStoreOutput {
|
package/dist/skills/errors.d.ts
CHANGED
|
@@ -30,4 +30,19 @@ export declare class HttpFetchAllowlistError extends Error {
|
|
|
30
30
|
readonly host: string;
|
|
31
31
|
constructor(url: string, host: string);
|
|
32
32
|
}
|
|
33
|
+
export declare class SkillMdParseError extends Error {
|
|
34
|
+
readonly filePath: string;
|
|
35
|
+
constructor(filePath: string, reason: string);
|
|
36
|
+
}
|
|
37
|
+
export declare class SkillMdValidationError extends Error {
|
|
38
|
+
readonly filePath: string;
|
|
39
|
+
readonly issues: ReadonlyArray<{
|
|
40
|
+
path: string;
|
|
41
|
+
message: string;
|
|
42
|
+
}>;
|
|
43
|
+
constructor(filePath: string, issues: ReadonlyArray<{
|
|
44
|
+
path: string;
|
|
45
|
+
message: string;
|
|
46
|
+
}>);
|
|
47
|
+
}
|
|
33
48
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/skills/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;gBAC3B,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/skills/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;gBAC3B,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE;CAU7D;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAQ9C;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBACX,KAAK,EAAE,MAAM;CAK1B;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAMtC;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACd,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAK7C;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;gBAEhE,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAU3D"}
|
package/dist/skills/errors.js
CHANGED
|
@@ -47,4 +47,25 @@ export class HttpFetchAllowlistError extends Error {
|
|
|
47
47
|
this.host = host;
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
+
export class SkillMdParseError extends Error {
|
|
51
|
+
filePath;
|
|
52
|
+
constructor(filePath, reason) {
|
|
53
|
+
super(`SKILL.md at ${filePath}: ${reason}`);
|
|
54
|
+
this.name = "SkillMdParseError";
|
|
55
|
+
this.filePath = filePath;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export class SkillMdValidationError extends Error {
|
|
59
|
+
filePath;
|
|
60
|
+
issues;
|
|
61
|
+
constructor(filePath, issues) {
|
|
62
|
+
const summary = issues
|
|
63
|
+
.map((i) => `${i.path || "(root)"}: ${i.message}`)
|
|
64
|
+
.join("; ");
|
|
65
|
+
super(`SKILL.md at ${filePath}: invalid frontmatter — ${summary}`);
|
|
66
|
+
this.name = "SkillMdValidationError";
|
|
67
|
+
this.filePath = filePath;
|
|
68
|
+
this.issues = issues;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
50
71
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/skills/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,SAAS,CAAS;IAClB,UAAU,CAAoB;IACvC,YAAY,SAAiB,EAAE,UAA6B;QAC1D,KAAK,CACH,UAAU,SAAS,iCAAiC,UAAU,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/skills/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,SAAS,CAAS;IAClB,UAAU,CAAoB;IACvC,YAAY,SAAiB,EAAE,UAA6B;QAC1D,KAAK,CACH,UAAU,SAAS,iCAAiC,UAAU,CAAC,IAAI,CACjE,IAAI,CACL,EAAE,CACJ,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,SAAS,CAAS;IAClB,MAAM,CAAU;IAChB,KAAK,CAAW;IACzB,YACE,SAAiB,EACjB,OAAe,EACf,IAA2C;QAE3C,KAAK,CAAC,UAAU,SAAS,aAAa,OAAO,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,KAAK,CAAS;IACvB,YAAY,KAAa;QACvB,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,GAAG,CAAS;IACZ,IAAI,CAAS;IACtB,YAAY,GAAW,EAAE,IAAY;QACnC,KAAK,CAAC,qBAAqB,IAAI,+BAA+B,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,QAAQ,CAAS;IAC1B,YAAY,QAAgB,EAAE,MAAc;QAC1C,KAAK,CAAC,eAAe,QAAQ,KAAK,MAAM,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACtC,QAAQ,CAAS;IACjB,MAAM,CAAmD;IAClE,YACE,QAAgB,EAChB,MAAwD;QAExD,MAAM,OAAO,GAAG,MAAM;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aACjD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CAAC,eAAe,QAAQ,2BAA2B,OAAO,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -18,13 +18,13 @@ declare const inputSchema: z.ZodObject<{
|
|
|
18
18
|
}, "strict", z.ZodTypeAny, {
|
|
19
19
|
reason: string;
|
|
20
20
|
agent_run_id: string;
|
|
21
|
-
risk_level: "
|
|
21
|
+
risk_level: "critical" | "low" | "medium" | "high";
|
|
22
22
|
timeout_seconds: number;
|
|
23
23
|
payload?: Record<string, unknown> | undefined;
|
|
24
24
|
}, {
|
|
25
25
|
reason: string;
|
|
26
26
|
agent_run_id: string;
|
|
27
|
-
risk_level?: "
|
|
27
|
+
risk_level?: "critical" | "low" | "medium" | "high" | undefined;
|
|
28
28
|
payload?: Record<string, unknown> | undefined;
|
|
29
29
|
timeout_seconds?: number | undefined;
|
|
30
30
|
}>;
|
package/dist/skills/index.d.ts
CHANGED
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @public
|
|
14
14
|
*/
|
|
15
|
-
export { SkillNotConfiguredError, SkillExecutionError, SqlReadOnlyViolation, HttpFetchAllowlistError, } from "./errors.js";
|
|
15
|
+
export { SkillNotConfiguredError, SkillExecutionError, SqlReadOnlyViolation, HttpFetchAllowlistError, SkillMdParseError, SkillMdValidationError, } from "./errors.js";
|
|
16
|
+
export { loadSkillMd, parseSkillMd, toDiscoveryEntry, type ParsedSkillFile, } from "./markdown/loader.js";
|
|
17
|
+
export { SkillManifestSchema, resolveTier, parseAllowedTools, type SkillManifest, type VaubanSkillTier, type VaubanBiscuitScope, type VaubanAuditStatus, } from "./markdown/schema.js";
|
|
16
18
|
export { webSearch } from "./web-search.js";
|
|
17
19
|
export type { WebSearchOutput, WebSearchResult } from "./web-search.js";
|
|
18
20
|
export { alpacaQuote } from "./alpaca-quote.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACrE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC"}
|
package/dist/skills/index.js
CHANGED
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @public
|
|
14
14
|
*/
|
|
15
|
-
export { SkillNotConfiguredError, SkillExecutionError, SqlReadOnlyViolation, HttpFetchAllowlistError, } from "./errors.js";
|
|
15
|
+
export { SkillNotConfiguredError, SkillExecutionError, SqlReadOnlyViolation, HttpFetchAllowlistError, SkillMdParseError, SkillMdValidationError, } from "./errors.js";
|
|
16
|
+
// SKILL.md loader (agentskills.io standard) — ADR-ECO-034
|
|
17
|
+
export { loadSkillMd, parseSkillMd, toDiscoveryEntry, } from "./markdown/loader.js";
|
|
18
|
+
export { SkillManifestSchema, resolveTier, parseAllowedTools, } from "./markdown/schema.js";
|
|
16
19
|
export { webSearch } from "./web-search.js";
|
|
17
20
|
export { alpacaQuote } from "./alpaca-quote.js";
|
|
18
21
|
export { brainStore } from "./brain-store.js";
|