monomind 1.14.7 → 1.15.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/.claude/agents/reengineer-squad/boss.md +113 -0
- package/.claude/agents/reengineer-squad/critic-architect.md +132 -0
- package/.claude/agents/reengineer-squad/git-manager.md +145 -0
- package/.claude/agents/reengineer-squad/idea-generator.md +95 -0
- package/.claude/agents/reengineer-squad/implementer.md +112 -0
- package/.claude/agents/reengineer-squad/integration-planner.md +112 -0
- package/.claude/agents/reengineer-squad/source-analyst.md +103 -0
- package/.claude/agents/reengineer-squad/target-analyst.md +118 -0
- package/.claude/agents/reengineer-squad/tester.md +105 -0
- package/.claude/commands/mastermind/master.md +35 -14
- package/.claude/helpers/handlers/capture-handler.cjs +155 -18
- package/.claude/helpers/monolean-activate.cjs +20 -0
- package/.claude/helpers/monolean-config.cjs +76 -0
- package/.claude/helpers/monolean-instructions.cjs +109 -0
- package/.claude/helpers/monolean-propagate.cjs +9 -0
- package/.claude/helpers/monolean-tracker.cjs +18 -0
- package/.claude/helpers/skill-registry.json +2 -2
- package/.claude/settings.json +34 -2
- package/.claude/skills/agent-browser-testing/SKILL.md +301 -18
- package/.claude/skills/mastermind/runorg.md +69 -23
- package/.claude/skills/monodesign/SKILL.md +32 -1
- package/.claude/skills/monodesign/adapt.md +53 -0
- package/.claude/skills/monodesign/agents/monodesign-asset-producer.md +100 -0
- package/.claude/skills/monodesign/animate.md +65 -0
- package/.claude/skills/monodesign/audit.md +89 -0
- package/.claude/skills/monodesign/bolder.md +50 -0
- package/.claude/skills/monodesign/clarify.md +64 -0
- package/.claude/skills/monodesign/colorize.md +68 -0
- package/.claude/skills/monodesign/craft.md +51 -0
- package/.claude/skills/monodesign/critique.md +66 -0
- package/.claude/skills/monodesign/delight.md +47 -0
- package/.claude/skills/monodesign/distill.md +56 -0
- package/.claude/skills/monodesign/document.md +80 -0
- package/.claude/skills/monodesign/extract.md +74 -0
- package/.claude/skills/monodesign/harden.md +65 -0
- package/.claude/skills/monodesign/live.md +59 -0
- package/.claude/skills/monodesign/onboard.md +50 -0
- package/.claude/skills/monodesign/optimize.md +64 -0
- package/.claude/skills/monodesign/overdrive.md +56 -0
- package/.claude/skills/monodesign/polish.md +68 -0
- package/.claude/skills/monodesign/quieter.md +57 -0
- package/.claude/skills/monodesign/reference/antipatterns-catalog.md +248 -76
- package/.claude/skills/monodesign/reference/codex.md +107 -0
- package/.claude/skills/monodesign/reference/craft.md +3 -0
- package/.claude/skills/monodesign/reference/hooks.md +99 -0
- package/.claude/skills/monodesign/reference/image-prompts.md +12 -0
- package/.claude/skills/monodesign/shape.md +71 -0
- package/.claude/skills/monodesign/teach.md +69 -0
- package/.claude/skills/monodesign/typeset.md +59 -0
- package/.claude/skills/monolean/SKILL.md +118 -0
- package/.claude/skills/monolean-audit/SKILL.md +41 -0
- package/.claude/skills/monolean-debt/SKILL.md +46 -0
- package/.claude/skills/monolean-help/SKILL.md +60 -0
- package/.claude/skills/monolean-review/SKILL.md +57 -0
- package/package.json +8 -2
- package/packages/@monomind/cli/bin/cli.js +3 -1
- package/packages/@monomind/cli/dist/dashboard/server.js +137 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-adapters.test.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-adapters.test.js +51 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-analyzer.test.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-analyzer.test.js +68 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-builtin-handlers.test.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-builtin-handlers.test.js +139 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-cdp.test.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-cdp.test.js +169 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-dashboard.test.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-dashboard.test.js +179 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-engine.test.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-engine.test.js +122 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-expression.test.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-expression.test.js +54 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-store.test.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-store.test.js +99 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-workflow-types.test.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/__tests__/browse-workflow-types.test.js +33 -0
- package/packages/@monomind/cli/dist/src/browser/action-builder/analyzer.d.ts +11 -0
- package/packages/@monomind/cli/dist/src/browser/action-builder/analyzer.js +71 -0
- package/packages/@monomind/cli/dist/src/browser/action-builder/types.d.ts +47 -0
- package/packages/@monomind/cli/dist/src/browser/action-builder/types.js +2 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/gemini.d.ts +3 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/gemini.js +16 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/google.d.ts +3 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/google.js +17 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/index.d.ts +19 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/index.js +23 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/instagram.d.ts +3 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/instagram.js +17 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/linkedin.d.ts +3 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/linkedin.js +19 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/microsoft.d.ts +3 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/microsoft.js +16 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/x.d.ts +3 -0
- package/packages/@monomind/cli/dist/src/browser/adapters/x.js +19 -0
- package/packages/@monomind/cli/dist/src/browser/dashboard/api-types.d.ts +50 -0
- package/packages/@monomind/cli/dist/src/browser/dashboard/api-types.js +14 -0
- package/packages/@monomind/cli/dist/src/browser/dashboard/server.d.ts +9 -0
- package/packages/@monomind/cli/dist/src/browser/dashboard/server.js +62 -0
- package/packages/@monomind/cli/dist/src/browser/dashboard/ui.html +1811 -0
- package/packages/@monomind/cli/dist/src/browser/workflow/builtin-handlers.d.ts +3 -0
- package/packages/@monomind/cli/dist/src/browser/workflow/builtin-handlers.js +343 -0
- package/packages/@monomind/cli/dist/src/browser/workflow/engine.d.ts +15 -0
- package/packages/@monomind/cli/dist/src/browser/workflow/engine.js +127 -0
- package/packages/@monomind/cli/dist/src/browser/workflow/expression.d.ts +4 -0
- package/packages/@monomind/cli/dist/src/browser/workflow/expression.js +64 -0
- package/packages/@monomind/cli/dist/src/browser/workflow/store.d.ts +24 -0
- package/packages/@monomind/cli/dist/src/browser/workflow/store.js +145 -0
- package/packages/@monomind/cli/dist/src/browser/workflow/types.d.ts +48 -0
- package/packages/@monomind/cli/dist/src/browser/workflow/types.js +2 -0
- package/packages/@monomind/cli/dist/src/commands/browse-action.d.ts +4 -0
- package/packages/@monomind/cli/dist/src/commands/browse-action.js +151 -0
- package/packages/@monomind/cli/dist/src/commands/browse-platform.d.ts +4 -0
- package/packages/@monomind/cli/dist/src/commands/browse-platform.js +117 -0
- package/packages/@monomind/cli/dist/src/commands/browse-workflow.d.ts +4 -0
- package/packages/@monomind/cli/dist/src/commands/browse-workflow.js +153 -0
- package/packages/@monomind/cli/dist/src/commands/browse.d.ts +10 -6
- package/packages/@monomind/cli/dist/src/commands/browse.js +11 -2154
- package/packages/@monomind/cli/dist/src/commands/design-detect.d.ts +21 -0
- package/packages/@monomind/cli/dist/src/commands/design-detect.js +127 -0
- package/packages/@monomind/cli/dist/src/commands/design-palette.d.ts +22 -0
- package/packages/@monomind/cli/dist/src/commands/design-palette.js +539 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-core-commands.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-core-commands.js +377 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-commands.d.ts +12 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-commands.js +1217 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-utils.d.ts +42 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-coverage-utils.js +220 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-extended-commands.d.ts +14 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-extended-commands.js +579 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-formatting.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-formatting.js +42 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-routing-commands.d.ts +15 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-routing-commands.js +723 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-workers.d.ts +9 -0
- package/packages/@monomind/cli/dist/src/commands/hooks-workers.js +782 -0
- package/packages/@monomind/cli/dist/src/commands/hooks.d.ts +8 -0
- package/packages/@monomind/cli/dist/src/commands/hooks.js +179 -4103
- package/packages/@monomind/cli/dist/src/commands/index.d.ts +1 -0
- package/packages/@monomind/cli/dist/src/commands/index.js +6 -0
- package/packages/@monomind/cli/dist/src/commands/org.js +14 -15
- package/packages/@monomind/cli/dist/src/commands/tokens.js +77 -1
- package/packages/@monomind/cli/dist/src/graph/enrich.mjs +362 -0
- package/packages/@monomind/cli/dist/src/init/executor.js +18 -8
- package/packages/@monomind/cli/dist/src/init/settings-generator.js +39 -5
- package/packages/@monomind/cli/dist/src/init/statusline-generator.js +25 -5
- package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.d.ts +3 -5
- package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.js +619 -326
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-embedding.d.ts +161 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-embedding.js +506 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.d.ts +26 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-intelligence.js +1328 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.d.ts +27 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-routing.js +1591 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.d.ts +3 -38
- package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +5 -3393
- package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +24 -14
- package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.js +54 -1
- package/packages/@monomind/cli/dist/src/memory/embedding-operations.d.ts +58 -0
- package/packages/@monomind/cli/dist/src/memory/embedding-operations.js +299 -0
- package/packages/@monomind/cli/dist/src/memory/ewc-consolidation.js +37 -3
- package/packages/@monomind/cli/dist/src/memory/hnsw-operations.d.ts +130 -0
- package/packages/@monomind/cli/dist/src/memory/hnsw-operations.js +400 -0
- package/packages/@monomind/cli/dist/src/memory/intelligence.js +42 -23
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +52 -8
- package/packages/@monomind/cli/dist/src/memory/memory-crud.d.ts +67 -0
- package/packages/@monomind/cli/dist/src/memory/memory-crud.js +415 -0
- package/packages/@monomind/cli/dist/src/memory/memory-initializer.d.ts +9 -322
- package/packages/@monomind/cli/dist/src/memory/memory-initializer.js +17 -1794
- package/packages/@monomind/cli/dist/src/memory/memory-migrations.d.ts +30 -0
- package/packages/@monomind/cli/dist/src/memory/memory-migrations.js +134 -0
- package/packages/@monomind/cli/dist/src/memory/memory-read.d.ts +78 -0
- package/packages/@monomind/cli/dist/src/memory/memory-read.js +331 -0
- package/packages/@monomind/cli/dist/src/memory/memory-schema.d.ts +13 -0
- package/packages/@monomind/cli/dist/src/memory/memory-schema.js +167 -0
- package/packages/@monomind/cli/dist/src/memory/sona-optimizer.js +37 -4
- package/packages/@monomind/cli/dist/src/monovector/route-outcomes.js +16 -6
- package/packages/@monomind/cli/dist/src/pricing/model-pricing.d.ts +41 -0
- package/packages/@monomind/cli/dist/src/pricing/model-pricing.js +61 -0
- package/packages/@monomind/cli/dist/src/ui/.monomind/capture/active-run.json +1 -0
- package/packages/@monomind/cli/dist/src/ui/collector.mjs +799 -0
- package/packages/@monomind/cli/dist/src/ui/dashboard.html +13986 -0
- package/packages/@monomind/cli/dist/src/ui/data/agent-avatars.html +763 -0
- package/packages/@monomind/cli/dist/src/ui/data/agent-avatars.json +966 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/account-strategist.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/accounts-payable.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/adaptive-coordinator.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/adaptive-coordinator2.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/ai-citation.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/ai-engineer.svg +61 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/analytics-reporter.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/api-tester.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/architecture.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/automation-governance.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/backend-dev.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/benchmarker.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/blockchain-auditor.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/byzantine-coord.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/case-analyst.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/cicd-engineer.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/cloud-architect.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/code-review-swarm.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/coder-v119.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/coder.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/collective-coord.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/compliance-auditor.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/consensus-coordinator.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/content-creator.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/crdt-synchronizer.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/cro-specialist.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/data-consolidator.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/data-engineer.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/database-optimizer.svg +61 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/deal-strategist.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/defender.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/devops-automator.svg +56 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/discovery-coach.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/email-marketing.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/embedded-firmware.svg +61 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/evidence-collector.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/experiment-tracker.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/feedback-synthesizer.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/finance-tracker.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/frontend-developer.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/game-audio-engineer.svg +59 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/game-designer.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/gossip-coordinator.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/hierarchical-coord.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/incident-commander.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/infrastructure.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/input-validator.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/ios-developer.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/issue-tracker.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/judge.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/launch-strategist.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/legal-compliance.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/level-designer.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/load-balancer.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/mcp-builder.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/memory-coordinator.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/mesh-coordinator.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/ml-developer.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/mobile-app-builder.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/mobile-dev.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/model-qa.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/narrative-designer.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/outbound-strategist.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/path-validator.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/payment-agent.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/perf-analyzer.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/pipeline-analyst.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/planner.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/pr-manager.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/pricing-strategist.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/product-manager.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/production-validator.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/project-shepherd.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/proposal-strategist.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/prosecutor.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/pseudocode.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/queen-coordinator.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/quorum-manager.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/raft-manager.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/reality-checker.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/recruitment.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/refinement.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/release-manager.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/repo-architect.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/researcher.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/resource-allocator.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/reviewer.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/safe-executor.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sales-coach.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sales-engineer.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/scout-explorer.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/security-architect.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/security-auditor.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/senior-developer.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/senior-pm.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/seo-specialist.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/social-media.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/solidity-engineer.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sparc-coder.svg +58 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sparc-coord.svg +56 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/specification.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sprint-prioritizer.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/sre.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/studio-operations.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/studio-producer.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/support-responder.svg +56 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/system-architect.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/task-orchestrator.svg +56 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/technical-artist.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/technical-writer.svg +59 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/tester.svg +53 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/threat-detection.svg +61 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/trend-researcher.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/trial-director.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/unity-architect.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/visionos-engineer.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/worker-specialist.svg +55 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/workflow-architect.svg +57 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/workflow-automation.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/avatars/zk-steward.svg +54 -0
- package/packages/@monomind/cli/dist/src/ui/data/known-projects.json +1 -0
- package/packages/@monomind/cli/dist/src/ui/data/mastermind-sessions.json +1 -0
- package/packages/@monomind/cli/dist/src/ui/data/sessions/_index.json +1 -0
- package/packages/@monomind/cli/dist/src/ui/orgs.html +2215 -0
- package/packages/@monomind/cli/dist/src/ui/server.mjs +6175 -0
- package/packages/@monomind/cli/dist/src/ui/sse-manager.mjs +119 -0
- package/packages/@monomind/cli/dist/src/update/checker.js +1 -1
- package/packages/@monomind/cli/dist/workflow/builtin-handlers.js +321 -0
- package/packages/@monomind/cli/dist/workflow/engine.js +253 -0
- package/packages/@monomind/cli/dist/workflow/expression.js +98 -0
- package/packages/@monomind/cli/dist/workflow/types.js +2 -0
- package/packages/@monomind/cli/package.json +8 -5
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Schema
|
|
3
|
+
* SQL schema for the Monomind memory database.
|
|
4
|
+
* Extracted from memory-initializer.ts (ARCH-4)
|
|
5
|
+
*
|
|
6
|
+
* @module v1/cli/memory-schema
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Enhanced schema with pattern confidence, temporal decay, versioning
|
|
10
|
+
* Vector embeddings enabled for semantic search
|
|
11
|
+
*/
|
|
12
|
+
export const MEMORY_SCHEMA = `
|
|
13
|
+
-- Monomind Memory Database
|
|
14
|
+
-- Version: 3.0.0
|
|
15
|
+
-- Features: Pattern learning, vector embeddings, temporal decay, migration tracking
|
|
16
|
+
|
|
17
|
+
PRAGMA journal_mode = WAL;
|
|
18
|
+
PRAGMA synchronous = NORMAL;
|
|
19
|
+
PRAGMA foreign_keys = ON;
|
|
20
|
+
|
|
21
|
+
-- ============================================
|
|
22
|
+
-- CORE MEMORY TABLES
|
|
23
|
+
-- ============================================
|
|
24
|
+
|
|
25
|
+
-- Memory entries (main storage)
|
|
26
|
+
CREATE TABLE IF NOT EXISTS memory_entries (
|
|
27
|
+
id TEXT PRIMARY KEY,
|
|
28
|
+
key TEXT NOT NULL,
|
|
29
|
+
namespace TEXT NOT NULL DEFAULT 'default',
|
|
30
|
+
content TEXT NOT NULL DEFAULT '',
|
|
31
|
+
type TEXT NOT NULL DEFAULT 'semantic',
|
|
32
|
+
embedding TEXT,
|
|
33
|
+
embedding_model TEXT DEFAULT 'local',
|
|
34
|
+
embedding_dimensions INTEGER,
|
|
35
|
+
confidence REAL DEFAULT 1.0,
|
|
36
|
+
decay_rate REAL DEFAULT 0.01,
|
|
37
|
+
importance_score REAL DEFAULT 0.5,
|
|
38
|
+
access_count INTEGER DEFAULT 0,
|
|
39
|
+
last_accessed_at INTEGER,
|
|
40
|
+
expires_at INTEGER,
|
|
41
|
+
tags TEXT,
|
|
42
|
+
metadata TEXT,
|
|
43
|
+
owner_id TEXT,
|
|
44
|
+
agent_id TEXT,
|
|
45
|
+
session_id TEXT,
|
|
46
|
+
status TEXT DEFAULT 'active',
|
|
47
|
+
created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),
|
|
48
|
+
updated_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
CREATE INDEX IF NOT EXISTS idx_memory_namespace ON memory_entries(namespace);
|
|
52
|
+
CREATE INDEX IF NOT EXISTS idx_memory_key ON memory_entries(key);
|
|
53
|
+
CREATE INDEX IF NOT EXISTS idx_memory_type ON memory_entries(type);
|
|
54
|
+
CREATE INDEX IF NOT EXISTS idx_memory_status ON memory_entries(status);
|
|
55
|
+
CREATE INDEX IF NOT EXISTS idx_memory_created ON memory_entries(created_at);
|
|
56
|
+
CREATE INDEX IF NOT EXISTS idx_memory_accessed ON memory_entries(last_accessed_at);
|
|
57
|
+
CREATE INDEX IF NOT EXISTS idx_memory_owner ON memory_entries(owner_id);
|
|
58
|
+
|
|
59
|
+
-- Pattern learning tables
|
|
60
|
+
CREATE TABLE IF NOT EXISTS patterns (
|
|
61
|
+
id TEXT PRIMARY KEY,
|
|
62
|
+
name TEXT NOT NULL,
|
|
63
|
+
pattern_type TEXT NOT NULL DEFAULT 'task-routing',
|
|
64
|
+
condition TEXT NOT NULL,
|
|
65
|
+
action TEXT NOT NULL,
|
|
66
|
+
confidence REAL DEFAULT 0.5,
|
|
67
|
+
success_count INTEGER DEFAULT 0,
|
|
68
|
+
failure_count INTEGER DEFAULT 0,
|
|
69
|
+
decay_rate REAL DEFAULT 0.05,
|
|
70
|
+
last_matched_at INTEGER,
|
|
71
|
+
status TEXT DEFAULT 'active',
|
|
72
|
+
metadata TEXT,
|
|
73
|
+
created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),
|
|
74
|
+
updated_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_type ON patterns(pattern_type);
|
|
78
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_confidence ON patterns(confidence);
|
|
79
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_status ON patterns(status);
|
|
80
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_last_matched ON patterns(last_matched_at);
|
|
81
|
+
|
|
82
|
+
-- Pattern history for temporal analysis
|
|
83
|
+
CREATE TABLE IF NOT EXISTS pattern_history (
|
|
84
|
+
id TEXT PRIMARY KEY,
|
|
85
|
+
pattern_id TEXT NOT NULL REFERENCES patterns(id) ON DELETE CASCADE,
|
|
86
|
+
event_type TEXT NOT NULL,
|
|
87
|
+
confidence_before REAL,
|
|
88
|
+
confidence_after REAL,
|
|
89
|
+
metadata TEXT,
|
|
90
|
+
created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
CREATE INDEX IF NOT EXISTS idx_pattern_history_pattern ON pattern_history(pattern_id);
|
|
94
|
+
|
|
95
|
+
-- Trajectory recording for learning
|
|
96
|
+
CREATE TABLE IF NOT EXISTS trajectories (
|
|
97
|
+
id TEXT PRIMARY KEY,
|
|
98
|
+
task_description TEXT NOT NULL,
|
|
99
|
+
agent_type TEXT,
|
|
100
|
+
success BOOLEAN DEFAULT FALSE,
|
|
101
|
+
total_steps INTEGER DEFAULT 0,
|
|
102
|
+
duration_ms INTEGER,
|
|
103
|
+
metadata TEXT,
|
|
104
|
+
created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),
|
|
105
|
+
completed_at INTEGER
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
-- Trajectory steps
|
|
109
|
+
CREATE TABLE IF NOT EXISTS trajectory_steps (
|
|
110
|
+
id TEXT PRIMARY KEY,
|
|
111
|
+
trajectory_id TEXT NOT NULL REFERENCES trajectories(id) ON DELETE CASCADE,
|
|
112
|
+
step_number INTEGER NOT NULL,
|
|
113
|
+
action TEXT NOT NULL,
|
|
114
|
+
result TEXT,
|
|
115
|
+
success BOOLEAN,
|
|
116
|
+
duration_ms INTEGER,
|
|
117
|
+
metadata TEXT,
|
|
118
|
+
created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
CREATE INDEX IF NOT EXISTS idx_steps_trajectory ON trajectory_steps(trajectory_id);
|
|
122
|
+
|
|
123
|
+
-- Migration state tracking
|
|
124
|
+
CREATE TABLE IF NOT EXISTS migration_state (
|
|
125
|
+
id TEXT PRIMARY KEY,
|
|
126
|
+
migration_type TEXT NOT NULL,
|
|
127
|
+
source_path TEXT,
|
|
128
|
+
target_path TEXT,
|
|
129
|
+
status TEXT DEFAULT 'pending',
|
|
130
|
+
entries_migrated INTEGER DEFAULT 0,
|
|
131
|
+
errors INTEGER DEFAULT 0,
|
|
132
|
+
started_at INTEGER,
|
|
133
|
+
completed_at INTEGER,
|
|
134
|
+
metadata TEXT,
|
|
135
|
+
created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
-- Session management
|
|
139
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
140
|
+
id TEXT PRIMARY KEY,
|
|
141
|
+
agent_id TEXT,
|
|
142
|
+
metadata TEXT,
|
|
143
|
+
status TEXT DEFAULT 'active',
|
|
144
|
+
started_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),
|
|
145
|
+
ended_at INTEGER,
|
|
146
|
+
summary TEXT
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
-- Vector index configuration
|
|
150
|
+
CREATE TABLE IF NOT EXISTS vector_indexes (
|
|
151
|
+
id TEXT PRIMARY KEY,
|
|
152
|
+
name TEXT NOT NULL,
|
|
153
|
+
dimensions INTEGER NOT NULL DEFAULT 384,
|
|
154
|
+
hnsw_m INTEGER DEFAULT 16,
|
|
155
|
+
hnsw_ef_construction INTEGER DEFAULT 200,
|
|
156
|
+
entry_count INTEGER DEFAULT 0,
|
|
157
|
+
created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),
|
|
158
|
+
updated_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
CREATE TABLE IF NOT EXISTS metadata (
|
|
162
|
+
key TEXT PRIMARY KEY,
|
|
163
|
+
value TEXT NOT NULL,
|
|
164
|
+
updated_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)
|
|
165
|
+
);
|
|
166
|
+
`;
|
|
167
|
+
//# sourceMappingURL=memory-schema.js.map
|
|
@@ -99,6 +99,12 @@ export class SONAOptimizer {
|
|
|
99
99
|
failedRoutings = 0;
|
|
100
100
|
lastUpdate = null;
|
|
101
101
|
persistencePath;
|
|
102
|
+
/** Set when in-memory state diverges from disk — triggers next debounced write */
|
|
103
|
+
dirty = false;
|
|
104
|
+
/** NodeJS timeout handle for debounced disk flush */
|
|
105
|
+
saveTimer = null;
|
|
106
|
+
/** Debounce window for disk writes (ms) — batches rapid trajectory bursts */
|
|
107
|
+
static SAVE_DEBOUNCE_MS = 2_000;
|
|
102
108
|
constructor(options) {
|
|
103
109
|
this.persistencePath = options?.persistencePath || DEFAULT_PERSISTENCE_PATH;
|
|
104
110
|
}
|
|
@@ -162,8 +168,8 @@ export class SONAOptimizer {
|
|
|
162
168
|
this.lastUpdate = Date.now();
|
|
163
169
|
// Prune old patterns if needed
|
|
164
170
|
this.prunePatterns();
|
|
165
|
-
//
|
|
166
|
-
this.
|
|
171
|
+
// Mark dirty and schedule a debounced write
|
|
172
|
+
this.scheduleSave();
|
|
167
173
|
return {
|
|
168
174
|
learned: true,
|
|
169
175
|
patternKey,
|
|
@@ -249,7 +255,7 @@ export class SONAOptimizer {
|
|
|
249
255
|
}
|
|
250
256
|
}
|
|
251
257
|
if (decayed > 0) {
|
|
252
|
-
this.
|
|
258
|
+
this.scheduleSave();
|
|
253
259
|
}
|
|
254
260
|
return decayed;
|
|
255
261
|
}
|
|
@@ -262,6 +268,12 @@ export class SONAOptimizer {
|
|
|
262
268
|
this.successfulRoutings = 0;
|
|
263
269
|
this.failedRoutings = 0;
|
|
264
270
|
this.lastUpdate = null;
|
|
271
|
+
// Flush immediately on explicit reset (don't wait for debounce)
|
|
272
|
+
if (this.saveTimer) {
|
|
273
|
+
clearTimeout(this.saveTimer);
|
|
274
|
+
this.saveTimer = null;
|
|
275
|
+
}
|
|
276
|
+
this.dirty = false;
|
|
265
277
|
this.saveToDisk();
|
|
266
278
|
}
|
|
267
279
|
/**
|
|
@@ -285,7 +297,8 @@ export class SONAOptimizer {
|
|
|
285
297
|
imported++;
|
|
286
298
|
}
|
|
287
299
|
}
|
|
288
|
-
|
|
300
|
+
if (imported > 0)
|
|
301
|
+
this.scheduleSave();
|
|
289
302
|
return imported;
|
|
290
303
|
}
|
|
291
304
|
// ============================================================================
|
|
@@ -509,6 +522,26 @@ export class SONAOptimizer {
|
|
|
509
522
|
return false;
|
|
510
523
|
}
|
|
511
524
|
}
|
|
525
|
+
/**
|
|
526
|
+
* Schedule a debounced disk flush.
|
|
527
|
+
* Multiple calls within SAVE_DEBOUNCE_MS coalesce into a single write,
|
|
528
|
+
* preventing blocking I/O on every trajectory event during swarm bursts.
|
|
529
|
+
*/
|
|
530
|
+
scheduleSave() {
|
|
531
|
+
this.dirty = true;
|
|
532
|
+
if (this.saveTimer)
|
|
533
|
+
return; // already pending
|
|
534
|
+
this.saveTimer = setTimeout(() => {
|
|
535
|
+
this.saveTimer = null;
|
|
536
|
+
if (this.dirty) {
|
|
537
|
+
this.dirty = false;
|
|
538
|
+
this.saveToDisk();
|
|
539
|
+
}
|
|
540
|
+
}, SONAOptimizer.SAVE_DEBOUNCE_MS);
|
|
541
|
+
// Allow the process to exit without waiting for the timer
|
|
542
|
+
if (this.saveTimer.unref)
|
|
543
|
+
this.saveTimer.unref();
|
|
544
|
+
}
|
|
512
545
|
/**
|
|
513
546
|
* Save patterns to disk
|
|
514
547
|
*/
|
|
@@ -17,6 +17,11 @@ function storePath(baseDir) {
|
|
|
17
17
|
* older is dead weight. Keeping 500 gives a comfortable buffer while bounding
|
|
18
18
|
* the file size and keeping joinOutcome's full-file rewrite cheap. */
|
|
19
19
|
const MAX_ROUTE_RECORDS = 500;
|
|
20
|
+
/** Conservative estimate of bytes per record (capped fields + JSON overhead).
|
|
21
|
+
* Used to gate whether a stat-only check can rule out a trim pass.
|
|
22
|
+
* Actual records are ~200-400 bytes; 600 gives a 2× safety margin so we
|
|
23
|
+
* never skip a needed trim, only unnecessary reads. */
|
|
24
|
+
const APPROX_BYTES_PER_RECORD = 600;
|
|
20
25
|
/** Append a route recommendation (pre-outcome). Opportunistically trims the
|
|
21
26
|
* file to MAX_ROUTE_RECORDS lines to prevent unbounded growth. */
|
|
22
27
|
export async function recordRoute(baseDir, rec) {
|
|
@@ -32,12 +37,17 @@ export async function recordRoute(baseDir, rec) {
|
|
|
32
37
|
routingMethod: rec.routingMethod.slice(0, 64),
|
|
33
38
|
};
|
|
34
39
|
await fs.appendFile(path, JSON.stringify(safeRec) + '\n', 'utf8');
|
|
35
|
-
// Opportunistic trim:
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
// Opportunistic trim: only read the file when it is large enough to
|
|
41
|
+
// plausibly contain more than MAX_ROUTE_RECORDS lines. The stat() call
|
|
42
|
+
// is cheap (metadata-only); skipping the full read on the common path
|
|
43
|
+
// avoids O(file-size) I/O on every routing call.
|
|
44
|
+
const fileStat = await fs.stat(path).catch(() => null);
|
|
45
|
+
if (fileStat && fileStat.size > MAX_ROUTE_RECORDS * APPROX_BYTES_PER_RECORD) {
|
|
46
|
+
const content = await fs.readFile(path, 'utf8').catch(() => '');
|
|
47
|
+
const lines = content.trim().split('\n').filter(Boolean);
|
|
48
|
+
if (lines.length > MAX_ROUTE_RECORDS) {
|
|
49
|
+
await fs.writeFile(path, lines.slice(-MAX_ROUTE_RECORDS).join('\n') + '\n', 'utf8');
|
|
50
|
+
}
|
|
41
51
|
}
|
|
42
52
|
}
|
|
43
53
|
catch {
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source-of-truth for Claude and third-party model pricing.
|
|
3
|
+
*
|
|
4
|
+
* All values are cost PER TOKEN:
|
|
5
|
+
* in — input tokens
|
|
6
|
+
* out — output tokens
|
|
7
|
+
* cw — cache-write tokens
|
|
8
|
+
* cr — cache-read tokens
|
|
9
|
+
*
|
|
10
|
+
* Consumers: dist/src/ui/collector.mjs and dist/src/ui/server.mjs both
|
|
11
|
+
* derive their inline pricing tables from this canonical list.
|
|
12
|
+
*/
|
|
13
|
+
export interface ModelPrice {
|
|
14
|
+
in: number;
|
|
15
|
+
out: number;
|
|
16
|
+
cw: number;
|
|
17
|
+
cr: number;
|
|
18
|
+
}
|
|
19
|
+
/** Canonical pricing map — union of all models from collector + server tables. */
|
|
20
|
+
export declare const MODEL_PRICING: Record<string, ModelPrice>;
|
|
21
|
+
/**
|
|
22
|
+
* Canonical default model IDs — single source of truth for code that needs
|
|
23
|
+
* to reference a specific tier without hard-coding a string literal.
|
|
24
|
+
*
|
|
25
|
+
* Consumers should import these instead of writing raw model-id strings so
|
|
26
|
+
* that a model upgrade only requires editing this one object.
|
|
27
|
+
*/
|
|
28
|
+
export declare const MODEL_DEFAULTS: {
|
|
29
|
+
/** Fast/cheap routing model (Tier 2). */
|
|
30
|
+
readonly haiku: string;
|
|
31
|
+
/** Balanced capability model (Tier 3 default). */
|
|
32
|
+
readonly sonnet: string;
|
|
33
|
+
/** Most capable model (Tier 3 high). */
|
|
34
|
+
readonly opus: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Resolve a raw model string (may include date suffix or @version) to its
|
|
38
|
+
* pricing entry. Returns `null` when the model is unknown.
|
|
39
|
+
*/
|
|
40
|
+
export declare function getModelPrice(modelId: string): ModelPrice | null;
|
|
41
|
+
//# sourceMappingURL=model-pricing.d.ts.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/** Canonical pricing map — union of all models from collector + server tables. */
|
|
2
|
+
export const MODEL_PRICING = {
|
|
3
|
+
// ── Opus ────────────────────────────────────────────────────────────────────
|
|
4
|
+
'claude-opus-4-8': { in: 5e-6, out: 25e-6, cw: 6.25e-6, cr: 0.5e-6 },
|
|
5
|
+
'claude-opus-4-6': { in: 5e-6, out: 25e-6, cw: 6.25e-6, cr: 0.5e-6 },
|
|
6
|
+
'claude-opus-4-5': { in: 5e-6, out: 25e-6, cw: 6.25e-6, cr: 0.5e-6 },
|
|
7
|
+
'claude-opus-4': { in: 15e-6, out: 75e-6, cw: 18.75e-6, cr: 1.5e-6 },
|
|
8
|
+
// ── Sonnet ──────────────────────────────────────────────────────────────────
|
|
9
|
+
'claude-sonnet-4-6': { in: 3e-6, out: 15e-6, cw: 3.75e-6, cr: 0.3e-6 },
|
|
10
|
+
'claude-sonnet-4-5': { in: 3e-6, out: 15e-6, cw: 3.75e-6, cr: 0.3e-6 },
|
|
11
|
+
'claude-sonnet-4': { in: 3e-6, out: 15e-6, cw: 3.75e-6, cr: 0.3e-6 },
|
|
12
|
+
'claude-3-7-sonnet': { in: 3e-6, out: 15e-6, cw: 3.75e-6, cr: 0.3e-6 },
|
|
13
|
+
'claude-3-5-sonnet': { in: 3e-6, out: 15e-6, cw: 3.75e-6, cr: 0.3e-6 },
|
|
14
|
+
// ── Haiku ───────────────────────────────────────────────────────────────────
|
|
15
|
+
'claude-haiku-4-5': { in: 1e-6, out: 5e-6, cw: 1.25e-6, cr: 0.1e-6 },
|
|
16
|
+
'claude-haiku-4': { in: 0.8e-6, out: 4e-6, cw: 1e-6, cr: 0.08e-6 },
|
|
17
|
+
'claude-3-5-haiku': { in: 0.8e-6, out: 4e-6, cw: 1e-6, cr: 0.08e-6 },
|
|
18
|
+
// ── OpenAI ──────────────────────────────────────────────────────────────────
|
|
19
|
+
'gpt-4o': { in: 2.5e-6, out: 10e-6, cw: 2.5e-6, cr: 1.25e-6 },
|
|
20
|
+
'gpt-4o-mini': { in: 0.15e-6, out: 0.6e-6, cw: 0.15e-6, cr: 0.075e-6 },
|
|
21
|
+
// ── Google ──────────────────────────────────────────────────────────────────
|
|
22
|
+
'gemini-2.5-pro': { in: 1.25e-6, out: 10e-6, cw: 1.25e-6, cr: 0.315e-6 },
|
|
23
|
+
};
|
|
24
|
+
/** Short-name aliases → canonical model keys. */
|
|
25
|
+
const _ALIAS = {
|
|
26
|
+
haiku: 'claude-haiku-4-5',
|
|
27
|
+
sonnet: 'claude-sonnet-4-6',
|
|
28
|
+
opus: 'claude-opus-4-6',
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Canonical default model IDs — single source of truth for code that needs
|
|
32
|
+
* to reference a specific tier without hard-coding a string literal.
|
|
33
|
+
*
|
|
34
|
+
* Consumers should import these instead of writing raw model-id strings so
|
|
35
|
+
* that a model upgrade only requires editing this one object.
|
|
36
|
+
*/
|
|
37
|
+
export const MODEL_DEFAULTS = {
|
|
38
|
+
/** Fast/cheap routing model (Tier 2). */
|
|
39
|
+
haiku: _ALIAS['haiku'],
|
|
40
|
+
/** Balanced capability model (Tier 3 default). */
|
|
41
|
+
sonnet: _ALIAS['sonnet'],
|
|
42
|
+
/** Most capable model (Tier 3 high). */
|
|
43
|
+
opus: _ALIAS['opus'],
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Resolve a raw model string (may include date suffix or @version) to its
|
|
47
|
+
* pricing entry. Returns `null` when the model is unknown.
|
|
48
|
+
*/
|
|
49
|
+
export function getModelPrice(modelId) {
|
|
50
|
+
let key = (modelId || '').replace(/@.*$/, '').replace(/-\d{8}$/, '');
|
|
51
|
+
key = _ALIAS[key] ?? key;
|
|
52
|
+
if (MODEL_PRICING[key])
|
|
53
|
+
return MODEL_PRICING[key];
|
|
54
|
+
// Prefix / substring fallback for versioned model strings
|
|
55
|
+
for (const k of Object.keys(MODEL_PRICING)) {
|
|
56
|
+
if (key.startsWith(k) || key.includes(k))
|
|
57
|
+
return MODEL_PRICING[k];
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=model-pricing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"org":"reengineer-squad","runId":"run-20260624T092343","ts":1782293023632}
|