@synap-core/cli 1.10.0 → 1.12.2

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 (461) hide show
  1. package/README.md +23 -198
  2. package/dist/build-info.json +6 -0
  3. package/dist/commands/agent-run.js +3 -2
  4. package/dist/commands/agent-run.js.map +1 -1
  5. package/dist/commands/agents.d.ts +33 -17
  6. package/dist/commands/agents.js +203 -237
  7. package/dist/commands/agents.js.map +1 -1
  8. package/dist/commands/app.d.ts +143 -0
  9. package/dist/commands/app.js +523 -0
  10. package/dist/commands/app.js.map +1 -0
  11. package/dist/commands/automate.d.ts +21 -0
  12. package/dist/commands/automate.js +42 -0
  13. package/dist/commands/automate.js.map +1 -0
  14. package/dist/commands/automation-schema.test.d.ts +16 -0
  15. package/dist/commands/automation-schema.test.js +77 -0
  16. package/dist/commands/automation-schema.test.js.map +1 -0
  17. package/dist/commands/automation.d.ts +12 -0
  18. package/dist/commands/automation.js +80 -35
  19. package/dist/commands/automation.js.map +1 -1
  20. package/dist/commands/bridge-setup.d.ts +14 -1
  21. package/dist/commands/bridge-setup.js +392 -128
  22. package/dist/commands/bridge-setup.js.map +1 -1
  23. package/dist/commands/cap-connections.d.ts +4 -4
  24. package/dist/commands/cap-connections.js +14 -14
  25. package/dist/commands/cap-connections.js.map +1 -1
  26. package/dist/commands/capability.d.ts +2 -0
  27. package/dist/commands/capability.js +297 -176
  28. package/dist/commands/capability.js.map +1 -1
  29. package/dist/commands/catalog.d.ts +275 -0
  30. package/dist/commands/catalog.js +481 -0
  31. package/dist/commands/catalog.js.map +1 -0
  32. package/dist/commands/cell.d.ts +155 -8
  33. package/dist/commands/cell.js +416 -40
  34. package/dist/commands/cell.js.map +1 -1
  35. package/dist/commands/centrality.js +3 -14
  36. package/dist/commands/centrality.js.map +1 -1
  37. package/dist/commands/connect.d.ts +38 -13
  38. package/dist/commands/connect.js +68 -167
  39. package/dist/commands/connect.js.map +1 -1
  40. package/dist/commands/connections.d.ts +3 -2
  41. package/dist/commands/connections.js +95 -25
  42. package/dist/commands/connections.js.map +1 -1
  43. package/dist/commands/context.js +9 -2
  44. package/dist/commands/context.js.map +1 -1
  45. package/dist/commands/data-extra.d.ts +34 -0
  46. package/dist/commands/data-extra.js +198 -25
  47. package/dist/commands/data-extra.js.map +1 -1
  48. package/dist/commands/data.d.ts +120 -2
  49. package/dist/commands/data.js +307 -24
  50. package/dist/commands/data.js.map +1 -1
  51. package/dist/commands/diagnose.d.ts +66 -4
  52. package/dist/commands/diagnose.js +329 -29
  53. package/dist/commands/diagnose.js.map +1 -1
  54. package/dist/commands/digest.js +2 -1
  55. package/dist/commands/digest.js.map +1 -1
  56. package/dist/commands/doc.d.ts +25 -4
  57. package/dist/commands/doc.js +100 -18
  58. package/dist/commands/doc.js.map +1 -1
  59. package/dist/commands/doctor.d.ts +130 -0
  60. package/dist/commands/doctor.js +814 -0
  61. package/dist/commands/doctor.js.map +1 -0
  62. package/dist/commands/events.js +3 -1
  63. package/dist/commands/events.js.map +1 -1
  64. package/dist/commands/explain.js +5 -5
  65. package/dist/commands/explain.js.map +1 -1
  66. package/dist/commands/graph.js +5 -3
  67. package/dist/commands/graph.js.map +1 -1
  68. package/dist/commands/import.d.ts +368 -13
  69. package/dist/commands/import.js +1096 -55
  70. package/dist/commands/import.js.map +1 -1
  71. package/dist/commands/init.d.ts +20 -9
  72. package/dist/commands/init.js +433 -973
  73. package/dist/commands/init.js.map +1 -1
  74. package/dist/commands/keys.d.ts +1 -0
  75. package/dist/commands/keys.js +15 -2
  76. package/dist/commands/keys.js.map +1 -1
  77. package/dist/commands/knowledge.d.ts +28 -6
  78. package/dist/commands/knowledge.js +358 -73
  79. package/dist/commands/knowledge.js.map +1 -1
  80. package/dist/commands/launch.js +2 -2
  81. package/dist/commands/launch.js.map +1 -1
  82. package/dist/commands/lens.d.ts +37 -1
  83. package/dist/commands/lens.js +193 -72
  84. package/dist/commands/lens.js.map +1 -1
  85. package/dist/commands/market-authoring.d.ts +72 -0
  86. package/dist/commands/market-authoring.js +566 -0
  87. package/dist/commands/market-authoring.js.map +1 -0
  88. package/dist/commands/market-official.d.ts +58 -0
  89. package/dist/commands/market-official.js +84 -0
  90. package/dist/commands/market-official.js.map +1 -0
  91. package/dist/commands/market.d.ts +419 -20
  92. package/dist/commands/market.js +2124 -193
  93. package/dist/commands/market.js.map +1 -1
  94. package/dist/commands/mcp.d.ts +70 -13
  95. package/dist/commands/mcp.js +308 -40
  96. package/dist/commands/mcp.js.map +1 -1
  97. package/dist/commands/open.d.ts +39 -9
  98. package/dist/commands/open.js +80 -25
  99. package/dist/commands/open.js.map +1 -1
  100. package/dist/commands/playbook.d.ts +42 -0
  101. package/dist/commands/playbook.js +162 -0
  102. package/dist/commands/playbook.js.map +1 -0
  103. package/dist/commands/pod.js +1 -1
  104. package/dist/commands/pod.js.map +1 -1
  105. package/dist/commands/pods.d.ts +19 -0
  106. package/dist/commands/pods.js +220 -85
  107. package/dist/commands/pods.js.map +1 -1
  108. package/dist/commands/proposals-actions.d.ts +62 -0
  109. package/dist/commands/proposals-actions.js +146 -8
  110. package/dist/commands/proposals-actions.js.map +1 -1
  111. package/dist/commands/proposals-await.d.ts +68 -0
  112. package/dist/commands/proposals-await.js +248 -0
  113. package/dist/commands/proposals-await.js.map +1 -0
  114. package/dist/commands/proton-setup.d.ts +73 -0
  115. package/dist/commands/proton-setup.js +577 -0
  116. package/dist/commands/proton-setup.js.map +1 -0
  117. package/dist/commands/providers.d.ts +23 -0
  118. package/dist/commands/providers.js +126 -1
  119. package/dist/commands/providers.js.map +1 -1
  120. package/dist/commands/raycast.js +6 -2
  121. package/dist/commands/raycast.js.map +1 -1
  122. package/dist/commands/rule.d.ts +150 -0
  123. package/dist/commands/rule.js +447 -0
  124. package/dist/commands/rule.js.map +1 -0
  125. package/dist/commands/session-wait.d.ts +111 -0
  126. package/dist/commands/session-wait.js +209 -0
  127. package/dist/commands/session-wait.js.map +1 -0
  128. package/dist/commands/sessions.d.ts +52 -0
  129. package/dist/commands/sessions.js +479 -58
  130. package/dist/commands/sessions.js.map +1 -1
  131. package/dist/commands/skill-manage.d.ts +21 -0
  132. package/dist/commands/skill-manage.js +136 -19
  133. package/dist/commands/skill-manage.js.map +1 -1
  134. package/dist/commands/skills.js +19 -1
  135. package/dist/commands/skills.js.map +1 -1
  136. package/dist/commands/status.d.ts +1 -4
  137. package/dist/commands/status.js +5 -34
  138. package/dist/commands/status.js.map +1 -1
  139. package/dist/commands/statusline.backoff.test.d.ts +13 -0
  140. package/dist/commands/statusline.backoff.test.js +100 -0
  141. package/dist/commands/statusline.backoff.test.js.map +1 -0
  142. package/dist/commands/statusline.js +16 -9
  143. package/dist/commands/statusline.js.map +1 -1
  144. package/dist/commands/sync-status.d.ts +12 -0
  145. package/dist/commands/sync-status.js +125 -0
  146. package/dist/commands/sync-status.js.map +1 -0
  147. package/dist/commands/templates-retire.d.ts +34 -0
  148. package/dist/commands/templates-retire.js +192 -0
  149. package/dist/commands/templates-retire.js.map +1 -0
  150. package/dist/commands/tools.js +6 -21
  151. package/dist/commands/tools.js.map +1 -1
  152. package/dist/commands/tracks.d.ts +51 -0
  153. package/dist/commands/tracks.js +291 -0
  154. package/dist/commands/tracks.js.map +1 -0
  155. package/dist/commands/update.d.ts +3 -11
  156. package/dist/commands/update.js +5 -134
  157. package/dist/commands/update.js.map +1 -1
  158. package/dist/commands/upload.d.ts +68 -0
  159. package/dist/commands/upload.js +257 -0
  160. package/dist/commands/upload.js.map +1 -0
  161. package/dist/commands/vendor.d.ts +28 -0
  162. package/dist/commands/vendor.js +110 -0
  163. package/dist/commands/vendor.js.map +1 -0
  164. package/dist/commands/versions.js +6 -0
  165. package/dist/commands/versions.js.map +1 -1
  166. package/dist/commands/view.js +10 -5
  167. package/dist/commands/view.js.map +1 -1
  168. package/dist/commands/whoami.d.ts +23 -3
  169. package/dist/commands/whoami.js +169 -23
  170. package/dist/commands/whoami.js.map +1 -1
  171. package/dist/commands/worker.d.ts +122 -0
  172. package/dist/commands/worker.js +435 -0
  173. package/dist/commands/worker.js.map +1 -0
  174. package/dist/commands/worker.test.d.ts +1 -0
  175. package/dist/commands/worker.test.js +116 -0
  176. package/dist/commands/worker.test.js.map +1 -0
  177. package/dist/commands/workspace-ops.d.ts +35 -0
  178. package/dist/commands/workspace-ops.js +153 -0
  179. package/dist/commands/workspace-ops.js.map +1 -0
  180. package/dist/index.d.ts +6 -6
  181. package/dist/index.js +1009 -171
  182. package/dist/index.js.map +1 -1
  183. package/dist/lib/agent-connections.d.ts +31 -0
  184. package/dist/lib/agent-connections.js +33 -0
  185. package/dist/lib/agent-connections.js.map +1 -0
  186. package/dist/lib/agent-detect.d.ts +27 -0
  187. package/dist/lib/agent-detect.js +71 -0
  188. package/dist/lib/agent-detect.js.map +1 -0
  189. package/dist/lib/agent-door.d.ts +138 -0
  190. package/dist/lib/agent-door.js +426 -0
  191. package/dist/lib/agent-door.js.map +1 -0
  192. package/dist/lib/agents-config.d.ts +2 -0
  193. package/dist/lib/agents-config.js +4 -9
  194. package/dist/lib/agents-config.js.map +1 -1
  195. package/dist/lib/approval-poll.d.ts +31 -2
  196. package/dist/lib/approval-poll.js +20 -7
  197. package/dist/lib/approval-poll.js.map +1 -1
  198. package/dist/lib/atomic-file.d.ts +48 -0
  199. package/dist/lib/atomic-file.js +129 -0
  200. package/dist/lib/atomic-file.js.map +1 -0
  201. package/dist/lib/auth.d.ts +14 -9
  202. package/dist/lib/auth.js +44 -61
  203. package/dist/lib/auth.js.map +1 -1
  204. package/dist/lib/batch-approval.d.ts +85 -0
  205. package/dist/lib/batch-approval.js +170 -0
  206. package/dist/lib/batch-approval.js.map +1 -0
  207. package/dist/lib/capture-lane.d.ts +6 -5
  208. package/dist/lib/capture-lane.js +11 -8
  209. package/dist/lib/capture-lane.js.map +1 -1
  210. package/dist/lib/capture-structure.d.ts +342 -0
  211. package/dist/lib/capture-structure.js +295 -0
  212. package/dist/lib/capture-structure.js.map +1 -0
  213. package/dist/lib/catalog-templates.d.ts +59 -0
  214. package/dist/lib/catalog-templates.js +126 -0
  215. package/dist/lib/catalog-templates.js.map +1 -0
  216. package/dist/lib/cli-build.d.ts +19 -0
  217. package/dist/lib/cli-build.js +37 -0
  218. package/dist/lib/cli-build.js.map +1 -0
  219. package/dist/lib/conversation-headers.d.ts +18 -0
  220. package/dist/lib/conversation-headers.js +32 -0
  221. package/dist/lib/conversation-headers.js.map +1 -0
  222. package/dist/lib/cp-packages.d.ts +216 -4
  223. package/dist/lib/cp-packages.js +414 -11
  224. package/dist/lib/cp-packages.js.map +1 -1
  225. package/dist/lib/credential-class.d.ts +117 -0
  226. package/dist/lib/credential-class.js +116 -0
  227. package/dist/lib/credential-class.js.map +1 -0
  228. package/dist/lib/describe-lens.d.ts +35 -0
  229. package/dist/lib/describe-lens.js +40 -0
  230. package/dist/lib/describe-lens.js.map +1 -1
  231. package/dist/lib/device-connect.d.ts +125 -0
  232. package/dist/lib/device-connect.js +256 -0
  233. package/dist/lib/device-connect.js.map +1 -0
  234. package/dist/lib/directory-lens.d.ts +99 -0
  235. package/dist/lib/directory-lens.js +187 -0
  236. package/dist/lib/directory-lens.js.map +1 -0
  237. package/dist/lib/exporter-coverage.d.ts +71 -0
  238. package/dist/lib/exporter-coverage.js +97 -0
  239. package/dist/lib/exporter-coverage.js.map +1 -0
  240. package/dist/lib/hub-client.d.ts +43 -9
  241. package/dist/lib/hub-client.js +429 -65
  242. package/dist/lib/hub-client.js.map +1 -1
  243. package/dist/lib/id.d.ts +23 -0
  244. package/dist/lib/id.js +35 -0
  245. package/dist/lib/id.js.map +1 -0
  246. package/dist/lib/init-connect.d.ts +41 -0
  247. package/dist/lib/init-connect.js +75 -0
  248. package/dist/lib/init-connect.js.map +1 -0
  249. package/dist/lib/init-exit.d.ts +24 -0
  250. package/dist/lib/init-exit.js +41 -0
  251. package/dist/lib/init-exit.js.map +1 -0
  252. package/dist/lib/init-flow.d.ts +25 -0
  253. package/dist/lib/init-flow.js +40 -0
  254. package/dist/lib/init-flow.js.map +1 -0
  255. package/dist/lib/init-handoff.d.ts +16 -0
  256. package/dist/lib/init-handoff.js +19 -0
  257. package/dist/lib/init-handoff.js.map +1 -0
  258. package/dist/lib/init-output.d.ts +18 -0
  259. package/dist/lib/init-output.js +43 -0
  260. package/dist/lib/init-output.js.map +1 -0
  261. package/dist/lib/init-pod.d.ts +45 -0
  262. package/dist/lib/init-pod.js +36 -0
  263. package/dist/lib/init-pod.js.map +1 -0
  264. package/dist/lib/installed.d.ts +210 -11
  265. package/dist/lib/installed.js +234 -36
  266. package/dist/lib/installed.js.map +1 -1
  267. package/dist/lib/key-approval.d.ts +57 -0
  268. package/dist/lib/key-approval.js +117 -0
  269. package/dist/lib/key-approval.js.map +1 -0
  270. package/dist/lib/key-diagnosis.d.ts +56 -0
  271. package/dist/lib/key-diagnosis.js +227 -0
  272. package/dist/lib/key-diagnosis.js.map +1 -0
  273. package/dist/lib/key-doctor.d.ts +136 -0
  274. package/dist/lib/key-doctor.js +286 -0
  275. package/dist/lib/key-doctor.js.map +1 -0
  276. package/dist/lib/key-locations.d.ts +120 -0
  277. package/dist/lib/key-locations.js +326 -0
  278. package/dist/lib/key-locations.js.map +1 -0
  279. package/dist/lib/key-source.d.ts +66 -0
  280. package/dist/lib/key-source.js +106 -0
  281. package/dist/lib/key-source.js.map +1 -0
  282. package/dist/lib/key-state.d.ts +70 -0
  283. package/dist/lib/key-state.js +115 -0
  284. package/dist/lib/key-state.js.map +1 -0
  285. package/dist/lib/kind-package.d.ts +181 -0
  286. package/dist/lib/kind-package.js +679 -0
  287. package/dist/lib/kind-package.js.map +1 -0
  288. package/dist/lib/knowledge-title.d.ts +24 -0
  289. package/dist/lib/knowledge-title.js +46 -0
  290. package/dist/lib/knowledge-title.js.map +1 -0
  291. package/dist/lib/knowledge-title.test.d.ts +1 -0
  292. package/dist/lib/knowledge-title.test.js +34 -0
  293. package/dist/lib/knowledge-title.test.js.map +1 -0
  294. package/dist/lib/machine-instance.d.ts +64 -0
  295. package/dist/lib/machine-instance.js +142 -0
  296. package/dist/lib/machine-instance.js.map +1 -0
  297. package/dist/lib/mcp-bridge.d.ts +42 -0
  298. package/dist/lib/mcp-bridge.js +147 -0
  299. package/dist/lib/mcp-bridge.js.map +1 -0
  300. package/dist/lib/mcp-bridge.test.d.ts +1 -0
  301. package/dist/lib/mcp-bridge.test.js +90 -0
  302. package/dist/lib/mcp-bridge.test.js.map +1 -0
  303. package/dist/lib/mcp-call.d.ts +30 -0
  304. package/dist/lib/mcp-call.js +107 -0
  305. package/dist/lib/mcp-call.js.map +1 -0
  306. package/dist/lib/mcp-snippets.d.ts +53 -0
  307. package/dist/lib/mcp-snippets.js +82 -0
  308. package/dist/lib/mcp-snippets.js.map +1 -0
  309. package/dist/lib/next-steps.d.ts +8 -0
  310. package/dist/lib/next-steps.js +31 -1
  311. package/dist/lib/next-steps.js.map +1 -1
  312. package/dist/lib/package-wire.d.ts +179 -0
  313. package/dist/lib/package-wire.js +68 -0
  314. package/dist/lib/package-wire.js.map +1 -0
  315. package/dist/lib/pair-link.d.ts +38 -0
  316. package/dist/lib/pair-link.js +68 -0
  317. package/dist/lib/pair-link.js.map +1 -0
  318. package/dist/lib/pod-wide.d.ts +40 -0
  319. package/dist/lib/pod-wide.js +46 -0
  320. package/dist/lib/pod-wide.js.map +1 -0
  321. package/dist/lib/pod.d.ts +119 -115
  322. package/dist/lib/pod.js +206 -412
  323. package/dist/lib/pod.js.map +1 -1
  324. package/dist/lib/project-ref.d.ts +9 -3
  325. package/dist/lib/project-ref.js +10 -4
  326. package/dist/lib/project-ref.js.map +1 -1
  327. package/dist/lib/review-credential.d.ts +119 -0
  328. package/dist/lib/review-credential.js +147 -0
  329. package/dist/lib/review-credential.js.map +1 -0
  330. package/dist/lib/safe-open.d.ts +49 -0
  331. package/dist/lib/safe-open.js +119 -0
  332. package/dist/lib/safe-open.js.map +1 -0
  333. package/dist/lib/session-lens.d.ts +40 -1
  334. package/dist/lib/session-lens.js +54 -4
  335. package/dist/lib/session-lens.js.map +1 -1
  336. package/dist/lib/superwhisper-import.d.ts +8 -0
  337. package/dist/lib/superwhisper-import.js +14 -7
  338. package/dist/lib/superwhisper-import.js.map +1 -1
  339. package/dist/lib/superwhisper-title.test.d.ts +1 -0
  340. package/dist/lib/superwhisper-title.test.js +18 -0
  341. package/dist/lib/superwhisper-title.test.js.map +1 -0
  342. package/dist/lib/targets.d.ts +134 -10
  343. package/dist/lib/targets.js +962 -258
  344. package/dist/lib/targets.js.map +1 -1
  345. package/dist/lib/template-file.d.ts +78 -0
  346. package/dist/lib/template-file.js +140 -0
  347. package/dist/lib/template-file.js.map +1 -0
  348. package/dist/lib/template-lifecycle.d.ts +217 -0
  349. package/dist/lib/template-lifecycle.js +433 -0
  350. package/dist/lib/template-lifecycle.js.map +1 -0
  351. package/dist/lib/template-steps.d.ts +88 -0
  352. package/dist/lib/template-steps.js +118 -0
  353. package/dist/lib/template-steps.js.map +1 -0
  354. package/dist/lib/time-ago.d.ts +2 -0
  355. package/dist/lib/time-ago.js +15 -0
  356. package/dist/lib/time-ago.js.map +1 -0
  357. package/dist/utils/logger.js +5 -2
  358. package/dist/utils/logger.js.map +1 -1
  359. package/package.json +25 -18
  360. package/skills/README.md +12 -10
  361. package/skills/agent-os/SKILL.md +220 -99
  362. package/skills/manifest.json +2 -2
  363. package/skills/onboard/SKILL.md +61 -25
  364. package/skills/synap/README.md +5 -8
  365. package/skills/synap/SKILL.md +1185 -301
  366. package/skills/synap/_order.txt +7 -0
  367. package/skills/synap/_skill.yaml +1 -1
  368. package/skills/synap/automations.md +15 -0
  369. package/skills/synap/capture.md +54 -151
  370. package/skills/synap/cli-operations.md +24 -18
  371. package/skills/synap/common-mistakes.md +1 -0
  372. package/skills/synap/concepts.md +28 -0
  373. package/skills/synap/content-os.md +92 -0
  374. package/skills/synap/creative-loop.md +15 -10
  375. package/skills/synap/crm.md +21 -52
  376. package/skills/synap/digesting-a-channel.md +25 -0
  377. package/skills/synap/document-embeds.md +141 -47
  378. package/skills/synap/escalation-ladder.md +20 -10
  379. package/skills/synap/focus-sessions.md +47 -21
  380. package/skills/synap/from-intent.md +142 -0
  381. package/skills/synap/governance-rules.md +4 -4
  382. package/skills/synap/governance.md +10 -7
  383. package/skills/synap/hand-off.md +33 -0
  384. package/skills/synap/inline-patterns.md +15 -7
  385. package/skills/synap/lenses.md +33 -15
  386. package/skills/synap/linking.md +41 -40
  387. package/skills/synap/mcp-remote-servers.md +64 -0
  388. package/skills/synap/mental-model.md +24 -22
  389. package/skills/synap/multi-entity-capture.md +6 -4
  390. package/skills/synap/operating-mode-rules.md +1 -1
  391. package/skills/synap/processes.md +118 -0
  392. package/skills/synap/quick-reference.md +5 -1
  393. package/skills/synap/reading.md +3 -1
  394. package/skills/synap/reflexes.md +12 -42
  395. package/skills/synap/viewframe-cells.md +38 -5
  396. package/skills/synap/work-flow.md +1 -1
  397. package/skills/synap/work-model.md +96 -0
  398. package/skills/synap/worked-examples.md +21 -1
  399. package/skills/synap/workspace-design.md +14 -10
  400. package/skills/synap/writes.md +165 -35
  401. package/skills/synap/writing-titles.md +63 -0
  402. package/skills/synap-app/SKILL.md +319 -0
  403. package/skills/synap-app/_order.txt +5 -0
  404. package/skills/synap-app/_skill.yaml +20 -0
  405. package/skills/synap-app/creating-the-base-app.md +64 -0
  406. package/skills/synap-app/governance.md +42 -0
  407. package/skills/synap-app/install-commands.md +55 -0
  408. package/skills/synap-app/overview.md +50 -0
  409. package/skills/synap-app/using-the-sdk.md +73 -0
  410. package/skills/synap-design/SKILL.md +474 -0
  411. package/skills/synap-design/_order.txt +4 -0
  412. package/skills/synap-design/_skill.yaml +21 -0
  413. package/skills/synap-design/loop.md +134 -0
  414. package/skills/synap-design/overview.md +44 -0
  415. package/skills/synap-design/principles.md +130 -0
  416. package/skills/synap-design/system.md +133 -0
  417. package/skills/synap-market/SKILL.md +625 -0
  418. package/skills/synap-market/_order.txt +5 -0
  419. package/skills/synap-market/_skill.yaml +24 -0
  420. package/skills/synap-market/author-and-publish.md +212 -0
  421. package/skills/synap-market/discover-and-fetch.md +59 -0
  422. package/skills/synap-market/governance-and-catalog.md +63 -0
  423. package/skills/synap-market/install.md +133 -0
  424. package/skills/synap-market/overview.md +119 -0
  425. package/skills/synap-schema/SKILL.md +172 -10
  426. package/skills/synap-schema/_order.txt +2 -0
  427. package/skills/synap-schema/_skill.yaml +4 -2
  428. package/skills/synap-schema/common-mistakes.md +4 -2
  429. package/skills/synap-schema/discover-profiles.md +1 -1
  430. package/skills/synap-schema/entity-scope.md +15 -3
  431. package/skills/synap-schema/extend-first.md +29 -0
  432. package/skills/synap-schema/extend-vs-create.md +1 -1
  433. package/skills/synap-schema/intent-vocabulary-ssot.md +111 -0
  434. package/skills/synap-schema/property-types.md +1 -1
  435. package/skills/synap-schema/relations.md +1 -1
  436. package/skills/synap-ui/SKILL.md +19 -12
  437. package/skills/synap-ui/_skill.yaml +1 -1
  438. package/skills/synap-ui/ai-companion.md +1 -1
  439. package/skills/synap-ui/arranging-bento.md +2 -0
  440. package/skills/synap-ui/bento-layouts.md +10 -10
  441. package/skills/synap-ui/bento-recipes.md +313 -543
  442. package/skills/synap-ui/four-builds.md +5 -0
  443. package/skills/synap-ui/view-types.md +2 -2
  444. package/skills/synap-ui/widget-catalog.md +22 -278
  445. package/templates/automations/bookmark-enrichment.automation.json +290 -13
  446. package/templates/automations/url-bookmark-capture.automation.json +73 -11
  447. package/templates/skills/authoring-playbooks/SKILL.md +6 -3
  448. package/templates/skills/authoring-playbooks/reference/stages-contract.md +15 -0
  449. package/templates/skills/authoring-playbooks/reference/worked-example.md +3 -0
  450. package/dist/commands/infra.d.ts +0 -21
  451. package/dist/commands/infra.js +0 -262
  452. package/dist/commands/infra.js.map +0 -1
  453. package/dist/lib/browser-auth.d.ts +0 -35
  454. package/dist/lib/browser-auth.js +0 -170
  455. package/dist/lib/browser-auth.js.map +0 -1
  456. package/dist/lib/openclaw.d.ts +0 -32
  457. package/dist/lib/openclaw.js +0 -164
  458. package/dist/lib/openclaw.js.map +0 -1
  459. package/dist/lib/seed.d.ts +0 -13
  460. package/dist/lib/seed.js +0 -135
  461. package/dist/lib/seed.js.map +0 -1
