sealbridge 0.4.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/README.ja.md +6 -4
  2. package/README.md +9 -4
  3. package/dist/cli/dist/accept.d.ts +2 -1
  4. package/dist/cli/dist/accept.js +18 -7
  5. package/dist/cli/dist/accept.js.map +1 -1
  6. package/dist/cli/dist/index.js +46 -13
  7. package/dist/cli/dist/index.js.map +1 -1
  8. package/dist/cli/dist/invite-links.d.ts +14 -0
  9. package/dist/cli/dist/invite-links.js +263 -0
  10. package/dist/cli/dist/invite-links.js.map +1 -0
  11. package/dist/cli/dist/invite-output.d.ts +1 -1
  12. package/dist/cli/dist/invite-output.js +3 -2
  13. package/dist/cli/dist/invite-output.js.map +1 -1
  14. package/dist/cli/dist/network.js +16 -23
  15. package/dist/cli/dist/network.js.map +1 -1
  16. package/dist/cli/dist/receipt.d.ts +12 -2
  17. package/dist/cli/dist/receipt.js +6 -5
  18. package/dist/cli/dist/receipt.js.map +1 -1
  19. package/dist/cli/dist/sdk.d.ts +6 -4
  20. package/dist/cli/dist/sdk.js +3 -2
  21. package/dist/cli/dist/sdk.js.map +1 -1
  22. package/dist/cli/dist/task-review.d.ts +1 -8
  23. package/dist/cli/dist/task-review.js +4 -17
  24. package/dist/cli/dist/task-review.js.map +1 -1
  25. package/dist/cli/dist/tasks.js +1 -1
  26. package/dist/cli/dist/tasks.js.map +1 -1
  27. package/dist/examples/two-owner-demo/dist/run-demo.js +3 -1
  28. package/dist/examples/two-owner-demo/dist/run-demo.js.map +1 -1
  29. package/dist/package.json +1 -1
  30. package/dist/packages/core/dist/content-inspection-rules.d.ts +22 -0
  31. package/dist/packages/core/dist/content-inspection-rules.js +34 -0
  32. package/dist/packages/core/dist/content-inspection-rules.js.map +1 -0
  33. package/dist/packages/core/dist/content-inspection.d.ts +43 -0
  34. package/dist/packages/core/dist/content-inspection.js +192 -0
  35. package/dist/packages/core/dist/content-inspection.js.map +1 -0
  36. package/dist/packages/core/dist/context-grant.d.ts +13 -0
  37. package/dist/packages/core/dist/context-grant.js +65 -0
  38. package/dist/packages/core/dist/context-grant.js.map +1 -0
  39. package/dist/packages/core/dist/delegation.d.ts +17 -0
  40. package/dist/packages/core/dist/delegation.js +126 -0
  41. package/dist/packages/core/dist/delegation.js.map +1 -0
  42. package/dist/packages/core/dist/edge.d.ts +2 -0
  43. package/dist/packages/core/dist/edge.js +2 -0
  44. package/dist/packages/core/dist/edge.js.map +1 -1
  45. package/dist/packages/core/dist/index.d.ts +6 -0
  46. package/dist/packages/core/dist/index.js +6 -0
  47. package/dist/packages/core/dist/index.js.map +1 -1
  48. package/dist/packages/core/dist/invite-link.d.ts +72 -0
  49. package/dist/packages/core/dist/invite-link.js +225 -0
  50. package/dist/packages/core/dist/invite-link.js.map +1 -0
  51. package/dist/packages/core/dist/invite-sas.d.ts +7 -0
  52. package/dist/packages/core/dist/invite-sas.js +15 -0
  53. package/dist/packages/core/dist/invite-sas.js.map +1 -0
  54. package/dist/packages/core/dist/relay-auth.d.ts +1 -1
  55. package/dist/packages/core/dist/relay-auth.js +1 -1
  56. package/dist/packages/core/dist/relay-auth.js.map +1 -1
  57. package/dist/packages/core/dist/schema.d.ts +1 -1
  58. package/dist/packages/core/dist/schema.js +4 -0
  59. package/dist/packages/core/dist/schema.js.map +1 -1
  60. package/dist/packages/core/dist/types.d.ts +52 -0
  61. package/dist/packages/ledger/dist/index.d.ts +70 -2
  62. package/dist/packages/ledger/dist/index.js +404 -26
  63. package/dist/packages/ledger/dist/index.js.map +1 -1
  64. package/dist/packages/relay/dist/fetch.js +4 -0
  65. package/dist/packages/relay/dist/fetch.js.map +1 -1
  66. package/dist/packages/relay/dist/invites.d.ts +42 -0
  67. package/dist/packages/relay/dist/invites.js +347 -0
  68. package/dist/packages/relay/dist/invites.js.map +1 -0
  69. package/dist/packages/relay/dist/worker.d.ts +3 -0
  70. package/dist/packages/relay/dist/worker.js +21 -0
  71. package/dist/packages/relay/dist/worker.js.map +1 -1
  72. package/dist/packages/runtime/dist/a2a.js +1 -1
  73. package/dist/packages/runtime/dist/adapter.d.ts +1 -0
  74. package/dist/packages/runtime/dist/application-config.js +69 -6
  75. package/dist/packages/runtime/dist/application-config.js.map +1 -1
  76. package/dist/packages/runtime/dist/approval-providers.d.ts +4 -0
  77. package/dist/packages/runtime/dist/approval-providers.js +3 -0
  78. package/dist/packages/runtime/dist/approval-providers.js.map +1 -1
  79. package/dist/packages/runtime/dist/connection-persistence.d.ts +1 -1
  80. package/dist/packages/runtime/dist/context-grant-audit.d.ts +8 -0
  81. package/dist/packages/runtime/dist/context-grant-audit.js +41 -0
  82. package/dist/packages/runtime/dist/context-grant-audit.js.map +1 -0
  83. package/dist/packages/runtime/dist/delegation.d.ts +37 -0
  84. package/dist/packages/runtime/dist/delegation.js +125 -0
  85. package/dist/packages/runtime/dist/delegation.js.map +1 -0
  86. package/dist/packages/runtime/dist/gateway.d.ts +1 -0
  87. package/dist/packages/runtime/dist/gateway.js.map +1 -1
  88. package/dist/packages/runtime/dist/held-request-store.d.ts +2 -0
  89. package/dist/packages/runtime/dist/held-request-store.js +3 -2
  90. package/dist/packages/runtime/dist/held-request-store.js.map +1 -1
  91. package/dist/packages/runtime/dist/held-task-content.d.ts +14 -0
  92. package/dist/packages/runtime/dist/held-task-content.js +33 -0
  93. package/dist/packages/runtime/dist/held-task-content.js.map +1 -0
  94. package/dist/packages/runtime/dist/index.d.ts +4 -0
  95. package/dist/packages/runtime/dist/index.js +4 -0
  96. package/dist/packages/runtime/dist/index.js.map +1 -1
  97. package/dist/packages/runtime/dist/mcp-server.js +22 -8
  98. package/dist/packages/runtime/dist/mcp-server.js.map +1 -1
  99. package/dist/packages/runtime/dist/mcp-tool-catalog.js +44 -5
  100. package/dist/packages/runtime/dist/mcp-tool-catalog.js.map +1 -1
  101. package/dist/packages/runtime/dist/rule-content-review-child.d.ts +1 -0
  102. package/dist/packages/runtime/dist/rule-content-review-child.js +25 -0
  103. package/dist/packages/runtime/dist/rule-content-review-child.js.map +1 -0
  104. package/dist/packages/runtime/dist/rule-content-review.d.ts +9 -0
  105. package/dist/packages/runtime/dist/rule-content-review.js +217 -0
  106. package/dist/packages/runtime/dist/rule-content-review.js.map +1 -0
  107. package/dist/packages/runtime/dist/session-audit.d.ts +6 -1
  108. package/dist/packages/runtime/dist/session-audit.js +35 -4
  109. package/dist/packages/runtime/dist/session-audit.js.map +1 -1
  110. package/dist/packages/runtime/dist/session.d.ts +21 -1
  111. package/dist/packages/runtime/dist/session.js +429 -63
  112. package/dist/packages/runtime/dist/session.js.map +1 -1
  113. package/dist/packages/runtime/dist/task-journal.d.ts +10 -1
  114. package/dist/packages/runtime/dist/task-journal.js +26 -1
  115. package/dist/packages/runtime/dist/task-journal.js.map +1 -1
  116. package/dist/packages/runtime/dist/verifier.d.ts +5 -2
  117. package/dist/packages/runtime/dist/verifier.js +14 -4
  118. package/dist/packages/runtime/dist/verifier.js.map +1 -1
  119. package/dist/spec/audit-entry.schema.json +25 -1
  120. package/dist/spec/audit-evidence.schema.json +179 -0
  121. package/dist/spec/audit-file-record.schema.json +177 -0
  122. package/dist/spec/audit-interruption.schema.json +110 -0
  123. package/dist/spec/context-grant-audit-payload.schema.json +24 -0
  124. package/dist/spec/context-grant.schema.json +146 -0
  125. package/dist/spec/delegation-attachment.schema.json +167 -0
  126. package/dist/spec/delegation-link.schema.json +141 -0
  127. package/dist/spec/examples/context-pooling/approval_redelegation/sample-delegation-attachment.json +413 -0
  128. package/dist/spec/examples/context-pooling/hand_over/sample-context-grant.json +18 -0
  129. package/dist/spec/examples/context-pooling/hand_over/sample-task-manifest.0.2.0.json +94 -0
  130. package/dist/spec/examples/context-pooling/sample-context-grant-audit-payload.json +4 -0
  131. package/dist/spec/examples/context-pooling/view_only/sample-context-grant.json +18 -0
  132. package/dist/spec/examples/context-pooling/view_only/sample-task-manifest.0.2.0.json +94 -0
  133. package/dist/spec/examples/sample-audit-evidence.json +138 -0
  134. package/dist/spec/examples/sample-audit-file-record.json +31 -0
  135. package/dist/spec/examples/sample-audit-interruption.json +29 -0
  136. package/dist/spec/task-manifest.0.2.0.schema.json +87 -1
  137. package/docs/context-grants.md +221 -0
  138. package/docs/sdk.ja.md +108 -2
  139. package/docs/sdk.md +120 -2
  140. package/package.json +3 -2
