@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,593 @@
1
+ /**
2
+ * Events a harness sends to Chips.
3
+ *
4
+ * The interface is progressive (blueprint, Connect): the minimum is three events — a run
5
+ * started, a message, a run completed. Every extra event upgrades what the person sees. Send
6
+ * step logs and you get receipts; send approval requests and you get approval cards; send
7
+ * context usage and you get the context ring.
8
+ */
9
+ import { z } from "zod";
10
+ import { defineEvent } from "../envelope.js";
11
+ import { action, agentId, approverRef, attachment, autonomyLevel, cost, id, isoTimestamp, memberId, preview, riskClass, sessionRef, source, stepKind, } from "../primitives.js";
12
+ import { commitId } from "../project.js";
13
+ const plannedStep = z
14
+ .object({
15
+ step_id: z
16
+ .string()
17
+ .min(1)
18
+ .max(120)
19
+ .describe("Stable for the life of the run, so updates land on the right row."),
20
+ title: z.string().min(1).max(300).describe("What this step will do."),
21
+ })
22
+ .describe("One step of a plan, shown as a hollow dot until it completes.");
23
+ export const sessionStarted = defineEvent({
24
+ type: "session.started",
25
+ direction: "harness_to_chips",
26
+ sender: "harness",
27
+ summary: "A visit to a space began: a terminal opened, a process attached. The space outlives it.",
28
+ requiresRun: false,
29
+ payload: z.object({
30
+ session_ref: sessionRef,
31
+ started_reason: z
32
+ .string()
33
+ .max(60)
34
+ .optional()
35
+ .describe("Why the visit began, in the harness's own word: `startup`, `resume`, `fork`."),
36
+ where: z
37
+ .string()
38
+ .max(300)
39
+ .optional()
40
+ .describe('Where it is running, for a person to read: "mbp \u00b7 ~/Work/Chips".'),
41
+ transcript_ref: z
42
+ .string()
43
+ .max(1000)
44
+ .optional()
45
+ .describe("The harness's own transcript of this visit, so a person can jump to it."),
46
+ }),
47
+ });
48
+ export const sessionEnded = defineEvent({
49
+ type: "session.ended",
50
+ direction: "harness_to_chips",
51
+ sender: "harness",
52
+ summary: "The visit is over. The space, its history and anything still waiting all stay.",
53
+ requiresRun: false,
54
+ payload: z.object({
55
+ session_ref: sessionRef,
56
+ ended_reason: z
57
+ .string()
58
+ .max(60)
59
+ .optional()
60
+ .describe("Why it ended, in the harness's own word: `clear`, `logout`, `other`."),
61
+ }),
62
+ });
63
+ export const sessionRenamed = defineEvent({
64
+ type: "session.renamed",
65
+ direction: "harness_to_chips",
66
+ sender: "harness",
67
+ summary: "What a visit is called, in the harness's own words (ADR 0040).",
68
+ requiresRun: false,
69
+ payload: z.object({
70
+ session_ref: sessionRef,
71
+ title: z
72
+ .string()
73
+ .min(1)
74
+ .max(200)
75
+ .describe("What to call this visit on screen. A harness that names its sessions sends this when the name changes and not otherwise; a visit with no name is shown by where it is running instead."),
76
+ }),
77
+ });
78
+ export const runStarted = defineEvent({
79
+ type: "run.started",
80
+ direction: "harness_to_chips",
81
+ sender: "harness",
82
+ summary: "A harness has begun a unit of work, optionally with the plan it intends to follow.",
83
+ requiresRun: true,
84
+ payload: z.object({
85
+ goal: z
86
+ .string()
87
+ .min(1)
88
+ .max(4000)
89
+ .describe("What the run is for, in the person's words where possible."),
90
+ plan: z
91
+ .array(plannedStep)
92
+ .max(64)
93
+ .optional()
94
+ .describe("The steps the harness expects to take. The run panel draws one hollow dot each."),
95
+ session_ref: sessionRef
96
+ .optional()
97
+ .describe("The visit this run belongs to, so two terminals in one space are told apart."),
98
+ goal_from: z
99
+ .enum(["harness", "chips"])
100
+ .optional()
101
+ .describe("Where the goal came from. `harness`: a person asked for it at the harness's own surface \u2014 a terminal, a chat the harness already had \u2014 so Chips shows it as their message, because otherwise the room holds only the answers. `chips`: it arrived as a message here and is already on screen. Either way the room's header and the run panel leave the goal out, because the room shows it. Omit when the goal was not a person's words at all; the header and the run panel then say it."),
102
+ }),
103
+ });
104
+ export const runStatus = defineEvent({
105
+ type: "run.status",
106
+ direction: "harness_to_chips",
107
+ sender: "harness",
108
+ summary: "What the harness is doing right now. This is the harness's typing indicator.",
109
+ requiresRun: true,
110
+ payload: z.object({
111
+ phase: z.string().min(1).max(120).describe("A short machine-ish label, for example `reading`."),
112
+ verb_phrase: z
113
+ .string()
114
+ .min(1)
115
+ .max(200)
116
+ .describe('What to show under the harness\'s name, for example "Reading PO #4471…".'),
117
+ progress: z
118
+ .number()
119
+ .min(0)
120
+ .max(1)
121
+ .optional()
122
+ .describe("Fraction complete, when the harness knows."),
123
+ estimate_seconds: z
124
+ .int()
125
+ .nonnegative()
126
+ .optional()
127
+ .describe("Seconds remaining, when the harness knows."),
128
+ }),
129
+ });
130
+ export const runPlan = defineEvent({
131
+ type: "run.plan",
132
+ direction: "harness_to_chips",
133
+ sender: "harness",
134
+ summary: "The plan changed. Replaces the steps not yet done; the ones already done or failed keep their place.",
135
+ requiresRun: true,
136
+ payload: z.object({
137
+ plan: z
138
+ .array(plannedStep)
139
+ .min(1)
140
+ .max(64)
141
+ .describe("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."),
142
+ reason: z
143
+ .string()
144
+ .max(1000)
145
+ .optional()
146
+ .describe("Why the plan changed, in a sentence: a steer, a surprise, a shortcut."),
147
+ }),
148
+ });
149
+ export const stepLog = defineEvent({
150
+ type: "step.log",
151
+ direction: "harness_to_chips",
152
+ sender: "harness",
153
+ summary: "One tool call or reasoning step, for the receipt and the run timeline.",
154
+ requiresRun: true,
155
+ payload: z.object({
156
+ step_id: z
157
+ .string()
158
+ .min(1)
159
+ .max(120)
160
+ .describe("Stable across the started and done events for one step."),
161
+ status: z.enum(["started", "done", "failed"]).describe("Where this step got to."),
162
+ title: z
163
+ .string()
164
+ .max(300)
165
+ .optional()
166
+ .describe("What the step is, when it was not in the plan."),
167
+ tool: z.string().max(120).optional().describe("The tool called, for example `drive.read`."),
168
+ kind: stepKind
169
+ .optional()
170
+ .describe("What kind of call the tool is, when the harness knows: the apps draw a step by it where they do not know the tool by its name."),
171
+ summary: z.string().max(2000).optional().describe("One line for the receipt."),
172
+ sources: z.array(source).max(32).optional().describe("Where the information came from."),
173
+ duration_ms: z.int().nonnegative().optional().describe("How long the step took."),
174
+ error: z.string().max(2000).optional().describe("Why it failed, when it did."),
175
+ }),
176
+ });
177
+ export const messagePost = defineEvent({
178
+ type: "message.post",
179
+ direction: "harness_to_chips",
180
+ sender: "either",
181
+ chipsWrites: ["held_since", "from_held"],
182
+ summary: "A harness says something in a space, with any attachments.",
183
+ requiresRun: false,
184
+ payload: z.object({
185
+ text: z.string().max(64_000).describe("Markdown, with mentions."),
186
+ attachments: z
187
+ .array(attachment)
188
+ .max(20)
189
+ .optional()
190
+ .describe("Photos, video, voice notes, files, as the upload described them."),
191
+ upload_ids: z
192
+ .array(id("attachment"))
193
+ .max(20)
194
+ .optional()
195
+ .describe("Uploads to attach, by the id `POST /v1/uploads` gave. Chips fills in `attachments` from what it stored."),
196
+ replaces: z
197
+ .record(id("attachment"), id("attachment"))
198
+ .refine((map) => Object.keys(map).length <= 20, "a post carries 20 files at most")
199
+ .optional()
200
+ .describe("Which version of the room's file each file here was made from (ADR 0099): an upload's or attachment's id, to the `attachment_id` of the version it changes, as `context.files` listed it. Each key is one of this post's `upload_ids` or `attachments`. A post made from a version that is no longer current is refused, `stale_file`, saying which file and who changed it; nothing of it is taken. A version of another name, or of another room, is no version of this file: Chips leaves it out. Chips copies each onto its attachment as `replaces`, and does not keep the map."),
201
+ change: commitId
202
+ .optional()
203
+ .describe("The commit the turn's push left the room's project at (ADR 0222): the room shows the change with this message. Chips keeps it only when the commit is on the room's `main` and is this agent's own; otherwise the message is kept without it."),
204
+ reply_to: id("message")
205
+ .optional()
206
+ .describe("The message being answered, when it is a reply: one said in the same room, or the post is refused (ADR 0219). A person's reply to an agent's message is for that agent, unless an @ or `to` says otherwise; a harness's reply to an agent's message is for that agent too (ADR 0081), so a harness sets it only when it means to address them."),
207
+ session_ref: sessionRef
208
+ .optional()
209
+ .describe("The visit this message is for, when the sender means one of several (ADR 0040). Chips checks it names a session of this space and carries it to the harness; a harness that works by visits delivers there rather than choosing, and one that does not ignores it."),
210
+ mentions: z
211
+ .array(z.string().min(1).max(120))
212
+ .max(64)
213
+ .optional()
214
+ .describe("The participants the text's @handles name, as ids. Filled in by Chips against the space's members; a value the sender writes is replaced."),
215
+ to: z
216
+ .union([z.literal("all"), z.array(memberId).min(1).max(64)])
217
+ .optional()
218
+ .describe("Who the sender chose, without typing an @: agent ids and people's, or `all` for every agent in the space (ADR 0081, ADR 0087, ADR 0204). A harness's id names its one agent in the space. Chips keeps only the members. People picked are who a person's message is for besides its agents (`addressed_people`); no agent takes a turn for them. An @ in the text decides before it."),
219
+ heartbeat: z
220
+ .literal(true)
221
+ .optional()
222
+ .describe("The agent wrote this on its own, on its heartbeat, with nobody asking (ADR 0143): the apps mark it so. Only a harness, or one of its agents, sends it; a check with nothing to say posts nothing."),
223
+ addressed_to: z
224
+ .array(agentId)
225
+ .max(64)
226
+ .optional()
227
+ .describe("The agents this message is for, and so the agents that take a turn on it (ADR 0081, ADR 0087). Filled in by Chips from the @s, `to`, the reply and the space; a value the sender writes is replaced. A message logged without it was for every harness in the space."),
228
+ addressed_people: z
229
+ .array(id("person"))
230
+ .max(64)
231
+ .optional()
232
+ .describe("Filled in by Chips on a person's message (ADR 0204): the people it is for, those its @s name, or else those the sender picked in `to`. They are pushed as an @ pushes them; no agent takes a turn for them. Absent for none; a value the sender writes is replaced."),
233
+ addressed_to_all: z
234
+ .literal(true)
235
+ .optional()
236
+ .describe("Filled in by Chips when the message is for every harness in the space, whoever is there: `@all`, a `to` of `all`, or a person's default of everyone (ADR 0081). That person's next message that names nobody goes to every harness there is then, one added since included."),
237
+ held: z
238
+ .literal(true)
239
+ .optional()
240
+ .describe("Filled in by Chips when harnesses have addressed each other four times since a person last spoke there: the message is posted and shown, and addressed to nobody (ADR 0081)."),
241
+ held_since: isoTimestamp
242
+ .optional()
243
+ .describe("Written by Chips for words the agent said while in no room (ADR 0087, rule 6): when it said them. Posted here as it was attached."),
244
+ from_held: id("event")
245
+ .optional()
246
+ .describe("Written by Chips: the `message.held` these words were kept as."),
247
+ }),
248
+ });
249
+ export const approvalRequest = defineEvent({
250
+ type: "approval.request",
251
+ direction: "harness_to_chips",
252
+ sender: "harness",
253
+ summary: "The thing a group chat cannot do: an action, a preview, a risk class, who may answer, and an audit record.",
254
+ requiresRun: true,
255
+ payload: z.object({
256
+ approval_id: id("approval").describe("Minted by the harness, so a retry after a reconnect is the same ask."),
257
+ step_id: z.string().min(1).max(120).optional().describe("The plan step this ask belongs to."),
258
+ action,
259
+ question: z
260
+ .string()
261
+ .min(1)
262
+ .max(200)
263
+ .optional()
264
+ .describe("The question the person answers yes or no, as one sentence in plain words: `Turn off the Robinhood connector?`. The card leads with it. Without it the card is headed by the preview's title, else the action's kind (ADR 0142)."),
265
+ effect: z
266
+ .string()
267
+ .min(1)
268
+ .max(500)
269
+ .optional()
270
+ .describe("What a yes does, in a sentence or two: `Its 73 tools disappear from every Space.` Drawn under the question."),
271
+ lasts: z
272
+ .enum(["once", "standing"])
273
+ .optional()
274
+ .describe("How long a yes keeps working: `once` for this action alone, `standing` for a grant that holds until it is taken back, such as a folder an agent may keep working in. The card says which."),
275
+ preview: preview
276
+ .optional()
277
+ .describe("What the approver sees. Omit only when the action speaks for itself."),
278
+ risk: z
279
+ .array(riskClass)
280
+ .max(8)
281
+ .describe("Risk classes. The policy engine matches rules against these."),
282
+ sources: z
283
+ .array(source)
284
+ .max(32)
285
+ .optional()
286
+ .describe("Where the harness got what it is about to act on."),
287
+ expires_in: z
288
+ .int()
289
+ .positive()
290
+ .max(604_800)
291
+ .describe("Seconds until the approval expires. Every approval has an expiry and a fallback."),
292
+ fallback: z
293
+ .enum(["deny", "allow"])
294
+ .default("deny")
295
+ .describe("What happens on expiry. Denying is the default, and the safe one."),
296
+ approvers: z
297
+ .array(approverRef)
298
+ .max(16)
299
+ .optional()
300
+ .describe("Who may answer, as the harness asks it: `owner`, `any` (the room, but its guests), `role:<name>` (a standing in the space or in the workspace), or a person id. `lead` (the lane's lead, when the run is a lane's) is a policy rule's to name, never a harness's, and never for an ask that matters — money, a deletion, an external action reach a person. Chips resolves them — policy's own list when a rule names one — to ids before the event is stored, and only those may decide it; a person may hand it on with `approval.routed`."),
301
+ editable: z
302
+ .boolean()
303
+ .default(false)
304
+ .describe("Whether the approver may change the input before allowing."),
305
+ resume_token: z
306
+ .string()
307
+ .max(500)
308
+ .optional()
309
+ .describe("Lets a paused command-line run continue hours later. Approvals outlive processes."),
310
+ }),
311
+ });
312
+ const questionOption = z
313
+ .object({
314
+ value: z.string().min(1).max(120).describe("What comes back in `question.answered`."),
315
+ label: z.string().min(1).max(200).describe("What the person taps."),
316
+ description: z.string().max(500).optional().describe("What choosing it means."),
317
+ })
318
+ .describe("One tappable option.");
319
+ const question = z
320
+ .object({
321
+ question_id: z
322
+ .string()
323
+ .min(1)
324
+ .max(120)
325
+ .describe("Stable, so answers land on the right question."),
326
+ prompt: z.string().min(1).max(2000).describe("What is being asked."),
327
+ options: z.array(questionOption).min(2).max(4).describe("Two to four options."),
328
+ multi_select: z
329
+ .boolean()
330
+ .default(false)
331
+ .describe("Whether more than one option may be chosen."),
332
+ allow_free_text: z.boolean().default(false).describe("Whether the person may type instead."),
333
+ default_value: z
334
+ .string()
335
+ .max(120)
336
+ .optional()
337
+ .describe("What the harness will take if nobody answers. Its presence lowers the notification tier."),
338
+ })
339
+ .describe("One question, with its options.");
340
+ export const questionAsk = defineEvent({
341
+ type: "question.ask",
342
+ direction: "harness_to_chips",
343
+ sender: "harness",
344
+ summary: "One to four questions with tappable options, a default, and a timeout.",
345
+ requiresRun: true,
346
+ payload: z.object({
347
+ ask_id: id("question").describe("Minted by the harness, so a retry is the same ask."),
348
+ questions: z.array(question).min(1).max(4).describe("One to four questions."),
349
+ timeout_seconds: z
350
+ .int()
351
+ .positive()
352
+ .max(604_800)
353
+ .optional()
354
+ .describe("How long to wait for an answer."),
355
+ on_no_answer: z
356
+ .enum(["use_default", "cancel", "continue"])
357
+ .default("use_default")
358
+ .describe("What the harness will do if the timeout passes."),
359
+ }),
360
+ });
361
+ export const artifactCreate = defineEvent({
362
+ type: "artifact.create",
363
+ direction: "harness_to_chips",
364
+ sender: "harness",
365
+ summary: "A file, document, code, image or table the harness produced, with a version.",
366
+ requiresRun: false,
367
+ payload: z.object({
368
+ artifact_id: id("attachment").describe("Content-addressed, like every attachment."),
369
+ kind: z.enum(["file", "document", "code", "image", "table"]).describe("How to render it."),
370
+ title: z.string().min(1).max(300).describe("What to call it."),
371
+ version: z.int().positive().default(1).describe("Bumped when the harness revises it."),
372
+ attachment: attachment.optional().describe("The bytes, when the artifact is a file."),
373
+ body: z.string().max(1_000_000).optional().describe("The content, when the artifact is text."),
374
+ language: z.string().max(60).optional().describe("For code, the language to highlight."),
375
+ }),
376
+ });
377
+ /**
378
+ * A turn working in a room heard words said there (ADR 0106): for somebody else, when Chips named
379
+ * the turn in `working_turns` and the harness handed them to it at its next step; or for its own
380
+ * agent, when the harness joined them to that agent's turn going rather than start another
381
+ * (ADR 0109). On that run, said as the run's agent; the room shows that agent heard the message
382
+ * while it worked.
383
+ */
384
+ export const messageHeard = defineEvent({
385
+ type: "message.heard",
386
+ direction: "harness_to_chips",
387
+ sender: "harness",
388
+ summary: "A turn working in a room heard a message said there, as it worked.",
389
+ requiresRun: true,
390
+ payload: z.object({
391
+ message_id: id("message").describe("The message, as `message.overheard` or `message.new` named it."),
392
+ }),
393
+ });
394
+ export const checkpoint = defineEvent({
395
+ type: "checkpoint",
396
+ direction: "harness_to_chips",
397
+ sender: "harness",
398
+ summary: "A milestone reached and what is next. Compaction is a checkpoint. FYI tier.",
399
+ requiresRun: true,
400
+ payload: z.object({
401
+ label: z.string().min(1).max(300).describe("The milestone reached."),
402
+ next: z.string().max(300).optional().describe("What the harness will do next."),
403
+ compacted: z
404
+ .boolean()
405
+ .default(false)
406
+ .describe("True when the harness just compacted its context."),
407
+ }),
408
+ });
409
+ export const handoff = defineEvent({
410
+ type: "handoff",
411
+ direction: "harness_to_chips",
412
+ sender: "harness",
413
+ summary: "Passing work to a person or another harness, with a context summary and what is still open.",
414
+ requiresRun: false,
415
+ payload: z.object({
416
+ to: z.string().min(1).max(120).describe("The participant id receiving the work."),
417
+ context_summary: z.string().min(1).max(20_000).describe("What the recipient needs to know."),
418
+ open_items: z.array(z.string().max(500)).max(50).optional().describe("What is still undone."),
419
+ reason: z.string().max(1000).optional().describe("Why the work is moving."),
420
+ }),
421
+ });
422
+ export const task = defineEvent({
423
+ type: "task",
424
+ direction: "harness_to_chips",
425
+ sender: "harness",
426
+ summary: "Route work to another harness. From a lead this becomes a lane: one object, two views, never a copy.",
427
+ requiresRun: false,
428
+ payload: z.object({
429
+ task_id: id("lane").describe("The lane this task opens."),
430
+ to: z
431
+ .string()
432
+ .min(1)
433
+ .max(120)
434
+ .describe("The specialist's participant id; a label for an ephemeral child; or the lead's own id, for a lane between two of its spaces — a specialist of its own in another of its rooms, a subagent in a worktree — which `home` then names."),
435
+ child: z
436
+ .object({
437
+ label: z
438
+ .string()
439
+ .min(1)
440
+ .max(120)
441
+ .describe("A name for a transient participant Chips will mint."),
442
+ })
443
+ .optional()
444
+ .describe("Names an ephemeral child, which inherits owner, autonomy and budget from the lead."),
445
+ on_behalf_of: z
446
+ .string()
447
+ .min(1)
448
+ .max(120)
449
+ .describe("The person the work is ultimately for: the lead's own owner, or a person in the space the task is sent from. A task on behalf of anyone else is kept in the lead's run."),
450
+ origin: id("message").optional().describe("The message that caused this routing."),
451
+ goal: z.string().min(1).max(4000).describe("What the specialist is being asked to do."),
452
+ constraints: z
453
+ .array(z.string().max(500))
454
+ .max(20)
455
+ .optional()
456
+ .describe("Bounds on how to do it."),
457
+ deadline: isoTimestamp.optional().describe("When it is needed by."),
458
+ autonomy: autonomyLevel
459
+ .optional()
460
+ .describe("The level for this lane. Never above the lead's own."),
461
+ attachments: z.array(attachment).max(20).optional().describe("Anything the specialist needs."),
462
+ link_to: id("space")
463
+ .optional()
464
+ .describe("A lead space to link the lane into, besides the one the task is sent from: where the route card appears and the lane's news lands. It must be a space the lead is in; one it is not in is ignored."),
465
+ home: id("space")
466
+ .optional()
467
+ .describe("Where the lane lives, when the lead already has the room: one of its own spaces, for a lane between two spaces of one harness. The lead and the specialist must both be in it. Absent, the specialist's direct space with the person, opened if it has none."),
468
+ label: z
469
+ .string()
470
+ .min(1)
471
+ .max(120)
472
+ .optional()
473
+ .describe("What to call the specialist on this lane when its participant name is not the right one: a Space's name, a subagent's type. Shown on the route card and the task card."),
474
+ }),
475
+ });
476
+ export const usage = defineEvent({
477
+ type: "usage",
478
+ direction: "harness_to_chips",
479
+ sender: "harness",
480
+ summary: "Tokens and cost for a step, a run or a lane. Cost rolls up the trail and is always an estimate.",
481
+ requiresRun: true,
482
+ payload: z.object({
483
+ scope: z.enum(["step", "run", "lane"]).describe("What the numbers cover."),
484
+ model: z.string().min(1).max(120).describe("The model that did the work."),
485
+ input_tokens: z
486
+ .int()
487
+ .nonnegative()
488
+ .optional()
489
+ .describe("Tokens in: every token the model read, fresh, read from its prompt cache and written to it. Leave it out when the harness cannot say: the tokens out are still counted, and Chips puts no price on a report it cannot count whole."),
490
+ cache_read_tokens: z
491
+ .int()
492
+ .nonnegative()
493
+ .optional()
494
+ .describe("Of the tokens in, how many the model read from its prompt cache. Leave it out when the harness cannot say or the model keeps no cache."),
495
+ cache_write_tokens: z
496
+ .int()
497
+ .nonnegative()
498
+ .optional()
499
+ .describe("Of the tokens in, how many the model wrote to its prompt cache. Leave it out when the harness cannot say or the model keeps no cache."),
500
+ output_tokens: z
501
+ .int()
502
+ .nonnegative()
503
+ .optional()
504
+ .describe("Tokens out. Leave it out when the harness cannot say, and send the cost: Chips prices only a report whose tokens it has whole."),
505
+ cost: cost.optional().describe("The estimated cost, when the harness can compute one."),
506
+ }),
507
+ });
508
+ export const contextUsage = defineEvent({
509
+ type: "context.usage",
510
+ direction: "harness_to_chips",
511
+ sender: "harness",
512
+ summary: "How full the harness's context is. Drives the context ring; context stays per harness, never rolled up.",
513
+ requiresRun: true,
514
+ payload: z.object({
515
+ used_tokens: z.int().nonnegative().describe("Tokens currently held."),
516
+ limit_tokens: z.int().positive().describe("The window size."),
517
+ model: z.string().min(1).max(120).describe("The model whose window this is."),
518
+ compacted: z.boolean().default(false).describe("True when the harness just compacted."),
519
+ }),
520
+ });
521
+ export const approvalExecuted = defineEvent({
522
+ type: "approval.executed",
523
+ direction: "harness_to_chips",
524
+ sender: "harness",
525
+ summary: "What happened after a yes. The card changes from `approved` to `sent`, or to `failed`.",
526
+ requiresRun: true,
527
+ payload: z.object({
528
+ approval_id: id("approval"),
529
+ outcome: z
530
+ .enum(["executed", "failed", "skipped"])
531
+ .describe("Whether the action actually happened."),
532
+ detail: z.string().max(4000).optional().describe("What was sent, or why it failed."),
533
+ approvers: z
534
+ .array(z.string().min(1).max(120))
535
+ .max(64)
536
+ .optional()
537
+ .describe("Who could answer it, as ids, as they stood when it was decided. Written by Chips from the approval so that somebody named outside the room sees what came of their decision (ADR 0042); a value the sender writes is replaced."),
538
+ }),
539
+ });
540
+ export const runCompleted = defineEvent({
541
+ type: "run.completed",
542
+ direction: "harness_to_chips",
543
+ sender: "harness",
544
+ summary: "The run is done. Posts a summary card and moves the status pill to Done.",
545
+ requiresRun: true,
546
+ payload: z.object({
547
+ summary: z.string().min(1).max(20_000).describe("The outcome, in the product voice."),
548
+ changed: z.array(z.string().max(500)).max(50).optional().describe("What changed in the world."),
549
+ follow_ups: z
550
+ .array(z.string().max(500))
551
+ .max(50)
552
+ .optional()
553
+ .describe("What is worth doing next."),
554
+ cost: cost.optional().describe("The run's estimated cost."),
555
+ }),
556
+ });
557
+ export const runFailed = defineEvent({
558
+ type: "run.failed",
559
+ direction: "harness_to_chips",
560
+ sender: "harness",
561
+ summary: "The run stopped without finishing. Says what was left undone, so a person can pick it up.",
562
+ requiresRun: true,
563
+ payload: z.object({
564
+ error: z.string().min(1).max(4000).describe("What went wrong."),
565
+ left_undone: z.array(z.string().max(500)).max(50).optional().describe("What did not get done."),
566
+ retryable: z.boolean().default(false).describe("Whether running it again might work."),
567
+ cost: cost.optional().describe("What was spent before it failed."),
568
+ }),
569
+ });
570
+ /** Every event a harness may send, in the order the reference lists them. */
571
+ export const HARNESS_TO_CHIPS = [
572
+ sessionStarted,
573
+ sessionEnded,
574
+ sessionRenamed,
575
+ runStarted,
576
+ runStatus,
577
+ runPlan,
578
+ stepLog,
579
+ messagePost,
580
+ messageHeard,
581
+ approvalRequest,
582
+ questionAsk,
583
+ artifactCreate,
584
+ checkpoint,
585
+ handoff,
586
+ task,
587
+ usage,
588
+ contextUsage,
589
+ approvalExecuted,
590
+ runCompleted,
591
+ runFailed,
592
+ ];
593
+ //# sourceMappingURL=harness-to-chips.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness-to-chips.js","sourceRoot":"","sources":["../../../src/events/harness-to-chips.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,MAAM,EACN,OAAO,EACP,WAAW,EACX,UAAU,EACV,aAAa,EACb,IAAI,EACJ,EAAE,EACF,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,UAAU,EACV,MAAM,EACN,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,mEAAmE,CAAC;IAChF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CACtE,CAAC;KACD,QAAQ,CAAC,+DAA+D,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;IACxC,IAAI,EAAE,iBAAiB;IACvB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EACL,yFAAyF;IAC3F,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,UAAU;QACvB,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,8EAA8E,CAAC;QAC3F,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,uEAAuE,CAAC;QACpF,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,yEAAyE,CAAC;KACvF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACtC,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,gFAAgF;IACzF,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,sEAAsE,CAAC;KACpF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;IACxC,IAAI,EAAE,iBAAiB;IACvB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,gEAAgE;IACzE,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CACP,wLAAwL,CACzL;KACJ,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC;IACpC,IAAI,EAAE,aAAa;IACnB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,oFAAoF;IAC7F,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,CAAC,4DAA4D,CAAC;QACzE,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,WAAW,CAAC;aAClB,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,iFAAiF,CAAC;QAC9F,WAAW,EAAE,UAAU;aACpB,QAAQ,EAAE;aACV,QAAQ,CAAC,8EAA8E,CAAC;QAC3F,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aAC1B,QAAQ,EAAE;aACV,QAAQ,CACP,qeAAqe,CACte;KACJ,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;IACnC,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,8EAA8E;IACvF,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAC/F,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CAAC,0EAA0E,CAAC;QACvF,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CAAC,4CAA4C,CAAC;QACzD,gBAAgB,EAAE,CAAC;aAChB,GAAG,EAAE;aACL,WAAW,EAAE;aACb,QAAQ,EAAE;aACV,QAAQ,CAAC,4CAA4C,CAAC;KAC1D,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC;IACjC,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EACL,sGAAsG;IACxG,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,WAAW,CAAC;aAClB,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,CACP,sIAAsI,CACvI;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,uEAAuE,CAAC;KACrF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC;IACjC,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,wEAAwE;IACjF,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CAAC,yDAAyD,CAAC;QACtE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACjF,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;QAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QAC3F,IAAI,EAAE,QAAQ;aACX,QAAQ,EAAE;aACV,QAAQ,CACP,gIAAgI,CACjI;QACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC9E,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACxF,WAAW,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACjF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;KAC/E,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;IACxC,OAAO,EAAE,4DAA4D;IACrE,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACjE,WAAW,EAAE,CAAC;aACX,KAAK,CAAC,UAAU,CAAC;aACjB,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,kEAAkE,CAAC;QAC/E,UAAU,EAAE,CAAC;aACV,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;aACvB,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,yGAAyG,CAC1G;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;aAC1C,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,iCAAiC,CAAC;aACjF,QAAQ,EAAE;aACV,QAAQ,CACP,sjBAAsjB,CACvjB;QACH,MAAM,EAAE,QAAQ;aACb,QAAQ,EAAE;aACV,QAAQ,CACP,+OAA+O,CAChP;QACH,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC;aACpB,QAAQ,EAAE;aACV,QAAQ,CACP,gVAAgV,CACjV;QACH,WAAW,EAAE,UAAU;aACpB,QAAQ,EAAE;aACV,QAAQ,CACP,oQAAoQ,CACrQ;QACH,QAAQ,EAAE,CAAC;aACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACjC,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,2IAA2I,CAC5I;QACH,EAAE,EAAE,CAAC;aACF,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3D,QAAQ,EAAE;aACV,QAAQ,CACP,sXAAsX,CACvX;QACH,SAAS,EAAE,CAAC;aACT,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,EAAE;aACV,QAAQ,CACP,mMAAmM,CACpM;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,sQAAsQ,CACvQ;QACH,gBAAgB,EAAE,CAAC;aAChB,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;aACnB,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,qQAAqQ,CACtQ;QACH,gBAAgB,EAAE,CAAC;aAChB,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,EAAE;aACV,QAAQ,CACP,6QAA6Q,CAC9Q;QACH,IAAI,EAAE,CAAC;aACJ,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,EAAE;aACV,QAAQ,CACP,8KAA8K,CAC/K;QACH,UAAU,EAAE,YAAY;aACrB,QAAQ,EAAE;aACV,QAAQ,CACP,mIAAmI,CACpI;QACH,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC;aACnB,QAAQ,EAAE;aACV,QAAQ,CAAC,gEAAgE,CAAC;KAC9E,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;IACzC,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EACL,4GAA4G;IAC9G,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,QAAQ,CAClC,sEAAsE,CACvE;QACD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC7F,MAAM;QACN,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,kOAAkO,CACnO;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,6GAA6G,CAC9G;QACH,KAAK,EAAE,CAAC;aACL,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;aAC1B,QAAQ,EAAE;aACV,QAAQ,CACP,2LAA2L,CAC5L;QACH,OAAO,EAAE,OAAO;aACb,QAAQ,EAAE;aACV,QAAQ,CAAC,sEAAsE,CAAC;QACnF,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,SAAS,CAAC;aAChB,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,8DAA8D,CAAC;QAC3E,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,MAAM,CAAC;aACb,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAChE,UAAU,EAAE,CAAC;aACV,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,GAAG,CAAC,OAAO,CAAC;aACZ,QAAQ,CAAC,kFAAkF,CAAC;QAC/F,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aACvB,OAAO,CAAC,MAAM,CAAC;aACf,QAAQ,CAAC,mEAAmE,CAAC;QAChF,SAAS,EAAE,CAAC;aACT,KAAK,CAAC,WAAW,CAAC;aAClB,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,8gBAA8gB,CAC/gB;QACH,QAAQ,EAAE,CAAC;aACR,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,4DAA4D,CAAC;QACzE,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,mFAAmF,CACpF;KACJ,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACrF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACnE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAChF,CAAC;KACD,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AAEpC,MAAM,QAAQ,GAAG,CAAC;KACf,MAAM,CAAC;IACN,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC/E,YAAY,EAAE,CAAC;SACZ,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC5F,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,0FAA0F,CAC3F;CACJ,CAAC;KACD,QAAQ,CAAC,iCAAiC,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,wEAAwE;IACjF,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QACrF,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC7E,eAAe,EAAE,CAAC;aACf,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,GAAG,CAAC,OAAO,CAAC;aACZ,QAAQ,EAAE;aACV,QAAQ,CAAC,iCAAiC,CAAC;QAC9C,YAAY,EAAE,CAAC;aACZ,IAAI,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC3C,OAAO,CAAC,aAAa,CAAC;aACtB,QAAQ,CAAC,iDAAiD,CAAC;KAC/D,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;IACxC,IAAI,EAAE,iBAAiB;IACvB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,8EAA8E;IACvF,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACnF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC1F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC9D,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACtF,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACrF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAC9F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KACzF,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACtC,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,oEAAoE;IAC7E,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAChC,gEAAgE,CACjE;KACF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC;IACpC,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,6EAA6E;IACtF,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACpE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC/E,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,mDAAmD,CAAC;KACjE,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC;IACjC,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EACL,6FAA6F;IAC/F,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACjF,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC5F,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC7F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAC5E,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;IAC9B,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EACL,sGAAsG;IACxG,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACzD,EAAE,EAAE,CAAC;aACF,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CACP,oOAAoO,CACrO;QACH,KAAK,EAAE,CAAC;aACL,MAAM,CAAC;YACN,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CAAC,qDAAqD,CAAC;SACnE,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,oFAAoF,CACrF;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CACP,yKAAyK,CAC1K;QACH,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAClF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACvF,WAAW,EAAE,CAAC;aACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC1B,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,yBAAyB,CAAC;QACtC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACnE,QAAQ,EAAE,aAAa;aACpB,QAAQ,EAAE;aACV,QAAQ,CAAC,sDAAsD,CAAC;QACnE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC9F,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,oMAAoM,CACrM;QACH,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC;aACd,QAAQ,EAAE;aACV,QAAQ,CACP,8PAA8P,CAC/P;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wKAAwK,CACzK;KACJ,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC;IAC/B,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EACL,iGAAiG;IACnG,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC1E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC1E,YAAY,EAAE,CAAC;aACZ,GAAG,EAAE;aACL,WAAW,EAAE;aACb,QAAQ,EAAE;aACV,QAAQ,CACP,oOAAoO,CACrO;QACH,iBAAiB,EAAE,CAAC;aACjB,GAAG,EAAE;aACL,WAAW,EAAE;aACb,QAAQ,EAAE;aACV,QAAQ,CACP,wIAAwI,CACzI;QACH,kBAAkB,EAAE,CAAC;aAClB,GAAG,EAAE;aACL,WAAW,EAAE;aACb,QAAQ,EAAE;aACV,QAAQ,CACP,uIAAuI,CACxI;QACH,aAAa,EAAE,CAAC;aACb,GAAG,EAAE;aACL,WAAW,EAAE;aACb,QAAQ,EAAE;aACV,QAAQ,CACP,gIAAgI,CACjI;QACH,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;KACxF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACtC,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EACL,yGAAyG;IAC3G,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACrE,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC7E,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;KACxF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;IAC1C,IAAI,EAAE,mBAAmB;IACzB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,wFAAwF;IACjG,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;aACvC,QAAQ,CAAC,uCAAuC,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACpF,SAAS,EAAE,CAAC;aACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACjC,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,gOAAgO,CACjO;KACJ,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACtC,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,0EAA0E;IACnF,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACrF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC/F,UAAU,EAAE,CAAC;aACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC1B,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,2BAA2B,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KAC5D,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;IACnC,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,SAAS;IACjB,OAAO,EACL,2FAA2F;IAC7F,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC/D,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC/F,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACtF,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KACnE,CAAC;CACH,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,cAAc;IACd,YAAY;IACZ,cAAc;IACd,UAAU;IACV,SAAS;IACT,OAAO;IACP,OAAO;IACP,WAAW;IACX,YAAY;IACZ,eAAe;IACf,WAAW;IACX,cAAc;IACd,UAAU;IACV,OAAO;IACP,IAAI;IACJ,KAAK;IACL,YAAY;IACZ,gBAAgB;IAChB,YAAY;IACZ,SAAS;CACD,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type { ChipsToHarnessType, EventType, HarnessToChipsType, ParseFailure, WorkspaceEventType, } from "./catalogue.js";
2
+ export { EVENT_SCHEMAS, EVENT_TYPES, EVENTS, eventDefinition, parseEvent, schemaFor, UnknownEventTypeError, } from "./catalogue.js";
3
+ export * from "./chips-to-harness.js";
4
+ export * from "./harness-to-chips.js";
5
+ export * from "./workspace.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/events/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,WAAW,EACX,MAAM,EACN,eAAe,EACf,UAAU,EACV,SAAS,EACT,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { EVENT_SCHEMAS, EVENT_TYPES, EVENTS, eventDefinition, parseEvent, schemaFor, UnknownEventTypeError, } from "./catalogue.js";
2
+ export * from "./chips-to-harness.js";
3
+ export * from "./harness-to-chips.js";
4
+ export * from "./workspace.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/events/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,aAAa,EACb,WAAW,EACX,MAAM,EACN,eAAe,EACf,UAAU,EACV,SAAS,EACT,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC"}