@reticlehq/server 2.13.0 → 2.14.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.
Files changed (451) hide show
  1. package/SKILL.md +8 -18
  2. package/bin/reticle.js +3 -0
  3. package/dist/bridge/auth-failure-reason.js +12 -1
  4. package/dist/bridge/bridge-security.d.ts +8 -0
  5. package/dist/bridge/bridge-security.js +6 -1
  6. package/dist/bridge/bridge.d.ts +3 -0
  7. package/dist/bridge/bridge.js +23 -1
  8. package/dist/bridge/bridge.test-harness.d.ts +10 -1
  9. package/dist/bridge/bridge.test-harness.js +7 -1
  10. package/dist/bridge/pairing-token.d.ts +17 -0
  11. package/dist/bridge/pairing-token.js +26 -0
  12. package/dist/bridge/token-auth.d.ts +7 -0
  13. package/dist/bridge/token-auth.js +7 -1
  14. package/dist/capsule/capsule-store.d.ts +4 -4
  15. package/dist/capsule/capsule.d.ts +1 -1
  16. package/dist/capsule/capsule.js +3 -3
  17. package/dist/capsule/causal-summary.d.ts +21 -1
  18. package/dist/capsule/causal-summary.js +8 -6
  19. package/dist/capsule/divergence.d.ts +1 -1
  20. package/dist/capsule/divergence.js +26 -10
  21. package/dist/chromium-launch-options.d.ts +2 -1
  22. package/dist/cli/adhoc-verdict.d.ts +58 -0
  23. package/dist/cli/adhoc-verdict.js +115 -0
  24. package/dist/cli/chromium-hint.d.ts +18 -4
  25. package/dist/cli/chromium-hint.js +54 -6
  26. package/dist/cli/cli-doctor.js +1 -2
  27. package/dist/cli/cli-flow-commands.d.ts +16 -2
  28. package/dist/cli/cli-flow-commands.js +28 -9
  29. package/dist/cli/cli-parse-feedback.js +1 -1
  30. package/dist/cli/cli-parse.d.ts +2 -1
  31. package/dist/cli/cli-parse.js +38 -0
  32. package/dist/cli/cli-port.d.ts +5 -13
  33. package/dist/cli/cli-port.js +5 -38
  34. package/dist/cli/cli-update-commands.js +4 -4
  35. package/dist/cli/cli-verify.d.ts +24 -7
  36. package/dist/cli/cli-verify.js +87 -13
  37. package/dist/cli/cloud-keystore.d.ts +2 -1
  38. package/dist/cli/cloud-login.d.ts +2 -1
  39. package/dist/cli/cloud-session.d.ts +2 -1
  40. package/dist/cli/cloud-session.js +1 -1
  41. package/dist/cli/daemon-start-options.d.ts +2 -1
  42. package/dist/cli/device-flow.d.ts +2 -2
  43. package/dist/cli/doctor-daemon-line.d.ts +2 -1
  44. package/dist/cli/doctor-project-line.d.ts +2 -1
  45. package/dist/cli/doctor-rows.d.ts +2 -1
  46. package/dist/cli/drive-attach.d.ts +4 -3
  47. package/dist/cli/gate-hook-message.d.ts +2 -1
  48. package/dist/cli/status-next-action.js +10 -11
  49. package/dist/cli.d.ts +1 -0
  50. package/dist/cli.js +21 -9
  51. package/dist/cloud/account-state.d.ts +20 -0
  52. package/dist/cloud/account-state.js +65 -0
  53. package/dist/cloud/cloud-sync.d.ts +46 -3
  54. package/dist/cloud/cloud-sync.js +116 -0
  55. package/dist/cloud/sync-cycle.d.ts +5 -4
  56. package/dist/cloud/sync-cycle.js +1 -1
  57. package/dist/cloud/sync-daemon.d.ts +3 -19
  58. package/dist/cloud/sync-daemon.js +2 -2
  59. package/dist/crawl/crawl-tools.js +1 -1
  60. package/dist/crawl/crawl.d.ts +5 -5
  61. package/dist/crawl/crawl.js +138 -4
  62. package/dist/daemon/daemon-resilience.d.ts +3 -2
  63. package/dist/daemon/daemon-resilience.js +43 -4
  64. package/dist/daemon/daemon-resolve.d.ts +0 -9
  65. package/dist/daemon/daemon-resolve.js +2 -2
  66. package/dist/daemon/dev-servers.d.ts +1 -1
  67. package/dist/daemon/dev-servers.js +1 -1
  68. package/dist/daemon/loopback-alias.d.ts +2 -1
  69. package/dist/daemon/startup-failure.d.ts +11 -0
  70. package/dist/daemon/startup-failure.js +46 -0
  71. package/dist/events/contradictions.d.ts +10 -16
  72. package/dist/events/contradictions.js +149 -17
  73. package/dist/events/declared.d.ts +13 -1
  74. package/dist/events/declared.js +59 -3
  75. package/dist/events/echo-mismatch.js +75 -6
  76. package/dist/events/lineage.d.ts +52 -0
  77. package/dist/events/lineage.js +122 -0
  78. package/dist/events/net-evidence.d.ts +21 -0
  79. package/dist/events/net-evidence.js +81 -0
  80. package/dist/events/predicate-console.d.ts +13 -0
  81. package/dist/events/predicate-console.js +138 -0
  82. package/dist/events/predicate-element.d.ts +13 -0
  83. package/dist/events/predicate-element.js +214 -0
  84. package/dist/events/predicate-eval.d.ts +15 -3
  85. package/dist/events/predicate-eval.js +128 -110
  86. package/dist/events/predicate-parse.js +34 -1
  87. package/dist/events/predicate-request-body.d.ts +50 -0
  88. package/dist/events/predicate-request-body.js +120 -0
  89. package/dist/events/predicate-route.d.ts +21 -1
  90. package/dist/events/predicate-route.js +149 -21
  91. package/dist/events/predicate-schema.d.ts +8 -1
  92. package/dist/events/predicate-schema.js +34 -0
  93. package/dist/events/predicate.d.ts +2 -0
  94. package/dist/events/predicate.js +52 -159
  95. package/dist/events/split-text-miss.d.ts +6 -4
  96. package/dist/events/split-text-miss.js +12 -5
  97. package/dist/flows/affected-tools.js +22 -9
  98. package/dist/flows/annotate.d.ts +2 -1
  99. package/dist/flows/annotate.js +19 -1
  100. package/dist/flows/coverage.d.ts +2 -2
  101. package/dist/flows/flake.d.ts +3 -3
  102. package/dist/flows/flow-expect-grammar.d.ts +33 -0
  103. package/dist/flows/flow-expect-grammar.js +155 -0
  104. package/dist/flows/flow-replay-run.d.ts +1 -1
  105. package/dist/flows/flow-replay-run.js +28 -15
  106. package/dist/flows/flow-replay.d.ts +10 -0
  107. package/dist/flows/flow-replay.js +57 -22
  108. package/dist/flows/flow-secret-field.d.ts +14 -0
  109. package/dist/flows/flow-secret-field.js +22 -0
  110. package/dist/flows/flow-step-runners.d.ts +1 -0
  111. package/dist/flows/flow-step-runners.js +91 -34
  112. package/dist/flows/flow-success.js +22 -0
  113. package/dist/flows/flow-tools.js +27 -8
  114. package/dist/flows/flow-upload-resolve.d.ts +23 -0
  115. package/dist/flows/flow-upload-resolve.js +46 -0
  116. package/dist/flows/flows.d.ts +15 -0
  117. package/dist/flows/flows.js +17 -14
  118. package/dist/flows/git-changed.d.ts +23 -4
  119. package/dist/flows/git-changed.js +32 -6
  120. package/dist/flows/heal-run.js +2 -2
  121. package/dist/flows/predicate-to-expect.d.ts +3 -2
  122. package/dist/flows/predicate-to-expect.js +11 -5
  123. package/dist/flows/recording-backtrack.d.ts +24 -0
  124. package/dist/flows/recording-backtrack.js +73 -0
  125. package/dist/flows/recordings.d.ts +6 -0
  126. package/dist/flows/replay-halt.d.ts +26 -0
  127. package/dist/flows/replay-halt.js +30 -0
  128. package/dist/flows/replay.d.ts +0 -8
  129. package/dist/flows/replay.js +15 -3
  130. package/dist/flows/suite-flakes.d.ts +2 -1
  131. package/dist/flows/verify-change-tools.js +16 -4
  132. package/dist/honesty/already-true.d.ts +14 -0
  133. package/dist/honesty/already-true.js +47 -4
  134. package/dist/honesty/blind-spots.d.ts +3 -1
  135. package/dist/honesty/blind-spots.js +24 -1
  136. package/dist/honesty/body-capture-remedy.d.ts +42 -0
  137. package/dist/honesty/body-capture-remedy.js +95 -0
  138. package/dist/honesty/feature-capture.d.ts +3 -2
  139. package/dist/honesty/feature-capture.js +1 -1
  140. package/dist/honesty/gap-ledger.d.ts +1 -1
  141. package/dist/honesty/gap-ledger.js +1 -1
  142. package/dist/honesty/instrumentation-gaps.d.ts +8 -1
  143. package/dist/honesty/instrumentation-gaps.js +12 -2
  144. package/dist/honesty/observability.d.ts +4 -3
  145. package/dist/honesty/tool-hit-rate.d.ts +3 -2
  146. package/dist/honesty/uncaptured-bodies.d.ts +3 -1
  147. package/dist/honesty/uncaptured-bodies.js +6 -2
  148. package/dist/honesty/unsettled.d.ts +9 -0
  149. package/dist/honesty/unsettled.js +45 -0
  150. package/dist/honesty/verified.d.ts +32 -1
  151. package/dist/honesty/verified.js +37 -10
  152. package/dist/impact/impact-store.d.ts +5 -14
  153. package/dist/impact/impact-store.js +49 -6
  154. package/dist/index.js +1 -1
  155. package/dist/input/network-detail.d.ts +26 -1
  156. package/dist/input/network-detail.js +44 -12
  157. package/dist/input/network-mock-tools.js +24 -17
  158. package/dist/input/real-input.js +1 -1
  159. package/dist/input/viewport-tools.js +25 -13
  160. package/dist/intent/inline-intent.d.ts +0 -10
  161. package/dist/intent/inline-intent.js +1 -1
  162. package/dist/intent/intent-shard-store.d.ts +3 -2
  163. package/dist/intent/intent-shard-store.js +1 -1
  164. package/dist/intent/intent-shard.d.ts +14 -14
  165. package/dist/intent/intent-shard.js +4 -4
  166. package/dist/intent/intent-store.d.ts +1 -1
  167. package/dist/intent/intent-store.js +1 -1
  168. package/dist/intent/intent-subject.d.ts +2 -1
  169. package/dist/intent/open-intents.d.ts +3 -2
  170. package/dist/license/license.d.ts +4 -4
  171. package/dist/license/license.js +1 -1
  172. package/dist/mcp/attach-memory.d.ts +2 -1
  173. package/dist/mcp/client-identity.d.ts +2 -1
  174. package/dist/mcp/mcp-outage.d.ts +1 -1
  175. package/dist/mcp/mcp-outage.js +1 -1
  176. package/dist/mcp/mcp-proxy.d.ts +3 -1
  177. package/dist/mcp/mcp-proxy.js +32 -7
  178. package/dist/mcp/mcp.js +3 -1
  179. package/dist/mcp/proxy-handshake.d.ts +2 -1
  180. package/dist/mcp/proxy-idle-exit.d.ts +45 -0
  181. package/dist/mcp/proxy-idle-exit.js +94 -0
  182. package/dist/mcp/server-instructions.d.ts +2 -1
  183. package/dist/memory/project-memory.d.ts +2 -3
  184. package/dist/memory/project-memory.js +1 -1
  185. package/dist/oracles/propose-consequences.js +5 -5
  186. package/dist/oracles/self-instrument.d.ts +2 -2
  187. package/dist/oracles/self-instrument.js +1 -1
  188. package/dist/platform.d.ts +3 -5
  189. package/dist/platform.js +3 -5
  190. package/dist/pool/browser-pool.d.ts +92 -0
  191. package/dist/pool/browser-pool.js +119 -5
  192. package/dist/pool/playwright-launcher.js +29 -2
  193. package/dist/pool/storage-seed.d.ts +23 -0
  194. package/dist/pool/storage-seed.js +198 -0
  195. package/dist/project/artifact-root.d.ts +2 -1
  196. package/dist/project/memory-fs.d.ts +2 -1
  197. package/dist/project/reticle-dir.js +1 -1
  198. package/dist/project/session-root.d.ts +8 -0
  199. package/dist/project/session-root.js +9 -2
  200. package/dist/runs/reticle-runner.d.ts +14 -1
  201. package/dist/runs/reticle-runner.js +39 -2
  202. package/dist/session/attachment-history.d.ts +2 -1
  203. package/dist/session/fake-session.d.ts +37 -0
  204. package/dist/session/fake-session.js +81 -0
  205. package/dist/session/lease-visibility.d.ts +2 -1
  206. package/dist/session/live-control-tools.js +6 -0
  207. package/dist/session/no-session-diagnosis.d.ts +17 -1
  208. package/dist/session/no-session-diagnosis.js +32 -6
  209. package/dist/session/no-session-next-action.d.ts +14 -0
  210. package/dist/session/no-session-next-action.js +18 -0
  211. package/dist/session/no-session-watch.js +46 -3
  212. package/dist/session/registered-projects.d.ts +54 -0
  213. package/dist/session/registered-projects.js +73 -0
  214. package/dist/session/review-store.d.ts +2 -1
  215. package/dist/session/session-health.d.ts +62 -1
  216. package/dist/session/session-health.js +82 -2
  217. package/dist/session/session-manager.d.ts +11 -1
  218. package/dist/session/session-manager.js +18 -3
  219. package/dist/session/session-replaced.d.ts +24 -0
  220. package/dist/session/session-replaced.js +29 -0
  221. package/dist/session/session-successor.js +20 -4
  222. package/dist/session/session.d.ts +13 -5
  223. package/dist/session/session.js +31 -23
  224. package/dist/setup/agent-configs.d.ts +3 -2
  225. package/dist/setup/agent-writer.d.ts +3 -2
  226. package/dist/setup/approval-migration.d.ts +2 -1
  227. package/dist/setup/approval-migration.js +1 -1
  228. package/dist/setup/auto-approve.d.ts +11 -19
  229. package/dist/setup/auto-approve.js +15 -12
  230. package/dist/{init → setup}/confirm.js +1 -1
  231. package/dist/setup/desktop-shape.d.ts +3 -2
  232. package/dist/setup/dev-server-wait.d.ts +8 -0
  233. package/dist/setup/dev-server-wait.js +3 -1
  234. package/dist/setup/drive-agent.d.ts +2 -3
  235. package/dist/setup/drive-agent.js +1 -1
  236. package/dist/setup/drive-plan.d.ts +3 -2
  237. package/dist/setup/ensure-daemon.d.ts +2 -1
  238. package/dist/setup/existing-app.d.ts +12 -0
  239. package/dist/setup/existing-app.js +13 -0
  240. package/dist/setup/init-host.d.ts +11 -0
  241. package/dist/setup/init-host.js +26 -0
  242. package/dist/setup/init-runtime.d.ts +4 -10
  243. package/dist/setup/init-runtime.js +23 -16
  244. package/dist/setup/license-key.d.ts +2 -1
  245. package/dist/setup/listeners.d.ts +2 -1
  246. package/dist/setup/loopback-probe-urls.d.ts +18 -0
  247. package/dist/setup/loopback-probe-urls.js +52 -0
  248. package/dist/setup/node-effects.d.ts +3 -0
  249. package/dist/setup/node-effects.js +26 -11
  250. package/dist/setup/page-probe.d.ts +5 -0
  251. package/dist/setup/relaunch.d.ts +2 -1
  252. package/dist/setup/run-setup.d.ts +5 -1
  253. package/dist/setup/run-setup.js +155 -48
  254. package/dist/setup/setup-command.d.ts +3 -2
  255. package/dist/setup/setup-command.js +8 -0
  256. package/dist/setup/setup-options.d.ts +5 -3
  257. package/dist/setup/setup-options.js +3 -2
  258. package/dist/setup/wait-progress.d.ts +28 -0
  259. package/dist/setup/wait-progress.js +43 -0
  260. package/dist/telemetry/app-instrumented.d.ts +2 -1
  261. package/dist/telemetry/app-instrumented.js +1 -1
  262. package/dist/telemetry/automation-hint.d.ts +1 -1
  263. package/dist/telemetry/automation-hint.js +1 -1
  264. package/dist/telemetry/cli-telemetry.js +1 -1
  265. package/dist/telemetry/connect-failure.d.ts +1 -1
  266. package/dist/telemetry/connect-failure.js +1 -1
  267. package/dist/telemetry/crash-cause.d.ts +3 -2
  268. package/dist/telemetry/crash-cause.js +1 -1
  269. package/dist/telemetry/daemon-telemetry.d.ts +3 -2
  270. package/dist/telemetry/daemon-telemetry.js +1 -1
  271. package/dist/telemetry/error-class.d.ts +3 -2
  272. package/dist/telemetry/error-class.js +1 -1
  273. package/dist/telemetry/feedback-cli.js +1 -1
  274. package/dist/telemetry/feedback-context.d.ts +3 -2
  275. package/dist/telemetry/feedback-context.js +5 -4
  276. package/dist/telemetry/feedback-local.d.ts +3 -2
  277. package/dist/telemetry/feedback.d.ts +4 -3
  278. package/dist/telemetry/feedback.js +1 -1
  279. package/dist/telemetry/git-facts.d.ts +2 -2
  280. package/dist/telemetry/git-facts.js +1 -1
  281. package/dist/telemetry/identify.d.ts +1 -1
  282. package/dist/telemetry/identify.js +1 -1
  283. package/dist/telemetry/init-telemetry.d.ts +2 -14
  284. package/dist/telemetry/init-telemetry.js +4 -13
  285. package/dist/telemetry/install-source.d.ts +7 -13
  286. package/dist/telemetry/install-source.js +7 -29
  287. package/dist/telemetry/license-activation.d.ts +3 -2
  288. package/dist/telemetry/license-activation.js +1 -1
  289. package/dist/telemetry/machine-snapshot.d.ts +1 -1
  290. package/dist/telemetry/mcp-connection.js +1 -1
  291. package/dist/telemetry/project-profile.d.ts +0 -14
  292. package/dist/telemetry/project-profile.js +1 -1
  293. package/dist/telemetry/proxy-telemetry.js +1 -1
  294. package/dist/telemetry/session-metrics.d.ts +1 -1
  295. package/dist/telemetry/session-metrics.js +1 -1
  296. package/dist/telemetry/telemetry.d.ts +1 -17
  297. package/dist/telemetry/telemetry.js +4 -4
  298. package/dist/telemetry/tool-refused.d.ts +1 -1
  299. package/dist/telemetry/tool-refused.js +1 -1
  300. package/dist/tools/act-observation.d.ts +3 -2
  301. package/dist/tools/act-preflight.js +8 -3
  302. package/dist/tools/act-target.d.ts +4 -0
  303. package/dist/tools/act-target.js +14 -5
  304. package/dist/tools/act-tools.d.ts +0 -2
  305. package/dist/tools/act-tools.js +45 -15
  306. package/dist/tools/assert-source.d.ts +30 -0
  307. package/dist/tools/assert-source.js +21 -0
  308. package/dist/tools/assert-verdict.d.ts +1 -1
  309. package/dist/tools/assert-verdict.js +14 -4
  310. package/dist/tools/browser-tools.js +28 -8
  311. package/dist/tools/complete-snapshot.d.ts +3 -2
  312. package/dist/tools/dynamic-tools.js +8 -0
  313. package/dist/tools/error-recovery.d.ts +10 -0
  314. package/dist/tools/error-recovery.js +23 -0
  315. package/dist/tools/feedback-tools.js +1 -1
  316. package/dist/tools/invoke-tool.js +2 -0
  317. package/dist/tools/lease-tools.d.ts +48 -20
  318. package/dist/tools/lease-tools.js +311 -76
  319. package/dist/tools/lineage-tools.d.ts +14 -0
  320. package/dist/tools/lineage-tools.js +64 -0
  321. package/dist/tools/merge-tools.js +1 -3
  322. package/dist/tools/navigate-arrival.d.ts +45 -1
  323. package/dist/tools/navigate-arrival.js +39 -6
  324. package/dist/tools/navigate-result.d.ts +8 -1
  325. package/dist/tools/navigate-result.js +14 -4
  326. package/dist/tools/numeric-bounds.d.ts +0 -11
  327. package/dist/tools/numeric-bounds.js +4 -4
  328. package/dist/tools/observe-tools.js +22 -26
  329. package/dist/tools/observed-nothing.d.ts +9 -0
  330. package/dist/tools/observed-nothing.js +2 -1
  331. package/dist/tools/read-tools.js +12 -17
  332. package/dist/tools/real-input-attempt.d.ts +14 -6
  333. package/dist/tools/real-input-attempt.js +75 -18
  334. package/dist/tools/reconcile-tools.js +2 -1
  335. package/dist/tools/reload-result.d.ts +6 -1
  336. package/dist/tools/reload-result.js +7 -2
  337. package/dist/tools/resolve-target.d.ts +7 -1
  338. package/dist/tools/resolve-target.js +72 -9
  339. package/dist/tools/settle-in-flight.d.ts +1 -1
  340. package/dist/tools/settle-in-flight.js +9 -2
  341. package/dist/tools/snapshot-delta.d.ts +24 -1
  342. package/dist/tools/snapshot-delta.js +66 -7
  343. package/dist/tools/tool-names.d.ts +1 -0
  344. package/dist/tools/tool-names.js +1 -0
  345. package/dist/tools/tool-surface.js +20 -2
  346. package/dist/tools/tools.js +120 -11
  347. package/dist/tools/verify-next-baton.d.ts +2 -1
  348. package/dist/update/sdk-sync.d.ts +1 -1
  349. package/dist/update/sdk-sync.js +1 -1
  350. package/dist/update/updater.js +1 -1
  351. package/dist/version/sdk-fix.d.ts +2 -1
  352. package/dist/version/version-skew.d.ts +0 -8
  353. package/dist/version/version-skew.js +1 -1
  354. package/docs/README.md +8 -6
  355. package/docs/actions.mdx +1 -1
  356. package/docs/agent-cheatsheet.md +4 -2
  357. package/docs/architecture.md +1 -1
  358. package/docs/cli/mcp.mdx +3 -1
  359. package/docs/cli/watch.mdx +1 -1
  360. package/docs/cli.mdx +1 -1
  361. package/docs/desktop.mdx +1 -1
  362. package/docs/docs.json +8 -3
  363. package/docs/faq.mdx +9 -0
  364. package/docs/first-drive.md +136 -0
  365. package/docs/frameworks.mdx +29 -7
  366. package/docs/gate-plan.md +2 -2
  367. package/docs/gates.md +19 -11
  368. package/docs/getting-started.md +7 -1
  369. package/docs/http-transport.md +164 -0
  370. package/docs/index.mdx +5 -3
  371. package/docs/install-manual.mdx +1 -1
  372. package/docs/packages/tauri.mdx +1 -1
  373. package/docs/packages.mdx +15 -3
  374. package/docs/platform-integration.md +1 -1
  375. package/docs/predicates.mdx +2 -0
  376. package/docs/system-map.md +2 -2
  377. package/docs/telemetry-contract.md +4 -4
  378. package/docs/telemetry-events.mdx +1 -1
  379. package/docs/telemetry.md +3 -3
  380. package/docs/tools-navigate.mdx +14 -6
  381. package/docs/usage.md +4 -4
  382. package/package.json +7 -4
  383. package/dist/init/agent-rules.d.ts +0 -116
  384. package/dist/init/agent-rules.js +0 -279
  385. package/dist/init/app-choice.d.ts +0 -20
  386. package/dist/init/app-choice.js +0 -25
  387. package/dist/init/astro-host.d.ts +0 -21
  388. package/dist/init/astro-host.js +0 -27
  389. package/dist/init/astro-patch.d.ts +0 -33
  390. package/dist/init/astro-patch.js +0 -300
  391. package/dist/init/capabilities.d.ts +0 -40
  392. package/dist/init/capabilities.js +0 -150
  393. package/dist/init/closing-hint.d.ts +0 -36
  394. package/dist/init/closing-hint.js +0 -120
  395. package/dist/init/connect-steps.d.ts +0 -2
  396. package/dist/init/connect-steps.js +0 -50
  397. package/dist/init/cra.d.ts +0 -79
  398. package/dist/init/cra.js +0 -178
  399. package/dist/init/csp-check.d.ts +0 -38
  400. package/dist/init/csp-check.js +0 -107
  401. package/dist/init/csp-doctor.d.ts +0 -32
  402. package/dist/init/csp-doctor.js +0 -54
  403. package/dist/init/desktop-doctor.d.ts +0 -41
  404. package/dist/init/desktop-doctor.js +0 -198
  405. package/dist/init/detect.d.ts +0 -96
  406. package/dist/init/detect.js +0 -209
  407. package/dist/init/dev-script.d.ts +0 -50
  408. package/dist/init/dev-script.js +0 -66
  409. package/dist/init/format-generated.d.ts +0 -18
  410. package/dist/init/format-generated.js +0 -39
  411. package/dist/init/install-hint.d.ts +0 -9
  412. package/dist/init/install-hint.js +0 -29
  413. package/dist/init/mcp-clients.d.ts +0 -89
  414. package/dist/init/mcp-clients.js +0 -299
  415. package/dist/init/mcp-registered.d.ts +0 -12
  416. package/dist/init/mcp-registered.js +0 -14
  417. package/dist/init/mcp.d.ts +0 -89
  418. package/dist/init/mcp.js +0 -129
  419. package/dist/init/next-patch.d.ts +0 -39
  420. package/dist/init/next-patch.js +0 -196
  421. package/dist/init/node-io.d.ts +0 -7
  422. package/dist/init/node-io.js +0 -117
  423. package/dist/init/non-js-project.d.ts +0 -27
  424. package/dist/init/non-js-project.js +0 -84
  425. package/dist/init/patch-kind.d.ts +0 -20
  426. package/dist/init/patch-kind.js +0 -10
  427. package/dist/init/plan-framework.d.ts +0 -64
  428. package/dist/init/plan-framework.js +0 -565
  429. package/dist/init/plan.d.ts +0 -242
  430. package/dist/init/plan.js +0 -703
  431. package/dist/init/preflight.d.ts +0 -28
  432. package/dist/init/preflight.js +0 -38
  433. package/dist/init/project-id.d.ts +0 -12
  434. package/dist/init/project-id.js +0 -25
  435. package/dist/init/refresh-rules.d.ts +0 -39
  436. package/dist/init/refresh-rules.js +0 -51
  437. package/dist/init/run.d.ts +0 -117
  438. package/dist/init/run.js +0 -806
  439. package/dist/init/slash-command.d.ts +0 -27
  440. package/dist/init/slash-command.js +0 -132
  441. package/dist/init/snippets.d.ts +0 -134
  442. package/dist/init/snippets.js +0 -572
  443. package/dist/init/vite-config.d.ts +0 -18
  444. package/dist/init/vite-config.js +0 -114
  445. package/dist/init/windows-quote.d.ts +0 -38
  446. package/dist/init/windows-quote.js +0 -70
  447. package/dist/init/workspace-apps.d.ts +0 -30
  448. package/dist/init/workspace-apps.js +0 -178
  449. package/dist/project/remember-project.d.ts +0 -24
  450. package/dist/project/remember-project.js +0 -40
  451. /package/dist/{init → setup}/confirm.d.ts +0 -0
