@chipschat/protocol 0.0.0-stage → 1.0.1

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 (371) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +56 -2
  3. package/dist/generated/types.d.ts +4052 -0
  4. package/dist/generated/types.d.ts.map +1 -0
  5. package/dist/generated/types.js +7 -0
  6. package/dist/generated/types.js.map +1 -0
  7. package/dist/src/address.d.ts +106 -0
  8. package/dist/src/address.d.ts.map +1 -0
  9. package/dist/src/address.js +141 -0
  10. package/dist/src/address.js.map +1 -0
  11. package/dist/src/agent-context-windows.d.ts +235 -0
  12. package/dist/src/agent-context-windows.d.ts.map +1 -0
  13. package/dist/src/agent-context-windows.js +213 -0
  14. package/dist/src/agent-context-windows.js.map +1 -0
  15. package/dist/src/agent-heartbeats.d.ts +106 -0
  16. package/dist/src/agent-heartbeats.d.ts.map +1 -0
  17. package/dist/src/agent-heartbeats.js +111 -0
  18. package/dist/src/agent-heartbeats.js.map +1 -0
  19. package/dist/src/agent-models.d.ts +158 -0
  20. package/dist/src/agent-models.d.ts.map +1 -0
  21. package/dist/src/agent-models.js +171 -0
  22. package/dist/src/agent-models.js.map +1 -0
  23. package/dist/src/agent-place.d.ts +76 -0
  24. package/dist/src/agent-place.d.ts.map +1 -0
  25. package/dist/src/agent-place.js +80 -0
  26. package/dist/src/agent-place.js.map +1 -0
  27. package/dist/src/agents.d.ts +24 -0
  28. package/dist/src/agents.d.ts.map +1 -0
  29. package/dist/src/agents.js +58 -0
  30. package/dist/src/agents.js.map +1 -0
  31. package/dist/src/capabilities.d.ts +121 -0
  32. package/dist/src/capabilities.d.ts.map +1 -0
  33. package/dist/src/capabilities.js +120 -0
  34. package/dist/src/capabilities.js.map +1 -0
  35. package/dist/src/checklist.d.ts +19 -0
  36. package/dist/src/checklist.d.ts.map +1 -0
  37. package/dist/src/checklist.js +22 -0
  38. package/dist/src/checklist.js.map +1 -0
  39. package/dist/src/commands.d.ts +50 -0
  40. package/dist/src/commands.d.ts.map +1 -0
  41. package/dist/src/commands.js +274 -0
  42. package/dist/src/commands.js.map +1 -0
  43. package/dist/src/connectors.d.ts +90 -0
  44. package/dist/src/connectors.d.ts.map +1 -0
  45. package/dist/src/connectors.js +119 -0
  46. package/dist/src/connectors.js.map +1 -0
  47. package/dist/src/context-files.d.ts +304 -0
  48. package/dist/src/context-files.d.ts.map +1 -0
  49. package/dist/src/context-files.js +247 -0
  50. package/dist/src/context-files.js.map +1 -0
  51. package/dist/src/context.d.ts +369 -0
  52. package/dist/src/context.d.ts.map +1 -0
  53. package/dist/src/context.js +526 -0
  54. package/dist/src/context.js.map +1 -0
  55. package/dist/src/direct-asks.d.ts +36 -0
  56. package/dist/src/direct-asks.d.ts.map +1 -0
  57. package/dist/src/direct-asks.js +43 -0
  58. package/dist/src/direct-asks.js.map +1 -0
  59. package/dist/src/envelope.d.ts +70 -0
  60. package/dist/src/envelope.d.ts.map +1 -0
  61. package/dist/src/envelope.js +46 -0
  62. package/dist/src/envelope.js.map +1 -0
  63. package/dist/src/events/catalogue.d.ts +50 -0
  64. package/dist/src/events/catalogue.d.ts.map +1 -0
  65. package/dist/src/events/catalogue.js +70 -0
  66. package/dist/src/events/catalogue.js.map +1 -0
  67. package/dist/src/events/chips-to-harness.d.ts +37 -0
  68. package/dist/src/events/chips-to-harness.d.ts.map +1 -0
  69. package/dist/src/events/chips-to-harness.js +511 -0
  70. package/dist/src/events/chips-to-harness.js.map +1 -0
  71. package/dist/src/events/harness-to-chips.d.ts +38 -0
  72. package/dist/src/events/harness-to-chips.d.ts.map +1 -0
  73. package/dist/src/events/harness-to-chips.js +593 -0
  74. package/dist/src/events/harness-to-chips.js.map +1 -0
  75. package/dist/src/events/index.d.ts +6 -0
  76. package/dist/src/events/index.d.ts.map +1 -0
  77. package/dist/src/events/index.js +5 -0
  78. package/dist/src/events/index.js.map +1 -0
  79. package/dist/src/events/workspace.d.ts +222 -0
  80. package/dist/src/events/workspace.d.ts.map +1 -0
  81. package/dist/src/events/workspace.js +1039 -0
  82. package/dist/src/events/workspace.js.map +1 -0
  83. package/dist/src/exchange.d.ts +262 -0
  84. package/dist/src/exchange.d.ts.map +1 -0
  85. package/dist/src/exchange.js +413 -0
  86. package/dist/src/exchange.js.map +1 -0
  87. package/dist/src/first-names.d.ts +29 -0
  88. package/dist/src/first-names.d.ts.map +1 -0
  89. package/dist/src/first-names.js +80 -0
  90. package/dist/src/first-names.js.map +1 -0
  91. package/dist/src/frames.d.ts +526 -0
  92. package/dist/src/frames.d.ts.map +1 -0
  93. package/dist/src/frames.js +346 -0
  94. package/dist/src/frames.js.map +1 -0
  95. package/dist/src/harness-jobs.d.ts +313 -0
  96. package/dist/src/harness-jobs.d.ts.map +1 -0
  97. package/dist/src/harness-jobs.js +210 -0
  98. package/dist/src/harness-jobs.js.map +1 -0
  99. package/dist/src/ids/index.d.ts +3 -0
  100. package/dist/src/ids/index.d.ts.map +1 -0
  101. package/dist/src/ids/index.js +2 -0
  102. package/dist/src/ids/index.js.map +1 -0
  103. package/dist/src/ids/ulid.d.ts +96 -0
  104. package/dist/src/ids/ulid.d.ts.map +1 -0
  105. package/dist/src/ids/ulid.js +212 -0
  106. package/dist/src/ids/ulid.js.map +1 -0
  107. package/dist/src/index.d.ts +81 -0
  108. package/dist/src/index.d.ts.map +1 -0
  109. package/dist/src/index.js +47 -0
  110. package/dist/src/index.js.map +1 -0
  111. package/dist/src/invite-link.d.ts +64 -0
  112. package/dist/src/invite-link.d.ts.map +1 -0
  113. package/dist/src/invite-link.js +99 -0
  114. package/dist/src/invite-link.js.map +1 -0
  115. package/dist/src/join.d.ts +188 -0
  116. package/dist/src/join.d.ts.map +1 -0
  117. package/dist/src/join.js +190 -0
  118. package/dist/src/join.js.map +1 -0
  119. package/dist/src/limits.d.ts +50 -0
  120. package/dist/src/limits.d.ts.map +1 -0
  121. package/dist/src/limits.js +106 -0
  122. package/dist/src/limits.js.map +1 -0
  123. package/dist/src/matters.d.ts +22 -0
  124. package/dist/src/matters.d.ts.map +1 -0
  125. package/dist/src/matters.js +26 -0
  126. package/dist/src/matters.js.map +1 -0
  127. package/dist/src/mentions.d.ts +63 -0
  128. package/dist/src/mentions.d.ts.map +1 -0
  129. package/dist/src/mentions.js +129 -0
  130. package/dist/src/mentions.js.map +1 -0
  131. package/dist/src/names.d.ts +58 -0
  132. package/dist/src/names.d.ts.map +1 -0
  133. package/dist/src/names.js +192 -0
  134. package/dist/src/names.js.map +1 -0
  135. package/dist/src/no-reply.d.ts +17 -0
  136. package/dist/src/no-reply.d.ts.map +1 -0
  137. package/dist/src/no-reply.js +48 -0
  138. package/dist/src/no-reply.js.map +1 -0
  139. package/dist/src/notifications.d.ts +81 -0
  140. package/dist/src/notifications.d.ts.map +1 -0
  141. package/dist/src/notifications.js +65 -0
  142. package/dist/src/notifications.js.map +1 -0
  143. package/dist/src/pages.d.ts +32 -0
  144. package/dist/src/pages.d.ts.map +1 -0
  145. package/dist/src/pages.js +32 -0
  146. package/dist/src/pages.js.map +1 -0
  147. package/dist/src/pairing.d.ts +99 -0
  148. package/dist/src/pairing.d.ts.map +1 -0
  149. package/dist/src/pairing.js +163 -0
  150. package/dist/src/pairing.js.map +1 -0
  151. package/dist/src/primitives.d.ts +267 -0
  152. package/dist/src/primitives.d.ts.map +1 -0
  153. package/dist/src/primitives.js +279 -0
  154. package/dist/src/primitives.js.map +1 -0
  155. package/dist/src/project.d.ts +335 -0
  156. package/dist/src/project.d.ts.map +1 -0
  157. package/dist/src/project.js +499 -0
  158. package/dist/src/project.js.map +1 -0
  159. package/dist/src/ranges.d.ts +31 -0
  160. package/dist/src/ranges.d.ts.map +1 -0
  161. package/dist/src/ranges.js +51 -0
  162. package/dist/src/ranges.js.map +1 -0
  163. package/dist/src/relay.d.ts +177 -0
  164. package/dist/src/relay.d.ts.map +1 -0
  165. package/dist/src/relay.js +147 -0
  166. package/dist/src/relay.js.map +1 -0
  167. package/dist/src/room-files.d.ts +146 -0
  168. package/dist/src/room-files.d.ts.map +1 -0
  169. package/dist/src/room-files.js +135 -0
  170. package/dist/src/room-files.js.map +1 -0
  171. package/dist/src/room-note.d.ts +213 -0
  172. package/dist/src/room-note.d.ts.map +1 -0
  173. package/dist/src/room-note.js +457 -0
  174. package/dist/src/room-note.js.map +1 -0
  175. package/dist/src/space-icons.d.ts +68 -0
  176. package/dist/src/space-icons.d.ts.map +1 -0
  177. package/dist/src/space-icons.js +142 -0
  178. package/dist/src/space-icons.js.map +1 -0
  179. package/dist/src/spend.d.ts +57 -0
  180. package/dist/src/spend.d.ts.map +1 -0
  181. package/dist/src/spend.js +94 -0
  182. package/dist/src/spend.js.map +1 -0
  183. package/dist/src/visibility.d.ts +170 -0
  184. package/dist/src/visibility.d.ts.map +1 -0
  185. package/dist/src/visibility.js +218 -0
  186. package/dist/src/visibility.js.map +1 -0
  187. package/fixtures/agent.asked.json +15 -0
  188. package/fixtures/agent.attached.json +15 -0
  189. package/fixtures/agent.deleted.json +16 -0
  190. package/fixtures/agent.fork.json +14 -0
  191. package/fixtures/agent.lock_set.json +13 -0
  192. package/fixtures/agent.registered.json +17 -0
  193. package/fixtures/agent.released.json +16 -0
  194. package/fixtures/agent.updated.json +14 -0
  195. package/fixtures/approval.executed.json +16 -0
  196. package/fixtures/approval.request.json +45 -0
  197. package/fixtures/approval.resolved.json +20 -0
  198. package/fixtures/approval.routed.json +20 -0
  199. package/fixtures/artifact.create.json +18 -0
  200. package/fixtures/attachment.fetched.json +15 -0
  201. package/fixtures/attachment.limits_set.json +15 -0
  202. package/fixtures/budget.warning.json +20 -0
  203. package/fixtures/checkpoint.json +16 -0
  204. package/fixtures/context.compacted.json +16 -0
  205. package/fixtures/context.usage.json +17 -0
  206. package/fixtures/exchange.limits_set.json +15 -0
  207. package/fixtures/exchange.set.json +13 -0
  208. package/fixtures/feedback.json +21 -0
  209. package/fixtures/frames/ack.json +6 -0
  210. package/fixtures/frames/context.edit.json +11 -0
  211. package/fixtures/frames/context_window.change.json +9 -0
  212. package/fixtures/frames/context_window.compact.json +8 -0
  213. package/fixtures/frames/error.json +6 -0
  214. package/fixtures/frames/event.json +20 -0
  215. package/fixtures/frames/events.json +39 -0
  216. package/fixtures/frames/folder.open.json +6 -0
  217. package/fixtures/frames/folder.open.page.json +7 -0
  218. package/fixtures/frames/folder.run.json +8 -0
  219. package/fixtures/frames/folder.run_state.json +12 -0
  220. package/fixtures/frames/heartbeat.change.json +10 -0
  221. package/fixtures/frames/hello.json +18 -0
  222. package/fixtures/frames/job.change.json +9 -0
  223. package/fixtures/frames/join.json +19 -0
  224. package/fixtures/frames/model.change.json +10 -0
  225. package/fixtures/frames/ping.json +4 -0
  226. package/fixtures/frames/pong.json +4 -0
  227. package/fixtures/frames/presence.json +12 -0
  228. package/fixtures/frames/receipt.json +5 -0
  229. package/fixtures/frames/restart.json +5 -0
  230. package/fixtures/frames/subscribe.json +6 -0
  231. package/fixtures/handoff.json +20 -0
  232. package/fixtures/harness.removed.json +15 -0
  233. package/fixtures/harness.transferred.json +15 -0
  234. package/fixtures/hello.json +61 -0
  235. package/fixtures/join.allowed.json +20 -0
  236. package/fixtures/join.denied.json +17 -0
  237. package/fixtures/lane.updated.json +17 -0
  238. package/fixtures/membership.added.json +16 -0
  239. package/fixtures/membership.removed.json +14 -0
  240. package/fixtures/membership.replaced.json +15 -0
  241. package/fixtures/message.deleted.json +15 -0
  242. package/fixtures/message.edited.json +15 -0
  243. package/fixtures/message.handed.json +14 -0
  244. package/fixtures/message.heard.json +14 -0
  245. package/fixtures/message.held.json +14 -0
  246. package/fixtures/message.hidden.json +14 -0
  247. package/fixtures/message.new.json +96 -0
  248. package/fixtures/message.overheard.json +22 -0
  249. package/fixtures/message.pinned.json +14 -0
  250. package/fixtures/message.post.json +14 -0
  251. package/fixtures/message.shown.json +14 -0
  252. package/fixtures/message.unpinned.json +14 -0
  253. package/fixtures/person.face_set.json +17 -0
  254. package/fixtures/person.joined.json +16 -0
  255. package/fixtures/person.removed.json +16 -0
  256. package/fixtures/person.renamed.json +14 -0
  257. package/fixtures/policy.updated.json +30 -0
  258. package/fixtures/project.changed.json +21 -0
  259. package/fixtures/question.answered.json +23 -0
  260. package/fixtures/question.ask.json +37 -0
  261. package/fixtures/receipt.json +15 -0
  262. package/fixtures/relay.set.json +12 -0
  263. package/fixtures/role.changed.json +15 -0
  264. package/fixtures/run.cancel.json +15 -0
  265. package/fixtures/run.completed.json +20 -0
  266. package/fixtures/run.failed.json +20 -0
  267. package/fixtures/run.pause.json +15 -0
  268. package/fixtures/run.plan.json +24 -0
  269. package/fixtures/run.requested.json +34 -0
  270. package/fixtures/run.resume.json +15 -0
  271. package/fixtures/run.started.json +33 -0
  272. package/fixtures/run.status.json +17 -0
  273. package/fixtures/run.steer.json +21 -0
  274. package/fixtures/session.ended.json +15 -0
  275. package/fixtures/session.renamed.json +15 -0
  276. package/fixtures/session.started.json +17 -0
  277. package/fixtures/space.claimed.json +15 -0
  278. package/fixtures/space.created.json +14 -0
  279. package/fixtures/space.erased.json +13 -0
  280. package/fixtures/space.lead_set.json +13 -0
  281. package/fixtures/space.lock_set.json +13 -0
  282. package/fixtures/space.spend_ceiling_set.json +13 -0
  283. package/fixtures/space.updated.json +14 -0
  284. package/fixtures/step.log.json +26 -0
  285. package/fixtures/task.json +22 -0
  286. package/fixtures/turn.passed.json +14 -0
  287. package/fixtures/usage.json +21 -0
  288. package/fixtures/workspace.renamed.json +13 -0
  289. package/generated/agent-connect.json +13966 -0
  290. package/generated/schema/agent.asked.json +114 -0
  291. package/generated/schema/agent.attached.json +465 -0
  292. package/generated/schema/agent.deleted.json +127 -0
  293. package/generated/schema/agent.fork.json +107 -0
  294. package/generated/schema/agent.lock_set.json +105 -0
  295. package/generated/schema/agent.registered.json +130 -0
  296. package/generated/schema/agent.released.json +129 -0
  297. package/generated/schema/agent.updated.json +151 -0
  298. package/generated/schema/approval.executed.json +125 -0
  299. package/generated/schema/approval.request.json +279 -0
  300. package/generated/schema/approval.resolved.json +162 -0
  301. package/generated/schema/approval.routed.json +185 -0
  302. package/generated/schema/artifact.create.json +206 -0
  303. package/generated/schema/attachment.fetched.json +114 -0
  304. package/generated/schema/attachment.limits_set.json +136 -0
  305. package/generated/schema/budget.warning.json +152 -0
  306. package/generated/schema/checkpoint.json +111 -0
  307. package/generated/schema/context.compacted.json +124 -0
  308. package/generated/schema/context.usage.json +120 -0
  309. package/generated/schema/exchange.limits_set.json +127 -0
  310. package/generated/schema/exchange.set.json +144 -0
  311. package/generated/schema/feedback.json +173 -0
  312. package/generated/schema/handoff.json +122 -0
  313. package/generated/schema/harness.removed.json +122 -0
  314. package/generated/schema/harness.transferred.json +117 -0
  315. package/generated/schema/hello.json +509 -0
  316. package/generated/schema/join.allowed.json +176 -0
  317. package/generated/schema/join.denied.json +150 -0
  318. package/generated/schema/lane.updated.json +223 -0
  319. package/generated/schema/membership.added.json +153 -0
  320. package/generated/schema/membership.removed.json +126 -0
  321. package/generated/schema/membership.replaced.json +106 -0
  322. package/generated/schema/message.deleted.json +105 -0
  323. package/generated/schema/message.edited.json +107 -0
  324. package/generated/schema/message.handed.json +111 -0
  325. package/generated/schema/message.heard.json +100 -0
  326. package/generated/schema/message.held.json +181 -0
  327. package/generated/schema/message.hidden.json +100 -0
  328. package/generated/schema/message.new.json +1369 -0
  329. package/generated/schema/message.overheard.json +701 -0
  330. package/generated/schema/message.pinned.json +100 -0
  331. package/generated/schema/message.post.json +290 -0
  332. package/generated/schema/message.shown.json +100 -0
  333. package/generated/schema/message.unpinned.json +100 -0
  334. package/generated/schema/person.face_set.json +134 -0
  335. package/generated/schema/person.joined.json +128 -0
  336. package/generated/schema/person.removed.json +133 -0
  337. package/generated/schema/person.renamed.json +114 -0
  338. package/generated/schema/policy.updated.json +277 -0
  339. package/generated/schema/project.changed.json +199 -0
  340. package/generated/schema/question.answered.json +154 -0
  341. package/generated/schema/question.ask.json +194 -0
  342. package/generated/schema/receipt.json +109 -0
  343. package/generated/schema/relay.set.json +99 -0
  344. package/generated/schema/role.changed.json +116 -0
  345. package/generated/schema/run.cancel.json +106 -0
  346. package/generated/schema/run.completed.json +139 -0
  347. package/generated/schema/run.failed.json +135 -0
  348. package/generated/schema/run.pause.json +106 -0
  349. package/generated/schema/run.plan.json +128 -0
  350. package/generated/schema/run.requested.json +309 -0
  351. package/generated/schema/run.resume.json +106 -0
  352. package/generated/schema/run.started.json +142 -0
  353. package/generated/schema/run.status.json +120 -0
  354. package/generated/schema/run.steer.json +163 -0
  355. package/generated/schema/session.ended.json +106 -0
  356. package/generated/schema/session.renamed.json +108 -0
  357. package/generated/schema/session.started.json +116 -0
  358. package/generated/schema/space.claimed.json +107 -0
  359. package/generated/schema/space.created.json +148 -0
  360. package/generated/schema/space.erased.json +129 -0
  361. package/generated/schema/space.lead_set.json +108 -0
  362. package/generated/schema/space.lock_set.json +99 -0
  363. package/generated/schema/space.spend_ceiling_set.json +102 -0
  364. package/generated/schema/space.updated.json +112 -0
  365. package/generated/schema/step.log.json +187 -0
  366. package/generated/schema/task.json +268 -0
  367. package/generated/schema/turn.passed.json +99 -0
  368. package/generated/schema/usage.json +155 -0
  369. package/generated/schema/workspace.renamed.json +107 -0
  370. package/generated/types.ts +4178 -0
  371. package/package.json +38 -3