@@ -10,12 +10,32 @@
10
10
  * but a valid surface key is pinned (or vice-versa). This command:
11
11
  * 1. resolves the winning cfg (the key every command uses),
12
12
  * 2. independently reads env key + `claude-code` surface key and reproduces
13
- * the surface-over-env preference rule from hub-client.ts:394-403,
14
- * 3. introspects the winner via `/auth/status`, and
13
+ * the surface-over-env preference rule via `preferClaudeCodeSurfaceKey`
14
+ * (shared with hub-client — no drift),
15
+ * 3. introspects the winner via BOTH `/auth/status` (who OWNS the key) and
16
+ * `/users/me` (who the pod ACTS AS, + server-derived `isAgent`), and
15
17
  * 4. when env and surface keys diverge, names the winner AND the ignored key,
16
18
  * probing the loser too so the operator sees both states side by side.
17
19
  *
20
+ * Step 3 used to show only `/auth/status`'s `userEmail`, labelled "Identity".
21
+ * For an agent key that is the AGENT, never the human the pod attributes its
22
+ * writes to — so the command answered a different question than it appeared to,
23
+ * and an earlier analysis concluded from it that the CLI and the MCP connector
24
+ * were different people. Key owner, effective user, and isAgent are now printed
25
+ * together; any one of them alone is misleading.
26
+ *
18
27
  * It never mutates state and never relies on resolveHubConfig's stderr swap
