@kynetic-ai/spec 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +116 -0
- package/dist/cli/batch-exec.d.ts.map +1 -0
- package/dist/cli/batch-exec.js +694 -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 +140 -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 +57 -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 +533 -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 +516 -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 +1097 -169
- 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 +811 -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 +1233 -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 +53 -0
- package/dist/cli/commands/skill-install.d.ts.map +1 -0
- package/dist/cli/commands/skill-install.js +452 -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 +569 -346
- 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 +227 -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 +569 -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 +235 -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 +468 -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 +351 -0
- package/dist/parser/config.d.ts.map +1 -0
- package/dist/parser/config.js +326 -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 +189 -0
- package/dist/parser/plan-document.d.ts.map +1 -0
- package/dist/parser/plan-document.js +340 -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 +277 -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 +83 -0
- package/dist/ralph/subagent.d.ts.map +1 -0
- package/dist/ralph/subagent.js +174 -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 +95 -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 +2 -2
- package/dist/schema/common.d.ts.map +1 -1
- package/dist/schema/common.js +34 -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 +233 -1
- package/dist/sessions/store.d.ts.map +1 -1
- package/dist/sessions/store.js +628 -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 +51 -0
- package/dist/strings/errors.d.ts.map +1 -1
- package/dist/strings/errors.js +136 -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/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/help/SKILL.md +42 -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/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/help/SKILL.md +37 -0
- package/templates/skills/manifest.yaml +15 -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/dist/cli/index.js
CHANGED
|
@@ -1,35 +1,135 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
2
|
+
import { realpathSync } from "node:fs";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import { Command } from "commander";
|
|
6
6
|
// Read version from package.json at runtime
|
|
7
7
|
// AC: @cli-version ac-2 - version automatically reflects package.json without code changes
|
|
8
8
|
const require = createRequire(import.meta.url);
|
|
9
|
-
const { version } = require(
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { EXIT_CODES } from
|
|
9
|
+
const { version } = require("../../package.json");
|
|
10
|
+
import { setVerboseModeGetter } from "../parser/shadow.js";
|
|
11
|
+
import { initContext } from "../parser/yaml.js";
|
|
12
|
+
import { isBatchMode } from "./batch-context.js";
|
|
13
|
+
import { registerAgentsCommands, registerBatchCommand, registerCloneForTestingCommand, registerDeriveCommand, registerDoctorCommand, registerExportCommand, registerHelpCommand, registerInboxCommands, registerInitCommand, registerItemCommands, registerItemTraitCommands, registerLinkCommands, registerLogCommand, registerMergeDriverCommand, registerMetaCommands, registerModuleCommands, registerPlanCommands, registerRalphCommand, registerRefsCommand, registerSearchCommand, registerServeCommands, registerSessionCommands, registerSetupCommand, registerShadowCommands, registerSkillCommands, registerTaskCommands, registerTasksCommands, registerTraitCommands, registerTriageCommands, registerUtilCommands, registerValidateCommand, registerWorkflowCommand, } from "./commands/index.js";
|
|
14
|
+
import { EXIT_CODES } from "./exit-codes.js";
|
|
15
|
+
import { getVerboseMode, setJsonMode, setVerboseMode, setYamlMode, } from "./output.js";
|
|
16
|
+
import { COMMAND_ALIASES, findClosestCommand, getAllCommands, } from "./suggest.js";
|
|
17
|
+
import { PidFileManager } from "./pid-utils.js";
|
|
18
|
+
import { spawn } from "child_process";
|
|
19
|
+
import { join } from "path";
|
|
20
|
+
import { existsSync } from "fs";
|
|
15
21
|
const program = new Command();
|
|
16
22
|
// Initialize verbose mode getter for shadow operations
|
|
17
23
|
setVerboseModeGetter(getVerboseMode);
|
|
24
|
+
// Track if we've already shown the manifest daemon deprecation warning this session
|
|
25
|
+
let manifestDaemonWarningShown = false;
|
|
26
|
+
/**
|
|
27
|
+
* Auto-start daemon if configured and not already running
|
|
28
|
+
* AC: @daemon-server (implicit auto-start behavior)
|
|
29
|
+
* AC: @config-daemon ac-3 — uses config.daemon.auto_start
|
|
30
|
+
* AC: @config-daemon ac-4 — deprecation warning for manifest daemon block
|
|
31
|
+
*/
|
|
32
|
+
async function maybeAutoStartDaemon() {
|
|
33
|
+
try {
|
|
34
|
+
// Load context to get daemon config from kspec.config.yaml
|
|
35
|
+
const context = await initContext();
|
|
36
|
+
const daemonConfig = context.config.daemon;
|
|
37
|
+
// AC: @config-daemon ac-4 — emit deprecation warning if manifest has daemon block
|
|
38
|
+
if (context.manifest?.daemon && !manifestDaemonWarningShown) {
|
|
39
|
+
manifestDaemonWarningShown = true;
|
|
40
|
+
console.error(chalk.yellow('Warning: Manifest "daemon" block is deprecated.'));
|
|
41
|
+
console.error(chalk.yellow(' Migrate to kspec.config.yaml:'));
|
|
42
|
+
console.error(chalk.gray(' daemon:'));
|
|
43
|
+
console.error(chalk.gray(` port: ${context.manifest.daemon.port ?? 3456}`));
|
|
44
|
+
console.error(chalk.gray(` auto_start: ${context.manifest.daemon.auto_start ?? true}`));
|
|
45
|
+
}
|
|
46
|
+
// AC: @config-daemon ac-3 — auto_start from config (defaults to true)
|
|
47
|
+
if (!daemonConfig.auto_start) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// AC: @config-daemon ac-1 — port from config (defaults to 3456)
|
|
51
|
+
const port = daemonConfig.port;
|
|
52
|
+
// Check if daemon is already running
|
|
53
|
+
const kspecDir = context.specDir;
|
|
54
|
+
const pidManager = new PidFileManager(kspecDir);
|
|
55
|
+
if (pidManager.isDaemonRunning()) {
|
|
56
|
+
// Already running, nothing to do
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// Get path to daemon entry point - resolve relative to installed package
|
|
60
|
+
const packageRoot = join(import.meta.dirname, '../../');
|
|
61
|
+
const daemonBinary = join(packageRoot, 'dist/daemon/index.js');
|
|
62
|
+
if (!existsSync(daemonBinary)) {
|
|
63
|
+
// Daemon not available, skip silently
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
// Start daemon in background using current runtime
|
|
67
|
+
// Set BUN_ENV=production to prevent Bun dev mode HTML transformation
|
|
68
|
+
const child = spawn(process.execPath, [daemonBinary, '--port', String(port), '--kspec-dir', kspecDir], {
|
|
69
|
+
detached: true,
|
|
70
|
+
stdio: 'ignore',
|
|
71
|
+
cwd: process.cwd(),
|
|
72
|
+
env: { ...process.env, BUN_ENV: 'production' },
|
|
73
|
+
});
|
|
74
|
+
// Detach from parent
|
|
75
|
+
child.unref();
|
|
76
|
+
// Don't wait for daemon to start - let it happen in background
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// Errors during auto-start are non-fatal - continue with command
|
|
80
|
+
}
|
|
81
|
+
}
|
|
18
82
|
program
|
|
19
|
-
.name(
|
|
20
|
-
.description(
|
|
83
|
+
.name("kspec")
|
|
84
|
+
.description("Kynetic Spec - Structured specification format CLI")
|
|
21
85
|
.version(version)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
.
|
|
25
|
-
//
|
|
86
|
+
// AC: @output-format-option ac-format-json, ac-format-yaml, ac-global-scope
|
|
87
|
+
// Note: We use shorthands --json, --yaml, --raw as global options
|
|
88
|
+
// --format is NOT global because it conflicts with command-specific --format options (e.g., export)
|
|
89
|
+
// Commands can still use --format locally; the global behavior uses shorthands only
|
|
90
|
+
.option("--json", "Output in JSON format")
|
|
91
|
+
.option("--yaml", "Output in YAML format")
|
|
92
|
+
.option("--raw", "Output in raw JSON format (same as --json)")
|
|
93
|
+
.option("--debug-shadow", "Enable debug output for shadow operations")
|
|
94
|
+
.hook("preAction", async (thisCommand, actionCommand) => {
|
|
95
|
+
// Skip all hooks during batch dispatch — the batch handler manages modes itself
|
|
96
|
+
if (isBatchMode())
|
|
97
|
+
return;
|
|
98
|
+
// The actionCommand is the actual command being executed (e.g., 'export')
|
|
99
|
+
const executingCommandName = actionCommand.name();
|
|
100
|
+
// Check format options at top level
|
|
26
101
|
const opts = thisCommand.opts();
|
|
27
|
-
|
|
102
|
+
// AC: @output-format-option ac-conflict-error
|
|
103
|
+
// Detect conflicting format shorthand specifications
|
|
104
|
+
const formatFlags = [];
|
|
105
|
+
if (opts.json)
|
|
106
|
+
formatFlags.push("--json");
|
|
107
|
+
if (opts.yaml)
|
|
108
|
+
formatFlags.push("--yaml");
|
|
109
|
+
if (opts.raw)
|
|
110
|
+
formatFlags.push("--raw");
|
|
111
|
+
if (formatFlags.length > 1) {
|
|
112
|
+
console.error(chalk.red(`error: Conflicting format options: ${formatFlags.join(", ")}`));
|
|
113
|
+
console.error(chalk.gray("Use only one of: --json, --yaml, --raw"));
|
|
114
|
+
process.exit(EXIT_CODES.ERROR);
|
|
115
|
+
}
|
|
116
|
+
// AC: @output-format-option ac-json-shorthand, ac-raw-shorthand, ac-yaml-shorthand
|
|
117
|
+
// Set output format based on shorthand flags
|
|
118
|
+
if (opts.json || opts.raw) {
|
|
28
119
|
setJsonMode(true);
|
|
29
120
|
}
|
|
121
|
+
else if (opts.yaml) {
|
|
122
|
+
setYamlMode(true);
|
|
123
|
+
}
|
|
30
124
|
if (opts.debugShadow) {
|
|
31
125
|
setVerboseMode(true);
|
|
32
126
|
}
|
|
127
|
+
// Auto-start daemon if configured and not running
|
|
128
|
+
// Skip for init, serve, and help commands
|
|
129
|
+
const skipCommands = ['init', 'serve', 'help', 'kspec'];
|
|
130
|
+
if (!skipCommands.includes(executingCommandName)) {
|
|
131
|
+
await maybeAutoStartDaemon();
|
|
132
|
+
}
|
|
33
133
|
});
|
|
34
134
|
// Register command groups
|
|
35
135
|
registerTasksCommands(program);
|
|
@@ -39,25 +139,37 @@ registerSessionCommands(program);
|
|
|
39
139
|
registerInitCommand(program);
|
|
40
140
|
// Register item commands first, then add trait subcommands to it
|
|
41
141
|
registerItemCommands(program);
|
|
42
|
-
const itemCmd = program.commands.find(cmd => cmd.name() ===
|
|
142
|
+
const itemCmd = program.commands.find((cmd) => cmd.name() === "item");
|
|
43
143
|
if (itemCmd) {
|
|
44
144
|
registerItemTraitCommands(itemCmd);
|
|
45
145
|
}
|
|
46
146
|
registerTraitCommands(program);
|
|
47
147
|
registerValidateCommand(program);
|
|
48
148
|
registerHelpCommand(program);
|
|
149
|
+
registerDoctorCommand(program);
|
|
49
150
|
registerDeriveCommand(program);
|
|
50
151
|
registerInboxCommands(program);
|
|
152
|
+
registerTriageCommands(program);
|
|
51
153
|
registerShadowCommands(program);
|
|
52
154
|
registerLogCommand(program);
|
|
53
155
|
registerSearchCommand(program);
|
|
156
|
+
registerRefsCommand(program);
|
|
157
|
+
registerServeCommands(program);
|
|
54
158
|
registerRalphCommand(program);
|
|
55
159
|
registerMetaCommands(program);
|
|
56
160
|
registerLinkCommands(program);
|
|
57
161
|
registerModuleCommands(program);
|
|
162
|
+
registerPlanCommands(program);
|
|
58
163
|
registerCloneForTestingCommand(program);
|
|
164
|
+
registerWorkflowCommand(program);
|
|
165
|
+
registerMergeDriverCommand(program);
|
|
166
|
+
registerExportCommand(program);
|
|
167
|
+
registerUtilCommands(program);
|
|
168
|
+
registerBatchCommand(program);
|
|
169
|
+
registerSkillCommands(program);
|
|
170
|
+
registerAgentsCommands(program);
|
|
59
171
|
// Handle unknown commands with suggestions
|
|
60
|
-
program.on(
|
|
172
|
+
program.on("command:*", (operands) => {
|
|
61
173
|
const unknownCommand = operands[0];
|
|
62
174
|
// Check for direct alias match
|
|
63
175
|
if (COMMAND_ALIASES[unknownCommand]) {
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This module provides the foundation for auto-generated CLI documentation
|
|
5
5
|
* by extracting command metadata directly from Commander.js definitions.
|
|
6
6
|
*/
|
|
7
|
-
import { Command } from
|
|
7
|
+
import type { Command } from "commander";
|
|
8
8
|
/**
|
|
9
9
|
* Metadata for a single command option
|
|
10
10
|
*/
|
|
@@ -13,8 +13,10 @@ export interface OptionMeta {
|
|
|
13
13
|
flags: string;
|
|
14
14
|
/** Option description */
|
|
15
15
|
description: string;
|
|
16
|
-
/** Whether option is required */
|
|
16
|
+
/** Whether the option's value is required when used (i.e. <value> not [value]) */
|
|
17
17
|
required: boolean;
|
|
18
|
+
/** Whether the option itself must be provided (i.e. requiredOption) */
|
|
19
|
+
mandatory: boolean;
|
|
18
20
|
/** Default value if any */
|
|
19
21
|
defaultValue?: unknown;
|
|
20
22
|
/** Whether option can be repeated */
|
|
@@ -53,6 +55,8 @@ export interface CommandMeta {
|
|
|
53
55
|
subcommands: CommandMeta[];
|
|
54
56
|
/** Whether this command is hidden */
|
|
55
57
|
hidden: boolean;
|
|
58
|
+
/** Whether this command mutates kspec state (annotated via markMutating) */
|
|
59
|
+
mutating: boolean;
|
|
56
60
|
}
|
|
57
61
|
/**
|
|
58
62
|
* Extract complete command tree from a Commander program
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspection.d.ts","sourceRoot":"","sources":["../../src/cli/introspection.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAA6B,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"introspection.d.ts","sourceRoot":"","sources":["../../src/cli/introspection.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAA6B,MAAM,WAAW,CAAC;AAGpE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qCAAqC;IACrC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,wBAAwB;IACxB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,sBAAsB;IACtB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,kBAAkB;IAClB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,qCAAqC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;CACnB;AA8BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,UAAU,GAAE,MAAM,EAAO,GACxB,WAAW,CA8Bb;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EAAE,GACb,WAAW,GAAG,IAAI,CAuBpB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,EAAE,CAQnE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAkB/D"}
|
|
@@ -5,14 +5,16 @@
|
|
|
5
5
|
* This module provides the foundation for auto-generated CLI documentation
|
|
6
6
|
* by extracting command metadata directly from Commander.js definitions.
|
|
7
7
|
*/
|
|
8
|
+
import { getAnnotation } from "./command-annotations.js";
|
|
8
9
|
/**
|
|
9
10
|
* Extract metadata for a single option
|
|
10
11
|
*/
|
|
11
12
|
function extractOptionMeta(option) {
|
|
12
13
|
return {
|
|
13
14
|
flags: option.flags,
|
|
14
|
-
description: option.description ||
|
|
15
|
+
description: option.description || "",
|
|
15
16
|
required: option.required,
|
|
17
|
+
mandatory: option.mandatory ?? false,
|
|
16
18
|
defaultValue: option.defaultValue,
|
|
17
19
|
variadic: option.variadic,
|
|
18
20
|
};
|
|
@@ -25,7 +27,7 @@ function extractArgumentsMeta(command) {
|
|
|
25
27
|
const args = command.registeredArguments || [];
|
|
26
28
|
return args.map((arg) => ({
|
|
27
29
|
name: arg.name(),
|
|
28
|
-
description: arg.description ||
|
|
30
|
+
description: arg.description || "",
|
|
29
31
|
required: arg.required,
|
|
30
32
|
variadic: arg.variadic,
|
|
31
33
|
}));
|
|
@@ -54,12 +56,13 @@ export function extractCommandTree(command, parentPath = []) {
|
|
|
54
56
|
return {
|
|
55
57
|
name: commandName,
|
|
56
58
|
fullPath,
|
|
57
|
-
description: command.description() ||
|
|
59
|
+
description: command.description() || "",
|
|
58
60
|
aliases: command.aliases(),
|
|
59
61
|
arguments: args,
|
|
60
62
|
options,
|
|
61
63
|
subcommands,
|
|
62
64
|
hidden: isHidden(command),
|
|
65
|
+
mutating: getAnnotation(command)?.mutating ?? false,
|
|
63
66
|
};
|
|
64
67
|
}
|
|
65
68
|
/**
|
|
@@ -108,20 +111,20 @@ export function flattenCommandTree(tree) {
|
|
|
108
111
|
* @returns Usage string (e.g., "kspec task add [options]")
|
|
109
112
|
*/
|
|
110
113
|
export function formatCommandUsage(command) {
|
|
111
|
-
const parts = [
|
|
114
|
+
const parts = ["kspec", ...command.fullPath.slice(1)]; // Skip root 'kspec'
|
|
112
115
|
// Add arguments
|
|
113
116
|
for (const arg of command.arguments) {
|
|
114
117
|
if (arg.required) {
|
|
115
|
-
parts.push(`<${arg.name}${arg.variadic ?
|
|
118
|
+
parts.push(`<${arg.name}${arg.variadic ? "..." : ""}>`);
|
|
116
119
|
}
|
|
117
120
|
else {
|
|
118
|
-
parts.push(`[${arg.name}${arg.variadic ?
|
|
121
|
+
parts.push(`[${arg.name}${arg.variadic ? "..." : ""}]`);
|
|
119
122
|
}
|
|
120
123
|
}
|
|
121
124
|
// Add [options] if command has options
|
|
122
125
|
if (command.options.length > 0) {
|
|
123
|
-
parts.push(
|
|
126
|
+
parts.push("[options]");
|
|
124
127
|
}
|
|
125
|
-
return parts.join(
|
|
128
|
+
return parts.join(" ");
|
|
126
129
|
}
|
|
127
130
|
//# sourceMappingURL=introspection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspection.js","sourceRoot":"","sources":["../../src/cli/introspection.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"introspection.js","sourceRoot":"","sources":["../../src/cli/introspection.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/output.d.ts
CHANGED
|
@@ -1,33 +1,89 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { ReferenceIndex } from "../parser/index.js";
|
|
2
|
+
import type { Note, Task } from "../schema/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Check if a note has been superseded by another note.
|
|
5
|
+
* A note is superseded if its ULID appears in any other note's `supersedes` field.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isNoteSuperseded(note: Note, allNotes: Note[]): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Filter notes to exclude superseded ones.
|
|
10
|
+
* Returns only notes that have not been superseded.
|
|
11
|
+
*/
|
|
12
|
+
export declare function filterSupersededNotes(notes: Note[]): Note[];
|
|
13
|
+
/**
|
|
14
|
+
* Annotate notes with superseded status for JSON output.
|
|
15
|
+
* Adds a computed `superseded` field to each note.
|
|
16
|
+
*/
|
|
17
|
+
export declare function annotateNotesWithSuperseded(notes: Note[]): Array<Note & {
|
|
18
|
+
superseded: boolean;
|
|
19
|
+
}>;
|
|
3
20
|
/**
|
|
4
21
|
* Output options
|
|
5
22
|
*/
|
|
6
23
|
export interface OutputOptions {
|
|
7
24
|
json?: boolean;
|
|
8
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Output format types
|
|
28
|
+
* AC: @output-format-option
|
|
29
|
+
*/
|
|
30
|
+
export type OutputFormat = "text" | "json" | "yaml";
|
|
31
|
+
/**
|
|
32
|
+
* Valid format values for --format option
|
|
33
|
+
*/
|
|
34
|
+
export declare const VALID_FORMATS: readonly ["json", "yaml"];
|
|
35
|
+
export declare function setOutputFormat(format: OutputFormat): void;
|
|
36
|
+
export declare function getOutputFormat(): OutputFormat;
|
|
37
|
+
/**
|
|
38
|
+
* Set JSON mode (for backward compatibility)
|
|
39
|
+
* AC: @output-format-option ac-json-shorthand
|
|
40
|
+
*/
|
|
9
41
|
export declare function setJsonMode(enabled: boolean): void;
|
|
42
|
+
/**
|
|
43
|
+
* Check if JSON mode is active
|
|
44
|
+
* AC: @output-format-option ac-json-shorthand
|
|
45
|
+
*/
|
|
10
46
|
export declare function isJsonMode(): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Set YAML mode
|
|
49
|
+
* AC: @output-format-option ac-format-yaml, ac-yaml-shorthand
|
|
50
|
+
*/
|
|
51
|
+
export declare function setYamlMode(enabled: boolean): void;
|
|
52
|
+
/**
|
|
53
|
+
* Check if YAML mode is active
|
|
54
|
+
* AC: @output-format-option ac-format-yaml
|
|
55
|
+
*/
|
|
56
|
+
export declare function isYamlMode(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Check if any structured output mode is active (JSON or YAML)
|
|
59
|
+
* AC: @output-format-option ac-yaml-no-ansi, ac-yaml-references
|
|
60
|
+
*/
|
|
61
|
+
export declare function isStructuredMode(): boolean;
|
|
11
62
|
export declare function setVerboseMode(enabled: boolean): void;
|
|
12
63
|
export declare function getVerboseMode(): boolean;
|
|
13
64
|
/**
|
|
14
|
-
* Output data - JSON if
|
|
65
|
+
* Output data - JSON/YAML if structured mode, otherwise formatted
|
|
66
|
+
* AC: @output-format-option ac-format-json, ac-format-yaml
|
|
15
67
|
*/
|
|
16
68
|
export declare function output(data: unknown, formatter?: () => void): void;
|
|
17
69
|
/**
|
|
18
70
|
* Output success message
|
|
71
|
+
* AC: @output-format-option ac-format-json, ac-format-yaml
|
|
19
72
|
*/
|
|
20
73
|
export declare function success(message: string, data?: Record<string, unknown>): void;
|
|
21
74
|
/**
|
|
22
75
|
* Output error message
|
|
76
|
+
* AC: @output-format-option ac-format-json, ac-format-yaml
|
|
23
77
|
*/
|
|
24
78
|
export declare function error(message: string, details?: unknown): void;
|
|
25
79
|
/**
|
|
26
80
|
* Output warning message
|
|
81
|
+
* AC: @output-format-option ac-yaml-no-ansi
|
|
27
82
|
*/
|
|
28
83
|
export declare function warn(message: string): void;
|
|
29
84
|
/**
|
|
30
85
|
* Output info message
|
|
86
|
+
* AC: @output-format-option ac-yaml-no-ansi
|
|
31
87
|
*/
|
|
32
88
|
export declare function info(message: string): void;
|
|
33
89
|
/**
|
|
@@ -49,8 +105,12 @@ export declare function formatTaskListWithAutomation(tasks: Task[], verbose?: bo
|
|
|
49
105
|
* Format a list of tasks
|
|
50
106
|
*/
|
|
51
107
|
export declare function formatTaskList(tasks: Task[], verbose?: boolean, index?: ReferenceIndex, grepPattern?: string, full?: boolean): void;
|
|
108
|
+
export interface FormatTaskDetailsOptions {
|
|
109
|
+
/** Show all notes including superseded ones (default: false) */
|
|
110
|
+
showAllNotes?: boolean;
|
|
111
|
+
}
|
|
52
112
|
/**
|
|
53
113
|
* Format task details
|
|
54
114
|
*/
|
|
55
|
-
export declare function formatTaskDetails(task: Task, index?: ReferenceIndex): void;
|
|
115
|
+
export declare function formatTaskDetails(task: Task, index?: ReferenceIndex, options?: FormatTaskDetailsOptions): void;
|
|
56
116
|
//# sourceMappingURL=output.d.ts.map
|
package/dist/cli/output.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"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"}
|