@@ -0,0 +1,413 @@
1
+ {
2
+ "parentContract": {
3
+ "manifest": {
4
+ "protocolVersion": "0.2.0",
5
+ "taskId": "task_a45981fcff6c47f8a7aeb855e4831ddd",
6
+ "createdAt": "2030-01-01T00:00:00.000Z",
7
+ "deadline": "2030-01-01T00:10:00.000Z",
8
+ "requester": {
9
+ "ownerDid": "did:key:z6MkqBZCzjeUN8JSvCWw1EP8JqpNxEVgrute2sdtVgVJJjFS",
10
+ "agentDid": "did:key:z6MkqBZCzjeUN8JSvCWw1EP8JqpNxEVgrute2sdtVgVJJjFS"
11
+ },
12
+ "worker": {
13
+ "ownerDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi",
14
+ "agentDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi"
15
+ },
16
+ "task": {
17
+ "title": "Review selected dimensions",
18
+ "description": "Collect one partial feasibility review.",
19
+ "acceptanceCriteria": [
20
+ {
21
+ "id": "ac_schema",
22
+ "description": "Output satisfies the agreed JSON schema",
23
+ "required": true
24
+ }
25
+ ]
26
+ },
27
+ "io": {
28
+ "inputSchema": {},
29
+ "outputSchema": {}
30
+ },
31
+ "verification": {
32
+ "mode": "hybrid",
33
+ "requireUsageReceipt": true,
34
+ "requireExecutionAttestation": true,
35
+ "maxRetries": 0
36
+ },
37
+ "budget": {
38
+ "costBearer": "worker_byok",
39
+ "maxInputTokens": 50000,
40
+ "maxOutputTokens": 10000,
41
+ "maxToolInvocations": 10,
42
+ "maxWallClockSeconds": 60,
43
+ "onOverrun": "hard_stop"
44
+ },
45
+ "permissions": {
46
+ "maxDelegationDepth": 1,
47
+ "grantedCapabilities": []
48
+ },
49
+ "sandboxPolicy": {
50
+ "isolationLevel": "subprocess_restricted",
51
+ "networkAccess": "none",
52
+ "filesystemScope": "ephemeral_workspace_only"
53
+ },
54
+ "hitlPolicy": {
55
+ "requiredGates": [
56
+ "GATE_CONTRACT_ACCEPT",
57
+ "GATE_DELIVERY_ACCEPT",
58
+ "GATE_SUB_DELEGATION"
59
+ ]
60
+ },
61
+ "contextGrant": {
62
+ "deliveryMode": "approval_redelegation",
63
+ "selectors": [
64
+ "dimensions",
65
+ "material"
66
+ ],
67
+ "fieldsAllowed": [
68
+ "width",
69
+ "height",
70
+ "material"
71
+ ],
72
+ "fieldsDenied": [
73
+ "customerName"
74
+ ],
75
+ "angle": "Review feasibility of the selection.",
76
+ "expiresAt": "2030-01-02T00:00:00.000Z",
77
+ "maxBytes": 65536,
78
+ "retention": "ephemeral_view",
79
+ "inputRetentionAllowed": false
80
+ }
81
+ },
82
+ "proposal": {
83
+ "payload": {
84
+ "protocolVersion": "0.2.0",
85
+ "taskId": "task_a45981fcff6c47f8a7aeb855e4831ddd",
86
+ "createdAt": "2030-01-01T00:00:00.000Z",
87
+ "deadline": "2030-01-01T00:10:00.000Z",
88
+ "requester": {
89
+ "ownerDid": "did:key:z6MkqBZCzjeUN8JSvCWw1EP8JqpNxEVgrute2sdtVgVJJjFS",
90
+ "agentDid": "did:key:z6MkqBZCzjeUN8JSvCWw1EP8JqpNxEVgrute2sdtVgVJJjFS"
91
+ },
92
+ "worker": {
93
+ "ownerDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi",
94
+ "agentDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi"
95
+ },
96
+ "task": {
97
+ "title": "Review selected dimensions",
98
+ "description": "Collect one partial feasibility review.",
99
+ "acceptanceCriteria": [
100
+ {
101
+ "id": "ac_schema",
102
+ "description": "Output satisfies the agreed JSON schema",
103
+ "required": true
104
+ }
105
+ ]
106
+ },
107
+ "io": {
108
+ "inputSchema": {},
109
+ "outputSchema": {}
110
+ },
111
+ "verification": {
112
+ "mode": "hybrid",
113
+ "requireUsageReceipt": true,
114
+ "requireExecutionAttestation": true,
115
+ "maxRetries": 0
116
+ },
117
+ "budget": {
118
+ "costBearer": "worker_byok",
119
+ "maxInputTokens": 50000,
120
+ "maxOutputTokens": 10000,
121
+ "maxToolInvocations": 10,
122
+ "maxWallClockSeconds": 60,
123
+ "onOverrun": "hard_stop"
124
+ },
125
+ "permissions": {
126
+ "maxDelegationDepth": 1,
127
+ "grantedCapabilities": []
128
+ },
129
+ "sandboxPolicy": {
130
+ "isolationLevel": "subprocess_restricted",
131
+ "networkAccess": "none",
132
+ "filesystemScope": "ephemeral_workspace_only"
133
+ },
134
+ "hitlPolicy": {
135
+ "requiredGates": [
136
+ "GATE_CONTRACT_ACCEPT",
137
+ "GATE_DELIVERY_ACCEPT",
138
+ "GATE_SUB_DELEGATION"
139
+ ]
140
+ },
141
+ "contextGrant": {
142
+ "deliveryMode": "approval_redelegation",
143
+ "selectors": [
144
+ "dimensions",
145
+ "material"
146
+ ],
147
+ "fieldsAllowed": [
148
+ "width",
149
+ "height",
150
+ "material"
151
+ ],
152
+ "fieldsDenied": [
153
+ "customerName"
154
+ ],
155
+ "angle": "Review feasibility of the selection.",
156
+ "expiresAt": "2030-01-02T00:00:00.000Z",
157
+ "maxBytes": 65536,
158
+ "retention": "ephemeral_view",
159
+ "inputRetentionAllowed": false
160
+ }
161
+ },
162
+ "signature": {
163
+ "signerDid": "did:key:z6MkqBZCzjeUN8JSvCWw1EP8JqpNxEVgrute2sdtVgVJJjFS",
164
+ "canonicalization": "RFC8785-JCS",
165
+ "payloadDigest": "sha256:bb5e8a2236019ff249e86fe515ce8a02eae414bc853117706e82b89b4f553994",
166
+ "signedAt": "2030-01-01T00:00:00.000Z",
167
+ "signature": "ed25519:LohqMY--CZm2LihJFM0kfgRumkZF3SEGcjkegMTFYRsFU5CYSiH-jO5WMyMDGCsx8FbQf-gaWcnKe-ttKXm5CQ"
168
+ }
169
+ },
170
+ "acceptance": {
171
+ "payload": {
172
+ "type": "ACCEPT",
173
+ "manifestDigest": "sha256:bb5e8a2236019ff249e86fe515ce8a02eae414bc853117706e82b89b4f553994",
174
+ "taskId": "task_a45981fcff6c47f8a7aeb855e4831ddd"
175
+ },
176
+ "signature": {
177
+ "signerDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi",
178
+ "canonicalization": "RFC8785-JCS",
179
+ "payloadDigest": "sha256:95bfd1bee27de1afc78b4a0617778e7f26dd841d3af60ce9791a57729c86e0e8",
180
+ "signedAt": "2030-01-01T00:00:01.000Z",
181
+ "signature": "ed25519:B6lWDG-iK09m3mPys8lD1N-Sy9aV3FlNbWv3qm4YPHNC8pDmImLhKDJcXaOjDGU3umJbUcLmqo2JP4MJR7-8Aw"
182
+ }
183
+ },
184
+ "contractDigest": "sha256:b52ac1f0b63a0001e32ff83ab484015278fe59834ac5cefe32a780c06b80ff8c"
185
+ },
186
+ "children": [
187
+ {
188
+ "link": {
189
+ "payload": {
190
+ "type": "DelegationLink",
191
+ "parentTaskId": "task_a45981fcff6c47f8a7aeb855e4831ddd",
192
+ "parentContractDigest": "sha256:b52ac1f0b63a0001e32ff83ab484015278fe59834ac5cefe32a780c06b80ff8c",
193
+ "childTaskId": "task_62a1fd0bb07643249b51ee9aae9a65ce",
194
+ "childContractDigest": "sha256:eba7bae5cf4ba6062c2f808894e35ffe0a8ac1c4f84f697158a22844f61ec576",
195
+ "delegatorOwnerDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi",
196
+ "delegateeOwnerDid": "did:key:z6MkhLZrYrNVhvcBdZqusaiSqZaTh4E5dkLF1VAQk48XVyTk",
197
+ "depthRemaining": 0,
198
+ "limits": {
199
+ "deadline": "2030-01-01T00:08:21.000Z",
200
+ "expiresAt": "2030-01-02T00:00:00.000Z",
201
+ "budget": {
202
+ "costBearer": "worker_byok",
203
+ "maxInputTokens": 50000,
204
+ "maxOutputTokens": 10000,
205
+ "maxToolInvocations": 10,
206
+ "maxWallClockSeconds": 60,
207
+ "onOverrun": "hard_stop"
208
+ },
209
+ "sandboxPolicy": {
210
+ "isolationLevel": "subprocess_restricted",
211
+ "networkAccess": "none",
212
+ "filesystemScope": "ephemeral_workspace_only"
213
+ },
214
+ "verification": {
215
+ "mode": "hybrid",
216
+ "requireUsageReceipt": true,
217
+ "requireExecutionAttestation": true,
218
+ "maxRetries": 0
219
+ },
220
+ "depthRemaining": 0
221
+ },
222
+ "issuedAt": "2030-01-01T00:00:03.000Z",
223
+ "prevLinkDigest": null
224
+ },
225
+ "signature": {
226
+ "signerDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi",
227
+ "canonicalization": "RFC8785-JCS",
228
+ "payloadDigest": "sha256:987f390e68986b5e88733ef4917cc8f1db8f90c55ae5e1a1b3a46329d0c14f86",
229
+ "signedAt": "2030-01-01T00:00:03.000Z",
230
+ "signature": "ed25519:fcRyAVoJTSFeygiBpVYPp-YinbbXCz_MyG_pnMLbkZQ1JSiKfM56cohQGC_FwYY2fxtOAs_Pbiwun09mp-woCQ"
231
+ }
232
+ },
233
+ "childContract": {
234
+ "manifest": {
235
+ "protocolVersion": "0.2.0",
236
+ "taskId": "task_62a1fd0bb07643249b51ee9aae9a65ce",
237
+ "createdAt": "2030-01-01T00:00:01.000Z",
238
+ "deadline": "2030-01-01T00:08:21.000Z",
239
+ "requester": {
240
+ "ownerDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi",
241
+ "agentDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi"
242
+ },
243
+ "worker": {
244
+ "ownerDid": "did:key:z6MkhLZrYrNVhvcBdZqusaiSqZaTh4E5dkLF1VAQk48XVyTk",
245
+ "agentDid": "did:key:z6MkhLZrYrNVhvcBdZqusaiSqZaTh4E5dkLF1VAQk48XVyTk"
246
+ },
247
+ "task": {
248
+ "title": "Review dimensions",
249
+ "description": "Review the selected dimensions.",
250
+ "acceptanceCriteria": [
251
+ {
252
+ "id": "ac_schema",
253
+ "description": "Output satisfies the agreed JSON schema",
254
+ "required": true
255
+ }
256
+ ]
257
+ },
258
+ "io": {
259
+ "inputSchema": {},
260
+ "outputSchema": {}
261
+ },
262
+ "verification": {
263
+ "mode": "hybrid",
264
+ "requireUsageReceipt": true,
265
+ "requireExecutionAttestation": true,
266
+ "maxRetries": 0
267
+ },
268
+ "budget": {
269
+ "costBearer": "worker_byok",
270
+ "maxInputTokens": 50000,
271
+ "maxOutputTokens": 10000,
272
+ "maxToolInvocations": 10,
273
+ "maxWallClockSeconds": 60,
274
+ "onOverrun": "hard_stop"
275
+ },
276
+ "permissions": {
277
+ "maxDelegationDepth": 0,
278
+ "grantedCapabilities": []
279
+ },
280
+ "sandboxPolicy": {
281
+ "isolationLevel": "subprocess_restricted",
282
+ "networkAccess": "none",
283
+ "filesystemScope": "ephemeral_workspace_only"
284
+ },
285
+ "hitlPolicy": {
286
+ "requiredGates": [
287
+ "GATE_CONTRACT_ACCEPT",
288
+ "GATE_DELIVERY_ACCEPT"
289
+ ]
290
+ },
291
+ "contextGrant": {
292
+ "selectors": [
293
+ "dimensions"
294
+ ],
295
+ "fieldsAllowed": [
296
+ "width",
297
+ "height"
298
+ ],
299
+ "fieldsDenied": [
300
+ "customerName"
301
+ ],
302
+ "angle": "Review feasibility of the dimensions.",
303
+ "expiresAt": "2030-01-02T00:00:00.000Z",
304
+ "deliveryMode": "view_only",
305
+ "maxBytes": 65536,
306
+ "retention": "ephemeral_view",
307
+ "inputRetentionAllowed": false
308
+ }
309
+ },
310
+ "proposal": {
311
+ "payload": {
312
+ "protocolVersion": "0.2.0",
313
+ "taskId": "task_62a1fd0bb07643249b51ee9aae9a65ce",
314
+ "createdAt": "2030-01-01T00:00:01.000Z",
315
+ "deadline": "2030-01-01T00:08:21.000Z",
316
+ "requester": {
317
+ "ownerDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi",
318
+ "agentDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi"
319
+ },
320
+ "worker": {
321
+ "ownerDid": "did:key:z6MkhLZrYrNVhvcBdZqusaiSqZaTh4E5dkLF1VAQk48XVyTk",
322
+ "agentDid": "did:key:z6MkhLZrYrNVhvcBdZqusaiSqZaTh4E5dkLF1VAQk48XVyTk"
323
+ },
324
+ "task": {
325
+ "title": "Review dimensions",
326
+ "description": "Review the selected dimensions.",
327
+ "acceptanceCriteria": [
328
+ {
329
+ "id": "ac_schema",
330
+ "description": "Output satisfies the agreed JSON schema",
331
+ "required": true
332
+ }
333
+ ]
334
+ },
335
+ "io": {
336
+ "inputSchema": {},
337
+ "outputSchema": {}
338
+ },
339
+ "verification": {
340
+ "mode": "hybrid",
341
+ "requireUsageReceipt": true,
342
+ "requireExecutionAttestation": true,
343
+ "maxRetries": 0
344
+ },
345
+ "budget": {
346
+ "costBearer": "worker_byok",
347
+ "maxInputTokens": 50000,
348
+ "maxOutputTokens": 10000,
349
+ "maxToolInvocations": 10,
350
+ "maxWallClockSeconds": 60,
351
+ "onOverrun": "hard_stop"
352
+ },
353
+ "permissions": {
354
+ "maxDelegationDepth": 0,
355
+ "grantedCapabilities": []
356
+ },
357
+ "sandboxPolicy": {
358
+ "isolationLevel": "subprocess_restricted",
359
+ "networkAccess": "none",
360
+ "filesystemScope": "ephemeral_workspace_only"
361
+ },
362
+ "hitlPolicy": {
363
+ "requiredGates": [
364
+ "GATE_CONTRACT_ACCEPT",
365
+ "GATE_DELIVERY_ACCEPT"
366
+ ]
367
+ },
368
+ "contextGrant": {
369
+ "selectors": [
370
+ "dimensions"
371
+ ],
372
+ "fieldsAllowed": [
373
+ "width",
374
+ "height"
375
+ ],
376
+ "fieldsDenied": [
377
+ "customerName"
378
+ ],
379
+ "angle": "Review feasibility of the dimensions.",
380
+ "expiresAt": "2030-01-02T00:00:00.000Z",
381
+ "deliveryMode": "view_only",
382
+ "maxBytes": 65536,
383
+ "retention": "ephemeral_view",
384
+ "inputRetentionAllowed": false
385
+ }
386
+ },
387
+ "signature": {
388
+ "signerDid": "did:key:z6Mkjow37BAvG8Z51c6prrUjSgCJiCermxwvFJDRNoP6mzmi",
389
+ "canonicalization": "RFC8785-JCS",
390
+ "payloadDigest": "sha256:7c4f0916e5d76cf379ae64d68ce6d80de8ead06c5b74c7d804ae56a40266aaf1",
391
+ "signedAt": "2030-01-01T00:00:01.000Z",
392
+ "signature": "ed25519:xF08DeOJf0Nzpvag6c_gdSURo30-Am_6B3m0vaCYp7rCuLRV5wFL3-7ywfnfuPlmx_YwCYEYYi7RlzPfrpdWAw"
393
+ }
394
+ },
395
+ "acceptance": {
396
+ "payload": {
397
+ "type": "ACCEPT",
398
+ "manifestDigest": "sha256:7c4f0916e5d76cf379ae64d68ce6d80de8ead06c5b74c7d804ae56a40266aaf1",
399
+ "taskId": "task_62a1fd0bb07643249b51ee9aae9a65ce"
400
+ },
401
+ "signature": {
402
+ "signerDid": "did:key:z6MkhLZrYrNVhvcBdZqusaiSqZaTh4E5dkLF1VAQk48XVyTk",
403
+ "canonicalization": "RFC8785-JCS",
404
+ "payloadDigest": "sha256:064c709e194ba3f3283c101652b736894d3f547ca9fe307ed9122b11b0dbd5c4",
405
+ "signedAt": "2030-01-01T00:00:02.000Z",
406
+ "signature": "ed25519:RxzuHrRjQvFs9gAGICLfuJ75ohKl0LjrlVISfEUmgOJGX4AARP7uuyWuCDqb_gYykJH-8KNWKHdOvZK0iUzKAw"
407
+ }
408
+ },
409
+ "contractDigest": "sha256:eba7bae5cf4ba6062c2f808894e35ffe0a8ac1c4f84f697158a22844f61ec576"
410
+ }
411
+ }
412
+ ]
413
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "deliveryMode": "hand_over",
3
+ "selectors": [
4
+ "$.items[*]"
5
+ ],
6
+ "fieldsAllowed": [
7
+ "dimensions",
8
+ "material"
9
+ ],
10
+ "fieldsDenied": [
11
+ "customerName"
12
+ ],
13
+ "angle": "Report production feasibility and missing dimensions.",
14
+ "expiresAt": "2030-01-02T00:00:00Z",
15
+ "maxBytes": 65536,
16
+ "retention": "keep_deliverable",
17
+ "inputRetentionAllowed": false
18
+ }
@@ -0,0 +1,94 @@
1
+ {
2
+ "protocolVersion": "0.2.0",
3
+ "taskId": "task_context_hand_over",
4
+ "createdAt": "2030-01-01T00:00:00.000Z",
5
+ "deadline": "2030-01-01T00:10:00.000Z",
6
+ "requester": {
7
+ "ownerDid": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
8
+ "agentDid": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
9
+ },
10
+ "worker": {
11
+ "ownerDid": "did:key:z6MkjchhfUsD6mmvni8mCdXHw216Xrm9bQe2mBH1P5RDjVJG",
12
+ "agentDid": "did:key:z6MkjchhfUsD6mmvni8mCdXHw216Xrm9bQe2mBH1P5RDjVJG"
13
+ },
14
+ "task": {
15
+ "title": "Production feasibility",
16
+ "description": "Review only the selected dimensions and material; report feasibility and missing dimensions.",
17
+ "acceptanceCriteria": [
18
+ {
19
+ "id": "ac_schema",
20
+ "description": "Output satisfies the agreed JSON schema",
21
+ "required": true
22
+ }
23
+ ]
24
+ },
25
+ "io": {
26
+ "inputSchema": {},
27
+ "outputSchema": {
28
+ "type": "object",
29
+ "required": [
30
+ "feasible",
31
+ "missingDimensions"
32
+ ],
33
+ "additionalProperties": false,
34
+ "properties": {
35
+ "feasible": {
36
+ "type": "boolean"
37
+ },
38
+ "missingDimensions": {
39
+ "type": "array",
40
+ "items": {
41
+ "type": "string"
42
+ }
43
+ }
44
+ }
45
+ }
46
+ },
47
+ "verification": {
48
+ "mode": "hybrid",
49
+ "requireUsageReceipt": true,
50
+ "requireExecutionAttestation": true,
51
+ "maxRetries": 0
52
+ },
53
+ "budget": {
54
+ "costBearer": "worker_byok",
55
+ "maxInputTokens": 50000,
56
+ "maxOutputTokens": 10000,
57
+ "maxToolInvocations": 10,
58
+ "maxWallClockSeconds": 60,
59
+ "onOverrun": "hard_stop"
60
+ },
61
+ "permissions": {
62
+ "maxDelegationDepth": 0,
63
+ "grantedCapabilities": []
64
+ },
65
+ "sandboxPolicy": {
66
+ "isolationLevel": "subprocess_restricted",
67
+ "networkAccess": "none",
68
+ "filesystemScope": "ephemeral_workspace_only"
69
+ },
70
+ "hitlPolicy": {
71
+ "requiredGates": [
72
+ "GATE_CONTRACT_ACCEPT",
73
+ "GATE_DELIVERY_ACCEPT"
74
+ ]
75
+ },
76
+ "contextGrant": {
77
+ "deliveryMode": "hand_over",
78
+ "selectors": [
79
+ "$.items[*]"
80
+ ],
81
+ "fieldsAllowed": [
82
+ "dimensions",
83
+ "material"
84
+ ],
85
+ "fieldsDenied": [
86
+ "customerName"
87
+ ],
88
+ "angle": "Report production feasibility and missing dimensions.",
89
+ "expiresAt": "2030-01-02T00:00:00Z",
90
+ "maxBytes": 65536,
91
+ "retention": "keep_deliverable",
92
+ "inputRetentionAllowed": false
93
+ }
94
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "grantDigest": "sha256:9fa835f46332cb475dcd7236ebbdc8eb5da65d78fad0801596d7780c3741133d",
3
+ "deliveryMode": "view_only"
4
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "deliveryMode": "view_only",
3
+ "selectors": [
4
+ "$.items[*]"
5
+ ],
6
+ "fieldsAllowed": [
7
+ "dimensions",
8
+ "material"
9
+ ],
10
+ "fieldsDenied": [
11
+ "customerName"
12
+ ],
13
+ "angle": "Report production feasibility and missing dimensions.",
14
+ "expiresAt": "2030-01-02T00:00:00Z",
15
+ "maxBytes": 65536,
16
+ "retention": "ephemeral_view",
17
+ "inputRetentionAllowed": false
18
+ }
@@ -0,0 +1,94 @@
1
+ {
2
+ "protocolVersion": "0.2.0",
3
+ "taskId": "task_context_view_only",
4
+ "createdAt": "2030-01-01T00:00:00.000Z",
5
+ "deadline": "2030-01-01T00:10:00.000Z",
6
+ "requester": {
7
+ "ownerDid": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
8
+ "agentDid": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
9
+ },
10
+ "worker": {
11
+ "ownerDid": "did:key:z6MkjchhfUsD6mmvni8mCdXHw216Xrm9bQe2mBH1P5RDjVJG",
12
+ "agentDid": "did:key:z6MkjchhfUsD6mmvni8mCdXHw216Xrm9bQe2mBH1P5RDjVJG"
13
+ },
14
+ "task": {
15
+ "title": "Production feasibility",
16
+ "description": "Review only the selected dimensions and material; report feasibility and missing dimensions.",
17
+ "acceptanceCriteria": [
18
+ {
19
+ "id": "ac_schema",
20
+ "description": "Output satisfies the agreed JSON schema",
21
+ "required": true
22
+ }
23
+ ]
24
+ },
25
+ "io": {
26
+ "inputSchema": {},
27
+ "outputSchema": {
28
+ "type": "object",
29
+ "required": [
30
+ "feasible",
31
+ "missingDimensions"
32
+ ],
33
+ "additionalProperties": false,
34
+ "properties": {
35
+ "feasible": {
36
+ "type": "boolean"
37
+ },
38
+ "missingDimensions": {
39
+ "type": "array",
40
+ "items": {
41
+ "type": "string"
42
+ }
43
+ }
44
+ }
45
+ }
46
+ },
47
+ "verification": {
48
+ "mode": "hybrid",
49
+ "requireUsageReceipt": true,
50
+ "requireExecutionAttestation": true,
51
+ "maxRetries": 0
52
+ },
53
+ "budget": {
54
+ "costBearer": "worker_byok",
55
+ "maxInputTokens": 50000,
56
+ "maxOutputTokens": 10000,
57
+ "maxToolInvocations": 10,
58
+ "maxWallClockSeconds": 60,
59
+ "onOverrun": "hard_stop"
60
+ },
61
+ "permissions": {
62
+ "maxDelegationDepth": 0,
63
+ "grantedCapabilities": []
64
+ },
65
+ "sandboxPolicy": {
66
+ "isolationLevel": "subprocess_restricted",
67
+ "networkAccess": "none",
68
+ "filesystemScope": "ephemeral_workspace_only"
69
+ },
70
+ "hitlPolicy": {
71
+ "requiredGates": [
72
+ "GATE_CONTRACT_ACCEPT",
73
+ "GATE_DELIVERY_ACCEPT"
74
+ ]
75
+ },
76
+ "contextGrant": {
77
+ "deliveryMode": "view_only",
78
+ "selectors": [
79
+ "$.items[*]"
80
+ ],
81
+ "fieldsAllowed": [
82
+ "dimensions",
83
+ "material"
84
+ ],
85
+ "fieldsDenied": [
86
+ "customerName"
87
+ ],
88
+ "angle": "Report production feasibility and missing dimensions.",
89
+ "expiresAt": "2030-01-02T00:00:00Z",
90
+ "maxBytes": 65536,
91
+ "retention": "ephemeral_view",
92
+ "inputRetentionAllowed": false
93
+ }
94
+ }