@miadi/episodic-memory-schema 0.9.1 → 0.11.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/README.md CHANGED
@@ -158,6 +158,12 @@ modifies source material.
158
158
 
159
159
  ---
160
160
 
161
+ ## Reviews held by an episode
162
+
163
+ `parseReviewRef`, `readEpisodeReviews`, `reviewNodeId` and `EpisodeReviewEntry` type a Miadi
164
+ review inside `episode.yaml` (`reviews:`), in the shape Episode 345 set on the wheel
165
+ (`review:<uuid>`). Pure: no fs, no fetch. jgwill/Miadi#682.
166
+
161
167
  ## Versioning
162
168
 
163
169
  - v0.2.0 (current) — compatibility-first observation adapters for composition manifests, parsed episode YAML, and descriptor-light directory snapshots
@@ -128,4 +128,41 @@ export declare function episodeCaptureRecords(input: unknown): EpisodeCaptureRec
128
128
  /** Whether a parsed value looks like a capture bundle descriptor. */
129
129
  export declare function isEpisodeCaptureDescriptor(value: unknown): boolean;
130
130
  export type { ArtifactReference };
131
+ /**
132
+ * One capture bundle, as the chronicle read-model carries it.
133
+ *
134
+ * The manifest entry is deliberately not the descriptor: a catalog listing
135
+ * every episode does not want each bundle's full provenance block, and a
136
+ * reader that needs it knows where the descriptor is. What survives here is
137
+ * what a listing answers questions with — how big, what languages, is it
138
+ * registered, does anyone still have to act on it.
139
+ */
140
+ export interface CaptureManifestEntry {
141
+ /** The bundle folder's name — the take's tlid. */
142
+ stem: string;
143
+ /** `captures/<stem>/capture.json`, relative to the episode. */
144
+ relativePath: string;
145
+ /** The take's filename. */
146
+ filename?: string;
147
+ bytes?: number;
148
+ sha256?: string;
149
+ mimetype?: string;
150
+ /** Language tags of the transcriptions present, in manifest order. */
151
+ languages: string[];
152
+ transcribedAt?: string;
153
+ /** `registered` | `pending` | absent when registration was never attempted. */
154
+ registration?: string;
155
+ storedAt?: string;
156
+ updatedAt?: string;
157
+ }
158
+ /**
159
+ * Summarize a descriptor into its manifest entry.
160
+ *
161
+ * Absence is carried through as absence: a bundle with no transcription has
162
+ * an empty `languages`, which is "no words yet" and not "no languages found".
163
+ */
164
+ export declare function captureManifestEntry(descriptor: EpisodeCaptureDescriptor, options: {
165
+ stem: string;
166
+ relativePath?: string;
167
+ }): CaptureManifestEntry;
131
168
  //# sourceMappingURL=episode-capture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"episode-capture.d.ts","sourceRoot":"","sources":["../../src/adapters/episode-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"episode-capture.d.ts","sourceRoot":"","sources":["../../src/adapters/episode-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAGjB,kBAAkB,EAElB,4BAA4B,EAC7B,MAAM,mBAAmB,CAAA;AAU1B,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,6BAA6B,CAAA;AAEhE,oDAAoD;AACpD,eAAO,MAAM,iCAAiC,iBAAiB,CAAA;AAE/D,iEAAiE;AACjE,eAAO,MAAM,gCAAgC,uBAAuB,CAAA;AAEpE,sEAAsE;AACtE,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,oEAAoE;AACpE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,oDAAoD;AACpD,MAAM,WAAW,2BAA2B;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAA;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAA;CACjC;AAED,mDAAmD;AACnD,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,sFAAsF;AACtF,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,wBAAwB,CAAA;IAClC,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,aAAa,CAAC,EAAE,2BAA2B,CAAA;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,0BAA0B,CAAA;CAC3C;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,4BAA4B,GACpC,kBAAkB,CA8IpB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAY5E;AAED,qEAAqE;AACrE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKlE;AAiED,YAAY,EAAE,iBAAiB,EAAE,CAAA;AAEjC;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;IACpB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sEAAsE;IACtE,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,wBAAwB,EACpC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,oBAAoB,CAuBtB"}
