@ifsoul/core 0.3.0 → 0.4.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 (137) hide show
  1. package/README.md +28 -34
  2. package/dist/packages/memory/src/sql.js +54 -5
  3. package/dist/packages/protocol/src/generated/validators.cjs +1 -1
  4. package/dist/packages/protocol/src/index.d.ts +1 -6
  5. package/dist/packages/protocol/src/index.js +3 -16
  6. package/dist/packages/protocol/src/types.d.ts +1 -1
  7. package/dist/packages/runtime/src/index.js +1 -1
  8. package/package.json +2 -3
  9. package/packages/protocol/schemas/current/archive.schema.json +16 -16
  10. package/packages/protocol/schemas/current/character.schema.json +21 -21
  11. package/packages/protocol/schemas/current/common.schema.json +15 -15
  12. package/packages/protocol/schemas/current/context.schema.json +24 -24
  13. package/packages/protocol/schemas/current/conversation.schema.json +39 -39
  14. package/packages/protocol/schemas/current/environment.schema.json +18 -18
  15. package/packages/protocol/schemas/current/memory.schema.json +66 -66
  16. package/packages/protocol/schemas/current/model-provider.schema.json +40 -40
  17. package/packages/protocol/schemas/current/planning.schema.json +61 -61
  18. package/packages/protocol/schemas/current/provider-common.schema.json +6 -6
  19. package/release.json +7 -12
  20. package/specs/README.md +3 -86
  21. package/specs/current/README.md +3 -5
  22. package/specs/current/examples/archive-fork.json +12 -12
  23. package/specs/current/examples/archive-resume.json +12 -12
  24. package/specs/current/examples/character-instance.json +1 -1
  25. package/specs/current/examples/character-template.json +1 -1
  26. package/specs/current/examples/context-after-inspection.json +1 -1
  27. package/specs/current/examples/context-chat.json +1 -1
  28. package/specs/current/examples/context-daily.json +1 -1
  29. package/specs/current/examples/context-no-speech.json +1 -1
  30. package/specs/current/examples/conversation-delivery.json +1 -1
  31. package/specs/current/examples/conversation-live-request.json +1 -1
  32. package/specs/current/examples/conversation-live-response.json +1 -1
  33. package/specs/current/examples/conversation-no-speech-request.json +1 -1
  34. package/specs/current/examples/conversation-no-speech-response.json +1 -1
  35. package/specs/current/examples/conversation-requested-request.json +1 -1
  36. package/specs/current/examples/conversation-requested-response.json +1 -1
  37. package/specs/current/examples/environment-chat.json +1 -1
  38. package/specs/current/examples/environment-game.json +1 -1
  39. package/specs/current/examples/environment-no-speech.json +1 -1
  40. package/specs/current/examples/intent-checkpoint.json +1 -1
  41. package/specs/current/examples/memory-episode.json +1 -1
  42. package/specs/current/examples/memory-event-conversation.json +1 -1
  43. package/specs/current/examples/memory-event-observed.json +2 -2
  44. package/specs/current/examples/memory-event-plan-proposal.json +2 -2
  45. package/specs/current/examples/memory-event-proposed.json +2 -2
  46. package/specs/current/examples/memory-fact.json +1 -1
  47. package/specs/current/examples/memory-relationship.json +1 -1
  48. package/specs/current/examples/memory-working-context.json +1 -1
  49. package/specs/current/examples/plan-cancel-request.json +1 -1
  50. package/specs/current/examples/plan-cancel-result.json +1 -1
  51. package/specs/current/examples/plan-daily.json +1 -1
  52. package/specs/current/examples/plan-partial-decision.json +1 -1
  53. package/specs/current/examples/portable-memory.jsonl +9 -9
  54. package/specs/current/examples/task-outcome.json +1 -1
  55. package/specs/current/examples/task-progress.json +1 -1
  56. package/specs/current/model-provider/examples/capabilities.json +1 -1
  57. package/specs/current/model-provider/examples/error.json +1 -1
  58. package/specs/current/model-provider/examples/request.json +1 -1
  59. package/specs/current/model-provider/examples/response.json +1 -1
  60. package/docs/npm-publishing.md +0 -44
  61. package/packages/protocol/schemas/action-result.schema.json +0 -187
  62. package/packages/protocol/schemas/action.schema.json +0 -68
  63. package/packages/protocol/schemas/archive-manifest.schema.json +0 -126
  64. package/packages/protocol/schemas/capability.schema.json +0 -131
  65. package/packages/protocol/schemas/character-instance.schema.json +0 -73
  66. package/packages/protocol/schemas/character-template.schema.json +0 -67
  67. package/packages/protocol/schemas/common.schema.json +0 -154
  68. package/packages/protocol/schemas/derived-memory.schema.json +0 -145
  69. package/packages/protocol/schemas/memory-event.schema.json +0 -123
  70. package/packages/protocol/schemas/model-provider.schema.json +0 -326
  71. package/packages/protocol/schemas/perception.schema.json +0 -89
  72. package/packages/protocol/schemas/permission-policy.schema.json +0 -153
  73. package/packages/protocol/schemas/v0.2/archive.schema.json +0 -205
  74. package/packages/protocol/schemas/v0.2/character.schema.json +0 -344
  75. package/packages/protocol/schemas/v0.2/common.schema.json +0 -239
  76. package/packages/protocol/schemas/v0.2/context.schema.json +0 -230
  77. package/packages/protocol/schemas/v0.2/conversation.schema.json +0 -340
  78. package/packages/protocol/schemas/v0.2/environment.schema.json +0 -244
  79. package/packages/protocol/schemas/v0.2/memory.schema.json +0 -495
  80. package/packages/protocol/schemas/v0.2/planning.schema.json +0 -443
  81. package/packages/protocol/schemas/world-event.schema.json +0 -74
  82. package/specs/character/README.md +0 -84
  83. package/specs/character/examples/archive-manifest.json +0 -32
  84. package/specs/character/examples/character-instance.json +0 -20
  85. package/specs/character/examples/character-template.json +0 -19
  86. package/specs/memory/README.md +0 -80
  87. package/specs/memory/examples/derived-memory.json +0 -21
  88. package/specs/memory/examples/memory-event.json +0 -35
  89. package/specs/model-provider/README.md +0 -85
  90. package/specs/model-provider/examples/capabilities.json +0 -10
  91. package/specs/model-provider/examples/error.json +0 -18
  92. package/specs/model-provider/examples/request.json +0 -17
  93. package/specs/model-provider/examples/response.json +0 -19
  94. package/specs/v0.2/README.md +0 -421
  95. package/specs/v0.2/examples/archive-fork.json +0 -64
  96. package/specs/v0.2/examples/archive-resume.json +0 -63
  97. package/specs/v0.2/examples/character-instance.json +0 -57
  98. package/specs/v0.2/examples/character-template.json +0 -45
  99. package/specs/v0.2/examples/context-after-inspection.json +0 -44
  100. package/specs/v0.2/examples/context-chat.json +0 -27
  101. package/specs/v0.2/examples/context-daily.json +0 -69
  102. package/specs/v0.2/examples/context-no-speech.json +0 -27
  103. package/specs/v0.2/examples/conversation-delivery.json +0 -17
  104. package/specs/v0.2/examples/conversation-live-request.json +0 -31
  105. package/specs/v0.2/examples/conversation-live-response.json +0 -23
  106. package/specs/v0.2/examples/conversation-no-speech-request.json +0 -23
  107. package/specs/v0.2/examples/conversation-no-speech-response.json +0 -22
  108. package/specs/v0.2/examples/conversation-requested-request.json +0 -31
  109. package/specs/v0.2/examples/conversation-requested-response.json +0 -23
  110. package/specs/v0.2/examples/environment-chat.json +0 -43
  111. package/specs/v0.2/examples/environment-game.json +0 -80
  112. package/specs/v0.2/examples/environment-no-speech.json +0 -47
  113. package/specs/v0.2/examples/intent-checkpoint.json +0 -29
  114. package/specs/v0.2/examples/memory-episode.json +0 -28
  115. package/specs/v0.2/examples/memory-event-conversation.json +0 -32
  116. package/specs/v0.2/examples/memory-event-observed.json +0 -50
  117. package/specs/v0.2/examples/memory-event-plan-proposal.json +0 -82
  118. package/specs/v0.2/examples/memory-event-proposed.json +0 -53
  119. package/specs/v0.2/examples/memory-fact.json +0 -23
  120. package/specs/v0.2/examples/memory-relationship.json +0 -25
  121. package/specs/v0.2/examples/memory-working-context.json +0 -24
  122. package/specs/v0.2/examples/plan-cancel-request.json +0 -16
  123. package/specs/v0.2/examples/plan-cancel-result.json +0 -21
  124. package/specs/v0.2/examples/plan-daily.json +0 -57
  125. package/specs/v0.2/examples/plan-partial-decision.json +0 -28
  126. package/specs/v0.2/examples/portable-memory.jsonl +0 -9
  127. package/specs/v0.2/examples/task-outcome.json +0 -21
  128. package/specs/v0.2/examples/task-progress.json +0 -19
  129. package/specs/world-adapter/README.md +0 -114
  130. package/specs/world-adapter/examples/action-result-unknown.json +0 -23
  131. package/specs/world-adapter/examples/action-result.json +0 -45
  132. package/specs/world-adapter/examples/action.json +0 -17
  133. package/specs/world-adapter/examples/capability.json +0 -44
  134. package/specs/world-adapter/examples/perception.json +0 -30
  135. package/specs/world-adapter/examples/permission-decision.json +0 -14
  136. package/specs/world-adapter/examples/permission-policy.json +0 -17
  137. package/specs/world-adapter/examples/world-event.json +0 -25
