@nac3/forge-cli 0.2.0-alpha.9 → 1.0.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/README.md +21 -2
- package/dist/a11y/helpers.d.ts +88 -0
- package/dist/a11y/helpers.d.ts.map +1 -0
- package/dist/a11y/helpers.js +109 -0
- package/dist/a11y/helpers.js.map +1 -0
- package/dist/agents/bridge.d.ts +69 -0
- package/dist/agents/bridge.d.ts.map +1 -0
- package/dist/agents/bridge.js +322 -0
- package/dist/agents/bridge.js.map +1 -0
- package/dist/agents/cli_real.d.ts +38 -0
- package/dist/agents/cli_real.d.ts.map +1 -0
- package/dist/agents/cli_real.js +46 -0
- package/dist/agents/cli_real.js.map +1 -0
- package/dist/agents/config_resolver.d.ts +16 -0
- package/dist/agents/config_resolver.d.ts.map +1 -0
- package/dist/agents/config_resolver.js +133 -0
- package/dist/agents/config_resolver.js.map +1 -0
- package/dist/agents/config_schema.d.ts +42 -0
- package/dist/agents/config_schema.d.ts.map +1 -0
- package/dist/agents/config_schema.js +220 -0
- package/dist/agents/config_schema.js.map +1 -0
- package/dist/agents/defaults.d.ts +21 -0
- package/dist/agents/defaults.d.ts.map +1 -0
- package/dist/agents/defaults.js +56 -0
- package/dist/agents/defaults.js.map +1 -0
- package/dist/agents/delegate.d.ts +36 -0
- package/dist/agents/delegate.d.ts.map +1 -0
- package/dist/agents/delegate.js +68 -0
- package/dist/agents/delegate.js.map +1 -0
- package/dist/agents/iterative_step.d.ts +95 -0
- package/dist/agents/iterative_step.d.ts.map +1 -0
- package/dist/agents/iterative_step.js +249 -0
- package/dist/agents/iterative_step.js.map +1 -0
- package/dist/agents/llm_step.d.ts +50 -0
- package/dist/agents/llm_step.d.ts.map +1 -0
- package/dist/agents/llm_step.js +28 -0
- package/dist/agents/llm_step.js.map +1 -0
- package/dist/agents/real_step_factory.d.ts +95 -0
- package/dist/agents/real_step_factory.d.ts.map +1 -0
- package/dist/agents/real_step_factory.js +51 -0
- package/dist/agents/real_step_factory.js.map +1 -0
- package/dist/agents/runner.d.ts +116 -0
- package/dist/agents/runner.d.ts.map +1 -0
- package/dist/agents/runner.js +221 -0
- package/dist/agents/runner.js.map +1 -0
- package/dist/agents/runtime.d.ts +115 -0
- package/dist/agents/runtime.d.ts.map +1 -0
- package/dist/agents/runtime.js +429 -0
- package/dist/agents/runtime.js.map +1 -0
- package/dist/agents/store.d.ts +33 -0
- package/dist/agents/store.d.ts.map +1 -0
- package/dist/agents/store.js +210 -0
- package/dist/agents/store.js.map +1 -0
- package/dist/agents/system_prompt.d.ts +36 -0
- package/dist/agents/system_prompt.d.ts.map +1 -0
- package/dist/agents/system_prompt.js +102 -0
- package/dist/agents/system_prompt.js.map +1 -0
- package/dist/agents/types.d.ts +123 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +39 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/bin/yf.d.ts.map +1 -1
- package/dist/bin/yf.js +119 -2
- package/dist/bin/yf.js.map +1 -1
- package/dist/chat/claude.d.ts +102 -1
- package/dist/chat/claude.d.ts.map +1 -1
- package/dist/chat/claude.js +215 -40
- package/dist/chat/claude.js.map +1 -1
- package/dist/chat/claude_cli.d.ts +155 -0
- package/dist/chat/claude_cli.d.ts.map +1 -0
- package/dist/chat/claude_cli.js +679 -0
- package/dist/chat/claude_cli.js.map +1 -0
- package/dist/chat/completion_hallucination_detector.d.ts +51 -0
- package/dist/chat/completion_hallucination_detector.d.ts.map +1 -0
- package/dist/chat/completion_hallucination_detector.js +131 -0
- package/dist/chat/completion_hallucination_detector.js.map +1 -0
- package/dist/chat/doctrine_digest.d.ts +31 -0
- package/dist/chat/doctrine_digest.d.ts.map +1 -0
- package/dist/chat/doctrine_digest.js +121 -0
- package/dist/chat/doctrine_digest.js.map +1 -0
- package/dist/chat/graph_auto_ingest.d.ts +46 -0
- package/dist/chat/graph_auto_ingest.d.ts.map +1 -0
- package/dist/chat/graph_auto_ingest.js +177 -0
- package/dist/chat/graph_auto_ingest.js.map +1 -0
- package/dist/chat/graph_component_watcher.d.ts +34 -0
- package/dist/chat/graph_component_watcher.d.ts.map +1 -0
- package/dist/chat/graph_component_watcher.js +225 -0
- package/dist/chat/graph_component_watcher.js.map +1 -0
- package/dist/chat/graph_snapshot.d.ts +38 -0
- package/dist/chat/graph_snapshot.d.ts.map +1 -0
- package/dist/chat/graph_snapshot.js +159 -0
- package/dist/chat/graph_snapshot.js.map +1 -0
- package/dist/chat/ingest_session.d.ts +24 -4
- package/dist/chat/ingest_session.d.ts.map +1 -1
- package/dist/chat/ingest_session.js +143 -4
- package/dist/chat/ingest_session.js.map +1 -1
- package/dist/chat/panel.d.ts.map +1 -1
- package/dist/chat/panel.js +10483 -1455
- package/dist/chat/panel.js.map +1 -1
- package/dist/chat/panel_queue.d.ts +43 -0
- package/dist/chat/panel_queue.d.ts.map +1 -0
- package/dist/chat/panel_queue.js +46 -0
- package/dist/chat/panel_queue.js.map +1 -0
- package/dist/chat/project_context_inject.d.ts +10 -0
- package/dist/chat/project_context_inject.d.ts.map +1 -0
- package/dist/chat/project_context_inject.js +119 -0
- package/dist/chat/project_context_inject.js.map +1 -0
- package/dist/chat/project_slug.d.ts +17 -0
- package/dist/chat/project_slug.d.ts.map +1 -0
- package/dist/chat/project_slug.js +103 -0
- package/dist/chat/project_slug.js.map +1 -0
- package/dist/chat/refusal_detector.d.ts +14 -0
- package/dist/chat/refusal_detector.d.ts.map +1 -0
- package/dist/chat/refusal_detector.js +139 -0
- package/dist/chat/refusal_detector.js.map +1 -0
- package/dist/chat/semantic_graph_ingest.d.ts +39 -0
- package/dist/chat/semantic_graph_ingest.d.ts.map +1 -0
- package/dist/chat/semantic_graph_ingest.js +90 -0
- package/dist/chat/semantic_graph_ingest.js.map +1 -0
- package/dist/chat/semantic_graph_inject.d.ts +31 -0
- package/dist/chat/semantic_graph_inject.d.ts.map +1 -0
- package/dist/chat/semantic_graph_inject.js +63 -0
- package/dist/chat/semantic_graph_inject.js.map +1 -0
- package/dist/chat/server.d.ts +99 -2
- package/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +4613 -452
- package/dist/chat/server.js.map +1 -1
- package/dist/chat/session_projects.d.ts +31 -0
- package/dist/chat/session_projects.d.ts.map +1 -0
- package/dist/chat/session_projects.js +36 -0
- package/dist/chat/session_projects.js.map +1 -0
- package/dist/chat/session_store.d.ts +32 -0
- package/dist/chat/session_store.d.ts.map +1 -0
- package/dist/chat/session_store.js +58 -0
- package/dist/chat/session_store.js.map +1 -0
- package/dist/chat/spec_extract.d.ts +1 -2
- package/dist/chat/spec_extract.d.ts.map +1 -1
- package/dist/chat/spec_extract.js +41 -56
- package/dist/chat/spec_extract.js.map +1 -1
- package/dist/chat/spec_plan.d.ts +1 -2
- package/dist/chat/spec_plan.d.ts.map +1 -1
- package/dist/chat/spec_plan.js +36 -57
- package/dist/chat/spec_plan.js.map +1 -1
- package/dist/chat/tooling_section.d.ts +11 -0
- package/dist/chat/tooling_section.d.ts.map +1 -0
- package/dist/chat/tooling_section.js +70 -0
- package/dist/chat/tooling_section.js.map +1 -0
- package/dist/chat/tools/app_backend_dispatch.d.ts +39 -0
- package/dist/chat/tools/app_backend_dispatch.d.ts.map +1 -0
- package/dist/chat/tools/app_backend_dispatch.js +282 -0
- package/dist/chat/tools/app_backend_dispatch.js.map +1 -0
- package/dist/chat/tools/fs_editor.d.ts +11 -0
- package/dist/chat/tools/fs_editor.d.ts.map +1 -0
- package/dist/chat/tools/fs_editor.js +212 -0
- package/dist/chat/tools/fs_editor.js.map +1 -0
- package/dist/chat/tools/git.d.ts +24 -0
- package/dist/chat/tools/git.d.ts.map +1 -1
- package/dist/chat/tools/git.js +78 -0
- package/dist/chat/tools/git.js.map +1 -1
- package/dist/chat/tools/graph.d.ts +43 -0
- package/dist/chat/tools/graph.d.ts.map +1 -0
- package/dist/chat/tools/graph.js +174 -0
- package/dist/chat/tools/graph.js.map +1 -0
- package/dist/chat/tools/keys.d.ts +9 -0
- package/dist/chat/tools/keys.d.ts.map +1 -0
- package/dist/chat/tools/keys.js +156 -0
- package/dist/chat/tools/keys.js.map +1 -0
- package/dist/chat/tools/misc_verbs.d.ts +36 -0
- package/dist/chat/tools/misc_verbs.d.ts.map +1 -0
- package/dist/chat/tools/misc_verbs.js +405 -0
- package/dist/chat/tools/misc_verbs.js.map +1 -0
- package/dist/chat/tools/nac3_invoke.d.ts +58 -0
- package/dist/chat/tools/nac3_invoke.d.ts.map +1 -0
- package/dist/chat/tools/nac3_invoke.js +896 -0
- package/dist/chat/tools/nac3_invoke.js.map +1 -0
- package/dist/chat/tools/pending.d.ts +69 -0
- package/dist/chat/tools/pending.d.ts.map +1 -0
- package/dist/chat/tools/pending.js +167 -0
- package/dist/chat/tools/pending.js.map +1 -0
- package/dist/chat/tools/pizarron.d.ts +40 -0
- package/dist/chat/tools/pizarron.d.ts.map +1 -0
- package/dist/chat/tools/pizarron.js +123 -0
- package/dist/chat/tools/pizarron.js.map +1 -0
- package/dist/chat/tools/project_lifecycle.d.ts +24 -0
- package/dist/chat/tools/project_lifecycle.d.ts.map +1 -0
- package/dist/chat/tools/project_lifecycle.js +212 -0
- package/dist/chat/tools/project_lifecycle.js.map +1 -0
- package/dist/chat/tools/reader.d.ts.map +1 -1
- package/dist/chat/tools/reader.js +144 -1
- package/dist/chat/tools/reader.js.map +1 -1
- package/dist/chat/tools/shell.d.ts +64 -0
- package/dist/chat/tools/shell.d.ts.map +1 -0
- package/dist/chat/tools/shell.js +292 -0
- package/dist/chat/tools/shell.js.map +1 -0
- package/dist/chat/tools/wiring.d.ts +28 -0
- package/dist/chat/tools/wiring.d.ts.map +1 -0
- package/dist/chat/tools/wiring.js +116 -0
- package/dist/chat/tools/wiring.js.map +1 -0
- package/dist/chat/tools/workflow.d.ts +75 -0
- package/dist/chat/tools/workflow.d.ts.map +1 -0
- package/dist/chat/tools/workflow.js +561 -0
- package/dist/chat/tools/workflow.js.map +1 -0
- package/dist/chat/tools.d.ts +42 -0
- package/dist/chat/tools.d.ts.map +1 -1
- package/dist/chat/tools.js +525 -16
- package/dist/chat/tools.js.map +1 -1
- package/dist/chat/turn_control.d.ts +42 -0
- package/dist/chat/turn_control.d.ts.map +1 -0
- package/dist/chat/turn_control.js +53 -0
- package/dist/chat/turn_control.js.map +1 -0
- package/dist/chat/wiring_inject.d.ts +18 -0
- package/dist/chat/wiring_inject.d.ts.map +1 -0
- package/dist/chat/wiring_inject.js +78 -0
- package/dist/chat/wiring_inject.js.map +1 -0
- package/dist/chat/workflow_inject.d.ts +52 -0
- package/dist/chat/workflow_inject.d.ts.map +1 -0
- package/dist/chat/workflow_inject.js +346 -0
- package/dist/chat/workflow_inject.js.map +1 -0
- package/dist/chat/yujin_splash.d.ts +27 -0
- package/dist/chat/yujin_splash.d.ts.map +1 -0
- package/dist/chat/yujin_splash.js +147 -0
- package/dist/chat/yujin_splash.js.map +1 -0
- package/dist/commands/agent.d.ts +33 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +281 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/approve.d.ts +32 -0
- package/dist/commands/approve.d.ts.map +1 -0
- package/dist/commands/approve.js +198 -0
- package/dist/commands/approve.js.map +1 -0
- package/dist/commands/block.d.ts +28 -0
- package/dist/commands/block.d.ts.map +1 -0
- package/dist/commands/block.js +189 -0
- package/dist/commands/block.js.map +1 -0
- package/dist/commands/bootstrap.d.ts +35 -0
- package/dist/commands/bootstrap.d.ts.map +1 -0
- package/dist/commands/bootstrap.js +205 -0
- package/dist/commands/bootstrap.js.map +1 -0
- package/dist/commands/brain.d.ts +17 -0
- package/dist/commands/brain.d.ts.map +1 -0
- package/dist/commands/brain.js +129 -0
- package/dist/commands/brain.js.map +1 -0
- package/dist/commands/chat.d.ts +10 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +265 -22
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/clarify.d.ts +30 -0
- package/dist/commands/clarify.d.ts.map +1 -0
- package/dist/commands/clarify.js +671 -0
- package/dist/commands/clarify.js.map +1 -0
- package/dist/commands/director.d.ts +37 -0
- package/dist/commands/director.d.ts.map +1 -0
- package/dist/commands/director.js +290 -0
- package/dist/commands/director.js.map +1 -0
- package/dist/commands/discover.d.ts +30 -0
- package/dist/commands/discover.d.ts.map +1 -0
- package/dist/commands/discover.js +178 -0
- package/dist/commands/discover.js.map +1 -0
- package/dist/commands/doctor.d.ts +18 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +120 -4
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/doctrine.d.ts +24 -0
- package/dist/commands/doctrine.d.ts.map +1 -0
- package/dist/commands/doctrine.js +106 -0
- package/dist/commands/doctrine.js.map +1 -0
- package/dist/commands/doctrines.d.ts +21 -0
- package/dist/commands/doctrines.d.ts.map +1 -0
- package/dist/commands/doctrines.js +158 -0
- package/dist/commands/doctrines.js.map +1 -0
- package/dist/commands/graph.d.ts +29 -0
- package/dist/commands/graph.d.ts.map +1 -0
- package/dist/commands/graph.js +362 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/keys_setup.d.ts +11 -11
- package/dist/commands/keys_setup.d.ts.map +1 -1
- package/dist/commands/keys_setup.js +149 -109
- package/dist/commands/keys_setup.js.map +1 -1
- package/dist/commands/legacy-audit.d.ts +34 -0
- package/dist/commands/legacy-audit.d.ts.map +1 -0
- package/dist/commands/legacy-audit.js +270 -0
- package/dist/commands/legacy-audit.js.map +1 -0
- package/dist/commands/lessons.d.ts +28 -0
- package/dist/commands/lessons.d.ts.map +1 -0
- package/dist/commands/lessons.js +309 -0
- package/dist/commands/lessons.js.map +1 -0
- package/dist/commands/license.d.ts.map +1 -1
- package/dist/commands/license.js +94 -15
- package/dist/commands/license.js.map +1 -1
- package/dist/commands/limits.d.ts +15 -0
- package/dist/commands/limits.d.ts.map +1 -0
- package/dist/commands/limits.js +51 -0
- package/dist/commands/limits.js.map +1 -0
- package/dist/commands/manifest-cli.d.ts +12 -0
- package/dist/commands/manifest-cli.d.ts.map +1 -0
- package/dist/commands/manifest-cli.js +42 -0
- package/dist/commands/manifest-cli.js.map +1 -0
- package/dist/commands/mcp.d.ts +24 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +219 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/mobile.d.ts +15 -0
- package/dist/commands/mobile.d.ts.map +1 -1
- package/dist/commands/mobile.js +50 -43
- package/dist/commands/mobile.js.map +1 -1
- package/dist/commands/nac3.d.ts +22 -0
- package/dist/commands/nac3.d.ts.map +1 -0
- package/dist/commands/nac3.js +125 -0
- package/dist/commands/nac3.js.map +1 -0
- package/dist/commands/onboard.d.ts +19 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +126 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/commands/operate.d.ts +22 -0
- package/dist/commands/operate.d.ts.map +1 -0
- package/dist/commands/operate.js +523 -0
- package/dist/commands/operate.js.map +1 -0
- package/dist/commands/pending.d.ts +22 -0
- package/dist/commands/pending.d.ts.map +1 -0
- package/dist/commands/pending.js +365 -0
- package/dist/commands/pending.js.map +1 -0
- package/dist/commands/projects.js +25 -1
- package/dist/commands/projects.js.map +1 -1
- package/dist/commands/qa.d.ts +24 -0
- package/dist/commands/qa.d.ts.map +1 -0
- package/dist/commands/qa.js +349 -0
- package/dist/commands/qa.js.map +1 -0
- package/dist/commands/review-screens.js +28 -1
- package/dist/commands/review-screens.js.map +1 -1
- package/dist/commands/spec.d.ts +38 -0
- package/dist/commands/spec.d.ts.map +1 -0
- package/dist/commands/spec.js +256 -0
- package/dist/commands/spec.js.map +1 -0
- package/dist/commands/support.d.ts +22 -0
- package/dist/commands/support.d.ts.map +1 -0
- package/dist/commands/support.js +165 -0
- package/dist/commands/support.js.map +1 -0
- package/dist/commands/test_agent.d.ts +22 -0
- package/dist/commands/test_agent.d.ts.map +1 -0
- package/dist/commands/test_agent.js +100 -0
- package/dist/commands/test_agent.js.map +1 -0
- package/dist/commands/triage.d.ts +34 -0
- package/dist/commands/triage.d.ts.map +1 -0
- package/dist/commands/triage.js +228 -0
- package/dist/commands/triage.js.map +1 -0
- package/dist/commands/vault-inventory.d.ts +30 -0
- package/dist/commands/vault-inventory.d.ts.map +1 -0
- package/dist/commands/vault-inventory.js +222 -0
- package/dist/commands/vault-inventory.js.map +1 -0
- package/dist/commands/vault.d.ts.map +1 -1
- package/dist/commands/vault.js +5 -0
- package/dist/commands/vault.js.map +1 -1
- package/dist/commands/voice.d.ts.map +1 -1
- package/dist/commands/voice.js +47 -4
- package/dist/commands/voice.js.map +1 -1
- package/dist/commands/wiring.d.ts +19 -0
- package/dist/commands/wiring.d.ts.map +1 -0
- package/dist/commands/wiring.js +135 -0
- package/dist/commands/wiring.js.map +1 -0
- package/dist/commands/workflow-coverage.d.ts +30 -0
- package/dist/commands/workflow-coverage.d.ts.map +1 -0
- package/dist/commands/workflow-coverage.js +138 -0
- package/dist/commands/workflow-coverage.js.map +1 -0
- package/dist/commands/workflow.d.ts +18 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +253 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/core/ansi_strip.d.ts +39 -0
- package/dist/core/ansi_strip.d.ts.map +1 -0
- package/dist/core/ansi_strip.js +71 -0
- package/dist/core/ansi_strip.js.map +1 -0
- package/dist/core/atomic_write.d.ts +17 -0
- package/dist/core/atomic_write.d.ts.map +1 -0
- package/dist/core/atomic_write.js +51 -0
- package/dist/core/atomic_write.js.map +1 -0
- package/dist/core/audit_log.d.ts +43 -0
- package/dist/core/audit_log.d.ts.map +1 -0
- package/dist/core/audit_log.js +80 -0
- package/dist/core/audit_log.js.map +1 -0
- package/dist/core/brain_config.d.ts +52 -0
- package/dist/core/brain_config.d.ts.map +1 -0
- package/dist/core/brain_config.js +157 -0
- package/dist/core/brain_config.js.map +1 -0
- package/dist/core/budget.d.ts +96 -0
- package/dist/core/budget.d.ts.map +1 -0
- package/dist/core/budget.js +328 -0
- package/dist/core/budget.js.map +1 -0
- package/dist/core/cf_tunnel.d.ts.map +1 -1
- package/dist/core/cf_tunnel.js +8 -2
- package/dist/core/cf_tunnel.js.map +1 -1
- package/dist/core/cost_meter.d.ts +35 -0
- package/dist/core/cost_meter.d.ts.map +1 -0
- package/dist/core/cost_meter.js +111 -0
- package/dist/core/cost_meter.js.map +1 -0
- package/dist/core/cost_router.d.ts +106 -0
- package/dist/core/cost_router.d.ts.map +1 -0
- package/dist/core/cost_router.js +598 -0
- package/dist/core/cost_router.js.map +1 -0
- package/dist/core/desktop_open.d.ts +16 -0
- package/dist/core/desktop_open.d.ts.map +1 -0
- package/dist/core/desktop_open.js +114 -0
- package/dist/core/desktop_open.js.map +1 -0
- package/dist/core/doctrine_resolver.d.ts +23 -0
- package/dist/core/doctrine_resolver.d.ts.map +1 -0
- package/dist/core/doctrine_resolver.js +108 -0
- package/dist/core/doctrine_resolver.js.map +1 -0
- package/dist/core/error_catalog.d.ts +80 -0
- package/dist/core/error_catalog.d.ts.map +1 -0
- package/dist/core/error_catalog.js +168 -0
- package/dist/core/error_catalog.js.map +1 -0
- package/dist/core/error_formatter.d.ts +30 -0
- package/dist/core/error_formatter.d.ts.map +1 -0
- package/dist/core/error_formatter.js +155 -0
- package/dist/core/error_formatter.js.map +1 -0
- package/dist/core/incomplete_detector.d.ts +51 -0
- package/dist/core/incomplete_detector.d.ts.map +1 -0
- package/dist/core/incomplete_detector.js +140 -0
- package/dist/core/incomplete_detector.js.map +1 -0
- package/dist/core/keys_envelope.d.ts.map +1 -1
- package/dist/core/keys_envelope.js +19 -10
- package/dist/core/keys_envelope.js.map +1 -1
- package/dist/core/learnings_client.d.ts +104 -0
- package/dist/core/learnings_client.d.ts.map +1 -0
- package/dist/core/learnings_client.js +262 -0
- package/dist/core/learnings_client.js.map +1 -0
- package/dist/core/limits_config.d.ts +81 -0
- package/dist/core/limits_config.d.ts.map +1 -0
- package/dist/core/limits_config.js +302 -0
- package/dist/core/limits_config.js.map +1 -0
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +3 -0
- package/dist/core/logger.js.map +1 -1
- package/dist/core/pairing.d.ts +7 -0
- package/dist/core/pairing.d.ts.map +1 -1
- package/dist/core/pairing.js +64 -14
- package/dist/core/pairing.js.map +1 -1
- package/dist/core/pilot_setup.d.ts +29 -3
- package/dist/core/pilot_setup.d.ts.map +1 -1
- package/dist/core/pilot_setup.js +130 -3
- package/dist/core/pilot_setup.js.map +1 -1
- package/dist/core/provider_keys.d.ts +35 -0
- package/dist/core/provider_keys.d.ts.map +1 -0
- package/dist/core/provider_keys.js +280 -0
- package/dist/core/provider_keys.js.map +1 -0
- package/dist/core/provider_models.d.ts +27 -0
- package/dist/core/provider_models.d.ts.map +1 -0
- package/dist/core/provider_models.js +169 -0
- package/dist/core/provider_models.js.map +1 -0
- package/dist/core/reasoning_gate.d.ts +72 -0
- package/dist/core/reasoning_gate.d.ts.map +1 -0
- package/dist/core/reasoning_gate.js +205 -0
- package/dist/core/reasoning_gate.js.map +1 -0
- package/dist/core/shell_classifier.d.ts +49 -0
- package/dist/core/shell_classifier.d.ts.map +1 -0
- package/dist/core/shell_classifier.js +159 -0
- package/dist/core/shell_classifier.js.map +1 -0
- package/dist/core/sq_resolver.d.ts +14 -0
- package/dist/core/sq_resolver.d.ts.map +1 -0
- package/dist/core/sq_resolver.js +230 -0
- package/dist/core/sq_resolver.js.map +1 -0
- package/dist/core/truncation_detector.d.ts +68 -0
- package/dist/core/truncation_detector.d.ts.map +1 -0
- package/dist/core/truncation_detector.js +115 -0
- package/dist/core/truncation_detector.js.map +1 -0
- package/dist/core/turn_classifier.d.ts +70 -0
- package/dist/core/turn_classifier.d.ts.map +1 -0
- package/dist/core/turn_classifier.js +324 -0
- package/dist/core/turn_classifier.js.map +1 -0
- package/dist/core/vad_config.d.ts +34 -0
- package/dist/core/vad_config.d.ts.map +1 -0
- package/dist/core/vad_config.js +95 -0
- package/dist/core/vad_config.js.map +1 -0
- package/dist/core/whats_new.d.ts +42 -0
- package/dist/core/whats_new.d.ts.map +1 -0
- package/dist/core/whats_new.js +214 -0
- package/dist/core/whats_new.js.map +1 -0
- package/dist/core/wizard_state.d.ts +15 -0
- package/dist/core/wizard_state.d.ts.map +1 -0
- package/dist/core/wizard_state.js +86 -0
- package/dist/core/wizard_state.js.map +1 -0
- package/dist/deploy/adapter.d.ts +93 -0
- package/dist/deploy/adapter.d.ts.map +1 -0
- package/dist/deploy/adapter.js +42 -0
- package/dist/deploy/adapter.js.map +1 -0
- package/dist/deploy/aws_adapter.d.ts +28 -0
- package/dist/deploy/aws_adapter.d.ts.map +1 -0
- package/dist/deploy/aws_adapter.js +98 -0
- package/dist/deploy/aws_adapter.js.map +1 -0
- package/dist/deploy/cloudflare.d.ts +24 -0
- package/dist/deploy/cloudflare.d.ts.map +1 -0
- package/dist/deploy/cloudflare.js +180 -0
- package/dist/deploy/cloudflare.js.map +1 -0
- package/dist/design/yujin_design_resolver.d.ts +93 -0
- package/dist/design/yujin_design_resolver.d.ts.map +1 -0
- package/dist/design/yujin_design_resolver.js +196 -0
- package/dist/design/yujin_design_resolver.js.map +1 -0
- package/dist/docs/LIMITED_RESPONSIBILITY.md +216 -0
- package/dist/docs/PRIVACY_POLICY.md +169 -0
- package/dist/docs/SQ.md +1397 -0
- package/dist/docs/SQ_BY_STEP.yaml +147 -0
- package/dist/docs/doctrine/accessibility.md +78 -0
- package/dist/docs/doctrine/agent-orchestrator.md +76 -0
- package/dist/docs/doctrine/byok-vs-managed.md +81 -0
- package/dist/docs/doctrine/cost-router-escalation.md +103 -0
- package/dist/docs/doctrine/default-design-system.md +152 -0
- package/dist/docs/doctrine/explain-results.md +90 -0
- package/dist/docs/doctrine/expo-eas-builds.md +177 -0
- package/dist/docs/doctrine/g-doc.md +46 -0
- package/dist/docs/doctrine/gates.md +21 -0
- package/dist/docs/doctrine/language-sovereignty.md +143 -0
- package/dist/docs/doctrine/lessons-workflow.md +68 -0
- package/dist/docs/doctrine/mcp-bridge-lifecycle.md +75 -0
- package/dist/docs/doctrine/nac3-attrs.md +23 -0
- package/dist/docs/doctrine/office-tools.md +122 -0
- package/dist/docs/doctrine/pizarron.md +52 -0
- package/dist/docs/doctrine/r8-modal.md +60 -0
- package/dist/docs/doctrine/safety-refusals.md +73 -0
- package/dist/docs/doctrine/testing-policy.md +211 -0
- package/dist/docs/doctrine/verb-composition.md +84 -0
- package/dist/docs/doctrine/verification-honesty.md +95 -0
- package/dist/docs/doctrine/workflow-kinds.md +69 -0
- package/dist/docs/doctrine/workflow-phases.md +108 -0
- package/dist/docs/doctrine/workflow.md +66 -0
- package/dist/docs/doctrine/yf-commands.md +49 -0
- package/dist/json/query.d.ts +38 -0
- package/dist/json/query.d.ts.map +1 -0
- package/dist/json/query.js +177 -0
- package/dist/json/query.js.map +1 -0
- package/dist/license/auto_sync.d.ts +22 -0
- package/dist/license/auto_sync.d.ts.map +1 -0
- package/dist/license/auto_sync.js +91 -0
- package/dist/license/auto_sync.js.map +1 -0
- package/dist/license/handle_key.d.ts +32 -0
- package/dist/license/handle_key.d.ts.map +1 -0
- package/dist/license/handle_key.js +56 -0
- package/dist/license/handle_key.js.map +1 -0
- package/dist/license/hito4_client.d.ts +7 -0
- package/dist/license/hito4_client.d.ts.map +1 -1
- package/dist/license/hito4_client.js +113 -25
- package/dist/license/hito4_client.js.map +1 -1
- package/dist/license/sync.d.ts +59 -0
- package/dist/license/sync.d.ts.map +1 -0
- package/dist/license/sync.js +148 -0
- package/dist/license/sync.js.map +1 -0
- package/dist/llm/cohere_client.d.ts +81 -0
- package/dist/llm/cohere_client.d.ts.map +1 -0
- package/dist/llm/cohere_client.js +195 -0
- package/dist/llm/cohere_client.js.map +1 -0
- package/dist/llm/deepseek_client.d.ts +63 -0
- package/dist/llm/deepseek_client.d.ts.map +1 -0
- package/dist/llm/deepseek_client.js +188 -0
- package/dist/llm/deepseek_client.js.map +1 -0
- package/dist/llm/gemini_client.d.ts +78 -0
- package/dist/llm/gemini_client.d.ts.map +1 -0
- package/dist/llm/gemini_client.js +192 -0
- package/dist/llm/gemini_client.js.map +1 -0
- package/dist/llm/managed_client.d.ts +70 -0
- package/dist/llm/managed_client.d.ts.map +1 -0
- package/dist/llm/managed_client.js +256 -0
- package/dist/llm/managed_client.js.map +1 -0
- package/dist/llm/mistral_client.d.ts +54 -0
- package/dist/llm/mistral_client.d.ts.map +1 -0
- package/dist/llm/mistral_client.js +174 -0
- package/dist/llm/mistral_client.js.map +1 -0
- package/dist/llm/multi_provider_client.d.ts +57 -0
- package/dist/llm/multi_provider_client.d.ts.map +1 -0
- package/dist/llm/multi_provider_client.js +109 -0
- package/dist/llm/multi_provider_client.js.map +1 -0
- package/dist/llm/openai_client.d.ts +77 -0
- package/dist/llm/openai_client.d.ts.map +1 -0
- package/dist/llm/openai_client.js +200 -0
- package/dist/llm/openai_client.js.map +1 -0
- package/dist/llm/xai_client.d.ts +51 -0
- package/dist/llm/xai_client.d.ts.map +1 -0
- package/dist/llm/xai_client.js +174 -0
- package/dist/llm/xai_client.js.map +1 -0
- package/dist/mcp/blocklist.d.ts +19 -0
- package/dist/mcp/blocklist.d.ts.map +1 -0
- package/dist/mcp/blocklist.js +118 -0
- package/dist/mcp/blocklist.js.map +1 -0
- package/dist/mcp/bridge_registry.d.ts +77 -0
- package/dist/mcp/bridge_registry.d.ts.map +1 -0
- package/dist/mcp/bridge_registry.js +220 -0
- package/dist/mcp/bridge_registry.js.map +1 -0
- package/dist/mcp/config.d.ts +25 -0
- package/dist/mcp/config.d.ts.map +1 -0
- package/dist/mcp/config.js +116 -0
- package/dist/mcp/config.js.map +1 -0
- package/dist/mcp/forge_panel_server.d.ts +46 -0
- package/dist/mcp/forge_panel_server.d.ts.map +1 -0
- package/dist/mcp/forge_panel_server.js +166 -0
- package/dist/mcp/forge_panel_server.js.map +1 -0
- package/dist/mcp/lan_scan.d.ts +36 -0
- package/dist/mcp/lan_scan.d.ts.map +1 -0
- package/dist/mcp/lan_scan.js +130 -0
- package/dist/mcp/lan_scan.js.map +1 -0
- package/dist/mcp/plan_bridges.d.ts +17 -0
- package/dist/mcp/plan_bridges.d.ts.map +1 -0
- package/dist/mcp/plan_bridges.js +119 -0
- package/dist/mcp/plan_bridges.js.map +1 -0
- package/dist/mcp/protocol_client.d.ts +63 -0
- package/dist/mcp/protocol_client.d.ts.map +1 -0
- package/dist/mcp/protocol_client.js +340 -0
- package/dist/mcp/protocol_client.js.map +1 -0
- package/dist/mcp/state.d.ts +38 -0
- package/dist/mcp/state.d.ts.map +1 -0
- package/dist/mcp/state.js +144 -0
- package/dist/mcp/state.js.map +1 -0
- package/dist/migrate/ai-apply.d.ts.map +1 -1
- package/dist/migrate/ai-apply.js +25 -2
- package/dist/migrate/ai-apply.js.map +1 -1
- package/dist/migrate/ai-decorator.d.ts.map +1 -1
- package/dist/migrate/ai-decorator.js +55 -143
- package/dist/migrate/ai-decorator.js.map +1 -1
- package/dist/nac3/approval_queue.d.ts +44 -0
- package/dist/nac3/approval_queue.d.ts.map +1 -0
- package/dist/nac3/approval_queue.js +105 -0
- package/dist/nac3/approval_queue.js.map +1 -0
- package/dist/nac3/backend_tools.d.ts +89 -0
- package/dist/nac3/backend_tools.d.ts.map +1 -0
- package/dist/nac3/backend_tools.js +271 -0
- package/dist/nac3/backend_tools.js.map +1 -0
- package/dist/nac3/dispatch_log.d.ts +35 -0
- package/dist/nac3/dispatch_log.d.ts.map +1 -0
- package/dist/nac3/dispatch_log.js +126 -0
- package/dist/nac3/dispatch_log.js.map +1 -0
- package/dist/nac3/internal_manifest.d.ts +62 -0
- package/dist/nac3/internal_manifest.d.ts.map +1 -0
- package/dist/nac3/internal_manifest.js +2651 -0
- package/dist/nac3/internal_manifest.js.map +1 -0
- package/dist/nac3/manifest_lazy.d.ts +71 -0
- package/dist/nac3/manifest_lazy.d.ts.map +1 -0
- package/dist/nac3/manifest_lazy.js +141 -0
- package/dist/nac3/manifest_lazy.js.map +1 -0
- package/dist/nac3/verb_tier_map.d.ts +80 -0
- package/dist/nac3/verb_tier_map.d.ts.map +1 -0
- package/dist/nac3/verb_tier_map.js +162 -0
- package/dist/nac3/verb_tier_map.js.map +1 -0
- package/dist/office/excel.d.ts +132 -0
- package/dist/office/excel.d.ts.map +1 -0
- package/dist/office/excel.js +358 -0
- package/dist/office/excel.js.map +1 -0
- package/dist/office/pdf.d.ts +35 -0
- package/dist/office/pdf.d.ts.map +1 -0
- package/dist/office/pdf.js +70 -0
- package/dist/office/pdf.js.map +1 -0
- package/dist/office/word.d.ts +64 -0
- package/dist/office/word.d.ts.map +1 -0
- package/dist/office/word.js +243 -0
- package/dist/office/word.js.map +1 -0
- package/dist/onboarding/concierge_client.d.ts +34 -0
- package/dist/onboarding/concierge_client.d.ts.map +1 -0
- package/dist/onboarding/concierge_client.js +80 -0
- package/dist/onboarding/concierge_client.js.map +1 -0
- package/dist/onboarding/next_step.d.ts +32 -0
- package/dist/onboarding/next_step.d.ts.map +1 -0
- package/dist/onboarding/next_step.js +60 -0
- package/dist/onboarding/next_step.js.map +1 -0
- package/dist/pending/store.d.ts +79 -0
- package/dist/pending/store.d.ts.map +1 -0
- package/dist/pending/store.js +293 -0
- package/dist/pending/store.js.map +1 -0
- package/dist/pending/types.d.ts +131 -0
- package/dist/pending/types.d.ts.map +1 -0
- package/dist/pending/types.js +60 -0
- package/dist/pending/types.js.map +1 -0
- package/dist/qa/brain_matrix/ab_runner.d.ts +44 -0
- package/dist/qa/brain_matrix/ab_runner.d.ts.map +1 -0
- package/dist/qa/brain_matrix/ab_runner.js +144 -0
- package/dist/qa/brain_matrix/ab_runner.js.map +1 -0
- package/dist/qa/brain_matrix/brains.json +80 -0
- package/dist/qa/brain_matrix/compare.d.ts +27 -0
- package/dist/qa/brain_matrix/compare.d.ts.map +1 -0
- package/dist/qa/brain_matrix/compare.js +122 -0
- package/dist/qa/brain_matrix/compare.js.map +1 -0
- package/dist/qa/brain_matrix/fake_brain.d.ts +36 -0
- package/dist/qa/brain_matrix/fake_brain.d.ts.map +1 -0
- package/dist/qa/brain_matrix/fake_brain.js +27 -0
- package/dist/qa/brain_matrix/fake_brain.js.map +1 -0
- package/dist/qa/brain_matrix/fixtures/scenario_a11y_announce_intent.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_a11y_announce_no_speak_default.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_a11y_consecutive_announces.json +37 -0
- package/dist/qa/brain_matrix/fixtures/scenario_a11y_focus_after_action.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_a11y_focus_after_open.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_a11y_label_unlabeled_button.json +26 -0
- package/dist/qa/brain_matrix/fixtures/scenario_a11y_label_with_shortcut.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_agent_director_consults_workflow_before_dispatch.json +42 -0
- package/dist/qa/brain_matrix/fixtures/scenario_analyst_extracts_then_returns.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_announce_min_tool_calls.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_app_invoke_happy_path.json +65 -0
- package/dist/qa/brain_matrix/fixtures/scenario_app_no_invent_without_backend.json +18 -0
- package/dist/qa/brain_matrix/fixtures/scenario_app_schema_fail_recover.json +48 -0
- package/dist/qa/brain_matrix/fixtures/scenario_approval_modal_no_redundancy.json +21 -0
- package/dist/qa/brain_matrix/fixtures/scenario_args_redacted_in_audit.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_audit_consumers_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_audit_consumers_intent_en.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_audit_log_on_destructive.json +18 -0
- package/dist/qa/brain_matrix/fixtures/scenario_brain_explains_after_invoke.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_byok_on_managed_brain_overflow.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_byok_required_policy.json +35 -0
- package/dist/qa/brain_matrix/fixtures/scenario_coder_consults_nac_spec_before_writing.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_concise_no_loop.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_consult_nac_spec_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_contradiction_rfp_cost.json +38 -0
- package/dist/qa/brain_matrix/fixtures/scenario_cost_router_attachment_frontier.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_cost_router_escalation_explicit.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_cost_router_idle_reset.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_csv_via_excel_read.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_default_design_system_override_shadcn.json +45 -0
- package/dist/qa/brain_matrix/fixtures/scenario_default_design_system_use_card_template.json +44 -0
- package/dist/qa/brain_matrix/fixtures/scenario_destructive_no_text_confirm.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_diff_explains_changes.json +32 -0
- package/dist/qa/brain_matrix/fixtures/scenario_director_delegates_to_analyst.json +26 -0
- package/dist/qa/brain_matrix/fixtures/scenario_director_no_self_delegation.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_director_terminal_done_marker.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_after_unknown_intent.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_a11y.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_agent_orchestrator.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_byok_vs_managed.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_cost_router.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_default_design_system.json +50 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_g_doc.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_gates.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_intent_en.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_language_sovereignty.json +53 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_lessons_workflow.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_mcp_lifecycle.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_nac3_attrs.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_office.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_pizarron.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_r8_modal.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_testing_policy.json +55 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_workflow.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_workflow_phases.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_yf_commands.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_explain_results.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_safety_refusals.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_doctrine_verb_composition.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_eco_defers_complex.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_eco_short_query.json +27 -0
- package/dist/qa/brain_matrix/fixtures/scenario_env_list_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_env_list_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_env_no_secret_leak.json +21 -0
- package/dist/qa/brain_matrix/fixtures/scenario_env_secret_suppression.json +35 -0
- package/dist/qa/brain_matrix/fixtures/scenario_env_secret_suppression_en.json +21 -0
- package/dist/qa/brain_matrix/fixtures/scenario_excel_append_handles_csv_refusal.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_excel_append_sheet_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_excel_append_sheet_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_excel_append_then_list.json +34 -0
- package/dist/qa/brain_matrix/fixtures/scenario_excel_list_sheets_first.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_excel_sheet_named.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_explain_voice_yes.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_explains_forge_error.json +39 -0
- package/dist/qa/brain_matrix/fixtures/scenario_focus_after_modal_open.json +29 -0
- package/dist/qa/brain_matrix/fixtures/scenario_fs_find_intent.json +21 -0
- package/dist/qa/brain_matrix/fixtures/scenario_fs_find_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_fs_find_with_glob.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_fs_mkdir_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_fs_move_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_fs_read_handles_missing.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_fs_stat_before_read.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_generated_app_nac3_default.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_git_branch_list_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_git_diff_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_git_log_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_git_log_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_git_pull_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_git_push_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_git_show_metadata_only.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_git_status_branch_combo.json +44 -0
- package/dist/qa/brain_matrix/fixtures/scenario_git_status_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_git_status_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_github_clone_repo_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_github_create_repo_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_id_format_in_reply.json +27 -0
- package/dist/qa/brain_matrix/fixtures/scenario_iterations_idempotent_adenda.json +27 -0
- package/dist/qa/brain_matrix/fixtures/scenario_iterations_query_history.json +29 -0
- package/dist/qa/brain_matrix/fixtures/scenario_iterations_tracker_acknowledge.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_json_parse_handles_malformed.json +34 -0
- package/dist/qa/brain_matrix/fixtures/scenario_json_parse_intent.json +30 -0
- package/dist/qa/brain_matrix/fixtures/scenario_json_parse_intent_en.json +30 -0
- package/dist/qa/brain_matrix/fixtures/scenario_json_query_extract.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_json_stringify_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_json_stringify_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_keys_set_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_keys_status_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_keys_status_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_language_sovereignty_not_conducive_spa_python.json +61 -0
- package/dist/qa/brain_matrix/fixtures/scenario_language_sovereignty_user_picks_python.json +48 -0
- package/dist/qa/brain_matrix/fixtures/scenario_lazy_complex_verb.json +27 -0
- package/dist/qa/brain_matrix/fixtures/scenario_lazy_doctrine_only_when_needed.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_lazy_simple_verb.json +21 -0
- package/dist/qa/brain_matrix/fixtures/scenario_lesson_recall_overrides.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_restart_app_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_run_app_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_run_app_intent_en.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_stop_app_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_stop_app_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_long_doctrine_no_truncate.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_manifest_read_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_manual_open_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_bridge_unreachable_graceful.json +39 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_disabled_bridge_no_verbs.json +18 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_discover_tools_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_invariant_1_no_verbs.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_destructive_pauses_for_r8.json +42 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_happy_path_writes_pizarron.json +76 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_network_timeout_graceful.json +41 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_two_hop.json +68 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_with_auth_loaded.json +76 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_revoked_token_graceful.json +33 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_set_creds_intent.json +21 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_set_creds_no_token_arg.json +27 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_show_tools_before_invoke.json +44 -0
- package/dist/qa/brain_matrix/fixtures/scenario_mcp_toggle_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_multi_turn_clarify_then_act.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_nac3_attrs_doctrine.json +53 -0
- package/dist/qa/brain_matrix/fixtures/scenario_nac3_discover_schemas_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_nac3_required_attr_missing.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_no_bare_ok_after_destructive.json +27 -0
- package/dist/qa/brain_matrix/fixtures/scenario_no_global_learnings_no_recall.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_no_hardcoded_color_use_token.json +47 -0
- package/dist/qa/brain_matrix/fixtures/scenario_no_id_leak_in_reply.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_no_invent_verb.json +18 -0
- package/dist/qa/brain_matrix/fixtures/scenario_no_loop_after_repeated_fail.json +42 -0
- package/dist/qa/brain_matrix/fixtures/scenario_no_password_echo.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_all_current.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_then_explain.json +35 -0
- package/dist/qa/brain_matrix/fixtures/scenario_office_excel_read_intent.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_office_excel_update_cell_picks_right_verb.json +26 -0
- package/dist/qa/brain_matrix/fixtures/scenario_office_excel_write_required_args.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_office_overwrite_explicit.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_office_word_write_intent.json +27 -0
- package/dist/qa/brain_matrix/fixtures/scenario_panel_open_settings_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_panel_send_message_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_pdf_read_intent.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_pizarron_clear_tab_explicit_close.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_pizarron_for_chart.json +30 -0
- package/dist/qa/brain_matrix/fixtures/scenario_pizarron_for_long_table.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_pizarron_read_tab_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_pizarron_render_not_inline.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_prefer_native_read_file.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_prefer_native_verb_over_shell.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_prefer_native_workflow_state.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_project_init_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_project_set_root_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_promote_lesson_after_correction.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_r8_destructive_shell_exec.json +21 -0
- package/dist/qa/brain_matrix/fixtures/scenario_read_then_parse_order.json +36 -0
- package/dist/qa/brain_matrix/fixtures/scenario_reader_bookmark_jump_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_reader_bookmark_set_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_reader_for_long_doc.json +21 -0
- package/dist/qa/brain_matrix/fixtures/scenario_reader_list_docs_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_reader_next_block_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_reader_read_section_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_reader_recap_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_reader_search_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_reader_search_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_blanket_chmod_777.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_bypass_approval_modal.json +18 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_delete_critical_en.json +18 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_disable_vault_encryption.json +18 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_drop_database.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_force_push_main.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_force_push_main_en.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_leak_vault_en.json +18 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_modify_node_modules.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_skip_hooks.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_skip_hooks_en.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_to_delete_critical.json +18 -0
- package/dist/qa/brain_matrix/fixtures/scenario_refuses_to_leak_vault.json +18 -0
- package/dist/qa/brain_matrix/fixtures/scenario_respects_global_learnings.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_respects_workflow_gate_g2.json +39 -0
- package/dist/qa/brain_matrix/fixtures/scenario_revoke_lesson_request.json +21 -0
- package/dist/qa/brain_matrix/fixtures/scenario_scaffolder_destructive_pauses_for_approval.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_sq9b_deploy_checks_git_status.json +25 -0
- package/dist/qa/brain_matrix/fixtures/scenario_sq9b_install_checks_node_version.json +25 -0
- package/dist/qa/brain_matrix/fixtures/scenario_sq9b_publish_checks_gh_cli.json +25 -0
- package/dist/qa/brain_matrix/fixtures/scenario_sq_rules_active.json +30 -0
- package/dist/qa/brain_matrix/fixtures/scenario_sumie_icon_pick_from_catalog.json +56 -0
- package/dist/qa/brain_matrix/fixtures/scenario_tester_uses_shell_exec_only.json +27 -0
- package/dist/qa/brain_matrix/fixtures/scenario_text_diff_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_text_diff_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_truncated_response_retry.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_unknown_command_clarify.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_url_parse_compose.json +23 -0
- package/dist/qa/brain_matrix/fixtures/scenario_url_parse_handles_invalid.json +27 -0
- package/dist/qa/brain_matrix/fixtures/scenario_url_parse_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_url_parse_intent_en.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_url_parse_then_inspect_query.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_url_then_stringify_order.json +34 -0
- package/dist/qa/brain_matrix/fixtures/scenario_user_just_greets.json +17 -0
- package/dist/qa/brain_matrix/fixtures/scenario_user_overrides_proceeds.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_user_revokes_in_middle.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_voice_open_pizarron.json +21 -0
- package/dist/qa/brain_matrix/fixtures/scenario_word_outline_extraction.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_word_overwrite_explicit.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_word_section_count.json +28 -0
- package/dist/qa/brain_matrix/fixtures/scenario_workflow_doctrine.json +53 -0
- package/dist/qa/brain_matrix/fixtures/scenario_workflow_done_specs.json +32 -0
- package/dist/qa/brain_matrix/fixtures/scenario_workflow_intent_capture.json +22 -0
- package/dist/qa/brain_matrix/fixtures/scenario_workflow_phase_jump_block.json +26 -0
- package/dist/qa/brain_matrix/fixtures/scenario_workflow_phase_v_step_15.json +41 -0
- package/dist/qa/brain_matrix/fixtures/scenario_workflow_run_step_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_workflow_set_intent.json +20 -0
- package/dist/qa/brain_matrix/fixtures/scenario_workflow_state_injection.json +32 -0
- package/dist/qa/brain_matrix/fixtures/scenario_workflow_state_recovers_after_clarify.json +25 -0
- package/dist/qa/brain_matrix/fixtures/scenario_workflow_step_1_intake.json +24 -0
- package/dist/qa/brain_matrix/fixtures/scenario_yf_command_doctrine.json +56 -0
- package/dist/qa/brain_matrix/fixtures/scenario_yf_doctrine_list_intent.json +19 -0
- package/dist/qa/brain_matrix/fixtures/scenario_yf_qa_compare_intent.json +17 -0
- package/dist/qa/brain_matrix/invariants.d.ts +18 -0
- package/dist/qa/brain_matrix/invariants.d.ts.map +1 -0
- package/dist/qa/brain_matrix/invariants.js +333 -0
- package/dist/qa/brain_matrix/invariants.js.map +1 -0
- package/dist/qa/brain_matrix/report.d.ts +12 -0
- package/dist/qa/brain_matrix/report.d.ts.map +1 -0
- package/dist/qa/brain_matrix/report.js +131 -0
- package/dist/qa/brain_matrix/report.js.map +1 -0
- package/dist/qa/brain_matrix/runner.d.ts +31 -0
- package/dist/qa/brain_matrix/runner.d.ts.map +1 -0
- package/dist/qa/brain_matrix/runner.js +561 -0
- package/dist/qa/brain_matrix/runner.js.map +1 -0
- package/dist/qa/brain_matrix/types.d.ts +180 -0
- package/dist/qa/brain_matrix/types.d.ts.map +1 -0
- package/dist/qa/brain_matrix/types.js +2 -0
- package/dist/qa/brain_matrix/types.js.map +1 -0
- package/dist/qa/brain_matrix/validate_scenario.d.ts +23 -0
- package/dist/qa/brain_matrix/validate_scenario.d.ts.map +1 -0
- package/dist/qa/brain_matrix/validate_scenario.js +128 -0
- package/dist/qa/brain_matrix/validate_scenario.js.map +1 -0
- package/dist/reader/parsers/epub.d.ts.map +1 -1
- package/dist/reader/parsers/epub.js +6 -1
- package/dist/reader/parsers/epub.js.map +1 -1
- package/dist/relay/board_snapshot.d.ts +69 -0
- package/dist/relay/board_snapshot.d.ts.map +1 -0
- package/dist/relay/board_snapshot.js +149 -0
- package/dist/relay/board_snapshot.js.map +1 -0
- package/dist/relay/command_consumer.d.ts +91 -0
- package/dist/relay/command_consumer.d.ts.map +1 -0
- package/dist/relay/command_consumer.js +129 -0
- package/dist/relay/command_consumer.js.map +1 -0
- package/dist/relay/mock_relay.d.ts +34 -0
- package/dist/relay/mock_relay.d.ts.map +1 -0
- package/dist/relay/mock_relay.js +93 -0
- package/dist/relay/mock_relay.js.map +1 -0
- package/dist/relay/relay_client.d.ts +28 -0
- package/dist/relay/relay_client.d.ts.map +1 -0
- package/dist/relay/relay_client.js +80 -0
- package/dist/relay/relay_client.js.map +1 -0
- package/dist/relay/relay_publisher.d.ts +59 -0
- package/dist/relay/relay_publisher.d.ts.map +1 -0
- package/dist/relay/relay_publisher.js +101 -0
- package/dist/relay/relay_publisher.js.map +1 -0
- package/dist/relay/types.d.ts +54 -0
- package/dist/relay/types.d.ts.map +1 -0
- package/dist/relay/types.js +8 -0
- package/dist/relay/types.js.map +1 -0
- package/dist/semantic_graph/ast_extract.d.ts +20 -0
- package/dist/semantic_graph/ast_extract.d.ts.map +1 -0
- package/dist/semantic_graph/ast_extract.js +208 -0
- package/dist/semantic_graph/ast_extract.js.map +1 -0
- package/dist/semantic_graph/derive.d.ts +48 -0
- package/dist/semantic_graph/derive.d.ts.map +1 -0
- package/dist/semantic_graph/derive.js +604 -0
- package/dist/semantic_graph/derive.js.map +1 -0
- package/dist/semantic_graph/llm_claim.d.ts +21 -0
- package/dist/semantic_graph/llm_claim.d.ts.map +1 -0
- package/dist/semantic_graph/llm_claim.js +164 -0
- package/dist/semantic_graph/llm_claim.js.map +1 -0
- package/dist/semantic_graph/npm_enrich.d.ts +49 -0
- package/dist/semantic_graph/npm_enrich.d.ts.map +1 -0
- package/dist/semantic_graph/npm_enrich.js +173 -0
- package/dist/semantic_graph/npm_enrich.js.map +1 -0
- package/dist/semantic_graph/render.d.ts +28 -0
- package/dist/semantic_graph/render.d.ts.map +1 -0
- package/dist/semantic_graph/render.js +70 -0
- package/dist/semantic_graph/render.js.map +1 -0
- package/dist/semantic_graph/store.d.ts +53 -0
- package/dist/semantic_graph/store.d.ts.map +1 -0
- package/dist/semantic_graph/store.js +382 -0
- package/dist/semantic_graph/store.js.map +1 -0
- package/dist/semantic_graph/types.d.ts +59 -0
- package/dist/semantic_graph/types.d.ts.map +1 -0
- package/dist/semantic_graph/types.js +17 -0
- package/dist/semantic_graph/types.js.map +1 -0
- package/dist/support/github_dispatcher.d.ts +36 -0
- package/dist/support/github_dispatcher.d.ts.map +1 -0
- package/dist/support/github_dispatcher.js +320 -0
- package/dist/support/github_dispatcher.js.map +1 -0
- package/dist/support/reports.d.ts +31 -0
- package/dist/support/reports.d.ts.map +1 -0
- package/dist/support/reports.js +162 -0
- package/dist/support/reports.js.map +1 -0
- package/dist/tasks/supervisor.d.ts +88 -0
- package/dist/tasks/supervisor.d.ts.map +1 -0
- package/dist/tasks/supervisor.js +308 -0
- package/dist/tasks/supervisor.js.map +1 -0
- package/dist/tasks/task_type.d.ts +11 -0
- package/dist/tasks/task_type.d.ts.map +1 -0
- package/dist/tasks/task_type.js +21 -0
- package/dist/tasks/task_type.js.map +1 -0
- package/dist/telemetry/usage.d.ts +67 -0
- package/dist/telemetry/usage.d.ts.map +1 -0
- package/dist/telemetry/usage.js +208 -0
- package/dist/telemetry/usage.js.map +1 -0
- package/dist/test_agent/gemini_user.d.ts +9 -0
- package/dist/test_agent/gemini_user.d.ts.map +1 -0
- package/dist/test_agent/gemini_user.js +58 -0
- package/dist/test_agent/gemini_user.js.map +1 -0
- package/dist/test_agent/profiles.d.ts +23 -0
- package/dist/test_agent/profiles.d.ts.map +1 -0
- package/dist/test_agent/profiles.js +117 -0
- package/dist/test_agent/profiles.js.map +1 -0
- package/dist/test_agent/runner.d.ts +56 -0
- package/dist/test_agent/runner.d.ts.map +1 -0
- package/dist/test_agent/runner.js +134 -0
- package/dist/test_agent/runner.js.map +1 -0
- package/dist/test_agent/target_http.d.ts +22 -0
- package/dist/test_agent/target_http.d.ts.map +1 -0
- package/dist/test_agent/target_http.js +51 -0
- package/dist/test_agent/target_http.js.map +1 -0
- package/dist/test_agent/types.d.ts +117 -0
- package/dist/test_agent/types.d.ts.map +1 -0
- package/dist/test_agent/types.js +22 -0
- package/dist/test_agent/types.js.map +1 -0
- package/dist/vault/store.d.ts.map +1 -1
- package/dist/vault/store.js +20 -2
- package/dist/vault/store.js.map +1 -1
- package/dist/version.d.ts +3 -5
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +3 -5
- package/dist/version.js.map +1 -1
- package/dist/voice/config.d.ts +12 -0
- package/dist/voice/config.d.ts.map +1 -1
- package/dist/voice/config.js +25 -2
- package/dist/voice/config.js.map +1 -1
- package/dist/voice/providers/google.d.ts +9 -0
- package/dist/voice/providers/google.d.ts.map +1 -1
- package/dist/voice/providers/google.js +158 -30
- package/dist/voice/providers/google.js.map +1 -1
- package/dist/voice/router.d.ts +10 -0
- package/dist/voice/router.d.ts.map +1 -1
- package/dist/voice/router.js +39 -20
- package/dist/voice/router.js.map +1 -1
- package/dist/voice/types.d.ts +5 -2
- package/dist/voice/types.d.ts.map +1 -1
- package/dist/voice/types.js.map +1 -1
- package/dist/wiring/discover.d.ts +14 -0
- package/dist/wiring/discover.d.ts.map +1 -0
- package/dist/wiring/discover.js +383 -0
- package/dist/wiring/discover.js.map +1 -0
- package/dist/wiring/store.d.ts +19 -0
- package/dist/wiring/store.d.ts.map +1 -0
- package/dist/wiring/store.js +182 -0
- package/dist/wiring/store.js.map +1 -0
- package/dist/wiring/types.d.ts +61 -0
- package/dist/wiring/types.d.ts.map +1 -0
- package/dist/wiring/types.js +36 -0
- package/dist/wiring/types.js.map +1 -0
- package/dist/workflow/config.d.ts +43 -0
- package/dist/workflow/config.d.ts.map +1 -0
- package/dist/workflow/config.js +199 -0
- package/dist/workflow/config.js.map +1 -0
- package/dist/workflow/definitions.d.ts +60 -0
- package/dist/workflow/definitions.d.ts.map +1 -0
- package/dist/workflow/definitions.js +178 -0
- package/dist/workflow/definitions.js.map +1 -0
- package/dist/workflow/definitions_client.d.ts +12 -0
- package/dist/workflow/definitions_client.d.ts.map +1 -0
- package/dist/workflow/definitions_client.js +81 -0
- package/dist/workflow/definitions_client.js.map +1 -0
- package/dist/workflow/evolution.d.ts +10 -0
- package/dist/workflow/evolution.d.ts.map +1 -0
- package/dist/workflow/evolution.js +62 -0
- package/dist/workflow/evolution.js.map +1 -0
- package/dist/workflow/graph.d.ts +59 -0
- package/dist/workflow/graph.d.ts.map +1 -0
- package/dist/workflow/graph.js +137 -0
- package/dist/workflow/graph.js.map +1 -0
- package/dist/workflow/instances.d.ts +40 -0
- package/dist/workflow/instances.d.ts.map +1 -0
- package/dist/workflow/instances.js +122 -0
- package/dist/workflow/instances.js.map +1 -0
- package/dist/workflow/multi_view.d.ts +27 -0
- package/dist/workflow/multi_view.d.ts.map +1 -0
- package/dist/workflow/multi_view.js +76 -0
- package/dist/workflow/multi_view.js.map +1 -0
- package/dist/workflow/orchestrator.d.ts +111 -0
- package/dist/workflow/orchestrator.d.ts.map +1 -0
- package/dist/workflow/orchestrator.js +241 -0
- package/dist/workflow/orchestrator.js.map +1 -0
- package/dist/workflow/phase_inference.d.ts +56 -0
- package/dist/workflow/phase_inference.d.ts.map +1 -0
- package/dist/workflow/phase_inference.js +107 -0
- package/dist/workflow/phase_inference.js.map +1 -0
- package/dist/workflow/select.d.ts +28 -0
- package/dist/workflow/select.d.ts.map +1 -0
- package/dist/workflow/select.js +38 -0
- package/dist/workflow/select.js.map +1 -0
- package/dist/workflow/state.d.ts +290 -0
- package/dist/workflow/state.d.ts.map +1 -0
- package/dist/workflow/state.js +213 -0
- package/dist/workflow/state.js.map +1 -0
- package/dist/workflow/view.d.ts +47 -0
- package/dist/workflow/view.d.ts.map +1 -0
- package/dist/workflow/view.js +103 -0
- package/dist/workflow/view.js.map +1 -0
- package/docs/SQ.md +1397 -0
- package/docs/SQ_BY_STEP.yaml +147 -0
- package/docs/doctrine/accessibility.md +78 -0
- package/docs/doctrine/agent-orchestrator.md +76 -0
- package/docs/doctrine/byok-vs-managed.md +81 -0
- package/docs/doctrine/cost-router-escalation.md +103 -0
- package/docs/doctrine/default-design-system.md +152 -0
- package/docs/doctrine/explain-results.md +90 -0
- package/docs/doctrine/expo-eas-builds.md +177 -0
- package/docs/doctrine/g-doc.md +46 -0
- package/docs/doctrine/gates.md +21 -0
- package/docs/doctrine/language-sovereignty.md +143 -0
- package/docs/doctrine/lessons-workflow.md +68 -0
- package/docs/doctrine/mcp-bridge-lifecycle.md +75 -0
- package/docs/doctrine/nac3-attrs.md +23 -0
- package/docs/doctrine/office-tools.md +122 -0
- package/docs/doctrine/pizarron.md +52 -0
- package/docs/doctrine/r8-modal.md +60 -0
- package/docs/doctrine/safety-refusals.md +73 -0
- package/docs/doctrine/testing-policy.md +211 -0
- package/docs/doctrine/verb-composition.md +84 -0
- package/docs/doctrine/verification-honesty.md +95 -0
- package/docs/doctrine/workflow-kinds.md +69 -0
- package/docs/doctrine/workflow-phases.md +108 -0
- package/docs/doctrine/workflow.md +66 -0
- package/docs/doctrine/yf-commands.md +49 -0
- package/package.json +20 -3
- package/src/i18n/catalogs/ar.json +223 -86
- package/src/i18n/catalogs/de.json +223 -86
- package/src/i18n/catalogs/en.json +223 -86
- package/src/i18n/catalogs/es.json +223 -86
- package/src/i18n/catalogs/fr.json +223 -86
- package/src/i18n/catalogs/hi.json +223 -86
- package/src/i18n/catalogs/it.json +223 -86
- package/src/i18n/catalogs/ja.json +223 -86
- package/src/i18n/catalogs/pt.json +223 -86
- package/src/i18n/catalogs/zh.json +223 -86
- package/templates/nextjs-app/README.md +48 -0
- package/templates/nextjs-app/next.config.js +8 -0
- package/templates/nextjs-app/package.json +33 -0
- package/templates/nextjs-app/src/app/globals.css +43 -0
- package/templates/nextjs-app/src/app/layout.tsx +29 -0
- package/templates/nextjs-app/src/app/page.tsx +63 -0
- package/templates/nextjs-app/src/nac/manifest.ts +36 -0
- package/templates/nextjs-app/tsconfig.json +21 -0
- package/templates/nextjs-app/yujin.forge.json +11 -0
- package/templates/sumi-context.template.md +57 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Verification honesty (Forge product principle)
|
|
2
|
+
|
|
3
|
+
**Lock date:** 2026-06-10. Lessons learned from the eco-off
|
|
4
|
+
(frontier) dogfood of yuemail-v3: the work was strong, but the
|
|
5
|
+
brain made one FALSE safety claim and left untested gaps it did
|
|
6
|
+
not surface. This doctrine prevents that class of failure.
|
|
7
|
+
|
|
8
|
+
The failure mode is not "broke the code". It is **overconfidence
|
|
9
|
+
in claims** -- telling the user something is guarded / complete /
|
|
10
|
+
secure when the code or test does not actually enforce it. That is
|
|
11
|
+
worse than a visible bug, because the user trusts a net that has a
|
|
12
|
+
hole.
|
|
13
|
+
|
|
14
|
+
## The four rules
|
|
15
|
+
|
|
16
|
+
### 1. A green test is NOT proof of protection. Verify the net.
|
|
17
|
+
|
|
18
|
+
Before you claim a test guards against a regression -- "blindado",
|
|
19
|
+
"the suite goes red if someone adds X", "this is locked down" --
|
|
20
|
+
you MUST verify the claim: construct the exact regression you say
|
|
21
|
+
it catches and confirm the test goes RED. If it stays green, the
|
|
22
|
+
test is theater and the claim is false. Do not ship the claim.
|
|
23
|
+
|
|
24
|
+
- MAL: "Added a symmetry test: if someone adds a modal button
|
|
25
|
+
without a voice command, the suite fails." (The test scanned
|
|
26
|
+
only buttons that already had `data-nac-action`; a button with
|
|
27
|
+
NO attribute -- the most likely mistake -- stayed green.)
|
|
28
|
+
- BIEN: "Symmetry test added. Verified it: a button missing
|
|
29
|
+
`data-nac-action` still passes (regex blind spot), so it
|
|
30
|
+
catches 'tagged-but-unrouted', NOT 'forgot the tag'. To close
|
|
31
|
+
that, the test must enumerate ALL <button> elements, tagged or
|
|
32
|
+
not."
|
|
33
|
+
|
|
34
|
+
### 2. A scan covers only what it captures. State the blind spot.
|
|
35
|
+
|
|
36
|
+
A test that enumerates tagged elements (regex/AST over one
|
|
37
|
+
attribute) does not see the untagged case -- which is usually the
|
|
38
|
+
real regression. Either enumerate the SOURCE OF TRUTH (every
|
|
39
|
+
element of the class) or explicitly state what the test does not
|
|
40
|
+
cover. Never imply total coverage from a partial scan.
|
|
41
|
+
|
|
42
|
+
### 3. Cover every row of a data/config table, not a sample.
|
|
43
|
+
|
|
44
|
+
When correctness lives in a table -- provider server settings,
|
|
45
|
+
enum maps, route tables, status codes -- assert EVERY row, not 2
|
|
46
|
+
of N. Untested rows are unprotected: a future typo in row 7
|
|
47
|
+
passes green.
|
|
48
|
+
|
|
49
|
+
- MAL: email autoconfig hardcodes 9 providers; the test asserts
|
|
50
|
+
only Gmail + Outlook. A wrong iCloud SMTP port would ship green.
|
|
51
|
+
- BIEN: one assertion per provider (host + port + security), or a
|
|
52
|
+
table-driven test iterating all rows.
|
|
53
|
+
|
|
54
|
+
### 4. Claims must be proportional to what the code enforces.
|
|
55
|
+
|
|
56
|
+
Do not say "encrypted at rest", "complete coverage", "blindado",
|
|
57
|
+
"production-ready" when there is a predictable key fallback,
|
|
58
|
+
partial coverage, or an untested path. Report what IS and what is
|
|
59
|
+
NOT guaranteed, and the residual risk.
|
|
60
|
+
|
|
61
|
+
- MAL: "Everything is encrypted in the vault." (When the
|
|
62
|
+
passphrase env var is unset, the key is derived from
|
|
63
|
+
hostname+username -- a local attacker who reads the files can
|
|
64
|
+
decrypt. That is obfuscation, not protection.)
|
|
65
|
+
- BIEN: "Encrypted with AES-256-GCM. Note: if YUEMAIL_VAULT_PASS
|
|
66
|
+
is unset, the key falls back to a predictable host-derived
|
|
67
|
+
value -- protects against off-machine theft of the JSON, NOT
|
|
68
|
+
against a local attacker. Set the passphrase for real at-rest
|
|
69
|
+
security."
|
|
70
|
+
|
|
71
|
+
## Reporting rule (separate verified from believed)
|
|
72
|
+
|
|
73
|
+
When you report to the user, separate what you VERIFIED (ran,
|
|
74
|
+
read, reproduced) from what you BELIEVE (assumed, inferred). Say
|
|
75
|
+
"105 tests pass (ran it)" not "fully tested". Say "settings look
|
|
76
|
+
correct, not asserted by a test" when that is the truth. The user
|
|
77
|
+
relies on the boundary between the two.
|
|
78
|
+
|
|
79
|
+
## Scope
|
|
80
|
+
|
|
81
|
+
This applies to EVERY change, in EVERY mode -- not a workflow
|
|
82
|
+
step. It is injected condensed in the system prompt every turn.
|
|
83
|
+
It composes with `testing-policy.md` (which governs WHEN tests are
|
|
84
|
+
authored and the scaffold gate); this doctrine governs whether
|
|
85
|
+
your CLAIMS about those tests are true.
|
|
86
|
+
|
|
87
|
+
## How this was learned
|
|
88
|
+
|
|
89
|
+
yuemail-v3 z.207 audit (2026-06-10): graph repair, vault security,
|
|
90
|
+
voice routing, and all 9 email server settings were verified
|
|
91
|
+
CORRECT. The defects were: (a) the symmetry test did not catch a
|
|
92
|
+
forgotten attribute yet was sold as a hard net; (b) 7 of 9
|
|
93
|
+
provider rows had no assertions; (c) the vault key fallback was
|
|
94
|
+
predictable while sold as "encrypted". None broke the running
|
|
95
|
+
app; all were honesty/coverage gaps an audit surfaced.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Workflow kinds (PND-094)
|
|
2
|
+
|
|
3
|
+
Forge has THREE workflows, not one. Forcing the 18-step greenfield
|
|
4
|
+
methodology onto a live project produces fiction ("phase complete"
|
|
5
|
+
when the phase never applied). Pick the right one.
|
|
6
|
+
|
|
7
|
+
## The three kinds
|
|
8
|
+
|
|
9
|
+
- **greenfield** -- a NEW app from zero. The canonical 6 phases /
|
|
10
|
+
18 steps (full doctrine: `workflow`, `workflow-phases`).
|
|
11
|
+
- **corrective** -- FIX a defect in a live project. Compact 6
|
|
12
|
+
stages: triage -> reproduce + root-cause -> implement -> validate
|
|
13
|
+
(iterative) -> **refresh docs** -> close.
|
|
14
|
+
- **evolutive** -- EXTEND / improve a live project. Compact 6
|
|
15
|
+
stages: triage -> design/fit -> implement -> validate (iterative)
|
|
16
|
+
-> **refresh docs** -> close.
|
|
17
|
+
|
|
18
|
+
corrective + evolutive BOTH require the docs-refresh stage: update
|
|
19
|
+
README / ARCHITECTURE / DESIGN / manual + the graph for whatever
|
|
20
|
+
changed. No doc drift.
|
|
21
|
+
|
|
22
|
+
## How Forge decides + acts
|
|
23
|
+
|
|
24
|
+
The orchestration is DETERMINISTIC code (`src/workflow/orchestrator.ts`),
|
|
25
|
+
not LLM judgement. You drive it through verbs:
|
|
26
|
+
|
|
27
|
+
1. **Open a workflow with `yujin.workflow.start({request})`.** It
|
|
28
|
+
classifies the kind (regex over the request + whether the project
|
|
29
|
+
has code -- `src/workflow/select.ts`). When the result is
|
|
30
|
+
`needs_confirm:true`, ASK the user "greenfield, correctivo o
|
|
31
|
+
evolutivo?" and call again with `{kind}`. Do NOT silently assume.
|
|
32
|
+
`start` then creates the instance (WFL-NNN) + **spawns one pending
|
|
33
|
+
per canonical task, in mandatory order**. Several workflows can
|
|
34
|
+
coexist (keyed by name) -- a fix and a feature run side by side.
|
|
35
|
+
2. **Stages are NOT pendings; tasks are.** Work the task pendings in
|
|
36
|
+
order. The `yf pending close` gate REFUSES to close a task while an
|
|
37
|
+
earlier-order task is still open (override: `--force-order`). When
|
|
38
|
+
every task closes, the workflow **auto-closes** -- you do not close
|
|
39
|
+
it by hand.
|
|
40
|
+
3. **Add tasks at discretion.** If the user OR you decide a
|
|
41
|
+
corrective/evolutive task is needed mid-workflow, add it with
|
|
42
|
+
`yujin.workflow.add-task({code, title})` -- it appends at the end of
|
|
43
|
+
the order (flagged `ad_hoc`).
|
|
44
|
+
4. **Edit the phases/tasks on request.** `yujin.workflow.configure({patch})`
|
|
45
|
+
rewrites the project's editable definitions
|
|
46
|
+
(`.forge/workflow-config.json`); the code default stays recoverable
|
|
47
|
+
(`yf workflow config --reset`).
|
|
48
|
+
5. **Log the evolution.** As you cross stage/step boundaries, call
|
|
49
|
+
`yujin.workflow.log-step(...)` -- it writes `docs/WORKFLOW_LOG.md` +
|
|
50
|
+
`workflow.evolution[]` so the project records its own workflow
|
|
51
|
+
history. Greenfield detail = the 18-step flow (`workflow`,
|
|
52
|
+
`workflow-phases`); never force it on a live project.
|
|
53
|
+
|
|
54
|
+
## Relation to the request lifecycle
|
|
55
|
+
|
|
56
|
+
The pending request-lifecycle (add -> note -> close with history) is
|
|
57
|
+
the MICRO level (per task). The workflow is the MACRO level (per
|
|
58
|
+
project, with stages). They are now the SAME store: a workflow task IS
|
|
59
|
+
a pending item (with a `workflow` link). The instance names the stages;
|
|
60
|
+
its tasks are pendings closed in mandatory order.
|
|
61
|
+
|
|
62
|
+
## Canonical steps source
|
|
63
|
+
|
|
64
|
+
The canonical step definitions live in `src/workflow/definitions.ts`
|
|
65
|
+
(the immutable DEFAULT + disaster-recovery source). A project may
|
|
66
|
+
override them in `.forge/workflow-config.json` (edited via
|
|
67
|
+
`yujin.workflow.configure`); a `.default.json` snapshot keeps the
|
|
68
|
+
default recoverable. The worker-canonical layer plugs in later, same
|
|
69
|
+
pattern as doctrines + lessons.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Workflow phases -- full reference
|
|
2
|
+
|
|
3
|
+
Fetch when the user asks: "que pasa en la fase X?", "como salgo
|
|
4
|
+
de clarificacion?", "que necesito para arrancar build?",
|
|
5
|
+
"cuales son los specs?".
|
|
6
|
+
|
|
7
|
+
The Forge build workflow has 6 phases. Each phase has a
|
|
8
|
+
distinctive intent + an exit condition. The cost router uses
|
|
9
|
+
the current phase to pick eco / frontier per turn, and several
|
|
10
|
+
SQ rules pre-empt phase transitions.
|
|
11
|
+
|
|
12
|
+
## Phase I -- Intake
|
|
13
|
+
|
|
14
|
+
**Intent:** capture the raw user request + flag whether the
|
|
15
|
+
project already exists.
|
|
16
|
+
**Steps:** triage (auto), tier election (user picks
|
|
17
|
+
starter/standard/advanced/enterprise), workspace bootstrap.
|
|
18
|
+
**Eco-friendly:** yes. Default tier. Cheap.
|
|
19
|
+
**Exit:** tier locked + workspace ready.
|
|
20
|
+
**Gates:** G1 (tier required), G2 (vault has >= 2 BYOK keys).
|
|
21
|
+
|
|
22
|
+
## Phase II -- Clarification
|
|
23
|
+
|
|
24
|
+
**Intent:** narrow the request into something a spec can be
|
|
25
|
+
written against. Disambiguation rounds with the user.
|
|
26
|
+
**Steps:** clarifying-questions iterations (`iterations[]`
|
|
27
|
+
schema, see lessons-workflow doctrine for capture model).
|
|
28
|
+
**Eco-friendly:** yes. Default eco; escalate to frontier on
|
|
29
|
+
SQ rule-violation text.
|
|
30
|
+
**Exit:** user signs off the clarification summary.
|
|
31
|
+
**Gates:** none.
|
|
32
|
+
|
|
33
|
+
## Phase III -- Specification
|
|
34
|
+
|
|
35
|
+
**Intent:** produce the three core specs: RFP, ARCH, DESIGN.
|
|
36
|
+
**Steps:** spec-extract (auto), spec-plan (auto), spec-validate
|
|
37
|
+
(auto + user approval).
|
|
38
|
+
**Eco-friendly:** mixed -- text-generation pieces escalate to
|
|
39
|
+
frontier; tooling steps stay eco.
|
|
40
|
+
**Exit:** each spec has `done_at` + `approved_at` non-empty in
|
|
41
|
+
workflow_state.specs.
|
|
42
|
+
**Gates:** G3 (no phase-skip), G-DOC (each step ends with a
|
|
43
|
+
commit ASCII-only).
|
|
44
|
+
|
|
45
|
+
## Phase IV -- Approval
|
|
46
|
+
|
|
47
|
+
**Intent:** human sign-off on the spec set + block plan.
|
|
48
|
+
**Steps:** review board (async), block-plan, ship-target
|
|
49
|
+
selection.
|
|
50
|
+
**Eco-friendly:** no -- approvals always frontier so the brain
|
|
51
|
+
catches edge cases.
|
|
52
|
+
**Exit:** all `approvals.*.approved_at` non-empty + block_plan
|
|
53
|
+
exists.
|
|
54
|
+
**Gates:** G4 (block-plan OK), G5 (fase V sin OK explicito de
|
|
55
|
+
los 3 spec docs).
|
|
56
|
+
|
|
57
|
+
## Phase V -- Build
|
|
58
|
+
|
|
59
|
+
**Intent:** execute the block plan. Code + tests + integrations.
|
|
60
|
+
**Steps:** per-block dev iterations, smoke tests, integration
|
|
61
|
+
gates.
|
|
62
|
+
**Eco-friendly:** no by default; frontier for the meat of the
|
|
63
|
+
work, eco for status queries.
|
|
64
|
+
**Exit:** every block in block_plan has status='done' +
|
|
65
|
+
smoke tests green.
|
|
66
|
+
**Gates:** G6 (block tests rojos = bloqueo), G7 (creds
|
|
67
|
+
faltantes = bloqueo).
|
|
68
|
+
|
|
69
|
+
## Phase VI -- Ship
|
|
70
|
+
|
|
71
|
+
**Intent:** deploy + post-launch monitoring.
|
|
72
|
+
**Steps:** ship-target deploy, smoke test prod, launch
|
|
73
|
+
announcement (when asked).
|
|
74
|
+
**Eco-friendly:** mixed.
|
|
75
|
+
**Exit:** smoke-prod green + announcement composed.
|
|
76
|
+
**Gates:** G8 (launch sin smoke verde).
|
|
77
|
+
|
|
78
|
+
## What the brain MUST do per phase
|
|
79
|
+
|
|
80
|
+
1. **Read workflow_state from the injected block** -- never
|
|
81
|
+
re-fetch via yujin.workflow.state for fields already
|
|
82
|
+
present.
|
|
83
|
+
2. **Acknowledge the current phase/step** before proposing
|
|
84
|
+
any action that touches it.
|
|
85
|
+
3. **Refuse phase skips > 1 forward** -- G3 hard rule.
|
|
86
|
+
4. **Cite the gate** when refusing -- "no puedo avanzar
|
|
87
|
+
porque G2-vault-min-keys exige 2 keys, tenes 1".
|
|
88
|
+
5. **Suggest the cheap fix** -- always offer the user the
|
|
89
|
+
shortest path to clear a gate (e.g. `yf keys setup`).
|
|
90
|
+
|
|
91
|
+
## How to read iterations[]
|
|
92
|
+
|
|
93
|
+
When `workflow_state.iterations[]` is non-empty, the brain
|
|
94
|
+
MUST acknowledge the prior iterations (slug + summary) before
|
|
95
|
+
proposing a new one. Stale-iteration replies are a known
|
|
96
|
+
failure mode caught by the
|
|
97
|
+
`iterations_query_history` scenario.
|
|
98
|
+
|
|
99
|
+
## Forbidden during a phase
|
|
100
|
+
|
|
101
|
+
- Phase I-III: NEVER write production code. Specs only.
|
|
102
|
+
- Phase IV: NEVER mutate specs that already have
|
|
103
|
+
approved_at -- propose a new iteration with a different
|
|
104
|
+
slug.
|
|
105
|
+
- Phase V: NEVER bypass smoke tests. If they fail, the
|
|
106
|
+
brain MUST surface the failure, not paper it over.
|
|
107
|
+
- Phase VI: NEVER announce a launch before smoke-prod is
|
|
108
|
+
green.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Workflow doctrine -- 6 phases / 18 steps (GREENFIELD)
|
|
2
|
+
|
|
3
|
+
SCOPE: this 6-phase / 18-step methodology is the GREENFIELD workflow --
|
|
4
|
+
building a new app from zero. A LIVE project uses the compact
|
|
5
|
+
corrective / evolutive flow instead (see `workflow-kinds`). Never force
|
|
6
|
+
these 18 steps on an existing project. Open any workflow with
|
|
7
|
+
`yujin.workflow.start` (it classifies the kind + spawns the task
|
|
8
|
+
pendings in order); this doc is the detail for the greenfield case.
|
|
9
|
+
|
|
10
|
+
Yujin Forge guides greenfield delivery through 6 phases / 18 steps
|
|
11
|
+
(PRODUCT_WORKFLOW.md). The LLM picks the right phase based on what the
|
|
12
|
+
user is asking; if the user jumps mid-phase the LLM respects that but
|
|
13
|
+
flags the risk.
|
|
14
|
+
|
|
15
|
+
PHASE I -- INTAKE (steps 1-3.5)
|
|
16
|
+
1. Complexity triage Simple / Medium / Full tier
|
|
17
|
+
2. Vault keys validation 13 credential families, BYOK
|
|
18
|
+
3. Discover intent migrate / new / modify; desktop / mobile /
|
|
19
|
+
both; chat / voice / document-paste
|
|
20
|
+
3.5 Audit existing artifacts if migrating legacy
|
|
21
|
+
|
|
22
|
+
PHASE II -- CLARIFICATION (steps 4-9)
|
|
23
|
+
4. Functional user stories, MVP, personas
|
|
24
|
+
5. NFR quantitative volumetry, parallelism, process complexity
|
|
25
|
+
6. NFR structural persistence, middleware, object lifecycle,
|
|
26
|
+
workers
|
|
27
|
+
7. NFR governance compliance (GDPR/HIPAA/PCI/SOC2), audit,
|
|
28
|
+
retention, RBAC, DR
|
|
29
|
+
8. NFR operational i18n, a11y, cost budget, monitoring, SLA
|
|
30
|
+
9. Block prioritisation decompose + dep graph + MVP
|
|
31
|
+
|
|
32
|
+
PHASE III -- SPECIFICATION (steps 10-12)
|
|
33
|
+
10. RFP / PRD consolidates Phase I + II
|
|
34
|
+
11. Architecture doc stack + layering + async + topology +
|
|
35
|
+
observability + security, driven by NFRs
|
|
36
|
+
12. Solution Design per-block: data model, APIs, screens,
|
|
37
|
+
state machines
|
|
38
|
+
|
|
39
|
+
PHASE IV -- APPROVAL GATE (step 13)
|
|
40
|
+
13. Explicit OK on the 3 docs You REFUSE to advance to Phase V without
|
|
41
|
+
explicit "si" on RFP + architecture +
|
|
42
|
+
design.
|
|
43
|
+
|
|
44
|
+
PHASE V -- BUILD ITERATIVE (steps 14-15)
|
|
45
|
+
14. Bootstrap NAC-3 baseline + CI gates + test
|
|
46
|
+
scaffolding all layers + observability
|
|
47
|
+
15. Iterative cycle per block implement -> e2e tests with 100%
|
|
48
|
+
structural coverage -> a11y check ->
|
|
49
|
+
green-gate before next block
|
|
50
|
+
|
|
51
|
+
PHASE VI -- SHIP & OPERATE (steps 16-18)
|
|
52
|
+
16. Deploy automation + execute creds + pipeline + secrets + monitoring +
|
|
53
|
+
smoke + rollback
|
|
54
|
+
17. Post-launch user manual auto-gen, dashboards,
|
|
55
|
+
feedback collect
|
|
56
|
+
18. Iteration re-entry route new requirements back to the right
|
|
57
|
+
phase, keep docs in sync
|
|
58
|
+
|
|
59
|
+
CROSS-CUTTING: documentation sync, cost tracking, translation of
|
|
60
|
+
user-facing artifacts, versioning + changelog, handoff, backup + DR.
|
|
61
|
+
|
|
62
|
+
COMPLEXITY TIER MAPPING:
|
|
63
|
+
Simple = landing / blog / demo POC -> steps 1-3, 9, 14-16
|
|
64
|
+
Medium = CRUD app with auth, low-traffic SaaS -> + 4-7, 10-13
|
|
65
|
+
Full = regulated SaaS, multi-tenant, workflows -> ALL 18 steps + hard
|
|
66
|
+
gates
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# yf CLI command catalog
|
|
2
|
+
|
|
3
|
+
When the user asks "how do I X?", recommend the matching `yf X`
|
|
4
|
+
command (it teaches them the surface). When the user wants the
|
|
5
|
+
result right now ("install Stripe webhook for me"), invoke the
|
|
6
|
+
relevant NAC3 verb directly instead.
|
|
7
|
+
|
|
8
|
+
PROJECT LIFECYCLE
|
|
9
|
+
yf new <slug> scaffold a new NAC-3 React project
|
|
10
|
+
yf migrate <repo> --audit scan existing project for NAC-3 readiness
|
|
11
|
+
yf migrate <repo> --apply execute the AST migration (paid seat)
|
|
12
|
+
yf ship deploy gate: validate + license + tests + build
|
|
13
|
+
|
|
14
|
+
DEV LOOP
|
|
15
|
+
yf chat this panel (you are inside it)
|
|
16
|
+
yf doctor verify environment + license + deps
|
|
17
|
+
yf gen-tests <dir> emit e2e tests from manifest
|
|
18
|
+
yf scenarios:emit emit Playwright + Maestro from yaml scenarios
|
|
19
|
+
yf review-screens visual regression review UI
|
|
20
|
+
yf review-status CI gate: 0 iff every screenshot is OK
|
|
21
|
+
|
|
22
|
+
CONFIG + LICENSE
|
|
23
|
+
yf keys setup interactive BYOK (brain + voice)
|
|
24
|
+
yf vault manage encrypted credentials
|
|
25
|
+
yf license activate --user-handle <email> bind to Polar subscription
|
|
26
|
+
yf license status / cancel / resubscribe subscription ops
|
|
27
|
+
yf voice voice + wake-word config
|
|
28
|
+
|
|
29
|
+
SHIP + DEPLOY
|
|
30
|
+
yf publish --npm npm publish using vaulted token
|
|
31
|
+
yf publish --docker docker push using vaulted token
|
|
32
|
+
yf deploy cloud deploy (AWS built-in, others chat-guided)
|
|
33
|
+
yf repo init repo + GitHub remote pairing
|
|
34
|
+
|
|
35
|
+
OBSERVABILITY
|
|
36
|
+
yf log per-scope log levels + redaction (SQ.K)
|
|
37
|
+
yf projects cross-device project registry
|
|
38
|
+
|
|
39
|
+
QA HARNESSES
|
|
40
|
+
yf qa brain-matrix E2E test invariants against LLM brains
|
|
41
|
+
yf graph semantic graph CRUD (alpha.59p)
|
|
42
|
+
yf mcp MCP bridge config (alpha.60 stubs)
|
|
43
|
+
yf limits runtime caps (max tool rounds, timeouts)
|
|
44
|
+
|
|
45
|
+
INTROSPECTION (z.67)
|
|
46
|
+
yf doctrine list list available doctrines (md files)
|
|
47
|
+
yf doctrine show <slug> print one doctrine
|
|
48
|
+
yf manifest verbs enumerate NAC-3 verbs + policies
|
|
49
|
+
yf manifest verbs --ns office. filter by namespace prefix
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* yujin.json.query -- jq-lite path query for JSON values.
|
|
3
|
+
*
|
|
4
|
+
* Supports a minimal subset of jq syntax:
|
|
5
|
+
* . -- the input
|
|
6
|
+
* .a -- field access
|
|
7
|
+
* .a.b -- nested
|
|
8
|
+
* .a[0] -- index
|
|
9
|
+
* .a[*] -- splat (returns an array of children)
|
|
10
|
+
* .a[] -- alias for splat
|
|
11
|
+
* .a[0:3] -- slice (start inclusive, end exclusive)
|
|
12
|
+
* ["key"] -- bracket access (useful for keys with dots)
|
|
13
|
+
* .a | length -- pipe to a builtin
|
|
14
|
+
*
|
|
15
|
+
* Builtins after `|`: length, keys, values, type, first, last.
|
|
16
|
+
*
|
|
17
|
+
* Returns either the queried value(s) OR an error object. No
|
|
18
|
+
* dependencies; pure TS. Used by the panel for cheap "give me X.y"
|
|
19
|
+
* lookups + by the brain when the user wants to extract a single
|
|
20
|
+
* field from a tool_result. Far safer than yujin.shell.exec with
|
|
21
|
+
* `jq`.
|
|
22
|
+
*
|
|
23
|
+
* ASCII-only.
|
|
24
|
+
*/
|
|
25
|
+
export interface QueryOk {
|
|
26
|
+
ok: true;
|
|
27
|
+
query: string;
|
|
28
|
+
result: unknown;
|
|
29
|
+
}
|
|
30
|
+
export interface QueryErr {
|
|
31
|
+
ok: false;
|
|
32
|
+
query: string;
|
|
33
|
+
error: string;
|
|
34
|
+
detail?: string;
|
|
35
|
+
}
|
|
36
|
+
export type QueryResult = QueryOk | QueryErr;
|
|
37
|
+
export declare function runJsonQuery(input: unknown, query: string): QueryResult;
|
|
38
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/json/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAqI7C,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAcvE"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* yujin.json.query -- jq-lite path query for JSON values.
|
|
3
|
+
*
|
|
4
|
+
* Supports a minimal subset of jq syntax:
|
|
5
|
+
* . -- the input
|
|
6
|
+
* .a -- field access
|
|
7
|
+
* .a.b -- nested
|
|
8
|
+
* .a[0] -- index
|
|
9
|
+
* .a[*] -- splat (returns an array of children)
|
|
10
|
+
* .a[] -- alias for splat
|
|
11
|
+
* .a[0:3] -- slice (start inclusive, end exclusive)
|
|
12
|
+
* ["key"] -- bracket access (useful for keys with dots)
|
|
13
|
+
* .a | length -- pipe to a builtin
|
|
14
|
+
*
|
|
15
|
+
* Builtins after `|`: length, keys, values, type, first, last.
|
|
16
|
+
*
|
|
17
|
+
* Returns either the queried value(s) OR an error object. No
|
|
18
|
+
* dependencies; pure TS. Used by the panel for cheap "give me X.y"
|
|
19
|
+
* lookups + by the brain when the user wants to extract a single
|
|
20
|
+
* field from a tool_result. Far safer than yujin.shell.exec with
|
|
21
|
+
* `jq`.
|
|
22
|
+
*
|
|
23
|
+
* ASCII-only.
|
|
24
|
+
*/
|
|
25
|
+
function parse(q) {
|
|
26
|
+
const raw = q.trim();
|
|
27
|
+
if (!raw)
|
|
28
|
+
return { error: 'empty query' };
|
|
29
|
+
const parts = raw.split('|').map((p) => p.trim()).filter(Boolean);
|
|
30
|
+
if (parts.length === 0)
|
|
31
|
+
return { error: 'empty query' };
|
|
32
|
+
const path = parts[0];
|
|
33
|
+
const builtinRaw = parts[1] ?? null;
|
|
34
|
+
let builtin;
|
|
35
|
+
if (builtinRaw) {
|
|
36
|
+
if (parts.length > 2)
|
|
37
|
+
return { error: 'only one pipe + builtin supported' };
|
|
38
|
+
const allowed = ['length', 'keys', 'values', 'type', 'first', 'last'];
|
|
39
|
+
if (!allowed.includes(builtinRaw)) {
|
|
40
|
+
return { error: 'unknown builtin: ' + builtinRaw };
|
|
41
|
+
}
|
|
42
|
+
builtin = builtinRaw;
|
|
43
|
+
}
|
|
44
|
+
const steps = [];
|
|
45
|
+
let i = 0;
|
|
46
|
+
while (i < path.length) {
|
|
47
|
+
const c = path[i];
|
|
48
|
+
if (c === '.') {
|
|
49
|
+
i++;
|
|
50
|
+
let name = '';
|
|
51
|
+
while (i < path.length && /[A-Za-z0-9_$-]/.test(path[i] || '')) {
|
|
52
|
+
name += path[i];
|
|
53
|
+
i++;
|
|
54
|
+
}
|
|
55
|
+
if (name)
|
|
56
|
+
steps.push({ kind: 'field', name });
|
|
57
|
+
/* '.' alone is the identity; allowed. */
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if (c === '[') {
|
|
61
|
+
const close = path.indexOf(']', i);
|
|
62
|
+
if (close === -1)
|
|
63
|
+
return { error: 'unclosed [ at ' + i };
|
|
64
|
+
const inner = path.slice(i + 1, close).trim();
|
|
65
|
+
i = close + 1;
|
|
66
|
+
if (inner === '' || inner === '*') {
|
|
67
|
+
steps.push({ kind: 'splat' });
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (inner.startsWith('"') && inner.endsWith('"')) {
|
|
71
|
+
steps.push({ kind: 'field', name: inner.slice(1, -1) });
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
if (inner.includes(':')) {
|
|
75
|
+
const [a, b] = inner.split(':');
|
|
76
|
+
const start = a ? parseInt(a, 10) : 0;
|
|
77
|
+
const end = b ? parseInt(b, 10) : Number.POSITIVE_INFINITY;
|
|
78
|
+
if (Number.isNaN(start) || Number.isNaN(end)) {
|
|
79
|
+
return { error: 'bad slice: ' + inner };
|
|
80
|
+
}
|
|
81
|
+
steps.push({ kind: 'slice', start, end });
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
const n = parseInt(inner, 10);
|
|
85
|
+
if (Number.isNaN(n))
|
|
86
|
+
return { error: 'bad index: ' + inner };
|
|
87
|
+
steps.push({ kind: 'index', index: n });
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
/* allow whitespace */
|
|
91
|
+
if (/\s/.test(c || '')) {
|
|
92
|
+
i++;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
return { error: 'unexpected char "' + c + '" at ' + i };
|
|
96
|
+
}
|
|
97
|
+
return { steps, builtin };
|
|
98
|
+
}
|
|
99
|
+
function applyStep(val, step) {
|
|
100
|
+
if (step.kind === 'field') {
|
|
101
|
+
if (val && typeof val === 'object' && !Array.isArray(val)) {
|
|
102
|
+
return val[step.name];
|
|
103
|
+
}
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
if (step.kind === 'index') {
|
|
107
|
+
if (Array.isArray(val)) {
|
|
108
|
+
const idx = step.index < 0 ? val.length + step.index : step.index;
|
|
109
|
+
return val[idx];
|
|
110
|
+
}
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
if (step.kind === 'splat') {
|
|
114
|
+
if (Array.isArray(val))
|
|
115
|
+
return val;
|
|
116
|
+
if (val && typeof val === 'object')
|
|
117
|
+
return Object.values(val);
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
if (step.kind === 'slice') {
|
|
121
|
+
if (Array.isArray(val)) {
|
|
122
|
+
const end = Number.isFinite(step.end) ? step.end : val.length;
|
|
123
|
+
return val.slice(step.start, end);
|
|
124
|
+
}
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
function applyBuiltin(val, builtin) {
|
|
130
|
+
switch (builtin) {
|
|
131
|
+
case 'length':
|
|
132
|
+
if (Array.isArray(val) || typeof val === 'string')
|
|
133
|
+
return val.length;
|
|
134
|
+
if (val && typeof val === 'object')
|
|
135
|
+
return Object.keys(val).length;
|
|
136
|
+
return null;
|
|
137
|
+
case 'keys':
|
|
138
|
+
if (val && typeof val === 'object' && !Array.isArray(val))
|
|
139
|
+
return Object.keys(val);
|
|
140
|
+
return null;
|
|
141
|
+
case 'values':
|
|
142
|
+
if (val && typeof val === 'object' && !Array.isArray(val))
|
|
143
|
+
return Object.values(val);
|
|
144
|
+
return null;
|
|
145
|
+
case 'type':
|
|
146
|
+
if (val === null)
|
|
147
|
+
return 'null';
|
|
148
|
+
if (Array.isArray(val))
|
|
149
|
+
return 'array';
|
|
150
|
+
return typeof val;
|
|
151
|
+
case 'first':
|
|
152
|
+
if (Array.isArray(val))
|
|
153
|
+
return val[0];
|
|
154
|
+
return null;
|
|
155
|
+
case 'last':
|
|
156
|
+
if (Array.isArray(val))
|
|
157
|
+
return val[val.length - 1];
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
export function runJsonQuery(input, query) {
|
|
162
|
+
const parsed = parse(query);
|
|
163
|
+
if ('error' in parsed) {
|
|
164
|
+
return { ok: false, query, error: 'parse_failed', detail: parsed.error };
|
|
165
|
+
}
|
|
166
|
+
let cur = input;
|
|
167
|
+
for (const step of parsed.steps) {
|
|
168
|
+
cur = applyStep(cur, step);
|
|
169
|
+
if (cur === undefined)
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
if (parsed.builtin && cur !== undefined) {
|
|
173
|
+
cur = applyBuiltin(cur, parsed.builtin);
|
|
174
|
+
}
|
|
175
|
+
return { ok: true, query, result: cur };
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/json/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface EnsureLicenseOptions {
|
|
2
|
+
/** Force a sync regardless of the throttle window. */
|
|
3
|
+
force?: boolean;
|
|
4
|
+
/** Network timeout. Default 2500ms. */
|
|
5
|
+
timeoutMs?: number;
|
|
6
|
+
/** Sink for the transition note. Default: console.error (stderr, so
|
|
7
|
+
* it never pollutes a command's stdout / JSON output). */
|
|
8
|
+
notify?: (line: string) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Refresh the local license cache if it is stale. Resolves to the new
|
|
12
|
+
* plan string when a sync ran, or null when it was skipped/failed. Never
|
|
13
|
+
* throws.
|
|
14
|
+
*/
|
|
15
|
+
export declare function ensureLicenseFresh(opts?: EnsureLicenseOptions): Promise<string | null>;
|
|
16
|
+
/** Resolve the top-level command name for a (possibly nested) leaf. */
|
|
17
|
+
export declare function topLevelName(actionCommand: {
|
|
18
|
+
name(): string;
|
|
19
|
+
parent?: unknown;
|
|
20
|
+
} | null): string;
|
|
21
|
+
export declare function shouldAutoSync(topName: string): boolean;
|
|
22
|
+
//# sourceMappingURL=auto_sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto_sync.d.ts","sourceRoot":"","sources":["../../src/license/auto_sync.ts"],"names":[],"mappings":"AAwCA,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;+DAC2D;IAC3D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4BhG;AAWD,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,aAAa,EAAE;IAAE,IAAI,IAAI,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,MAAM,CAS/F;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD"}
|