@intentic/sandbox-contract 1.325.0 → 1.327.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 (537) hide show
  1. package/README.md +24 -12
  2. package/dist/chores/chores.d.ts.map +1 -1
  3. package/dist/chores/chores.js +29 -20
  4. package/dist/chores/chores.js.map +1 -1
  5. package/dist/chores/probes.d.ts +1 -0
  6. package/dist/chores/probes.d.ts.map +1 -1
  7. package/dist/chores/probes.js +81 -12
  8. package/dist/chores/probes.js.map +1 -1
  9. package/dist/contracts/agent.contract.d.ts +1467 -6
  10. package/dist/contracts/agent.contract.d.ts.map +1 -1
  11. package/dist/contracts/agent.contract.js +2 -2
  12. package/dist/contracts/agent.contract.js.map +1 -1
  13. package/dist/contracts/agents.contract.d.ts +1391 -0
  14. package/dist/contracts/agents.contract.d.ts.map +1 -1
  15. package/dist/contracts/agents.contract.js +1 -1
  16. package/dist/contracts/automations.contract.d.ts +123 -4
  17. package/dist/contracts/automations.contract.d.ts.map +1 -1
  18. package/dist/contracts/automations.contract.js +13 -2
  19. package/dist/contracts/automations.contract.js.map +1 -1
  20. package/dist/contracts/capabilities.contract.d.ts +79 -8
  21. package/dist/contracts/capabilities.contract.d.ts.map +1 -1
  22. package/dist/contracts/chores.contract.d.ts +2 -0
  23. package/dist/contracts/chores.contract.d.ts.map +1 -1
  24. package/dist/contracts/ci.contract.d.ts +2 -0
  25. package/dist/contracts/ci.contract.d.ts.map +1 -1
  26. package/dist/contracts/device.contract.d.ts +52 -0
  27. package/dist/contracts/device.contract.d.ts.map +1 -1
  28. package/dist/contracts/device.contract.js +2 -0
  29. package/dist/contracts/device.contract.js.map +1 -1
  30. package/dist/contracts/endpoints.contract.d.ts +42 -33
  31. package/dist/contracts/endpoints.contract.d.ts.map +1 -1
  32. package/dist/contracts/endpoints.contract.js +17 -7
  33. package/dist/contracts/endpoints.contract.js.map +1 -1
  34. package/dist/contracts/extensions.contract.d.ts +192 -0
  35. package/dist/contracts/extensions.contract.d.ts.map +1 -1
  36. package/dist/contracts/extensions.contract.js +37 -1
  37. package/dist/contracts/extensions.contract.js.map +1 -1
  38. package/dist/contracts/needs.contract.d.ts +1009 -0
  39. package/dist/contracts/needs.contract.d.ts.map +1 -1
  40. package/dist/contracts/pages.contract.d.ts +34 -0
  41. package/dist/contracts/pages.contract.d.ts.map +1 -0
  42. package/dist/contracts/pages.contract.js +49 -0
  43. package/dist/contracts/pages.contract.js.map +1 -0
  44. package/dist/contracts/phone.contract.d.ts +78 -0
  45. package/dist/contracts/phone.contract.d.ts.map +1 -0
  46. package/dist/contracts/phone.contract.js +11 -0
  47. package/dist/contracts/phone.contract.js.map +1 -0
  48. package/dist/contracts/privacy.contract.d.ts +20 -0
  49. package/dist/contracts/privacy.contract.d.ts.map +1 -1
  50. package/dist/contracts/privacy.contract.js +12 -2
  51. package/dist/contracts/privacy.contract.js.map +1 -1
  52. package/dist/contracts/runner.contract.d.ts +648 -127
  53. package/dist/contracts/runner.contract.d.ts.map +1 -1
  54. package/dist/contracts/runner.contract.js +1 -1
  55. package/dist/contracts/runner.contract.js.map +1 -1
  56. package/dist/contracts/secrets.contract.d.ts +88 -0
  57. package/dist/contracts/secrets.contract.d.ts.map +1 -1
  58. package/dist/contracts/secrets.contract.js +20 -1
  59. package/dist/contracts/secrets.contract.js.map +1 -1
  60. package/dist/contracts/sessions.contract.d.ts +184 -0
  61. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  62. package/dist/contracts/settings.contract.d.ts +16 -58
  63. package/dist/contracts/settings.contract.d.ts.map +1 -1
  64. package/dist/contracts/settings.contract.js +10 -1
  65. package/dist/contracts/settings.contract.js.map +1 -1
  66. package/dist/contracts/system.contract.d.ts +227 -32
  67. package/dist/contracts/system.contract.d.ts.map +1 -1
  68. package/dist/contracts/system.contract.js +18 -1
  69. package/dist/contracts/system.contract.js.map +1 -1
  70. package/dist/documents/conversions.d.ts.map +1 -1
  71. package/dist/documents/conversions.js +2 -1
  72. package/dist/documents/conversions.js.map +1 -1
  73. package/dist/documents/read.d.ts.map +1 -1
  74. package/dist/documents/read.js +4 -4
  75. package/dist/documents/read.js.map +1 -1
  76. package/dist/events/agent-events.d.ts +747 -1
  77. package/dist/events/agent-events.d.ts.map +1 -1
  78. package/dist/events/agent-events.js +14 -1
  79. package/dist/events/agent-events.js.map +1 -1
  80. package/dist/events/requests.d.ts +40 -0
  81. package/dist/events/requests.d.ts.map +1 -1
  82. package/dist/events/requests.js +39 -0
  83. package/dist/events/requests.js.map +1 -1
  84. package/dist/events/system-events.d.ts +120 -0
  85. package/dist/events/system-events.d.ts.map +1 -1
  86. package/dist/events/transcript.d.ts +1131 -1
  87. package/dist/events/transcript.d.ts.map +1 -1
  88. package/dist/events/transcript.js +9 -1
  89. package/dist/events/transcript.js.map +1 -1
  90. package/dist/ids/hostnames.d.ts +2 -0
  91. package/dist/ids/hostnames.d.ts.map +1 -1
  92. package/dist/ids/hostnames.js +18 -15
  93. package/dist/ids/hostnames.js.map +1 -1
  94. package/dist/ids/sandbox-id.d.ts +2 -0
  95. package/dist/ids/sandbox-id.d.ts.map +1 -0
  96. package/dist/ids/sandbox-id.js +2 -0
  97. package/dist/ids/sandbox-id.js.map +1 -0
  98. package/dist/ids/tunnel-ids.d.ts +1 -1
  99. package/dist/ids/tunnel-ids.d.ts.map +1 -1
  100. package/dist/ids/tunnel-ids.js +1 -1
  101. package/dist/ids/tunnel-ids.js.map +1 -1
  102. package/dist/index.d.ts +4902 -177
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +25 -9
  105. package/dist/index.js.map +1 -1
  106. package/dist/models/agent-catalog.d.ts +0 -1
  107. package/dist/models/agent-catalog.d.ts.map +1 -1
  108. package/dist/models/agent-catalog.js +0 -1
  109. package/dist/models/agent-catalog.js.map +1 -1
  110. package/dist/models/agent-runtimes.d.ts +1 -1
  111. package/dist/models/agent-runtimes.d.ts.map +1 -1
  112. package/dist/models/agent-runtimes.js +1 -1
  113. package/dist/models/agent-runtimes.js.map +1 -1
  114. package/dist/models/provider-specs.d.ts +1 -0
  115. package/dist/models/provider-specs.d.ts.map +1 -1
  116. package/dist/models/provider-specs.js +11 -0
  117. package/dist/models/provider-specs.js.map +1 -1
  118. package/dist/netd/browser-wire.d.ts.map +1 -0
  119. package/dist/netd/browser-wire.js.map +1 -0
  120. package/dist/{front → netd}/generated/browser-wire.d.ts +8 -0
  121. package/dist/netd/generated/browser-wire.d.ts.map +1 -0
  122. package/dist/netd/generated/browser-wire.js.map +1 -0
  123. package/dist/{front → netd}/generated/wire.d.ts +20 -11
  124. package/dist/netd/generated/wire.d.ts.map +1 -0
  125. package/dist/{front → netd}/generated/wire.js.map +1 -1
  126. package/dist/netd/netd-wire.d.ts +9 -0
  127. package/dist/netd/netd-wire.d.ts.map +1 -0
  128. package/dist/netd/netd-wire.js +8 -0
  129. package/dist/netd/netd-wire.js.map +1 -0
  130. package/dist/policy/credential-material.d.ts +2 -0
  131. package/dist/policy/credential-material.d.ts.map +1 -1
  132. package/dist/policy/credential-material.js +14 -8
  133. package/dist/policy/credential-material.js.map +1 -1
  134. package/dist/policy/message-limits.d.ts +14 -0
  135. package/dist/policy/message-limits.d.ts.map +1 -0
  136. package/dist/policy/message-limits.js +15 -0
  137. package/dist/policy/message-limits.js.map +1 -0
  138. package/dist/policy/request-status.d.ts.map +1 -1
  139. package/dist/policy/request-status.js +9 -1
  140. package/dist/policy/request-status.js.map +1 -1
  141. package/dist/policy/reserved-servers.d.ts.map +1 -1
  142. package/dist/policy/reserved-servers.js +1 -0
  143. package/dist/policy/reserved-servers.js.map +1 -1
  144. package/dist/policy/turned-away.d.ts.map +1 -1
  145. package/dist/policy/turned-away.js +2 -0
  146. package/dist/policy/turned-away.js.map +1 -1
  147. package/dist/protocol/container-requirements.d.ts.map +1 -1
  148. package/dist/protocol/container-requirements.js +3 -4
  149. package/dist/protocol/container-requirements.js.map +1 -1
  150. package/dist/protocol/doors/host-protocol.d.ts.map +1 -0
  151. package/dist/protocol/doors/host-protocol.js.map +1 -0
  152. package/dist/protocol/{listener-protocol.d.ts → doors/listener-protocol.d.ts} +22 -0
  153. package/dist/protocol/doors/listener-protocol.d.ts.map +1 -0
  154. package/dist/protocol/doors/listener-protocol.js +38 -0
  155. package/dist/protocol/doors/listener-protocol.js.map +1 -0
  156. package/dist/protocol/doors/phone-links.d.ts +16 -0
  157. package/dist/protocol/doors/phone-links.d.ts.map +1 -0
  158. package/dist/protocol/doors/phone-links.js +28 -0
  159. package/dist/protocol/doors/phone-links.js.map +1 -0
  160. package/dist/protocol/doors/phone-protocol.d.ts +47 -0
  161. package/dist/protocol/doors/phone-protocol.d.ts.map +1 -0
  162. package/dist/protocol/doors/phone-protocol.js +33 -0
  163. package/dist/protocol/doors/phone-protocol.js.map +1 -0
  164. package/dist/protocol/doors/runner-protocol.d.ts.map +1 -0
  165. package/dist/protocol/{runner-protocol.js → doors/runner-protocol.js} +1 -1
  166. package/dist/protocol/doors/runner-protocol.js.map +1 -0
  167. package/dist/protocol/{webext-links.d.ts → doors/webext-links.d.ts} +1 -0
  168. package/dist/protocol/doors/webext-links.d.ts.map +1 -0
  169. package/dist/protocol/{webext-links.js → doors/webext-links.js} +1 -0
  170. package/dist/protocol/doors/webext-links.js.map +1 -0
  171. package/dist/protocol/doors/webext-protocol.d.ts.map +1 -0
  172. package/dist/protocol/doors/webext-protocol.js.map +1 -0
  173. package/dist/protocol/edge-verdict.d.ts +1 -1
  174. package/dist/protocol/edge-verdict.d.ts.map +1 -1
  175. package/dist/protocol/headers.d.ts +4 -0
  176. package/dist/protocol/headers.d.ts.map +1 -0
  177. package/dist/protocol/headers.js +4 -0
  178. package/dist/protocol/headers.js.map +1 -0
  179. package/dist/protocol/ingress-contract.d.ts +1 -1
  180. package/dist/protocol/ingress-contract.d.ts.map +1 -1
  181. package/dist/protocol/ingress-contract.js +1 -5
  182. package/dist/protocol/ingress-contract.js.map +1 -1
  183. package/dist/protocol/peer-dial.d.ts.map +1 -1
  184. package/dist/protocol/peer-dial.js +18 -36
  185. package/dist/protocol/peer-dial.js.map +1 -1
  186. package/dist/protocol/raw/extension-protocol.d.ts +47 -0
  187. package/dist/protocol/raw/extension-protocol.d.ts.map +1 -0
  188. package/dist/protocol/raw/extension-protocol.js +32 -0
  189. package/dist/protocol/raw/extension-protocol.js.map +1 -0
  190. package/dist/protocol/raw/raw-json-routes.d.ts +855 -0
  191. package/dist/protocol/raw/raw-json-routes.d.ts.map +1 -0
  192. package/dist/protocol/raw/raw-json-routes.js +28 -0
  193. package/dist/protocol/raw/raw-json-routes.js.map +1 -0
  194. package/dist/protocol/{raw-routes.d.ts → raw/raw-routes.d.ts} +50 -3
  195. package/dist/protocol/raw/raw-routes.d.ts.map +1 -0
  196. package/dist/protocol/{raw-routes.js → raw/raw-routes.js} +17 -3
  197. package/dist/protocol/raw/raw-routes.js.map +1 -0
  198. package/dist/protocol/raw/route-path.d.ts +3 -0
  199. package/dist/protocol/raw/route-path.d.ts.map +1 -0
  200. package/dist/protocol/raw/route-path.js +8 -0
  201. package/dist/protocol/raw/route-path.js.map +1 -0
  202. package/dist/protocol/route-meta.d.ts +1 -1
  203. package/dist/protocol/route-meta.d.ts.map +1 -1
  204. package/dist/protocol/routes.d.ts +1 -0
  205. package/dist/protocol/routes.d.ts.map +1 -1
  206. package/dist/protocol/routes.js +8 -0
  207. package/dist/protocol/routes.js.map +1 -1
  208. package/dist/protocol/sse.d.ts +2 -1
  209. package/dist/protocol/sse.d.ts.map +1 -1
  210. package/dist/protocol/sse.js +23 -12
  211. package/dist/protocol/sse.js.map +1 -1
  212. package/dist/protocol/tunnel-bulk.js +1 -1
  213. package/dist/protocol/tunnel-bulk.js.map +1 -1
  214. package/dist/protocol/vitals.d.ts +2 -1
  215. package/dist/protocol/vitals.d.ts.map +1 -1
  216. package/dist/protocol/vitals.js +1 -0
  217. package/dist/protocol/vitals.js.map +1 -1
  218. package/dist/schemas/activity.d.ts +1 -0
  219. package/dist/schemas/activity.d.ts.map +1 -1
  220. package/dist/schemas/activity.js.map +1 -1
  221. package/dist/schemas/agent.d.ts +6 -0
  222. package/dist/schemas/agent.d.ts.map +1 -1
  223. package/dist/schemas/agent.js +9 -4
  224. package/dist/schemas/agent.js.map +1 -1
  225. package/dist/schemas/agents-list.d.ts +404 -0
  226. package/dist/schemas/agents-list.d.ts.map +1 -0
  227. package/dist/schemas/agents-list.js +14 -0
  228. package/dist/schemas/agents-list.js.map +1 -0
  229. package/dist/schemas/agents.d.ts +203 -0
  230. package/dist/schemas/agents.d.ts.map +1 -1
  231. package/dist/schemas/agents.js +44 -0
  232. package/dist/schemas/agents.js.map +1 -1
  233. package/dist/schemas/automations.d.ts +235 -347
  234. package/dist/schemas/automations.d.ts.map +1 -1
  235. package/dist/schemas/automations.js +82 -13
  236. package/dist/schemas/automations.js.map +1 -1
  237. package/dist/schemas/capabilities.d.ts +43 -8
  238. package/dist/schemas/capabilities.d.ts.map +1 -1
  239. package/dist/schemas/capabilities.js +6 -2
  240. package/dist/schemas/capabilities.js.map +1 -1
  241. package/dist/schemas/ci.d.ts +4 -0
  242. package/dist/schemas/ci.d.ts.map +1 -1
  243. package/dist/schemas/ci.js +8 -0
  244. package/dist/schemas/ci.js.map +1 -1
  245. package/dist/schemas/devices.d.ts +67 -0
  246. package/dist/schemas/devices.d.ts.map +1 -1
  247. package/dist/schemas/devices.js +8 -0
  248. package/dist/schemas/devices.js.map +1 -1
  249. package/dist/schemas/engines.d.ts +57 -0
  250. package/dist/schemas/engines.d.ts.map +1 -1
  251. package/dist/schemas/engines.js +4 -0
  252. package/dist/schemas/engines.js.map +1 -1
  253. package/dist/schemas/extension-updates.d.ts +329 -0
  254. package/dist/schemas/extension-updates.d.ts.map +1 -1
  255. package/dist/schemas/extension-updates.js +68 -3
  256. package/dist/schemas/extension-updates.js.map +1 -1
  257. package/dist/schemas/git/git.d.ts +11 -0
  258. package/dist/schemas/git/git.d.ts.map +1 -1
  259. package/dist/schemas/git/git.js +4 -4
  260. package/dist/schemas/git/git.js.map +1 -1
  261. package/dist/schemas/history.d.ts +2 -0
  262. package/dist/schemas/history.d.ts.map +1 -1
  263. package/dist/schemas/history.js.map +1 -1
  264. package/dist/schemas/hosts.d.ts +74 -0
  265. package/dist/schemas/hosts.d.ts.map +1 -1
  266. package/dist/schemas/hosts.js +10 -1
  267. package/dist/schemas/hosts.js.map +1 -1
  268. package/dist/schemas/loopback-catch.d.ts +1 -0
  269. package/dist/schemas/loopback-catch.d.ts.map +1 -1
  270. package/dist/schemas/loopback-catch.js +1 -0
  271. package/dist/schemas/loopback-catch.js.map +1 -1
  272. package/dist/schemas/maintenance.d.ts +8 -0
  273. package/dist/schemas/maintenance.d.ts.map +1 -1
  274. package/dist/schemas/maintenance.js +6 -0
  275. package/dist/schemas/maintenance.js.map +1 -1
  276. package/dist/schemas/members.d.ts +58 -0
  277. package/dist/schemas/members.d.ts.map +1 -0
  278. package/dist/schemas/members.js +16 -0
  279. package/dist/schemas/members.js.map +1 -0
  280. package/dist/schemas/metrics.d.ts +10 -0
  281. package/dist/schemas/metrics.d.ts.map +1 -1
  282. package/dist/schemas/metrics.js +19 -3
  283. package/dist/schemas/metrics.js.map +1 -1
  284. package/dist/schemas/needs.d.ts +1159 -1
  285. package/dist/schemas/needs.d.ts.map +1 -1
  286. package/dist/schemas/needs.js +25 -3
  287. package/dist/schemas/needs.js.map +1 -1
  288. package/dist/schemas/offload.js +1 -1
  289. package/dist/schemas/offload.js.map +1 -1
  290. package/dist/schemas/peer-enrollment.d.ts +7 -0
  291. package/dist/schemas/peer-enrollment.d.ts.map +1 -0
  292. package/dist/schemas/peer-enrollment.js +6 -0
  293. package/dist/schemas/peer-enrollment.js.map +1 -0
  294. package/dist/schemas/phone.d.ts +231 -0
  295. package/dist/schemas/phone.d.ts.map +1 -0
  296. package/dist/schemas/phone.js +57 -0
  297. package/dist/schemas/phone.js.map +1 -0
  298. package/dist/schemas/privacy.d.ts +41 -0
  299. package/dist/schemas/privacy.d.ts.map +1 -1
  300. package/dist/schemas/privacy.js +20 -3
  301. package/dist/schemas/privacy.js.map +1 -1
  302. package/dist/schemas/project-delivery.d.ts +94 -0
  303. package/dist/schemas/project-delivery.d.ts.map +1 -0
  304. package/dist/schemas/project-delivery.js +35 -0
  305. package/dist/schemas/project-delivery.js.map +1 -0
  306. package/dist/schemas/providers/plan-limits.d.ts +7 -0
  307. package/dist/schemas/providers/plan-limits.d.ts.map +1 -1
  308. package/dist/schemas/providers/plan-limits.js +22 -1
  309. package/dist/schemas/providers/plan-limits.js.map +1 -1
  310. package/dist/schemas/providers/usage.d.ts +1 -2
  311. package/dist/schemas/providers/usage.d.ts.map +1 -1
  312. package/dist/schemas/providers/usage.js +1 -2
  313. package/dist/schemas/providers/usage.js.map +1 -1
  314. package/dist/schemas/push.d.ts +1 -0
  315. package/dist/schemas/push.d.ts.map +1 -1
  316. package/dist/schemas/push.js.map +1 -1
  317. package/dist/schemas/secrets.d.ts +99 -0
  318. package/dist/schemas/secrets.d.ts.map +1 -1
  319. package/dist/schemas/secrets.js +34 -3
  320. package/dist/schemas/secrets.js.map +1 -1
  321. package/dist/schemas/settings-history.d.ts +1 -1
  322. package/dist/schemas/settings-history.d.ts.map +1 -1
  323. package/dist/schemas/settings-history.js +1 -0
  324. package/dist/schemas/settings-history.js.map +1 -1
  325. package/dist/schemas/settings.d.ts +13 -58
  326. package/dist/schemas/settings.d.ts.map +1 -1
  327. package/dist/schemas/settings.js +8 -13
  328. package/dist/schemas/settings.js.map +1 -1
  329. package/dist/schemas/terminal.d.ts +32 -0
  330. package/dist/schemas/terminal.d.ts.map +1 -1
  331. package/dist/schemas/terminal.js +37 -0
  332. package/dist/schemas/terminal.js.map +1 -1
  333. package/dist/schemas/updates.d.ts +1 -0
  334. package/dist/schemas/updates.d.ts.map +1 -1
  335. package/dist/schemas/updates.js +4 -0
  336. package/dist/schemas/updates.js.map +1 -1
  337. package/dist/schemas/workspace/workspace-search.d.ts +1 -0
  338. package/dist/schemas/workspace/workspace-search.d.ts.map +1 -1
  339. package/dist/schemas/workspace/workspace-search.js.map +1 -1
  340. package/dist/schemas/workspace/workspace-tree.d.ts +3 -0
  341. package/dist/schemas/workspace/workspace-tree.d.ts.map +1 -1
  342. package/dist/schemas/workspace/workspace-tree.js +22 -5
  343. package/dist/schemas/workspace/workspace-tree.js.map +1 -1
  344. package/dist/state/arrival.d.ts +59 -0
  345. package/dist/state/arrival.d.ts.map +1 -1
  346. package/dist/state/arrival.js +17 -0
  347. package/dist/state/arrival.js.map +1 -1
  348. package/dist/state/contract-lock.js +2 -2
  349. package/dist/state/contract-lock.js.map +1 -1
  350. package/dist/state/definition.d.ts +82 -16
  351. package/dist/state/definition.d.ts.map +1 -1
  352. package/dist/state/history-state.d.ts.map +1 -1
  353. package/dist/state/history-state.js +38 -0
  354. package/dist/state/history-state.js.map +1 -1
  355. package/dist/state/runtime-state.d.ts +6 -0
  356. package/dist/state/runtime-state.d.ts.map +1 -1
  357. package/dist/state/runtime-state.js +2 -0
  358. package/dist/state/runtime-state.js.map +1 -1
  359. package/dist/state/workspace-state.d.ts +24 -6
  360. package/dist/state/workspace-state.d.ts.map +1 -1
  361. package/dist/state/workspace-state.js +29 -7
  362. package/dist/state/workspace-state.js.map +1 -1
  363. package/dist/text/embed.d.ts +10 -0
  364. package/dist/text/embed.d.ts.map +1 -1
  365. package/dist/text/embed.js +25 -0
  366. package/dist/text/embed.js.map +1 -1
  367. package/dist/text/pages.d.ts +53 -0
  368. package/dist/text/pages.d.ts.map +1 -0
  369. package/dist/text/pages.js +230 -0
  370. package/dist/text/pages.js.map +1 -0
  371. package/dist/text/transcript-fold.d.ts +1 -0
  372. package/dist/text/transcript-fold.d.ts.map +1 -1
  373. package/dist/text/transcript-fold.js +30 -2
  374. package/dist/text/transcript-fold.js.map +1 -1
  375. package/dist/webext/index.d.ts +3 -2
  376. package/dist/webext/index.d.ts.map +1 -1
  377. package/dist/webext/index.js +3 -2
  378. package/dist/webext/index.js.map +1 -1
  379. package/package.json +77 -22
  380. package/src/chores/chores.ts +41 -21
  381. package/src/chores/{probes.test.ts → probes.integration.test.ts} +134 -1
  382. package/src/chores/probes.ts +128 -14
  383. package/src/chores/verdict.test.ts +29 -0
  384. package/src/contracts/agent.contract.ts +2 -2
  385. package/src/contracts/agents.contract.ts +1 -1
  386. package/src/contracts/automations.contract.ts +19 -1
  387. package/src/contracts/device.contract.ts +5 -0
  388. package/src/contracts/endpoints.contract.ts +32 -26
  389. package/src/contracts/extensions.contract.ts +49 -0
  390. package/src/contracts/pages.contract.ts +61 -0
  391. package/src/contracts/phone.contract.ts +21 -0
  392. package/src/contracts/privacy.contract.ts +13 -1
  393. package/src/contracts/runner.contract.ts +1 -1
  394. package/src/contracts/secrets.contract.ts +25 -0
  395. package/src/contracts/settings.contract.ts +10 -0
  396. package/src/contracts/system.contract.ts +26 -0
  397. package/src/documents/conversions.ts +3 -1
  398. package/src/documents/read.ts +4 -5
  399. package/src/events/agent-events.ts +27 -3
  400. package/src/events/requests.ts +47 -0
  401. package/src/events/transcript.ts +14 -0
  402. package/src/ids/hostnames.fixture.json +14 -10
  403. package/src/ids/hostnames.test.ts +21 -2
  404. package/src/ids/hostnames.ts +34 -15
  405. package/src/ids/sandbox-id.ts +3 -0
  406. package/src/ids/tunnel-ids.ts +1 -2
  407. package/src/index.ts +29 -12
  408. package/src/models/agent-catalog.ts +1 -2
  409. package/src/models/agent-runtimes.ts +12 -6
  410. package/src/models/provider-specs.test.ts +12 -0
  411. package/src/models/provider-specs.ts +16 -0
  412. package/src/{front → netd}/browser-wire.ts +1 -1
  413. package/src/{front → netd}/generated/browser-wire.json +80 -7
  414. package/src/{front → netd}/generated/browser-wire.ts +34 -7
  415. package/src/{front/generated/front-wire.json → netd/generated/netd-wire.json} +103 -41
  416. package/src/{front → netd}/generated/tunnel.json +15 -1
  417. package/src/{front → netd}/generated/wire.ts +26 -21
  418. package/src/netd/netd-wire.ts +24 -0
  419. package/src/{front → netd}/wire-manifests.test.ts +31 -11
  420. package/src/policy/credential-material.ts +39 -11
  421. package/src/policy/message-limits.ts +25 -0
  422. package/src/policy/request-status.ts +10 -1
  423. package/src/policy/reserved-servers.ts +3 -2
  424. package/src/policy/tests/credential-material.test.ts +49 -1
  425. package/src/policy/tests/message-limits.test.ts +27 -0
  426. package/src/policy/tests/reserved-servers.test.ts +3 -3
  427. package/src/policy/turned-away.ts +5 -1
  428. package/src/protocol/container-requirements.ts +4 -5
  429. package/src/protocol/{listener-protocol.ts → doors/listener-protocol.ts} +37 -15
  430. package/src/protocol/doors/phone-links.ts +50 -0
  431. package/src/protocol/doors/phone-protocol.test.ts +136 -0
  432. package/src/protocol/doors/phone-protocol.ts +71 -0
  433. package/src/protocol/{runner-protocol.ts → doors/runner-protocol.ts} +1 -1
  434. package/src/protocol/{webext-links.ts → doors/webext-links.ts} +4 -0
  435. package/src/protocol/edge-verdict.ts +1 -1
  436. package/src/protocol/headers.ts +14 -0
  437. package/src/protocol/ingress-contract.ts +6 -10
  438. package/src/protocol/peer-dial.test.ts +83 -4
  439. package/src/protocol/peer-dial.ts +33 -40
  440. package/src/protocol/raw/extension-protocol.ts +59 -0
  441. package/src/protocol/raw/raw-json-routes.ts +61 -0
  442. package/src/protocol/{raw-routes.ts → raw/raw-routes.ts} +40 -7
  443. package/src/protocol/raw/route-path.ts +13 -0
  444. package/src/protocol/route-meta.ts +4 -4
  445. package/src/protocol/routes.ts +12 -0
  446. package/src/protocol/sse.test.ts +49 -0
  447. package/src/protocol/sse.ts +29 -14
  448. package/src/protocol/tunnel-bulk.test.ts +1 -1
  449. package/src/protocol/tunnel-bulk.ts +2 -2
  450. package/src/protocol/vitals.test.ts +7 -7
  451. package/src/protocol/vitals.ts +12 -7
  452. package/src/schemas/activity.ts +1 -0
  453. package/src/schemas/agent.ts +11 -4
  454. package/src/schemas/agents-list.ts +24 -0
  455. package/src/schemas/agents.ts +71 -2
  456. package/src/schemas/automations.ts +126 -24
  457. package/src/schemas/capabilities.ts +13 -3
  458. package/src/schemas/ci.ts +10 -0
  459. package/src/schemas/devices.ts +24 -0
  460. package/src/schemas/engines.ts +7 -0
  461. package/src/schemas/extension-updates.ts +93 -3
  462. package/src/schemas/git/git.ts +15 -4
  463. package/src/schemas/history.ts +2 -0
  464. package/src/schemas/hosts.ts +23 -1
  465. package/src/schemas/loopback-catch.ts +6 -1
  466. package/src/schemas/maintenance.ts +9 -0
  467. package/src/schemas/members.ts +33 -0
  468. package/src/schemas/metrics.ts +21 -3
  469. package/src/schemas/needs.ts +36 -3
  470. package/src/schemas/offload.ts +1 -1
  471. package/src/schemas/peer-enrollment.ts +14 -0
  472. package/src/schemas/phone.ts +121 -0
  473. package/src/schemas/privacy.ts +36 -7
  474. package/src/schemas/project-delivery.ts +78 -0
  475. package/src/schemas/providers/plan-limits.ts +27 -3
  476. package/src/schemas/providers/usage.ts +3 -3
  477. package/src/schemas/push.ts +1 -0
  478. package/src/schemas/secrets.ts +54 -3
  479. package/src/schemas/settings-history.ts +2 -0
  480. package/src/schemas/settings.ts +20 -22
  481. package/src/schemas/terminal.ts +50 -0
  482. package/src/schemas/updates.test.ts +47 -0
  483. package/src/schemas/updates.ts +4 -0
  484. package/src/schemas/workspace/workspace-search.ts +2 -0
  485. package/src/schemas/workspace/workspace-tree.ts +40 -12
  486. package/src/state/arrival.ts +40 -0
  487. package/src/state/contract-lock.test.ts +1 -1
  488. package/src/state/contract-lock.ts +5 -5
  489. package/src/state/history-state.ts +72 -1
  490. package/src/state/runtime-state.ts +4 -0
  491. package/src/state/workspace-state.ts +65 -20
  492. package/src/text/embed.test.ts +21 -1
  493. package/src/text/embed.ts +50 -3
  494. package/src/text/pages.test.ts +161 -0
  495. package/src/text/pages.ts +344 -0
  496. package/src/text/transcript-fold.test.ts +22 -0
  497. package/src/text/transcript-fold.ts +41 -2
  498. package/src/webext/index.ts +3 -2
  499. package/dist/front/browser-wire.d.ts.map +0 -1
  500. package/dist/front/browser-wire.js.map +0 -1
  501. package/dist/front/front-wire.d.ts +0 -6
  502. package/dist/front/front-wire.d.ts.map +0 -1
  503. package/dist/front/front-wire.js +0 -5
  504. package/dist/front/front-wire.js.map +0 -1
  505. package/dist/front/generated/browser-wire.d.ts.map +0 -1
  506. package/dist/front/generated/browser-wire.js.map +0 -1
  507. package/dist/front/generated/wire.d.ts.map +0 -1
  508. package/dist/protocol/host-protocol.d.ts.map +0 -1
  509. package/dist/protocol/host-protocol.js.map +0 -1
  510. package/dist/protocol/listener-protocol.d.ts.map +0 -1
  511. package/dist/protocol/listener-protocol.js +0 -33
  512. package/dist/protocol/listener-protocol.js.map +0 -1
  513. package/dist/protocol/raw-routes.d.ts.map +0 -1
  514. package/dist/protocol/raw-routes.js.map +0 -1
  515. package/dist/protocol/request-id.d.ts +0 -2
  516. package/dist/protocol/request-id.d.ts.map +0 -1
  517. package/dist/protocol/request-id.js +0 -2
  518. package/dist/protocol/request-id.js.map +0 -1
  519. package/dist/protocol/runner-protocol.d.ts.map +0 -1
  520. package/dist/protocol/runner-protocol.js.map +0 -1
  521. package/dist/protocol/webext-links.d.ts.map +0 -1
  522. package/dist/protocol/webext-links.js.map +0 -1
  523. package/dist/protocol/webext-protocol.d.ts.map +0 -1
  524. package/dist/protocol/webext-protocol.js.map +0 -1
  525. package/src/front/front-wire.ts +0 -15
  526. package/src/protocol/request-id.ts +0 -2
  527. /package/dist/{front → netd}/browser-wire.d.ts +0 -0
  528. /package/dist/{front → netd}/browser-wire.js +0 -0
  529. /package/dist/{front → netd}/generated/browser-wire.js +0 -0
  530. /package/dist/{front → netd}/generated/wire.js +0 -0
  531. /package/dist/protocol/{host-protocol.d.ts → doors/host-protocol.d.ts} +0 -0
  532. /package/dist/protocol/{host-protocol.js → doors/host-protocol.js} +0 -0
  533. /package/dist/protocol/{runner-protocol.d.ts → doors/runner-protocol.d.ts} +0 -0
  534. /package/dist/protocol/{webext-protocol.d.ts → doors/webext-protocol.d.ts} +0 -0
  535. /package/dist/protocol/{webext-protocol.js → doors/webext-protocol.js} +0 -0
  536. /package/src/protocol/{host-protocol.ts → doors/host-protocol.ts} +0 -0
  537. /package/src/protocol/{webext-protocol.ts → doors/webext-protocol.ts} +0 -0