@@ -1,27 +0,0 @@
1
- /**
2
- * The `/reticle` slash command — the entry point the docs have been promising and nothing created.
3
- *
4
- * SKILL.md tells the user "Type `/reticle` anytime to verify the app" in three places, and `init`
5
- * never wrote the file that makes it exist. So the one obvious way in was a command that silently did
6
- * nothing in every tool. Claude Code and Cursor both read custom commands from a markdown file per
7
- * command; the body is the prompt the agent receives.
8
- *
9
- * Deliberately SCOPED to one flow. A user installing Reticle has an existing app with many flows, and
10
- * an agent told to "verify the app" will try to instrument all of them — slow, noisy, and nothing to
11
- * see for minutes. One flow, driven where the human can watch it, is the whole difference between a
12
- * two-minute first impression and an afternoon.
13
- */
14
- /** Claude Code reads project commands from `.claude/commands/<name>.md`. */
15
- export declare const CLAUDE_COMMAND_PATH = ".claude/commands/reticle.md";
16
- /** Cursor reads them from `.cursor/commands/<name>.md`. */
17
- export declare const CURSOR_COMMAND_PATH = ".cursor/commands/reticle.md";
18
- /**
19
- * The frontmatter line that marks a command file as OURS.
20
- *
21
- * A stale command has to be refreshable — a file frozen at whatever release created it can never be
22
- * improved for anyone who already ran init — but the path is one a human may have claimed for their
23
- * own `/reticle`, and overwriting that would be destroying somebody's work. This line is how the two
24
- * are told apart.
25
- */
26
- export declare const SLASH_COMMAND_SIGNATURE = "description: Verify this app in the browser with Reticle";
27
- export declare const SLASH_COMMAND_BODY = "---\ndescription: Verify this app in the browser with Reticle \u2014 drive one real flow and report what happened.\n---\n\nVerify this running app with Reticle. Drive it; do not read the code and guess.\n\n## Step 0 \u2014 is anything connected?\n\nCall `reticle_sessions` first.\n\n**A session is listed?** Go to \"Pick ONE flow\".\n\n**No session?** Setup is not finished, and stopping to ask the user to run something is not an\nanswer. Every step below is yours to do without them. Work these in order, and say which one you are\non, one line each:\n\n0. **Is Reticle even wired into this project?** `cat .reticle.json`. If it is not there, this\n project was never set up: run `npx @reticlehq/server@latest init`,\n fix every `\u26A0` and `\u2139` it prints, and carry on. Do not ask first, and do not ask which\n framework or port \u2014 both come out of the repo you are sitting in.\n\n1. **Is anything serving the app at all?** If a dev server is already listening, use it and go to\n step 2 \u2014 the cause is then almost always that the SDK never loaded in the page, not a missing\n server, so do not tell the user to start one they are already running. If nothing is listening:\n\n**A dev server already running when `reticle init` ran does not have Reticle in its bundle.** It read the build config at boot; `init` edited it afterwards. It serves the old bundle and no session appears. In order:\n\n1. **A dev server was already running?** Restart it, then hard-reload the tab. \"Something is listening\" does not mean the right bundle is served.\n2. **Nothing was running?** Start it in the BACKGROUND and say so in one line. `reticle_sessions` gives you this project's own dev command in `next_action`; use that, never compose one. Started after `init`, it needs no restart.\n\nStopping to ask is how a verification turn ends with nothing verified.\n\nFour guards, none optional:\n\n1. **Never run two at once.** One dev server on the app's port. Restarting a stale one means stopping it first, not starting a second alongside it.\n2. **Never guess the command.** It comes from `package.json` scripts. No recognisable dev script means say so and stop, not invent one.\n3. **Never kill anything you did not start**, and never a daemon or a port holder. The one exception is the restart above, and say in one line that you did it.\n4. **The permission prompt belongs to your host.** Never bypass, suppress or auto-approve it, and take a refusal as the answer.\n\n2. **Is a page open on it?** Do not ask the user to open a browser \u2014 open it:\n\n ```bash\n npx @reticlehq/server open <the url the dev server is serving>\n ```\n\n That reuses an already-connected tab or opens a new one, and waits for the page to register. On a\n machine with no browser to open, take a tab Reticle owns instead:\n `reticle_run({ tool: \"reticle_lease\", args: { action: \"acquire\", url: \"<the same url>\" } })`.\n\nThen, once something is serving the app and a page is on it:\n\n3. **Is the SDK actually in the app?** Read the app's entry file (`src/main.tsx`, `app/layout.tsx`,\n `src/app.vue`, whatever this project uses). You are looking for an `import` from\n `@reticlehq/react` or `@reticlehq/browser` and a `connect()` call, or the Reticle plugin in\n `vite.config.*`, or `withReticle` in `next.config.*`. **If it is not there, that is the bug.**\n Wire it in \u2014 see the framework snippets at https://docs.reticle.sh/instrumentation \u2014 then restart\n the dev server and re-check.\n4. **Is the connect guarded on `hostname === 'localhost'`?** If so, remove that guard. It is false on\n any non-localhost dev host, and `window` does not exist during SSR, so the guard silently prevents\n the connect and logs nothing. Use the framework's dev flag instead (`import.meta.env.DEV`,\n `process.env.NODE_ENV !== 'production'`, `import.meta.dev`).\n5. **Is the dev server serving that entry?** Look in `reticle_console`, or in the page you opened in\n step 2, for a line starting `[Reticle]`. That line, or its absence, tells you which side is at\n fault. Reticle itself never starts a dev server \u2014 starting it is your job, under the guards above.\n6. **Do both sides agree on the port?** Run `npx @reticlehq/server doctor` and compare the daemon\n port against the port the page dials.\n\nIf you are still stuck after all of those, file it: `reticle_feedback` with kind `gap`, saying what you\nchecked and what you saw. Then tell the user exactly which step is blocked. Do not report the install\nas finished.\n\n## Pick ONE flow\n\nNot the whole app. Pick the single most important flow you can complete in a handful of steps \u2014 the\none a user would do first (sign in, search, add to cart, submit the form). If the user named a flow or\njust changed some code, use that one instead.\n\nState which flow you picked in one line before you start.\n\n## Drive it where the human can see\n\n1. `reticle_snapshot` \u2014 read the accessibility tree and locate the elements the flow needs. Elements\n are addressable by role and name; you do **not** need `data-testid` to drive them.\n2. Walk the flow with `reticle_act_and_wait`, one step at a time. Narrate each step first \u2014 the human\n is watching the page, and the HUD shows what you say.\n3. After each step, check the effect with `reticle_assert` \u2014 not just that the click dispatched, but\n that the thing it was supposed to do actually happened.\n4. Finish with `reticle_console` and `reticle_network` to catch errors the DOM does not show.\n\n**Only `reticle_act_and_wait` and `reticle_assert` produce a verdict.** A run that ends on a\nsnapshot has proved nothing, however many tools it used.\n\n## Report\n\n- What you drove, step by step, and what each step actually produced.\n- Anything broken, with the `file:line` Reticle gave you.\n- If a step could not be verified, say so plainly. \"Unknown\" is a real answer; a green verdict you\n cannot back is not.\n\nDo not weaken or skip an assertion to make the run pass \u2014 that is a finding, not a fix.\n\n## If the user handed you a license key\n\nAppend `RETICLE_LICENSE_KEY=<key>` to the project's `.env` (create it if absent), make sure `.env`\nis in `.gitignore`, and confirm with `npx @reticlehq/server license`. The CLI folds a project-local\n`.env` in on every invocation, so nothing else changes. Never echo the key back, and never put it in\na commit, a comment, or a feedback report.\n\n## Two things afterwards\n\n- **Anything about Reticle itself that was wrong, missing, confusing, or expensive?** Send it with\n `reticle_feedback` now, before your context is gone. That report is the only signal that decides\n what gets fixed. Bugs in the app under test are Reticle working; those go in your answer to the user.\n- **If the verification actually succeeded**, add one line for the human: Reticle is open source at\n https://github.com/reticlehq/reticle, and a star helps other people find it. One line, once. Skip it\n entirely if the run did not produce a verdict.\n";
@@ -1,132 +0,0 @@
1
- /**
2
- * The `/reticle` slash command — the entry point the docs have been promising and nothing created.
3
- *
4
- * SKILL.md tells the user "Type `/reticle` anytime to verify the app" in three places, and `init`
5
- * never wrote the file that makes it exist. So the one obvious way in was a command that silently did
6
- * nothing in every tool. Claude Code and Cursor both read custom commands from a markdown file per
7
- * command; the body is the prompt the agent receives.
8
- *
9
- * Deliberately SCOPED to one flow. A user installing Reticle has an existing app with many flows, and
10
- * an agent told to "verify the app" will try to instrument all of them — slow, noisy, and nothing to
11
- * see for minutes. One flow, driven where the human can watch it, is the whole difference between a
12
- * two-minute first impression and an afternoon.
13
- */
14
- import { DEV_SERVER_POLICY } from './agent-rules.js';
15
- /** Claude Code reads project commands from `.claude/commands/<name>.md`. */
16
- export const CLAUDE_COMMAND_PATH = '.claude/commands/reticle.md';
17
- /** Cursor reads them from `.cursor/commands/<name>.md`. */
18
- export const CURSOR_COMMAND_PATH = '.cursor/commands/reticle.md';
19
- /**
20
- * The frontmatter line that marks a command file as OURS.
21
- *
22
- * A stale command has to be refreshable — a file frozen at whatever release created it can never be
23
- * improved for anyone who already ran init — but the path is one a human may have claimed for their
24
- * own `/reticle`, and overwriting that would be destroying somebody's work. This line is how the two
25
- * are told apart.
26
- */
27
- export const SLASH_COMMAND_SIGNATURE = 'description: Verify this app in the browser with Reticle';
28
- export const SLASH_COMMAND_BODY = `---
29
- ${SLASH_COMMAND_SIGNATURE} — drive one real flow and report what happened.
30
- ---
31
-
32
- Verify this running app with Reticle. Drive it; do not read the code and guess.
33
-
34
- ## Step 0 — is anything connected?
35
-
36
- Call \`reticle_sessions\` first.
37
-
38
- **A session is listed?** Go to "Pick ONE flow".
39
-
40
- **No session?** Setup is not finished, and stopping to ask the user to run something is not an
41
- answer. Every step below is yours to do without them. Work these in order, and say which one you are
42
- on, one line each:
43
-
44
- 0. **Is Reticle even wired into this project?** \`cat .reticle.json\`. If it is not there, this
45
- project was never set up: run \`npx @reticlehq/server@latest init\`,
46
- fix every \`⚠\` and \`ℹ\` it prints, and carry on. Do not ask first, and do not ask which
47
- framework or port — both come out of the repo you are sitting in.
48
-
49
- 1. **Is anything serving the app at all?** If a dev server is already listening, use it and go to
50
- step 2 — the cause is then almost always that the SDK never loaded in the page, not a missing
51
- server, so do not tell the user to start one they are already running. If nothing is listening:
52
-
53
- ${DEV_SERVER_POLICY}
54
-
55
- 2. **Is a page open on it?** Do not ask the user to open a browser — open it:
56
-
57
- \`\`\`bash
58
- npx @reticlehq/server open <the url the dev server is serving>
59
- \`\`\`
60
-
61
- That reuses an already-connected tab or opens a new one, and waits for the page to register. On a
62
- machine with no browser to open, take a tab Reticle owns instead:
63
- \`reticle_run({ tool: "reticle_lease", args: { action: "acquire", url: "<the same url>" } })\`.
64
-
65
- Then, once something is serving the app and a page is on it:
66
-
67
- 3. **Is the SDK actually in the app?** Read the app's entry file (\`src/main.tsx\`, \`app/layout.tsx\`,
68
- \`src/app.vue\`, whatever this project uses). You are looking for an \`import\` from
69
- \`@reticlehq/react\` or \`@reticlehq/browser\` and a \`connect()\` call, or the Reticle plugin in
70
- \`vite.config.*\`, or \`withReticle\` in \`next.config.*\`. **If it is not there, that is the bug.**
71
- Wire it in — see the framework snippets at https://docs.reticle.sh/instrumentation — then restart
72
- the dev server and re-check.
73
- 4. **Is the connect guarded on \`hostname === 'localhost'\`?** If so, remove that guard. It is false on
74
- any non-localhost dev host, and \`window\` does not exist during SSR, so the guard silently prevents
75
- the connect and logs nothing. Use the framework's dev flag instead (\`import.meta.env.DEV\`,
76
- \`process.env.NODE_ENV !== 'production'\`, \`import.meta.dev\`).
77
- 5. **Is the dev server serving that entry?** Look in \`reticle_console\`, or in the page you opened in
78
- step 2, for a line starting \`[Reticle]\`. That line, or its absence, tells you which side is at
79
- fault. Reticle itself never starts a dev server — starting it is your job, under the guards above.
80
- 6. **Do both sides agree on the port?** Run \`npx @reticlehq/server doctor\` and compare the daemon
81
- port against the port the page dials.
82
-
83
- If you are still stuck after all of those, file it: \`reticle_feedback\` with kind \`gap\`, saying what you
84
- checked and what you saw. Then tell the user exactly which step is blocked. Do not report the install
85
- as finished.
86
-
87
- ## Pick ONE flow
88
-
89
- Not the whole app. Pick the single most important flow you can complete in a handful of steps — the
90
- one a user would do first (sign in, search, add to cart, submit the form). If the user named a flow or
91
- just changed some code, use that one instead.
92
-
93
- State which flow you picked in one line before you start.
94
-
95
- ## Drive it where the human can see
96
-
97
- 1. \`reticle_snapshot\` — read the accessibility tree and locate the elements the flow needs. Elements
98
- are addressable by role and name; you do **not** need \`data-testid\` to drive them.
99
- 2. Walk the flow with \`reticle_act_and_wait\`, one step at a time. Narrate each step first — the human
100
- is watching the page, and the HUD shows what you say.
101
- 3. After each step, check the effect with \`reticle_assert\` — not just that the click dispatched, but
102
- that the thing it was supposed to do actually happened.
103
- 4. Finish with \`reticle_console\` and \`reticle_network\` to catch errors the DOM does not show.
104
-
105
- **Only \`reticle_act_and_wait\` and \`reticle_assert\` produce a verdict.** A run that ends on a
106
- snapshot has proved nothing, however many tools it used.
107
-
108
- ## Report
109
-
110
- - What you drove, step by step, and what each step actually produced.
111
- - Anything broken, with the \`file:line\` Reticle gave you.
112
- - If a step could not be verified, say so plainly. "Unknown" is a real answer; a green verdict you
113
- cannot back is not.
114
-
115
- Do not weaken or skip an assertion to make the run pass — that is a finding, not a fix.
116
-
117
- ## If the user handed you a license key
118
-
119
- Append \`RETICLE_LICENSE_KEY=<key>\` to the project's \`.env\` (create it if absent), make sure \`.env\`
120
- is in \`.gitignore\`, and confirm with \`npx @reticlehq/server license\`. The CLI folds a project-local
121
- \`.env\` in on every invocation, so nothing else changes. Never echo the key back, and never put it in
122
- a commit, a comment, or a feedback report.
123
-
124
- ## Two things afterwards
125
-
126
- - **Anything about Reticle itself that was wrong, missing, confusing, or expensive?** Send it with
127
- \`reticle_feedback\` now, before your context is gone. That report is the only signal that decides
128
- what gets fixed. Bugs in the app under test are Reticle working; those go in your answer to the user.
129
- - **If the verification actually succeeded**, add one line for the human: Reticle is open source at
130
- https://github.com/reticlehq/reticle, and a star helps other people find it. One line, once. Skip it
131
- entirely if the run did not produce a verdict.
132
- `;
@@ -1,134 +0,0 @@
1
- /**
2
- * Generated file contents and copy-paste snippets for `reticle init`. Kept as named constants/builders
3
- * so the runner never inlines free strings.
4
- */
5
- import { UiLibrary } from './detect.js';
6
- import type { FoundStore } from './capabilities.js';
7
- /**
8
- * The same literal, with the pairing token folded in.
9
- *
10
- * The token belongs INSIDE the call the user pastes. Every other stack has a build step to inline
11
- * it (the Vite plugin's `define`, Next's NEXT_PUBLIC_*, Astro's config, CRA's .env); the hand-wired
12
- * paths have none, so `init` inlines the literal it already read. Without it the bridge closes the
13
- * socket with AUTH_FAILED and no session ever appears: see Bridge's hello handler.
14
- *
15
- * An empty token is omitted rather than emitted as `token: ''`. A daemon that could not write to
16
- * $HOME runs without auth and trusts loopback, and an empty string would fail the comparison against
17
- * one that does hold a token.
18
- */
19
- export declare function connectArgWithToken(port: number | undefined, projectId: string | undefined, pairingToken: string | undefined): string;
20
- /**
21
- * Which SDK package the GENERATED code should import, and whether `install()` applies.
22
- *
23
- * This has to agree with `frameworkPackages`, and it did not. That function was changed so a Vue or
24
- * Svelte app installs `@reticlehq/browser` instead of the React adapter — correctly — while every
25
- * generated connect snippet still said `import('@reticlehq/react')`. A SvelteKit app would have
26
- * installed the sensor and then run a hook importing a package that is not there.
27
- *
28
- * `install()` is the React adapter's, not the sensor's: `@reticlehq/browser` exports `reticle` and no
29
- * `install`, so swapping the specifier alone would trade a missing module for a missing export.
30
- */
31
- export declare function sdkImport(uiLibrary: UiLibrary): {
32
- specifier: string;
33
- usesInstall: boolean;
34
- };
35
- /** The Vite-config snippet printed when we can't safely auto-patch the config. */
36
- export declare function viteManual(port: number | undefined, uiLibrary?: UiLibrary): string;
37
- /** Next.js config wrap — always printed (we never auto-rewrite next.config). */
38
- export declare function nextConfigManual(configFile: string): string;
39
- /**
40
- * The dev-only client component that connects Reticle after hydration.
41
- *
42
- * The token is not optional. The bridge requires a pairing token even on localhost, and unlike Vite
43
- * (where the plugin injects it) a Next app has to carry it through `withReticle`, which publishes it
44
- * as `NEXT_PUBLIC_RETICLE_TOKEN`. This file used to connect with only a projectId, so every Next
45
- * setup ended at `bridge refused the connection: authentication failed` and no session ever appeared.
46
- */
47
- export declare function nextReticleDevFile(port: number | undefined, projectId?: string, testids?: readonly string[], stores?: readonly string[], found?: readonly FoundStore[]): string;
48
- export declare function astroManual(port: number | undefined, projectId?: string,
49
- /**
50
- * A layout file that actually exists, when one does.
51
- *
52
- * Reported from the field: on `examples/framework-react` — which has no layout at all, only
53
- * `src/pages/index.astro` — init printed thirty lines telling the user to paste into "your
54
- * layout". Instructions that name a file the project does not have read as a mistake by the
55
- * reader, and cost them the time it takes to go and confirm it is missing.
56
- */
57
- layoutPath?: string): string;
58
- /**
59
- * The app-side dev module the Vite plugin imports by convention.
60
- *
61
- * `registerCapabilities` tells the agent what it can drive without guessing; `registerStore` is the
62
- * one that matters most and the one we cannot write for you — detecting that an app depends on
63
- * zustand is easy, knowing which module exports the store instance is not, and a wrong import here
64
- * breaks the module everything else hangs off. So the store lines are generated COMMENTED, naming
65
- * the libraries actually found in package.json, with the exact call to uncomment.
66
- */
67
- export declare function viteDevModuleFile(testids: readonly string[], stores: readonly string[], found?: readonly FoundStore[], uiLibrary?: UiLibrary): string;
68
- /** Where that module goes. Matches @reticlehq/vite-plugin's convention list. */
69
- export declare const VITE_DEV_MODULE_PATH = "src/reticle-dev.ts";
70
- /** Default root-layout path, used when no layout was found on disk (reporting only). */
71
- export declare const NEXT_LAYOUT_PATH = "app/layout.tsx";
72
- /** Mount instruction for the root layout. */
73
- export declare const NEXT_LAYOUT_MANUAL = "Mount <ReticleDev /> in your root layout (app/layout.tsx), dev-only:\n\n import { ReticleDev } from './reticle-dev';\n // inside <body>:\n {process.env.NODE_ENV === 'development' ? <ReticleDev /> : null}";
74
- /**
75
- * Manual connect guidance for projects without a Vite/Next plugin. Most such projects still use a
76
- * BUNDLER (CRA, webpack, Parcel, Vue/Svelte CLIs) — for those, the connect goes in the entry MODULE,
77
- * where a bare `@reticlehq/react` import resolves. A bare import in a plain index.html does NOT resolve in
78
- * the browser, so we never tell a bundled app to do that (the old advice silently failed for CRA).
79
- */
80
- /**
81
- * The whole install, for a page with no build step, as one block a person can paste.
82
- *
83
- * Extracted so the `no package.json` exit can print the SAME snippet `htmlManual` offers. That exit
84
- * is the one every server-rendered app reaches (FastAPI, Flask, Django, Rails, Streamlit), it is
85
- * where `init` stops, and until now it stopped with an explanation instead of an answer. A message
86
- * that says "add the snippet below" and then prints no snippet is the same defect wearing the
87
- * opposite sign, so the two share a builder rather than a copy.
88
- */
89
- export declare function staticPageSnippet(connectArgLiteral: string): string;
90
- export declare function htmlManual(port: number | undefined, projectId?: string, pairingToken?: string): string;
91
- export declare const NEXT_RETICLE_DEV_PATH = "app/reticle-dev.tsx";
92
- export declare const SVELTEKIT_HOOKS_PATH = "src/hooks.client.ts";
93
- /**
94
- * Said to the user's face rather than discovered later. React, Next, Remix and Astro each have an
95
- * app and a CI gate; SvelteKit has neither, so "it generated some wiring" is not evidence it works.
96
- */
97
- /**
98
- * Said out loud when the app does not render through React. The SDK is framework-agnostic — DOM,
99
- * network, console and routing all still work — but `@reticlehq/react` is a React adapter, so
100
- * component names and source mapping do not, and no CI gate covers this stack. Reporting all-green
101
- * here is the one thing this project exists not to do.
102
- */
103
- export declare function unverifiedUiLibraryNote(library: string): string;
104
- export declare const UNVERIFIED_FRAMEWORK_NOTE = "Reticle has no SvelteKit app and no CI gate for one, so this wiring is untested \u2014 it may work, but nothing proves it and nothing will tell us if it breaks. Supported and gated today: Vite + React, Next.js, Remix and Astro. If the hook does not register a session, please open an issue.";
105
- /**
106
- * Dev-only client hook that connects Reticle in a SvelteKit app. SvelteKit renders through app.html and
107
- * never triggers Vite's index.html injection (verified), so the standard plugin can't auto-connect —
108
- * a client hook is the reliable path. SvelteKit runs src/hooks.client.ts on the client at startup.
109
- */
110
- export declare function svelteKitHooksFile(port: number | undefined, projectId?: string, uiLibrary?: UiLibrary): string;
111
- /** Where a Nuxt dev-only client plugin belongs. `.client` keeps it out of SSR; Nuxt auto-registers it. */
112
- export declare const NUXT_PLUGIN_PATH = "app/plugins/reticle.client.ts";
113
- /**
114
- * The Nuxt recipe, written out in full because every trap in it is one somebody actually hit.
115
- *
116
- * Reported from the field, in the order they were hit: `init` classified a Nuxt 4 app as `html`, so
117
- * it installed a package named `@reticlehq/react` (with `react` in its peer dependencies) into a Vue
118
- * codebase — the reporter only continued after auditing our dist to confirm there are no React
119
- * imports at runtime, which most people will not do. It then handed over a snippet guarded on
120
- * `window.location.hostname === 'localhost'`, which fails twice over in Nuxt: `window` does not
121
- * exist during SSR, and the dev host here was a hosts-file alias (required for the backend's
122
- * white-label origin detection), so the guard was false and the connect never ran — no error, no log
123
- * line, nothing to debug. And nothing said a running dev server does not pick up a new plugin.
124
- *
125
- * So: `import.meta.dev` (build-time, host-independent) instead of a hostname check, `.client.ts`
126
- * instead of an SSR guard, the framework-neutral sensor instead of the React kit, the non-localhost
127
- * flag named up front, and the restart said out loud.
128
- */
129
- export declare function nuxtManual(port: number | undefined, projectId?: string): string;
130
- /**
131
- * Root-level project config for Reticle. Written by `reticle init`; read by `reticle mcp` for the port
132
- * and by tooling for the stable projectId (the app's identity across port changes).
133
- */
134
- export declare function reticleConfigContent(framework: string, port: number | undefined, projectId?: string, installSource?: string): string;