@kynetic-ai/spec 0.1.2 → 0.4.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 +250 -17
- package/dist/acp/client.d.ts +18 -4
- package/dist/acp/client.d.ts.map +1 -1
- package/dist/acp/client.js +44 -26
- package/dist/acp/client.js.map +1 -1
- package/dist/acp/framing.d.ts +2 -2
- package/dist/acp/framing.d.ts.map +1 -1
- package/dist/acp/framing.js +37 -29
- package/dist/acp/framing.js.map +1 -1
- package/dist/acp/index.d.ts +6 -7
- package/dist/acp/index.d.ts.map +1 -1
- package/dist/acp/index.js +3 -3
- package/dist/acp/index.js.map +1 -1
- package/dist/acp/types.d.ts +5 -5
- package/dist/acp/types.d.ts.map +1 -1
- package/dist/acp/types.js +18 -18
- package/dist/acp/types.js.map +1 -1
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/adapters.js +24 -13
- package/dist/agents/adapters.js.map +1 -1
- package/dist/agents/index.d.ts +2 -2
- package/dist/agents/index.js +2 -2
- package/dist/agents/spawner.d.ts +4 -4
- package/dist/agents/spawner.d.ts.map +1 -1
- package/dist/agents/spawner.js +6 -6
- package/dist/agents/spawner.js.map +1 -1
- package/dist/cli/batch-context.d.ts +43 -0
- package/dist/cli/batch-context.d.ts.map +1 -0
- package/dist/cli/batch-context.js +93 -0
- package/dist/cli/batch-context.js.map +1 -0
- package/dist/cli/batch-exec.d.ts +107 -0
- package/dist/cli/batch-exec.d.ts.map +1 -0
- package/dist/cli/batch-exec.js +706 -0
- package/dist/cli/batch-exec.js.map +1 -0
- package/dist/cli/batch.d.ts +4 -2
- package/dist/cli/batch.d.ts.map +1 -1
- package/dist/cli/batch.js +15 -14
- package/dist/cli/batch.js.map +1 -1
- package/dist/cli/command-annotations.d.ts +23 -0
- package/dist/cli/command-annotations.d.ts.map +1 -0
- package/dist/cli/command-annotations.js +27 -0
- package/dist/cli/command-annotations.js.map +1 -0
- package/dist/cli/commands/agents.d.ts +46 -0
- package/dist/cli/commands/agents.d.ts.map +1 -0
- package/dist/cli/commands/agents.js +377 -0
- package/dist/cli/commands/agents.js.map +1 -0
- package/dist/cli/commands/batch.d.ts +20 -0
- package/dist/cli/commands/batch.d.ts.map +1 -0
- package/dist/cli/commands/batch.js +214 -0
- package/dist/cli/commands/batch.js.map +1 -0
- package/dist/cli/commands/clone-for-testing.d.ts +1 -1
- package/dist/cli/commands/clone-for-testing.d.ts.map +1 -1
- package/dist/cli/commands/clone-for-testing.js +37 -47
- package/dist/cli/commands/clone-for-testing.js.map +1 -1
- package/dist/cli/commands/derive.d.ts +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +141 -88
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +11 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +152 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/export.d.ts +12 -0
- package/dist/cli/commands/export.d.ts.map +1 -0
- package/dist/cli/commands/export.js +134 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/help.d.ts +1 -1
- package/dist/cli/commands/help.d.ts.map +1 -1
- package/dist/cli/commands/help.js +163 -37
- package/dist/cli/commands/help.js.map +1 -1
- package/dist/cli/commands/inbox.d.ts +1 -1
- package/dist/cli/commands/inbox.d.ts.map +1 -1
- package/dist/cli/commands/inbox.js +178 -56
- package/dist/cli/commands/inbox.js.map +1 -1
- package/dist/cli/commands/index.d.ts +31 -19
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +31 -19
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +5 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +108 -57
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/item.d.ts +1 -1
- package/dist/cli/commands/item.d.ts.map +1 -1
- package/dist/cli/commands/item.js +557 -274
- package/dist/cli/commands/item.js.map +1 -1
- package/dist/cli/commands/link.d.ts +1 -1
- package/dist/cli/commands/link.d.ts.map +1 -1
- package/dist/cli/commands/link.js +55 -46
- package/dist/cli/commands/link.js.map +1 -1
- package/dist/cli/commands/log.d.ts +1 -1
- package/dist/cli/commands/log.d.ts.map +1 -1
- package/dist/cli/commands/log.js +58 -51
- package/dist/cli/commands/log.js.map +1 -1
- package/dist/cli/commands/merge-driver.d.ts +19 -0
- package/dist/cli/commands/merge-driver.d.ts.map +1 -0
- package/dist/cli/commands/merge-driver.js +398 -0
- package/dist/cli/commands/merge-driver.js.map +1 -0
- package/dist/cli/commands/meta.d.ts +1 -1
- package/dist/cli/commands/meta.d.ts.map +1 -1
- package/dist/cli/commands/meta.js +534 -399
- package/dist/cli/commands/meta.js.map +1 -1
- package/dist/cli/commands/module.d.ts +1 -1
- package/dist/cli/commands/module.d.ts.map +1 -1
- package/dist/cli/commands/module.js +30 -25
- package/dist/cli/commands/module.js.map +1 -1
- package/dist/cli/commands/plan-import.d.ts +11 -0
- package/dist/cli/commands/plan-import.d.ts.map +1 -0
- package/dist/cli/commands/plan-import.js +547 -0
- package/dist/cli/commands/plan-import.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +10 -0
- package/dist/cli/commands/plan.d.ts.map +1 -0
- package/dist/cli/commands/plan.js +421 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/ralph.d.ts +1 -1
- package/dist/cli/commands/ralph.d.ts.map +1 -1
- package/dist/cli/commands/ralph.js +1109 -170
- package/dist/cli/commands/ralph.js.map +1 -1
- package/dist/cli/commands/refs.d.ts +13 -0
- package/dist/cli/commands/refs.d.ts.map +1 -0
- package/dist/cli/commands/refs.js +283 -0
- package/dist/cli/commands/refs.js.map +1 -0
- package/dist/cli/commands/search.d.ts +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +199 -37
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/serve.d.ts +10 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +491 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/session.d.ts +25 -6
- package/dist/cli/commands/session.d.ts.map +1 -1
- package/dist/cli/commands/session.js +810 -127
- package/dist/cli/commands/session.js.map +1 -1
- package/dist/cli/commands/setup-seeding.d.ts +81 -0
- package/dist/cli/commands/setup-seeding.d.ts.map +1 -0
- package/dist/cli/commands/setup-seeding.js +292 -0
- package/dist/cli/commands/setup-seeding.js.map +1 -0
- package/dist/cli/commands/setup.d.ts +77 -3
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +1267 -274
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/shadow.d.ts +1 -1
- package/dist/cli/commands/shadow.d.ts.map +1 -1
- package/dist/cli/commands/shadow.js +70 -50
- package/dist/cli/commands/shadow.js.map +1 -1
- package/dist/cli/commands/skill-crud.d.ts +58 -0
- package/dist/cli/commands/skill-crud.d.ts.map +1 -0
- package/dist/cli/commands/skill-crud.js +753 -0
- package/dist/cli/commands/skill-crud.js.map +1 -0
- package/dist/cli/commands/skill-diff.d.ts +27 -0
- package/dist/cli/commands/skill-diff.d.ts.map +1 -0
- package/dist/cli/commands/skill-diff.js +840 -0
- package/dist/cli/commands/skill-diff.js.map +1 -0
- package/dist/cli/commands/skill-install.d.ts +56 -0
- package/dist/cli/commands/skill-install.d.ts.map +1 -0
- package/dist/cli/commands/skill-install.js +509 -0
- package/dist/cli/commands/skill-install.js.map +1 -0
- package/dist/cli/commands/skill.d.ts +20 -0
- package/dist/cli/commands/skill.d.ts.map +1 -0
- package/dist/cli/commands/skill.js +36 -0
- package/dist/cli/commands/skill.js.map +1 -0
- package/dist/cli/commands/task.d.ts +1 -1
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +584 -350
- package/dist/cli/commands/task.js.map +1 -1
- package/dist/cli/commands/tasks.d.ts +26 -1
- package/dist/cli/commands/tasks.d.ts.map +1 -1
- package/dist/cli/commands/tasks.js +225 -122
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/commands/trait.d.ts +1 -1
- package/dist/cli/commands/trait.d.ts.map +1 -1
- package/dist/cli/commands/trait.js +166 -101
- package/dist/cli/commands/trait.js.map +1 -1
- package/dist/cli/commands/triage.d.ts +7 -0
- package/dist/cli/commands/triage.d.ts.map +1 -0
- package/dist/cli/commands/triage.js +483 -0
- package/dist/cli/commands/triage.js.map +1 -0
- package/dist/cli/commands/util.d.ts +7 -0
- package/dist/cli/commands/util.d.ts.map +1 -0
- package/dist/cli/commands/util.js +30 -0
- package/dist/cli/commands/util.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +1 -1
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +264 -83
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/commands/workflow.d.ts +16 -0
- package/dist/cli/commands/workflow.d.ts.map +1 -0
- package/dist/cli/commands/workflow.js +851 -0
- package/dist/cli/commands/workflow.js.map +1 -0
- package/dist/cli/exit-codes.d.ts +7 -0
- package/dist/cli/exit-codes.d.ts.map +1 -1
- package/dist/cli/exit-codes.js +26 -18
- package/dist/cli/exit-codes.js.map +1 -1
- package/dist/cli/help/content.d.ts.map +1 -1
- package/dist/cli/help/content.js +86 -71
- package/dist/cli/help/content.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +131 -19
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/introspection.d.ts +6 -2
- package/dist/cli/introspection.d.ts.map +1 -1
- package/dist/cli/introspection.js +11 -8
- package/dist/cli/introspection.js.map +1 -1
- package/dist/cli/output.d.ts +64 -4
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +237 -85
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/parse-utils.d.ts +21 -0
- package/dist/cli/parse-utils.d.ts.map +1 -0
- package/dist/cli/parse-utils.js +32 -0
- package/dist/cli/parse-utils.js.map +1 -0
- package/dist/cli/pid-utils.d.ts +72 -0
- package/dist/cli/pid-utils.d.ts.map +1 -0
- package/dist/cli/pid-utils.js +174 -0
- package/dist/cli/pid-utils.js.map +1 -0
- package/dist/cli/suggest.d.ts.map +1 -1
- package/dist/cli/suggest.js +1 -2
- package/dist/cli/suggest.js.map +1 -1
- package/dist/cli/validators.d.ts +43 -0
- package/dist/cli/validators.d.ts.map +1 -0
- package/dist/cli/validators.js +84 -0
- package/dist/cli/validators.js.map +1 -0
- package/dist/daemon/index.ts +52 -0
- package/dist/daemon/middleware/project-context.ts +126 -0
- package/dist/daemon/pid.ts +179 -0
- package/dist/daemon/project-context.ts +343 -0
- package/dist/daemon/routes/inbox.ts +164 -0
- package/dist/daemon/routes/items.ts +322 -0
- package/dist/daemon/routes/meta.ts +118 -0
- package/dist/daemon/routes/projects.ts +162 -0
- package/dist/daemon/routes/tasks.ts +327 -0
- package/dist/daemon/routes/triage.ts +402 -0
- package/dist/daemon/routes/validation.ts +248 -0
- package/dist/daemon/server.ts +408 -0
- package/dist/daemon/watcher.ts +195 -0
- package/dist/daemon/websocket/handler.ts +138 -0
- package/dist/daemon/websocket/heartbeat.ts +71 -0
- package/dist/daemon/websocket/pubsub.ts +125 -0
- package/dist/daemon/websocket/types.ts +66 -0
- package/dist/export/html.d.ts +19 -0
- package/dist/export/html.d.ts.map +1 -0
- package/dist/export/html.js +239 -0
- package/dist/export/html.js.map +1 -0
- package/dist/export/index.d.ts +10 -0
- package/dist/export/index.d.ts.map +1 -0
- package/dist/export/index.js +10 -0
- package/dist/export/index.js.map +1 -0
- package/dist/export/json.d.ts +24 -0
- package/dist/export/json.d.ts.map +1 -0
- package/dist/export/json.js +198 -0
- package/dist/export/json.js.map +1 -0
- package/dist/export/triage.d.ts +51 -0
- package/dist/export/triage.d.ts.map +1 -0
- package/dist/export/triage.js +83 -0
- package/dist/export/triage.js.map +1 -0
- package/dist/export/types.d.ts +122 -0
- package/dist/export/types.d.ts.map +1 -0
- package/dist/export/types.js +9 -0
- package/dist/export/types.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/lib/claude-plugin-registry.d.ts +66 -0
- package/dist/lib/claude-plugin-registry.d.ts.map +1 -0
- package/dist/lib/claude-plugin-registry.js +318 -0
- package/dist/lib/claude-plugin-registry.js.map +1 -0
- package/dist/merge/arrays.d.ts +87 -0
- package/dist/merge/arrays.d.ts.map +1 -0
- package/dist/merge/arrays.js +164 -0
- package/dist/merge/arrays.js.map +1 -0
- package/dist/merge/file-type.d.ts +32 -0
- package/dist/merge/file-type.d.ts.map +1 -0
- package/dist/merge/file-type.js +70 -0
- package/dist/merge/file-type.js.map +1 -0
- package/dist/merge/index.d.ts +14 -0
- package/dist/merge/index.d.ts.map +1 -0
- package/dist/merge/index.js +11 -0
- package/dist/merge/index.js.map +1 -0
- package/dist/merge/objects.d.ts +46 -0
- package/dist/merge/objects.d.ts.map +1 -0
- package/dist/merge/objects.js +193 -0
- package/dist/merge/objects.js.map +1 -0
- package/dist/merge/parse.d.ts +23 -0
- package/dist/merge/parse.d.ts.map +1 -0
- package/dist/merge/parse.js +78 -0
- package/dist/merge/parse.js.map +1 -0
- package/dist/merge/resolve.d.ts +66 -0
- package/dist/merge/resolve.d.ts.map +1 -0
- package/dist/merge/resolve.js +189 -0
- package/dist/merge/resolve.js.map +1 -0
- package/dist/merge/types.d.ts +82 -0
- package/dist/merge/types.d.ts.map +1 -0
- package/dist/merge/types.js +8 -0
- package/dist/merge/types.js.map +1 -0
- package/dist/parser/agent-data-sections.d.ts +53 -0
- package/dist/parser/agent-data-sections.d.ts.map +1 -0
- package/dist/parser/agent-data-sections.js +118 -0
- package/dist/parser/agent-data-sections.js.map +1 -0
- package/dist/parser/alignment.d.ts +4 -4
- package/dist/parser/alignment.d.ts.map +1 -1
- package/dist/parser/alignment.js +27 -22
- package/dist/parser/alignment.js.map +1 -1
- package/dist/parser/assess.d.ts +5 -5
- package/dist/parser/assess.d.ts.map +1 -1
- package/dist/parser/assess.js +36 -32
- package/dist/parser/assess.js.map +1 -1
- package/dist/parser/config.d.ts +457 -0
- package/dist/parser/config.d.ts.map +1 -0
- package/dist/parser/config.js +373 -0
- package/dist/parser/config.js.map +1 -0
- package/dist/parser/convention-validation.d.ts +1 -1
- package/dist/parser/convention-validation.d.ts.map +1 -1
- package/dist/parser/convention-validation.js +21 -16
- package/dist/parser/convention-validation.js.map +1 -1
- package/dist/parser/coverage-cache.d.ts +49 -0
- package/dist/parser/coverage-cache.d.ts.map +1 -0
- package/dist/parser/coverage-cache.js +123 -0
- package/dist/parser/coverage-cache.js.map +1 -0
- package/dist/parser/daemon-status.d.ts +37 -0
- package/dist/parser/daemon-status.d.ts.map +1 -0
- package/dist/parser/daemon-status.js +67 -0
- package/dist/parser/daemon-status.js.map +1 -0
- package/dist/parser/doctor.d.ts +107 -0
- package/dist/parser/doctor.d.ts.map +1 -0
- package/dist/parser/doctor.js +366 -0
- package/dist/parser/doctor.js.map +1 -0
- package/dist/parser/fix.d.ts +1 -1
- package/dist/parser/fix.d.ts.map +1 -1
- package/dist/parser/fix.js +31 -27
- package/dist/parser/fix.js.map +1 -1
- package/dist/parser/index.d.ts +16 -11
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +16 -11
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/items.d.ts +8 -2
- package/dist/parser/items.d.ts.map +1 -1
- package/dist/parser/items.js +71 -35
- package/dist/parser/items.js.map +1 -1
- package/dist/parser/meta.d.ts +167 -9
- package/dist/parser/meta.d.ts.map +1 -1
- package/dist/parser/meta.js +379 -46
- package/dist/parser/meta.js.map +1 -1
- package/dist/parser/plan-document.d.ts +197 -0
- package/dist/parser/plan-document.d.ts.map +1 -0
- package/dist/parser/plan-document.js +341 -0
- package/dist/parser/plan-document.js.map +1 -0
- package/dist/parser/plans.d.ts +59 -0
- package/dist/parser/plans.d.ts.map +1 -0
- package/dist/parser/plans.js +239 -0
- package/dist/parser/plans.js.map +1 -0
- package/dist/parser/refs.d.ts +22 -9
- package/dist/parser/refs.d.ts.map +1 -1
- package/dist/parser/refs.js +102 -50
- package/dist/parser/refs.js.map +1 -1
- package/dist/parser/setup-status.d.ts +71 -0
- package/dist/parser/setup-status.d.ts.map +1 -0
- package/dist/parser/setup-status.js +269 -0
- package/dist/parser/setup-status.js.map +1 -0
- package/dist/parser/shadow.d.ts +150 -19
- package/dist/parser/shadow.d.ts.map +1 -1
- package/dist/parser/shadow.js +548 -187
- package/dist/parser/shadow.js.map +1 -1
- package/dist/parser/skill-render.d.ts +317 -0
- package/dist/parser/skill-render.d.ts.map +1 -0
- package/dist/parser/skill-render.js +943 -0
- package/dist/parser/skill-render.js.map +1 -0
- package/dist/parser/traits.d.ts +3 -3
- package/dist/parser/traits.d.ts.map +1 -1
- package/dist/parser/traits.js +2 -2
- package/dist/parser/traits.js.map +1 -1
- package/dist/parser/validate-skills.d.ts +32 -0
- package/dist/parser/validate-skills.d.ts.map +1 -0
- package/dist/parser/validate-skills.js +202 -0
- package/dist/parser/validate-skills.js.map +1 -0
- package/dist/parser/validate.d.ts +45 -3
- package/dist/parser/validate.d.ts.map +1 -1
- package/dist/parser/validate.js +622 -105
- package/dist/parser/validate.js.map +1 -1
- package/dist/parser/yaml.d.ts +83 -19
- package/dist/parser/yaml.d.ts.map +1 -1
- package/dist/parser/yaml.js +478 -173
- package/dist/parser/yaml.js.map +1 -1
- package/dist/ralph/cli-renderer.d.ts +8 -1
- package/dist/ralph/cli-renderer.d.ts.map +1 -1
- package/dist/ralph/cli-renderer.js +105 -34
- package/dist/ralph/cli-renderer.js.map +1 -1
- package/dist/ralph/events.d.ts +10 -10
- package/dist/ralph/events.d.ts.map +1 -1
- package/dist/ralph/events.js +301 -98
- package/dist/ralph/events.js.map +1 -1
- package/dist/ralph/index.d.ts +5 -2
- package/dist/ralph/index.d.ts.map +1 -1
- package/dist/ralph/index.js +9 -3
- package/dist/ralph/index.js.map +1 -1
- package/dist/ralph/loop-errors.d.ts +83 -0
- package/dist/ralph/loop-errors.d.ts.map +1 -0
- package/dist/ralph/loop-errors.js +150 -0
- package/dist/ralph/loop-errors.js.map +1 -0
- package/dist/ralph/subagent.d.ts +94 -0
- package/dist/ralph/subagent.d.ts.map +1 -0
- package/dist/ralph/subagent.js +193 -0
- package/dist/ralph/subagent.js.map +1 -0
- package/dist/ralph/wrap-up.d.ts +125 -0
- package/dist/ralph/wrap-up.d.ts.map +1 -0
- package/dist/ralph/wrap-up.js +270 -0
- package/dist/ralph/wrap-up.js.map +1 -0
- package/dist/schema/batch.d.ts +97 -0
- package/dist/schema/batch.d.ts.map +1 -0
- package/dist/schema/batch.js +24 -0
- package/dist/schema/batch.js.map +1 -0
- package/dist/schema/common.d.ts +8 -2
- package/dist/schema/common.d.ts.map +1 -1
- package/dist/schema/common.js +42 -31
- package/dist/schema/common.js.map +1 -1
- package/dist/schema/inbox.d.ts +12 -12
- package/dist/schema/inbox.js +4 -4
- package/dist/schema/inbox.js.map +1 -1
- package/dist/schema/index.d.ts +8 -5
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +8 -5
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/meta.d.ts +1454 -27
- package/dist/schema/meta.d.ts.map +1 -1
- package/dist/schema/meta.js +198 -21
- package/dist/schema/meta.js.map +1 -1
- package/dist/schema/plan.d.ts +285 -0
- package/dist/schema/plan.d.ts.map +1 -0
- package/dist/schema/plan.js +81 -0
- package/dist/schema/plan.js.map +1 -0
- package/dist/schema/spec.d.ts +72 -33
- package/dist/schema/spec.d.ts.map +1 -1
- package/dist/schema/spec.js +22 -9
- package/dist/schema/spec.js.map +1 -1
- package/dist/schema/task.d.ts +172 -161
- package/dist/schema/task.d.ts.map +1 -1
- package/dist/schema/task.js +21 -12
- package/dist/schema/task.js.map +1 -1
- package/dist/schema/triage.d.ts +266 -0
- package/dist/schema/triage.d.ts.map +1 -0
- package/dist/schema/triage.js +134 -0
- package/dist/schema/triage.js.map +1 -0
- package/dist/sessions/index.d.ts +2 -2
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +3 -3
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/store.d.ts +241 -1
- package/dist/sessions/store.d.ts.map +1 -1
- package/dist/sessions/store.js +810 -31
- package/dist/sessions/store.js.map +1 -1
- package/dist/sessions/types.d.ts +10 -10
- package/dist/sessions/types.d.ts.map +1 -1
- package/dist/sessions/types.js +10 -9
- package/dist/sessions/types.js.map +1 -1
- package/dist/strings/errors.d.ts +55 -0
- package/dist/strings/errors.d.ts.map +1 -1
- package/dist/strings/errors.js +138 -106
- package/dist/strings/errors.js.map +1 -1
- package/dist/strings/guidance.d.ts.map +1 -1
- package/dist/strings/guidance.js +16 -16
- package/dist/strings/guidance.js.map +1 -1
- package/dist/strings/index.d.ts +4 -4
- package/dist/strings/index.d.ts.map +1 -1
- package/dist/strings/index.js +4 -4
- package/dist/strings/index.js.map +1 -1
- package/dist/strings/labels.d.ts +4 -0
- package/dist/strings/labels.d.ts.map +1 -1
- package/dist/strings/labels.js +45 -41
- package/dist/strings/labels.js.map +1 -1
- package/dist/strings/validation.d.ts.map +1 -1
- package/dist/strings/validation.js +71 -71
- package/dist/strings/validation.js.map +1 -1
- package/dist/triage/actions.d.ts +27 -0
- package/dist/triage/actions.d.ts.map +1 -0
- package/dist/triage/actions.js +95 -0
- package/dist/triage/actions.js.map +1 -0
- package/dist/triage/constants.d.ts +6 -0
- package/dist/triage/constants.d.ts.map +1 -0
- package/dist/triage/constants.js +7 -0
- package/dist/triage/constants.js.map +1 -0
- package/dist/triage/index.d.ts +3 -0
- package/dist/triage/index.d.ts.map +1 -0
- package/dist/triage/index.js +3 -0
- package/dist/triage/index.js.map +1 -0
- package/dist/utils/commit.d.ts +1 -1
- package/dist/utils/commit.d.ts.map +1 -1
- package/dist/utils/commit.js +28 -26
- package/dist/utils/commit.js.map +1 -1
- package/dist/utils/git.d.ts +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +40 -38
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/grep.js +11 -11
- package/dist/utils/grep.js.map +1 -1
- package/dist/utils/index.d.ts +7 -7
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -4
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/time.d.ts.map +1 -1
- package/dist/utils/time.js +10 -10
- package/dist/utils/time.js.map +1 -1
- package/package.json +28 -5
- package/plugin/.claude-plugin/marketplace.json +17 -0
- package/plugin/.claude-plugin/plugin.json +5 -0
- package/plugin/plugins/kspec/skills/create-workflow/SKILL.md +235 -0
- package/plugin/plugins/kspec/skills/help/SKILL.md +42 -0
- package/plugin/plugins/kspec/skills/observations/SKILL.md +143 -0
- package/plugin/plugins/kspec/skills/plan/SKILL.md +343 -0
- package/plugin/plugins/kspec/skills/reflect/SKILL.md +161 -0
- package/plugin/plugins/kspec/skills/review/SKILL.md +193 -0
- package/plugin/plugins/kspec/skills/task-work/SKILL.md +303 -0
- package/plugin/plugins/kspec/skills/triage/SKILL.md +206 -0
- package/plugin/plugins/kspec/skills/triage/docs/automation.md +120 -0
- package/plugin/plugins/kspec/skills/triage/docs/inbox.md +144 -0
- package/plugin/plugins/kspec/skills/triage/docs/observations.md +85 -0
- package/plugin/plugins/kspec/skills/triage-automation/SKILL.md +140 -0
- package/plugin/plugins/kspec/skills/triage-inbox/SKILL.md +232 -0
- package/plugin/plugins/kspec/skills/writing-specs/SKILL.md +340 -0
- package/templates/agents-sections/01-quick-start.md +22 -0
- package/templates/agents-sections/02-shadow-branch.md +34 -0
- package/templates/agents-sections/03-task-lifecycle.md +48 -0
- package/templates/agents-sections/04-pr-workflow.md +17 -0
- package/templates/agents-sections/05-commit-convention.md +27 -0
- package/templates/agents-sections/06-ralph-loop.md +45 -0
- package/templates/hooks/pre-commit +34 -0
- package/templates/skills/create-workflow/SKILL.md +228 -0
- package/templates/skills/help/SKILL.md +37 -0
- package/templates/skills/manifest.yaml +60 -0
- package/templates/skills/observations/SKILL.md +137 -0
- package/templates/skills/plan/SKILL.md +336 -0
- package/templates/skills/reflect/SKILL.md +155 -0
- package/templates/skills/review/SKILL.md +186 -0
- package/templates/skills/task-work/SKILL.md +296 -0
- package/templates/skills/triage/SKILL.md +199 -0
- package/templates/skills/triage/docs/automation.md +120 -0
- package/templates/skills/triage/docs/inbox.md +144 -0
- package/templates/skills/triage/docs/observations.md +85 -0
- package/templates/skills/triage-automation/SKILL.md +134 -0
- package/templates/skills/triage-inbox/SKILL.md +225 -0
- package/templates/skills/writing-specs/SKILL.md +333 -0
package/dist/strings/labels.js
CHANGED
|
@@ -1,65 +1,69 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Field labels and section headers used throughout the CLI output
|
|
3
3
|
*/
|
|
4
|
-
import chalk from
|
|
4
|
+
import chalk from "chalk";
|
|
5
5
|
/**
|
|
6
6
|
* Session context section headers
|
|
7
7
|
*/
|
|
8
8
|
export const sessionHeaders = {
|
|
9
|
-
title: chalk.blue.bold(
|
|
10
|
-
activeWork: chalk.cyan.bold(
|
|
11
|
-
noActiveWork: chalk.gray(
|
|
12
|
-
awaitingReview: chalk.yellow.bold(
|
|
13
|
-
recentlyCompleted: chalk.green.bold(
|
|
14
|
-
recentNotes: chalk.cyan.bold(
|
|
15
|
-
incompleteTodos: chalk.yellow.bold(
|
|
16
|
-
readyTasks: chalk.cyan.bold(
|
|
17
|
-
blocked: chalk.red.bold(
|
|
18
|
-
recentCommits: chalk.cyan.bold(
|
|
19
|
-
inbox: chalk.magenta.bold(
|
|
20
|
-
workingTree: chalk.yellow.bold(
|
|
21
|
-
workingTreeClean: chalk.gray(
|
|
22
|
-
quickCommands: chalk.gray.bold(
|
|
9
|
+
title: chalk.blue.bold("=== Session Context ==="),
|
|
10
|
+
activeWork: chalk.cyan.bold("--- Active Work ---"),
|
|
11
|
+
noActiveWork: chalk.gray("--- No Active Work ---"),
|
|
12
|
+
awaitingReview: chalk.yellow.bold("--- Awaiting Review ---"),
|
|
13
|
+
recentlyCompleted: chalk.green.bold("--- Recently Completed ---"),
|
|
14
|
+
recentNotes: chalk.cyan.bold("--- Recent Notes ---"),
|
|
15
|
+
incompleteTodos: chalk.yellow.bold("--- Incomplete Todos ---"),
|
|
16
|
+
readyTasks: chalk.cyan.bold("--- Ready to Pick Up ---"),
|
|
17
|
+
blocked: chalk.red.bold("--- Blocked ---"),
|
|
18
|
+
recentCommits: chalk.cyan.bold("--- Recent Commits ---"),
|
|
19
|
+
inbox: chalk.magenta.bold("--- Inbox (oldest first) ---"),
|
|
20
|
+
workingTree: chalk.yellow.bold("--- Working Tree ---"),
|
|
21
|
+
workingTreeClean: chalk.gray("--- Working Tree: Clean ---"),
|
|
22
|
+
quickCommands: chalk.gray.bold("--- Quick Commands ---"),
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
25
25
|
* Task/Item detail field labels
|
|
26
26
|
*/
|
|
27
27
|
export const fieldLabels = {
|
|
28
|
-
ulid:
|
|
29
|
-
slugs:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
28
|
+
ulid: "ULID:",
|
|
29
|
+
slugs: "Slugs:",
|
|
30
|
+
title: "Title:",
|
|
31
|
+
type: "Type:",
|
|
32
|
+
status: "Status:",
|
|
33
|
+
priority: "Priority:",
|
|
34
|
+
automation: "Automation:",
|
|
35
|
+
maturity: "Maturity:",
|
|
36
|
+
specRef: "Spec ref:",
|
|
37
|
+
metaRef: "Meta ref:",
|
|
38
|
+
depends: "Depends:",
|
|
39
|
+
blocked: "Blocked:",
|
|
40
|
+
dependsOn: "Depends on:",
|
|
41
|
+
implements: "Implements:",
|
|
42
|
+
relatesTo: "Relates to:",
|
|
43
|
+
tags: "Tags:",
|
|
44
|
+
created: "Created:",
|
|
45
|
+
started: "Started:",
|
|
46
|
+
completed: "Completed:",
|
|
47
|
+
implementation: "Implementation: ",
|
|
48
|
+
description: "Description:",
|
|
49
|
+
acceptanceCriteria: "Acceptance Criteria:",
|
|
50
|
+
traceability: "Traceability:",
|
|
47
51
|
};
|
|
48
52
|
/**
|
|
49
53
|
* Output section separators
|
|
50
54
|
*/
|
|
51
55
|
export const sectionHeaders = {
|
|
52
|
-
specContext: chalk.gray(
|
|
53
|
-
description: chalk.gray(
|
|
54
|
-
acceptanceCriteria: chalk.gray(
|
|
55
|
-
notes: chalk.gray(
|
|
56
|
-
todos: chalk.gray(
|
|
56
|
+
specContext: chalk.gray("─── Spec Context ───"),
|
|
57
|
+
description: chalk.gray("─── Description ───"),
|
|
58
|
+
acceptanceCriteria: chalk.gray("─── Acceptance Criteria ───"),
|
|
59
|
+
notes: chalk.gray("─── Notes ───"),
|
|
60
|
+
todos: chalk.gray("─── Todos ───"),
|
|
57
61
|
};
|
|
58
62
|
/**
|
|
59
63
|
* Common CLI hints/suggestions
|
|
60
64
|
*/
|
|
61
65
|
export const hints = {
|
|
62
|
-
inboxPromote: chalk.gray(
|
|
66
|
+
inboxPromote: chalk.gray("Use: kspec inbox promote <ref> to convert to task"),
|
|
63
67
|
taskNote: (ref) => chalk.gray(`Use: kspec task note ${ref} "<note>" to add context`),
|
|
64
68
|
taskComplete: (ref) => chalk.gray(`Use: kspec task complete ${ref} --reason "<summary>" when done`),
|
|
65
69
|
taskStart: (ref) => chalk.gray(`Use: kspec task start ${ref} to begin work`),
|
|
@@ -69,7 +73,7 @@ export const hints = {
|
|
|
69
73
|
* Summary/count messages
|
|
70
74
|
*/
|
|
71
75
|
export const summaries = {
|
|
72
|
-
noTasks: chalk.gray(
|
|
76
|
+
noTasks: chalk.gray("No tasks found"),
|
|
73
77
|
taskCount: (count) => chalk.gray(`${count} task(s)`),
|
|
74
78
|
};
|
|
75
79
|
//# sourceMappingURL=labels.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/strings/labels.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC;IACjD,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;IAClD,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC;IAClD,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;IAC5D,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC;IACjE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;IACpD,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC;IAC9D,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;IACvD,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC1C,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC;IACxD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC;IACzD,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC;IACtD,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC;IAC3D,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC;CAChD,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,cAAc,EAAE,kBAAkB;IAClC,WAAW,EAAE,cAAc;IAC3B,kBAAkB,EAAE,sBAAsB;IAC1C,YAAY,EAAE,eAAe;CACrB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAC/C,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC;IAC9C,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC;IAC7D,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;CAC1B,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC;IAC7E,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CACxB,KAAK,CAAC,IAAI,CAAC,wBAAwB,GAAG,0BAA0B,CAAC;IACnE,YAAY,EAAE,CAAC,GAAW,EAAE,EAAE,CAC5B,KAAK,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/strings/labels.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/strings/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,eAAO,MAAM,SAAS;;+BAEF,MAAM;;;6BAIV,MAAM,SAAS,MAAM;wCACV,MAAM;;;;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/strings/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,eAAO,MAAM,SAAS;;+BAEF,MAAM;;;6BAIV,MAAM,SAAS,MAAM;wCACV,MAAM;;;;6BAQjB,MAAM,SAAS,MAAM,cAAc,MAAM,YAAY,MAAM;;;;6BAQ3D,MAAM,SAAS,MAAM;;;mCAIb,MAAM,SAAS,MAAM;CAEnC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;CAef,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;8CAWH,MAAM,cACV,MAAM,WACT,MAAM;CAKT,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;wCAWA,MAAM;iCAEb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA8CD,MAAM;;;;;;;;;;;;;;;;;;;;CA6BrB,CAAC"}
|
|
@@ -1,135 +1,135 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Validation warning and status messages
|
|
3
3
|
*/
|
|
4
|
-
import chalk from
|
|
4
|
+
import chalk from "chalk";
|
|
5
5
|
/**
|
|
6
6
|
* Alignment validation messages
|
|
7
7
|
*/
|
|
8
8
|
export const alignment = {
|
|
9
|
-
ok: chalk.green(
|
|
9
|
+
ok: chalk.green("Alignment: OK"),
|
|
10
10
|
warnings: (count) => chalk.yellow(`Alignment warnings: ${count}`),
|
|
11
11
|
orphanedSpecs: {
|
|
12
|
-
header: chalk.yellow(
|
|
12
|
+
header: chalk.yellow("\nOrphaned specs (no implementation status):"),
|
|
13
13
|
item: (ref, title) => ` ${ref}: ${title}`,
|
|
14
14
|
truncated: (remaining) => chalk.gray(` ... and ${remaining} more (use --verbose to see all)`),
|
|
15
15
|
},
|
|
16
16
|
statusMismatches: {
|
|
17
|
-
header: chalk.yellow(
|
|
17
|
+
header: chalk.yellow("\nStatus mismatches (task status != spec implementation):"),
|
|
18
18
|
item: (ref, title, taskStatus, specImpl) => ` ${ref}: ${title} (task=${taskStatus}, spec=${specImpl})`,
|
|
19
19
|
},
|
|
20
20
|
staleImplementation: {
|
|
21
|
-
header: chalk.yellow(
|
|
21
|
+
header: chalk.yellow("\nStale implementation status (task completed but spec not implemented):"),
|
|
22
22
|
item: (ref, title) => ` ${ref}: ${title}`,
|
|
23
23
|
},
|
|
24
|
-
noFixes: chalk.gray(
|
|
24
|
+
noFixes: chalk.gray("No auto-fixable issues found."),
|
|
25
25
|
fixesApplied: (count, files) => chalk.cyan(`✓ Applied ${count} fix(es) to ${files} file(s):`),
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
28
|
* Shadow branch status messages
|
|
29
29
|
*/
|
|
30
30
|
export const shadowBranch = {
|
|
31
|
-
header: chalk.bold(
|
|
32
|
-
healthy: chalk.green.bold(
|
|
31
|
+
header: chalk.bold("Shadow Branch Status"),
|
|
32
|
+
healthy: chalk.green.bold("✓ Shadow branch is healthy"),
|
|
33
33
|
notInitialized: {
|
|
34
|
-
status: chalk.yellow(
|
|
35
|
-
hint: chalk.gray(
|
|
34
|
+
status: chalk.yellow("○ Shadow branch not initialized"),
|
|
35
|
+
hint: chalk.gray("Run `kspec init` to set up shadow branch"),
|
|
36
36
|
},
|
|
37
37
|
hasIssues: {
|
|
38
|
-
status: chalk.red.bold(
|
|
39
|
-
repair: chalk.gray(
|
|
40
|
-
reinitialize: chalk.gray(
|
|
38
|
+
status: chalk.red.bold("✗ Shadow branch has issues"),
|
|
39
|
+
repair: chalk.gray("Run `kspec shadow repair` to fix issues"),
|
|
40
|
+
reinitialize: chalk.gray("Or `kspec init --force` to reinitialize"),
|
|
41
41
|
},
|
|
42
42
|
};
|
|
43
43
|
/**
|
|
44
44
|
* General validation messages
|
|
45
45
|
*/
|
|
46
46
|
export const validation = {
|
|
47
|
-
noManifest:
|
|
48
|
-
initHint:
|
|
49
|
-
failed:
|
|
50
|
-
lintFailed:
|
|
51
|
-
revalidating: chalk.gray(
|
|
52
|
-
nowPasses: chalk.green.bold(
|
|
53
|
-
issuesRemain: chalk.yellow(
|
|
47
|
+
noManifest: "No kspec manifest found",
|
|
48
|
+
initHint: "Run `kspec init` to create a new project",
|
|
49
|
+
failed: "Validation failed",
|
|
50
|
+
lintFailed: "Lint failed",
|
|
51
|
+
revalidating: chalk.gray("\nRe-validating after fixes..."),
|
|
52
|
+
nowPasses: chalk.green.bold("✓ Validation now passes"),
|
|
53
|
+
issuesRemain: chalk.yellow("Some issues remain after auto-fix"),
|
|
54
54
|
alignmentStats: (specsWithTasks, totalSpecs, aligned) => chalk.gray(`\nAlignment stats: ${specsWithTasks}/${totalSpecs} specs have tasks, ${aligned} aligned`),
|
|
55
55
|
};
|
|
56
56
|
/**
|
|
57
57
|
* Shadow command messages
|
|
58
58
|
*/
|
|
59
59
|
export const shadowCommands = {
|
|
60
|
-
notGitRepo:
|
|
61
|
-
statusFailed:
|
|
60
|
+
notGitRepo: "Not a git repository",
|
|
61
|
+
statusFailed: "Failed to get shadow status",
|
|
62
62
|
repair: {
|
|
63
|
-
alreadyHealthy:
|
|
64
|
-
branchNotExist:
|
|
65
|
-
initHint: chalk.gray(
|
|
66
|
-
repairing:
|
|
67
|
-
stillHealthy:
|
|
68
|
-
repaired:
|
|
63
|
+
alreadyHealthy: "Shadow branch is already healthy, nothing to repair",
|
|
64
|
+
branchNotExist: "Shadow branch does not exist",
|
|
65
|
+
initHint: chalk.gray("Run `kspec init` to create a new shadow branch"),
|
|
66
|
+
repairing: "Repairing shadow branch worktree...",
|
|
67
|
+
stillHealthy: "Shadow branch is already healthy",
|
|
68
|
+
repaired: "Shadow branch repaired",
|
|
69
69
|
worktreeCreated: (dir) => chalk.green(` ✓ Recreated worktree: ${dir}/`),
|
|
70
70
|
failed: (error) => `Repair failed: ${error}`,
|
|
71
|
-
commandFailed:
|
|
71
|
+
commandFailed: "Failed to repair shadow branch",
|
|
72
72
|
},
|
|
73
73
|
log: {
|
|
74
|
-
branchNotExist:
|
|
75
|
-
initHint: chalk.gray(
|
|
76
|
-
hasIssues:
|
|
77
|
-
repairHint: chalk.gray(
|
|
78
|
-
noCommits:
|
|
79
|
-
failed:
|
|
74
|
+
branchNotExist: "Shadow branch does not exist",
|
|
75
|
+
initHint: chalk.gray("Run `kspec init` to set up shadow branch"),
|
|
76
|
+
hasIssues: "Shadow branch has issues",
|
|
77
|
+
repairHint: chalk.gray("Run `kspec shadow repair` to fix"),
|
|
78
|
+
noCommits: "No commits in shadow branch",
|
|
79
|
+
failed: "Failed to get shadow log",
|
|
80
80
|
},
|
|
81
81
|
resolve: {
|
|
82
|
-
notHealthy:
|
|
83
|
-
repairHint: chalk.gray(
|
|
84
|
-
acceptingRemote:
|
|
85
|
-
acceptedRemote:
|
|
86
|
-
keepingLocal:
|
|
87
|
-
keptLocal:
|
|
88
|
-
pushFailed:
|
|
89
|
-
localPreserved: chalk.gray(
|
|
90
|
-
failed:
|
|
82
|
+
notHealthy: "Shadow branch not healthy",
|
|
83
|
+
repairHint: chalk.gray("Run `kspec shadow repair` first"),
|
|
84
|
+
acceptingRemote: "Accepting remote changes...",
|
|
85
|
+
acceptedRemote: "Resolved: accepted all remote changes",
|
|
86
|
+
keepingLocal: "Keeping local changes...",
|
|
87
|
+
keptLocal: "Resolved: kept local changes and pushed to remote",
|
|
88
|
+
pushFailed: "Could not push local changes to remote",
|
|
89
|
+
localPreserved: chalk.gray("Local changes are preserved, but remote may differ"),
|
|
90
|
+
failed: "Failed to resolve conflicts",
|
|
91
91
|
interactive: {
|
|
92
|
-
header: chalk.bold(
|
|
93
|
-
separator: chalk.gray(
|
|
94
|
-
rebaseInProgress: chalk.yellow(
|
|
95
|
-
options:
|
|
92
|
+
header: chalk.bold("Shadow Branch Conflict Resolution"),
|
|
93
|
+
separator: chalk.gray("─".repeat(40)),
|
|
94
|
+
rebaseInProgress: chalk.yellow("A rebase is currently in progress."),
|
|
95
|
+
options: "Options:",
|
|
96
96
|
theirs: {
|
|
97
|
-
command: chalk.cyan(
|
|
98
|
-
description: chalk.gray(
|
|
97
|
+
command: chalk.cyan(" kspec shadow resolve --theirs"),
|
|
98
|
+
description: chalk.gray(" Accept all remote changes, discard local uncommitted work"),
|
|
99
99
|
},
|
|
100
100
|
ours: {
|
|
101
|
-
command: chalk.cyan(
|
|
102
|
-
description: chalk.gray(
|
|
101
|
+
command: chalk.cyan(" kspec shadow resolve --ours"),
|
|
102
|
+
description: chalk.gray(" Keep local changes and force-push to remote"),
|
|
103
103
|
},
|
|
104
104
|
manual: {
|
|
105
|
-
header: chalk.cyan(
|
|
105
|
+
header: chalk.cyan(" Manual resolution:"),
|
|
106
106
|
cdCommand: (dir) => chalk.gray(` cd ${dir}`),
|
|
107
107
|
rebaseSteps: [
|
|
108
|
-
chalk.gray(
|
|
109
|
-
chalk.gray(
|
|
110
|
-
chalk.gray(
|
|
108
|
+
chalk.gray(" # Edit conflicting files"),
|
|
109
|
+
chalk.gray(" git add <resolved-files>"),
|
|
110
|
+
chalk.gray(" git rebase --continue"),
|
|
111
111
|
],
|
|
112
112
|
pullSteps: [
|
|
113
|
-
chalk.gray(
|
|
114
|
-
chalk.gray(
|
|
115
|
-
chalk.gray(
|
|
113
|
+
chalk.gray(" git pull --rebase"),
|
|
114
|
+
chalk.gray(" # Resolve any conflicts, then:"),
|
|
115
|
+
chalk.gray(" git push"),
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
118
|
},
|
|
119
119
|
},
|
|
120
120
|
sync: {
|
|
121
|
-
notHealthy:
|
|
122
|
-
repairHint: chalk.gray(
|
|
123
|
-
noRemote:
|
|
124
|
-
localOnly: chalk.gray(
|
|
125
|
-
syncing:
|
|
126
|
-
conflictDetected:
|
|
127
|
-
resolveHint: chalk.gray(
|
|
128
|
-
syncedBoth:
|
|
129
|
-
syncedPull:
|
|
130
|
-
syncedPush:
|
|
131
|
-
alreadyInSync:
|
|
132
|
-
failed:
|
|
121
|
+
notHealthy: "Shadow branch not healthy",
|
|
122
|
+
repairHint: chalk.gray("Run `kspec shadow repair` first"),
|
|
123
|
+
noRemote: "No remote tracking configured for shadow branch",
|
|
124
|
+
localOnly: chalk.gray("Shadow changes are local only"),
|
|
125
|
+
syncing: "Syncing shadow branch...",
|
|
126
|
+
conflictDetected: "Sync conflict detected",
|
|
127
|
+
resolveHint: chalk.gray("Run `kspec shadow resolve` to fix"),
|
|
128
|
+
syncedBoth: "Shadow branch synced (pulled and pushed)",
|
|
129
|
+
syncedPull: "Shadow branch synced (pulled, nothing to push)",
|
|
130
|
+
syncedPush: "Shadow branch synced (pushed, nothing to pull)",
|
|
131
|
+
alreadyInSync: "Shadow branch already in sync",
|
|
132
|
+
failed: "Failed to sync shadow branch",
|
|
133
133
|
},
|
|
134
134
|
};
|
|
135
135
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/strings/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;IAChC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,KAAK,EAAE,CAAC;IAEzE,aAAa,EAAE;QACb,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC;QACpE,IAAI,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,KAAK,EAAE;QAC1D,SAAS,EAAE,CAAC,SAAiB,EAAE,EAAE,CAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,kCAAkC,CAAC;KACvE;IAED,gBAAgB,EAAE;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/strings/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { KspecContext } from "../parser/yaml.js";
|
|
2
|
+
import type { LoadedTriageRecord } from "../parser/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Result of executing a triage action.
|
|
5
|
+
*/
|
|
6
|
+
export interface TriageActionResult {
|
|
7
|
+
resultRef?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Options for executeTriageAction.
|
|
11
|
+
* - dryRun: If true, describe what would happen without executing.
|
|
12
|
+
* - onInfo: Optional callback for informational messages (used by CLI for logging).
|
|
13
|
+
*/
|
|
14
|
+
export interface ExecuteTriageActionOptions {
|
|
15
|
+
dryRun?: boolean;
|
|
16
|
+
onInfo?: (message: string) => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Execute a triage action against the kspec context.
|
|
20
|
+
*
|
|
21
|
+
* Shared between CLI and daemon. The CLI passes dryRun and onInfo for
|
|
22
|
+
* user-facing output; the daemon calls with no options for silent execution.
|
|
23
|
+
*
|
|
24
|
+
* AC: @triage-cli-commands ac-4, ac-5, ac-6, ac-7, ac-8
|
|
25
|
+
*/
|
|
26
|
+
export declare function executeTriageAction(record: LoadedTriageRecord, ctx: KspecContext, options?: ExecuteTriageActionOptions): Promise<TriageActionResult>;
|
|
27
|
+
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/triage/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAe7D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,EAC1B,GAAG,EAAE,YAAY,EACjB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,kBAAkB,CAAC,CAyF7B"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { createObservation, createTask, deleteInboxItem, findInboxItemByRef, loadAllItems, loadAllTasks, loadInboxItems, ReferenceIndex, saveObservation, saveTask, } from "../parser/index.js";
|
|
2
|
+
import { truncateText } from "../export/triage.js";
|
|
3
|
+
/**
|
|
4
|
+
* Execute a triage action against the kspec context.
|
|
5
|
+
*
|
|
6
|
+
* Shared between CLI and daemon. The CLI passes dryRun and onInfo for
|
|
7
|
+
* user-facing output; the daemon calls with no options for silent execution.
|
|
8
|
+
*
|
|
9
|
+
* AC: @triage-cli-commands ac-4, ac-5, ac-6, ac-7, ac-8
|
|
10
|
+
*/
|
|
11
|
+
export async function executeTriageAction(record, ctx, options = {}) {
|
|
12
|
+
const { dryRun = false, onInfo } = options;
|
|
13
|
+
const action = record.action;
|
|
14
|
+
if (!action) {
|
|
15
|
+
throw new Error("Record has no action to execute");
|
|
16
|
+
}
|
|
17
|
+
switch (action) {
|
|
18
|
+
case "promote": {
|
|
19
|
+
// AC: @triage-cli-commands ac-4
|
|
20
|
+
if (dryRun) {
|
|
21
|
+
onInfo?.(`Would create task from inbox item snapshot: "${truncateText(record.item_snapshot)}"`);
|
|
22
|
+
return {};
|
|
23
|
+
}
|
|
24
|
+
const task = createTask({
|
|
25
|
+
title: record.item_snapshot.split("\n")[0].slice(0, 100),
|
|
26
|
+
type: "task",
|
|
27
|
+
priority: 3,
|
|
28
|
+
spec_ref: null,
|
|
29
|
+
tags: [],
|
|
30
|
+
description: record.item_snapshot,
|
|
31
|
+
});
|
|
32
|
+
await saveTask(ctx, task);
|
|
33
|
+
const tasks = await loadAllTasks(ctx);
|
|
34
|
+
const items = await loadAllItems(ctx);
|
|
35
|
+
const index = new ReferenceIndex(tasks, items);
|
|
36
|
+
const taskRef = `@${index.shortUlid(task._ulid)}`;
|
|
37
|
+
onInfo?.(`Created task: ${taskRef} - ${task.title}`);
|
|
38
|
+
return { resultRef: taskRef };
|
|
39
|
+
}
|
|
40
|
+
case "delete": {
|
|
41
|
+
// AC: @triage-cli-commands ac-5
|
|
42
|
+
if (dryRun) {
|
|
43
|
+
onInfo?.(`Would delete inbox item: ${record.inbox_ref.slice(0, 8)}`);
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
const inboxItems = await loadInboxItems(ctx);
|
|
47
|
+
const inboxItem = findInboxItemByRef(inboxItems, record.inbox_ref);
|
|
48
|
+
if (inboxItem) {
|
|
49
|
+
await deleteInboxItem(ctx, inboxItem._ulid);
|
|
50
|
+
onInfo?.(`Deleted inbox item: ${record.inbox_ref.slice(0, 8)}`);
|
|
51
|
+
}
|
|
52
|
+
return {};
|
|
53
|
+
}
|
|
54
|
+
case "defer": {
|
|
55
|
+
// AC: @triage-cli-commands ac-6
|
|
56
|
+
if (dryRun) {
|
|
57
|
+
onInfo?.(`Would defer: no side effects beyond recording the deferral`);
|
|
58
|
+
return {};
|
|
59
|
+
}
|
|
60
|
+
return {};
|
|
61
|
+
}
|
|
62
|
+
case "spec-gap": {
|
|
63
|
+
// AC: @triage-cli-commands ac-7
|
|
64
|
+
if (dryRun) {
|
|
65
|
+
onInfo?.(`Would create spec-gap observation from: "${truncateText(record.item_snapshot)}"`);
|
|
66
|
+
return {};
|
|
67
|
+
}
|
|
68
|
+
const content = `[spec-gap] ${record.item_snapshot}\n\nReasoning: ${record.reasoning || ""}`;
|
|
69
|
+
const observation = createObservation("question", content, {
|
|
70
|
+
configAuthor: ctx.config?.identity?.author,
|
|
71
|
+
});
|
|
72
|
+
await saveObservation(ctx, observation);
|
|
73
|
+
const obsRef = `@${observation._ulid.slice(0, 8)}`;
|
|
74
|
+
onInfo?.(`Created spec-gap observation: ${obsRef}`);
|
|
75
|
+
return { resultRef: obsRef };
|
|
76
|
+
}
|
|
77
|
+
case "duplicate": {
|
|
78
|
+
// AC: @triage-cli-commands ac-8
|
|
79
|
+
if (dryRun) {
|
|
80
|
+
onInfo?.(`Would delete duplicate inbox item: ${record.inbox_ref.slice(0, 8)}`);
|
|
81
|
+
return {};
|
|
82
|
+
}
|
|
83
|
+
const dupItems = await loadInboxItems(ctx);
|
|
84
|
+
const dupItem = findInboxItemByRef(dupItems, record.inbox_ref);
|
|
85
|
+
if (dupItem) {
|
|
86
|
+
await deleteInboxItem(ctx, dupItem._ulid);
|
|
87
|
+
onInfo?.(`Deleted duplicate inbox item: ${record.inbox_ref.slice(0, 8)}`);
|
|
88
|
+
}
|
|
89
|
+
return {};
|
|
90
|
+
}
|
|
91
|
+
default:
|
|
92
|
+
return {};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/triage/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/triage/constants.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAA+B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TriageActionSchema } from "../schema/triage.js";
|
|
2
|
+
/**
|
|
3
|
+
* Valid triage actions derived from the Zod schema.
|
|
4
|
+
* Single source of truth — use this instead of hardcoding action strings.
|
|
5
|
+
*/
|
|
6
|
+
export const VALID_ACTIONS = TriageActionSchema.options;
|
|
7
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/triage/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAsB,kBAAkB,CAAC,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/triage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,GACxB,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/triage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,mBAAmB,GAGpB,MAAM,cAAc,CAAC"}
|
package/dist/utils/commit.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/utils/commit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+CAA+C;IAC/C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,cAAc,
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/utils/commit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+CAA+C;IAC/C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,cAAc,CAsBhB;AAsBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAmBlE"}
|