@@ -0,0 +1,344 @@
1
+ // What a page the agent shows in the chat is sealed and styled with, spelled once for both places that draw one: the
2
+ // daemon's headless check (agent/pages/page-check.ts), which lays the page out the way the chat will, and the chat's
3
+ // own frame (the editor's chat/transcript/pages). A page runs its scripts in a frame with an opaque origin and no
4
+ // network: the policy below is the whole of what it may load, and the bootstrap is the whole of what it may say.
5
+
6
+ // Everything a sealed page may load is already inside it: its own inline scripts and styles, and pictures, fonts and
7
+ // media carried in as data. Nothing reaches the network, another frame, or a form target.
8
+ export const SEALED_PAGE_POLICY = [
9
+ `default-src 'none'`,
10
+ // Inline only, which is every script a sealed document can hold. Eval gives nothing more to a frame that can reach
11
+ // nothing.
12
+ `script-src 'unsafe-inline' 'unsafe-eval'`,
13
+ `style-src 'unsafe-inline'`,
14
+ `img-src data: blob:`,
15
+ `font-src data:`,
16
+ `media-src data: blob:`,
17
+ `connect-src 'none'`,
18
+ `frame-src 'none'`,
19
+ `worker-src 'none'`,
20
+ `object-src 'none'`,
21
+ `form-action 'none'`,
22
+ `base-uri 'none'`,
23
+ `manifest-src 'none'`,
24
+ ].join(`; `);
25
+
26
+ // The bridge between a page and the chat around it speaks the MCP Apps extension's own JSON-RPC over postMessage
27
+ // (io.modelcontextprotocol/ui), so one host serves both the agent's pages and an MCP server's app. `submit` is this
28
+ // product's own: the answer an `ask_page` page sends back.
29
+ export const PAGE_BRIDGE = {
30
+ initialize: `ui/initialize`,
31
+ toolsCall: `tools/call`,
32
+ updateModelContext: `ui/update-model-context`,
33
+ requestDisplayMode: `ui/request-display-mode`,
34
+ initialized: `ui/notifications/initialized`,
35
+ sizeChanged: `ui/notifications/size-changed`,
36
+ hostContextChanged: `ui/notifications/host-context-changed`,
37
+ toolInput: `ui/notifications/tool-input`,
38
+ toolResult: `ui/notifications/tool-result`,
39
+ openLink: `ui/open-link`,
40
+ message: `ui/message`,
41
+ submit: `intentic/submit`,
42
+ // An uncaught error in the page's own scripts, told as it happens: the chat hands it to the agent that showed the
43
+ // page while its turn still runs, and offers the reader the ask afterwards.
44
+ error: `intentic/page-error`,
45
+ } as const;
46
+
47
+ // How many distinct errors a page tells, and how long each may be: enough to fix it by, never a flood.
48
+ export const PAGE_ERRORS_MAX = 10;
49
+ export const PAGE_ERROR_CHARS = 600;
50
+
51
+ // The width the chat's reply column usually is, which the check lays a page out at and measures it by.
52
+ export const PAGE_COLUMN_WIDTH = 720;
53
+
54
+ export type PageAppearance = "dark" | "light";
55
+
56
+ // The variables a page styles against, as the chat resolves them from its own look (and follows it as it changes).
57
+ export const PAGE_THEME_VARIABLES = [
58
+ `--background`,
59
+ `--foreground`,
60
+ `--card`,
61
+ `--card-foreground`,
62
+ `--muted`,
63
+ `--muted-foreground`,
64
+ `--border`,
65
+ `--input`,
66
+ `--ring`,
67
+ `--primary`,
68
+ `--primary-foreground`,
69
+ `--accent`,
70
+ `--accent-foreground`,
71
+ `--success`,
72
+ `--warning`,
73
+ `--danger`,
74
+ `--info`,
75
+ `--chart-1`,
76
+ `--chart-2`,
77
+ `--chart-3`,
78
+ `--chart-4`,
79
+ `--chart-5`,
80
+ `--code-background`,
81
+ `--radius`,
82
+ `--font-sans`,
83
+ `--font-mono`,
84
+ ] as const;
85
+ export type PageThemeVariable = (typeof PAGE_THEME_VARIABLES)[number];
86
+
87
+ export interface PageTheme {
88
+ readonly appearance: PageAppearance;
89
+ readonly variables: Readonly<Record<PageThemeVariable, string>>;
90
+ }
91
+
92
+ const FONTS = {
93
+ "--font-sans": `"Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif`,
94
+ "--font-mono": `"JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace`,
95
+ "--radius": `8px`,
96
+ } as const;
97
+
98
+ // The chat's two looks as fixed colours, close to the editor's own warm roles: what a page wears where nothing live can
99
+ // say (the daemon's headless check, a page opened on its own), and what the chat starts from before it reads its own.
100
+ export const PAGE_FALLBACK_THEMES: Readonly<Record<PageAppearance, PageTheme>> = {
101
+ dark: {
102
+ appearance: `dark`,
103
+ variables: {
104
+ "--background": `#14110e`,
105
+ "--foreground": `#e9e1d3`,
106
+ "--card": `#1d1915`,
107
+ "--card-foreground": `#e9e1d3`,
108
+ "--muted": `#2a241e`,
109
+ "--muted-foreground": `#a59885`,
110
+ "--border": `#2e2822`,
111
+ "--input": `#3a332b`,
112
+ "--ring": `#e2a65a`,
113
+ "--primary": `#e2a65a`,
114
+ "--primary-foreground": `#1a140e`,
115
+ "--accent": `#e2a65a`,
116
+ "--accent-foreground": `#1a140e`,
117
+ "--success": `#4fbf7a`,
118
+ "--warning": `#e3b341`,
119
+ "--danger": `#ef7a62`,
120
+ "--info": `#6aa8ef`,
121
+ "--chart-1": `#e2a65a`,
122
+ "--chart-2": `#5fb3a8`,
123
+ "--chart-3": `#a98be6`,
124
+ "--chart-4": `#ef7a8a`,
125
+ "--chart-5": `#9cc75a`,
126
+ "--code-background": `#1d1915`,
127
+ ...FONTS,
128
+ },
129
+ },
130
+ light: {
131
+ appearance: `light`,
132
+ variables: {
133
+ "--background": `#f4efe7`,
134
+ "--foreground": `#2b2119`,
135
+ "--card": `#fdfaf5`,
136
+ "--card-foreground": `#2b2119`,
137
+ "--muted": `#ece5da`,
138
+ "--muted-foreground": `#6b5c4d`,
139
+ "--border": `#e2d9cc`,
140
+ "--input": `#d6cbbb`,
141
+ "--ring": `#a3591a`,
142
+ "--primary": `#b8651d`,
143
+ "--primary-foreground": `#ffffff`,
144
+ "--accent": `#a3591a`,
145
+ "--accent-foreground": `#ffffff`,
146
+ "--success": `#1f7a43`,
147
+ "--warning": `#8a5a00`,
148
+ "--danger": `#b42f1e`,
149
+ "--info": `#1f5fa8`,
150
+ "--chart-1": `#b8651d`,
151
+ "--chart-2": `#1f8a7e`,
152
+ "--chart-3": `#6e4fc2`,
153
+ "--chart-4": `#c2405a`,
154
+ "--chart-5": `#5a8a1f`,
155
+ "--code-background": `#f7f2ea`,
156
+ ...FONTS,
157
+ },
158
+ },
159
+ };
160
+
161
+ // What a tool description tells the agent about the variables, spelled from the list above.
162
+ export const PAGE_THEME_GUIDE =
163
+ `The chat hands the page its live theme as CSS custom properties on :root, and they follow the reader's light/dark ` +
164
+ `switch while the page is open: ${PAGE_THEME_VARIABLES.join(`, `)}. --background is the conversation's own ` +
165
+ `background; --chart-1 … --chart-5 are a categorical series that reads in both looks. Style with these instead of ` +
166
+ `fixed colours, so the page looks like part of the chat in either look. CSS and SVG styled with var(--…) follow a ` +
167
+ `switch by themselves; a canvas, or a chart library handed colours as values, does not: read them with ` +
168
+ `getComputedStyle(document.documentElement) and draw again on the document's \`intentic:theme\` event.`;
169
+
170
+ // How a page sits in a reply, for the same description.
171
+ export const PAGE_LAYOUT_GUIDE =
172
+ `The page is drawn inline in the reply column (about ${PAGE_COLUMN_WIDTH}px wide on a desktop, about 360px on a phone), ` +
173
+ `borderless, on the conversation's own background: leave html and body without a background, use a fluid width, and ` +
174
+ `add no outer card, border or page title of your own, since the page is part of your reply. Let the content set the ` +
175
+ `height (no 100vh on html or body): the frame grows to fit. Give charts fixed pixel heights. Size anything you draw ` +
176
+ `from its container's width when you draw it, and draw again when that width changes (a ResizeObserver on the ` +
177
+ `container): the column narrows on a phone and when a side panel opens, so a width read once at load goes stale.`;
178
+
179
+ // The base every page starts from: the theme's colours and fonts (native controls in the accent too), no margin, no
180
+ // scrollbar (the frame fits the page).
181
+ // `canvas` paints the page's own background, for where there is no conversation behind it (a check, a download).
182
+ const baseCss = (canvas: boolean): string =>
183
+ `html{${canvas ? `background:var(--background);` : `background:transparent;`}color:var(--foreground);font-family:var(--font-sans);` +
184
+ `font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;scrollbar-width:none;accent-color:var(--primary)}` +
185
+ `html::-webkit-scrollbar{display:none}body{margin:0}code,kbd,pre,samp{font-family:var(--font-mono)}`;
186
+
187
+ // The theme as one `:root` rule; a value can hold nothing that ends the rule.
188
+ export const pageThemeCss = (theme: PageTheme, canvas = false): string =>
189
+ `:root{color-scheme:${theme.appearance};${PAGE_THEME_VARIABLES.map((name) => `${name}:${theme.variables[name].replace(/[;{}<>]/g, ``)};`).join(``)}}${baseCss(canvas)}`;
190
+
191
+ // The page's half of the bridge, run first in its head: the theme it starts in and every change the chat posts, the
192
+ // height it needs whenever that changes, and `window.intentic` for the page's own scripts (submit an answer, send the
193
+ // chat a message, open a link). Every request is answered by the chat, which alone decides whether to act on it.
194
+ const bootstrapScript = (canvas: boolean): string => `(function(){
195
+ var style=document.getElementById("intentic-theme"),n=0,pending={},theme=null,canvas=${canvas ? `true` : `false`};
196
+ var names=${JSON.stringify(PAGE_THEME_VARIABLES)};
197
+ function apply(t){if(!t||typeof t!=="object"||!t.variables)return;var c=":root{color-scheme:"+(t.appearance==="light"?"light":"dark")+";";for(var i=0;i<names.length;i++){var v=t.variables[names[i]];if(typeof v==="string")c+=names[i]+":"+v.replace(/[;{}<>]/g,"")+";";}c+="}";if(style)style.textContent=c+${JSON.stringify(baseCss(false))}.replace("background:transparent;",canvas?"background:var(--background);":"background:transparent;");theme={appearance:t.appearance==="light"?"light":"dark",variables:t.variables};document.dispatchEvent(new CustomEvent("intentic:theme",{detail:theme}));}
198
+ var framed=window.parent!==window;
199
+ function post(m){if(framed)window.parent.postMessage(m,"*");}
200
+ var told={},faults=0;function fault(t){t=String(t).slice(0,${PAGE_ERROR_CHARS});if(told[t]||faults>=${PAGE_ERRORS_MAX})return;told[t]=1;faults++;post({jsonrpc:"2.0",method:${JSON.stringify(PAGE_BRIDGE.error)},params:{message:t}});}
201
+ function said(x,fallback){return x&&typeof x.stack==="string"?x.stack.split("\\n").slice(0,2).map(function(l){return l.trim();}).join(" "):fallback;}
202
+ window.addEventListener("error",function(e){if(e instanceof ErrorEvent)fault(said(e.error,(e.message||"Script error")+(e.lineno?" (line "+e.lineno+")":"")));});
203
+ window.addEventListener("unhandledrejection",function(e){fault("Unhandled rejection: "+said(e.reason,String(e.reason)));});
204
+ function request(method,params){return new Promise(function(resolve,reject){if(!framed){reject(new Error("This page is not inside a chat."));return;}var id="intentic-"+(++n);pending[id]={resolve:resolve,reject:reject};post({jsonrpc:"2.0",id:id,method:method,params:params});});}
205
+ window.addEventListener("message",function(e){if(e.source!==window.parent)return;var d=e.data;if(!d||d.jsonrpc!=="2.0")return;if(d.method===${JSON.stringify(PAGE_BRIDGE.hostContextChanged)}&&d.params){apply({appearance:d.params.theme,variables:d.params.styles&&d.params.styles.variables});return;}if(d.id!==undefined&&pending[d.id]){var p=pending[d.id];delete pending[d.id];if(d.error)p.reject(new Error(String(d.error.message||"Refused")));else p.resolve(d.result);}});
206
+ if(framed){var h=-1,z=function(){var r=document.documentElement,b=document.body,v=Math.ceil(Math.max(r.scrollHeight>r.clientHeight?r.scrollHeight:r.getBoundingClientRect().height,b?b.getBoundingClientRect().bottom:0));if(v===h||v<=0)return;h=v;post({jsonrpc:"2.0",method:${JSON.stringify(PAGE_BRIDGE.sizeChanged)},params:{height:v}});};if(window.ResizeObserver){var o=new ResizeObserver(z);o.observe(document.documentElement);document.addEventListener("DOMContentLoaded",function(){if(document.body)o.observe(document.body);z();});}window.addEventListener("load",z);setTimeout(z,50);}
207
+ window.intentic={
208
+ submit:function(value){return request(${JSON.stringify(PAGE_BRIDGE.submit)},{value:value===undefined?null:JSON.parse(JSON.stringify(value))});},
209
+ send:function(text){return request(${JSON.stringify(PAGE_BRIDGE.message)},{role:"user",content:[{type:"text",text:String(text)}]});},
210
+ openLink:function(url){return request(${JSON.stringify(PAGE_BRIDGE.openLink)},{url:String(url)});},
211
+ get theme(){return theme;}
212
+ };
213
+ })();`;
214
+
215
+ // The page's head opening: its theme, then the bootstrap, ahead of anything the page writes itself, so the first paint
216
+ // already wears the theme and a page's own `:root` rules still win.
217
+ export const pageHead = (theme: PageTheme, options: { readonly canvas?: boolean } = {}): string => {
218
+ const canvas = options.canvas === true;
219
+ return (
220
+ `<style id="intentic-theme">${pageThemeCss(theme, canvas)}</style>` +
221
+ // The bootstrap, holding the theme it starts from as `intentic.theme`; `<` escaped so the JSON cannot end the script.
222
+ `<script>${bootstrapScript(canvas).replace(`theme=null`, `theme=${JSON.stringify(theme).replace(/</g, `\\u003c`)}`)}</script>`
223
+ );
224
+ };
225
+
226
+ // A sandboxed frame has an opaque origin, so it often runs in a process of its own and learns its size a beat after its
227
+ // document starts: through parse, DOMContentLoaded and load it is 0×0, and a page that measures itself as it loads (a
228
+ // chart sizing its SVG from clientWidth) draws into nothing and stays that way. Knowing its width is not enough either:
229
+ // until the frame's first rendering pass, innerWidth can already say 720 while every box still measures 0 (Chromium
230
+ // did so in about half of a few dozen runs, in-process frames included). So this shell holds the page until the frame
231
+ // has rendered at a width (its first resize, or the first animation frame that finds one), then writes it into itself,
232
+ // so the page's first script already sees the size it is drawn at. Only for a frame that runs scripts: in one that does
233
+ // not, the shell would be all there is. The chat's frame and the file viewer draw a page through it, and the daemon's
234
+ // check lays one out through it, so all three see the same start.
235
+ export const sizedFirst = (html: string): string =>
236
+ `<!DOCTYPE html><script>(function(){var page=${JSON.stringify(html).replace(/</g, `\\u003c`)},done=false;` +
237
+ `function go(){if(done||window.innerWidth===0)return;done=true;removeEventListener("resize",go);` +
238
+ `document.open();document.write(page);document.close();}addEventListener("resize",go);` +
239
+ `function frame(){if(!done){go();if(!done)requestAnimationFrame(frame);}}requestAnimationFrame(frame);})()</script>`;
240
+
241
+ // Where in a document its head's contents begin: just inside `<head>`, else a head made for it. Only the opening of the
242
+ // document is scanned, and a comment or script holding something tag-shaped there is skipped over.
243
+ const HEAD_OPEN = /<head(?:\s[^>]*)?>/i;
244
+ const HTML_OPEN = /<html(?:\s[^>]*)?>/i;
245
+ const DOCTYPE = /^\s*<!doctype[^>]*>/i;
246
+
247
+ // Blanks comments and raw-text elements to the same length, so a tag written inside one is never taken for the real one.
248
+ const blanked = (html: string): string =>
249
+ html.replace(/<!--[\s\S]*?(?:-->|$)|<(script|style|textarea|title|template|noscript)\b[\s\S]*?(?:<\/\1\s*>|$)/gi, (match) => ` `.repeat(match.length));
250
+
251
+ // `inner` placed first inside the document's head, making the head (and the html) where the page wrote none.
252
+ export const intoHead = (html: string, inner: string): string => {
253
+ const scan = blanked(html);
254
+ const head = HEAD_OPEN.exec(scan);
255
+ if (head !== null) {
256
+ const at = head.index + head[0].length;
257
+ return html.slice(0, at) + inner + html.slice(at);
258
+ }
259
+ const root = HTML_OPEN.exec(scan);
260
+ if (root !== null) {
261
+ const at = root.index + root[0].length;
262
+ return `${html.slice(0, at)}<head>${inner}</head>${html.slice(at)}`;
263
+ }
264
+ const doctype = DOCTYPE.exec(html);
265
+ if (doctype !== null) {
266
+ const at = doctype[0].length;
267
+ return `${html.slice(0, at)}<head>${inner}</head>${html.slice(at)}`;
268
+ }
269
+ return `<!doctype html><head>${inner}</head>${html}`;
270
+ };
271
+
272
+ // A page sealed whole, as a string: the policy first, then the theme and bootstrap. What the daemon's check renders, and
273
+ // what a page opened on its own (a download, the outbox) carries, with `canvas` painting its own background there.
274
+ export const sealedPage = (html: string, theme: PageTheme, options: { readonly canvas?: boolean; readonly policy?: boolean } = {}): string =>
275
+ intoHead(
276
+ html,
277
+ `${options.policy === false ? `` : `<meta http-equiv="Content-Security-Policy" content="${SEALED_PAGE_POLICY}">`}` +
278
+ `<meta name="referrer" content="no-referrer">${pageHead(theme, options)}`,
279
+ );
280
+
281
+ // The theme a stored page carries for being opened on its own (the outbox, a download, the file viewer), at no
282
+ // specificity at all (`:where`), so the chat's live theme and every rule the page writes itself win over it wherever
283
+ // either is present. Follows the OS's own light or dark.
284
+ const variablesCss = (theme: PageTheme): string =>
285
+ `color-scheme:${theme.appearance};${PAGE_THEME_VARIABLES.map((name) => `${name}:${theme.variables[name]};`).join(``)}`;
286
+ export const pageDefaultsCss = (): string =>
287
+ `:where(:root){${variablesCss(PAGE_FALLBACK_THEMES.dark)}}` +
288
+ `@media (prefers-color-scheme: light){:where(:root){${variablesCss(PAGE_FALLBACK_THEMES.light)}}}` +
289
+ `:where(html){background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:14px;line-height:1.5;accent-color:var(--primary)}` +
290
+ `:where(body){margin:0}:where(.intentic-standalone) :where(body){padding:16px}`;
291
+
292
+ // What `window.intentic` does where no chat is around the page: a link opens, an answer has nowhere to go and says so.
293
+ const STANDALONE_SCRIPT =
294
+ `if(window.parent===window)document.documentElement.classList.add("intentic-standalone");` +
295
+ `if(!window.intentic){window.intentic={theme:null,` +
296
+ `openLink:function(u){window.open(String(u),"_blank","noopener");return Promise.resolve();},` +
297
+ `submit:function(){return Promise.reject(new Error("This page is not inside a chat."));},` +
298
+ `send:function(){return Promise.reject(new Error("This page is not inside a chat."));}};}`;
299
+
300
+ // A page as it is stored: what the agent wrote, carried, with defaults that make it whole on its own. Inside the chat
301
+ // the frame's own theme and bootstrap come first and win (pageHead), so the stored file is drawn exactly as written.
302
+ export const standalonePage = (html: string): string =>
303
+ intoHead(html, `<style id="intentic-page-defaults">${pageDefaultsCss()}</style><script>${STANDALONE_SCRIPT}</script>`);
304
+
305
+ // A stored page as a published conversation carries it (share-publish.ts): sealed off the network, and saying its own
306
+ // height to the page around it, in the bridge's own words, so the shared transcript fits its frame. It keeps the theme
307
+ // it was stored with (standalonePage), which follows the reader's light or dark.
308
+ const SIZE_SCRIPT =
309
+ `(function(){if(window.parent===window)return;var h=-1;function z(){var r=document.documentElement,b=document.body,` +
310
+ `v=Math.ceil(Math.max(r.getBoundingClientRect().height,b?b.getBoundingClientRect().bottom:0));if(v===h||v<=0)return;h=v;` +
311
+ `window.parent.postMessage({jsonrpc:"2.0",method:${JSON.stringify(PAGE_BRIDGE.sizeChanged)},params:{height:v}},"*");}` +
312
+ `if(window.ResizeObserver)new ResizeObserver(z).observe(document.documentElement);window.addEventListener("load",z);setTimeout(z,50);})();`;
313
+ export const publishedPage = (stored: string): string =>
314
+ intoHead(stored, `<meta http-equiv="Content-Security-Policy" content="${SEALED_PAGE_POLICY}"><meta name="referrer" content="no-referrer"><script>${SIZE_SCRIPT}</script>`);
315
+
316
+ // What an MCP server's app is shown with (agent/pages/mcp-apps.ts): the call's arguments and its result, kept inside the
317
+ // stored page as a data block the chat hands the app over the bridge (`tool-input`, `tool-result`) once it is ready.
318
+ export const MCP_APP_DATA_ID = `intentic-mcp-app`;
319
+ export interface McpAppData {
320
+ readonly server: string;
321
+ readonly tool: string;
322
+ readonly input: unknown;
323
+ readonly result: unknown;
324
+ }
325
+ export const mcpAppDataScript = (data: McpAppData): string =>
326
+ `<script type="application/json" id="${MCP_APP_DATA_ID}">${JSON.stringify(data).replace(/</g, `\\u003c`)}</script>`;
327
+ const MCP_APP_DATA_BLOCK = new RegExp(`<script type="application/json" id="${MCP_APP_DATA_ID}">([\\s\\S]*?)</script>`);
328
+ // Read back out of a stored page's text; undefined for a page that is not an app's, or a block that does not parse.
329
+ export const readMcpAppData = (html: string): McpAppData | undefined => {
330
+ const match = MCP_APP_DATA_BLOCK.exec(html);
331
+ if (match === null) {
332
+ return undefined;
333
+ }
334
+ try {
335
+ const data = JSON.parse(match[1] ?? ``) as Partial<McpAppData>;
336
+ return typeof data.server === `string` && typeof data.tool === `string` ? { server: data.server, tool: data.tool, input: data.input, result: data.result } : undefined;
337
+ } catch {
338
+ // allow(silent-catch): a block that does not parse is not an app's, as the comment on this function says.
339
+ return undefined;
340
+ }
341
+ };
342
+
343
+ // A page's answer as the agent is handed it: JSON text, whatever the page sent, refused past the cap rather than cut.
344
+ export const pageValueText = (value: unknown): string => JSON.stringify(value === undefined ? null : value) ?? `null`;
@@ -546,6 +546,28 @@ describe("foldTurn", () => {
546
546
  ]);
