@dcyfr/ai 1.0.3 → 2.1.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/CHANGELOG.md +106 -0
- package/LICENSE +27 -1
- package/README.md +720 -9
- package/dist/ai/agents/agent-loader.d.ts +12 -0
- package/dist/ai/agents/agent-loader.d.ts.map +1 -1
- package/dist/ai/agents/agent-loader.js +74 -65
- package/dist/ai/agents/agent-loader.js.map +1 -1
- package/dist/ai/agents/agent-registry.d.ts +2 -0
- package/dist/ai/agents/agent-registry.d.ts.map +1 -1
- package/dist/ai/agents/agent-registry.js +15 -14
- package/dist/ai/agents/agent-registry.js.map +1 -1
- package/dist/ai/agents/agent-router.d.ts +20 -5
- package/dist/ai/agents/agent-router.d.ts.map +1 -1
- package/dist/ai/agents/agent-router.js +89 -43
- package/dist/ai/agents/agent-router.js.map +1 -1
- package/dist/ai/agents/index.d.ts +6 -1
- package/dist/ai/agents/index.d.ts.map +1 -1
- package/dist/ai/agents/index.js +9 -3
- package/dist/ai/agents/index.js.map +1 -1
- package/dist/ai/agents/instruction-template.d.ts +45 -0
- package/dist/ai/agents/instruction-template.d.ts.map +1 -0
- package/dist/ai/agents/instruction-template.js +197 -0
- package/dist/ai/agents/instruction-template.js.map +1 -0
- package/dist/ai/agents/persona-resolver.d.ts +90 -0
- package/dist/ai/agents/persona-resolver.d.ts.map +1 -0
- package/dist/ai/agents/persona-resolver.js +121 -0
- package/dist/ai/agents/persona-resolver.js.map +1 -0
- package/dist/ai/agents/schema.d.ts +166 -0
- package/dist/ai/agents/schema.d.ts.map +1 -0
- package/dist/ai/agents/schema.js +94 -0
- package/dist/ai/agents/schema.js.map +1 -0
- package/dist/ai/agents/types.d.ts +102 -0
- package/dist/ai/agents/types.d.ts.map +1 -1
- package/dist/ai/agents-builtin/architecture/index.js +3 -3
- package/dist/ai/agents-builtin/content/index.js +1 -1
- package/dist/ai/agents-builtin/data/index.js +1 -1
- package/dist/ai/agents-builtin/development/index.js +4 -4
- package/dist/ai/agents-builtin/devops/index.js +1 -1
- package/dist/ai/agents-builtin/index.js +33 -33
- package/dist/ai/agents-builtin/performance/index.js +1 -1
- package/dist/ai/agents-builtin/research/index.js +1 -1
- package/dist/ai/agents-builtin/security/index.js +1 -1
- package/dist/ai/agents-builtin/testing/index.js +2 -2
- package/dist/ai/config/loader.d.ts.map +1 -1
- package/dist/ai/config/loader.js +6 -3
- package/dist/ai/config/loader.js.map +1 -1
- package/dist/ai/config/schema.d.ts +242 -1156
- package/dist/ai/config/schema.d.ts.map +1 -1
- package/dist/ai/config/schema.js +69 -20
- package/dist/ai/config/schema.js.map +1 -1
- package/dist/ai/core/provider-registry.d.ts +32 -0
- package/dist/ai/core/provider-registry.d.ts.map +1 -1
- package/dist/ai/core/provider-registry.js +189 -14
- package/dist/ai/core/provider-registry.js.map +1 -1
- package/dist/ai/core/telemetry-engine.d.ts +26 -0
- package/dist/ai/core/telemetry-engine.d.ts.map +1 -1
- package/dist/ai/core/telemetry-engine.js +81 -1
- package/dist/ai/core/telemetry-engine.js.map +1 -1
- package/dist/ai/delegation/agent-registry.d.ts +143 -0
- package/dist/ai/delegation/agent-registry.d.ts.map +1 -0
- package/dist/ai/delegation/agent-registry.js +231 -0
- package/dist/ai/delegation/agent-registry.js.map +1 -0
- package/dist/ai/delegation/blast-radius-tracker.d.ts +65 -0
- package/dist/ai/delegation/blast-radius-tracker.d.ts.map +1 -0
- package/dist/ai/delegation/blast-radius-tracker.js +81 -0
- package/dist/ai/delegation/blast-radius-tracker.js.map +1 -0
- package/dist/ai/delegation/capability-bootstrap.d.ts +40 -0
- package/dist/ai/delegation/capability-bootstrap.d.ts.map +1 -0
- package/dist/ai/delegation/capability-bootstrap.js +431 -0
- package/dist/ai/delegation/capability-bootstrap.js.map +1 -0
- package/dist/ai/delegation/capability-registry.d.ts +81 -0
- package/dist/ai/delegation/capability-registry.d.ts.map +1 -0
- package/dist/ai/delegation/capability-registry.js +339 -0
- package/dist/ai/delegation/capability-registry.js.map +1 -0
- package/dist/ai/delegation/chain-tracker.d.ts +152 -0
- package/dist/ai/delegation/chain-tracker.d.ts.map +1 -0
- package/dist/ai/delegation/chain-tracker.js +336 -0
- package/dist/ai/delegation/chain-tracker.js.map +1 -0
- package/dist/ai/delegation/circuit-breaker.d.ts +59 -0
- package/dist/ai/delegation/circuit-breaker.d.ts.map +1 -0
- package/dist/ai/delegation/circuit-breaker.js +153 -0
- package/dist/ai/delegation/circuit-breaker.js.map +1 -0
- package/dist/ai/delegation/contract-manager.d.ts +415 -0
- package/dist/ai/delegation/contract-manager.d.ts.map +1 -0
- package/dist/ai/delegation/contract-manager.js +1258 -0
- package/dist/ai/delegation/contract-manager.js.map +1 -0
- package/dist/ai/delegation/delegation-manager.d.ts +505 -0
- package/dist/ai/delegation/delegation-manager.d.ts.map +1 -0
- package/dist/ai/delegation/delegation-manager.js +773 -0
- package/dist/ai/delegation/delegation-manager.js.map +1 -0
- package/dist/ai/delegation/event-schemas.d.ts +101 -0
- package/dist/ai/delegation/event-schemas.d.ts.map +1 -0
- package/dist/ai/delegation/event-schemas.js +59 -0
- package/dist/ai/delegation/event-schemas.js.map +1 -0
- package/dist/ai/delegation/execution-mode-dashboard.d.ts +109 -0
- package/dist/ai/delegation/execution-mode-dashboard.d.ts.map +1 -0
- package/dist/ai/delegation/execution-mode-dashboard.js +167 -0
- package/dist/ai/delegation/execution-mode-dashboard.js.map +1 -0
- package/dist/ai/delegation/feature-flags.d.ts +191 -0
- package/dist/ai/delegation/feature-flags.d.ts.map +1 -0
- package/dist/ai/delegation/feature-flags.js +332 -0
- package/dist/ai/delegation/feature-flags.js.map +1 -0
- package/dist/ai/delegation/index.d.ts +51 -0
- package/dist/ai/delegation/index.d.ts.map +1 -0
- package/dist/ai/delegation/index.js +39 -0
- package/dist/ai/delegation/index.js.map +1 -0
- package/dist/ai/delegation/middleware/chain-depth-middleware.d.ts +39 -0
- package/dist/ai/delegation/middleware/chain-depth-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/chain-depth-middleware.js +77 -0
- package/dist/ai/delegation/middleware/chain-depth-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/chain-tracker-middleware.d.ts +46 -0
- package/dist/ai/delegation/middleware/chain-tracker-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/chain-tracker-middleware.js +89 -0
- package/dist/ai/delegation/middleware/chain-tracker-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/content-policy-middleware.d.ts +31 -0
- package/dist/ai/delegation/middleware/content-policy-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/content-policy-middleware.js +82 -0
- package/dist/ai/delegation/middleware/content-policy-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/feature-flag-middleware.d.ts +46 -0
- package/dist/ai/delegation/middleware/feature-flag-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/feature-flag-middleware.js +59 -0
- package/dist/ai/delegation/middleware/feature-flag-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/identity-middleware.d.ts +23 -0
- package/dist/ai/delegation/middleware/identity-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/identity-middleware.js +64 -0
- package/dist/ai/delegation/middleware/identity-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/permissions-middleware.d.ts +48 -0
- package/dist/ai/delegation/middleware/permissions-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/permissions-middleware.js +107 -0
- package/dist/ai/delegation/middleware/permissions-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/rate-limiter-middleware.d.ts +38 -0
- package/dist/ai/delegation/middleware/rate-limiter-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/rate-limiter-middleware.js +65 -0
- package/dist/ai/delegation/middleware/rate-limiter-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/reputation-middleware.d.ts +39 -0
- package/dist/ai/delegation/middleware/reputation-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/reputation-middleware.js +75 -0
- package/dist/ai/delegation/middleware/reputation-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/resource-limiter-middleware.d.ts +52 -0
- package/dist/ai/delegation/middleware/resource-limiter-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/resource-limiter-middleware.js +112 -0
- package/dist/ai/delegation/middleware/resource-limiter-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/threat-validator-middleware.d.ts +23 -0
- package/dist/ai/delegation/middleware/threat-validator-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/threat-validator-middleware.js +83 -0
- package/dist/ai/delegation/middleware/threat-validator-middleware.js.map +1 -0
- package/dist/ai/delegation/middleware/tlp-middleware.d.ts +23 -0
- package/dist/ai/delegation/middleware/tlp-middleware.d.ts.map +1 -0
- package/dist/ai/delegation/middleware/tlp-middleware.js +59 -0
- package/dist/ai/delegation/middleware/tlp-middleware.js.map +1 -0
- package/dist/ai/delegation/monitoring.d.ts +298 -0
- package/dist/ai/delegation/monitoring.d.ts.map +1 -0
- package/dist/ai/delegation/monitoring.js +584 -0
- package/dist/ai/delegation/monitoring.js.map +1 -0
- package/dist/ai/delegation/security-middleware-chain.d.ts +71 -0
- package/dist/ai/delegation/security-middleware-chain.d.ts.map +1 -0
- package/dist/ai/delegation/security-middleware-chain.js +163 -0
- package/dist/ai/delegation/security-middleware-chain.js.map +1 -0
- package/dist/ai/delegation/session-checkpoint.d.ts +77 -0
- package/dist/ai/delegation/session-checkpoint.d.ts.map +1 -0
- package/dist/ai/delegation/session-checkpoint.js +131 -0
- package/dist/ai/delegation/session-checkpoint.js.map +1 -0
- package/dist/ai/delegation/session-manager.d.ts +131 -0
- package/dist/ai/delegation/session-manager.d.ts.map +1 -0
- package/dist/ai/delegation/session-manager.js +243 -0
- package/dist/ai/delegation/session-manager.js.map +1 -0
- package/dist/ai/delegation/session-queue.d.ts +95 -0
- package/dist/ai/delegation/session-queue.d.ts.map +1 -0
- package/dist/ai/delegation/session-queue.js +136 -0
- package/dist/ai/delegation/session-queue.js.map +1 -0
- package/dist/ai/delegation/timeout-watchdog.d.ts +60 -0
- package/dist/ai/delegation/timeout-watchdog.d.ts.map +1 -0
- package/dist/ai/delegation/timeout-watchdog.js +100 -0
- package/dist/ai/delegation/timeout-watchdog.js.map +1 -0
- package/dist/ai/examples/integration-demo.d.ts +27 -0
- package/dist/ai/examples/integration-demo.d.ts.map +1 -0
- package/dist/ai/examples/integration-demo.js +536 -0
- package/dist/ai/examples/integration-demo.js.map +1 -0
- package/dist/ai/index.d.ts +27 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +32 -10
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/mcp/index.d.ts +14 -2
- package/dist/ai/mcp/index.d.ts.map +1 -1
- package/dist/ai/mcp/index.js +11 -1
- package/dist/ai/mcp/index.js.map +1 -1
- package/dist/ai/mcp/servers/analytics/index.d.ts +19 -0
- package/dist/ai/mcp/servers/analytics/index.d.ts.map +1 -0
- package/dist/ai/mcp/servers/analytics/index.js +612 -0
- package/dist/ai/mcp/servers/analytics/index.js.map +1 -0
- package/dist/ai/mcp/servers/content-manager/content-provider.d.ts +61 -0
- package/dist/ai/mcp/servers/content-manager/content-provider.d.ts.map +1 -0
- package/dist/ai/mcp/servers/content-manager/content-provider.js +8 -0
- package/dist/ai/mcp/servers/content-manager/content-provider.js.map +1 -0
- package/dist/ai/mcp/servers/content-manager/index.d.ts +19 -0
- package/dist/ai/mcp/servers/content-manager/index.d.ts.map +1 -0
- package/dist/ai/mcp/servers/content-manager/index.js +282 -0
- package/dist/ai/mcp/servers/content-manager/index.js.map +1 -0
- package/dist/ai/mcp/servers/delegation-monitor/index.d.ts +36 -0
- package/dist/ai/mcp/servers/delegation-monitor/index.d.ts.map +1 -0
- package/dist/ai/mcp/servers/delegation-monitor/index.js +757 -0
- package/dist/ai/mcp/servers/delegation-monitor/index.js.map +1 -0
- package/dist/ai/mcp/servers/design-tokens/index.d.ts +19 -0
- package/dist/ai/mcp/servers/design-tokens/index.d.ts.map +1 -0
- package/dist/ai/mcp/servers/design-tokens/index.js +445 -0
- package/dist/ai/mcp/servers/design-tokens/index.js.map +1 -0
- package/dist/ai/mcp/servers/design-tokens/token-provider.d.ts +59 -0
- package/dist/ai/mcp/servers/design-tokens/token-provider.d.ts.map +1 -0
- package/dist/ai/mcp/servers/design-tokens/token-provider.js +8 -0
- package/dist/ai/mcp/servers/design-tokens/token-provider.js.map +1 -0
- package/dist/ai/mcp/servers/promptintel/index.d.ts +19 -0
- package/dist/ai/mcp/servers/promptintel/index.d.ts.map +1 -0
- package/dist/ai/mcp/servers/promptintel/index.js +335 -0
- package/dist/ai/mcp/servers/promptintel/index.js.map +1 -0
- package/dist/ai/mcp/servers/shared/cache.d.ts +62 -0
- package/dist/ai/mcp/servers/shared/cache.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/cache.js +117 -0
- package/dist/ai/mcp/servers/shared/cache.js.map +1 -0
- package/dist/ai/mcp/servers/shared/promptintel-client.d.ts +53 -0
- package/dist/ai/mcp/servers/shared/promptintel-client.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/promptintel-client.js +185 -0
- package/dist/ai/mcp/servers/shared/promptintel-client.js.map +1 -0
- package/dist/ai/mcp/servers/shared/promptintel-types.d.ts +85 -0
- package/dist/ai/mcp/servers/shared/promptintel-types.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/promptintel-types.js +7 -0
- package/dist/ai/mcp/servers/shared/promptintel-types.js.map +1 -0
- package/dist/ai/mcp/servers/shared/rate-limiter.d.ts +54 -0
- package/dist/ai/mcp/servers/shared/rate-limiter.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/rate-limiter.js +124 -0
- package/dist/ai/mcp/servers/shared/rate-limiter.js.map +1 -0
- package/dist/ai/mcp/servers/shared/redis-client.d.ts +54 -0
- package/dist/ai/mcp/servers/shared/redis-client.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/redis-client.js +232 -0
- package/dist/ai/mcp/servers/shared/redis-client.js.map +1 -0
- package/dist/ai/mcp/servers/shared/types.d.ts +301 -0
- package/dist/ai/mcp/servers/shared/types.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/types.js +6 -0
- package/dist/ai/mcp/servers/shared/types.js.map +1 -0
- package/dist/ai/mcp/servers/shared/utils.d.ts +49 -0
- package/dist/ai/mcp/servers/shared/utils.d.ts.map +1 -0
- package/dist/ai/mcp/servers/shared/utils.js +233 -0
- package/dist/ai/mcp/servers/shared/utils.js.map +1 -0
- package/dist/ai/memory/config.d.ts +102 -0
- package/dist/ai/memory/config.d.ts.map +1 -0
- package/dist/ai/memory/config.js +200 -0
- package/dist/ai/memory/config.js.map +1 -0
- package/dist/ai/memory/dcyfr-memory.d.ts +67 -0
- package/dist/ai/memory/dcyfr-memory.d.ts.map +1 -0
- package/dist/ai/memory/dcyfr-memory.js +308 -0
- package/dist/ai/memory/dcyfr-memory.js.map +1 -0
- package/dist/ai/memory/index.d.ts +15 -0
- package/dist/ai/memory/index.d.ts.map +1 -0
- package/dist/ai/memory/index.js +15 -0
- package/dist/ai/memory/index.js.map +1 -0
- package/dist/ai/memory/mem0-client.d.ts +108 -0
- package/dist/ai/memory/mem0-client.d.ts.map +1 -0
- package/dist/ai/memory/mem0-client.js +205 -0
- package/dist/ai/memory/mem0-client.js.map +1 -0
- package/dist/ai/memory/types.d.ts +175 -0
- package/dist/ai/memory/types.d.ts.map +1 -0
- package/dist/ai/memory/types.js +10 -0
- package/dist/ai/memory/types.js.map +1 -0
- package/dist/ai/permissions/attenuation-engine.d.ts +159 -0
- package/dist/ai/permissions/attenuation-engine.d.ts.map +1 -0
- package/dist/ai/permissions/attenuation-engine.js +511 -0
- package/dist/ai/permissions/attenuation-engine.js.map +1 -0
- package/dist/ai/plugins/plugin-loader.d.ts +4 -0
- package/dist/ai/plugins/plugin-loader.d.ts.map +1 -1
- package/dist/ai/plugins/plugin-loader.js +28 -28
- package/dist/ai/plugins/plugin-loader.js.map +1 -1
- package/dist/ai/reputation/execution-mode-reputation.d.ts +104 -0
- package/dist/ai/reputation/execution-mode-reputation.d.ts.map +1 -0
- package/dist/ai/reputation/execution-mode-reputation.js +142 -0
- package/dist/ai/reputation/execution-mode-reputation.js.map +1 -0
- package/dist/ai/reputation/reputation-engine.d.ts +204 -0
- package/dist/ai/reputation/reputation-engine.d.ts.map +1 -0
- package/dist/ai/reputation/reputation-engine.js +426 -0
- package/dist/ai/reputation/reputation-engine.js.map +1 -0
- package/dist/ai/runtime/agent-runtime.d.ts +193 -0
- package/dist/ai/runtime/agent-runtime.d.ts.map +1 -0
- package/dist/ai/runtime/agent-runtime.js +1009 -0
- package/dist/ai/runtime/agent-runtime.js.map +1 -0
- package/dist/ai/runtime/index.d.ts +11 -0
- package/dist/ai/runtime/index.d.ts.map +1 -0
- package/dist/ai/runtime/index.js +9 -0
- package/dist/ai/runtime/index.js.map +1 -0
- package/dist/ai/runtime/telemetry-schema.d.ts +192 -0
- package/dist/ai/runtime/telemetry-schema.d.ts.map +1 -0
- package/dist/ai/runtime/telemetry-schema.js +200 -0
- package/dist/ai/runtime/telemetry-schema.js.map +1 -0
- package/dist/ai/runtime/types.d.ts +236 -0
- package/dist/ai/runtime/types.d.ts.map +1 -0
- package/dist/ai/runtime/types.js +10 -0
- package/dist/ai/runtime/types.js.map +1 -0
- package/dist/ai/src/batch-processor.d.ts +298 -0
- package/dist/ai/src/batch-processor.d.ts.map +1 -0
- package/dist/ai/src/batch-processor.js +520 -0
- package/dist/ai/src/batch-processor.js.map +1 -0
- package/dist/ai/src/capability-bootstrap.d.ts +222 -0
- package/dist/ai/src/capability-bootstrap.d.ts.map +1 -0
- package/dist/ai/src/capability-bootstrap.js +421 -0
- package/dist/ai/src/capability-bootstrap.js.map +1 -0
- package/dist/ai/src/capability-manifest-generator.d.ts +52 -0
- package/dist/ai/src/capability-manifest-generator.d.ts.map +1 -0
- package/dist/ai/src/capability-manifest-generator.js +691 -0
- package/dist/ai/src/capability-manifest-generator.js.map +1 -0
- package/dist/ai/src/capability-registry.d.ts +157 -0
- package/dist/ai/src/capability-registry.d.ts.map +1 -0
- package/dist/ai/src/capability-registry.js +577 -0
- package/dist/ai/src/capability-registry.js.map +1 -0
- package/dist/ai/src/cli/telemetry-dashboard.d.ts +132 -0
- package/dist/ai/src/cli/telemetry-dashboard.d.ts.map +1 -0
- package/dist/ai/src/cli/telemetry-dashboard.js +565 -0
- package/dist/ai/src/cli/telemetry-dashboard.js.map +1 -0
- package/dist/ai/src/delegation/feature-flags.d.ts +213 -0
- package/dist/ai/src/delegation/feature-flags.d.ts.map +1 -0
- package/dist/ai/src/delegation/feature-flags.js +395 -0
- package/dist/ai/src/delegation/feature-flags.js.map +1 -0
- package/dist/ai/src/delegation/liability-firebreak.d.ts +303 -0
- package/dist/ai/src/delegation/liability-firebreak.d.ts.map +1 -0
- package/dist/ai/src/delegation/liability-firebreak.js +643 -0
- package/dist/ai/src/delegation/liability-firebreak.js.map +1 -0
- package/dist/ai/src/delegation/security-threat-model.d.ts +171 -0
- package/dist/ai/src/delegation/security-threat-model.d.ts.map +1 -0
- package/dist/ai/src/delegation/security-threat-model.js +723 -0
- package/dist/ai/src/delegation/security-threat-model.js.map +1 -0
- package/dist/ai/src/delegation/tlp-enforcement.d.ts +146 -0
- package/dist/ai/src/delegation/tlp-enforcement.d.ts.map +1 -0
- package/dist/ai/src/delegation/tlp-enforcement.js +382 -0
- package/dist/ai/src/delegation/tlp-enforcement.js.map +1 -0
- package/dist/ai/src/delegation-capability-integration.d.ts +154 -0
- package/dist/ai/src/delegation-capability-integration.d.ts.map +1 -0
- package/dist/ai/src/delegation-capability-integration.js +351 -0
- package/dist/ai/src/delegation-capability-integration.js.map +1 -0
- package/dist/ai/src/end-to-end-workflow-orchestrator.d.ts +325 -0
- package/dist/ai/src/end-to-end-workflow-orchestrator.d.ts.map +1 -0
- package/dist/ai/src/end-to-end-workflow-orchestrator.js +801 -0
- package/dist/ai/src/end-to-end-workflow-orchestrator.js.map +1 -0
- package/dist/ai/src/enhanced-capability-detection.d.ts +237 -0
- package/dist/ai/src/enhanced-capability-detection.d.ts.map +1 -0
- package/dist/ai/src/enhanced-capability-detection.js +448 -0
- package/dist/ai/src/enhanced-capability-detection.js.map +1 -0
- package/dist/ai/src/intelligent-cache-manager.d.ts +327 -0
- package/dist/ai/src/intelligent-cache-manager.d.ts.map +1 -0
- package/dist/ai/src/intelligent-cache-manager.js +634 -0
- package/dist/ai/src/intelligent-cache-manager.js.map +1 -0
- package/dist/ai/src/mcp-auto-configuration.d.ts +232 -0
- package/dist/ai/src/mcp-auto-configuration.d.ts.map +1 -0
- package/dist/ai/src/mcp-auto-configuration.js +445 -0
- package/dist/ai/src/mcp-auto-configuration.js.map +1 -0
- package/dist/ai/src/performance-profiler.d.ts +351 -0
- package/dist/ai/src/performance-profiler.d.ts.map +1 -0
- package/dist/ai/src/performance-profiler.js +475 -0
- package/dist/ai/src/performance-profiler.js.map +1 -0
- package/dist/ai/src/personas/hooks/before-llm-call.d.ts +96 -0
- package/dist/ai/src/personas/hooks/before-llm-call.d.ts.map +1 -0
- package/dist/ai/src/personas/hooks/before-llm-call.js +83 -0
- package/dist/ai/src/personas/hooks/before-llm-call.js.map +1 -0
- package/dist/ai/src/personas/index.d.ts +10 -0
- package/dist/ai/src/personas/index.d.ts.map +1 -0
- package/dist/ai/src/personas/index.js +10 -0
- package/dist/ai/src/personas/index.js.map +1 -0
- package/dist/ai/src/personas/persona-loader.d.ts +42 -0
- package/dist/ai/src/personas/persona-loader.d.ts.map +1 -0
- package/dist/ai/src/personas/persona-loader.js +162 -0
- package/dist/ai/src/personas/persona-loader.js.map +1 -0
- package/dist/ai/src/personas/types.d.ts +199 -0
- package/dist/ai/src/personas/types.d.ts.map +1 -0
- package/dist/ai/src/personas/types.js +7 -0
- package/dist/ai/src/personas/types.js.map +1 -0
- package/dist/ai/src/personas/voice-resolver.d.ts +40 -0
- package/dist/ai/src/personas/voice-resolver.d.ts.map +1 -0
- package/dist/ai/src/personas/voice-resolver.js +201 -0
- package/dist/ai/src/personas/voice-resolver.js.map +1 -0
- package/dist/ai/src/resource-monitor.d.ts +311 -0
- package/dist/ai/src/resource-monitor.d.ts.map +1 -0
- package/dist/ai/src/resource-monitor.js +475 -0
- package/dist/ai/src/resource-monitor.js.map +1 -0
- package/dist/ai/src/runtime/agent-runtime.d.ts +340 -0
- package/dist/ai/src/runtime/agent-runtime.d.ts.map +1 -0
- package/dist/ai/src/runtime/agent-runtime.js +1084 -0
- package/dist/ai/src/runtime/agent-runtime.js.map +1 -0
- package/dist/ai/src/telemetry/delegation-telemetry.d.ts +287 -0
- package/dist/ai/src/telemetry/delegation-telemetry.d.ts.map +1 -0
- package/dist/ai/src/telemetry/delegation-telemetry.js +389 -0
- package/dist/ai/src/telemetry/delegation-telemetry.js.map +1 -0
- package/dist/ai/src/telemetry/index.d.ts +48 -0
- package/dist/ai/src/telemetry/index.d.ts.map +1 -0
- package/dist/ai/src/telemetry/index.js +48 -0
- package/dist/ai/src/telemetry/index.js.map +1 -0
- package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts +67 -0
- package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts.map +1 -0
- package/dist/ai/src/telemetry/runtime-telemetry-integration.js +415 -0
- package/dist/ai/src/telemetry/runtime-telemetry-integration.js.map +1 -0
- package/dist/ai/src/telemetry/telemetry-utils.d.ts +119 -0
- package/dist/ai/src/telemetry/telemetry-utils.d.ts.map +1 -0
- package/dist/ai/src/telemetry/telemetry-utils.js +250 -0
- package/dist/ai/src/telemetry/telemetry-utils.js.map +1 -0
- package/dist/ai/src/types/agent-capabilities.d.ts +227 -0
- package/dist/ai/src/types/agent-capabilities.d.ts.map +1 -0
- package/dist/ai/src/types/agent-capabilities.js +11 -0
- package/dist/ai/src/types/agent-capabilities.js.map +1 -0
- package/dist/ai/src/types/context-verification.d.ts +158 -0
- package/dist/ai/src/types/context-verification.d.ts.map +1 -0
- package/dist/ai/src/types/context-verification.js +73 -0
- package/dist/ai/src/types/context-verification.js.map +1 -0
- package/dist/ai/src/types/delegation-contracts.d.ts +296 -0
- package/dist/ai/src/types/delegation-contracts.d.ts.map +1 -0
- package/dist/ai/src/types/delegation-contracts.js +17 -0
- package/dist/ai/src/types/delegation-contracts.js.map +1 -0
- package/dist/ai/src/validation-pipeline-integration.d.ts +266 -0
- package/dist/ai/src/validation-pipeline-integration.d.ts.map +1 -0
- package/dist/ai/src/validation-pipeline-integration.js +695 -0
- package/dist/ai/src/validation-pipeline-integration.js.map +1 -0
- package/dist/ai/src/verification/multi-modal-formatters.d.ts +57 -0
- package/dist/ai/src/verification/multi-modal-formatters.d.ts.map +1 -0
- package/dist/ai/src/verification/multi-modal-formatters.js +655 -0
- package/dist/ai/src/verification/multi-modal-formatters.js.map +1 -0
- package/dist/ai/src/verification/output-formatter.d.ts +186 -0
- package/dist/ai/src/verification/output-formatter.d.ts.map +1 -0
- package/dist/ai/src/verification/output-formatter.js +296 -0
- package/dist/ai/src/verification/output-formatter.js.map +1 -0
- package/dist/ai/src/verification/parser-integration.d.ts +137 -0
- package/dist/ai/src/verification/parser-integration.d.ts.map +1 -0
- package/dist/ai/src/verification/parser-integration.js +273 -0
- package/dist/ai/src/verification/parser-integration.js.map +1 -0
- package/dist/ai/types/agent-capabilities.d.ts +387 -0
- package/dist/ai/types/agent-capabilities.d.ts.map +1 -0
- package/dist/ai/types/agent-capabilities.js +32 -0
- package/dist/ai/types/agent-capabilities.js.map +1 -0
- package/dist/ai/types/delegation-contracts.d.ts +291 -0
- package/dist/ai/types/delegation-contracts.d.ts.map +1 -0
- package/dist/ai/types/delegation-contracts.js +14 -0
- package/dist/ai/types/delegation-contracts.js.map +1 -0
- package/dist/ai/types/index.d.ts +4 -1
- package/dist/ai/types/index.d.ts.map +1 -1
- package/dist/ai/types/index.js +4 -1
- package/dist/ai/types/index.js.map +1 -1
- package/dist/ai/types/permission-tokens.d.ts +365 -0
- package/dist/ai/types/permission-tokens.d.ts.map +1 -0
- package/dist/ai/types/permission-tokens.js +13 -0
- package/dist/ai/types/permission-tokens.js.map +1 -0
- package/dist/ai/types/security-middleware.d.ts +130 -0
- package/dist/ai/types/security-middleware.d.ts.map +1 -0
- package/dist/ai/types/security-middleware.js +13 -0
- package/dist/ai/types/security-middleware.js.map +1 -0
- package/dist/ai/utils/storage.d.ts.map +1 -1
- package/dist/ai/utils/storage.js +6 -3
- package/dist/ai/utils/storage.js.map +1 -1
- package/dist/ai/validation/validation-framework.js +1 -1
- package/dist/ai/verification/policy-framework.d.ts +161 -0
- package/dist/ai/verification/policy-framework.d.ts.map +1 -0
- package/dist/ai/verification/policy-framework.js +436 -0
- package/dist/ai/verification/policy-framework.js.map +1 -0
- package/package.json +56 -6
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Personas module - Agent persona and brand voice management
|
|
3
|
+
* @module @dcyfr/ai/personas
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
export * from './types';
|
|
7
|
+
export * from './voice-resolver';
|
|
8
|
+
export * from './persona-loader';
|
|
9
|
+
export * from './hooks/before-llm-call';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/ai/src/personas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Personas module - Agent persona and brand voice management
|
|
3
|
+
* @module @dcyfr/ai/personas
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
export * from './voice-resolver.js';
|
|
8
|
+
export * from './persona-loader.js';
|
|
9
|
+
export * from './hooks/before-llm-call.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/ai/src/personas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview PersonaLoader — loads and validates agent persona profiles from
|
|
3
|
+
* the filesystem, with fallback to a default persona.
|
|
4
|
+
* @module @dcyfr/ai/personas/persona-loader
|
|
5
|
+
* @license MIT
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentPersona, PersonaLoadResult, PersonaLoaderOptions } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* Validates an AgentPersona object and returns a list of validation errors.
|
|
10
|
+
* An empty array indicates a valid persona.
|
|
11
|
+
*/
|
|
12
|
+
export declare function validatePersona(persona: unknown): string[];
|
|
13
|
+
/**
|
|
14
|
+
* Clears the persona loader cache (useful in tests).
|
|
15
|
+
*/
|
|
16
|
+
export declare function clearPersonaCache(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Loads an agent persona by name from the filesystem.
|
|
19
|
+
*
|
|
20
|
+
* Resolution order:
|
|
21
|
+
* 1. Cache (if `useCache: true`)
|
|
22
|
+
* 2. `<baseDir>/<agentName>/agent.json`
|
|
23
|
+
* 3. `<baseDir>/<agentName>.json`
|
|
24
|
+
* 4. Default persona (if `allowFallback: true`)
|
|
25
|
+
*
|
|
26
|
+
* @param agentName - The agent identifier (e.g., 'dcyfr-engineer')
|
|
27
|
+
* @param options - Loader options
|
|
28
|
+
* @returns PersonaLoadResult with loaded persona and metadata
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const { persona } = loadPersona('dcyfr-engineer');
|
|
33
|
+
* const voice = resolveVoice(persona);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function loadPersona(agentName: string, options?: PersonaLoaderOptions): PersonaLoadResult;
|
|
37
|
+
/**
|
|
38
|
+
* Convenience wrapper: loads a persona and returns only the AgentPersona.
|
|
39
|
+
* Throws if the persona cannot be loaded and `allowFallback` is false.
|
|
40
|
+
*/
|
|
41
|
+
export declare function getPersona(agentName: string, options?: PersonaLoaderOptions): AgentPersona;
|
|
42
|
+
//# sourceMappingURL=persona-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persona-loader.d.ts","sourceRoot":"","sources":["../../../../packages/ai/src/personas/persona-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAe,MAAM,SAAS,CAAC;AA8BlG;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAgC1D;AAQD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,oBAAyB,GACjC,iBAAiB,CA2EnB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,YAAY,CAG1F"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview PersonaLoader — loads and validates agent persona profiles from
|
|
3
|
+
* the filesystem, with fallback to a default persona.
|
|
4
|
+
* @module @dcyfr/ai/personas/persona-loader
|
|
5
|
+
* @license MIT
|
|
6
|
+
*/
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// Default persona
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
const DEFAULT_PERSONA = {
|
|
11
|
+
name: 'default',
|
|
12
|
+
title: 'DCYFR Agent',
|
|
13
|
+
role: 'General-purpose AI assistant',
|
|
14
|
+
capabilities: ['analysis', 'writing', 'code-review', 'explanation'],
|
|
15
|
+
voice_tone: 'collaborative-expert',
|
|
16
|
+
};
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// Validation
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
const VALID_TONE_PROFILES = new Set([
|
|
21
|
+
'precise',
|
|
22
|
+
'conversational',
|
|
23
|
+
'technical',
|
|
24
|
+
'empathetic',
|
|
25
|
+
'collaborative-expert',
|
|
26
|
+
'patient',
|
|
27
|
+
'diagnostic',
|
|
28
|
+
'urgent',
|
|
29
|
+
'enthusiastic',
|
|
30
|
+
]);
|
|
31
|
+
/**
|
|
32
|
+
* Validates an AgentPersona object and returns a list of validation errors.
|
|
33
|
+
* An empty array indicates a valid persona.
|
|
34
|
+
*/
|
|
35
|
+
export function validatePersona(persona) {
|
|
36
|
+
const errors = [];
|
|
37
|
+
if (!persona || typeof persona !== 'object') {
|
|
38
|
+
return ['Persona must be a non-null object'];
|
|
39
|
+
}
|
|
40
|
+
const p = persona;
|
|
41
|
+
if (typeof p['name'] !== 'string' || p['name'].trim() === '') {
|
|
42
|
+
errors.push('name must be a non-empty string');
|
|
43
|
+
}
|
|
44
|
+
if (typeof p['title'] !== 'string' || p['title'].trim() === '') {
|
|
45
|
+
errors.push('title must be a non-empty string');
|
|
46
|
+
}
|
|
47
|
+
if (!Array.isArray(p['capabilities'])) {
|
|
48
|
+
errors.push('capabilities must be an array');
|
|
49
|
+
}
|
|
50
|
+
if (p['voice_tone'] !== null && p['voice_tone'] !== undefined) {
|
|
51
|
+
if (typeof p['voice_tone'] !== 'string' || !VALID_TONE_PROFILES.has(p['voice_tone'])) {
|
|
52
|
+
errors.push(`voice_tone must be null or one of: ${[...VALID_TONE_PROFILES].join(', ')}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (p['personality_overrides'] !== undefined) {
|
|
56
|
+
if (typeof p['personality_overrides'] !== 'object' || p['personality_overrides'] === null) {
|
|
57
|
+
errors.push('personality_overrides must be an object if present');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return errors;
|
|
61
|
+
}
|
|
62
|
+
// ---------------------------------------------------------------------------
|
|
63
|
+
// Cache
|
|
64
|
+
// ---------------------------------------------------------------------------
|
|
65
|
+
const _personaCache = new Map();
|
|
66
|
+
/**
|
|
67
|
+
* Clears the persona loader cache (useful in tests).
|
|
68
|
+
*/
|
|
69
|
+
export function clearPersonaCache() {
|
|
70
|
+
_personaCache.clear();
|
|
71
|
+
}
|
|
72
|
+
// ---------------------------------------------------------------------------
|
|
73
|
+
// PersonaLoader
|
|
74
|
+
// ---------------------------------------------------------------------------
|
|
75
|
+
/**
|
|
76
|
+
* Loads an agent persona by name from the filesystem.
|
|
77
|
+
*
|
|
78
|
+
* Resolution order:
|
|
79
|
+
* 1. Cache (if `useCache: true`)
|
|
80
|
+
* 2. `<baseDir>/<agentName>/agent.json`
|
|
81
|
+
* 3. `<baseDir>/<agentName>.json`
|
|
82
|
+
* 4. Default persona (if `allowFallback: true`)
|
|
83
|
+
*
|
|
84
|
+
* @param agentName - The agent identifier (e.g., 'dcyfr-engineer')
|
|
85
|
+
* @param options - Loader options
|
|
86
|
+
* @returns PersonaLoadResult with loaded persona and metadata
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* const { persona } = loadPersona('dcyfr-engineer');
|
|
91
|
+
* const voice = resolveVoice(persona);
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export function loadPersona(agentName, options = {}) {
|
|
95
|
+
const { baseDir = 'agents', allowFallback = true, useCache = true, validate = true, } = options;
|
|
96
|
+
const cacheKey = `${baseDir}:${agentName}`;
|
|
97
|
+
if (useCache && _personaCache.has(cacheKey)) {
|
|
98
|
+
return {
|
|
99
|
+
persona: _personaCache.get(cacheKey),
|
|
100
|
+
source: 'cache',
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
105
|
+
const fs = require('node:fs');
|
|
106
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
107
|
+
const path = require('node:path');
|
|
108
|
+
const candidates = [
|
|
109
|
+
path.resolve(process.cwd(), baseDir, agentName, 'agent.json'),
|
|
110
|
+
path.resolve(process.cwd(), baseDir, `${agentName}.json`),
|
|
111
|
+
];
|
|
112
|
+
for (const candidate of candidates) {
|
|
113
|
+
if (!fs.existsSync(candidate))
|
|
114
|
+
continue;
|
|
115
|
+
const raw = fs.readFileSync(candidate, 'utf-8');
|
|
116
|
+
let parsed;
|
|
117
|
+
try {
|
|
118
|
+
parsed = JSON.parse(raw);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
const errors = [`Failed to parse JSON at ${candidate}`];
|
|
122
|
+
if (!allowFallback) {
|
|
123
|
+
return { persona: DEFAULT_PERSONA, source: 'fallback', path: candidate, errors };
|
|
124
|
+
}
|
|
125
|
+
return { persona: DEFAULT_PERSONA, source: 'fallback', path: candidate, errors };
|
|
126
|
+
}
|
|
127
|
+
const errors = validate ? validatePersona(parsed) : [];
|
|
128
|
+
if (errors.length > 0 && !allowFallback) {
|
|
129
|
+
return { persona: DEFAULT_PERSONA, source: 'fallback', path: candidate, errors };
|
|
130
|
+
}
|
|
131
|
+
const persona = parsed;
|
|
132
|
+
if (useCache) {
|
|
133
|
+
_personaCache.set(cacheKey, persona);
|
|
134
|
+
}
|
|
135
|
+
return { persona, source: 'file', path: candidate, errors: errors.length > 0 ? errors : undefined };
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// Filesystem unavailable — fall through to default
|
|
140
|
+
}
|
|
141
|
+
if (!allowFallback) {
|
|
142
|
+
// Return default persona but flag it as not found
|
|
143
|
+
return {
|
|
144
|
+
persona: { ...DEFAULT_PERSONA, name: agentName },
|
|
145
|
+
source: 'fallback',
|
|
146
|
+
errors: [`Agent '${agentName}' not found and fallback is disabled`],
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
return {
|
|
150
|
+
persona: { ...DEFAULT_PERSONA, name: agentName },
|
|
151
|
+
source: 'fallback',
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Convenience wrapper: loads a persona and returns only the AgentPersona.
|
|
156
|
+
* Throws if the persona cannot be loaded and `allowFallback` is false.
|
|
157
|
+
*/
|
|
158
|
+
export function getPersona(agentName, options) {
|
|
159
|
+
const result = loadPersona(agentName, options);
|
|
160
|
+
return result.persona;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=persona-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persona-loader.js","sourceRoot":"","sources":["../../../../packages/ai/src/personas/persona-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Brand voice and agent persona type definitions for DCYFR AI framework
|
|
3
|
+
* @module @dcyfr/ai/personas/types
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Tone profile for different communication scenarios
|
|
8
|
+
*/
|
|
9
|
+
export type ToneProfile = 'precise' | 'conversational' | 'technical' | 'empathetic' | 'collaborative-expert' | 'patient' | 'diagnostic' | 'urgent' | 'enthusiastic';
|
|
10
|
+
/**
|
|
11
|
+
* Personality trait score (0.0 = none, 1.0 = maximum)
|
|
12
|
+
*/
|
|
13
|
+
export interface PersonalityTraits {
|
|
14
|
+
warmth: number;
|
|
15
|
+
formality: number;
|
|
16
|
+
humor?: number;
|
|
17
|
+
directness: number;
|
|
18
|
+
technicality: number;
|
|
19
|
+
empathy: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Situational tone adjustment
|
|
23
|
+
*/
|
|
24
|
+
export interface SituationalTone {
|
|
25
|
+
tone: string;
|
|
26
|
+
warmth: number;
|
|
27
|
+
formality: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Core brand identity
|
|
31
|
+
*/
|
|
32
|
+
export interface BrandIdentity {
|
|
33
|
+
name: string;
|
|
34
|
+
tagline: string;
|
|
35
|
+
archetype: string;
|
|
36
|
+
description: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Core voice attributes
|
|
40
|
+
*/
|
|
41
|
+
export interface CoreVoice {
|
|
42
|
+
attributes: string[];
|
|
43
|
+
personality_traits: PersonalityTraits;
|
|
44
|
+
perspective: 'first-person' | 'first-person-plural' | 'second-person' | 'third-person';
|
|
45
|
+
pronouns: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Tone spectrum with default and situational variants
|
|
49
|
+
*/
|
|
50
|
+
export interface ToneSpectrum {
|
|
51
|
+
default: ToneProfile;
|
|
52
|
+
situational: Record<string, SituationalTone>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Workspace-level brand voice (from DCYFR_CONTEXT.json)
|
|
56
|
+
*/
|
|
57
|
+
export interface BrandVoice {
|
|
58
|
+
version: string;
|
|
59
|
+
identity: BrandIdentity;
|
|
60
|
+
core_voice: CoreVoice;
|
|
61
|
+
tone_spectrum: ToneSpectrum;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Agent-specific persona configuration
|
|
65
|
+
*/
|
|
66
|
+
export interface AgentPersona {
|
|
67
|
+
/**
|
|
68
|
+
* Agent identifier (e.g., 'dcyfr-engineer', 'dcyfr-analyst')
|
|
69
|
+
*/
|
|
70
|
+
name: string;
|
|
71
|
+
/**
|
|
72
|
+
* Human-readable display title
|
|
73
|
+
*/
|
|
74
|
+
title: string;
|
|
75
|
+
/**
|
|
76
|
+
* Agent role description
|
|
77
|
+
*/
|
|
78
|
+
role: string;
|
|
79
|
+
/**
|
|
80
|
+
* Primary capabilities
|
|
81
|
+
*/
|
|
82
|
+
capabilities: string[];
|
|
83
|
+
/**
|
|
84
|
+
* Voice tone override (null = use brand default)
|
|
85
|
+
*/
|
|
86
|
+
voice_tone: ToneProfile | null;
|
|
87
|
+
/**
|
|
88
|
+
* Personality trait overrides (null = use brand defaults)
|
|
89
|
+
*/
|
|
90
|
+
personality_overrides?: Partial<PersonalityTraits>;
|
|
91
|
+
/**
|
|
92
|
+
* Context-specific prompt injections
|
|
93
|
+
*/
|
|
94
|
+
context_injections?: {
|
|
95
|
+
before_prompt?: string;
|
|
96
|
+
after_prompt?: string;
|
|
97
|
+
system_prefix?: string;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Custom metadata
|
|
101
|
+
*/
|
|
102
|
+
metadata?: Record<string, unknown>;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Voice resolver options
|
|
106
|
+
*/
|
|
107
|
+
export interface VoiceResolverOptions {
|
|
108
|
+
/**
|
|
109
|
+
* Enable voice resolution (default: true)
|
|
110
|
+
*/
|
|
111
|
+
enabled?: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Override tone (null = use persona default)
|
|
114
|
+
*/
|
|
115
|
+
tone?: ToneProfile | null;
|
|
116
|
+
/**
|
|
117
|
+
* Verbosity level (0 = minimal, 5 = maximum)
|
|
118
|
+
*/
|
|
119
|
+
verbosity?: number;
|
|
120
|
+
/**
|
|
121
|
+
* Include personality trait scores in output
|
|
122
|
+
*/
|
|
123
|
+
includeTraits?: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Custom brand voice (null = load from DCYFR_CONTEXT)
|
|
126
|
+
*/
|
|
127
|
+
brandVoice?: BrandVoice | null;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Resolved voice output
|
|
131
|
+
*/
|
|
132
|
+
export interface ResolvedVoice {
|
|
133
|
+
/**
|
|
134
|
+
* System prompt prefix (inject before main prompt)
|
|
135
|
+
*/
|
|
136
|
+
systemPrefix: string;
|
|
137
|
+
/**
|
|
138
|
+
* Applied tone profile
|
|
139
|
+
*/
|
|
140
|
+
appliedTone: ToneProfile;
|
|
141
|
+
/**
|
|
142
|
+
* Merged personality traits
|
|
143
|
+
*/
|
|
144
|
+
personalityTraits: PersonalityTraits;
|
|
145
|
+
/**
|
|
146
|
+
* Agent name
|
|
147
|
+
*/
|
|
148
|
+
agentName: string;
|
|
149
|
+
/**
|
|
150
|
+
* Resolution metadata
|
|
151
|
+
*/
|
|
152
|
+
metadata: {
|
|
153
|
+
resolvedFrom: 'brand' | 'persona' | 'override';
|
|
154
|
+
timestamp: string;
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Persona loader options
|
|
159
|
+
*/
|
|
160
|
+
export interface PersonaLoaderOptions {
|
|
161
|
+
/**
|
|
162
|
+
* Base directory for agent profiles (default: 'agents/')
|
|
163
|
+
*/
|
|
164
|
+
baseDir?: string;
|
|
165
|
+
/**
|
|
166
|
+
* Allow fallback to default persona (default: true)
|
|
167
|
+
*/
|
|
168
|
+
allowFallback?: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Cache loaded personas (default: true)
|
|
171
|
+
*/
|
|
172
|
+
useCache?: boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Validate against AgentPersona schema (default: true)
|
|
175
|
+
*/
|
|
176
|
+
validate?: boolean;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Persona load result
|
|
180
|
+
*/
|
|
181
|
+
export interface PersonaLoadResult {
|
|
182
|
+
/**
|
|
183
|
+
* Loaded persona
|
|
184
|
+
*/
|
|
185
|
+
persona: AgentPersona;
|
|
186
|
+
/**
|
|
187
|
+
* Load source
|
|
188
|
+
*/
|
|
189
|
+
source: 'file' | 'cache' | 'fallback';
|
|
190
|
+
/**
|
|
191
|
+
* Load path (if loaded from file)
|
|
192
|
+
*/
|
|
193
|
+
path?: string;
|
|
194
|
+
/**
|
|
195
|
+
* Validation errors (if any)
|
|
196
|
+
*/
|
|
197
|
+
errors?: string[];
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/ai/src/personas/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,gBAAgB,GAChB,WAAW,GACX,YAAY,GACZ,sBAAsB,GACtB,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,WAAW,EAAE,cAAc,GAAG,qBAAqB,GAAG,eAAe,GAAG,cAAc,CAAC;IACvF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,UAAU,EAAE,SAAS,CAAC;IACtB,aAAa,EAAE,YAAY,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEnD;;OAEG;IACH,kBAAkB,CAAC,EAAE;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACJ,aAAa,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IAErC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE;QACR,YAAY,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;QAC/C,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IAEtC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../packages/ai/src/personas/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview VoiceResolver — merges workspace brand voice with agent persona
|
|
3
|
+
* to produce a rendered system prompt prefix.
|
|
4
|
+
* @module @dcyfr/ai/personas/voice-resolver
|
|
5
|
+
* @license MIT
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentPersona, BrandVoice, ResolvedVoice, ToneProfile, VoiceResolverOptions } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* Renders the persona identity block as a prompt fragment.
|
|
10
|
+
*/
|
|
11
|
+
export declare function renderPersonaBlock(persona: AgentPersona): string;
|
|
12
|
+
/**
|
|
13
|
+
* Returns tone guideline text for a given tone profile.
|
|
14
|
+
*/
|
|
15
|
+
export declare function applyToneGuidelines(tone: ToneProfile): string;
|
|
16
|
+
/**
|
|
17
|
+
* Loads the brand voice from DCYFR_CONTEXT.json. Falls back to the built-in
|
|
18
|
+
* default if the file is unavailable or malformed.
|
|
19
|
+
*/
|
|
20
|
+
export declare function loadBrandVoice(contextPath?: string): BrandVoice;
|
|
21
|
+
/**
|
|
22
|
+
* Clears the brand voice cache (useful in tests).
|
|
23
|
+
*/
|
|
24
|
+
export declare function clearBrandVoiceCache(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Resolves the effective voice for an agent by merging workspace brand voice
|
|
27
|
+
* with persona-specific overrides, then renders a system prompt prefix.
|
|
28
|
+
*
|
|
29
|
+
* @param persona - The agent persona to resolve voice for
|
|
30
|
+
* @param options - Resolver options (tone override, verbosity, etc.)
|
|
31
|
+
* @returns ResolvedVoice containing the system prompt prefix and metadata
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const voice = resolveVoice(engineerPersona, { verbosity: 2 });
|
|
36
|
+
* systemPrompt = voice.systemPrefix + '\n\n' + userPrompt;
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveVoice(persona: AgentPersona, options?: VoiceResolverOptions): ResolvedVoice;
|
|
40
|
+
//# sourceMappingURL=voice-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-resolver.d.ts","sourceRoot":"","sources":["../../../../packages/ai/src/personas/voice-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EAEV,aAAa,EACb,WAAW,EACX,oBAAoB,EACrB,MAAM,SAAS,CAAC;AA+CjB;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAgBhE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAuB7D;AAoBD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAkC/D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAuEf"}
|