@isaacriehm/cairn 0.1.0 → 0.1.3
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/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/backprop/id.d.ts +0 -14
- package/dist/backprop/id.js +0 -40
- package/dist/backprop/id.js.map +0 -1
- package/dist/backprop/index.d.ts +0 -23
- package/dist/backprop/index.js +0 -21
- package/dist/backprop/index.js.map +0 -1
- package/dist/backprop/prompt.d.ts +0 -16
- package/dist/backprop/prompt.js +0 -101
- package/dist/backprop/prompt.js.map +0 -1
- package/dist/backprop/runner.d.ts +0 -18
- package/dist/backprop/runner.js +0 -95
- package/dist/backprop/runner.js.map +0 -1
- package/dist/backprop/schema.d.ts +0 -61
- package/dist/backprop/schema.js +0 -55
- package/dist/backprop/schema.js.map +0 -1
- package/dist/backprop/types.d.ts +0 -101
- package/dist/backprop/types.js +0 -24
- package/dist/backprop/types.js.map +0 -1
- package/dist/backprop/writer.d.ts +0 -27
- package/dist/backprop/writer.js +0 -301
- package/dist/backprop/writer.js.map +0 -1
- package/dist/claude/error.d.ts +0 -33
- package/dist/claude/error.js +0 -58
- package/dist/claude/error.js.map +0 -1
- package/dist/claude/index.d.ts +0 -3
- package/dist/claude/index.js +0 -3
- package/dist/claude/index.js.map +0 -1
- package/dist/claude/runner.d.ts +0 -11
- package/dist/claude/runner.js +0 -132
- package/dist/claude/runner.js.map +0 -1
- package/dist/claude/types.d.ts +0 -52
- package/dist/claude/types.js +0 -14
- package/dist/claude/types.js.map +0 -1
- package/dist/cli/daemon.d.ts +0 -54
- package/dist/cli/daemon.js +0 -351
- package/dist/cli/daemon.js.map +0 -1
- package/dist/cli/install.d.ts +0 -52
- package/dist/cli/install.js +0 -308
- package/dist/cli/install.js.map +0 -1
- package/dist/cli/mirror.d.ts +0 -1
- package/dist/cli/mirror.js +0 -97
- package/dist/cli/mirror.js.map +0 -1
- package/dist/cli/run.d.ts +0 -1
- package/dist/cli/run.js +0 -174
- package/dist/cli/run.js.map +0 -1
- package/dist/cli/task.d.ts +0 -18
- package/dist/cli/task.js +0 -137
- package/dist/cli/task.js.map +0 -1
- package/dist/cli/watch.d.ts +0 -1
- package/dist/cli/watch.js +0 -73
- package/dist/cli/watch.js.map +0 -1
- package/dist/decision-capture/capture.d.ts +0 -57
- package/dist/decision-capture/capture.js +0 -186
- package/dist/decision-capture/capture.js.map +0 -1
- package/dist/decision-capture/extractor.d.ts +0 -20
- package/dist/decision-capture/extractor.js +0 -103
- package/dist/decision-capture/extractor.js.map +0 -1
- package/dist/decision-capture/id.d.ts +0 -14
- package/dist/decision-capture/id.js +0 -44
- package/dist/decision-capture/id.js.map +0 -1
- package/dist/decision-capture/index.d.ts +0 -25
- package/dist/decision-capture/index.js +0 -21
- package/dist/decision-capture/index.js.map +0 -1
- package/dist/decision-capture/prompt.d.ts +0 -15
- package/dist/decision-capture/prompt.js +0 -68
- package/dist/decision-capture/prompt.js.map +0 -1
- package/dist/decision-capture/refinement-prompt.d.ts +0 -25
- package/dist/decision-capture/refinement-prompt.js +0 -146
- package/dist/decision-capture/refinement-prompt.js.map +0 -1
- package/dist/decision-capture/refinement-schema.d.ts +0 -52
- package/dist/decision-capture/refinement-schema.js +0 -61
- package/dist/decision-capture/refinement-schema.js.map +0 -1
- package/dist/decision-capture/refinement.d.ts +0 -60
- package/dist/decision-capture/refinement.js +0 -439
- package/dist/decision-capture/refinement.js.map +0 -1
- package/dist/decision-capture/schema.d.ts +0 -70
- package/dist/decision-capture/schema.js +0 -71
- package/dist/decision-capture/schema.js.map +0 -1
- package/dist/decision-capture/types.d.ts +0 -201
- package/dist/decision-capture/types.js +0 -20
- package/dist/decision-capture/types.js.map +0 -1
- package/dist/decision-capture/writer.d.ts +0 -90
- package/dist/decision-capture/writer.js +0 -267
- package/dist/decision-capture/writer.js.map +0 -1
- package/dist/frontend/discord/acl.d.ts +0 -6
- package/dist/frontend/discord/acl.js +0 -19
- package/dist/frontend/discord/acl.js.map +0 -1
- package/dist/frontend/discord/channels.d.ts +0 -29
- package/dist/frontend/discord/channels.js +0 -58
- package/dist/frontend/discord/channels.js.map +0 -1
- package/dist/frontend/discord/classifier.d.ts +0 -16
- package/dist/frontend/discord/classifier.js +0 -29
- package/dist/frontend/discord/classifier.js.map +0 -1
- package/dist/frontend/discord/index.d.ts +0 -118
- package/dist/frontend/discord/index.js +0 -1104
- package/dist/frontend/discord/index.js.map +0 -1
- package/dist/frontend/discord/slash.d.ts +0 -18
- package/dist/frontend/discord/slash.js +0 -90
- package/dist/frontend/discord/slash.js.map +0 -1
- package/dist/frontend/inbox.d.ts +0 -17
- package/dist/frontend/inbox.js +0 -30
- package/dist/frontend/inbox.js.map +0 -1
- package/dist/frontend/index.d.ts +0 -8
- package/dist/frontend/index.js +0 -6
- package/dist/frontend/index.js.map +0 -1
- package/dist/frontend/stub/index.d.ts +0 -58
- package/dist/frontend/stub/index.js +0 -144
- package/dist/frontend/stub/index.js.map +0 -1
- package/dist/frontend/types.d.ts +0 -247
- package/dist/frontend/types.js +0 -15
- package/dist/frontend/types.js.map +0 -1
- package/dist/gc/apply.d.ts +0 -26
- package/dist/gc/apply.js +0 -48
- package/dist/gc/apply.js.map +0 -1
- package/dist/gc/canary.d.ts +0 -42
- package/dist/gc/canary.js +0 -134
- package/dist/gc/canary.js.map +0 -1
- package/dist/gc/classify.d.ts +0 -25
- package/dist/gc/classify.js +0 -89
- package/dist/gc/classify.js.map +0 -1
- package/dist/gc/doc-gardening.d.ts +0 -29
- package/dist/gc/doc-gardening.js +0 -146
- package/dist/gc/doc-gardening.js.map +0 -1
- package/dist/gc/frontmatter.d.ts +0 -35
- package/dist/gc/frontmatter.js +0 -111
- package/dist/gc/frontmatter.js.map +0 -1
- package/dist/gc/generator-drift.d.ts +0 -28
- package/dist/gc/generator-drift.js +0 -53
- package/dist/gc/generator-drift.js.map +0 -1
- package/dist/gc/index.d.ts +0 -35
- package/dist/gc/index.js +0 -26
- package/dist/gc/index.js.map +0 -1
- package/dist/gc/quality-update.d.ts +0 -23
- package/dist/gc/quality-update.js +0 -69
- package/dist/gc/quality-update.js.map +0 -1
- package/dist/gc/stub-hits.d.ts +0 -31
- package/dist/gc/stub-hits.js +0 -125
- package/dist/gc/stub-hits.js.map +0 -1
- package/dist/gc/sweep.d.ts +0 -56
- package/dist/gc/sweep.js +0 -178
- package/dist/gc/sweep.js.map +0 -1
- package/dist/gc/types.d.ts +0 -129
- package/dist/gc/types.js +0 -26
- package/dist/gc/types.js.map +0 -1
- package/dist/ground/drift.d.ts +0 -8
- package/dist/ground/drift.js +0 -23
- package/dist/ground/drift.js.map +0 -1
- package/dist/ground/frontmatter.d.ts +0 -20
- package/dist/ground/frontmatter.js +0 -49
- package/dist/ground/frontmatter.js.map +0 -1
- package/dist/ground/glob.d.ts +0 -10
- package/dist/ground/glob.js +0 -46
- package/dist/ground/glob.js.map +0 -1
- package/dist/ground/index.d.ts +0 -14
- package/dist/ground/index.js +0 -10
- package/dist/ground/index.js.map +0 -1
- package/dist/ground/ledgers.d.ts +0 -18
- package/dist/ground/ledgers.js +0 -103
- package/dist/ground/ledgers.js.map +0 -1
- package/dist/ground/manifest.d.ts +0 -10
- package/dist/ground/manifest.js +0 -88
- package/dist/ground/manifest.js.map +0 -1
- package/dist/ground/paths.d.ts +0 -20
- package/dist/ground/paths.js +0 -61
- package/dist/ground/paths.js.map +0 -1
- package/dist/ground/quality-grades.d.ts +0 -11
- package/dist/ground/quality-grades.js +0 -98
- package/dist/ground/quality-grades.js.map +0 -1
- package/dist/ground/schemas.d.ts +0 -306
- package/dist/ground/schemas.js +0 -188
- package/dist/ground/schemas.js.map +0 -1
- package/dist/ground/walk.d.ts +0 -7
- package/dist/ground/walk.js +0 -53
- package/dist/ground/walk.js.map +0 -1
- package/dist/init/detect.d.ts +0 -25
- package/dist/init/detect.js +0 -336
- package/dist/init/detect.js.map +0 -1
- package/dist/init/index.d.ts +0 -14
- package/dist/init/index.js +0 -9
- package/dist/init/index.js.map +0 -1
- package/dist/init/init.d.ts +0 -68
- package/dist/init/init.js +0 -673
- package/dist/init/init.js.map +0 -1
- package/dist/init/mapper.d.ts +0 -160
- package/dist/init/mapper.js +0 -248
- package/dist/init/mapper.js.map +0 -1
- package/dist/init/prompts.d.ts +0 -70
- package/dist/init/prompts.js +0 -80
- package/dist/init/prompts.js.map +0 -1
- package/dist/init/secrets.d.ts +0 -18
- package/dist/init/secrets.js +0 -76
- package/dist/init/secrets.js.map +0 -1
- package/dist/init/seed.d.ts +0 -21
- package/dist/init/seed.js +0 -75
- package/dist/init/seed.js.map +0 -1
- package/dist/init/setup-runners.d.ts +0 -17
- package/dist/init/setup-runners.js +0 -70
- package/dist/init/setup-runners.js.map +0 -1
- package/dist/init/types.d.ts +0 -59
- package/dist/init/types.js +0 -10
- package/dist/init/types.js.map +0 -1
- package/dist/init/walker.d.ts +0 -53
- package/dist/init/walker.js +0 -460
- package/dist/init/walker.js.map +0 -1
- package/dist/init/workflow-block.d.ts +0 -34
- package/dist/init/workflow-block.js +0 -110
- package/dist/init/workflow-block.js.map +0 -1
- package/dist/logger.d.ts +0 -3
- package/dist/logger.js +0 -23
- package/dist/logger.js.map +0 -1
- package/dist/mcp/context.d.ts +0 -16
- package/dist/mcp/context.js +0 -8
- package/dist/mcp/context.js.map +0 -1
- package/dist/mcp/errors.d.ts +0 -17
- package/dist/mcp/errors.js +0 -23
- package/dist/mcp/errors.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -10
- package/dist/mcp/index.js +0 -7
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/path-allowlist.d.ts +0 -25
- package/dist/mcp/path-allowlist.js +0 -66
- package/dist/mcp/path-allowlist.js.map +0 -1
- package/dist/mcp/result.d.ts +0 -8
- package/dist/mcp/result.js +0 -18
- package/dist/mcp/result.js.map +0 -1
- package/dist/mcp/schemas.d.ts +0 -153
- package/dist/mcp/schemas.js +0 -135
- package/dist/mcp/schemas.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -11
- package/dist/mcp/server.js +0 -58
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/telemetry.d.ts +0 -15
- package/dist/mcp/telemetry.js +0 -13
- package/dist/mcp/telemetry.js.map +0 -1
- package/dist/mcp/tools/append.d.ts +0 -8
- package/dist/mcp/tools/append.js +0 -33
- package/dist/mcp/tools/append.js.map +0 -1
- package/dist/mcp/tools/archive.d.ts +0 -8
- package/dist/mcp/tools/archive.js +0 -49
- package/dist/mcp/tools/archive.js.map +0 -1
- package/dist/mcp/tools/ask-operator.d.ts +0 -34
- package/dist/mcp/tools/ask-operator.js +0 -93
- package/dist/mcp/tools/ask-operator.js.map +0 -1
- package/dist/mcp/tools/canonical-for-topic.d.ts +0 -6
- package/dist/mcp/tools/canonical-for-topic.js +0 -40
- package/dist/mcp/tools/canonical-for-topic.js.map +0 -1
- package/dist/mcp/tools/decision-get.d.ts +0 -6
- package/dist/mcp/tools/decision-get.js +0 -49
- package/dist/mcp/tools/decision-get.js.map +0 -1
- package/dist/mcp/tools/decisions-for-symbol.d.ts +0 -7
- package/dist/mcp/tools/decisions-for-symbol.js +0 -42
- package/dist/mcp/tools/decisions-for-symbol.js.map +0 -1
- package/dist/mcp/tools/decisions-in-scope.d.ts +0 -7
- package/dist/mcp/tools/decisions-in-scope.js +0 -47
- package/dist/mcp/tools/decisions-in-scope.js.map +0 -1
- package/dist/mcp/tools/drop-task.d.ts +0 -12
- package/dist/mcp/tools/drop-task.js +0 -47
- package/dist/mcp/tools/drop-task.js.map +0 -1
- package/dist/mcp/tools/get-full.d.ts +0 -7
- package/dist/mcp/tools/get-full.js +0 -46
- package/dist/mcp/tools/get-full.js.map +0 -1
- package/dist/mcp/tools/ground-get.d.ts +0 -7
- package/dist/mcp/tools/ground-get.js +0 -80
- package/dist/mcp/tools/ground-get.js.map +0 -1
- package/dist/mcp/tools/index.d.ts +0 -3
- package/dist/mcp/tools/index.js +0 -44
- package/dist/mcp/tools/index.js.map +0 -1
- package/dist/mcp/tools/invariant-get.d.ts +0 -6
- package/dist/mcp/tools/invariant-get.js +0 -49
- package/dist/mcp/tools/invariant-get.js.map +0 -1
- package/dist/mcp/tools/invariants-in-scope.d.ts +0 -7
- package/dist/mcp/tools/invariants-in-scope.js +0 -65
- package/dist/mcp/tools/invariants-in-scope.js.map +0 -1
- package/dist/mcp/tools/query-history.d.ts +0 -9
- package/dist/mcp/tools/query-history.js +0 -33
- package/dist/mcp/tools/query-history.js.map +0 -1
- package/dist/mcp/tools/record-decision.d.ts +0 -14
- package/dist/mcp/tools/record-decision.js +0 -101
- package/dist/mcp/tools/record-decision.js.map +0 -1
- package/dist/mcp/tools/record-run-event.d.ts +0 -10
- package/dist/mcp/tools/record-run-event.js +0 -28
- package/dist/mcp/tools/record-run-event.js.map +0 -1
- package/dist/mcp/tools/search.d.ts +0 -9
- package/dist/mcp/tools/search.js +0 -165
- package/dist/mcp/tools/search.js.map +0 -1
- package/dist/mcp/tools/supersedes-chain.d.ts +0 -6
- package/dist/mcp/tools/supersedes-chain.js +0 -66
- package/dist/mcp/tools/supersedes-chain.js.map +0 -1
- package/dist/mcp/tools/timeline.d.ts +0 -9
- package/dist/mcp/tools/timeline.js +0 -65
- package/dist/mcp/tools/timeline.js.map +0 -1
- package/dist/mcp/tools/types.d.ts +0 -9
- package/dist/mcp/tools/types.js +0 -2
- package/dist/mcp/tools/types.js.map +0 -1
- package/dist/mirror/clone.d.ts +0 -6
- package/dist/mirror/clone.js +0 -48
- package/dist/mirror/clone.js.map +0 -1
- package/dist/mirror/dirty-overlap.d.ts +0 -13
- package/dist/mirror/dirty-overlap.js +0 -77
- package/dist/mirror/dirty-overlap.js.map +0 -1
- package/dist/mirror/index.d.ts +0 -7
- package/dist/mirror/index.js +0 -7
- package/dist/mirror/index.js.map +0 -1
- package/dist/mirror/paths.d.ts +0 -18
- package/dist/mirror/paths.js +0 -45
- package/dist/mirror/paths.js.map +0 -1
- package/dist/mirror/push.d.ts +0 -9
- package/dist/mirror/push.js +0 -27
- package/dist/mirror/push.js.map +0 -1
- package/dist/mirror/state.d.ts +0 -4
- package/dist/mirror/state.js +0 -36
- package/dist/mirror/state.js.map +0 -1
- package/dist/mirror/sync.d.ts +0 -9
- package/dist/mirror/sync.js +0 -33
- package/dist/mirror/sync.js.map +0 -1
- package/dist/mirror/types.d.ts +0 -77
- package/dist/mirror/types.js +0 -2
- package/dist/mirror/types.js.map +0 -1
- package/dist/orchestrator/activity-summarizer.d.ts +0 -33
- package/dist/orchestrator/activity-summarizer.js +0 -120
- package/dist/orchestrator/activity-summarizer.js.map +0 -1
- package/dist/orchestrator/inbox.d.ts +0 -78
- package/dist/orchestrator/inbox.js +0 -115
- package/dist/orchestrator/inbox.js.map +0 -1
- package/dist/orchestrator/index.d.ts +0 -9
- package/dist/orchestrator/index.js +0 -7
- package/dist/orchestrator/index.js.map +0 -1
- package/dist/orchestrator/orchestrator.d.ts +0 -154
- package/dist/orchestrator/orchestrator.js +0 -2437
- package/dist/orchestrator/orchestrator.js.map +0 -1
- package/dist/orchestrator/prompt.d.ts +0 -19
- package/dist/orchestrator/prompt.js +0 -50
- package/dist/orchestrator/prompt.js.map +0 -1
- package/dist/orchestrator/queue.d.ts +0 -21
- package/dist/orchestrator/queue.js +0 -80
- package/dist/orchestrator/queue.js.map +0 -1
- package/dist/orchestrator/run-log.d.ts +0 -53
- package/dist/orchestrator/run-log.js +0 -92
- package/dist/orchestrator/run-log.js.map +0 -1
- package/dist/orchestrator/runner.d.ts +0 -56
- package/dist/orchestrator/runner.js +0 -172
- package/dist/orchestrator/runner.js.map +0 -1
- package/dist/orchestrator/tool-digest.d.ts +0 -35
- package/dist/orchestrator/tool-digest.js +0 -116
- package/dist/orchestrator/tool-digest.js.map +0 -1
- package/dist/orchestrator/types.d.ts +0 -263
- package/dist/orchestrator/types.js +0 -2
- package/dist/orchestrator/types.js.map +0 -1
- package/dist/orchestrator/workspace.d.ts +0 -21
- package/dist/orchestrator/workspace.js +0 -31
- package/dist/orchestrator/workspace.js.map +0 -1
- package/dist/profiles/index.d.ts +0 -3
- package/dist/profiles/index.js +0 -3
- package/dist/profiles/index.js.map +0 -1
- package/dist/profiles/registry.d.ts +0 -5
- package/dist/profiles/registry.js +0 -31
- package/dist/profiles/registry.js.map +0 -1
- package/dist/profiles/types.d.ts +0 -48
- package/dist/profiles/types.js +0 -11
- package/dist/profiles/types.js.map +0 -1
- package/dist/profiles/unknown.d.ts +0 -9
- package/dist/profiles/unknown.js +0 -17
- package/dist/profiles/unknown.js.map +0 -1
- package/dist/reviewer/index.d.ts +0 -6
- package/dist/reviewer/index.js +0 -5
- package/dist/reviewer/index.js.map +0 -1
- package/dist/reviewer/prompt.d.ts +0 -11
- package/dist/reviewer/prompt.js +0 -132
- package/dist/reviewer/prompt.js.map +0 -1
- package/dist/reviewer/remediation.d.ts +0 -15
- package/dist/reviewer/remediation.js +0 -61
- package/dist/reviewer/remediation.js.map +0 -1
- package/dist/reviewer/reviewer.d.ts +0 -9
- package/dist/reviewer/reviewer.js +0 -89
- package/dist/reviewer/reviewer.js.map +0 -1
- package/dist/reviewer/schema.d.ts +0 -45
- package/dist/reviewer/schema.js +0 -43
- package/dist/reviewer/schema.js.map +0 -1
- package/dist/reviewer/types.d.ts +0 -74
- package/dist/reviewer/types.js +0 -14
- package/dist/reviewer/types.js.map +0 -1
- package/dist/sensors/attestation.d.ts +0 -44
- package/dist/sensors/attestation.js +0 -262
- package/dist/sensors/attestation.js.map +0 -1
- package/dist/sensors/catalog.d.ts +0 -41
- package/dist/sensors/catalog.js +0 -123
- package/dist/sensors/catalog.js.map +0 -1
- package/dist/sensors/decisions.d.ts +0 -30
- package/dist/sensors/decisions.js +0 -393
- package/dist/sensors/decisions.js.map +0 -1
- package/dist/sensors/diff.d.ts +0 -27
- package/dist/sensors/diff.js +0 -148
- package/dist/sensors/diff.js.map +0 -1
- package/dist/sensors/index.d.ts +0 -13
- package/dist/sensors/index.js +0 -9
- package/dist/sensors/index.js.map +0 -1
- package/dist/sensors/remediation.d.ts +0 -20
- package/dist/sensors/remediation.js +0 -65
- package/dist/sensors/remediation.js.map +0 -1
- package/dist/sensors/runner.d.ts +0 -44
- package/dist/sensors/runner.js +0 -95
- package/dist/sensors/runner.js.map +0 -1
- package/dist/sensors/structural.d.ts +0 -30
- package/dist/sensors/structural.js +0 -204
- package/dist/sensors/structural.js.map +0 -1
- package/dist/sensors/stub-catalog.d.ts +0 -39
- package/dist/sensors/stub-catalog.js +0 -115
- package/dist/sensors/stub-catalog.js.map +0 -1
- package/dist/sensors/types.d.ts +0 -135
- package/dist/sensors/types.js +0 -14
- package/dist/sensors/types.js.map +0 -1
- package/dist/tier0/classify.d.ts +0 -5
- package/dist/tier0/classify.js +0 -91
- package/dist/tier0/classify.js.map +0 -1
- package/dist/tier0/index.d.ts +0 -3
- package/dist/tier0/index.js +0 -3
- package/dist/tier0/index.js.map +0 -1
- package/dist/tier0/ollama.d.ts +0 -22
- package/dist/tier0/ollama.js +0 -63
- package/dist/tier0/ollama.js.map +0 -1
- package/dist/tier0/types.d.ts +0 -24
- package/dist/tier0/types.js +0 -7
- package/dist/tier0/types.js.map +0 -1
- package/dist/tightener/index.d.ts +0 -4
- package/dist/tightener/index.js +0 -4
- package/dist/tightener/index.js.map +0 -1
- package/dist/tightener/prompt.d.ts +0 -3
- package/dist/tightener/prompt.js +0 -67
- package/dist/tightener/prompt.js.map +0 -1
- package/dist/tightener/schema.d.ts +0 -68
- package/dist/tightener/schema.js +0 -44
- package/dist/tightener/schema.js.map +0 -1
- package/dist/tightener/tighten.d.ts +0 -2
- package/dist/tightener/tighten.js +0 -66
- package/dist/tightener/tighten.js.map +0 -1
- package/dist/tightener/types.d.ts +0 -74
- package/dist/tightener/types.js +0 -6
- package/dist/tightener/types.js.map +0 -1
- package/dist/uat/bundle.d.ts +0 -68
- package/dist/uat/bundle.js +0 -168
- package/dist/uat/bundle.js.map +0 -1
- package/dist/uat/index.d.ts +0 -15
- package/dist/uat/index.js +0 -10
- package/dist/uat/index.js.map +0 -1
- package/dist/uat/persistent.d.ts +0 -64
- package/dist/uat/persistent.js +0 -206
- package/dist/uat/persistent.js.map +0 -1
- package/dist/uat/probes/cli.d.ts +0 -11
- package/dist/uat/probes/cli.js +0 -107
- package/dist/uat/probes/cli.js.map +0 -1
- package/dist/uat/probes/http.d.ts +0 -12
- package/dist/uat/probes/http.js +0 -139
- package/dist/uat/probes/http.js.map +0 -1
- package/dist/uat/probes/index.d.ts +0 -21
- package/dist/uat/probes/index.js +0 -30
- package/dist/uat/probes/index.js.map +0 -1
- package/dist/uat/probes/integration.d.ts +0 -18
- package/dist/uat/probes/integration.js +0 -188
- package/dist/uat/probes/integration.js.map +0 -1
- package/dist/uat/probes/sql/config.d.ts +0 -14
- package/dist/uat/probes/sql/config.js +0 -57
- package/dist/uat/probes/sql/config.js.map +0 -1
- package/dist/uat/probes/sql/index.d.ts +0 -29
- package/dist/uat/probes/sql/index.js +0 -43
- package/dist/uat/probes/sql/index.js.map +0 -1
- package/dist/uat/probes/sql/mysql.d.ts +0 -12
- package/dist/uat/probes/sql/mysql.js +0 -96
- package/dist/uat/probes/sql/mysql.js.map +0 -1
- package/dist/uat/probes/sql/pg.d.ts +0 -20
- package/dist/uat/probes/sql/pg.js +0 -102
- package/dist/uat/probes/sql/pg.js.map +0 -1
- package/dist/uat/probes/sql/sqlite.d.ts +0 -9
- package/dist/uat/probes/sql/sqlite.js +0 -58
- package/dist/uat/probes/sql/sqlite.js.map +0 -1
- package/dist/uat/probes/sql/types.d.ts +0 -46
- package/dist/uat/probes/sql/types.js +0 -10
- package/dist/uat/probes/sql/types.js.map +0 -1
- package/dist/uat/probes/sql.d.ts +0 -9
- package/dist/uat/probes/sql.js +0 -119
- package/dist/uat/probes/sql.js.map +0 -1
- package/dist/uat/probes/ui.d.ts +0 -19
- package/dist/uat/probes/ui.js +0 -244
- package/dist/uat/probes/ui.js.map +0 -1
- package/dist/uat/prompt.d.ts +0 -10
- package/dist/uat/prompt.js +0 -85
- package/dist/uat/prompt.js.map +0 -1
- package/dist/uat/question.d.ts +0 -50
- package/dist/uat/question.js +0 -139
- package/dist/uat/question.js.map +0 -1
- package/dist/uat/rejection.d.ts +0 -58
- package/dist/uat/rejection.js +0 -163
- package/dist/uat/rejection.js.map +0 -1
- package/dist/uat/runner.d.ts +0 -6
- package/dist/uat/runner.js +0 -96
- package/dist/uat/runner.js.map +0 -1
- package/dist/uat/schema.d.ts +0 -322
- package/dist/uat/schema.js +0 -189
- package/dist/uat/schema.js.map +0 -1
- package/dist/uat/types.d.ts +0 -268
- package/dist/uat/types.js +0 -18
- package/dist/uat/types.js.map +0 -1
- package/dist/uat/uat.d.ts +0 -89
- package/dist/uat/uat.js +0 -256
- package/dist/uat/uat.js.map +0 -1
- package/dist/voice/index.d.ts +0 -4
- package/dist/voice/index.js +0 -4
- package/dist/voice/index.js.map +0 -1
- package/dist/voice/model.d.ts +0 -23
- package/dist/voice/model.js +0 -46
- package/dist/voice/model.js.map +0 -1
- package/dist/voice/pipe.d.ts +0 -9
- package/dist/voice/pipe.js +0 -47
- package/dist/voice/pipe.js.map +0 -1
- package/dist/voice/transcribe.d.ts +0 -3
- package/dist/voice/transcribe.js +0 -43
- package/dist/voice/transcribe.js.map +0 -1
- package/dist/voice/types.d.ts +0 -26
- package/dist/voice/types.js +0 -9
- package/dist/voice/types.js.map +0 -1
- package/dist/watch/daemon.d.ts +0 -21
- package/dist/watch/daemon.js +0 -143
- package/dist/watch/daemon.js.map +0 -1
- package/dist/watch/index.d.ts +0 -4
- package/dist/watch/index.js +0 -3
- package/dist/watch/index.js.map +0 -1
- package/dist/watch/regenerate.d.ts +0 -25
- package/dist/watch/regenerate.js +0 -51
- package/dist/watch/regenerate.js.map +0 -1
package/dist/init/secrets.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Secrets file — `~/.local/harness/.env`.
|
|
3
|
-
*
|
|
4
|
-
* Operator-scoped (not project-scoped) so a single Discord bot powers
|
|
5
|
-
* every adopted project. Init writes here; the CLI's dotenv loader reads
|
|
6
|
-
* here first.
|
|
7
|
-
*
|
|
8
|
-
* Format = standard dotenv (KEY=VALUE per line, # comments). Existing
|
|
9
|
-
* keys are preserved on append; only the named keys get rewritten.
|
|
10
|
-
*/
|
|
11
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
12
|
-
import { homedir } from "node:os";
|
|
13
|
-
import { dirname, join } from "node:path";
|
|
14
|
-
export function harnessEnvPath() {
|
|
15
|
-
return join(homedir(), ".local", "harness", ".env");
|
|
16
|
-
}
|
|
17
|
-
export function readHarnessEnv() {
|
|
18
|
-
const p = harnessEnvPath();
|
|
19
|
-
if (!existsSync(p))
|
|
20
|
-
return {};
|
|
21
|
-
const raw = readFileSync(p, "utf8");
|
|
22
|
-
return parseDotenv(raw);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Merge `updates` into the on-disk env file, preserving every other key
|
|
26
|
-
* + comments + ordering of unchanged lines. Created with mode 0600 since
|
|
27
|
-
* it carries secrets.
|
|
28
|
-
*/
|
|
29
|
-
export function upsertHarnessEnv(updates) {
|
|
30
|
-
const p = harnessEnvPath();
|
|
31
|
-
mkdirSync(dirname(p), { recursive: true });
|
|
32
|
-
const existing = existsSync(p) ? readFileSync(p, "utf8") : "";
|
|
33
|
-
const lines = existing.length === 0 ? [] : existing.split(/\r?\n/);
|
|
34
|
-
const seen = new Set();
|
|
35
|
-
const out = [];
|
|
36
|
-
for (const line of lines) {
|
|
37
|
-
const m = line.match(/^([A-Z_][A-Z0-9_]*)=/);
|
|
38
|
-
if (m && m[1] !== undefined && updates[m[1]] !== undefined) {
|
|
39
|
-
out.push(`${m[1]}=${updates[m[1]]}`);
|
|
40
|
-
seen.add(m[1]);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
out.push(line);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
for (const [k, v] of Object.entries(updates)) {
|
|
47
|
-
if (!seen.has(k))
|
|
48
|
-
out.push(`${k}=${v}`);
|
|
49
|
-
}
|
|
50
|
-
while (out.length > 0 && out[out.length - 1] === "")
|
|
51
|
-
out.pop();
|
|
52
|
-
const text = out.join("\n") + "\n";
|
|
53
|
-
writeFileSync(p, text, { encoding: "utf8", mode: 0o600 });
|
|
54
|
-
return p;
|
|
55
|
-
}
|
|
56
|
-
function parseDotenv(text) {
|
|
57
|
-
const out = {};
|
|
58
|
-
for (const line of text.split(/\r?\n/)) {
|
|
59
|
-
if (line.length === 0 || line.startsWith("#"))
|
|
60
|
-
continue;
|
|
61
|
-
const eq = line.indexOf("=");
|
|
62
|
-
if (eq <= 0)
|
|
63
|
-
continue;
|
|
64
|
-
const key = line.slice(0, eq).trim();
|
|
65
|
-
let value = line.slice(eq + 1).trim();
|
|
66
|
-
// Strip wrapping quotes — match dotenv behavior.
|
|
67
|
-
if ((value.startsWith('"') && value.endsWith('"')) ||
|
|
68
|
-
(value.startsWith("'") && value.endsWith("'"))) {
|
|
69
|
-
value = value.slice(1, -1);
|
|
70
|
-
}
|
|
71
|
-
if (/^[A-Z_][A-Z0-9_]*$/.test(key))
|
|
72
|
-
out[key] = value;
|
|
73
|
-
}
|
|
74
|
-
return out;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=secrets.js.map
|
package/dist/init/secrets.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/init/secrets.ts"],"names":[],"mappings":"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"}
|
package/dist/init/seed.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Seed an adopted project's .harness/ + .archive/ from harness/templates/.
|
|
3
|
-
*
|
|
4
|
-
* Walks the templates dir, copies every file to the target preserving
|
|
5
|
-
* directory layout. Files where the `<project_name>` YAML key needs
|
|
6
|
-
* substitution are passed through `applyPlaceholders`. Existing files
|
|
7
|
-
* collide-fail unless `force: true`.
|
|
8
|
-
*/
|
|
9
|
-
export interface SeedOptions {
|
|
10
|
-
repoRoot: string;
|
|
11
|
-
projectSlug: string;
|
|
12
|
-
/** Allow overwriting existing files. Default false (collide-fail). */
|
|
13
|
-
force?: boolean;
|
|
14
|
-
}
|
|
15
|
-
export interface SeedResult {
|
|
16
|
-
written_files: string[];
|
|
17
|
-
collisions: string[];
|
|
18
|
-
}
|
|
19
|
-
export declare function seedHarnessLayout(opts: SeedOptions): SeedResult;
|
|
20
|
-
/** Exposed for the smoke test — locate the templates root from runtime. */
|
|
21
|
-
export declare function templatesRoot(): string;
|
package/dist/init/seed.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Seed an adopted project's .harness/ + .archive/ from harness/templates/.
|
|
3
|
-
*
|
|
4
|
-
* Walks the templates dir, copies every file to the target preserving
|
|
5
|
-
* directory layout. Files where the `<project_name>` YAML key needs
|
|
6
|
-
* substitution are passed through `applyPlaceholders`. Existing files
|
|
7
|
-
* collide-fail unless `force: true`.
|
|
8
|
-
*/
|
|
9
|
-
import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync, } from "node:fs";
|
|
10
|
-
import { dirname, join, relative } from "node:path";
|
|
11
|
-
import { fileURLToPath } from "node:url";
|
|
12
|
-
const HERE = dirname(fileURLToPath(import.meta.url));
|
|
13
|
-
/** dist/init/seed.js → walk up to package root, then into templates/. */
|
|
14
|
-
const TEMPLATES_ROOT = join(HERE, "..", "..", "templates");
|
|
15
|
-
export function seedHarnessLayout(opts) {
|
|
16
|
-
const written = [];
|
|
17
|
-
const collisions = [];
|
|
18
|
-
walk(TEMPLATES_ROOT, (absSrc) => {
|
|
19
|
-
const rel = relative(TEMPLATES_ROOT, absSrc);
|
|
20
|
-
const absDst = join(opts.repoRoot, rel);
|
|
21
|
-
if (existsSync(absDst) && opts.force !== true) {
|
|
22
|
-
collisions.push(rel);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
mkdirSync(dirname(absDst), { recursive: true });
|
|
26
|
-
const raw = readFileSync(absSrc, "utf8");
|
|
27
|
-
const out = applyPlaceholders({ content: raw, projectSlug: opts.projectSlug, relPath: rel });
|
|
28
|
-
writeFileSync(absDst, out, "utf8");
|
|
29
|
-
written.push(rel);
|
|
30
|
-
});
|
|
31
|
-
return { written_files: written, collisions };
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Substitute the `<project_name>` placeholder in shipped templates.
|
|
35
|
-
* Only `.harness/config/workflow.md` and `.harness/config/sensors.yaml`
|
|
36
|
-
* carry it today; the function is broad enough to safely no-op on other
|
|
37
|
-
* files.
|
|
38
|
-
*
|
|
39
|
-
* Two replacement targets:
|
|
40
|
-
* 1. `<project_name>:` YAML key → `<slug>:` (the per-project extension block)
|
|
41
|
-
* 2. Inline mentions in comments, e.g. ``<project_name>:` extension block``
|
|
42
|
-
*
|
|
43
|
-
* The Liquid-style `{{project_name}}` placeholders inside the agent
|
|
44
|
-
* prompt body are NOT touched here — those resolve at run time when the
|
|
45
|
-
* orchestrator renders the prompt.
|
|
46
|
-
*/
|
|
47
|
-
function applyPlaceholders(args) {
|
|
48
|
-
// Only mutate workflow.md / sensors.yaml; other files pass through.
|
|
49
|
-
const norm = args.relPath.split("\\").join("/");
|
|
50
|
-
if (norm !== ".harness/config/workflow.md" &&
|
|
51
|
-
norm !== ".harness/config/sensors.yaml") {
|
|
52
|
-
return args.content;
|
|
53
|
-
}
|
|
54
|
-
return args.content
|
|
55
|
-
.replace(/<project_name>:/g, `${args.projectSlug}:`)
|
|
56
|
-
.replace(/`<project_name>`/g, `\`${args.projectSlug}\``)
|
|
57
|
-
.replace(/<project_name>/g, args.projectSlug);
|
|
58
|
-
}
|
|
59
|
-
function walk(dir, onFile) {
|
|
60
|
-
for (const name of readdirSync(dir)) {
|
|
61
|
-
const abs = join(dir, name);
|
|
62
|
-
const s = statSync(abs);
|
|
63
|
-
if (s.isDirectory()) {
|
|
64
|
-
walk(abs, onFile);
|
|
65
|
-
}
|
|
66
|
-
else if (s.isFile()) {
|
|
67
|
-
onFile(abs);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/** Exposed for the smoke test — locate the templates root from runtime. */
|
|
72
|
-
export function templatesRoot() {
|
|
73
|
-
return TEMPLATES_ROOT;
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=seed.js.map
|
package/dist/init/seed.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/init/seed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Spawners for actually executing setup steps from `harness init`.
|
|
3
|
-
*
|
|
4
|
-
* Each function inherits stdio so the operator sees curl / pnpm / docker
|
|
5
|
-
* progress live. Returns success/failure; the caller surfaces the result
|
|
6
|
-
* in the wizard summary.
|
|
7
|
-
*/
|
|
8
|
-
export interface RunResult {
|
|
9
|
-
ok: boolean;
|
|
10
|
-
exit_code: number | null;
|
|
11
|
-
/** Optional human-readable note (skipped reason / failure summary). */
|
|
12
|
-
note?: string;
|
|
13
|
-
}
|
|
14
|
-
export declare function downloadWhisperModel(): Promise<RunResult>;
|
|
15
|
-
export declare function pullOllamaModel(model: string): Promise<RunResult>;
|
|
16
|
-
export declare function runHarnessSetupScript(script: "setup-whisper" | "setup-uat-browsers" | "setup-uat-sql" | "setup-uat-docker", extraArgs?: string[]): Promise<RunResult>;
|
|
17
|
-
export declare function offerInstallOllama(): Promise<RunResult>;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Spawners for actually executing setup steps from `harness init`.
|
|
3
|
-
*
|
|
4
|
-
* Each function inherits stdio so the operator sees curl / pnpm / docker
|
|
5
|
-
* progress live. Returns success/failure; the caller surfaces the result
|
|
6
|
-
* in the wizard summary.
|
|
7
|
-
*/
|
|
8
|
-
import { spawn } from "node:child_process";
|
|
9
|
-
import { existsSync, mkdirSync } from "node:fs";
|
|
10
|
-
import { dirname, join, resolve } from "node:path";
|
|
11
|
-
import { fileURLToPath } from "node:url";
|
|
12
|
-
import { homedir } from "node:os";
|
|
13
|
-
const HERE = dirname(fileURLToPath(import.meta.url));
|
|
14
|
-
/** dist/init/setup-runners.js → walk up to package root. */
|
|
15
|
-
const PKG_ROOT = resolve(HERE, "..", "..");
|
|
16
|
-
const WHISPER_MODEL_DIR = join(homedir(), ".local", "harness", "models");
|
|
17
|
-
const WHISPER_MODEL_FILE = "ggml-large-v3-turbo-q5_0.bin";
|
|
18
|
-
const WHISPER_MODEL_URL = "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo-q5_0.bin?download=true";
|
|
19
|
-
export async function downloadWhisperModel() {
|
|
20
|
-
mkdirSync(WHISPER_MODEL_DIR, { recursive: true });
|
|
21
|
-
const out = join(WHISPER_MODEL_DIR, WHISPER_MODEL_FILE);
|
|
22
|
-
if (existsSync(out)) {
|
|
23
|
-
return { ok: true, exit_code: 0, note: "model already on disk" };
|
|
24
|
-
}
|
|
25
|
-
return runInherit("curl", ["-fL", "-o", out, WHISPER_MODEL_URL]);
|
|
26
|
-
}
|
|
27
|
-
export async function pullOllamaModel(model) {
|
|
28
|
-
return runInherit("ollama", ["pull", model]);
|
|
29
|
-
}
|
|
30
|
-
export async function runHarnessSetupScript(script, extraArgs = []) {
|
|
31
|
-
const scriptPath = join(PKG_ROOT, "scripts", `${script}.ts`);
|
|
32
|
-
if (!existsSync(scriptPath)) {
|
|
33
|
-
return {
|
|
34
|
-
ok: false,
|
|
35
|
-
exit_code: null,
|
|
36
|
-
note: `script not found: ${scriptPath}`,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
// pnpm exec resolves tsx from the harness pkg's node_modules; we stay
|
|
40
|
-
// in PKG_ROOT so workspace-style filtering doesn't matter.
|
|
41
|
-
return runInherit("pnpm", ["exec", "tsx", scriptPath, ...extraArgs], PKG_ROOT);
|
|
42
|
-
}
|
|
43
|
-
export async function offerInstallOllama() {
|
|
44
|
-
// Best-effort detect of brew so we don't spawn it on systems that
|
|
45
|
-
// don't have it.
|
|
46
|
-
const brewCheck = await runInherit("which", ["brew"]);
|
|
47
|
-
if (!brewCheck.ok) {
|
|
48
|
-
return {
|
|
49
|
-
ok: false,
|
|
50
|
-
exit_code: null,
|
|
51
|
-
note: "brew not on PATH — install Ollama manually from ollama.com",
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
return runInherit("brew", ["install", "ollama"]);
|
|
55
|
-
}
|
|
56
|
-
function runInherit(command, args, cwd) {
|
|
57
|
-
return new Promise((resolveP) => {
|
|
58
|
-
const child = spawn(command, args, {
|
|
59
|
-
stdio: "inherit",
|
|
60
|
-
...(cwd !== undefined ? { cwd } : {}),
|
|
61
|
-
});
|
|
62
|
-
child.on("error", (err) => {
|
|
63
|
-
resolveP({ ok: false, exit_code: null, note: String(err) });
|
|
64
|
-
});
|
|
65
|
-
child.on("exit", (code) => {
|
|
66
|
-
resolveP({ ok: code === 0, exit_code: code });
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=setup-runners.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup-runners.js","sourceRoot":"","sources":["../../src/init/setup-runners.ts"],"names":[],"mappings":"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"}
|
package/dist/init/types.d.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Phase 16 — `harness init` adoption wizard.
|
|
3
|
-
*
|
|
4
|
-
* Detection-driven, no stack profiles. Per operator decision 2026-05-02:
|
|
5
|
-
* "should be agnostic, why are we shipping with profiles." Profiles bake
|
|
6
|
-
* stack assumptions into the harness pkg; detection treats every project
|
|
7
|
-
* generically and proposes per-sensor approval at adoption.
|
|
8
|
-
*/
|
|
9
|
-
export type StackKind = "typescript" | "python" | "ruby" | "go" | "rust" | "elixir" | "unknown";
|
|
10
|
-
/** A single detected stack signature with the marker file that flagged it. */
|
|
11
|
-
export interface StackSignature {
|
|
12
|
-
kind: StackKind;
|
|
13
|
-
/** File or directory whose presence flagged this stack. */
|
|
14
|
-
marker: string;
|
|
15
|
-
}
|
|
16
|
-
/** A sensor the harness proposes adding to .harness/config/sensors.yaml. */
|
|
17
|
-
export interface SensorProposal {
|
|
18
|
-
id: string;
|
|
19
|
-
/** Command + args. Run via child_process from the user tree. */
|
|
20
|
-
command: string;
|
|
21
|
-
args: string[];
|
|
22
|
-
/** Stack signature(s) this sensor binds to. */
|
|
23
|
-
applies_to: StackKind[];
|
|
24
|
-
/** Why this sensor was proposed (file presence, config block, etc.). */
|
|
25
|
-
reason: string;
|
|
26
|
-
/** Whether running this sensor needs `pnpm install` / `pip install` / etc. */
|
|
27
|
-
needs_install?: boolean;
|
|
28
|
-
}
|
|
29
|
-
export interface StartCommand {
|
|
30
|
-
command: string;
|
|
31
|
-
args: string[];
|
|
32
|
-
/** Sub-package cwd — relative to the repo root. */
|
|
33
|
-
cwd?: string;
|
|
34
|
-
reason: string;
|
|
35
|
-
}
|
|
36
|
-
export type HookCapability = "claude-code" | "git-hooks" | "cli-only";
|
|
37
|
-
export interface DetectionResult {
|
|
38
|
-
/** Repo root absolute path. */
|
|
39
|
-
repo_root: string;
|
|
40
|
-
/** Slug derived from package.json name OR git remote basename OR cwd basename. */
|
|
41
|
-
project_slug: string;
|
|
42
|
-
/** git origin URL when present. */
|
|
43
|
-
origin_url: string | null;
|
|
44
|
-
/** All matching stack signatures (may be empty for non-source repos). */
|
|
45
|
-
stack_signatures: StackSignature[];
|
|
46
|
-
/** Sensors the harness proposes. Ordered by stack signature. */
|
|
47
|
-
proposed_sensors: SensorProposal[];
|
|
48
|
-
/** Best-guess start command for the dev server. */
|
|
49
|
-
start_command: StartCommand | null;
|
|
50
|
-
hook_capability: HookCapability;
|
|
51
|
-
/** Optional environment readiness — advisory, never blocking. */
|
|
52
|
-
environment: {
|
|
53
|
-
claude_auth: boolean;
|
|
54
|
-
whisper_model: boolean;
|
|
55
|
-
ollama_running: boolean;
|
|
56
|
-
discord_token: boolean;
|
|
57
|
-
discord_guild: boolean;
|
|
58
|
-
};
|
|
59
|
-
}
|
package/dist/init/types.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Phase 16 — `harness init` adoption wizard.
|
|
3
|
-
*
|
|
4
|
-
* Detection-driven, no stack profiles. Per operator decision 2026-05-02:
|
|
5
|
-
* "should be agnostic, why are we shipping with profiles." Profiles bake
|
|
6
|
-
* stack assumptions into the harness pkg; detection treats every project
|
|
7
|
-
* generically and proposes per-sensor approval at adoption.
|
|
8
|
-
*/
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=types.js.map
|
package/dist/init/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/init/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
package/dist/init/walker.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Repo walker — produces a structural inventory the init mapper consumes.
|
|
3
|
-
*
|
|
4
|
-
* Walks the adopted project's working tree at adoption time, respecting
|
|
5
|
-
* `.gitignore` (via `git ls-files --cached --others --exclude-standard`
|
|
6
|
-
* when a git repo is present) and a hardcoded set of vendored / generated
|
|
7
|
-
* directory names. Caps both depth and total file count so the mapper
|
|
8
|
-
* prompt stays bounded in token cost on large monorepos.
|
|
9
|
-
*
|
|
10
|
-
* No prompts, no LLM calls, no side effects beyond reading files. Output is
|
|
11
|
-
* a `RepoSummary` of:
|
|
12
|
-
* - top-level entries
|
|
13
|
-
* - file-count breakdowns by extension and by top-level dir
|
|
14
|
-
* - manifest previews (package.json / pyproject.toml / Gemfile / go.mod /
|
|
15
|
-
* Cargo.toml / mix.exs / deno.json / etc., first 80 lines each)
|
|
16
|
-
* - notable files (README, schema.prisma, openapi.{json,yaml}, Dockerfile,
|
|
17
|
-
* compose, AGENTS.md, etc.)
|
|
18
|
-
* - notable directories whose name matches common framework conventions
|
|
19
|
-
* (controllers, routes, handlers, services, models, migrations, schema,
|
|
20
|
-
* apps, packages, ...)
|
|
21
|
-
* - framework signals scraped out of manifest deps
|
|
22
|
-
*
|
|
23
|
-
* The mapper turns this into the `<slug>:` extension block (route_handler_globs,
|
|
24
|
-
* dto_globs, generator_source_globs, high_stakes_globs, off_limits_globs,
|
|
25
|
-
* pilot_module, key_modules, proposed_sensors, domain_summary).
|
|
26
|
-
*/
|
|
27
|
-
export interface ManifestPreview {
|
|
28
|
-
path: string;
|
|
29
|
-
preview: string;
|
|
30
|
-
}
|
|
31
|
-
export interface RepoSummary {
|
|
32
|
-
repo_root: string;
|
|
33
|
-
total_files: number;
|
|
34
|
-
total_dirs: number;
|
|
35
|
-
truncated_at_file_cap: boolean;
|
|
36
|
-
truncated_at_depth_cap: boolean;
|
|
37
|
-
used_git_ls_files: boolean;
|
|
38
|
-
top_level: string[];
|
|
39
|
-
package_manifests: ManifestPreview[];
|
|
40
|
-
by_extension: Record<string, number>;
|
|
41
|
-
by_top_dir: Record<string, number>;
|
|
42
|
-
notable_files: string[];
|
|
43
|
-
notable_dir_paths: string[];
|
|
44
|
-
framework_signals: string[];
|
|
45
|
-
}
|
|
46
|
-
export interface BuildRepoSummaryOptions {
|
|
47
|
-
repoRoot: string;
|
|
48
|
-
/** Max directory depth to descend. Default 5. */
|
|
49
|
-
depthCap?: number;
|
|
50
|
-
/** Hard cap on the number of files included. Default 3000. */
|
|
51
|
-
fileCap?: number;
|
|
52
|
-
}
|
|
53
|
-
export declare function buildRepoSummary(opts: BuildRepoSummaryOptions): RepoSummary;
|