547
547
  });
548
548
 
549
+ // A run carried on after a restart opens on the rows it had drawn and raises its parked cards again (turn-resume.ts,
550
+ // carriedRun): each lands on the row it already stands on, and settles there, never drawn a second time beneath.
551
+ it("puts a card raised again under an id its opening holds back where it stands, and settles it there", () => {
552
+ const plan = { requestId: "p1", text: "1. ship", status: "pending" as const };
553
+ const question = { requestId: "q1", questions: [], status: "pending" as const };
554
+ const opening: TranscriptRow[] = [
555
+ ...openingOf("go"),
556
+ { role: "assistant", text: "Here is the plan.", plan },
557
+ { role: "assistant", text: "", question },
558
+ ];
559
+ const events: AgentEvent[] = [
560
+ { kind: "plan", requestId: "p1", text: "1. ship" },
561
+ { kind: "question", requestId: "q1", questions: [] },
562
+ { kind: "resolved", requestId: "q1", reply: { kind: "question", requestId: "q1", answers: { "Which?": ["A"] } } },
563
+ { kind: "resolved", requestId: "p1" },
564
+ ];
565
+ expect(foldTurn(opening, events).slice(1)).toEqual([
566
+ { role: "assistant", text: "Here is the plan.", plan: { ...plan, status: "cancelled" } },
567
+ { role: "assistant", text: "", question: { ...question, status: "answered", answers: { "Which?": ["A"] } } },
568
+ ]);
569
+ });
570
+
549
571
  it("keeps the prose that led up to a card in the card's own row, and folds a repeated plan into its prose", () => {
550
572
  const document = { path: "docs/plan.md", title: "Plan", markdown: "# Plan\n\n1. do it" };
551
573
  const events: AgentEvent[] = [
@@ -1,5 +1,6 @@
1
1
  import { cancelledRequests, settledRequests } from "../policy/request-status.js";
2
2
  import type { AgentEvent } from "../events/agent-events.js";
3
+ import type { Page } from "../events/requests.js";
3
4
  import {
4
5
  REQUEST_FIELDS,
5
6
  holdsRequest,
@@ -339,8 +340,16 @@ export class TranscriptFold {
339
340
  private unrun = false;
340
341
 
341
342
  constructor(opening: readonly TranscriptRow[]) {
342
- for (const row of opening) {
343
+ for (const [index, row] of opening.entries()) {
343
344
  this.rows.push(row);
345
+ // A run carried on after a restart opens on the cards it had raised, which it raises again: each is found
346
+ // where it stands, so the frame that re-raises it, and the one that settles it, land on that row.
347
+ for (const field of REQUEST_FIELDS) {
348
+ const requestId = row[field]?.requestId;
349
+ if (requestId !== undefined) {
350
+ this.parked.set(requestId, index);
351
+ }
352
+ }
344
353
  }
345
354
  const opener = this.rows.findIndex((row) => row.role === "user");
346
355
  this.opener = opener === -1 ? undefined : opener;
@@ -475,7 +484,8 @@ export class TranscriptFold {
475
484
  case "plan": {
476
485
  // Folds a plan into an identical retired prose bubble instead of drawing the same markdown twice.
477
486
  const adjacent = this.rows.at(-1);
478
- const consumes = this.bubble === undefined && restates(adjacent, event.text);
487
+ // A plan raised again already has its row (park), and takes nobody's words a second time.
488
+ const consumes = this.bubble === undefined && !this.parked.has(event.requestId) && restates(adjacent, event.text);
479
489
  if (consumes && adjacent !== undefined) {
480
490
  adjacent.text = "";
481
491
  }
@@ -519,6 +529,10 @@ export class TranscriptFold {
519
529
  return this.park(event.requestId, { paymentOffer: { requestId: event.requestId, offer: event.offer, status: "pending" } });
520
530
  case "credential_offer":
521
531
  return this.park(event.requestId, { credentialOffer: { requestId: event.requestId, offer: event.offer, status: "pending" } });
532
+ case "page":
533
+ return this.showPage(event.page);
534
+ case "page_ask":
535
+ return this.park(event.requestId, { pageAsk: { requestId: event.requestId, page: event.page, status: "pending" } });
522
536
  case "need":
523
537
  // A row of its own, not a park: the turn goes on, and the card reads the need's live state by its id.
524
538
  return this.pushRow({ role: "notice", text: needRowText(event.need), need: event.need });
@@ -564,11 +578,29 @@ export class TranscriptFold {
564
578
  case "context_usage":
565
579
  case "mode":
566
580
  case "agent_status":
581
+ case "page_draft":
567
582
  case "done":
568
583
  return [];
569
584
  }
570
585
  }
571
586
 
587
+ /**
588
+ * A page drawn on the bubble whose call showed it, which it then closes, as a card does: the prose after it is the
589
+ * next row. A redraw of a page already shown folds the earlier row to a line rather than drawing two copies.
590
+ */
591
+ private showPage(page: Page): TranscriptPatch[] {
592
+ const patches: TranscriptPatch[] = [];
593
+ const earlier = this.rows.findLastIndex((row) => row.page !== undefined && row.page.id === page.id && row.page.superseded !== true);
594
+ if (earlier !== -1) {
595
+ this.rows[earlier]!.page = { ...this.rows[earlier]!.page!, superseded: true };
596
+ patches.push(this.replace(earlier));
597
+ }
598
+ const [index, opened] = this.open();
599
+ this.rows[index]!.page = page;
600
+ this.bubble = undefined;
601
+ return [...patches, ...opened, this.replace(index)];
602
+ }
603
+
572
604
  /** A message pushed into a running turn; only a person's own message is a rewind anchor. */
573
605
  private steered(event: Extract<AgentEvent, { kind: "steer" }>): TranscriptPatch[] {
574
606
  this.steeredIn = true;
@@ -819,6 +851,13 @@ export class TranscriptFold {
819
851
  // A card takes the open bubble and closes it; `into` reuses an existing row (a plan's own prose) instead of opening
820
852
  // a new one.
821
853
  private park(requestId: string, cards: TranscriptRequests, into?: number): TranscriptPatch[] {
854
+ // One card is one row: raised again under the id it already holds, it is put back where it stands, never drawn
855
+ // a second time beneath.
856
+ const standing = this.parked.get(requestId);
857
+ if (standing !== undefined) {
858
+ Object.assign(this.rows[standing]!, cards);
859
+ return [this.replace(standing)];
860
+ }
822
861
  const [index, opened] = into === undefined ? this.open() : [into, []];
823
862
  Object.assign(this.rows[index]!, cards);
824
863
  this.bubble = undefined;
@@ -4,7 +4,8 @@
4
4
  // Nothing here may import that barrel, or the saving is silently undone — `pnpm --filter @intentic/webext build`
5
5
  // checks the bundle against the ceiling in _devices/webext/scripts/size-budget.mjs.
6
6
  export { webextContract } from "../contracts/webext.contract.js";
7
- export * from "../protocol/webext-links.js";
8
- export * from "../protocol/webext-protocol.js";
7
+ export * from "../protocol/doors/webext-links.js";
8
+ export * from "../protocol/doors/webext-protocol.js";
9
9
  export * from "../schemas/webext.js";
10
10
  export * from "../schemas/loopback-catch.js";
11
+ export * from "../schemas/peer-enrollment.js";
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser-wire.d.ts","sourceRoot":"","sources":["../../src/front/browser-wire.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAI7G,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAIhD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAIrD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,cAAc,CAAC;AAE3D,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAAmC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser-wire.js","sourceRoot":"","sources":["../../src/front/browser-wire.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAIhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAMrD,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- export type * from "./generated/wire.js";
2
- export declare const FRONT_SOCKET_ENV = "INTENTIC_FRONT_SOCKET";
3
- export declare const NODE_SOCKET_ENV = "INTENTIC_NODE_SOCKET";
4
- export declare const ASK_PATIENCE_MS = 5000;
5
- export declare const FRAME_LENGTH_BYTES = 4;
6
- //# sourceMappingURL=front-wire.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"front-wire.d.ts","sourceRoot":"","sources":["../../src/front/front-wire.ts"],"names":[],"mappings":"AAIA,mBAAmB,qBAAqB,CAAC;AAGzC,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AACxD,eAAO,MAAM,eAAe,yBAAyB,CAAC;AAGtD,eAAO,MAAM,eAAe,OAAO,CAAC;AAGpC,eAAO,MAAM,kBAAkB,IAAI,CAAC"}
@@ -1,5 +0,0 @@
1
- export const FRONT_SOCKET_ENV = "INTENTIC_FRONT_SOCKET";
2
- export const NODE_SOCKET_ENV = "INTENTIC_NODE_SOCKET";
3
- export const ASK_PATIENCE_MS = 5000;
4
- export const FRAME_LENGTH_BYTES = 4;
5
- //# sourceMappingURL=front-wire.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"front-wire.js","sourceRoot":"","sources":["../../src/front/front-wire.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAGtD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAGpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser-wire.d.ts","sourceRoot":"","sources":["../../../src/front/generated/browser-wire.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,iBAAiB,GAAG,SAAS,CAAC;AAKtE,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,IAAI,GAAG,YAAY,CAAC;AAMxD,MAAM,MAAM,QAAQ,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;CAAE,CAAC;AAOpE,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAM7C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAIrB,QAAQ,EAAE,MAAM,CAAC;IAIjB,OAAO,EAAE,MAAM,CAAC;IAIhB,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAAE,CAAC;AAK7B,MAAM,MAAM,qBAAqB,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAKhJ,MAAM,MAAM,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser-wire.js","sourceRoot":"","sources":["../../../src/front/generated/browser-wire.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/front/generated/wire.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-protocol.d.ts","sourceRoot":"","sources":["../../src/protocol/host-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAExC,eAAO,MAAM,eAAe;;;;iBAM1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAIxD,eAAO,MAAM,cAAc,eAAgB,MAAM,KAAG,MAAwF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-protocol.js","sourceRoot":"","sources":["../../src/protocol/host-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAExB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IAEjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,UAAkB,EAAU,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"listener-protocol.d.ts","sourceRoot":"","sources":["../../src/protocol/listener-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;iBA8BhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;CAC1B;AAID,eAAO,MAAM,qBAAqB;;;;;;;;;iBAQhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAKpE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,CAAC"}
@@ -1,33 +0,0 @@
1
- import { z } from "zod";
2
- import { ActivityStatusSchema } from "../schemas/activity.js";
3
- export const ListenerMessageSchema = z.object({
4
- provider: z.string().min(1),
5
- type: z.string().min(1),
6
- id: z.string(),
7
- channelId: z.string(),
8
- author: z.object({ id: z.string(), name: z.string(), groups: z.array(z.string()).optional() }),
9
- content: z.string(),
10
- mentioned: z.boolean().optional(),
11
- branch: z.string().optional(),
12
- history: z
13
- .array(z.object({
14
- author: z.object({ id: z.string(), name: z.string() }),
15
- content: z.string(),
16
- timestamp: z.string(),
17
- self: z.boolean().optional(),
18
- }))
19
- .optional(),
20
- timestamp: z.string(),
21
- extra: z.record(z.string(), z.unknown()).optional(),
22
- });
23
- export const ListenerPairingSchema = z.object({
24
- state: z.enum(["waiting", "code", "failed"]),
25
- code: z.string().optional(),
26
- detail: z.string().optional(),
27
- since: z.number().optional(),
28
- });
29
- export const ListenerStatusSchema = ActivityStatusSchema.extend({
30
- whisperReady: z.boolean().optional(),
31
- pairing: z.record(z.string(), ListenerPairingSchema).optional(),
32
- });
33
- //# sourceMappingURL=listener-protocol.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listener-protocol.js","sourceRoot":"","sources":["../../src/protocol/listener-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAQ9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IAGrB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC9F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IAEnB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAEjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE7B,OAAO,EAAE,CAAC;SACL,KAAK,CACF,CAAC,CAAC,MAAM,CAAC;QACL,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CACL;SACA,QAAQ,EAAE;IACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IAKrB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC;AAeH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAI1C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAC5D,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,QAAQ,EAAE;CAClE,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"raw-routes.d.ts","sourceRoot":"","sources":["../../src/protocol/raw-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD,eAAO,MAAM,UAAU;;iBAEF,IAAI,EAAE,MAAM;iBAAE,UAAU;;;iBAG9B,IAAI,EAAE,MAAM;iBAAE,UAAU;;;iBAChB,IAAI,EAAE,MAAM;;;iBAEP,KAAK;;;iBACA,KAAK,EAAE,cAAc;iBAAE,KAAK;;;iBAEjC,KAAK;iBAAQ,IAAI,EAAE,MAAM;;;iBAEvB,KAAK;;;iBAEL,IAAI,EAAE,MAAM;iBAAE,KAAK;iBAAQ,IAAI,EAAE,MAAM;;;iBAEpC,IAAI,EAAE,MAAM;iBAAE,KAAK;iBAAQ,IAAI,EAAE,MAAM;;;iBAExC,KAAK,EAAE,QAAQ;iBAAE,eAAe,EAAE,cAAc;iBAAE,IAAI,EAAE,MAAM;;;;iBAEtD,IAAI,EAAE,MAAM;;;iBAEpB,UAAU;iBAAQ,KAAK,EAAE,cAAc;iBAAE,OAAO,EAAE,OAAO;;;iBAE3D,IAAI,EAAE,MAAM;iBAAE,UAAU;iBAAQ,OAAO,EAAE,OAAO;iBAAE,KAAK;;;iBAGzD,IAAI,EAAE,MAAM;iBAAE,UAAU;iBAAQ,KAAK;;;iBAEnC,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;iBAAE,IAAI,EAAE,MAAM;;;iBACrC,IAAI,EAAE,MAAM;iBAAE,UAAU;iBAAQ,OAAO,EAAE,OAAO;;;iBACnD,IAAI,EAAE,MAAM;iBAAE,UAAU;iBAAQ,OAAO,EAAE,OAAO;;;iBAE5D,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBAEf,IAAI,EAAE,MAAM;;;iBAEd,IAAI,EAAE,MAAM;;;iBAEf,IAAI,EAAE,MAAM;iBAAE,QAAQ;;;iBACpB,IAAI,EAAE,MAAM;iBAAE,QAAQ;;;iBACnB,IAAI,EAAE,MAAM;iBAAE,QAAQ;;;iBACvB,IAAI,EAAE,MAAM;iBAAE,QAAQ;;;iBACtB,IAAI,EAAE,MAAM;iBAAE,QAAQ;;;;iBAI9B,IAAI,EAAE,MAAM;iBAAE,QAAQ;;;iBACjB,IAAI,EAAE,MAAM;iBAAE,QAAQ;;;iBACnB,IAAI,EAAE,MAAM;iBAAE,QAAQ;;;iBACxB,IAAI,EAAE,MAAM;iBAAE,QAAQ;;;iBAElC,OAAO,EAAE,OAAO;;;iBACf,OAAO,EAAE,OAAO;;;iBACd,OAAO,EAAE,OAAO;;;iBACX,KAAK,EAAE,QAAQ;iBAAE,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAE7C,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;iBAazB,OAAO,EAAE,OAAO;;;iBACf,OAAO,EAAE,OAAO;;;iBACd,OAAO,EAAE,OAAO;;;iBACX,OAAO,EAAE,OAAO;;;iBAEf,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;iBAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;iBAUtC,IAAI,EAAE,MAAM;;;;iBAIV,KAAK,EAAE,YAAY;iBAAE,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAEjE,KAAK;;;iBACJ,KAAK;;;iBAEF,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAC7B,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAC5B,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAE5B,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAC1B,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBACjC,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAC7B,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAC3B,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAC7B,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAC9B,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBACpC,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAEhC,KAAK;;;iBACI,KAAK;;;iBACL,KAAK;;;iBAGO,KAAK,EAAE,YAAY;iBAAE,KAAK;iBAAS,OAAO,EAAE,OAAO;;;iBAC/C,KAAK;iBAAS,OAAO,EAAE,OAAO;;;iBAC/B,KAAK;iBAAS,OAAO,EAAE,OAAO;;;iBAC/B,KAAK;iBAAS,OAAO,EAAE,OAAO;;;iBAExC,IAAI,EAAE,MAAM;;;iBAEb,KAAK,EAAE,cAAc;iBAAE,OAAO,EAAE,OAAO;;;iBAEtC,OAAO,EAAE,OAAO;;;iBACd,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBACtC,OAAO,EAAE,OAAO;;;iBACR,OAAO,EAAE,OAAO;;;iBAEhB,IAAI,EAAE,MAAM;iBAAE,UAAU;iBAAQ,OAAO,EAAE,OAAO;;;iBACjD,OAAO,EAAE,OAAO;;;iBACd,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBACtC,OAAO,EAAE,OAAO;;;iBACR,OAAO,EAAE,OAAO;;;iBAChB,IAAI,EAAE,MAAM;iBAAE,UAAU;iBAAQ,OAAO,EAAE,OAAO;;;iBACjD,OAAO,EAAE,OAAO;;;iBACd,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBACtC,OAAO,EAAE,OAAO;;;iBACR,OAAO,EAAE,OAAO;;;iBAChB,IAAI,EAAE,MAAM;iBAAE,UAAU;iBAAQ,OAAO,EAAE,OAAO;;;iBAI3D,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBAEnB,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBACjC,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBACb,OAAO,EAAE,OAAO;;;iBAEjB,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;iBAAE,IAAI,EAAE,MAAM;;;iBACrC,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;iBAAE,IAAI,EAAE,MAAM;;;iBAC3C,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;iBAAE,IAAI,EAAE,MAAM;;;iBAC5D,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBACtB,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBAC9B,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBAItC,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;iBAAE,MAAM;;;iBAC3C,OAAO,EAAE,OAAO;;;iBACjB,OAAO,EAAE,OAAO;;;iBACR,OAAO,EAAE,OAAO;;;iBAE9B,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBACX,KAAK,EAAE,QAAQ;iBAAE,KAAK;iBAAQ,SAAS;iBAAQ,OAAO,EAAE,OAAO;;;iBACvE,KAAK,EAAE,QAAQ;iBAAE,KAAK;iBAAQ,SAAS;iBAAQ,OAAO,EAAE,OAAO;;;iBAEzD,IAAI,EAAE,MAAM;iBAAE,UAAU;iBAAQ,OAAO,EAAE,OAAO;;;iBACxD,IAAI,EAAE,MAAM;iBAAE,UAAU;iBAAQ,OAAO,EAAE,OAAO;;;iBAChD,OAAO,EAAE,OAAO;;;iBACd,OAAO,EAAE,OAAO;;;iBAElB,KAAK,EAAE,QAAQ;iBAAE,KAAK;iBAAQ,OAAO,EAAE,OAAO;;;iBAE9C,IAAI,EAAE,MAAM;iBAAE,UAAU;iBAAQ,OAAO,EAAE,OAAO;;;iBAChD,OAAO,EAAE,OAAO;;;iBAEjB,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBAE9B,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBACzC,OAAO,EAAE,OAAO;;;iBAER,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBACzB,IAAI,EAAE,MAAM;iBAAE,OAAO,EAAE,OAAO;;;iBAEpB,OAAO,EAAE,OAAO;;CAC0C,CAAC;AAE5G,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC;AAGlD,eAAO,MAAM,YAAY,QAAS,WAAW,KAAG,MAAyC,CAAC;AAG1F,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,aAAa,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,EAKnF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"raw-routes.js","sourceRoot":"","sources":["../../src/protocol/raw-routes.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const REQUEST_ID_HEADER = "x-intentic-request-id";
2
- //# sourceMappingURL=request-id.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-id.d.ts","sourceRoot":"","sources":["../../src/protocol/request-id.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,0BAA0B,CAAC"}
@@ -1,2 +0,0 @@
1
- export const REQUEST_ID_HEADER = "x-intentic-request-id";
2
- //# sourceMappingURL=request-id.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-id.js","sourceRoot":"","sources":["../../src/protocol/request-id.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC"}