19
28
  * warning (hub-client.ts:398-400) — it reads the divergence itself.
20
29
  */
21
- export declare function whoami(): Promise<void>;
30
+ import { type AuthStatus, type EffectiveIdentity } from "../lib/credential-class.js";
31
+ /**
32
+ * Parse agentType from the synthetic agent email
33
+ * `agent-<type>-<8hex>@synap.agent` (agent-identity-service). AuthStatus and
34
+ * /users/me do not currently expose agentType as a field.
35
+ */
36
+ export declare function parseAgentTypeFromEmail(email: string | null | undefined): string | null;
37
+ /** Resolve agentType when acting as an agent: email parse (AuthStatus has no field). */
38
+ export declare function resolveAgentType(s: AuthStatus, me: EffectiveIdentity | null): string | null;
39
+ export declare function whoami(opts?: {
40
+ json?: boolean;
41
+ }): Promise<void>;
@@ -10,18 +10,34 @@
10
10
  * but a valid surface key is pinned (or vice-versa). This command:
11
11
  * 1. resolves the winning cfg (the key every command uses),
12
12
  * 2. independently reads env key + `claude-code` surface key and reproduces
13
- * the surface-over-env preference rule from hub-client.ts:394-403,
14
- * 3. introspects the winner via `/auth/status`, and
13
+ * the surface-over-env preference rule via `preferClaudeCodeSurfaceKey`
14
+ * (shared with hub-client — no drift),
15
+ * 3. introspects the winner via BOTH `/auth/status` (who OWNS the key) and
16
+ * `/users/me` (who the pod ACTS AS, + server-derived `isAgent`), and
15
17
  * 4. when env and surface keys diverge, names the winner AND the ignored key,
