@chipschat/protocol 0.0.0-stage → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +56 -2
- package/dist/envelope.d.ts +54 -0
- package/dist/envelope.d.ts.map +1 -0
- package/dist/envelope.js +48 -0
- package/dist/envelope.js.map +1 -0
- package/dist/events/agent-to-chips.d.ts +27 -0
- package/dist/events/agent-to-chips.d.ts.map +1 -0
- package/dist/events/agent-to-chips.js +392 -0
- package/dist/events/agent-to-chips.js.map +1 -0
- package/dist/events/catalogue.d.ts +48 -0
- package/dist/events/catalogue.d.ts.map +1 -0
- package/dist/events/catalogue.js +67 -0
- package/dist/events/catalogue.js.map +1 -0
- package/dist/events/chips-to-agent.d.ts +24 -0
- package/dist/events/chips-to-agent.d.ts.map +1 -0
- package/dist/events/chips-to-agent.js +324 -0
- package/dist/events/chips-to-agent.js.map +1 -0
- package/dist/events/chips-to-harness.d.ts +24 -0
- package/dist/events/chips-to-harness.d.ts.map +1 -0
- package/dist/events/chips-to-harness.js +324 -0
- package/dist/events/chips-to-harness.js.map +1 -0
- package/dist/events/harness-to-chips.d.ts +27 -0
- package/dist/events/harness-to-chips.d.ts.map +1 -0
- package/dist/events/harness-to-chips.js +390 -0
- package/dist/events/harness-to-chips.js.map +1 -0
- package/dist/events/index.d.ts +6 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +5 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/workspace.d.ts +19 -0
- package/dist/events/workspace.d.ts.map +1 -0
- package/dist/events/workspace.js +79 -0
- package/dist/events/workspace.js.map +1 -0
- package/dist/frames.d.ts +175 -0
- package/dist/frames.d.ts.map +1 -0
- package/dist/frames.js +161 -0
- package/dist/frames.js.map +1 -0
- package/dist/generated/types.d.ts +4052 -0
- package/dist/generated/types.d.ts.map +1 -0
- package/dist/generated/types.js +7 -0
- package/dist/generated/types.js.map +1 -0
- package/dist/ids/index.d.ts +3 -0
- package/dist/ids/index.d.ts.map +1 -0
- package/dist/ids/index.js +2 -0
- package/dist/ids/index.js.map +1 -0
- package/dist/ids/ulid.d.ts +83 -0
- package/dist/ids/ulid.d.ts.map +1 -0
- package/dist/ids/ulid.js +199 -0
- package/dist/ids/ulid.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/primitives.d.ts +194 -0
- package/dist/primitives.d.ts.map +1 -0
- package/dist/primitives.js +193 -0
- package/dist/primitives.js.map +1 -0
- package/dist/src/address.d.ts +106 -0
- package/dist/src/address.d.ts.map +1 -0
- package/dist/src/address.js +141 -0
- package/dist/src/address.js.map +1 -0
- package/dist/src/agent-context-windows.d.ts +235 -0
- package/dist/src/agent-context-windows.d.ts.map +1 -0
- package/dist/src/agent-context-windows.js +213 -0
- package/dist/src/agent-context-windows.js.map +1 -0
- package/dist/src/agent-heartbeats.d.ts +106 -0
- package/dist/src/agent-heartbeats.d.ts.map +1 -0
- package/dist/src/agent-heartbeats.js +111 -0
- package/dist/src/agent-heartbeats.js.map +1 -0
- package/dist/src/agent-models.d.ts +158 -0
- package/dist/src/agent-models.d.ts.map +1 -0
- package/dist/src/agent-models.js +171 -0
- package/dist/src/agent-models.js.map +1 -0
- package/dist/src/agent-place.d.ts +76 -0
- package/dist/src/agent-place.d.ts.map +1 -0
- package/dist/src/agent-place.js +80 -0
- package/dist/src/agent-place.js.map +1 -0
- package/dist/src/agents.d.ts +24 -0
- package/dist/src/agents.d.ts.map +1 -0
- package/dist/src/agents.js +58 -0
- package/dist/src/agents.js.map +1 -0
- package/dist/src/capabilities.d.ts +121 -0
- package/dist/src/capabilities.d.ts.map +1 -0
- package/dist/src/capabilities.js +120 -0
- package/dist/src/capabilities.js.map +1 -0
- package/dist/src/checklist.d.ts +19 -0
- package/dist/src/checklist.d.ts.map +1 -0
- package/dist/src/checklist.js +22 -0
- package/dist/src/checklist.js.map +1 -0
- package/dist/src/commands.d.ts +50 -0
- package/dist/src/commands.d.ts.map +1 -0
- package/dist/src/commands.js +274 -0
- package/dist/src/commands.js.map +1 -0
- package/dist/src/connectors.d.ts +90 -0
- package/dist/src/connectors.d.ts.map +1 -0
- package/dist/src/connectors.js +119 -0
- package/dist/src/connectors.js.map +1 -0
- package/dist/src/context-files.d.ts +304 -0
- package/dist/src/context-files.d.ts.map +1 -0
- package/dist/src/context-files.js +247 -0
- package/dist/src/context-files.js.map +1 -0
- package/dist/src/context.d.ts +369 -0
- package/dist/src/context.d.ts.map +1 -0
- package/dist/src/context.js +526 -0
- package/dist/src/context.js.map +1 -0
- package/dist/src/direct-asks.d.ts +36 -0
- package/dist/src/direct-asks.d.ts.map +1 -0
- package/dist/src/direct-asks.js +43 -0
- package/dist/src/direct-asks.js.map +1 -0
- package/dist/src/envelope.d.ts +70 -0
- package/dist/src/envelope.d.ts.map +1 -0
- package/dist/src/envelope.js +46 -0
- package/dist/src/envelope.js.map +1 -0
- package/dist/src/events/catalogue.d.ts +50 -0
- package/dist/src/events/catalogue.d.ts.map +1 -0
- package/dist/src/events/catalogue.js +70 -0
- package/dist/src/events/catalogue.js.map +1 -0
- package/dist/src/events/chips-to-harness.d.ts +37 -0
- package/dist/src/events/chips-to-harness.d.ts.map +1 -0
- package/dist/src/events/chips-to-harness.js +511 -0
- package/dist/src/events/chips-to-harness.js.map +1 -0
- package/dist/src/events/harness-to-chips.d.ts +38 -0
- package/dist/src/events/harness-to-chips.d.ts.map +1 -0
- package/dist/src/events/harness-to-chips.js +593 -0
- package/dist/src/events/harness-to-chips.js.map +1 -0
- package/dist/src/events/index.d.ts +6 -0
- package/dist/src/events/index.d.ts.map +1 -0
- package/dist/src/events/index.js +5 -0
- package/dist/src/events/index.js.map +1 -0
- package/dist/src/events/workspace.d.ts +222 -0
- package/dist/src/events/workspace.d.ts.map +1 -0
- package/dist/src/events/workspace.js +1039 -0
- package/dist/src/events/workspace.js.map +1 -0
- package/dist/src/exchange.d.ts +262 -0
- package/dist/src/exchange.d.ts.map +1 -0
- package/dist/src/exchange.js +413 -0
- package/dist/src/exchange.js.map +1 -0
- package/dist/src/first-names.d.ts +29 -0
- package/dist/src/first-names.d.ts.map +1 -0
- package/dist/src/first-names.js +80 -0
- package/dist/src/first-names.js.map +1 -0
- package/dist/src/frames.d.ts +526 -0
- package/dist/src/frames.d.ts.map +1 -0
- package/dist/src/frames.js +346 -0
- package/dist/src/frames.js.map +1 -0
- package/dist/src/harness-jobs.d.ts +313 -0
- package/dist/src/harness-jobs.d.ts.map +1 -0
- package/dist/src/harness-jobs.js +210 -0
- package/dist/src/harness-jobs.js.map +1 -0
- package/dist/src/ids/index.d.ts +3 -0
- package/dist/src/ids/index.d.ts.map +1 -0
- package/dist/src/ids/index.js +2 -0
- package/dist/src/ids/index.js.map +1 -0
- package/dist/src/ids/ulid.d.ts +96 -0
- package/dist/src/ids/ulid.d.ts.map +1 -0
- package/dist/src/ids/ulid.js +212 -0
- package/dist/src/ids/ulid.js.map +1 -0
- package/dist/src/index.d.ts +81 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +47 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/invite-link.d.ts +64 -0
- package/dist/src/invite-link.d.ts.map +1 -0
- package/dist/src/invite-link.js +99 -0
- package/dist/src/invite-link.js.map +1 -0
- package/dist/src/join.d.ts +188 -0
- package/dist/src/join.d.ts.map +1 -0
- package/dist/src/join.js +190 -0
- package/dist/src/join.js.map +1 -0
- package/dist/src/limits.d.ts +50 -0
- package/dist/src/limits.d.ts.map +1 -0
- package/dist/src/limits.js +106 -0
- package/dist/src/limits.js.map +1 -0
- package/dist/src/matters.d.ts +22 -0
- package/dist/src/matters.d.ts.map +1 -0
- package/dist/src/matters.js +26 -0
- package/dist/src/matters.js.map +1 -0
- package/dist/src/mentions.d.ts +63 -0
- package/dist/src/mentions.d.ts.map +1 -0
- package/dist/src/mentions.js +129 -0
- package/dist/src/mentions.js.map +1 -0
- package/dist/src/names.d.ts +58 -0
- package/dist/src/names.d.ts.map +1 -0
- package/dist/src/names.js +192 -0
- package/dist/src/names.js.map +1 -0
- package/dist/src/no-reply.d.ts +17 -0
- package/dist/src/no-reply.d.ts.map +1 -0
- package/dist/src/no-reply.js +48 -0
- package/dist/src/no-reply.js.map +1 -0
- package/dist/src/notifications.d.ts +81 -0
- package/dist/src/notifications.d.ts.map +1 -0
- package/dist/src/notifications.js +65 -0
- package/dist/src/notifications.js.map +1 -0
- package/dist/src/pages.d.ts +32 -0
- package/dist/src/pages.d.ts.map +1 -0
- package/dist/src/pages.js +32 -0
- package/dist/src/pages.js.map +1 -0
- package/dist/src/pairing.d.ts +99 -0
- package/dist/src/pairing.d.ts.map +1 -0
- package/dist/src/pairing.js +163 -0
- package/dist/src/pairing.js.map +1 -0
- package/dist/src/primitives.d.ts +267 -0
- package/dist/src/primitives.d.ts.map +1 -0
- package/dist/src/primitives.js +279 -0
- package/dist/src/primitives.js.map +1 -0
- package/dist/src/project.d.ts +335 -0
- package/dist/src/project.d.ts.map +1 -0
- package/dist/src/project.js +499 -0
- package/dist/src/project.js.map +1 -0
- package/dist/src/ranges.d.ts +31 -0
- package/dist/src/ranges.d.ts.map +1 -0
- package/dist/src/ranges.js +51 -0
- package/dist/src/ranges.js.map +1 -0
- package/dist/src/relay.d.ts +177 -0
- package/dist/src/relay.d.ts.map +1 -0
- package/dist/src/relay.js +147 -0
- package/dist/src/relay.js.map +1 -0
- package/dist/src/room-files.d.ts +146 -0
- package/dist/src/room-files.d.ts.map +1 -0
- package/dist/src/room-files.js +135 -0
- package/dist/src/room-files.js.map +1 -0
- package/dist/src/room-note.d.ts +213 -0
- package/dist/src/room-note.d.ts.map +1 -0
- package/dist/src/room-note.js +457 -0
- package/dist/src/room-note.js.map +1 -0
- package/dist/src/space-icons.d.ts +68 -0
- package/dist/src/space-icons.d.ts.map +1 -0
- package/dist/src/space-icons.js +142 -0
- package/dist/src/space-icons.js.map +1 -0
- package/dist/src/spend.d.ts +57 -0
- package/dist/src/spend.d.ts.map +1 -0
- package/dist/src/spend.js +94 -0
- package/dist/src/spend.js.map +1 -0
- package/dist/src/visibility.d.ts +170 -0
- package/dist/src/visibility.d.ts.map +1 -0
- package/dist/src/visibility.js +218 -0
- package/dist/src/visibility.js.map +1 -0
- package/fixtures/agent.asked.json +15 -0
- package/fixtures/agent.attached.json +15 -0
- package/fixtures/agent.deleted.json +16 -0
- package/fixtures/agent.fork.json +14 -0
- package/fixtures/agent.lock_set.json +13 -0
- package/fixtures/agent.registered.json +17 -0
- package/fixtures/agent.released.json +16 -0
- package/fixtures/agent.updated.json +14 -0
- package/fixtures/approval.executed.json +16 -0
- package/fixtures/approval.request.json +45 -0
- package/fixtures/approval.resolved.json +20 -0
- package/fixtures/approval.routed.json +20 -0
- package/fixtures/artifact.create.json +18 -0
- package/fixtures/attachment.fetched.json +15 -0
- package/fixtures/attachment.limits_set.json +15 -0
- package/fixtures/budget.warning.json +20 -0
- package/fixtures/checkpoint.json +16 -0
- package/fixtures/context.compacted.json +16 -0
- package/fixtures/context.usage.json +17 -0
- package/fixtures/exchange.limits_set.json +15 -0
- package/fixtures/exchange.set.json +13 -0
- package/fixtures/feedback.json +21 -0
- package/fixtures/frames/ack.json +6 -0
- package/fixtures/frames/context.edit.json +11 -0
- package/fixtures/frames/context_window.change.json +9 -0
- package/fixtures/frames/context_window.compact.json +8 -0
- package/fixtures/frames/error.json +6 -0
- package/fixtures/frames/event.json +20 -0
- package/fixtures/frames/events.json +39 -0
- package/fixtures/frames/folder.open.json +6 -0
- package/fixtures/frames/folder.open.page.json +7 -0
- package/fixtures/frames/folder.run.json +8 -0
- package/fixtures/frames/folder.run_state.json +12 -0
- package/fixtures/frames/heartbeat.change.json +10 -0
- package/fixtures/frames/hello.json +18 -0
- package/fixtures/frames/job.change.json +9 -0
- package/fixtures/frames/join.json +19 -0
- package/fixtures/frames/model.change.json +10 -0
- package/fixtures/frames/ping.json +4 -0
- package/fixtures/frames/pong.json +4 -0
- package/fixtures/frames/presence.json +12 -0
- package/fixtures/frames/receipt.json +5 -0
- package/fixtures/frames/restart.json +5 -0
- package/fixtures/frames/subscribe.json +6 -0
- package/fixtures/handoff.json +20 -0
- package/fixtures/harness.removed.json +15 -0
- package/fixtures/harness.transferred.json +15 -0
- package/fixtures/hello.json +61 -0
- package/fixtures/join.allowed.json +20 -0
- package/fixtures/join.denied.json +17 -0
- package/fixtures/lane.updated.json +17 -0
- package/fixtures/membership.added.json +16 -0
- package/fixtures/membership.removed.json +14 -0
- package/fixtures/membership.replaced.json +15 -0
- package/fixtures/message.deleted.json +15 -0
- package/fixtures/message.edited.json +15 -0
- package/fixtures/message.handed.json +14 -0
- package/fixtures/message.heard.json +14 -0
- package/fixtures/message.held.json +14 -0
- package/fixtures/message.hidden.json +14 -0
- package/fixtures/message.new.json +96 -0
- package/fixtures/message.overheard.json +22 -0
- package/fixtures/message.pinned.json +14 -0
- package/fixtures/message.post.json +14 -0
- package/fixtures/message.shown.json +14 -0
- package/fixtures/message.unpinned.json +14 -0
- package/fixtures/person.face_set.json +17 -0
- package/fixtures/person.joined.json +16 -0
- package/fixtures/person.removed.json +16 -0
- package/fixtures/person.renamed.json +14 -0
- package/fixtures/policy.updated.json +30 -0
- package/fixtures/project.changed.json +21 -0
- package/fixtures/question.answered.json +23 -0
- package/fixtures/question.ask.json +37 -0
- package/fixtures/receipt.json +15 -0
- package/fixtures/relay.set.json +12 -0
- package/fixtures/role.changed.json +15 -0
- package/fixtures/run.cancel.json +15 -0
- package/fixtures/run.completed.json +20 -0
- package/fixtures/run.failed.json +20 -0
- package/fixtures/run.pause.json +15 -0
- package/fixtures/run.plan.json +24 -0
- package/fixtures/run.requested.json +34 -0
- package/fixtures/run.resume.json +15 -0
- package/fixtures/run.started.json +33 -0
- package/fixtures/run.status.json +17 -0
- package/fixtures/run.steer.json +21 -0
- package/fixtures/session.ended.json +15 -0
- package/fixtures/session.renamed.json +15 -0
- package/fixtures/session.started.json +17 -0
- package/fixtures/space.claimed.json +15 -0
- package/fixtures/space.created.json +14 -0
- package/fixtures/space.erased.json +13 -0
- package/fixtures/space.lead_set.json +13 -0
- package/fixtures/space.lock_set.json +13 -0
- package/fixtures/space.spend_ceiling_set.json +13 -0
- package/fixtures/space.updated.json +14 -0
- package/fixtures/step.log.json +26 -0
- package/fixtures/task.json +22 -0
- package/fixtures/turn.passed.json +14 -0
- package/fixtures/usage.json +21 -0
- package/fixtures/workspace.renamed.json +13 -0
- package/generated/agent-connect.json +13966 -0
- package/generated/schema/agent.asked.json +114 -0
- package/generated/schema/agent.attached.json +465 -0
- package/generated/schema/agent.deleted.json +127 -0
- package/generated/schema/agent.fork.json +107 -0
- package/generated/schema/agent.lock_set.json +105 -0
- package/generated/schema/agent.registered.json +130 -0
- package/generated/schema/agent.released.json +129 -0
- package/generated/schema/agent.updated.json +151 -0
- package/generated/schema/approval.executed.json +125 -0
- package/generated/schema/approval.request.json +279 -0
- package/generated/schema/approval.resolved.json +162 -0
- package/generated/schema/approval.routed.json +185 -0
- package/generated/schema/artifact.create.json +206 -0
- package/generated/schema/attachment.fetched.json +114 -0
- package/generated/schema/attachment.limits_set.json +136 -0
- package/generated/schema/budget.warning.json +152 -0
- package/generated/schema/checkpoint.json +111 -0
- package/generated/schema/context.compacted.json +124 -0
- package/generated/schema/context.usage.json +120 -0
- package/generated/schema/exchange.limits_set.json +127 -0
- package/generated/schema/exchange.set.json +144 -0
- package/generated/schema/feedback.json +173 -0
- package/generated/schema/handoff.json +122 -0
- package/generated/schema/harness.removed.json +122 -0
- package/generated/schema/harness.transferred.json +117 -0
- package/generated/schema/hello.json +509 -0
- package/generated/schema/join.allowed.json +176 -0
- package/generated/schema/join.denied.json +150 -0
- package/generated/schema/lane.updated.json +223 -0
- package/generated/schema/membership.added.json +153 -0
- package/generated/schema/membership.removed.json +126 -0
- package/generated/schema/membership.replaced.json +106 -0
- package/generated/schema/message.deleted.json +105 -0
- package/generated/schema/message.edited.json +107 -0
- package/generated/schema/message.handed.json +111 -0
- package/generated/schema/message.heard.json +100 -0
- package/generated/schema/message.held.json +181 -0
- package/generated/schema/message.hidden.json +100 -0
- package/generated/schema/message.new.json +1369 -0
- package/generated/schema/message.overheard.json +701 -0
- package/generated/schema/message.pinned.json +100 -0
- package/generated/schema/message.post.json +290 -0
- package/generated/schema/message.shown.json +100 -0
- package/generated/schema/message.unpinned.json +100 -0
- package/generated/schema/person.face_set.json +134 -0
- package/generated/schema/person.joined.json +128 -0
- package/generated/schema/person.removed.json +133 -0
- package/generated/schema/person.renamed.json +114 -0
- package/generated/schema/policy.updated.json +277 -0
- package/generated/schema/project.changed.json +199 -0
- package/generated/schema/question.answered.json +154 -0
- package/generated/schema/question.ask.json +194 -0
- package/generated/schema/receipt.json +109 -0
- package/generated/schema/relay.set.json +99 -0
- package/generated/schema/role.changed.json +116 -0
- package/generated/schema/run.cancel.json +106 -0
- package/generated/schema/run.completed.json +139 -0
- package/generated/schema/run.failed.json +135 -0
- package/generated/schema/run.pause.json +106 -0
- package/generated/schema/run.plan.json +128 -0
- package/generated/schema/run.requested.json +309 -0
- package/generated/schema/run.resume.json +106 -0
- package/generated/schema/run.started.json +142 -0
- package/generated/schema/run.status.json +120 -0
- package/generated/schema/run.steer.json +163 -0
- package/generated/schema/session.ended.json +106 -0
- package/generated/schema/session.renamed.json +108 -0
- package/generated/schema/session.started.json +116 -0
- package/generated/schema/space.claimed.json +107 -0
- package/generated/schema/space.created.json +148 -0
- package/generated/schema/space.erased.json +129 -0
- package/generated/schema/space.lead_set.json +108 -0
- package/generated/schema/space.lock_set.json +99 -0
- package/generated/schema/space.spend_ceiling_set.json +102 -0
- package/generated/schema/space.updated.json +112 -0
- package/generated/schema/step.log.json +187 -0
- package/generated/schema/task.json +268 -0
- package/generated/schema/turn.passed.json +99 -0
- package/generated/schema/usage.json +155 -0
- package/generated/schema/workspace.renamed.json +107 -0
- package/generated/types.ts +4178 -0
- package/package.json +37 -3
|
@@ -0,0 +1,277 @@
|
|
|
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": "policy.updated"
|
|
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
|
+
"harness_id": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"pattern": "^hrn_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
|
|
85
|
+
"description": "A harness identifier: `hrn_` followed by a ULID."
|
|
86
|
+
},
|
|
87
|
+
"policy": {
|
|
88
|
+
"type": "object",
|
|
89
|
+
"properties": {
|
|
90
|
+
"autonomy": {
|
|
91
|
+
"anyOf": [
|
|
92
|
+
{
|
|
93
|
+
"type": "number",
|
|
94
|
+
"const": 0
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"type": "number",
|
|
98
|
+
"const": 1
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"type": "number",
|
|
102
|
+
"const": 2
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"type": "number",
|
|
106
|
+
"const": 3
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"description": "0 observe, 1 ask first, 2 ask when it matters, 3 autonomous and report back. Presets that expand to rules."
|
|
110
|
+
},
|
|
111
|
+
"rules": {
|
|
112
|
+
"maxItems": 200,
|
|
113
|
+
"type": "array",
|
|
114
|
+
"items": {
|
|
115
|
+
"type": "object",
|
|
116
|
+
"properties": {
|
|
117
|
+
"match": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"minLength": 1,
|
|
120
|
+
"maxLength": 120,
|
|
121
|
+
"description": "A glob over action kinds, for example `payment.*`."
|
|
122
|
+
},
|
|
123
|
+
"when": {
|
|
124
|
+
"description": "Extra conditions on the action's flags, and for a command, how its parts start.",
|
|
125
|
+
"type": "object",
|
|
126
|
+
"properties": {
|
|
127
|
+
"external": {
|
|
128
|
+
"type": "boolean"
|
|
129
|
+
},
|
|
130
|
+
"irreversible": {
|
|
131
|
+
"type": "boolean"
|
|
132
|
+
},
|
|
133
|
+
"money_usd_over": {
|
|
134
|
+
"type": "number",
|
|
135
|
+
"minimum": 0
|
|
136
|
+
},
|
|
137
|
+
"risk": {
|
|
138
|
+
"maxItems": 8,
|
|
139
|
+
"type": "array",
|
|
140
|
+
"items": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"enum": [
|
|
143
|
+
"external",
|
|
144
|
+
"external_communication",
|
|
145
|
+
"irreversible",
|
|
146
|
+
"destructive",
|
|
147
|
+
"financial",
|
|
148
|
+
"credential",
|
|
149
|
+
"privacy",
|
|
150
|
+
"legal"
|
|
151
|
+
],
|
|
152
|
+
"description": "A risk class the policy engine can match a rule against."
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"starts_with": {
|
|
156
|
+
"description": "For an action that carries a command (ADR 0239): the words a part of it starts with. A command goes ahead on such rules only when every part starts with one that allows it.",
|
|
157
|
+
"minItems": 1,
|
|
158
|
+
"maxItems": 8,
|
|
159
|
+
"type": "array",
|
|
160
|
+
"items": {
|
|
161
|
+
"type": "string",
|
|
162
|
+
"minLength": 1,
|
|
163
|
+
"maxLength": 400
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"decision": {
|
|
169
|
+
"type": "string",
|
|
170
|
+
"enum": [
|
|
171
|
+
"allow",
|
|
172
|
+
"ask",
|
|
173
|
+
"deny"
|
|
174
|
+
],
|
|
175
|
+
"description": "What to do when the rule matches."
|
|
176
|
+
},
|
|
177
|
+
"approvers": {
|
|
178
|
+
"description": "Who may answer, when the decision is `ask`.",
|
|
179
|
+
"maxItems": 16,
|
|
180
|
+
"type": "array",
|
|
181
|
+
"items": {
|
|
182
|
+
"type": "string",
|
|
183
|
+
"pattern": "^(owner|any|lead|role:[a-z][a-z0-9_]*|usr_[0-9A-HJKMNP-TV-Z]{26}|hrn_[0-9A-HJKMNP-TV-Z]{26})$",
|
|
184
|
+
"description": "`owner`, `any`, `lead`, `role:<name>`, or a specific person id; a lead harness's id once resolved."
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"reason": {
|
|
188
|
+
"description": "Shown to the harness, and recorded in the audit log.",
|
|
189
|
+
"type": "string",
|
|
190
|
+
"maxLength": 400
|
|
191
|
+
},
|
|
192
|
+
"off": {
|
|
193
|
+
"description": "Turned off by a person (ADR 0195): kept in the list to turn back on, and skipped by the policy engine until then.",
|
|
194
|
+
"type": "boolean"
|
|
195
|
+
},
|
|
196
|
+
"made_by": {
|
|
197
|
+
"description": "Who made it by answering an ask with Always (ADR 0195). Filled in by Chips.",
|
|
198
|
+
"type": "string",
|
|
199
|
+
"minLength": 1,
|
|
200
|
+
"maxLength": 120
|
|
201
|
+
},
|
|
202
|
+
"made_at": {
|
|
203
|
+
"description": "When a person's answer made it (ADR 0195): Always, or This session. Filled in by Chips. A rule a person's answer made never allows an action that matters.",
|
|
204
|
+
"type": "string",
|
|
205
|
+
"format": "date-time",
|
|
206
|
+
"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)))$"
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
"required": [
|
|
210
|
+
"match",
|
|
211
|
+
"decision"
|
|
212
|
+
],
|
|
213
|
+
"description": "A rule the policy engine evaluates."
|
|
214
|
+
},
|
|
215
|
+
"description": "Evaluated in order; the workspace cap always wins."
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
"required": [
|
|
219
|
+
"autonomy",
|
|
220
|
+
"rules"
|
|
221
|
+
],
|
|
222
|
+
"description": "A harness's autonomy level and the rules that fill in the details."
|
|
223
|
+
},
|
|
224
|
+
"workspace_max_autonomy": {
|
|
225
|
+
"anyOf": [
|
|
226
|
+
{
|
|
227
|
+
"type": "number",
|
|
228
|
+
"const": 0
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"type": "number",
|
|
232
|
+
"const": 1
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"type": "number",
|
|
236
|
+
"const": 2
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"type": "number",
|
|
240
|
+
"const": 3
|
|
241
|
+
}
|
|
242
|
+
],
|
|
243
|
+
"description": "The workspace cap. It always wins."
|
|
244
|
+
},
|
|
245
|
+
"budget_usd": {
|
|
246
|
+
"description": "The harness's spending ceiling, in US dollars. Absent leaves it as it was; the harness's spend is what `usage` has added up.",
|
|
247
|
+
"type": "number",
|
|
248
|
+
"minimum": 0
|
|
249
|
+
},
|
|
250
|
+
"changed_by": {
|
|
251
|
+
"type": "string",
|
|
252
|
+
"minLength": 1,
|
|
253
|
+
"maxLength": 120,
|
|
254
|
+
"description": "Who changed it, or `system` for an earned promotion. Filled in by Chips from the credential that sent it."
|
|
255
|
+
},
|
|
256
|
+
"reason": {
|
|
257
|
+
"description": "Why it changed.",
|
|
258
|
+
"type": "string",
|
|
259
|
+
"maxLength": 1000
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
"required": [
|
|
263
|
+
"v",
|
|
264
|
+
"type",
|
|
265
|
+
"id",
|
|
266
|
+
"ts",
|
|
267
|
+
"workspace_id",
|
|
268
|
+
"actor",
|
|
269
|
+
"harness_id",
|
|
270
|
+
"policy",
|
|
271
|
+
"workspace_max_autonomy",
|
|
272
|
+
"changed_by"
|
|
273
|
+
],
|
|
274
|
+
"description": "The autonomy level or the rules changed. Takes effect on the next action, not retroactively.",
|
|
275
|
+
"$id": "https://chipschat.ai/schema/v1/policy.updated.json",
|
|
276
|
+
"title": "PolicyUpdated"
|
|
277
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
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": "project.changed"
|
|
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
|
+
"by": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"minLength": 1,
|
|
85
|
+
"maxLength": 120,
|
|
86
|
+
"description": "Who pushed: the agent a harness named, or the person. Recorded by Chips."
|
|
87
|
+
},
|
|
88
|
+
"before": {
|
|
89
|
+
"anyOf": [
|
|
90
|
+
{
|
|
91
|
+
"type": "string",
|
|
92
|
+
"pattern": "^[0-9a-f]{40}(?:[0-9a-f]{24})?$",
|
|
93
|
+
"description": "A commit, by its full git object id."
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"type": "null"
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"description": "Where `main` was, or `null` for the project's first push."
|
|
100
|
+
},
|
|
101
|
+
"after": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"pattern": "^[0-9a-f]{40}(?:[0-9a-f]{24})?$",
|
|
104
|
+
"description": "Where `main` is now."
|
|
105
|
+
},
|
|
106
|
+
"commits": {
|
|
107
|
+
"type": "integer",
|
|
108
|
+
"exclusiveMinimum": 0,
|
|
109
|
+
"maximum": 9007199254740991,
|
|
110
|
+
"description": "How many commits the push added to `main`."
|
|
111
|
+
},
|
|
112
|
+
"message": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"maxLength": 300,
|
|
115
|
+
"description": "The first line of the newest commit's message."
|
|
116
|
+
},
|
|
117
|
+
"files": {
|
|
118
|
+
"maxItems": 200,
|
|
119
|
+
"type": "array",
|
|
120
|
+
"items": {
|
|
121
|
+
"type": "object",
|
|
122
|
+
"properties": {
|
|
123
|
+
"path": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"minLength": 1,
|
|
126
|
+
"maxLength": 1024,
|
|
127
|
+
"description": "Its path in the project, with `/` between folders."
|
|
128
|
+
},
|
|
129
|
+
"added": {
|
|
130
|
+
"anyOf": [
|
|
131
|
+
{
|
|
132
|
+
"type": "integer",
|
|
133
|
+
"minimum": 0,
|
|
134
|
+
"maximum": 9007199254740991
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "null"
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"description": "Lines added; `null` for a binary file."
|
|
141
|
+
},
|
|
142
|
+
"removed": {
|
|
143
|
+
"anyOf": [
|
|
144
|
+
{
|
|
145
|
+
"type": "integer",
|
|
146
|
+
"minimum": 0,
|
|
147
|
+
"maximum": 9007199254740991
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"type": "null"
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"description": "Lines removed; `null` for a binary file."
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
"required": [
|
|
157
|
+
"path",
|
|
158
|
+
"added",
|
|
159
|
+
"removed"
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
"description": "What changed between `before` and `after`, in path order."
|
|
163
|
+
},
|
|
164
|
+
"more_files": {
|
|
165
|
+
"description": "How many more files changed than are named.",
|
|
166
|
+
"type": "integer",
|
|
167
|
+
"exclusiveMinimum": 0,
|
|
168
|
+
"maximum": 9007199254740991
|
|
169
|
+
},
|
|
170
|
+
"file_count": {
|
|
171
|
+
"description": "How many files `main` has now, for the room sheet's Project tile (ADR 0222).",
|
|
172
|
+
"type": "integer",
|
|
173
|
+
"minimum": 0,
|
|
174
|
+
"maximum": 9007199254740991
|
|
175
|
+
},
|
|
176
|
+
"undoes": {
|
|
177
|
+
"description": "The change this one takes back, when it is a person's Undo, or Put it back's Undo of an Undo (ADR 0222).",
|
|
178
|
+
"type": "string",
|
|
179
|
+
"pattern": "^[0-9a-f]{40}(?:[0-9a-f]{24})?$"
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
"required": [
|
|
183
|
+
"v",
|
|
184
|
+
"type",
|
|
185
|
+
"id",
|
|
186
|
+
"ts",
|
|
187
|
+
"workspace_id",
|
|
188
|
+
"actor",
|
|
189
|
+
"by",
|
|
190
|
+
"before",
|
|
191
|
+
"after",
|
|
192
|
+
"commits",
|
|
193
|
+
"message",
|
|
194
|
+
"files"
|
|
195
|
+
],
|
|
196
|
+
"description": "Somebody's push moved the room's project forward: who, which commits, and the files they changed.",
|
|
197
|
+
"$id": "https://chipschat.ai/schema/v1/project.changed.json",
|
|
198
|
+
"title": "ProjectChanged"
|
|
199
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
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": "question.answered"
|
|
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
|
+
"ask_id": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"pattern": "^qst_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
|
|
85
|
+
"description": "A question identifier: `qst_` followed by a ULID."
|
|
86
|
+
},
|
|
87
|
+
"answers": {
|
|
88
|
+
"minItems": 1,
|
|
89
|
+
"maxItems": 4,
|
|
90
|
+
"type": "array",
|
|
91
|
+
"items": {
|
|
92
|
+
"type": "object",
|
|
93
|
+
"properties": {
|
|
94
|
+
"question_id": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"minLength": 1,
|
|
97
|
+
"maxLength": 120
|
|
98
|
+
},
|
|
99
|
+
"values": {
|
|
100
|
+
"maxItems": 4,
|
|
101
|
+
"type": "array",
|
|
102
|
+
"items": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"maxLength": 120
|
|
105
|
+
},
|
|
106
|
+
"description": "The chosen option values."
|
|
107
|
+
},
|
|
108
|
+
"free_text": {
|
|
109
|
+
"description": "What the person typed instead.",
|
|
110
|
+
"type": "string",
|
|
111
|
+
"maxLength": 4000
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"required": [
|
|
115
|
+
"question_id",
|
|
116
|
+
"values"
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
"description": "One entry per question that was answered."
|
|
120
|
+
},
|
|
121
|
+
"answered_by": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"minLength": 1,
|
|
124
|
+
"maxLength": 120,
|
|
125
|
+
"description": "Who answered, or `system` on a timeout — a harness when it settles its own question, answered in its own tools. Filled in by Chips from the credential that sent it."
|
|
126
|
+
},
|
|
127
|
+
"answered_at": {
|
|
128
|
+
"type": "string",
|
|
129
|
+
"format": "date-time",
|
|
130
|
+
"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)))$",
|
|
131
|
+
"description": "When it was answered. Stamped by Chips."
|
|
132
|
+
},
|
|
133
|
+
"timed_out": {
|
|
134
|
+
"default": false,
|
|
135
|
+
"description": "True when the default was taken rather than a choice.",
|
|
136
|
+
"type": "boolean"
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"required": [
|
|
140
|
+
"v",
|
|
141
|
+
"type",
|
|
142
|
+
"id",
|
|
143
|
+
"ts",
|
|
144
|
+
"workspace_id",
|
|
145
|
+
"actor",
|
|
146
|
+
"ask_id",
|
|
147
|
+
"answers",
|
|
148
|
+
"answered_by",
|
|
149
|
+
"answered_at"
|
|
150
|
+
],
|
|
151
|
+
"description": "The chosen options or free text, or a note that the timeout passed.",
|
|
152
|
+
"$id": "https://chipschat.ai/schema/v1/question.answered.json",
|
|
153
|
+
"title": "QuestionAnswered"
|
|
154
|
+
}
|