@@ -1,495 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "urn:ifsoul:protocol:draft-0.2.0:memory",
4
- "oneOf": [
5
- {
6
- "$ref": "#/$defs/event"
7
- },
8
- {
9
- "$ref": "#/$defs/working"
10
- },
11
- {
12
- "$ref": "#/$defs/episode"
13
- },
14
- {
15
- "$ref": "#/$defs/fact"
16
- },
17
- {
18
- "$ref": "#/$defs/relationship"
19
- },
20
- {
21
- "$ref": "#/$defs/checkpoint"
22
- }
23
- ],
24
- "$defs": {
25
- "event": {
26
- "type": "object",
27
- "properties": {
28
- "schemaVersion": {
29
- "const": "draft-0.2.0"
30
- },
31
- "kind": {
32
- "const": "memory-event"
33
- },
34
- "memoryId": {
35
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
36
- },
37
- "characterId": {
38
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
39
- },
40
- "recordedAt": {
41
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/utc"
42
- },
43
- "scope": {
44
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/scope"
45
- },
46
- "provenance": {
47
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/provenance"
48
- },
49
- "eventType": {
50
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
51
- },
52
- "summary": {
53
- "type": "string",
54
- "minLength": 1,
55
- "maxLength": 4000
56
- },
57
- "participantIds": {
58
- "type": "array",
59
- "items": {
60
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
61
- },
62
- "minItems": 0,
63
- "maxItems": 32,
64
- "uniqueItems": true
65
- },
66
- "environmentId": {
67
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
68
- },
69
- "sessionId": {
70
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
71
- },
72
- "worldTime": {
73
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/worldTime"
74
- },
75
- "extensions": {
76
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensions"
77
- },
78
- "requiredExtensions": {
79
- "type": "array",
80
- "items": {
81
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensionName"
82
- },
83
- "minItems": 0,
84
- "maxItems": 16,
85
- "uniqueItems": true
86
- },
87
- "recordedPayload": {
88
- "type": "object",
89
- "description": "Original authorized observed JSON content, preserved as received; unknown fields are retained as data.",
90
- "additionalProperties": true
91
- }
92
- },
93
- "required": [
94
- "schemaVersion",
95
- "kind",
96
- "memoryId",
97
- "characterId",
98
- "recordedAt",
99
- "scope",
100
- "provenance",
101
- "eventType",
102
- "participantIds",
103
- "recordedPayload"
104
- ],
105
- "additionalProperties": false
106
- },
107
- "working": {
108
- "type": "object",
109
- "properties": {
110
- "schemaVersion": {
111
- "const": "draft-0.2.0"
112
- },
113
- "kind": {
114
- "const": "working-context"
115
- },
116
- "memoryId": {
117
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
118
- },
119
- "characterId": {
120
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
121
- },
122
- "recordedAt": {
123
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/utc"
124
- },
125
- "scope": {
126
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/scope"
127
- },
128
- "provenance": {
129
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/provenance"
130
- },
131
- "summary": {
132
- "type": "string",
133
- "minLength": 1,
134
- "maxLength": 4000
135
- },
136
- "activeTopics": {
137
- "type": "array",
138
- "items": {
139
- "type": "string",
140
- "minLength": 1,
141
- "maxLength": 300
142
- },
143
- "minItems": 0,
144
- "maxItems": 16
145
- },
146
- "relevantMemoryIds": {
147
- "type": "array",
148
- "items": {
149
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
150
- },
151
- "minItems": 0,
152
- "maxItems": 64,
153
- "uniqueItems": true
154
- },
155
- "expiresAt": {
156
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/utc"
157
- },
158
- "extensions": {
159
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensions"
160
- },
161
- "requiredExtensions": {
162
- "type": "array",
163
- "items": {
164
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensionName"
165
- },
166
- "minItems": 0,
167
- "maxItems": 16,
168
- "uniqueItems": true
169
- }
170
- },
171
- "required": [
172
- "schemaVersion",
173
- "kind",
174
- "memoryId",
175
- "characterId",
176
- "recordedAt",
177
- "scope",
178
- "provenance",
179
- "summary",
180
- "activeTopics",
181
- "relevantMemoryIds",
182
- "expiresAt"
183
- ],
184
- "additionalProperties": false
185
- },
186
- "episode": {
187
- "type": "object",
188
- "properties": {
189
- "schemaVersion": {
190
- "const": "draft-0.2.0"
191
- },
192
- "kind": {
193
- "const": "memory-episode"
194
- },
195
- "memoryId": {
196
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
197
- },
198
- "characterId": {
199
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
200
- },
201
- "recordedAt": {
202
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/utc"
203
- },
204
- "scope": {
205
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/scope"
206
- },
207
- "provenance": {
208
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/provenance"
209
- },
210
- "summary": {
211
- "type": "string",
212
- "minLength": 1,
213
- "maxLength": 4000
214
- },
215
- "sourceMemoryIds": {
216
- "type": "array",
217
- "items": {
218
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
219
- },
220
- "minItems": 1,
221
- "maxItems": 64,
222
- "uniqueItems": true
223
- },
224
- "period": {
225
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/period"
226
- },
227
- "extensions": {
228
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensions"
229
- },
230
- "requiredExtensions": {
231
- "type": "array",
232
- "items": {
233
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensionName"
234
- },
235
- "minItems": 0,
236
- "maxItems": 16,
237
- "uniqueItems": true
238
- }
239
- },
240
- "required": [
241
- "schemaVersion",
242
- "kind",
243
- "memoryId",
244
- "characterId",
245
- "recordedAt",
246
- "scope",
247
- "provenance",
248
- "summary",
249
- "sourceMemoryIds",
250
- "period"
251
- ],
252
- "additionalProperties": false
253
- },
254
- "fact": {
255
- "type": "object",
256
- "properties": {
257
- "schemaVersion": {
258
- "const": "draft-0.2.0"
259
- },
260
- "kind": {
261
- "const": "memory-fact"
262
- },
263
- "memoryId": {
264
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
265
- },
266
- "characterId": {
267
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
268
- },
269
- "recordedAt": {
270
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/utc"
271
- },
272
- "scope": {
273
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/scope"
274
- },
275
- "provenance": {
276
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/provenance"
277
- },
278
- "claim": {
279
- "type": "string",
280
- "minLength": 1,
281
- "maxLength": 2000
282
- },
283
- "sourceMemoryIds": {
284
- "type": "array",
285
- "items": {
286
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
287
- },
288
- "minItems": 1,
289
- "maxItems": 64,
290
- "uniqueItems": true
291
- },
292
- "confidence": {
293
- "type": "number",
294
- "minimum": 0,
295
- "maximum": 1
296
- },
297
- "extensions": {
298
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensions"
299
- },
300
- "requiredExtensions": {
301
- "type": "array",
302
- "items": {
303
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensionName"
304
- },
305
- "minItems": 0,
306
- "maxItems": 16,
307
- "uniqueItems": true
308
- }
309
- },
310
- "required": [
311
- "schemaVersion",
312
- "kind",
313
- "memoryId",
314
- "characterId",
315
- "recordedAt",
316
- "scope",
317
- "provenance",
318
- "claim",
319
- "sourceMemoryIds"
320
- ],
321
- "additionalProperties": false
322
- },
323
- "relationship": {
324
- "type": "object",
325
- "properties": {
326
- "schemaVersion": {
327
- "const": "draft-0.2.0"
328
- },
329
- "kind": {
330
- "const": "memory-relationship"
331
- },
332
- "memoryId": {
333
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
334
- },
335
- "characterId": {
336
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
337
- },
338
- "recordedAt": {
339
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/utc"
340
- },
341
- "scope": {
342
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/scope"
343
- },
344
- "provenance": {
345
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/provenance"
346
- },
347
- "subjectParticipantId": {
348
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
349
- },
350
- "objectParticipantId": {
351
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
352
- },
353
- "relation": {
354
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
355
- },
356
- "description": {
357
- "type": "string",
358
- "minLength": 1,
359
- "maxLength": 2000
360
- },
361
- "sourceMemoryIds": {
362
- "type": "array",
363
- "items": {
364
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
365
- },
366
- "minItems": 1,
367
- "maxItems": 64,
368
- "uniqueItems": true
369
- },
370
- "extensions": {
371
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensions"
372
- },
373
- "requiredExtensions": {
374
- "type": "array",
375
- "items": {
376
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensionName"
377
- },
378
- "minItems": 0,
379
- "maxItems": 16,
380
- "uniqueItems": true
381
- }
382
- },
383
- "required": [
384
- "schemaVersion",
385
- "kind",
386
- "memoryId",
387
- "characterId",
388
- "recordedAt",
389
- "scope",
390
- "provenance",
391
- "subjectParticipantId",
392
- "objectParticipantId",
393
- "relation",
394
- "description",
395
- "sourceMemoryIds"
396
- ],
397
- "additionalProperties": false
398
- },
399
- "checkpoint": {
400
- "type": "object",
401
- "properties": {
402
- "schemaVersion": {
403
- "const": "draft-0.2.0"
404
- },
405
- "kind": {
406
- "const": "intent-checkpoint"
407
- },
408
- "memoryId": {
409
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
410
- },
411
- "characterId": {
412
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
413
- },
414
- "recordedAt": {
415
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/utc"
416
- },
417
- "scope": {
418
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/scope"
419
- },
420
- "provenance": {
421
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/provenance"
422
- },
423
- "intents": {
424
- "type": "array",
425
- "items": {
426
- "type": "object",
427
- "properties": {
428
- "portableIntentId": {
429
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
430
- },
431
- "description": {
432
- "type": "string",
433
- "minLength": 1,
434
- "maxLength": 500
435
- },
436
- "desiredOutcome": {
437
- "type": "string",
438
- "minLength": 1,
439
- "maxLength": 500
440
- },
441
- "status": {
442
- "enum": ["pending", "active", "paused", "complete", "unknown"]
443
- },
444
- "sourceMemoryIds": {
445
- "type": "array",
446
- "items": {
447
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/id"
448
- },
449
- "minItems": 0,
450
- "maxItems": 64,
451
- "uniqueItems": true
452
- }
453
- },
454
- "required": [
455
- "portableIntentId",
456
- "description",
457
- "desiredOutcome",
458
- "status",
459
- "sourceMemoryIds"
460
- ],
461
- "additionalProperties": false
462
- },
463
- "minItems": 0,
464
- "maxItems": 16
465
- },
466
- "nextReviewAt": {
467
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/utc"
468
- },
469
- "extensions": {
470
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensions"
471
- },
472
- "requiredExtensions": {
473
- "type": "array",
474
- "items": {
475
- "$ref": "urn:ifsoul:protocol:draft-0.2.0:common#/$defs/extensionName"
476
- },
477
- "minItems": 0,
478
- "maxItems": 16,
479
- "uniqueItems": true
480
- }
481
- },
482
- "required": [
483
- "schemaVersion",
484
- "kind",
485
- "memoryId",
486
- "characterId",
487
- "recordedAt",
488
- "scope",
489
- "provenance",
490
- "intents"
491
- ],
492
- "additionalProperties": false
493
- }
494
- }
495
- }