16
18
  * probing the loser too so the operator sees both states side by side.
17
19
  *
20
+ * Step 3 used to show only `/auth/status`'s `userEmail`, labelled "Identity".
21
+ * For an agent key that is the AGENT, never the human the pod attributes its
22
+ * writes to — so the command answered a different question than it appeared to,
23
+ * and an earlier analysis concluded from it that the CLI and the MCP connector
24
+ * were different people. Key owner, effective user, and isAgent are now printed
25
+ * together; any one of them alone is misleading.
26
+ *
18
27
  * It never mutates state and never relies on resolveHubConfig's stderr swap
19
28
  * warning (hub-client.ts:398-400) — it reads the divergence itself.
20
29
  */
21
30
  import chalk from "chalk";
31
+ import { fetchKeyState } from "../lib/key-state.js";
32
+ import { describeKeyState } from "../lib/key-diagnosis.js";
22
33
  import { log, banner } from "../utils/logger.js";
23
- import { resolveHubConfig, hubGet, HubError } from "../lib/hub-client.js";
34
+ import { resolveHubConfig, HubError } from "../lib/hub-client.js";
24
35
  import { getSurfaceAgentKey } from "../lib/pod.js";
36
+ import { formatKeySource, preferClaudeCodeSurfaceKey, resolveKeySource, } from "../lib/key-source.js";
37
+ // `AuthStatus` + the `/auth/status` fetch moved to lib/credential-class.ts so
38
+ // the proposals surface classifies the calling key through the SAME door this
39
+ // command reports on, instead of re-deriving it.
40
+ import { fetchAuthStatus, fetchEffectiveIdentity, classifyReviewer, } from "../lib/credential-class.js";
25
41
  /** Last 6+ chars of a key, for eyeballing which secret is in play without leaking it. */