@@ -0,0 +1,139 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "v": {
6
+ "type": "number",
7
+ "const": 1,
8
+ "description": "Protocol major version."
9
+ },
10
+ "type": {
11
+ "type": "string",
12
+ "const": "run.completed"
13
+ },
14
+ "id": {
15
+ "type": "string",
16
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
17
+ "description": "The event's own id. Stable across a retry of the same event."
18
+ },
19
+ "ts": {
20
+ "type": "string",
21
+ "format": "date-time",
22
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
23
+ "description": "When it happened, by Chips' clock. Stamped on the way in; a value the sender writes is replaced."
24
+ },
25
+ "workspace_id": {
26
+ "type": "string",
27
+ "pattern": "^ws_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
28
+ "description": "A workspace identifier: `ws_` followed by a ULID."
29
+ },
30
+ "space_id": {
31
+ "description": "The space, when the event belongs to one.",
32
+ "type": "string",
33
+ "pattern": "^spc_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
34
+ },
35
+ "run_id": {
36
+ "description": "The run, when the event belongs to one.",
37
+ "type": "string",
38
+ "pattern": "^run_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
39
+ },
40
+ "seq": {
41
+ "description": "Assigned by the server on append, monotonic per workspace. Absent on the way in.",
42
+ "type": "integer",
43
+ "exclusiveMinimum": 0,
44
+ "maximum": 9007199254740991
45
+ },
46
+ "idempotency_key": {
47
+ "description": "Required on every client-originated write. Sending the same key twice is a no-op.",
48
+ "type": "string",
49
+ "minLength": 1,
50
+ "maxLength": 200
51
+ },
52
+ "actor": {
53
+ "type": "object",
54
+ "properties": {
55
+ "kind": {
56
+ "type": "string",
57
+ "enum": [
58
+ "person",
59
+ "harness",
60
+ "agent",
61
+ "system"
62
+ ],
63
+ "description": "Whether a person, a harness, one of a harness's agents or Chips itself acted."
64
+ },
65
+ "id": {
66
+ "type": "string",
67
+ "minLength": 1,
68
+ "description": "The participant id, or `system` for Chips."
69
+ },
70
+ "harness_id": {
71
+ "description": "For an agent: the harness it speaks through, whose budget and runs are the agent's (ADR 0087). Filled in by Chips.",
72
+ "type": "string",
73
+ "pattern": "^hrn_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
74
+ }
75
+ },
76
+ "required": [
77
+ "kind",
78
+ "id"
79
+ ],
80
+ "description": "The participant an event is attributed to."
81
+ },
82
+ "summary": {
83
+ "type": "string",
84
+ "minLength": 1,
85
+ "maxLength": 20000,
86
+ "description": "The outcome, in the product voice."
87
+ },
88
+ "changed": {
89
+ "description": "What changed in the world.",
90
+ "maxItems": 50,
91
+ "type": "array",
92
+ "items": {
93
+ "type": "string",
94
+ "maxLength": 500
95
+ }
96
+ },
97
+ "follow_ups": {
98
+ "description": "What is worth doing next.",
99
+ "maxItems": 50,
100
+ "type": "array",
101
+ "items": {
102
+ "type": "string",
103
+ "maxLength": 500
104
+ }
105
+ },
106
+ "cost": {
107
+ "description": "The run's estimated cost.",
108
+ "type": "object",
109
+ "properties": {
110
+ "usd": {
111
+ "type": "number",
112
+ "minimum": 0,
113
+ "description": "An estimate, in US dollars."
114
+ },
115
+ "estimated": {
116
+ "type": "boolean",
117
+ "const": true,
118
+ "description": "Always true. Cost is never presented as exact."
119
+ }
120
+ },
121
+ "required": [
122
+ "usd",
123
+ "estimated"
124
+ ]
125
+ }
126
+ },
127
+ "required": [
128
+ "v",
129
+ "type",
130
+ "id",
131
+ "ts",
132
+ "workspace_id",
133
+ "actor",
134
+ "summary"
135
+ ],
136
+ "description": "The run is done. Posts a summary card and moves the status pill to Done.",
137
+ "$id": "https://chipschat.ai/schema/v1/run.completed.json",
138
+ "title": "RunCompleted"
139
+ }
@@ -0,0 +1,135 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "v": {
6
+ "type": "number",
7
+ "const": 1,
8
+ "description": "Protocol major version."
9
+ },
10
+ "type": {
11
+ "type": "string",
12
+ "const": "run.failed"
13
+ },
14
+ "id": {
15
+ "type": "string",
16
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
17
+ "description": "The event's own id. Stable across a retry of the same event."
18
+ },
19
+ "ts": {
20
+ "type": "string",
21
+ "format": "date-time",
22
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
23
+ "description": "When it happened, by Chips' clock. Stamped on the way in; a value the sender writes is replaced."
24
+ },
25
+ "workspace_id": {
26
+ "type": "string",
27
+ "pattern": "^ws_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
28
+ "description": "A workspace identifier: `ws_` followed by a ULID."
29
+ },
30
+ "space_id": {
31
+ "description": "The space, when the event belongs to one.",
32
+ "type": "string",
33
+ "pattern": "^spc_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
34
+ },
35
+ "run_id": {
36
+ "description": "The run, when the event belongs to one.",
37
+ "type": "string",
38
+ "pattern": "^run_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
39
+ },
40
+ "seq": {
41
+ "description": "Assigned by the server on append, monotonic per workspace. Absent on the way in.",
42
+ "type": "integer",
43
+ "exclusiveMinimum": 0,
44
+ "maximum": 9007199254740991
45
+ },
46
+ "idempotency_key": {
47
+ "description": "Required on every client-originated write. Sending the same key twice is a no-op.",
48
+ "type": "string",
49
+ "minLength": 1,
50
+ "maxLength": 200
51
+ },
52
+ "actor": {
53
+ "type": "object",
54
+ "properties": {
55
+ "kind": {
56
+ "type": "string",
57
+ "enum": [
58
+ "person",
59
+ "harness",
60
+ "agent",
61
+ "system"
62
+ ],
63
+ "description": "Whether a person, a harness, one of a harness's agents or Chips itself acted."
64
+ },
65
+ "id": {
66
+ "type": "string",
67
+ "minLength": 1,
68
+ "description": "The participant id, or `system` for Chips."
69
+ },
70
+ "harness_id": {
71
+ "description": "For an agent: the harness it speaks through, whose budget and runs are the agent's (ADR 0087). Filled in by Chips.",
72
+ "type": "string",
73
+ "pattern": "^hrn_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
74
+ }
75
+ },
76
+ "required": [
77
+ "kind",
78
+ "id"
79
+ ],
80
+ "description": "The participant an event is attributed to."
81
+ },
82
+ "error": {
83
+ "type": "string",
84
+ "minLength": 1,
85
+ "maxLength": 4000,
86
+ "description": "What went wrong."
87
+ },
88
+ "left_undone": {
89
+ "description": "What did not get done.",
90
+ "maxItems": 50,
91
+ "type": "array",
92
+ "items": {
93
+ "type": "string",
94
+ "maxLength": 500
95
+ }
96
+ },
97
+ "retryable": {
98
+ "default": false,
99
+ "description": "Whether running it again might work.",
100
+ "type": "boolean"
101
+ },
102
+ "cost": {
103
+ "description": "What was spent before it failed.",
104
+ "type": "object",
105
+ "properties": {
106
+ "usd": {
107
+ "type": "number",
108
+ "minimum": 0,
109
+ "description": "An estimate, in US dollars."
110
+ },
111
+ "estimated": {
112
+ "type": "boolean",
113
+ "const": true,
114
+ "description": "Always true. Cost is never presented as exact."
115
+ }
116
+ },
117
+ "required": [
118
+ "usd",
119
+ "estimated"
120
+ ]
121
+ }
122
+ },
123
+ "required": [
124
+ "v",
125
+ "type",
126
+ "id",
127
+ "ts",
128
+ "workspace_id",
129
+ "actor",
130
+ "error"
131
+ ],
132
+ "description": "The run stopped without finishing. Says what was left undone, so a person can pick it up.",
133
+ "$id": "https://chipschat.ai/schema/v1/run.failed.json",
134
+ "title": "RunFailed"
135
+ }
@@ -0,0 +1,106 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "v": {
6
+ "type": "number",
7
+ "const": 1,
8
+ "description": "Protocol major version."
9
+ },
10
+ "type": {
11
+ "type": "string",
12
+ "const": "run.pause"
13
+ },
14
+ "id": {
15
+ "type": "string",
16
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
17
+ "description": "The event's own id. Stable across a retry of the same event."
18
+ },
19
+ "ts": {
20
+ "type": "string",
21
+ "format": "date-time",
22
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
23
+ "description": "When it happened, by Chips' clock. Stamped on the way in; a value the sender writes is replaced."
24
+ },
25
+ "workspace_id": {
26
+ "type": "string",
27
+ "pattern": "^ws_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
28
+ "description": "A workspace identifier: `ws_` followed by a ULID."
29
+ },
30
+ "space_id": {
31
+ "description": "The space, when the event belongs to one.",
32
+ "type": "string",
33
+ "pattern": "^spc_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
34
+ },
35
+ "run_id": {
36
+ "description": "The run, when the event belongs to one.",
37
+ "type": "string",
38
+ "pattern": "^run_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
39
+ },
40
+ "seq": {
41
+ "description": "Assigned by the server on append, monotonic per workspace. Absent on the way in.",
42
+ "type": "integer",
43
+ "exclusiveMinimum": 0,
44
+ "maximum": 9007199254740991
45
+ },
46
+ "idempotency_key": {
47
+ "description": "Required on every client-originated write. Sending the same key twice is a no-op.",
48
+ "type": "string",
49
+ "minLength": 1,
50
+ "maxLength": 200
51
+ },
52
+ "actor": {
53
+ "type": "object",
54
+ "properties": {
55
+ "kind": {
56
+ "type": "string",
57
+ "enum": [
58
+ "person",
59
+ "harness",
60
+ "agent",
61
+ "system"
62
+ ],
63
+ "description": "Whether a person, a harness, one of a harness's agents or Chips itself acted."
64
+ },
65
+ "id": {
66
+ "type": "string",
67
+ "minLength": 1,
68
+ "description": "The participant id, or `system` for Chips."
69
+ },
70
+ "harness_id": {
71
+ "description": "For an agent: the harness it speaks through, whose budget and runs are the agent's (ADR 0087). Filled in by Chips.",
72
+ "type": "string",
73
+ "pattern": "^hrn_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
74
+ }
75
+ },
76
+ "required": [
77
+ "kind",
78
+ "id"
79
+ ],
80
+ "description": "The participant an event is attributed to."
81
+ },
82
+ "reason": {
83
+ "description": "Why the run is pausing.",
84
+ "type": "string",
85
+ "maxLength": 1000
86
+ },
87
+ "by": {
88
+ "type": "string",
89
+ "minLength": 1,
90
+ "maxLength": 120,
91
+ "description": "Who paused it, or `system`. Filled in by Chips from the credential that sent it."
92
+ }
93
+ },
94
+ "required": [
95
+ "v",
96
+ "type",
97
+ "id",
98
+ "ts",
99
+ "workspace_id",
100
+ "actor",
101
+ "by"
102
+ ],
103
+ "description": "Stop where you are and hold. Sent by a person, or by Chips at a budget or context ceiling.",
104
+ "$id": "https://chipschat.ai/schema/v1/run.pause.json",
105
+ "title": "RunPause"
106
+ }
@@ -0,0 +1,128 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "v": {
6
+ "type": "number",
7
+ "const": 1,
8
+ "description": "Protocol major version."
9
+ },
10
+ "type": {
11
+ "type": "string",
12
+ "const": "run.plan"
13
+ },
14
+ "id": {
15
+ "type": "string",
16
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
17
+ "description": "The event's own id. Stable across a retry of the same event."
18
+ },
19
+ "ts": {
20
+ "type": "string",
21
+ "format": "date-time",
22
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
23
+ "description": "When it happened, by Chips' clock. Stamped on the way in; a value the sender writes is replaced."
24
+ },
25
+ "workspace_id": {
26
+ "type": "string",
27
+ "pattern": "^ws_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
28
+ "description": "A workspace identifier: `ws_` followed by a ULID."
29
+ },
30
+ "space_id": {
31
+ "description": "The space, when the event belongs to one.",
32
+ "type": "string",
33
+ "pattern": "^spc_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
34
+ },
35
+ "run_id": {
36
+ "description": "The run, when the event belongs to one.",
37
+ "type": "string",
38
+ "pattern": "^run_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
39
+ },
40
+ "seq": {
41
+ "description": "Assigned by the server on append, monotonic per workspace. Absent on the way in.",
42
+ "type": "integer",
43
+ "exclusiveMinimum": 0,
44
+ "maximum": 9007199254740991
45
+ },
46
+ "idempotency_key": {
47
+ "description": "Required on every client-originated write. Sending the same key twice is a no-op.",
48
+ "type": "string",
49
+ "minLength": 1,
50
+ "maxLength": 200
51
+ },
52
+ "actor": {
53
+ "type": "object",
54
+ "properties": {
55
+ "kind": {
56
+ "type": "string",
57
+ "enum": [
58
+ "person",
59
+ "harness",
60
+ "agent",
61
+ "system"
62
+ ],
63
+ "description": "Whether a person, a harness, one of a harness's agents or Chips itself acted."
64
+ },
65
+ "id": {
66
+ "type": "string",
67
+ "minLength": 1,
68
+ "description": "The participant id, or `system` for Chips."
69
+ },
70
+ "harness_id": {
71
+ "description": "For an agent: the harness it speaks through, whose budget and runs are the agent's (ADR 0087). Filled in by Chips.",
72
+ "type": "string",
73
+ "pattern": "^hrn_[0-7][0-9A-HJKMNP-TV-Z]{25}$"
74
+ }
75
+ },
76
+ "required": [
77
+ "kind",
78
+ "id"
79
+ ],
80
+ "description": "The participant an event is attributed to."
81
+ },
82
+ "plan": {
83
+ "minItems": 1,
84
+ "maxItems": 64,
85
+ "type": "array",
86
+ "items": {
87
+ "type": "object",
88
+ "properties": {
89
+ "step_id": {
90
+ "type": "string",
91
+ "minLength": 1,
92
+ "maxLength": 120,
93
+ "description": "Stable for the life of the run, so updates land on the right row."
94
+ },
95
+ "title": {
96
+ "type": "string",
97
+ "minLength": 1,
98
+ "maxLength": 300,
99
+ "description": "What this step will do."
100
+ }
101
+ },
102
+ "required": [
103
+ "step_id",
104
+ "title"
105
+ ],
106
+ "description": "One step of a plan, shown as a hollow dot until it completes."
107
+ },
108
+ "description": "The steps still to come, in order. Steps already done or failed stay ahead of these; a step still to do that is not here is dropped."
109
+ },
110
+ "reason": {
111
+ "description": "Why the plan changed, in a sentence: a steer, a surprise, a shortcut.",
112
+ "type": "string",
113
+ "maxLength": 1000
114
+ }
115
+ },
116
+ "required": [
117
+ "v",
118
+ "type",
119
+ "id",
120
+ "ts",
121
+ "workspace_id",
122
+ "actor",
123
+ "plan"
124
+ ],
125
+ "description": "The plan changed. Replaces the steps not yet done; the ones already done or failed keep their place.",
126
+ "$id": "https://chipschat.ai/schema/v1/run.plan.json",
127
+ "title": "RunPlan"
128
+ }