@@ -256,4 +256,32 @@ function pruned(value) {
256
256
  function asString(value) {
257
257
  return typeof value === "string" ? value : undefined;
258
258
  }
259
+ /**
260
+ * Summarize a descriptor into its manifest entry.
261
+ *
262
+ * Absence is carried through as absence: a bundle with no transcription has
263
+ * an empty `languages`, which is "no words yet" and not "no languages found".
264
+ */
265
+ export function captureManifestEntry(descriptor, options) {
266
+ const outputs = descriptor.transcription?.outputs ?? [];
267
+ return {
268
+ stem: options.stem,
269
+ relativePath: options.relativePath ?? `captures/${options.stem}/${EPISODE_CAPTURE_MANIFEST_FILENAME}`,
270
+ ...(descriptor.audio?.filename === undefined ? {} : { filename: descriptor.audio.filename }),
271
+ ...(descriptor.audio?.bytes === undefined ? {} : { bytes: descriptor.audio.bytes }),
272
+ ...(descriptor.audio?.sha256 === undefined ? {} : { sha256: descriptor.audio.sha256 }),
273
+ ...(descriptor.audio?.mimetype === undefined ? {} : { mimetype: descriptor.audio.mimetype }),
274
+ languages: outputs
275
+ .map((output) => output.language)
276
+ .filter((language) => typeof language === "string"),
277
+ ...(descriptor.transcription?.timestamp === undefined
278
+ ? {}
279
+ : { transcribedAt: descriptor.transcription.timestamp }),
280
+ ...(descriptor.medicineWheel?.status === undefined
281
+ ? {}
282
+ : { registration: descriptor.medicineWheel.status }),
283
+ ...(descriptor.storedAt === undefined ? {} : { storedAt: descriptor.storedAt }),
284
+ ...(descriptor.updatedAt === undefined ? {} : { updatedAt: descriptor.updatedAt }),
285
+ };
286
+ }
259
287
  //# sourceMappingURL=episode-capture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"episode-capture.js","sourceRoot":"","sources":["../../src/adapters/episode-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"episode-capture.js","sourceRoot":"","sources":["../../src/adapters/episode-capture.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
  * what it is handed, so the app and forgewright never fork the read-side.
11
11
  */
12
12
  import type { CompatibilityDiagnostic, EpisodeObservation, EpisodeRelation } from "./observation.js";
13
+ import type { CaptureManifestEntry } from "./adapters/episode-capture.js";
13
14
  import type { StoryManifestEntry } from "./story-library-manifest.js";
14
15
  /** The medicine-wheel parent every chronicle episode node hangs under. */
15
16
  export declare const CHRONICLE_PARENT_NODE_ID = "chronicle:miadi-chronicle";
@@ -45,7 +46,22 @@ export interface EpisodeManifestEntry {
45
46
  * from a `StoryLibraryManifest`. Absent when the episode has no published story.
46
47
  */
47
48
  stories?: StoryManifestEntry[];
49
+ /**
50
+ * Capture bundles inside this episode's `captures/` folder, attached by
51
+ * `linkEpisodeCaptures`. Absent when the episode has no captures — unlike
52
+ * `stories`, the key is the episode folder itself, so there is no ambiguous
53
+ * number to resolve and no way for a capture to attach to the wrong vessel.
54
+ */
55
+ captures?: CaptureManifestEntry[];
48
56
  }
57
+ /**
58
+ * Attach capture bundles to the episodes that hold them.
59
+ *
60
+ * `byFolder` is keyed on the episode's folder basename, which is the true key
61
+ * everywhere in this manifest. An entry for a folder the manifest does not
62
+ * carry is ignored rather than inventing an episode.
63
+ */
64
+ export declare function linkEpisodeCaptures(episodes: readonly EpisodeManifestEntry[], byFolder: ReadonlyMap<string, CaptureManifestEntry[]>): EpisodeManifestEntry[];
49
65
  /** What the enumerator collects per folder before manifest assembly. */
50
66
  export interface ChronicleManifestEntryInput {
51
67
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"chronicle-manifest.d.ts","sourceRoot":"","sources":["../src/chronicle-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,8BAA8B,CAAA;AACnE,eAAO,MAAM,gBAAgB,oBAAoB,CAAA;AAEjD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAA;IACpB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,SAAS,EAAE,eAAe,EAAE,CAAA;IAC5B,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC/B;AAED,wEAAwE;AACxE,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,oBAAoB,EAAE,CAAA;IAChC,WAAW,EAAE,uBAAuB,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CACjB;AAOD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,2BAA2B,EAAE,EAC9C,OAAO,GAAE,+BAAoC,GAC5C,iBAAiB,CAwDnB"}
1
+ {"version":3,"file":"chronicle-manifest.d.ts","sourceRoot":"","sources":["../src/chronicle-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,8BAA8B,CAAA;AACnE,eAAO,MAAM,gBAAgB,oBAAoB,CAAA;AAEjD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAA;IACpB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,SAAS,EAAE,eAAe,EAAE,CAAA;IAC5B,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAA;CAClC;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,EACzC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,GACpD,oBAAoB,EAAE,CAMxB;AAED,wEAAwE;AACxE,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,oBAAoB,EAAE,CAAA;IAChC,WAAW,EAAE,uBAAuB,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CACjB;AAOD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,2BAA2B,EAAE,EAC9C,OAAO,GAAE,+BAAoC,GAC5C,iBAAiB,CAwDnB"}
@@ -21,6 +21,21 @@ export const CHRONICLE_SERIES = "miadi-chronicle";
21
21
  export function chronicleEpisodeNodeId(name) {
22
22
  return `chronicle:${name}`;
23
23
  }
24
+ /**
25
+ * Attach capture bundles to the episodes that hold them.
26
+ *
27
+ * `byFolder` is keyed on the episode's folder basename, which is the true key
28
+ * everywhere in this manifest. An entry for a folder the manifest does not
29
+ * carry is ignored rather than inventing an episode.
30
+ */
31
+ export function linkEpisodeCaptures(episodes, byFolder) {
32
+ return episodes.map((episode) => {
33
+ const captures = byFolder.get(episode.name);
34
+ if (captures === undefined || captures.length === 0)
35
+ return episode;
36
+ return { ...episode, captures: [...captures] };
37
+ });
38
+ }
24
39
  function readStringField(fields, key) {
25
40
  const value = fields[key];
26
41
  return typeof value === "string" && value.trim() !== "" ? value : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"chronicle-manifest.js","sourceRoot":"","sources":["../src/chronicle-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chronicle-manifest.js","sourceRoot":"","sources":["../src/chronicle-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * The chronicle REVIEW contract — a Miadi review held by an episode.
3
+ *
4
+ * A review lives in the Miadi Review service and has one public address,
5
+ * `<base>/review/<uuid>`. Episode 345 (`review-medicine-wheel-experiment.md`)
6
+ * set the practice this module types: the review is one reusable node on the
7
+ * wheel (`review:<uuid>`), each episode relates to it with an edge naming the
8
+ * contribution it expects, and the episode keeps its own record of which
9
+ * version it used. Earlier manifests cite a review as a reference string
10
+ * `miadi-review:<uuid>`; those are read as reviews too.
11
+ *
12
+ * Manifest shape (`episode.yaml`):
13
+ *
14
+ * reviews:
15
+ * - id: 1e1ba57a-9e30-41ea-8126-5735c3f344bd
16
+ * url: https://miadi-review-service.vercel.app/review/1e1ba57a-…
17
+ * title: Software Fundamentals in the Age of AI — Matt Pocock
18
+ * version: 2
19
+ * relation: discusses
20
+ * added: '2026-09-24T10:30:00.000Z'
21
+ * ceremony: <ceremony id>
22
+ * circle: <circle node id>
23
+ *
24
+ * Pure — no fs, no fetch. Reading and writing the file is the consumer's.
25
+ * Ref: jgwill/Miadi#630.
26
+ */
27
+ /** Where reviews are published when nothing else is configured. */
28
+ export declare const REVIEW_SERVICE_BASE_URL = "https://miadi-review-service.vercel.app";
29
+ /** The portable reference form Episode 345 wrote into `references:`. */
30
+ export declare const REVIEW_REFERENCE_PREFIX = "miadi-review:";
31
+ /** Wheel node ids for reviews: `review:<uuid>` (Episode 345). */
32
+ export declare const REVIEW_NODE_PREFIX = "review:";
33
+ /** The wheel metadata kind a review node carries. */
34
+ export declare const REVIEW_NODE_KIND = "miadi_review";
35
+ export declare function isReviewId(value: unknown): value is string;
36
+ export declare function reviewNodeId(id: string): string;
37
+ export declare function reviewReference(id: string): string;
38
+ export declare function reviewPageUrl(id: string, base?: string): string;
39
+ export declare function reviewJsonUrl(id: string, base?: string, version?: number): string;
40
+ export interface ReviewRef {
41
+ /** The review UUID, lower-case. */
42
+ id: string;
43
+ /** The canonical public page, `<base>/review/<id>`. */
44
+ url: string;
45
+ /** The service origin the reference was read against. */
46
+ base: string;
47
+ /** Set when the reference pinned one version (`?v=N`). */
48
+ version?: number;
49
+ }
50
+ /**
51
+ * Read a review reference. Accepts the public page URL, its `/json` or `/raw`
52
+ * form, `?v=N`, `miadi-review:<uuid>`, `review:<uuid>`, or a bare uuid. A URL
53
+ * is accepted only on the configured service origin, so a caller cannot make a
54
+ * server fetch an address of its choosing. Returns null for anything else.
55
+ */
56
+ export declare function parseReviewRef(input: unknown, options?: {
57
+ base?: string;
58
+ }): ReviewRef | null;
59
+ /** One review as an episode records it. */
60
+ export interface EpisodeReviewEntry {
61
+ /** The review UUID. */
62
+ id: string;
63
+ /** Canonical public page URL. */
64
+ url: string;
65
+ title?: string;
66
+ /** The review version this episode used. The review may have moved on since. */
67
+ version?: number;
68
+ /** The intended contribution, as the episode→review edge's relationship type. */
69
+ relation?: string;
70
+ /** ISO timestamp the review entered the episode. */
71
+ added?: string;
72
+ /** The ceremony held to discuss this review, once one opened. */
73
+ ceremony?: string;
74
+ /** The circle that ceremony was held in. */
75
+ circle?: string;
76
+ }
77
+ export interface ObservedEpisodeReview extends EpisodeReviewEntry {
78
+ /** `reviews` for a structured entry, `references` for an Episode 345 `miadi-review:<uuid>` citation. */
79
+ declared: "reviews" | "references";
80
+ }
81
+ /** The entry's keys in the order the manifest writes them. */
82
+ export declare const REVIEW_ENTRY_KEYS: readonly ["id", "url", "title", "version", "relation", "added", "ceremony", "circle"];
83
+ /** Tolerant reader for one `reviews:` item. Null when it names no review. */
84
+ export declare function toEpisodeReviewEntry(raw: unknown, options?: {
85
+ base?: string;
86
+ }): EpisodeReviewEntry | null;
87
+ /**
88
+ * Every review a parsed `episode.yaml` holds: the structured `reviews:` list
89
+ * first, then `miadi-review:<uuid>` citations in `references:` that the list
90
+ * does not already name. One entry per review id.
91
+ */
92
+ export declare function readEpisodeReviews(manifest: unknown, options?: {
93
+ base?: string;
94
+ }): ObservedEpisodeReview[];
95
+ //# sourceMappingURL=episode-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"episode-review.d.ts","sourceRoot":"","sources":["../src/episode-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,4CAA4C,CAAA;AAEhF,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,kBAAkB,CAAA;AAEtD,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,YAAY,CAAA;AAE3C,qDAAqD;AACrD,eAAO,MAAM,gBAAgB,iBAAiB,CAAA;AAK9C,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE1D;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,MAAgC,GAAG,MAAM,CAExF;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,MAAgC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1G;AAED,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAA;IACX,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,GAAG,IAAI,CAgChG;AAED,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,wGAAwG;IACxG,QAAQ,EAAE,SAAS,GAAG,YAAY,CAAA;CACnC;AAMD,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,uFAAwF,CAAA;AAEtH,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,kBAAkB,GAAG,IAAI,CAuB7G;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,qBAAqB,EAAE,CAmB9G"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * The chronicle REVIEW contract — a Miadi review held by an episode.
3
+ *
4
+ * A review lives in the Miadi Review service and has one public address,
5
+ * `<base>/review/<uuid>`. Episode 345 (`review-medicine-wheel-experiment.md`)
6
+ * set the practice this module types: the review is one reusable node on the
7
+ * wheel (`review:<uuid>`), each episode relates to it with an edge naming the
8
+ * contribution it expects, and the episode keeps its own record of which
9
+ * version it used. Earlier manifests cite a review as a reference string
10
+ * `miadi-review:<uuid>`; those are read as reviews too.
11
+ *
12
+ * Manifest shape (`episode.yaml`):
13
+ *
14
+ * reviews:
15
+ * - id: 1e1ba57a-9e30-41ea-8126-5735c3f344bd
16
+ * url: https://miadi-review-service.vercel.app/review/1e1ba57a-…
17
+ * title: Software Fundamentals in the Age of AI — Matt Pocock
18
+ * version: 2
19
+ * relation: discusses
20
+ * added: '2026-09-24T10:30:00.000Z'
21
+ * ceremony: <ceremony id>
22
+ * circle: <circle node id>
23
+ *
24
+ * Pure — no fs, no fetch. Reading and writing the file is the consumer's.
25
+ * Ref: jgwill/Miadi#630.
26
+ */
27
+ /** Where reviews are published when nothing else is configured. */
28
+ export const REVIEW_SERVICE_BASE_URL = "https://miadi-review-service.vercel.app";
29
+ /** The portable reference form Episode 345 wrote into `references:`. */
30
+ export const REVIEW_REFERENCE_PREFIX = "miadi-review:";
31
+ /** Wheel node ids for reviews: `review:<uuid>` (Episode 345). */
32
+ export const REVIEW_NODE_PREFIX = "review:";
33
+ /** The wheel metadata kind a review node carries. */
34
+ export const REVIEW_NODE_KIND = "miadi_review";
35
+ /** The same UUID rule the review service applies to `/review/<id>`. */
36
+ const REVIEW_ID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
37
+ export function isReviewId(value) {
38
+ return typeof value === "string" && REVIEW_ID.test(value);
39
+ }
40
+ export function reviewNodeId(id) {
41
+ return `${REVIEW_NODE_PREFIX}${id.toLowerCase()}`;
42
+ }
43
+ export function reviewReference(id) {
44
+ return `${REVIEW_REFERENCE_PREFIX}${id.toLowerCase()}`;
45
+ }
46
+ export function reviewPageUrl(id, base = REVIEW_SERVICE_BASE_URL) {
47
+ return `${base.replace(/\/+$/, "")}/review/${id.toLowerCase()}`;
48
+ }
49
+ export function reviewJsonUrl(id, base = REVIEW_SERVICE_BASE_URL, version) {
50
+ return `${reviewPageUrl(id, base)}/json${version !== undefined ? `?v=${version}` : ""}`;
51
+ }
52
+ /**
53
+ * Read a review reference. Accepts the public page URL, its `/json` or `/raw`
54
+ * form, `?v=N`, `miadi-review:<uuid>`, `review:<uuid>`, or a bare uuid. A URL
55
+ * is accepted only on the configured service origin, so a caller cannot make a
56
+ * server fetch an address of its choosing. Returns null for anything else.
57
+ */
58
+ export function parseReviewRef(input, options = {}) {
59
+ const base = (options.base ?? REVIEW_SERVICE_BASE_URL).replace(/\/+$/, "");
60
+ if (typeof input !== "string")
61
+ return null;
62
+ const raw = input.trim();
63
+ if (!raw)
64
+ return null;
65
+ for (const prefix of ["", REVIEW_REFERENCE_PREFIX, REVIEW_NODE_PREFIX]) {
66
+ if (raw.toLowerCase().startsWith(prefix) && isReviewId(raw.slice(prefix.length))) {
67
+ const id = raw.slice(prefix.length).toLowerCase();
68
+ return { id, url: reviewPageUrl(id, base), base };
69
+ }
70
+ }
71
+ let url;
72
+ let origin;
73
+ try {
74
+ url = new URL(raw);
75
+ origin = new URL(base).origin;
76
+ }
77
+ catch {
78
+ return null;
79
+ }
80
+ if (url.origin !== origin)
81
+ return null;
82
+ const match = /^\/review\/([^/]+)(?:\/(?:json|raw))?\/?$/.exec(url.pathname);
83
+ if (!match || !isReviewId(match[1]))
84
+ return null;
85
+ const id = match[1].toLowerCase();
86
+ const pinned = Number(url.searchParams.get("v"));
87
+ return {
88
+ id,
89
+ url: reviewPageUrl(id, base),
90
+ base,
91
+ ...(Number.isSafeInteger(pinned) && pinned > 0 ? { version: pinned } : {}),
92
+ };
93
+ }
94
+ function text(value) {
95
+ return typeof value === "string" && value.trim() ? value.trim() : undefined;
96
+ }
97
+ /** The entry's keys in the order the manifest writes them. */
98
+ export const REVIEW_ENTRY_KEYS = ["id", "url", "title", "version", "relation", "added", "ceremony", "circle"];
99
+ /** Tolerant reader for one `reviews:` item. Null when it names no review. */
100
+ export function toEpisodeReviewEntry(raw, options = {}) {
101
+ if (typeof raw === "string") {
102
+ const ref = parseReviewRef(raw, options);
103
+ return ref ? { id: ref.id, url: ref.url, ...(ref.version !== undefined ? { version: ref.version } : {}) } : null;
104
+ }
105
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw))
106
+ return null;
107
+ const r = raw;
108
+ const ref = parseReviewRef(text(r.id) ?? text(r.url), options);
109
+ if (!ref)
110
+ return null;
111
+ const version = typeof r.version === "number" && Number.isSafeInteger(r.version) && r.version > 0 ? r.version : ref.version;
112
+ const added = r.added instanceof Date ? r.added.toISOString() : text(r.added);
113
+ const entry = { id: ref.id, url: text(r.url) ?? ref.url };
114
+ const title = text(r.title);
115
+ if (title)
116
+ entry.title = title;
117
+ if (version !== undefined)
118
+ entry.version = version;
119
+ const relation = text(r.relation);
120
+ if (relation)
121
+ entry.relation = relation;
122
+ if (added)
123
+ entry.added = added;
124
+ const ceremony = text(r.ceremony);
125
+ if (ceremony)
126
+ entry.ceremony = ceremony;
127
+ const circle = text(r.circle);
128
+ if (circle)
129
+ entry.circle = circle;
130
+ return entry;
131
+ }
132
+ /**
133
+ * Every review a parsed `episode.yaml` holds: the structured `reviews:` list
134
+ * first, then `miadi-review:<uuid>` citations in `references:` that the list
135
+ * does not already name. One entry per review id.
136
+ */
137
+ export function readEpisodeReviews(manifest, options = {}) {
138
+ if (typeof manifest !== "object" || manifest === null)
139
+ return [];
140
+ const m = manifest;
141
+ const out = [];
142
+ const seen = new Set();
143
+ for (const item of Array.isArray(m.reviews) ? m.reviews : []) {
144
+ const entry = toEpisodeReviewEntry(item, options);
145
+ if (!entry || seen.has(entry.id))
146
+ continue;
147
+ seen.add(entry.id);
148
+ out.push({ ...entry, declared: "reviews" });
149
+ }
150
+ for (const reference of Array.isArray(m.references) ? m.references : []) {
151
+ if (typeof reference !== "string" || !reference.trim().toLowerCase().startsWith(REVIEW_REFERENCE_PREFIX))
152
+ continue;
153
+ const ref = parseReviewRef(reference, options);
154
+ if (!ref || seen.has(ref.id))
155
+ continue;
156
+ seen.add(ref.id);
157
+ out.push({ id: ref.id, url: ref.url, declared: "references" });
158
+ }
159
+ return out;
160
+ }
161
+ //# sourceMappingURL=episode-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"episode-review.js","sourceRoot":"","sources":["../src/episode-review.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -26,4 +26,10 @@ export type { StableArtifactIdInput } from "./adapters/common.js";
26
26
  */
27
27
  export { ATTENTION_FILE, ATTENTION_SCHEMA_VERSION, toAttentionItem, parseAttentionStore, serializeAttentionStore, } from "./attention.js";
28
28
  export type { AttentionItem, AttentionStore, ParsedAttentionStore, } from "./attention.js";
29
+ /**
30
+ * The chronicle REVIEW contract — a Miadi review held by an episode, in the
31
+ * shape Episode 345 set (jgwill/Miadi#630).
32
+ */
33
+ export { REVIEW_SERVICE_BASE_URL, REVIEW_REFERENCE_PREFIX, REVIEW_NODE_PREFIX, REVIEW_NODE_KIND, REVIEW_ENTRY_KEYS, isReviewId, reviewNodeId, reviewReference, reviewPageUrl, reviewJsonUrl, parseReviewRef, toEpisodeReviewEntry, readEpisodeReviews, } from "./episode-review.js";
34
+ export type { ReviewRef, EpisodeReviewEntry, ObservedEpisodeReview } from "./episode-review.js";
29
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAE7C;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,YAAY,GACb,MAAM,sBAAsB,CAAA;AAE7B;;;GAGG;AACH,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAEjE;;;GAGG;AACH,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,GACrB,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAE7C;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,YAAY,GACb,MAAM,sBAAsB,CAAA;AAE7B;;;GAGG;AACH,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAEjE;;;GAGG;AACH,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AAEvB;;;GAGG;AACH,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA"}
package/dist/index.js CHANGED
@@ -24,4 +24,9 @@ export { stableArtifactId, tryStableArtifactId, isStableArtifactId, captureStabl
24
24
  * jgwill/Miadi#615). One owner for the shape every surface renders.
25
25
  */
26
26
  export { ATTENTION_FILE, ATTENTION_SCHEMA_VERSION, toAttentionItem, parseAttentionStore, serializeAttentionStore, } from "./attention.js";
27
+ /**
28
+ * The chronicle REVIEW contract — a Miadi review held by an episode, in the
29
+ * shape Episode 345 set (jgwill/Miadi#630).
30
+ */
31
+ export { REVIEW_SERVICE_BASE_URL, REVIEW_REFERENCE_PREFIX, REVIEW_NODE_PREFIX, REVIEW_NODE_KIND, REVIEW_ENTRY_KEYS, isReviewId, reviewNodeId, reviewReference, reviewPageUrl, reviewJsonUrl, parseReviewRef, toEpisodeReviewEntry, readEpisodeReviews, } from "./episode-review.js";
27
32
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAE7C;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,YAAY,GACb,MAAM,sBAAsB,CAAA;AAE7B;;;GAGG;AACH,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAG7B;;;GAGG;AACH,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAE7C;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,YAAY,GACb,MAAM,sBAAsB,CAAA;AAE7B;;;GAGG;AACH,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAG7B;;;GAGG;AACH,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gBAAgB,CAAA;AAOvB;;;GAGG;AACH,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miadi/episodic-memory-schema",
3
- "version": "0.9.1",
3
+ "version": "0.11.0",
4
4
  "description": "TypeScript types and JSON Schema for episodic memory — the durable session-to-session memory layer in the Miadi orchestration kit. Narrative layer is NCP-aligned; provenance layer is W3C PROV-DM and OAIS-informed.",
5
5
  "keywords": [
6
6
  "miadi",