26
42
  function keyTail(apiKey) {
27
43
  return apiKey.length <= 8 ? "…" : `…${apiKey.slice(-6)}`;
@@ -29,7 +45,7 @@ function keyTail(apiKey) {
29
45
  /** Introspect a specific key by cloning the winning cfg and swapping the secret. */
30
46
  async function probeKey(cfg, apiKey) {
31
47
  try {
32
- const status = (await hubGet("/auth/status", {}, { ...cfg, apiKey }));
48
+ const status = await fetchAuthStatus(cfg, apiKey);
33
49
  return { kind: "ok", status };
34
50
  }
35
51
  catch (err) {
@@ -41,20 +57,89 @@ async function probeKey(cfg, apiKey) {
41
57
  return { kind: "error", message: err instanceof Error ? err.message : String(err) };
42
58
  }
43
59
  }
44
- function renderAuthStatus(s) {
60
+ /**
61
+ * Parse agentType from the synthetic agent email
62
+ * `agent-<type>-<8hex>@synap.agent` (agent-identity-service). AuthStatus and
63
+ * /users/me do not currently expose agentType as a field.
64
+ */
65
+ export function parseAgentTypeFromEmail(email) {
66
+ if (!email)
67
+ return null;
68
+ const m = email
69
+ .trim()
70
+ .toLowerCase()
71
+ .match(/^agent-(.+)-([0-9a-f]{8})@synap\.agent$/);
72
+ return m?.[1] ?? null;
73
+ }
74
+ /** Resolve agentType when acting as an agent: email parse (AuthStatus has no field). */
75
+ export function resolveAgentType(s, me) {
76
+ if (me?.isAgent !== true)
77
+ return null;
78
+ return parseAgentTypeFromEmail(s.userEmail);
79
+ }
80
+ /**
81
+ * The three identity lines, printed together because any ONE of them alone is
82
+ * misleading.
83
+ *
84
+ * `Key owner` came from `/auth/status` and used to be the ONLY thing shown —
85
+ * labelled just "Identity". For an agent key that is the AGENT, so `whoami`
86
+ * silently answered a different question than the operator asked, and an
87
+ * earlier analysis read the CLI and the MCP connector as different people on
88
+ * the strength of it. The pod attributes an agent key's writes to the human it
89
+ * is linked to (`userId = keyRecord.linkedUserId`, hub-protocol-rest.ts:407),
90
+ * and `GET /users/me` is where that effective identity is visible.
91
+ */
92
+ function renderIdentityTriple(s, me) {
93
+ const owner = s.userEmail ?? s.userName ?? s.userId ?? "unknown";
94
+ log.info(`Key owner : ${owner} ${chalk.dim("(who owns this key)")}`);
95
+ if (!me) {
96
+ log.info(`Effective : ${chalk.dim("could not resolve (GET /users/me failed)")}`);
97
+ return;
98
+ }
99
+ const effective = me.id ?? "unknown";
100
+ // Same id on both lines = a plain human key: the key owner IS the actor.
101
+ const sameActor = Boolean(me.id) && me.id === s.userId;
102
+ log.info(`Effective : ${effective} ${chalk.dim(sameActor ? "(same — this key acts as its own owner)" : "(who the pod attributes writes to)")}`);
103
+ log.info(`Is agent : ${me.isAgent === true
104
+ ? `${chalk.yellow("yes")} ${chalk.dim("(server-derived — writes are attributed to the effective user)")}`
105
+ : me.isAgent === false
106
+ ? chalk.green("no")
107
+ : chalk.dim("unknown")}`);
108
+ // Agent principal: key owner is the agent user; effective is the human creator.
109
+ // Singleton is (effective human, agentType) — list with `synap agents list`.
110
+ if (me.isAgent === true && s.userId && me.id && s.userId !== me.id) {
111
+ const agentType = resolveAgentType(s, me);
112
+ if (agentType) {
113
+ log.info(`Agent type : ${agentType} ${chalk.dim("(from agent email — one principal per you×type)")}`);
114
+ }
115
+ log.info(`Agent id : ${s.userId} ${chalk.dim("(agent principal — key owner)")}`);
116
+ log.info(`Creator : ${me.id} ${chalk.dim("(human — singleton key with agentType)")}`);
117
+ }
118
+ }
119
+ function renderAuthStatus(s, me) {
45
120
  log.info(`Key ID : ${s.keyIdPrefix ?? "unknown"}`);
46
121
  log.info(`Key type : ${s.keyType ?? chalk.dim("unknown")}`);
47
- log.info(`Identity : ${s.userEmail ?? s.userName ?? s.userId ?? "unknown"}`);
122
+ renderIdentityTriple(s, me);
48
123
  if (s.name)
49
124
  log.info(`Key name : ${s.name}`);
50
125
  log.info(`Workspace : ${s.workspaceId ?? chalk.dim("unknown")}`);
51
126
  log.info(`Scopes : ${s.scopes && s.scopes.length ? s.scopes.join(", ") : chalk.dim("(none)")}`);
127
+ // Whether this key may perform a HUMAN review (proposal approve/revert). The
128
+ // pod blocks agent self-review, so say it here rather than letting
129
+ // `synap proposals approve` discover it as a 403.
130
+ const reviewer = classifyReviewer(s);
131
+ log.info(`Can approve: ${reviewer === "agent"
132
+ ? `${chalk.red("no")} ${chalk.dim("(agent credential — approve is human review)")}`
133
+ : reviewer === "human"
134
+ ? chalk.green("yes")
135
+ : chalk.dim("unknown")}`);
52
136
  const active = s.isActive === true ? chalk.green("active") : s.isActive === false ? chalk.red("revoked") : chalk.dim("unknown");
53
137
  log.info(`Status : ${active}`);
54
138
  log.info(`Expires : ${s.expiresAt ?? chalk.dim("never")}`);
55
139
  }
56
- export async function whoami() {
57
- banner();
140
+ export async function whoami(opts = {}) {
141
+ if (!opts.json)
142
+ banner();
58
143
  // 1. The key that actually authenticates every command.
59
144
  let cfg;
60
145
  try {
@@ -65,37 +150,98 @@ export async function whoami() {
65
150
  return;
66
151
  }
67
152
  // 2. Independently read the two candidate keys and reproduce the preference
68
- // rule from hub-client.ts:394-403 — do NOT depend on resolveHubConfig's
69
- // stderr swap warning, read the state ourselves.
153
+ // rule via preferClaudeCodeSurfaceKey (same helper hub-client uses) —
154
+ // do NOT depend on resolveHubConfig's stderr swap warning.
70
155
  const envKey = process.env.SYNAP_HUB_API_KEY;
71
156
  const envPod = process.env.SYNAP_POD_URL;
72
- const surfaceKey = getSurfaceAgentKey("claude-code");
73
- const surfacePinnedHere = !!surfaceKey && !!surfaceKey.hubApiKey && surfaceKey.podUrl === envPod;
157
+ const envUser = process.env.SYNAP_USER_ID ?? "";
158
+ // Pod-qualified: never treat another pod's surface key as "pinned here".
159
+ const surfaceKey = getSurfaceAgentKey("claude-code", envPod);
160
+ const surfacePinnedHere = !!surfaceKey && !!surfaceKey.hubApiKey;
74
161
  const diverges = !!envKey &&
75
162
  surfacePinnedHere &&
76
163
  surfaceKey.hubApiKey !== envKey;
77
- // Which candidate did resolveHubConfig actually pick?
78
- const winner = diverges
79
- ? cfg.apiKey === surfaceKey.hubApiKey
164
+ // Which candidate does the shared preference rule pick when both are present?
165
+ const preferred = envPod && envKey
166
+ ? preferClaudeCodeSurfaceKey({
167
+ envPod,
168
+ envKey,
169
+ envUser,
170
+ surface: surfaceKey,
171
+ })
172
+ : null;
173
+ const winner = !diverges
174
+ ? "other"
175
+ : preferred?.usedSurface || cfg.apiKey === surfaceKey.hubApiKey
80
176
  ? "surface"
81
- : "env"
82
- : "other";
83
- // 3. Introspect the winning key.
177
+ : "env";
178
+ const keySource = resolveKeySource();
179
+ // 3. Introspect the winning key — BOTH questions, because "who owns this
180
+ // key" and "who does the pod act as" have different answers for an agent
181
+ // key, and showing only the first is what made this command misleading.
182
+ const winnerProbe = await probeKey(cfg, cfg.apiKey);
183
+ const effective = await fetchEffectiveIdentity(cfg).catch(() => null);
184
+ if (opts.json) {
185
+ const agentType = winnerProbe.kind === "ok"
186
+ ? resolveAgentType(winnerProbe.status, effective)
187
+ : null;
188
+ console.log(JSON.stringify({
189
+ podUrl: cfg.podUrl,
190
+ keySource,
191
+ keyOwner: winnerProbe.kind === "ok"
192
+ ? {
193
+ userId: winnerProbe.status.userId,
194
+ email: winnerProbe.status.userEmail,
195
+ keyId: winnerProbe.status.keyIdPrefix,
196
+ keyType: winnerProbe.status.keyType,
197
+ isActive: winnerProbe.status.isActive,
198
+ }
199
+ : null,
200
+ effectiveUser: effective ? { userId: effective.id, scopes: effective.scopes } : null,
201
+ isAgent: effective?.isAgent ?? null,
202
+ agentType,
203
+ canApprove: winnerProbe.kind === "ok" ? classifyReviewer(winnerProbe.status) : "unknown",
204
+ probe: winnerProbe.kind,
205
+ keyHealth: (await (await import("../lib/key-doctor.js")).checkKeyHealth(cfg.podUrl)).diagnoses.map((d) => ({
206
+ code: d.code,
207
+ severity: d.severity,
208
+ surface: d.surface,
209
+ title: d.title,
210
+ lines: d.lines,
211
+ command: d.command,
212
+ approvalUrl: d.approvalUrl,
213
+ locations: d.locations.map((l) => l.label),
214
+ })),
215
+ divergence: diverges
216
+ ? { winner, envKey: keyTail(envKey), surfaceKey: keyTail(surfaceKey.hubApiKey) }
217
+ : null,
218
+ }, null, 2));
219
+ return;
220
+ }
84
221
  log.heading("Winning key (resolved)");
85
222
  log.info(`Pod : ${cfg.podUrl}`);
223
+ // Always name the key path — even when env and surface agree — so the operator
224
+ // can see whether this shell is env-pinned, surface-swapped, or profile-based.
225
+ log.info(`Key source : ${formatKeySource(keySource)}`);
86
226
  log.dim(`Secret : ${keyTail(cfg.apiKey)}`);
87
- const winnerProbe = await probeKey(cfg, cfg.apiKey);
88
227
  if (winnerProbe.kind === "ok") {
89
- renderAuthStatus(winnerProbe.status);
228
+ renderAuthStatus(winnerProbe.status, effective);
90
229
  }
91
230
  else if (winnerProbe.kind === "revoked") {
92
- log.error("This key is revoked or expired — /auth/status returned 401.");
93
- log.hint("Refresh it with: synap login --reconnect");
231
+ // Not "revoked or expired" by guess: ask the pod WHY (a key awaiting
232
+ // approval was once reported revoked here, and sent the fix the wrong way).
233
+ const why = describeKeyState(await fetchKeyState(cfg.podUrl, cfg.apiKey));
234
+ log.error(`The pod refuses this key: it ${why}.`);
235
+ log.hint("See Key health below — or run: synap doctor --fix");
94
236
  }
95
237
  else {
96
238
  log.warn(`Could not introspect key: ${winnerProbe.message}`);
97
239
  }
98
- // 4. Divergence report — the whole point of the command.
240
+ // 4. Key health — the SAME diagnosis `synap doctor` prints, one per problem.
241
+ const { checkKeyHealth, printKeyHealth } = await import("../lib/key-doctor.js");
242
+ log.heading("Key health");
243
+ printKeyHealth(await checkKeyHealth(cfg.podUrl), { fixHint: true });
244
+ // 5. Divergence report — still the headline when env vs surface disagree.
99
245
  if (!diverges) {
100
246
  if (envKey && surfacePinnedHere) {
101
247
  log.dim("\nEnv key and claude-code surface key agree — no divergence.");
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * `synap worker` — run Claude Code unattended on THIS machine for the sessions
3
+ * a person or an AI handed to an agent.
4
+ *
5
+ * The door it reuses: a session's roster. Putting an agent on a focus session
6
+ * (`synap_start_session` agentIds, `synap_update_session` addAgentId, capture
7
+ * "Give to agent") is how work is handed to it, and `synap_orient` lists those
8
+ * sessions as `handedToYou` for that agent. The worker is that agent: it polls
9
+ * orient with the agent's own key, claims each new session once, and launches
10
+ * the unmodified `claude` binary headless in the workspace with a protocol
11
+ * prompt. The launched Claude Code does the work and talks in the session room
12
+ * through the Synap MCP — so the AI that launched the session (the
13
+ * orchestrator) and the person read and answer it there, and relay shows it.
14
+ *
15
+ * Synap never spawns a coding agent: this process runs on the person's own
16
+ * machine, under their own Claude login, as an agent they connected.
17
+ *
18
+ * Which Claude subscription a run uses = which Claude config the process sees:
19
+ * `--claude-config-dir` sets CLAUDE_CONFIG_DIR for the launched runs (log that
20
+ * directory in once with `CLAUDE_CONFIG_DIR=<dir> claude login`). API-key
21
+ * variables are removed from the launched environment so a stray key can never
22
+ * silently switch billing away from the subscription.
23
+ *
24
+ * State (which sessions were launched, their Claude session ids and outcome)
25
+ * lives in ~/.synap/worker/<agent>/state.json; each run's stream-json goes to
26
+ * ~/.synap/worker/<agent>/runs/<sessionId>.jsonl.
27
+ */
28
+ export interface WorkerOptions {
29
+ agent: string;
30
+ interval?: string;
31
+ once?: boolean;
32
+ cwd?: string;
33
+ maxParallel?: string;
34
+ claudeBin?: string;
35
+ claudeConfigDir?: string;
36
+ mcpServer?: string;
37
+ allowedTools?: string;
38
+ skipPermissions?: boolean;
39
+ dryRun?: boolean;
40
+ }
41
+ export interface HandedItem {
42
+ id: string;
43
+ goal: string | null;
44
+ }
45
+ export type RunStatus = "running" | "done" | "failed";
46
+ export interface RunRecord {
47
+ sessionId: string;
48
+ status: RunStatus;
49
+ startedAt: string;
50
+ finishedAt?: string;
51
+ pid?: number;
52
+ claudeSessionId?: string;
53
+ exitCode?: number | null;
54
+ result?: string;
55
+ /** How many times a room follow-up resumed this Claude conversation. */
56
+ resumes?: number;
57
+ }
58
+ interface WorkerState {
59
+ runs: Record<string, RunRecord>;
60
+ }
61
+ /** "30s" | "2m" | "1h" | "45" (seconds) → milliseconds. */
62
+ export declare function parseInterval(raw: string | undefined, fallbackMs?: number): number;
63
+ /**
64
+ * The pod hands this agent its work through a provider binding (reach
65
+ * `dispatch`), so it lists nothing to pull: a worker pulling for it would run
66
+ * the same work a second time. The worker stops on it.
67
+ */
68
+ export declare class AgentBoundForDispatchError extends Error {
69
+ constructor();
70
+ }
71
+ /**
72
+ * A person PAUSED this agent: it takes no new work until resumed. Not a failed
73
+ * read — the worker keeps polling and launches nothing.
74
+ */
75
+ export declare class AgentPausedError extends Error {
76
+ constructor();
77
+ }
78
+ /**
79
+ * Read `handedToYou` out of `synap_orient`'s text. A missing or `unavailable`
80
+ * block is a FAILED read and throws — never "nothing handed to me". A `bound`
81
+ * block throws `AgentBoundForDispatchError`.
82
+ */
83
+ export declare function parseHandedToYou(orientText: string): HandedItem[];
84
+ /** Sessions handed to the agent that this worker has not launched yet. */
85
+ export declare function pickNew(items: HandedItem[], state: WorkerState, slots: number): HandedItem[];
86
+ /**
87
+ * The MCP server name the local Claude Code uses for THIS pod: the entry in
88
+ * ~/.claude.json whose URL is `<podUrl>/mcp` (user or project scope).
89
+ */
90
+ export declare function findMcpServerName(claudeJson: unknown, podUrl: string): string | null;
91
+ export declare const DEFAULT_ALLOWED_TOOLS: string[];
92
+ /** The protocol the launched Claude Code follows for one handed session. */
93
+ export declare function buildWorkerPrompt(p: {
94
+ sessionId: string;
95
+ goal: string | null;
96
+ agentName: string;
97
+ cwd: string;
98
+ mcpServer: string;
99
+ }): string;
100
+ /** The launched environment: the subscription, never a stray API key. */
101
+ export declare function workerEnv(base: NodeJS.ProcessEnv, claudeConfigDir?: string): NodeJS.ProcessEnv;
102
+ /** The final `WORKER-RESULT:` line of a run's result text, if present. */
103
+ export declare function workerVerdict(resultText: string | undefined): string | undefined;
104
+ export interface RoomMessage {
105
+ id?: string;
106
+ content?: string;
107
+ timestamp?: string;
108
+ authorType?: string;
109
+ routedTeammateId?: string | null;
110
+ }
111
+ /** At most this many follow-up resumes per session (a runaway-loop guard). */
112
+ export declare const MAX_RESUMES = 20;
113
+ /**
114
+ * Room messages posted after `since` by anyone but this agent — the follow-ups
115
+ * (an orchestrator's ANSWER, the person's reply) that should resume a finished
116
+ * run. The worker's own posts carry its agent id and never resume it.
117
+ */
118
+ export declare function followUpsSince(messages: RoomMessage[], since: string, selfAgentId: string): RoomMessage[];
119
+ /** The prompt that resumes a finished run with the room's new messages. */
120
+ export declare function buildFollowUpPrompt(messages: RoomMessage[]): string;
121
+ export declare function workerCommand(opts: WorkerOptions): Promise<void>;
122
+ export {};