@reticlehq/server 2.2.1 → 2.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 +1 -1
- package/dist/bridge-security.d.ts +0 -1
- package/dist/bridge-security.js +0 -1
- package/dist/bridge.d.ts +0 -1
- package/dist/bridge.js +102 -12
- package/dist/bridge.test-harness.d.ts +5 -1
- package/dist/bridge.test-harness.js +12 -1
- package/dist/capsule/capsule-store.d.ts +2 -3
- package/dist/capsule/capsule-store.js +0 -1
- package/dist/capsule/capsule.d.ts +0 -1
- package/dist/capsule/capsule.js +0 -1
- package/dist/capsule/causal-summary.d.ts +21 -1
- package/dist/capsule/causal-summary.js +20 -2
- package/dist/capsule/divergence.d.ts +0 -1
- package/dist/capsule/divergence.js +0 -1
- package/dist/capsule/minimize.d.ts +0 -1
- package/dist/capsule/minimize.js +0 -1
- package/dist/capsule/predicate-to-links.d.ts +0 -1
- package/dist/capsule/predicate-to-links.js +0 -1
- package/dist/cli-doctor.d.ts +6 -0
- package/dist/cli-doctor.js +60 -0
- package/dist/cli-flow-commands.d.ts +0 -1
- package/dist/cli-flow-commands.js +0 -1
- package/dist/cli-launch.d.ts +0 -1
- package/dist/cli-launch.js +7 -3
- package/dist/cli-parse.d.ts +47 -3
- package/dist/cli-parse.js +147 -13
- package/dist/cli-port.d.ts +3 -1
- package/dist/cli-port.js +21 -1
- package/dist/cli-verify.d.ts +0 -1
- package/dist/cli-verify.js +1 -2
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +88 -69
- package/dist/cloud/cloud-config.d.ts +0 -1
- package/dist/cloud/cloud-config.js +0 -1
- package/dist/cloud/cloud-sync.d.ts +4 -5
- package/dist/cloud/cloud-sync.js +0 -1
- package/dist/cloud-cli.d.ts +0 -1
- package/dist/cloud-cli.js +9 -2
- package/dist/crawl/crawl-tools.d.ts +0 -1
- package/dist/crawl/crawl-tools.js +1 -2
- package/dist/crawl/crawl.d.ts +17 -3
- package/dist/crawl/crawl.js +43 -4
- package/dist/daemon-resilience.d.ts +6 -1
- package/dist/daemon-resilience.js +63 -1
- package/dist/daemon.d.ts +23 -3
- package/dist/daemon.js +36 -24
- package/dist/domain/domain-model.d.ts +0 -1
- package/dist/domain/domain-model.js +1 -2
- package/dist/domain/domain-tools.d.ts +0 -7
- package/dist/domain/domain-tools.js +21 -4
- package/dist/domain/flow-risk.d.ts +0 -1
- package/dist/domain/flow-risk.js +0 -1
- package/dist/ee/audit-log.d.ts +0 -1
- package/dist/ee/audit-log.js +0 -1
- package/dist/events/body-failures.d.ts +4 -0
- package/dist/events/body-failures.js +113 -0
- package/dist/events/contradictions.d.ts +53 -0
- package/dist/events/contradictions.js +282 -0
- package/dist/events/echo-mismatch.d.ts +4 -0
- package/dist/events/echo-mismatch.js +138 -0
- package/dist/events/event-filters.d.ts +17 -3
- package/dist/events/event-filters.js +13 -3
- package/dist/events/json-salvage.d.ts +32 -0
- package/dist/events/json-salvage.js +96 -0
- package/dist/events/predicate-eval.d.ts +2 -1
- package/dist/events/predicate-eval.js +56 -9
- package/dist/events/predicate.d.ts +0 -1
- package/dist/events/predicate.js +56 -2
- package/dist/events/reaction.d.ts +0 -1
- package/dist/events/reaction.js +0 -1
- package/dist/events/reconcile.d.ts +39 -0
- package/dist/events/reconcile.js +211 -0
- package/dist/events/ring-buffer.d.ts +0 -1
- package/dist/events/ring-buffer.js +0 -1
- package/dist/events/stale-response.d.ts +4 -0
- package/dist/events/stale-response.js +139 -0
- package/dist/events/unit-mismatch.d.ts +16 -0
- package/dist/events/unit-mismatch.js +167 -0
- package/dist/flows/affected-tools.d.ts +18 -0
- package/dist/flows/affected-tools.js +52 -0
- package/dist/flows/affected.d.ts +0 -1
- package/dist/flows/affected.js +0 -1
- package/dist/flows/annotate-tools.d.ts +0 -1
- package/dist/flows/annotate-tools.js +21 -3
- package/dist/flows/annotate.d.ts +0 -1
- package/dist/flows/annotate.js +0 -1
- package/dist/flows/annotation-store.d.ts +0 -1
- package/dist/flows/annotation-store.js +0 -1
- package/dist/flows/assertion-integrity.d.ts +0 -1
- package/dist/flows/assertion-integrity.js +0 -1
- package/dist/flows/assertion-tiers-store.d.ts +0 -1
- package/dist/flows/assertion-tiers-store.js +0 -1
- package/dist/flows/buddy-status.d.ts +0 -1
- package/dist/flows/buddy-status.js +0 -1
- package/dist/flows/coverage.d.ts +0 -1
- package/dist/flows/coverage.js +0 -1
- package/dist/flows/decision.d.ts +0 -7
- package/dist/flows/decision.js +47 -7
- package/dist/flows/flake-store.d.ts +0 -1
- package/dist/flows/flake-store.js +0 -1
- package/dist/flows/flake.d.ts +0 -1
- package/dist/flows/flake.js +0 -1
- package/dist/flows/flow-classify.d.ts +0 -1
- package/dist/flows/flow-classify.js +0 -1
- package/dist/flows/flow-replay-run.d.ts +0 -1
- package/dist/flows/flow-replay-run.js +2 -3
- package/dist/flows/flow-replay.d.ts +20 -4
- package/dist/flows/flow-replay.js +9 -43
- package/dist/flows/flow-report.d.ts +0 -1
- package/dist/flows/flow-report.js +0 -1
- package/dist/flows/flow-scope.d.ts +0 -1
- package/dist/flows/flow-scope.js +0 -1
- package/dist/flows/flow-sources.d.ts +0 -1
- package/dist/flows/flow-sources.js +0 -1
- package/dist/flows/flow-step-runners.d.ts +23 -0
- package/dist/flows/flow-step-runners.js +102 -0
- package/dist/flows/flow-success.d.ts +0 -1
- package/dist/flows/flow-success.js +0 -1
- package/dist/flows/flow-tools.d.ts +0 -1
- package/dist/flows/flow-tools.js +44 -14
- package/dist/flows/flows.d.ts +6 -2
- package/dist/flows/flows.js +15 -2
- package/dist/flows/gate.d.ts +0 -1
- package/dist/flows/gate.js +0 -1
- package/dist/flows/git-changed.d.ts +0 -1
- package/dist/flows/git-changed.js +0 -1
- package/dist/flows/heal-run.d.ts +0 -1
- package/dist/flows/heal-run.js +0 -1
- package/dist/flows/heal.d.ts +0 -1
- package/dist/flows/heal.js +0 -1
- package/dist/flows/parallel-suite.d.ts +0 -1
- package/dist/flows/parallel-suite.js +0 -1
- package/dist/flows/recordings.d.ts +0 -1
- package/dist/flows/recordings.js +0 -1
- package/dist/flows/replay.d.ts +0 -1
- package/dist/flows/replay.js +71 -4
- package/dist/flows/server-verify.d.ts +0 -1
- package/dist/flows/server-verify.js +0 -1
- package/dist/flows/verify-change-tools.d.ts +2 -0
- package/dist/flows/verify-change-tools.js +187 -0
- package/dist/flows/watch-batcher.d.ts +0 -1
- package/dist/flows/watch-batcher.js +0 -1
- package/dist/honesty/accepted-write.d.ts +14 -0
- package/dist/honesty/accepted-write.js +17 -0
- package/dist/honesty/blind-spots.d.ts +18 -1
- package/dist/honesty/blind-spots.js +47 -5
- package/dist/honesty/honesty.d.ts +0 -1
- package/dist/honesty/honesty.js +0 -1
- package/dist/honesty/uncaptured-bodies.d.ts +19 -0
- package/dist/honesty/uncaptured-bodies.js +30 -0
- package/dist/honesty/unread-outcome.d.ts +2 -0
- package/dist/honesty/unread-outcome.js +50 -0
- package/dist/honesty/verified.d.ts +40 -0
- package/dist/honesty/verified.js +86 -0
- package/dist/http-server.d.ts +0 -1
- package/dist/http-server.js +5 -1
- package/dist/hunt/hunt-report.d.ts +50 -0
- package/dist/hunt/hunt-report.js +84 -0
- package/dist/idle-shutdown.d.ts +0 -1
- package/dist/idle-shutdown.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/init/agent-rules.d.ts +0 -1
- package/dist/init/agent-rules.js +4 -2
- package/dist/init/capabilities.d.ts +17 -0
- package/dist/init/capabilities.js +51 -0
- package/dist/init/cursor.d.ts +0 -1
- package/dist/init/cursor.js +0 -1
- package/dist/init/desktop-doctor.d.ts +40 -0
- package/dist/init/desktop-doctor.js +198 -0
- package/dist/init/detect.d.ts +25 -1
- package/dist/init/detect.js +65 -4
- package/dist/init/mcp.d.ts +0 -1
- package/dist/init/mcp.js +0 -1
- package/dist/init/next-patch.d.ts +41 -0
- package/dist/init/next-patch.js +106 -0
- package/dist/init/node-io.d.ts +0 -1
- package/dist/init/node-io.js +25 -1
- package/dist/init/patch-kind.d.ts +20 -0
- package/dist/init/patch-kind.js +10 -0
- package/dist/init/plan-framework.d.ts +35 -0
- package/dist/init/plan-framework.js +217 -0
- package/dist/init/plan.d.ts +55 -4
- package/dist/init/plan.js +130 -112
- package/dist/init/project-id.d.ts +0 -1
- package/dist/init/project-id.js +0 -1
- package/dist/init/run.d.ts +17 -1
- package/dist/init/run.js +237 -18
- package/dist/init/slash-command.d.ts +18 -0
- package/dist/init/slash-command.js +52 -0
- package/dist/init/snippets.d.ts +48 -3
- package/dist/init/snippets.js +156 -6
- package/dist/init/vite-config.d.ts +4 -11
- package/dist/init/vite-config.js +15 -8
- package/dist/input/driven-redaction.d.ts +15 -0
- package/dist/input/driven-redaction.js +76 -0
- package/dist/input/network-detail.d.ts +9 -4
- package/dist/input/network-detail.js +35 -16
- package/dist/input/network-mock-tools.d.ts +0 -1
- package/dist/input/network-mock-tools.js +3 -4
- package/dist/input/network-mock.d.ts +0 -1
- package/dist/input/network-mock.js +0 -1
- package/dist/input/real-input.d.ts +14 -1
- package/dist/input/real-input.js +45 -3
- package/dist/input/scroll-find.d.ts +0 -1
- package/dist/input/scroll-find.js +0 -1
- package/dist/input/scroll-tools.d.ts +0 -1
- package/dist/input/scroll-tools.js +0 -1
- package/dist/input/viewport-tools.d.ts +0 -1
- package/dist/input/viewport-tools.js +3 -4
- package/dist/journal/ambient-store.d.ts +0 -1
- package/dist/journal/ambient-store.js +0 -1
- package/dist/journal/ambient.d.ts +0 -1
- package/dist/journal/ambient.js +0 -1
- package/dist/journal/attach-journal.d.ts +0 -1
- package/dist/journal/attach-journal.js +0 -1
- package/dist/journal/deviation-report.d.ts +0 -1
- package/dist/journal/deviation-report.js +0 -1
- package/dist/journal/deviation-service.d.ts +0 -1
- package/dist/journal/deviation-service.js +0 -1
- package/dist/journal/envelope-store.d.ts +0 -1
- package/dist/journal/envelope-store.js +0 -1
- package/dist/journal/envelope.d.ts +8 -9
- package/dist/journal/envelope.js +0 -1
- package/dist/journal/journal-query.d.ts +0 -1
- package/dist/journal/journal-query.js +0 -1
- package/dist/journal/journal-recorder.d.ts +0 -1
- package/dist/journal/journal-recorder.js +0 -1
- package/dist/journal/retention.d.ts +0 -1
- package/dist/journal/retention.js +0 -1
- package/dist/journal/rollups.d.ts +0 -1
- package/dist/journal/rollups.js +0 -1
- package/dist/journal/session-end.d.ts +0 -1
- package/dist/journal/session-end.js +0 -1
- package/dist/journal/session-journal.d.ts +0 -1
- package/dist/journal/session-journal.js +0 -1
- package/dist/license/license.d.ts +0 -1
- package/dist/license/license.js +0 -1
- package/dist/log.d.ts +0 -1
- package/dist/log.js +0 -1
- package/dist/mcp-proxy.d.ts +35 -4
- package/dist/mcp-proxy.js +174 -28
- package/dist/mcp.d.ts +15 -1
- package/dist/mcp.js +145 -17
- package/dist/oracles/flow-instrument-gaps.d.ts +0 -1
- package/dist/oracles/flow-instrument-gaps.js +0 -1
- package/dist/oracles/propose-consequences.d.ts +0 -1
- package/dist/oracles/propose-consequences.js +0 -1
- package/dist/oracles/self-instrument.d.ts +0 -1
- package/dist/oracles/self-instrument.js +0 -1
- package/dist/pairing-token.d.ts +0 -1
- package/dist/pairing-token.js +0 -1
- package/dist/phenomena/phenomena.d.ts +0 -1
- package/dist/phenomena/phenomena.js +0 -1
- package/dist/pool/browser-pool.d.ts +0 -1
- package/dist/pool/browser-pool.js +0 -1
- package/dist/pool/lease-reaper.d.ts +0 -1
- package/dist/pool/lease-reaper.js +0 -1
- package/dist/pool/playwright-launcher.d.ts +0 -1
- package/dist/pool/playwright-launcher.js +10 -2
- package/dist/project/baselines.d.ts +0 -1
- package/dist/project/baselines.js +0 -1
- package/dist/project/file-lock.d.ts +2 -1
- package/dist/project/file-lock.js +12 -2
- package/dist/project/fs-port.d.ts +0 -1
- package/dist/project/fs-port.js +0 -1
- package/dist/project/project-store.d.ts +0 -1
- package/dist/project/project-store.js +0 -1
- package/dist/project/project-tools.d.ts +0 -1
- package/dist/project/project-tools.js +29 -4
- package/dist/project/reticle-dir.d.ts +0 -1
- package/dist/project/reticle-dir.js +0 -1
- package/dist/runs/build-verification-run.d.ts +0 -1
- package/dist/runs/build-verification-run.js +0 -1
- package/dist/runs/profile-redact.d.ts +0 -1
- package/dist/runs/profile-redact.js +0 -1
- package/dist/runs/render-report.d.ts +0 -1
- package/dist/runs/render-report.js +0 -1
- package/dist/runs/repair-prompt.d.ts +0 -1
- package/dist/runs/repair-prompt.js +0 -1
- package/dist/runs/replay-mapping.d.ts +0 -1
- package/dist/runs/replay-mapping.js +0 -1
- package/dist/runs/reticle-runner.d.ts +0 -1
- package/dist/runs/reticle-runner.js +4 -2
- package/dist/runs/risk-classify.d.ts +0 -1
- package/dist/runs/risk-classify.js +0 -1
- package/dist/runs/run-diff.d.ts +0 -1
- package/dist/runs/run-diff.js +0 -1
- package/dist/runs/run-store.d.ts +0 -1
- package/dist/runs/run-store.js +0 -1
- package/dist/runs/run-tools.d.ts +0 -1
- package/dist/runs/run-tools.js +0 -1
- package/dist/runs/runner-port.d.ts +0 -1
- package/dist/runs/runner-port.js +0 -1
- package/dist/runs/verification-sync.d.ts +0 -1
- package/dist/runs/verification-sync.js +0 -1
- package/dist/runs/verify-http.d.ts +0 -1
- package/dist/runs/verify-http.js +0 -1
- package/dist/runs/verify-server.d.ts +0 -1
- package/dist/runs/verify-server.js +0 -1
- package/dist/server-version.d.ts +0 -1
- package/dist/server-version.js +0 -1
- package/dist/session/command-timeout.d.ts +35 -0
- package/dist/session/command-timeout.js +41 -0
- package/dist/session/control-envelope.d.ts +2 -3
- package/dist/session/control-envelope.js +2 -3
- package/dist/session/last-act.d.ts +31 -0
- package/dist/session/last-act.js +24 -0
- package/dist/session/live-control-tools.d.ts +0 -1
- package/dist/session/live-control-tools.js +3 -4
- package/dist/session/live-control.d.ts +0 -1
- package/dist/session/live-control.js +0 -1
- package/dist/session/observed-state.d.ts +12 -2
- package/dist/session/observed-state.js +29 -2
- package/dist/session/output-budget.d.ts +0 -1
- package/dist/session/output-budget.js +0 -1
- package/dist/session/pending-commands.d.ts +12 -0
- package/dist/session/pending-commands.js +36 -0
- package/dist/session/presenter-args.d.ts +0 -1
- package/dist/session/presenter-args.js +0 -1
- package/dist/session/review-store.d.ts +0 -1
- package/dist/session/review-store.js +0 -1
- package/dist/session/session-health.d.ts +26 -2
- package/dist/session/session-health.js +13 -1
- package/dist/session/session-info.d.ts +29 -0
- package/dist/session/session-info.js +1 -0
- package/dist/session/session-lease.d.ts +25 -0
- package/dist/session/session-lease.js +14 -0
- package/dist/session/session-manager.d.ts +7 -19
- package/dist/session/session-manager.js +35 -2
- package/dist/session/session-readiness.d.ts +0 -1
- package/dist/session/session-readiness.js +3 -4
- package/dist/session/session-reaper.d.ts +0 -1
- package/dist/session/session-reaper.js +0 -1
- package/dist/session/session-recommendation.d.ts +0 -1
- package/dist/session/session-recommendation.js +0 -1
- package/dist/session/session-tools.d.ts +0 -1
- package/dist/session/session-tools.js +2 -3
- package/dist/session/session.d.ts +33 -53
- package/dist/session/session.js +102 -66
- package/dist/session/state-select.d.ts +0 -1
- package/dist/session/state-select.js +0 -1
- package/dist/telemetry/argument-shape.d.ts +41 -0
- package/dist/telemetry/argument-shape.js +87 -0
- package/dist/telemetry/bug-found.d.ts +33 -0
- package/dist/telemetry/bug-found.js +95 -0
- package/dist/telemetry/cli-telemetry.d.ts +13 -0
- package/dist/telemetry/cli-telemetry.js +43 -0
- package/dist/telemetry/connect-failure.d.ts +16 -0
- package/dist/telemetry/connect-failure.js +44 -0
- package/dist/telemetry/daemon-telemetry.d.ts +19 -0
- package/dist/telemetry/daemon-telemetry.js +76 -0
- package/dist/telemetry/dev-repo.d.ts +10 -0
- package/dist/telemetry/dev-repo.js +80 -0
- package/dist/telemetry/error-fingerprint.d.ts +24 -0
- package/dist/telemetry/error-fingerprint.js +88 -0
- package/dist/telemetry/feedback-cli.d.ts +31 -0
- package/dist/telemetry/feedback-cli.js +102 -0
- package/dist/telemetry/feedback-context.d.ts +32 -0
- package/dist/telemetry/feedback-context.js +143 -0
- package/dist/telemetry/feedback.d.ts +66 -0
- package/dist/telemetry/feedback.js +175 -0
- package/dist/telemetry/git-facts.d.ts +21 -0
- package/dist/telemetry/git-facts.js +109 -0
- package/dist/telemetry/identify.d.ts +22 -0
- package/dist/telemetry/identify.js +73 -0
- package/dist/telemetry/init-telemetry.d.ts +26 -0
- package/dist/telemetry/init-telemetry.js +33 -0
- package/dist/telemetry/machine-snapshot.d.ts +6 -0
- package/dist/telemetry/machine-snapshot.js +39 -0
- package/dist/telemetry/mcp-connection.d.ts +5 -0
- package/dist/telemetry/mcp-connection.js +44 -0
- package/dist/telemetry/project-profile.d.ts +44 -0
- package/dist/telemetry/project-profile.js +205 -0
- package/dist/telemetry/run-telemetry.d.ts +21 -0
- package/dist/telemetry/run-telemetry.js +62 -0
- package/dist/telemetry/session-metrics.d.ts +103 -0
- package/dist/telemetry/session-metrics.js +329 -0
- package/dist/telemetry/telemetry.d.ts +35 -8
- package/dist/telemetry/telemetry.js +105 -12
- package/dist/token-auth.d.ts +0 -1
- package/dist/token-auth.js +0 -1
- package/dist/tools/act-capsule.d.ts +23 -0
- package/dist/tools/act-capsule.js +47 -0
- package/dist/tools/act-danger.d.ts +7 -0
- package/dist/tools/act-danger.js +44 -0
- package/dist/tools/act-helpers.d.ts +17 -0
- package/dist/tools/act-helpers.js +40 -0
- package/dist/tools/act-tools.d.ts +8 -1
- package/dist/tools/act-tools.js +96 -98
- package/dist/tools/act-view.d.ts +7 -1
- package/dist/tools/act-view.js +13 -1
- package/dist/tools/assert-grade.d.ts +22 -1
- package/dist/tools/assert-grade.js +46 -1
- package/dist/tools/assert-verdict.d.ts +21 -0
- package/dist/tools/assert-verdict.js +62 -0
- package/dist/tools/browser-tools.d.ts +0 -1
- package/dist/tools/browser-tools.js +2 -2
- package/dist/tools/contract-tools.d.ts +0 -1
- package/dist/tools/contract-tools.js +0 -1
- package/dist/tools/coverage-tools.d.ts +9 -0
- package/dist/tools/coverage-tools.js +92 -0
- package/dist/tools/dynamic-tools.d.ts +0 -1
- package/dist/tools/dynamic-tools.js +21 -2
- package/dist/tools/error-recovery.d.ts +18 -2
- package/dist/tools/error-recovery.js +42 -7
- package/dist/tools/feedback-tools.d.ts +24 -0
- package/dist/tools/feedback-tools.js +180 -0
- package/dist/tools/invoke-tool.d.ts +0 -1
- package/dist/tools/invoke-tool.js +115 -5
- package/dist/tools/lease-tools.d.ts +0 -1
- package/dist/tools/lease-tools.js +6 -5
- package/dist/tools/merge-tools.d.ts +0 -1
- package/dist/tools/merge-tools.js +0 -1
- package/dist/tools/observe-tools.d.ts +0 -1
- package/dist/tools/observe-tools.js +91 -39
- package/dist/tools/profiles.d.ts +1 -2
- package/dist/tools/profiles.js +43 -16
- package/dist/tools/query-paginate.d.ts +0 -1
- package/dist/tools/query-paginate.js +0 -1
- package/dist/tools/read-tools.d.ts +0 -1
- package/dist/tools/read-tools.js +14 -8
- package/dist/tools/reconcile-tools.d.ts +2 -0
- package/dist/tools/reconcile-tools.js +111 -0
- package/dist/tools/snapshot-delta.d.ts +0 -1
- package/dist/tools/snapshot-delta.js +0 -0
- package/dist/tools/tool-invoker.d.ts +0 -1
- package/dist/tools/tool-invoker.js +0 -1
- package/dist/tools/tool-kit.d.ts +16 -1
- package/dist/tools/tool-kit.js +8 -2
- package/dist/tools/tool-names.d.ts +6 -1
- package/dist/tools/tool-names.js +6 -1
- package/dist/tools/tools-helpers.d.ts +0 -1
- package/dist/tools/tools-helpers.js +0 -1
- package/dist/tools/tools.d.ts +0 -1
- package/dist/tools/tools.js +24 -4
- package/dist/update/update-checker.d.ts +0 -1
- package/dist/update/update-checker.js +0 -1
- package/dist/update/update-nudge.d.ts +20 -0
- package/dist/update/update-nudge.js +72 -0
- package/dist/update/updater.d.ts +14 -1
- package/dist/update/updater.js +33 -2
- package/dist/visual/visual-diff.d.ts +0 -1
- package/dist/visual/visual-diff.js +0 -1
- package/dist/visual/visual-store.d.ts +0 -1
- package/dist/visual/visual-store.js +0 -1
- package/dist/visual/visual-tools.d.ts +0 -1
- package/dist/visual/visual-tools.js +103 -16
- package/package.json +2 -2
- package/dist/bridge-security.d.ts.map +0 -1
- package/dist/bridge-security.js.map +0 -1
- package/dist/bridge.d.ts.map +0 -1
- package/dist/bridge.js.map +0 -1
- package/dist/bridge.test-harness.d.ts.map +0 -1
- package/dist/bridge.test-harness.js.map +0 -1
- package/dist/capsule/capsule-store.d.ts.map +0 -1
- package/dist/capsule/capsule-store.js.map +0 -1
- package/dist/capsule/capsule.d.ts.map +0 -1
- package/dist/capsule/capsule.js.map +0 -1
- package/dist/capsule/causal-summary.d.ts.map +0 -1
- package/dist/capsule/causal-summary.js.map +0 -1
- package/dist/capsule/divergence.d.ts.map +0 -1
- package/dist/capsule/divergence.js.map +0 -1
- package/dist/capsule/minimize.d.ts.map +0 -1
- package/dist/capsule/minimize.js.map +0 -1
- package/dist/capsule/predicate-to-links.d.ts.map +0 -1
- package/dist/capsule/predicate-to-links.js.map +0 -1
- package/dist/cli-flow-commands.d.ts.map +0 -1
- package/dist/cli-flow-commands.js.map +0 -1
- package/dist/cli-launch.d.ts.map +0 -1
- package/dist/cli-launch.js.map +0 -1
- package/dist/cli-parse.d.ts.map +0 -1
- package/dist/cli-parse.js.map +0 -1
- package/dist/cli-port.d.ts.map +0 -1
- package/dist/cli-port.js.map +0 -1
- package/dist/cli-verify.d.ts.map +0 -1
- package/dist/cli-verify.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/cloud/cloud-config.d.ts.map +0 -1
- package/dist/cloud/cloud-config.js.map +0 -1
- package/dist/cloud/cloud-sync.d.ts.map +0 -1
- package/dist/cloud/cloud-sync.js.map +0 -1
- package/dist/cloud-cli.d.ts.map +0 -1
- package/dist/cloud-cli.js.map +0 -1
- package/dist/crawl/crawl-tools.d.ts.map +0 -1
- package/dist/crawl/crawl-tools.js.map +0 -1
- package/dist/crawl/crawl.d.ts.map +0 -1
- package/dist/crawl/crawl.js.map +0 -1
- package/dist/daemon-resilience.d.ts.map +0 -1
- package/dist/daemon-resilience.js.map +0 -1
- package/dist/daemon.d.ts.map +0 -1
- package/dist/daemon.js.map +0 -1
- package/dist/domain/domain-model.d.ts.map +0 -1
- package/dist/domain/domain-model.js.map +0 -1
- package/dist/domain/domain-tools.d.ts.map +0 -1
- package/dist/domain/domain-tools.js.map +0 -1
- package/dist/domain/flow-risk.d.ts.map +0 -1
- package/dist/domain/flow-risk.js.map +0 -1
- package/dist/ee/audit-log.d.ts.map +0 -1
- package/dist/ee/audit-log.js.map +0 -1
- package/dist/events/event-filters.d.ts.map +0 -1
- package/dist/events/event-filters.js.map +0 -1
- package/dist/events/predicate-eval.d.ts.map +0 -1
- package/dist/events/predicate-eval.js.map +0 -1
- package/dist/events/predicate.d.ts.map +0 -1
- package/dist/events/predicate.js.map +0 -1
- package/dist/events/reaction.d.ts.map +0 -1
- package/dist/events/reaction.js.map +0 -1
- package/dist/events/ring-buffer.d.ts.map +0 -1
- package/dist/events/ring-buffer.js.map +0 -1
- package/dist/flows/affected.d.ts.map +0 -1
- package/dist/flows/affected.js.map +0 -1
- package/dist/flows/annotate-tools.d.ts.map +0 -1
- package/dist/flows/annotate-tools.js.map +0 -1
- package/dist/flows/annotate.d.ts.map +0 -1
- package/dist/flows/annotate.js.map +0 -1
- package/dist/flows/annotation-store.d.ts.map +0 -1
- package/dist/flows/annotation-store.js.map +0 -1
- package/dist/flows/assertion-integrity.d.ts.map +0 -1
- package/dist/flows/assertion-integrity.js.map +0 -1
- package/dist/flows/assertion-tiers-store.d.ts.map +0 -1
- package/dist/flows/assertion-tiers-store.js.map +0 -1
- package/dist/flows/buddy-status.d.ts.map +0 -1
- package/dist/flows/buddy-status.js.map +0 -1
- package/dist/flows/coverage.d.ts.map +0 -1
- package/dist/flows/coverage.js.map +0 -1
- package/dist/flows/decision.d.ts.map +0 -1
- package/dist/flows/decision.js.map +0 -1
- package/dist/flows/flake-store.d.ts.map +0 -1
- package/dist/flows/flake-store.js.map +0 -1
- package/dist/flows/flake.d.ts.map +0 -1
- package/dist/flows/flake.js.map +0 -1
- package/dist/flows/flow-classify.d.ts.map +0 -1
- package/dist/flows/flow-classify.js.map +0 -1
- package/dist/flows/flow-replay-run.d.ts.map +0 -1
- package/dist/flows/flow-replay-run.js.map +0 -1
- package/dist/flows/flow-replay.d.ts.map +0 -1
- package/dist/flows/flow-replay.js.map +0 -1
- package/dist/flows/flow-report.d.ts.map +0 -1
- package/dist/flows/flow-report.js.map +0 -1
- package/dist/flows/flow-scope.d.ts.map +0 -1
- package/dist/flows/flow-scope.js.map +0 -1
- package/dist/flows/flow-sources.d.ts.map +0 -1
- package/dist/flows/flow-sources.js.map +0 -1
- package/dist/flows/flow-success.d.ts.map +0 -1
- package/dist/flows/flow-success.js.map +0 -1
- package/dist/flows/flow-tools.d.ts.map +0 -1
- package/dist/flows/flow-tools.js.map +0 -1
- package/dist/flows/flows.d.ts.map +0 -1
- package/dist/flows/flows.js.map +0 -1
- package/dist/flows/gate.d.ts.map +0 -1
- package/dist/flows/gate.js.map +0 -1
- package/dist/flows/git-changed.d.ts.map +0 -1
- package/dist/flows/git-changed.js.map +0 -1
- package/dist/flows/heal-run.d.ts.map +0 -1
- package/dist/flows/heal-run.js.map +0 -1
- package/dist/flows/heal.d.ts.map +0 -1
- package/dist/flows/heal.js.map +0 -1
- package/dist/flows/parallel-suite.d.ts.map +0 -1
- package/dist/flows/parallel-suite.js.map +0 -1
- package/dist/flows/recordings.d.ts.map +0 -1
- package/dist/flows/recordings.js.map +0 -1
- package/dist/flows/replay.d.ts.map +0 -1
- package/dist/flows/replay.js.map +0 -1
- package/dist/flows/server-verify.d.ts.map +0 -1
- package/dist/flows/server-verify.js.map +0 -1
- package/dist/flows/watch-batcher.d.ts.map +0 -1
- package/dist/flows/watch-batcher.js.map +0 -1
- package/dist/honesty/blind-spots.d.ts.map +0 -1
- package/dist/honesty/blind-spots.js.map +0 -1
- package/dist/honesty/honesty.d.ts.map +0 -1
- package/dist/honesty/honesty.js.map +0 -1
- package/dist/http-server.d.ts.map +0 -1
- package/dist/http-server.js.map +0 -1
- package/dist/idle-shutdown.d.ts.map +0 -1
- package/dist/idle-shutdown.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init/agent-rules.d.ts.map +0 -1
- package/dist/init/agent-rules.js.map +0 -1
- package/dist/init/cursor.d.ts.map +0 -1
- package/dist/init/cursor.js.map +0 -1
- package/dist/init/detect.d.ts.map +0 -1
- package/dist/init/detect.js.map +0 -1
- package/dist/init/mcp.d.ts.map +0 -1
- package/dist/init/mcp.js.map +0 -1
- package/dist/init/node-io.d.ts.map +0 -1
- package/dist/init/node-io.js.map +0 -1
- package/dist/init/plan.d.ts.map +0 -1
- package/dist/init/plan.js.map +0 -1
- package/dist/init/project-id.d.ts.map +0 -1
- package/dist/init/project-id.js.map +0 -1
- package/dist/init/run.d.ts.map +0 -1
- package/dist/init/run.js.map +0 -1
- package/dist/init/snippets.d.ts.map +0 -1
- package/dist/init/snippets.js.map +0 -1
- package/dist/init/vite-config.d.ts.map +0 -1
- package/dist/init/vite-config.js.map +0 -1
- package/dist/input/network-detail.d.ts.map +0 -1
- package/dist/input/network-detail.js.map +0 -1
- package/dist/input/network-mock-tools.d.ts.map +0 -1
- package/dist/input/network-mock-tools.js.map +0 -1
- package/dist/input/network-mock.d.ts.map +0 -1
- package/dist/input/network-mock.js.map +0 -1
- package/dist/input/real-input.d.ts.map +0 -1
- package/dist/input/real-input.js.map +0 -1
- package/dist/input/scroll-find.d.ts.map +0 -1
- package/dist/input/scroll-find.js.map +0 -1
- package/dist/input/scroll-tools.d.ts.map +0 -1
- package/dist/input/scroll-tools.js.map +0 -1
- package/dist/input/viewport-tools.d.ts.map +0 -1
- package/dist/input/viewport-tools.js.map +0 -1
- package/dist/journal/ambient-store.d.ts.map +0 -1
- package/dist/journal/ambient-store.js.map +0 -1
- package/dist/journal/ambient.d.ts.map +0 -1
- package/dist/journal/ambient.js.map +0 -1
- package/dist/journal/attach-journal.d.ts.map +0 -1
- package/dist/journal/attach-journal.js.map +0 -1
- package/dist/journal/deviation-report.d.ts.map +0 -1
- package/dist/journal/deviation-report.js.map +0 -1
- package/dist/journal/deviation-service.d.ts.map +0 -1
- package/dist/journal/deviation-service.js.map +0 -1
- package/dist/journal/envelope-store.d.ts.map +0 -1
- package/dist/journal/envelope-store.js.map +0 -1
- package/dist/journal/envelope.d.ts.map +0 -1
- package/dist/journal/envelope.js.map +0 -1
- package/dist/journal/journal-query.d.ts.map +0 -1
- package/dist/journal/journal-query.js.map +0 -1
- package/dist/journal/journal-recorder.d.ts.map +0 -1
- package/dist/journal/journal-recorder.js.map +0 -1
- package/dist/journal/retention.d.ts.map +0 -1
- package/dist/journal/retention.js.map +0 -1
- package/dist/journal/rollups.d.ts.map +0 -1
- package/dist/journal/rollups.js.map +0 -1
- package/dist/journal/session-end.d.ts.map +0 -1
- package/dist/journal/session-end.js.map +0 -1
- package/dist/journal/session-journal.d.ts.map +0 -1
- package/dist/journal/session-journal.js.map +0 -1
- package/dist/license/license.d.ts.map +0 -1
- package/dist/license/license.js.map +0 -1
- package/dist/log.d.ts.map +0 -1
- package/dist/log.js.map +0 -1
- package/dist/mcp-proxy.d.ts.map +0 -1
- package/dist/mcp-proxy.js.map +0 -1
- package/dist/mcp.d.ts.map +0 -1
- package/dist/mcp.js.map +0 -1
- package/dist/oracles/flow-instrument-gaps.d.ts.map +0 -1
- package/dist/oracles/flow-instrument-gaps.js.map +0 -1
- package/dist/oracles/propose-consequences.d.ts.map +0 -1
- package/dist/oracles/propose-consequences.js.map +0 -1
- package/dist/oracles/self-instrument.d.ts.map +0 -1
- package/dist/oracles/self-instrument.js.map +0 -1
- package/dist/pairing-token.d.ts.map +0 -1
- package/dist/pairing-token.js.map +0 -1
- package/dist/phenomena/phenomena.d.ts.map +0 -1
- package/dist/phenomena/phenomena.js.map +0 -1
- package/dist/pool/browser-pool.d.ts.map +0 -1
- package/dist/pool/browser-pool.js.map +0 -1
- package/dist/pool/lease-reaper.d.ts.map +0 -1
- package/dist/pool/lease-reaper.js.map +0 -1
- package/dist/pool/playwright-launcher.d.ts.map +0 -1
- package/dist/pool/playwright-launcher.js.map +0 -1
- package/dist/project/baselines.d.ts.map +0 -1
- package/dist/project/baselines.js.map +0 -1
- package/dist/project/file-lock.d.ts.map +0 -1
- package/dist/project/file-lock.js.map +0 -1
- package/dist/project/fs-port.d.ts.map +0 -1
- package/dist/project/fs-port.js.map +0 -1
- package/dist/project/project-store.d.ts.map +0 -1
- package/dist/project/project-store.js.map +0 -1
- package/dist/project/project-tools.d.ts.map +0 -1
- package/dist/project/project-tools.js.map +0 -1
- package/dist/project/reticle-dir.d.ts.map +0 -1
- package/dist/project/reticle-dir.js.map +0 -1
- package/dist/runs/build-verification-run.d.ts.map +0 -1
- package/dist/runs/build-verification-run.js.map +0 -1
- package/dist/runs/profile-redact.d.ts.map +0 -1
- package/dist/runs/profile-redact.js.map +0 -1
- package/dist/runs/render-report.d.ts.map +0 -1
- package/dist/runs/render-report.js.map +0 -1
- package/dist/runs/repair-prompt.d.ts.map +0 -1
- package/dist/runs/repair-prompt.js.map +0 -1
- package/dist/runs/replay-mapping.d.ts.map +0 -1
- package/dist/runs/replay-mapping.js.map +0 -1
- package/dist/runs/reticle-runner.d.ts.map +0 -1
- package/dist/runs/reticle-runner.js.map +0 -1
- package/dist/runs/risk-classify.d.ts.map +0 -1
- package/dist/runs/risk-classify.js.map +0 -1
- package/dist/runs/run-diff.d.ts.map +0 -1
- package/dist/runs/run-diff.js.map +0 -1
- package/dist/runs/run-store.d.ts.map +0 -1
- package/dist/runs/run-store.js.map +0 -1
- package/dist/runs/run-tools.d.ts.map +0 -1
- package/dist/runs/run-tools.js.map +0 -1
- package/dist/runs/runner-port.d.ts.map +0 -1
- package/dist/runs/runner-port.js.map +0 -1
- package/dist/runs/verification-sync.d.ts.map +0 -1
- package/dist/runs/verification-sync.js.map +0 -1
- package/dist/runs/verify-http.d.ts.map +0 -1
- package/dist/runs/verify-http.js.map +0 -1
- package/dist/runs/verify-server.d.ts.map +0 -1
- package/dist/runs/verify-server.js.map +0 -1
- package/dist/server-version.d.ts.map +0 -1
- package/dist/server-version.js.map +0 -1
- package/dist/session/control-envelope.d.ts.map +0 -1
- package/dist/session/control-envelope.js.map +0 -1
- package/dist/session/live-control-tools.d.ts.map +0 -1
- package/dist/session/live-control-tools.js.map +0 -1
- package/dist/session/live-control.d.ts.map +0 -1
- package/dist/session/live-control.js.map +0 -1
- package/dist/session/observed-state.d.ts.map +0 -1
- package/dist/session/observed-state.js.map +0 -1
- package/dist/session/output-budget.d.ts.map +0 -1
- package/dist/session/output-budget.js.map +0 -1
- package/dist/session/presenter-args.d.ts.map +0 -1
- package/dist/session/presenter-args.js.map +0 -1
- package/dist/session/review-store.d.ts.map +0 -1
- package/dist/session/review-store.js.map +0 -1
- package/dist/session/session-health.d.ts.map +0 -1
- package/dist/session/session-health.js.map +0 -1
- package/dist/session/session-manager.d.ts.map +0 -1
- package/dist/session/session-manager.js.map +0 -1
- package/dist/session/session-readiness.d.ts.map +0 -1
- package/dist/session/session-readiness.js.map +0 -1
- package/dist/session/session-reaper.d.ts.map +0 -1
- package/dist/session/session-reaper.js.map +0 -1
- package/dist/session/session-recommendation.d.ts.map +0 -1
- package/dist/session/session-recommendation.js.map +0 -1
- package/dist/session/session-tools.d.ts.map +0 -1
- package/dist/session/session-tools.js.map +0 -1
- package/dist/session/session.d.ts.map +0 -1
- package/dist/session/session.js.map +0 -1
- package/dist/session/state-select.d.ts.map +0 -1
- package/dist/session/state-select.js.map +0 -1
- package/dist/telemetry/telemetry.d.ts.map +0 -1
- package/dist/telemetry/telemetry.js.map +0 -1
- package/dist/token-auth.d.ts.map +0 -1
- package/dist/token-auth.js.map +0 -1
- package/dist/tools/act-tools.d.ts.map +0 -1
- package/dist/tools/act-tools.js.map +0 -1
- package/dist/tools/act-view.d.ts.map +0 -1
- package/dist/tools/act-view.js.map +0 -1
- package/dist/tools/assert-grade.d.ts.map +0 -1
- package/dist/tools/assert-grade.js.map +0 -1
- package/dist/tools/browser-tools.d.ts.map +0 -1
- package/dist/tools/browser-tools.js.map +0 -1
- package/dist/tools/contract-tools.d.ts.map +0 -1
- package/dist/tools/contract-tools.js.map +0 -1
- package/dist/tools/dynamic-tools.d.ts.map +0 -1
- package/dist/tools/dynamic-tools.js.map +0 -1
- package/dist/tools/error-recovery.d.ts.map +0 -1
- package/dist/tools/error-recovery.js.map +0 -1
- package/dist/tools/invoke-tool.d.ts.map +0 -1
- package/dist/tools/invoke-tool.js.map +0 -1
- package/dist/tools/lease-tools.d.ts.map +0 -1
- package/dist/tools/lease-tools.js.map +0 -1
- package/dist/tools/merge-tools.d.ts.map +0 -1
- package/dist/tools/merge-tools.js.map +0 -1
- package/dist/tools/observe-tools.d.ts.map +0 -1
- package/dist/tools/observe-tools.js.map +0 -1
- package/dist/tools/profiles.d.ts.map +0 -1
- package/dist/tools/profiles.js.map +0 -1
- package/dist/tools/query-paginate.d.ts.map +0 -1
- package/dist/tools/query-paginate.js.map +0 -1
- package/dist/tools/read-tools.d.ts.map +0 -1
- package/dist/tools/read-tools.js.map +0 -1
- package/dist/tools/snapshot-delta.d.ts.map +0 -1
- package/dist/tools/snapshot-delta.js.map +0 -1
- package/dist/tools/tool-invoker.d.ts.map +0 -1
- package/dist/tools/tool-invoker.js.map +0 -1
- package/dist/tools/tool-kit.d.ts.map +0 -1
- package/dist/tools/tool-kit.js.map +0 -1
- package/dist/tools/tool-names.d.ts.map +0 -1
- package/dist/tools/tool-names.js.map +0 -1
- package/dist/tools/tools-helpers.d.ts.map +0 -1
- package/dist/tools/tools-helpers.js.map +0 -1
- package/dist/tools/tools.d.ts.map +0 -1
- package/dist/tools/tools.js.map +0 -1
- package/dist/update/update-checker.d.ts.map +0 -1
- package/dist/update/update-checker.js.map +0 -1
- package/dist/update/updater.d.ts.map +0 -1
- package/dist/update/updater.js.map +0 -1
- package/dist/visual/visual-diff.d.ts.map +0 -1
- package/dist/visual/visual-diff.js.map +0 -1
- package/dist/visual/visual-store.d.ts.map +0 -1
- package/dist/visual/visual-store.js.map +0 -1
- package/dist/visual/visual-tools.d.ts.map +0 -1
- package/dist/visual/visual-tools.js.map +0 -1
package/dist/init/plan.d.ts
CHANGED
|
@@ -4,16 +4,37 @@
|
|
|
4
4
|
* runner performs the `write` side-effects; this module decides *what* should happen.
|
|
5
5
|
*/
|
|
6
6
|
import { Framework, type Detection } from './detect.js';
|
|
7
|
+
/**
|
|
8
|
+
* Pin the SDK to the CLI's own version.
|
|
9
|
+
*
|
|
10
|
+
* `pnpm add -D @reticlehq/react` installed **2.2.1** in one project while npm and yarn took 2.3.0 in
|
|
11
|
+
* the next — a stale registry metadata cache, invisible to the user and to us. A version-skewed SDK
|
|
12
|
+
* talking to a newer daemon is the `-32000` failure path: the app connects, the protocol disagrees,
|
|
13
|
+
* and nothing on either side names a version. Asking for the CLI's exact version makes the cache
|
|
14
|
+
* irrelevant, and a skewed pair impossible to install by accident.
|
|
15
|
+
*/
|
|
16
|
+
export declare function pinnedPackages(packages: readonly string[], version: string | undefined): readonly string[];
|
|
7
17
|
/** The dev-dependencies `reticle init` installs for a given framework — kit first, build plugin next. */
|
|
8
18
|
export declare function frameworkPackages(framework: Framework): readonly string[];
|
|
19
|
+
/** Exported so the init telemetry can tell an MCP-registration failure from a dependency install. */
|
|
20
|
+
export declare const MCP_TARGET = "global (claude user scope)";
|
|
21
|
+
/** The step that runs the package manager — the other thing that commonly fails on a user's machine. */
|
|
22
|
+
export declare const DEPS_TARGET = "package.json";
|
|
9
23
|
export declare const StepStatus: {
|
|
10
24
|
readonly APPLY: "apply";
|
|
11
25
|
readonly MANUAL: "manual";
|
|
12
26
|
readonly ALREADY: "already";
|
|
13
27
|
readonly SKIP: "skip";
|
|
28
|
+
/**
|
|
29
|
+
* Something the user should KNOW, not something they must DO. The UNVERIFIED lines are the case:
|
|
30
|
+
* a Preact or SvelteKit app is wired and working, it just isn't covered by a gate. Reporting those
|
|
31
|
+
* as `manual` made "steps left to do" a number that could never reach zero, and made a release gate
|
|
32
|
+
* read two regressions that were not regressions.
|
|
33
|
+
*/
|
|
34
|
+
readonly NOTICE: "notice";
|
|
14
35
|
};
|
|
15
36
|
export type StepStatus = (typeof StepStatus)[keyof typeof StepStatus];
|
|
16
|
-
interface Step {
|
|
37
|
+
export interface Step {
|
|
17
38
|
title: string;
|
|
18
39
|
target: string;
|
|
19
40
|
status: StepStatus;
|
|
@@ -29,6 +50,13 @@ interface Step {
|
|
|
29
50
|
args: string[];
|
|
30
51
|
fallback: string;
|
|
31
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* This step wires the app to a package the install step provides. If that install fails, applying
|
|
55
|
+
* it anyway leaves the app importing a module that is not there — `next.config.ts` importing
|
|
56
|
+
* `@reticlehq/next` took a dev server down exactly this way. Installing Reticle must never be the
|
|
57
|
+
* reason an app stops booting.
|
|
58
|
+
*/
|
|
59
|
+
dependsOnInstall?: boolean;
|
|
32
60
|
}
|
|
33
61
|
export interface Plan {
|
|
34
62
|
framework: Framework;
|
|
@@ -42,6 +70,8 @@ export interface PlanInput {
|
|
|
42
70
|
mcpExists: boolean;
|
|
43
71
|
/** Whether Cursor is installed for this user (its global config dir exists). */
|
|
44
72
|
cursorPresent: boolean;
|
|
73
|
+
/** Whether THIS project has a .cursor/ directory — the signal that Cursor works on this repo. */
|
|
74
|
+
cursorProjectPresent?: boolean | undefined;
|
|
45
75
|
/** Current ~/.cursor/mcp.json content, or null if absent. */
|
|
46
76
|
cursorConfig: string | null;
|
|
47
77
|
/** Absolute path of ~/.cursor/mcp.json (the write target). */
|
|
@@ -53,8 +83,25 @@ export interface PlanInput {
|
|
|
53
83
|
} | null;
|
|
54
84
|
/** Discovered Next config filename (e.g. 'next.config.mjs'), or null. */
|
|
55
85
|
nextConfigFile: string | null;
|
|
56
|
-
/**
|
|
86
|
+
/** Source of that Next config, so the export can be wrapped in withReticle. */
|
|
87
|
+
nextConfigSource?: string | null | undefined;
|
|
88
|
+
/** Discovered Next root layout: its path + source, or null (App Router only). */
|
|
89
|
+
nextLayout?: {
|
|
90
|
+
path: string;
|
|
91
|
+
source: string;
|
|
92
|
+
} | null | undefined;
|
|
93
|
+
/** Where the dev-only connect component goes — never inside `pages/`, which routes on presence. */
|
|
94
|
+
nextReticleDevPath?: string | undefined;
|
|
95
|
+
/** What the mount file should import — a sibling for App Router, `../components/…` for Pages. */
|
|
96
|
+
nextReticleDevImport?: string | undefined;
|
|
97
|
+
/** Whether the ReticleDev component file already exists. */
|
|
57
98
|
nextReticleDevExists: boolean;
|
|
99
|
+
/** `data-testid` values scanned from the app's source, for the generated capabilities block. */
|
|
100
|
+
testids?: readonly string[] | undefined;
|
|
101
|
+
/** Ready-to-uncomment `registerStore` lines for the state libraries the app actually depends on. */
|
|
102
|
+
storeHints?: readonly string[] | undefined;
|
|
103
|
+
/** Whether src/reticle-dev.ts already exists — it is the one generated file users are meant to edit. */
|
|
104
|
+
viteDevModuleExists?: boolean | undefined;
|
|
58
105
|
/** Whether src/hooks.client.ts already exists (SvelteKit idempotency). */
|
|
59
106
|
svelteKitHooksExists?: boolean;
|
|
60
107
|
/** Whether .reticle.json already exists in the project root (idempotency). */
|
|
@@ -65,14 +112,18 @@ export interface PlanInput {
|
|
|
65
112
|
agentsMdContent?: string | null | undefined;
|
|
66
113
|
/** Whether .cursor/rules/reticle.mdc already exists (agent-rule idempotency). */
|
|
67
114
|
cursorRuleExists?: boolean | undefined;
|
|
115
|
+
/** Whether .claude/commands/reticle.md already exists (slash-command idempotency). */
|
|
116
|
+
claudeCommandExists?: boolean | undefined;
|
|
117
|
+
/** Whether .cursor/commands/reticle.md already exists. */
|
|
118
|
+
cursorCommandExists?: boolean | undefined;
|
|
68
119
|
options: {
|
|
69
120
|
port: number | undefined;
|
|
70
121
|
mcp: boolean;
|
|
71
122
|
install: boolean;
|
|
72
123
|
/** Stable project identity derived at init (package.json name + root). Baked into snippets/.reticle.json. */
|
|
73
124
|
projectId?: string;
|
|
125
|
+
/** The CLI's own version, pinned onto the SDK install so a stale registry cache cannot skew it. */
|
|
126
|
+
sdkVersion?: string;
|
|
74
127
|
};
|
|
75
128
|
}
|
|
76
129
|
export declare function buildPlan(input: PlanInput): Plan;
|
|
77
|
-
export {};
|
|
78
|
-
//# sourceMappingURL=plan.d.ts.map
|
package/dist/init/plan.js
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
* contents, produce an ordered list of steps — each marked apply / manual / already / skip. The
|
|
4
4
|
* runner performs the `write` side-effects; this module decides *what* should happen.
|
|
5
5
|
*/
|
|
6
|
-
import { Framework, installCommand, installCommandParts } from './detect.js';
|
|
6
|
+
import { Framework, PackageManager, UiLibrary, installCommand, installCommandParts, } from './detect.js';
|
|
7
7
|
import { claudeAddCommand, mcpManual } from './mcp.js';
|
|
8
8
|
import { mergeCursorConfig, CursorMergeStatus, cursorServerEntry } from './cursor.js';
|
|
9
|
+
import { CLAUDE_COMMAND_PATH, CURSOR_COMMAND_PATH, SLASH_COMMAND_BODY, } from './slash-command.js';
|
|
9
10
|
import { mergeMarkedInstruction, cursorRuleFile, AgentRuleStatus, CLAUDE_MD_PATH, AGENTS_MD_PATH, CURSOR_RULE_PATH, } from './agent-rules.js';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
11
|
+
import { viteSteps, nextSteps, svelteKitSteps, VITE_PLUGIN_DETAIL } from './plan-framework.js';
|
|
12
|
+
import { htmlManual, reticleConfigContent, unverifiedUiLibraryNote, astroManual, } from './snippets.js';
|
|
12
13
|
// An app dev installs exactly the audience-scoped browser-side dependencies — never the retired
|
|
13
14
|
// `@reticlehq/core` umbrella (which dragged the Node MCP server + ws into every app). The kit is the
|
|
14
15
|
// framework adapter (it re-exports the browser sensor), paired with that framework's dev-only build
|
|
@@ -16,6 +17,20 @@ import { viteManual, htmlManual, NEXT_LAYOUT_MANUAL, nextReticleDevFile, NEXT_RE
|
|
|
16
17
|
const RETICLE_REACT_KIT = '@reticlehq/react';
|
|
17
18
|
const RETICLE_VITE_PLUGIN = '@reticlehq/vite-plugin';
|
|
18
19
|
const RETICLE_NEXT_PLUGIN = '@reticlehq/next';
|
|
20
|
+
/**
|
|
21
|
+
* Pin the SDK to the CLI's own version.
|
|
22
|
+
*
|
|
23
|
+
* `pnpm add -D @reticlehq/react` installed **2.2.1** in one project while npm and yarn took 2.3.0 in
|
|
24
|
+
* the next — a stale registry metadata cache, invisible to the user and to us. A version-skewed SDK
|
|
25
|
+
* talking to a newer daemon is the `-32000` failure path: the app connects, the protocol disagrees,
|
|
26
|
+
* and nothing on either side names a version. Asking for the CLI's exact version makes the cache
|
|
27
|
+
* irrelevant, and a skewed pair impossible to install by accident.
|
|
28
|
+
*/
|
|
29
|
+
export function pinnedPackages(packages, version) {
|
|
30
|
+
if (version === undefined || version.length === 0)
|
|
31
|
+
return packages;
|
|
32
|
+
return packages.map((p) => `${p}@${version}`);
|
|
33
|
+
}
|
|
19
34
|
/** The dev-dependencies `reticle init` installs for a given framework — kit first, build plugin next. */
|
|
20
35
|
export function frameworkPackages(framework) {
|
|
21
36
|
switch (framework) {
|
|
@@ -25,18 +40,32 @@ export function frameworkPackages(framework) {
|
|
|
25
40
|
case Framework.SVELTEKIT:
|
|
26
41
|
// SvelteKit builds on Vite; until a dedicated Svelte kit exists it uses the Vite build plugin.
|
|
27
42
|
return [RETICLE_REACT_KIT, RETICLE_VITE_PLUGIN];
|
|
43
|
+
case Framework.ASTRO:
|
|
44
|
+
// Astro owns its own Vite instance and renders its own HTML, so there is no config for the
|
|
45
|
+
// plugin to attach to — the kit alone, connected from a page <script> (see astroManual).
|
|
46
|
+
return [RETICLE_REACT_KIT];
|
|
28
47
|
case Framework.HTML:
|
|
29
48
|
// No bundler plugin to install — just the kit; connect is wired by hand (see htmlManual).
|
|
30
49
|
return [RETICLE_REACT_KIT];
|
|
31
50
|
}
|
|
32
51
|
}
|
|
33
|
-
|
|
52
|
+
/** Exported so the init telemetry can tell an MCP-registration failure from a dependency install. */
|
|
53
|
+
export const MCP_TARGET = 'global (claude user scope)';
|
|
54
|
+
/** The step that runs the package manager — the other thing that commonly fails on a user's machine. */
|
|
55
|
+
export const DEPS_TARGET = 'package.json';
|
|
34
56
|
const RETICLE_CONFIG_FILE = '.reticle.json';
|
|
35
57
|
export const StepStatus = {
|
|
36
58
|
APPLY: 'apply',
|
|
37
59
|
MANUAL: 'manual',
|
|
38
60
|
ALREADY: 'already',
|
|
39
61
|
SKIP: 'skip',
|
|
62
|
+
/**
|
|
63
|
+
* Something the user should KNOW, not something they must DO. The UNVERIFIED lines are the case:
|
|
64
|
+
* a Preact or SvelteKit app is wired and working, it just isn't covered by a gate. Reporting those
|
|
65
|
+
* as `manual` made "steps left to do" a number that could never reach zero, and made a release gate
|
|
66
|
+
* read two regressions that were not regressions.
|
|
67
|
+
*/
|
|
68
|
+
NOTICE: 'notice',
|
|
40
69
|
};
|
|
41
70
|
const CLAUDE_MCP_TITLE = 'MCP server (Claude, global)';
|
|
42
71
|
const CURSOR_MCP_TITLE = 'MCP server (Cursor, global)';
|
|
@@ -113,6 +142,37 @@ function mcpSteps(input) {
|
|
|
113
142
|
},
|
|
114
143
|
];
|
|
115
144
|
}
|
|
145
|
+
const SLASH_COMMAND_TITLE = 'The /reticle command';
|
|
146
|
+
/**
|
|
147
|
+
* `/reticle` — the entry point SKILL.md promises in three places and nothing ever created, so it
|
|
148
|
+
* silently did nothing in every tool. One file per agent that supports custom commands.
|
|
149
|
+
*/
|
|
150
|
+
function slashCommandSteps(input) {
|
|
151
|
+
const targets = [
|
|
152
|
+
{ path: CLAUDE_COMMAND_PATH, when: input.claudeCli, exists: input.claudeCommandExists === true },
|
|
153
|
+
{
|
|
154
|
+
path: CURSOR_COMMAND_PATH,
|
|
155
|
+
when: input.cursorProjectPresent === true || (input.cursorPresent && !input.claudeCli),
|
|
156
|
+
exists: input.cursorCommandExists === true,
|
|
157
|
+
},
|
|
158
|
+
];
|
|
159
|
+
return targets
|
|
160
|
+
.filter((t) => t.when)
|
|
161
|
+
.map((t) => t.exists
|
|
162
|
+
? {
|
|
163
|
+
title: SLASH_COMMAND_TITLE,
|
|
164
|
+
target: t.path,
|
|
165
|
+
status: StepStatus.ALREADY,
|
|
166
|
+
detail: 'command already exists',
|
|
167
|
+
}
|
|
168
|
+
: {
|
|
169
|
+
title: SLASH_COMMAND_TITLE,
|
|
170
|
+
target: t.path,
|
|
171
|
+
status: StepStatus.APPLY,
|
|
172
|
+
detail: 'type /reticle to verify one flow in the browser',
|
|
173
|
+
write: { path: t.path, content: SLASH_COMMAND_BODY },
|
|
174
|
+
});
|
|
175
|
+
}
|
|
116
176
|
const AGENT_RULE_TITLE = 'Agent verification rule';
|
|
117
177
|
const AGENT_RULE_DETAIL = 'teach the agent to verify features with Reticle after building them';
|
|
118
178
|
function claudeRuleStep(input) {
|
|
@@ -135,9 +195,17 @@ function claudeRuleStep(input) {
|
|
|
135
195
|
write: { path: CLAUDE_MD_PATH, content: r.content },
|
|
136
196
|
};
|
|
137
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* The Cursor rule is a PROJECT file, so it is written only when Cursor plausibly works on THIS
|
|
200
|
+
* project — the repo has a `.cursor/` dir, or Cursor is the only agent found. `~/.cursor` merely
|
|
201
|
+
* existing on the machine meant every Claude Code user got an unexplained `.cursor/rules/reticle.mdc`
|
|
202
|
+
* committed into their repo. (Global MCP registration is different: it is global, and stays.)
|
|
203
|
+
*/
|
|
138
204
|
function cursorRuleStep(input) {
|
|
139
205
|
if (!input.cursorPresent)
|
|
140
206
|
return null;
|
|
207
|
+
if (input.cursorProjectPresent !== true && input.claudeCli)
|
|
208
|
+
return null;
|
|
141
209
|
if (input.cursorRuleExists === true) {
|
|
142
210
|
return {
|
|
143
211
|
title: AGENT_RULE_TITLE,
|
|
@@ -183,9 +251,28 @@ function agentRuleSteps(input) {
|
|
|
183
251
|
},
|
|
184
252
|
];
|
|
185
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* What to say when the install command fails.
|
|
256
|
+
*
|
|
257
|
+
* pnpm's `minimumReleaseAge` refuses any release younger than the configured window — a deliberate
|
|
258
|
+
* supply-chain policy, not a bug — with `ERR_PNPM_NO_MATURE_MATCHING_VERSION`. Unpinned it silently
|
|
259
|
+
* resolves to an OLDER version instead, which is how an app ends up running a 2.2.1 SDK against a
|
|
260
|
+
* 2.3.0 daemon: the connection succeeds, the protocol disagrees, and the failure surfaces as -32000
|
|
261
|
+
* with nothing naming a version. Pinning turns that into this loud failure, which is the better
|
|
262
|
+
* trade — but only if the message says what to do about it.
|
|
263
|
+
*/
|
|
264
|
+
function installFailureHint(pm) {
|
|
265
|
+
if (pm !== PackageManager.PNPM)
|
|
266
|
+
return 'If the version was refused, install the SDK yourself.';
|
|
267
|
+
return ('If pnpm reported ERR_PNPM_NO_MATURE_MATCHING_VERSION, its minimumReleaseAge setting is holding ' +
|
|
268
|
+
'this release back. Either wait out the window, or allow these packages explicitly:\n' +
|
|
269
|
+
' pnpm config set minimumReleaseAgeExclude "@reticlehq/*"\n' +
|
|
270
|
+
'Do NOT drop the version pin — unpinned, pnpm installs an older SDK against a newer daemon, and ' +
|
|
271
|
+
'that mismatch surfaces as a -32000 with nothing naming a version.');
|
|
272
|
+
}
|
|
186
273
|
function installStep(input) {
|
|
187
274
|
const pm = input.detection.packageManager;
|
|
188
|
-
const packages = frameworkPackages(input.detection.framework);
|
|
275
|
+
const packages = pinnedPackages(frameworkPackages(input.detection.framework), input.options.sdkVersion);
|
|
189
276
|
const command = installCommand(pm, packages);
|
|
190
277
|
if (!input.options.install) {
|
|
191
278
|
return {
|
|
@@ -201,113 +288,12 @@ function installStep(input) {
|
|
|
201
288
|
target: 'package.json',
|
|
202
289
|
status: StepStatus.APPLY,
|
|
203
290
|
detail: command,
|
|
204
|
-
exec: {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
const cfg = input.viteConfig;
|
|
209
|
-
const port = input.options.port;
|
|
210
|
-
if (cfg === null) {
|
|
211
|
-
return [
|
|
212
|
-
{
|
|
213
|
-
title: 'Vite plugin',
|
|
214
|
-
target: 'vite.config',
|
|
215
|
-
status: StepStatus.MANUAL,
|
|
216
|
-
detail: viteManual(port),
|
|
217
|
-
},
|
|
218
|
-
];
|
|
219
|
-
}
|
|
220
|
-
const patch = patchViteConfig(cfg.source, port);
|
|
221
|
-
if (patch.kind === VitePatchKind.ALREADY) {
|
|
222
|
-
return [
|
|
223
|
-
{
|
|
224
|
-
title: 'Vite plugin',
|
|
225
|
-
target: cfg.path,
|
|
226
|
-
status: StepStatus.ALREADY,
|
|
227
|
-
detail: 'reticle() already in plugins',
|
|
228
|
-
},
|
|
229
|
-
];
|
|
230
|
-
}
|
|
231
|
-
if (patch.kind === VitePatchKind.MANUAL) {
|
|
232
|
-
return [
|
|
233
|
-
{
|
|
234
|
-
title: 'Vite plugin',
|
|
235
|
-
target: cfg.path,
|
|
236
|
-
status: StepStatus.MANUAL,
|
|
237
|
-
detail: `${patch.reason}\n\n${viteManual(port)}`,
|
|
238
|
-
},
|
|
239
|
-
];
|
|
240
|
-
}
|
|
241
|
-
return [
|
|
242
|
-
{
|
|
243
|
-
title: 'Vite plugin',
|
|
244
|
-
target: cfg.path,
|
|
245
|
-
status: StepStatus.APPLY,
|
|
246
|
-
detail: 'add reticle() to plugins (also injects connect())',
|
|
247
|
-
write: { path: cfg.path, content: patch.code },
|
|
248
|
-
},
|
|
249
|
-
];
|
|
250
|
-
}
|
|
251
|
-
function nextSteps(input) {
|
|
252
|
-
const configFile = input.nextConfigFile ?? 'next.config.mjs';
|
|
253
|
-
const devFile = input.nextReticleDevExists
|
|
254
|
-
? {
|
|
255
|
-
title: 'ReticleDev component',
|
|
256
|
-
target: NEXT_RETICLE_DEV_PATH,
|
|
257
|
-
status: StepStatus.ALREADY,
|
|
258
|
-
detail: 'file exists',
|
|
259
|
-
}
|
|
260
|
-
: {
|
|
261
|
-
title: 'ReticleDev component',
|
|
262
|
-
target: NEXT_RETICLE_DEV_PATH,
|
|
263
|
-
status: StepStatus.APPLY,
|
|
264
|
-
detail: 'create dev-only connect component',
|
|
265
|
-
write: {
|
|
266
|
-
path: NEXT_RETICLE_DEV_PATH,
|
|
267
|
-
content: nextReticleDevFile(input.options.port, input.options.projectId),
|
|
268
|
-
},
|
|
269
|
-
};
|
|
270
|
-
return [
|
|
271
|
-
devFile,
|
|
272
|
-
{
|
|
273
|
-
title: 'Next config (withReticle)',
|
|
274
|
-
target: configFile,
|
|
275
|
-
status: StepStatus.MANUAL,
|
|
276
|
-
detail: nextConfigManual(configFile),
|
|
277
|
-
},
|
|
278
|
-
{
|
|
279
|
-
title: 'Mount ReticleDev',
|
|
280
|
-
target: 'app/layout.tsx',
|
|
281
|
-
status: StepStatus.MANUAL,
|
|
282
|
-
detail: NEXT_LAYOUT_MANUAL,
|
|
283
|
-
},
|
|
284
|
-
];
|
|
285
|
-
}
|
|
286
|
-
function svelteKitSteps(input) {
|
|
287
|
-
// SvelteKit can't use the Vite-plugin injection (renders via app.html) — wire a client hook that
|
|
288
|
-
// SvelteKit runs on startup. This is verified to register a session where the plugin does not.
|
|
289
|
-
if (input.svelteKitHooksExists === true) {
|
|
290
|
-
return [
|
|
291
|
-
{
|
|
292
|
-
title: 'Reticle client hook',
|
|
293
|
-
target: SVELTEKIT_HOOKS_PATH,
|
|
294
|
-
status: StepStatus.ALREADY,
|
|
295
|
-
detail: 'file exists',
|
|
296
|
-
},
|
|
297
|
-
];
|
|
298
|
-
}
|
|
299
|
-
return [
|
|
300
|
-
{
|
|
301
|
-
title: 'Reticle client hook',
|
|
302
|
-
target: SVELTEKIT_HOOKS_PATH,
|
|
303
|
-
status: StepStatus.APPLY,
|
|
304
|
-
detail: 'create dev-only client connect (SvelteKit renders via app.html)',
|
|
305
|
-
write: {
|
|
306
|
-
path: SVELTEKIT_HOOKS_PATH,
|
|
307
|
-
content: svelteKitHooksFile(input.options.port, input.options.projectId),
|
|
308
|
-
},
|
|
291
|
+
exec: {
|
|
292
|
+
command: parts.command,
|
|
293
|
+
args: parts.args,
|
|
294
|
+
fallback: `${command}\n\n${installFailureHint(pm)}`,
|
|
309
295
|
},
|
|
310
|
-
|
|
296
|
+
};
|
|
311
297
|
}
|
|
312
298
|
function reticleConfigStep(input) {
|
|
313
299
|
if (input.reticleConfigExists === true) {
|
|
@@ -327,10 +313,31 @@ function reticleConfigStep(input) {
|
|
|
327
313
|
write: { path: RETICLE_CONFIG_FILE, content },
|
|
328
314
|
};
|
|
329
315
|
}
|
|
316
|
+
/**
|
|
317
|
+
* A step that says out loud when the app isn't React. SvelteKit already carries its own unverified
|
|
318
|
+
* note, so it isn't doubled up here.
|
|
319
|
+
*/
|
|
320
|
+
function uiLibraryStep(input) {
|
|
321
|
+
const lib = input.detection.uiLibrary;
|
|
322
|
+
if (lib === UiLibrary.REACT || input.detection.framework === Framework.SVELTEKIT)
|
|
323
|
+
return [];
|
|
324
|
+
if (lib === UiLibrary.UNKNOWN)
|
|
325
|
+
return [];
|
|
326
|
+
return [
|
|
327
|
+
{
|
|
328
|
+
title: `${lib} is UNVERIFIED`,
|
|
329
|
+
target: 'package.json',
|
|
330
|
+
status: StepStatus.NOTICE,
|
|
331
|
+
detail: unverifiedUiLibraryNote(lib),
|
|
332
|
+
},
|
|
333
|
+
];
|
|
334
|
+
}
|
|
330
335
|
export function buildPlan(input) {
|
|
331
336
|
const steps = [
|
|
332
337
|
...mcpSteps(input),
|
|
333
338
|
...agentRuleSteps(input),
|
|
339
|
+
...slashCommandSteps(input),
|
|
340
|
+
...uiLibraryStep(input),
|
|
334
341
|
installStep(input),
|
|
335
342
|
reticleConfigStep(input),
|
|
336
343
|
];
|
|
@@ -340,8 +347,20 @@ export function buildPlan(input) {
|
|
|
340
347
|
else if (input.detection.framework === Framework.NEXT) {
|
|
341
348
|
steps.push(...nextSteps(input));
|
|
342
349
|
}
|
|
350
|
+
else if (input.detection.framework === Framework.ASTRO) {
|
|
351
|
+
steps.push({
|
|
352
|
+
title: 'Connect snippet (Astro)',
|
|
353
|
+
target: 'astro.config + layout',
|
|
354
|
+
status: StepStatus.MANUAL,
|
|
355
|
+
detail: astroManual(input.options.port, input.options.projectId),
|
|
356
|
+
});
|
|
357
|
+
}
|
|
343
358
|
else if (input.detection.framework === Framework.SVELTEKIT) {
|
|
344
359
|
steps.push(...svelteKitSteps(input));
|
|
360
|
+
// The Vite plugin as well as the client hook. `init` already INSTALLS @reticlehq/vite-plugin for
|
|
361
|
+
// SvelteKit and then never wired it into the config, so it sat in package.json doing nothing —
|
|
362
|
+
// which is why a SvelteKit app connected fine and every verdict came back with no file:line.
|
|
363
|
+
steps.push(...viteSteps(input, VITE_PLUGIN_DETAIL.SVELTEKIT));
|
|
345
364
|
}
|
|
346
365
|
else {
|
|
347
366
|
steps.push({
|
|
@@ -353,4 +372,3 @@ export function buildPlan(input) {
|
|
|
353
372
|
}
|
|
354
373
|
return { framework: input.detection.framework, steps };
|
|
355
374
|
}
|
|
356
|
-
//# sourceMappingURL=plan.js.map
|
|
@@ -14,4 +14,3 @@ export declare function shortHash(input: string): string;
|
|
|
14
14
|
export declare function deriveProjectId(pkgName: string | undefined, rootPath: string): string;
|
|
15
15
|
/** Pull a string `name` out of an already-parsed package.json object, or undefined. */
|
|
16
16
|
export declare function packageName(pkg: unknown): string | undefined;
|
|
17
|
-
//# sourceMappingURL=project-id.d.ts.map
|
package/dist/init/project-id.js
CHANGED
package/dist/init/run.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export interface InitOptions {
|
|
|
15
15
|
mcp: boolean;
|
|
16
16
|
dryRun: boolean;
|
|
17
17
|
install: boolean;
|
|
18
|
+
/** Set on the recursive call after a workspace redirect, so the search happens at most once. */
|
|
19
|
+
redirected?: boolean;
|
|
18
20
|
}
|
|
19
21
|
export interface InitIo {
|
|
20
22
|
/** Returns file content or null if it does not exist. Path is project-relative or absolute. */
|
|
@@ -26,6 +28,12 @@ export interface InitIo {
|
|
|
26
28
|
homeDir(): string;
|
|
27
29
|
/** Basenames present in the project root. */
|
|
28
30
|
rootFiles(): readonly string[];
|
|
31
|
+
/** Subdirectory names inside a project-relative directory; empty when it isn't one. */
|
|
32
|
+
listDirs(relPath: string): readonly string[];
|
|
33
|
+
/** File (non-directory) basenames inside a project-relative directory, including dotfiles. */
|
|
34
|
+
listFiles(relPath: string): readonly string[];
|
|
35
|
+
/** The same IO re-rooted at a project-relative subdirectory (used for the workspace redirect). */
|
|
36
|
+
scoped(relPath: string): InitIo;
|
|
29
37
|
/** Runs a subprocess to completion (inherits stdio); returns true on exit code 0. */
|
|
30
38
|
exec(command: string, args: readonly string[]): boolean;
|
|
31
39
|
/** Runs a subprocess quietly (no stdio) for a yes/no check; returns true on exit code 0. */
|
|
@@ -37,6 +45,14 @@ interface InitResult {
|
|
|
37
45
|
applied: number;
|
|
38
46
|
manual: number;
|
|
39
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* App directories under a workspace root.
|
|
50
|
+
*
|
|
51
|
+
* Running `reticle init` at the repo root is what people actually do, and in a monorepo the app is a
|
|
52
|
+
* directory down — so init detected "no framework", printed a wall of manual HTML instructions, and
|
|
53
|
+
* would have installed the SDK into the ROOT package.json. It already walks UP for the lockfile, so
|
|
54
|
+
* it knows it is in a workspace; this is the matching walk DOWN.
|
|
55
|
+
*/
|
|
56
|
+
export declare function findWorkspaceApps(io: Pick<InitIo, 'exists' | 'readFile' | 'listDirs'>): string[];
|
|
40
57
|
export declare function runInit(options: InitOptions, io: InitIo): InitResult;
|
|
41
58
|
export {};
|
|
42
|
-
//# sourceMappingURL=run.d.ts.map
|