@miadi/episodic-memory-schema 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/episode-capture.d.ts +131 -0
- package/dist/adapters/episode-capture.d.ts.map +1 -0
- package/dist/adapters/episode-capture.js +259 -0
- package/dist/adapters/episode-capture.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/observation.d.ts +8 -1
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Observing an episode capture bundle — `capture.json`, schema
|
|
3
|
+
* `miadi.episode-capture.v1`.
|
|
4
|
+
*
|
|
5
|
+
* A capture bundle is a folder inside an episode vessel holding one take and
|
|
6
|
+
* everything derived from it:
|
|
7
|
+
*
|
|
8
|
+
* captures/260825114010/
|
|
9
|
+
* capture.json this file's subject
|
|
10
|
+
* transcription.json the sidecar
|
|
11
|
+
* transcription_260825114010_FR.txt
|
|
12
|
+
* transcription_260825114010_EN.txt
|
|
13
|
+
*
|
|
14
|
+
* It is the shape that carries every capture the chronicle actually holds, and
|
|
15
|
+
* until now it was declared nowhere: `@miadi/transcription` typed it
|
|
16
|
+
* structurally to read it, and gmtermux typed it structurally to write it. Two
|
|
17
|
+
* private copies of one contract is how `TranscriptionSidecar` came to exist
|
|
18
|
+
* twice. This module is the single declaration both of them import.
|
|
19
|
+
*
|
|
20
|
+
* As everywhere in this package, the observation is **compatibility-first**:
|
|
21
|
+
* nothing here reads a filesystem, nothing rewrites the descriptor, and a
|
|
22
|
+
* field that is missing is reported as missing rather than invented.
|
|
23
|
+
*
|
|
24
|
+
* The lineage the bundle states is the reason it earns an observer rather than
|
|
25
|
+
* a bare interface. The audio is `origin: "captured"` — made from a moment.
|
|
26
|
+
* Each transcript is `origin: "derived"` with `sourceArtifact` pointing at that
|
|
27
|
+
* audio, which is the same edge `observeCompositionManifest` draws between a
|
|
28
|
+
* clip and its text. A reader that only had the JSON would have to re-derive
|
|
29
|
+
* that edge, and each one would derive it slightly differently.
|
|
30
|
+
*
|
|
31
|
+
* **`sha256` travels in `metadata`, deliberately.** Putting it on
|
|
32
|
+
* `ArtifactReference` itself would be an adjustment to the episodic-memory
|
|
33
|
+
* schema, and those are held for the human by `capture-vocabulary.spec.md`
|
|
34
|
+
* §11.3. Nothing here is blocked by carrying it in metadata, and the day the
|
|
35
|
+
* field is named the move is mechanical.
|
|
36
|
+
*/
|
|
37
|
+
import type { ArtifactReference, EpisodeObservation, ObserveEpisodeCaptureOptions } from "../observation.js";
|
|
38
|
+
/** The schema every capture bundle in the chronicle declares. */
|
|
39
|
+
export declare const EPISODE_CAPTURE_SCHEMA = "miadi.episode-capture.v1";
|
|
40
|
+
/** The manifest filename inside a bundle folder. */
|
|
41
|
+
export declare const EPISODE_CAPTURE_MANIFEST_FILENAME = "capture.json";
|
|
42
|
+
/** The transcription sidecar filename inside a bundle folder. */
|
|
43
|
+
export declare const EPISODE_CAPTURE_SIDECAR_FILENAME = "transcription.json";
|
|
44
|
+
/** Which episode a bundle belongs to, as the descriptor states it. */
|
|
45
|
+
export interface EpisodeCaptureEpisodeRef {
|
|
46
|
+
path?: string;
|
|
47
|
+
number?: number;
|
|
48
|
+
title?: string;
|
|
49
|
+
}
|
|
50
|
+
/** Where the take came from before it was bound to this episode. */
|
|
51
|
+
export interface EpisodeCaptureSourceRef {
|
|
52
|
+
filename?: string;
|
|
53
|
+
/** The inbox it was drawn from, when one was named. */
|
|
54
|
+
inbox?: string;
|
|
55
|
+
}
|
|
56
|
+
/** The audio the bundle is built around. */
|
|
57
|
+
export interface EpisodeCaptureAudio {
|
|
58
|
+
filename?: string;
|
|
59
|
+
/** Relative to the episode directory, never absolute (jgwill/Miadi#622). */
|
|
60
|
+
relativePath?: string;
|
|
61
|
+
bytes?: number;
|
|
62
|
+
sha256?: string;
|
|
63
|
+
mimetype?: string;
|
|
64
|
+
}
|
|
65
|
+
/** One language rendering produced from the audio. */
|
|
66
|
+
export interface EpisodeCaptureOutput {
|
|
67
|
+
/** As written by the recorder: `"fr"`, `"en"`. */
|
|
68
|
+
language?: string;
|
|
69
|
+
label?: string;
|
|
70
|
+
filename?: string;
|
|
71
|
+
relativePath?: string;
|
|
72
|
+
bytes?: number;
|
|
73
|
+
sha256?: string;
|
|
74
|
+
}
|
|
75
|
+
/** What the bundle says about its transcription. */
|
|
76
|
+
export interface EpisodeCaptureTranscription {
|
|
77
|
+
sourceFilename?: string;
|
|
78
|
+
/** Relative path to the sidecar. */
|
|
79
|
+
sidecar?: string;
|
|
80
|
+
timestamp?: string;
|
|
81
|
+
outputs?: EpisodeCaptureOutput[];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The registration receipt. A descriptor is both a declaration and a mutable
|
|
85
|
+
* receipt: the wheel answers after the bytes are already durable, and that
|
|
86
|
+
* answer is written back here. `status` absent means never attempted, which is
|
|
87
|
+
* not the same as failed.
|
|
88
|
+
*/
|
|
89
|
+
export interface EpisodeCaptureRegistration {
|
|
90
|
+
status?: string;
|
|
91
|
+
registeredAt?: string;
|
|
92
|
+
error?: string;
|
|
93
|
+
records?: EpisodeCaptureRecord[];
|
|
94
|
+
}
|
|
95
|
+
/** One artifact as the medicine wheel knows it. */
|
|
96
|
+
export interface EpisodeCaptureRecord {
|
|
97
|
+
id?: string;
|
|
98
|
+
filename?: string;
|
|
99
|
+
/** `audio` | `transcript` — the wheel's own role vocabulary. */
|
|
100
|
+
role?: string;
|
|
101
|
+
language?: string;
|
|
102
|
+
}
|
|
103
|
+
/** `capture.json`, typed. Every field optional: absence is reported, not invented. */
|
|
104
|
+
export interface EpisodeCaptureDescriptor {
|
|
105
|
+
schema?: string;
|
|
106
|
+
episode?: EpisodeCaptureEpisodeRef;
|
|
107
|
+
source?: EpisodeCaptureSourceRef;
|
|
108
|
+
audio?: EpisodeCaptureAudio;
|
|
109
|
+
transcription?: EpisodeCaptureTranscription;
|
|
110
|
+
storedAt?: string;
|
|
111
|
+
updatedAt?: string;
|
|
112
|
+
medicineWheel?: EpisodeCaptureRegistration;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Observe a capture bundle descriptor.
|
|
116
|
+
*
|
|
117
|
+
* `relativePath` is the descriptor's path within the episode directory
|
|
118
|
+
* (`captures/<tlid>/capture.json`), so observation ids stay stable no matter
|
|
119
|
+
* where the vessel is mounted — the same bundle observed from a phone and from
|
|
120
|
+
* a workstation observes identically.
|
|
121
|
+
*/
|
|
122
|
+
export declare function observeEpisodeCapture(input: unknown, options: ObserveEpisodeCaptureOptions): EpisodeObservation;
|
|
123
|
+
/**
|
|
124
|
+
* The wheel records a descriptor carries, or an empty list. A bundle whose
|
|
125
|
+
* registration never ran has no records — an absence, not a failure.
|
|
126
|
+
*/
|
|
127
|
+
export declare function episodeCaptureRecords(input: unknown): EpisodeCaptureRecord[];
|
|
128
|
+
/** Whether a parsed value looks like a capture bundle descriptor. */
|
|
129
|
+
export declare function isEpisodeCaptureDescriptor(value: unknown): boolean;
|
|
130
|
+
export type { ArtifactReference };
|
|
131
|
+
//# sourceMappingURL=episode-capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"episode-capture.d.ts","sourceRoot":"","sources":["../../src/adapters/episode-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Observing an episode capture bundle — `capture.json`, schema
|
|
3
|
+
* `miadi.episode-capture.v1`.
|
|
4
|
+
*
|
|
5
|
+
* A capture bundle is a folder inside an episode vessel holding one take and
|
|
6
|
+
* everything derived from it:
|
|
7
|
+
*
|
|
8
|
+
* captures/260825114010/
|
|
9
|
+
* capture.json this file's subject
|
|
10
|
+
* transcription.json the sidecar
|
|
11
|
+
* transcription_260825114010_FR.txt
|
|
12
|
+
* transcription_260825114010_EN.txt
|
|
13
|
+
*
|
|
14
|
+
* It is the shape that carries every capture the chronicle actually holds, and
|
|
15
|
+
* until now it was declared nowhere: `@miadi/transcription` typed it
|
|
16
|
+
* structurally to read it, and gmtermux typed it structurally to write it. Two
|
|
17
|
+
* private copies of one contract is how `TranscriptionSidecar` came to exist
|
|
18
|
+
* twice. This module is the single declaration both of them import.
|
|
19
|
+
*
|
|
20
|
+
* As everywhere in this package, the observation is **compatibility-first**:
|
|
21
|
+
* nothing here reads a filesystem, nothing rewrites the descriptor, and a
|
|
22
|
+
* field that is missing is reported as missing rather than invented.
|
|
23
|
+
*
|
|
24
|
+
* The lineage the bundle states is the reason it earns an observer rather than
|
|
25
|
+
* a bare interface. The audio is `origin: "captured"` — made from a moment.
|
|
26
|
+
* Each transcript is `origin: "derived"` with `sourceArtifact` pointing at that
|
|
27
|
+
* audio, which is the same edge `observeCompositionManifest` draws between a
|
|
28
|
+
* clip and its text. A reader that only had the JSON would have to re-derive
|
|
29
|
+
* that edge, and each one would derive it slightly differently.
|
|
30
|
+
*
|
|
31
|
+
* **`sha256` travels in `metadata`, deliberately.** Putting it on
|
|
32
|
+
* `ArtifactReference` itself would be an adjustment to the episodic-memory
|
|
33
|
+
* schema, and those are held for the human by `capture-vocabulary.spec.md`
|
|
34
|
+
* §11.3. Nothing here is blocked by carrying it in metadata, and the day the
|
|
35
|
+
* field is named the move is mechanical.
|
|
36
|
+
*/
|
|
37
|
+
import { cloneValue, inferArtifactKind, isRecord, observationId, validateRelativePath, } from "./common.js";
|
|
38
|
+
/** The schema every capture bundle in the chronicle declares. */
|
|
39
|
+
export const EPISODE_CAPTURE_SCHEMA = "miadi.episode-capture.v1";
|
|
40
|
+
/** The manifest filename inside a bundle folder. */
|
|
41
|
+
export const EPISODE_CAPTURE_MANIFEST_FILENAME = "capture.json";
|
|
42
|
+
/** The transcription sidecar filename inside a bundle folder. */
|
|
43
|
+
export const EPISODE_CAPTURE_SIDECAR_FILENAME = "transcription.json";
|
|
44
|
+
/**
|
|
45
|
+
* Observe a capture bundle descriptor.
|
|
46
|
+
*
|
|
47
|
+
* `relativePath` is the descriptor's path within the episode directory
|
|
48
|
+
* (`captures/<tlid>/capture.json`), so observation ids stay stable no matter
|
|
49
|
+
* where the vessel is mounted — the same bundle observed from a phone and from
|
|
50
|
+
* a workstation observes identically.
|
|
51
|
+
*/
|
|
52
|
+
export function observeEpisodeCapture(input, options) {
|
|
53
|
+
const relativePath = validateRelativePath(options.relativePath);
|
|
54
|
+
const diagnostics = [];
|
|
55
|
+
const observation = {
|
|
56
|
+
id: observationId("episode-capture", relativePath),
|
|
57
|
+
zone: options.zone ?? "chronicle",
|
|
58
|
+
sourceDocuments: [{ format: "episode-capture", relativePath }],
|
|
59
|
+
identityCandidates: [{ kind: "path", value: relativePath }],
|
|
60
|
+
sourceMetadata: {},
|
|
61
|
+
artifacts: [],
|
|
62
|
+
relations: [],
|
|
63
|
+
diagnostics,
|
|
64
|
+
unmappedFields: {},
|
|
65
|
+
};
|
|
66
|
+
if (!isRecord(input)) {
|
|
67
|
+
diagnostics.push({
|
|
68
|
+
level: "error",
|
|
69
|
+
code: "episode-capture.invalid-object",
|
|
70
|
+
message: "A capture descriptor must be a non-array object.",
|
|
71
|
+
path: relativePath,
|
|
72
|
+
});
|
|
73
|
+
return observation;
|
|
74
|
+
}
|
|
75
|
+
const record = input;
|
|
76
|
+
const descriptor = record;
|
|
77
|
+
const schema = asString(record.schema);
|
|
78
|
+
if (schema === undefined) {
|
|
79
|
+
diagnostics.push(diagnostic("schema-absent", "info", "No schema declared. Read as a capture bundle on the strength of its shape."));
|
|
80
|
+
}
|
|
81
|
+
else if (schema !== EPISODE_CAPTURE_SCHEMA) {
|
|
82
|
+
diagnostics.push(diagnostic("schema-unrecognized", "warning", `Declared schema '${schema}' is not ${EPISODE_CAPTURE_SCHEMA}; fields are read as best they can be.`));
|
|
83
|
+
}
|
|
84
|
+
const bundleDir = parentOf(relativePath);
|
|
85
|
+
const episode = isRecord(record.episode) ? record.episode : undefined;
|
|
86
|
+
const sourceMetadata = {};
|
|
87
|
+
const title = asString(episode?.title);
|
|
88
|
+
if (title !== undefined)
|
|
89
|
+
sourceMetadata.title = title;
|
|
90
|
+
const storedAt = asString(record.storedAt);
|
|
91
|
+
if (storedAt !== undefined)
|
|
92
|
+
sourceMetadata.created = storedAt;
|
|
93
|
+
const updatedAt = asString(record.updatedAt);
|
|
94
|
+
if (updatedAt !== undefined)
|
|
95
|
+
sourceMetadata.updated = updatedAt;
|
|
96
|
+
observation.sourceMetadata = sourceMetadata;
|
|
97
|
+
const episodePath = asString(episode?.path);
|
|
98
|
+
if (episodePath !== undefined) {
|
|
99
|
+
observation.identityCandidates.push({ kind: "path", value: episodePath });
|
|
100
|
+
}
|
|
101
|
+
const episodeNumber = episode?.number;
|
|
102
|
+
if (typeof episodeNumber === "number" && Number.isFinite(episodeNumber)) {
|
|
103
|
+
observation.identityCandidates.push({
|
|
104
|
+
kind: "episode-number",
|
|
105
|
+
value: String(episodeNumber),
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
// ── the audio: made from a moment, not from another artifact ──────────────
|
|
109
|
+
const audio = isRecord(record.audio) ? record.audio : undefined;
|
|
110
|
+
const audioFilename = asString(audio?.filename);
|
|
111
|
+
let audioId;
|
|
112
|
+
if (audio !== undefined && audioFilename !== undefined) {
|
|
113
|
+
const audioPath = bundleRelative(bundleDir, audio.relativePath, audioFilename, diagnostics);
|
|
114
|
+
audioId = `capture:${audioFilename}`;
|
|
115
|
+
observation.artifacts.push({
|
|
116
|
+
id: audioId,
|
|
117
|
+
kind: inferArtifactKind(audioFilename, "audio"),
|
|
118
|
+
relativePath: audioPath,
|
|
119
|
+
origin: "captured",
|
|
120
|
+
metadata: pruned({
|
|
121
|
+
sha256: audio.sha256,
|
|
122
|
+
bytes: audio.bytes,
|
|
123
|
+
mimetype: audio.mimetype,
|
|
124
|
+
sourceFilename: asString(isRecord(record.source) ? record.source.filename : undefined),
|
|
125
|
+
inbox: asString(isRecord(record.source) ? record.source.inbox : undefined),
|
|
126
|
+
}),
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
diagnostics.push(diagnostic("audio-absent", "warning", "The descriptor names no audio; its transcripts have nothing to point at."));
|
|
131
|
+
}
|
|
132
|
+
// ── the transcripts: derived, each pointing at the audio ──────────────────
|
|
133
|
+
const transcription = isRecord(record.transcription)
|
|
134
|
+
? record.transcription
|
|
135
|
+
: undefined;
|
|
136
|
+
const transcribedAt = asString(transcription?.timestamp);
|
|
137
|
+
const outputs = Array.isArray(transcription?.outputs) ? transcription.outputs : [];
|
|
138
|
+
for (const raw of outputs) {
|
|
139
|
+
if (!isRecord(raw))
|
|
140
|
+
continue;
|
|
141
|
+
const output = raw;
|
|
142
|
+
const filename = asString(output.filename);
|
|
143
|
+
if (filename === undefined) {
|
|
144
|
+
diagnostics.push(diagnostic("output-unnamed", "warning", "A transcription output carries no filename and was not projected."));
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
observation.artifacts.push({
|
|
148
|
+
id: `capture:${filename}`,
|
|
149
|
+
kind: inferArtifactKind(filename, "transcript"),
|
|
150
|
+
relativePath: bundleRelative(bundleDir, output.relativePath, filename, diagnostics),
|
|
151
|
+
label: asString(output.label),
|
|
152
|
+
origin: "derived",
|
|
153
|
+
...(audioId === undefined ? {} : { sourceArtifact: audioId }),
|
|
154
|
+
metadata: pruned({
|
|
155
|
+
language: output.language,
|
|
156
|
+
sha256: output.sha256,
|
|
157
|
+
bytes: output.bytes,
|
|
158
|
+
transcribedAt,
|
|
159
|
+
}),
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
const sidecar = asString(transcription?.sidecar);
|
|
163
|
+
if (sidecar !== undefined) {
|
|
164
|
+
observation.artifacts.push({
|
|
165
|
+
id: `capture:${EPISODE_CAPTURE_SIDECAR_FILENAME}`,
|
|
166
|
+
kind: "text",
|
|
167
|
+
relativePath: bundleRelative(bundleDir, sidecar, EPISODE_CAPTURE_SIDECAR_FILENAME, diagnostics),
|
|
168
|
+
label: "Transcription sidecar",
|
|
169
|
+
origin: "derived",
|
|
170
|
+
...(audioId === undefined ? {} : { sourceArtifact: audioId }),
|
|
171
|
+
metadata: pruned({ transcribedAt }),
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
// ── everything the projection did not consume, kept verbatim ──────────────
|
|
175
|
+
for (const [key, value] of Object.entries(record)) {
|
|
176
|
+
if (PROJECTED_FIELDS.has(key))
|
|
177
|
+
continue;
|
|
178
|
+
observation.unmappedFields[key] = cloneValue(value);
|
|
179
|
+
}
|
|
180
|
+
void descriptor;
|
|
181
|
+
return observation;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* The wheel records a descriptor carries, or an empty list. A bundle whose
|
|
185
|
+
* registration never ran has no records — an absence, not a failure.
|
|
186
|
+
*/
|
|
187
|
+
export function episodeCaptureRecords(input) {
|
|
188
|
+
if (!isRecord(input))
|
|
189
|
+
return [];
|
|
190
|
+
const wheel = input.medicineWheel;
|
|
191
|
+
if (!isRecord(wheel))
|
|
192
|
+
return [];
|
|
193
|
+
const records = wheel.records;
|
|
194
|
+
if (!Array.isArray(records))
|
|
195
|
+
return [];
|
|
196
|
+
return records.filter(isRecord).map((r) => pruned({
|
|
197
|
+
id: asString(r.id),
|
|
198
|
+
filename: asString(r.filename),
|
|
199
|
+
role: asString(r.role),
|
|
200
|
+
language: asString(r.language),
|
|
201
|
+
}));
|
|
202
|
+
}
|
|
203
|
+
/** Whether a parsed value looks like a capture bundle descriptor. */
|
|
204
|
+
export function isEpisodeCaptureDescriptor(value) {
|
|
205
|
+
if (!isRecord(value))
|
|
206
|
+
return false;
|
|
207
|
+
if (value.schema === EPISODE_CAPTURE_SCHEMA)
|
|
208
|
+
return true;
|
|
209
|
+
// Shape-based fallback: the schema key postdates some bundles.
|
|
210
|
+
return isRecord(value.audio) && isRecord(value.transcription);
|
|
211
|
+
}
|
|
212
|
+
const PROJECTED_FIELDS = new Set([
|
|
213
|
+
"schema",
|
|
214
|
+
"episode",
|
|
215
|
+
"source",
|
|
216
|
+
"audio",
|
|
217
|
+
"transcription",
|
|
218
|
+
"storedAt",
|
|
219
|
+
"updatedAt",
|
|
220
|
+
]);
|
|
221
|
+
function diagnostic(code, level, message, path) {
|
|
222
|
+
return { level, code: `episode-capture.${code}`, message, ...(path === undefined ? {} : { path }) };
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* A path inside the bundle, expressed relative to the episode directory.
|
|
226
|
+
*
|
|
227
|
+
* The descriptor's own `relativePath` is preferred when it is genuinely
|
|
228
|
+
* relative. An absolute one is refused and rebuilt from the bundle directory:
|
|
229
|
+
* three episodes already carry `/data/data/com.termux/...` as provenance,
|
|
230
|
+
* true on one device and resolvable on no other host (jgwill/Miadi#622).
|
|
231
|
+
*/
|
|
232
|
+
function bundleRelative(bundleDir, stated, filename, diagnostics) {
|
|
233
|
+
const value = asString(stated);
|
|
234
|
+
if (value !== undefined && !isAbsoluteish(value))
|
|
235
|
+
return value;
|
|
236
|
+
if (value !== undefined) {
|
|
237
|
+
diagnostics.push(diagnostic("absolute-path-refused", "warning", `'${value}' is an absolute path and was replaced with one relative to the episode.`));
|
|
238
|
+
}
|
|
239
|
+
return bundleDir === "" ? filename : `${bundleDir}/${filename}`;
|
|
240
|
+
}
|
|
241
|
+
function isAbsoluteish(value) {
|
|
242
|
+
return value.startsWith("/") || /^[A-Za-z]:[\\/]/.test(value) || value.includes("..");
|
|
243
|
+
}
|
|
244
|
+
function parentOf(relativePath) {
|
|
245
|
+
const index = relativePath.lastIndexOf("/");
|
|
246
|
+
return index === -1 ? "" : relativePath.slice(0, index);
|
|
247
|
+
}
|
|
248
|
+
function pruned(value) {
|
|
249
|
+
const out = {};
|
|
250
|
+
for (const [key, item] of Object.entries(value)) {
|
|
251
|
+
if (item !== undefined)
|
|
252
|
+
out[key] = item;
|
|
253
|
+
}
|
|
254
|
+
return out;
|
|
255
|
+
}
|
|
256
|
+
function asString(value) {
|
|
257
|
+
return typeof value === "string" ? value : undefined;
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=episode-capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"episode-capture.js","sourceRoot":"","sources":["../../src/adapters/episode-capture.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./observation.js";
|
|
|
4
4
|
export * from "./chronicle-manifest.js";
|
|
5
5
|
export * from "./story-library-manifest.js";
|
|
6
6
|
export * from "./adapters/composition.js";
|
|
7
|
+
export * from "./adapters/episode-capture.js";
|
|
7
8
|
export * from "./adapters/episode-yaml.js";
|
|
8
9
|
export * from "./adapters/directory.js";
|
|
9
10
|
export * from "./adapters/segment-grammar.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,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"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./observation.js";
|
|
|
4
4
|
export * from "./chronicle-manifest.js";
|
|
5
5
|
export * from "./story-library-manifest.js";
|
|
6
6
|
export * from "./adapters/composition.js";
|
|
7
|
+
export * from "./adapters/episode-capture.js";
|
|
7
8
|
export * from "./adapters/episode-yaml.js";
|
|
8
9
|
export * from "./adapters/directory.js";
|
|
9
10
|
export * from "./adapters/segment-grammar.js";
|
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,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"}
|
package/dist/observation.d.ts
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
* decide whether a later, explicit projection is appropriate.
|
|
7
7
|
*/
|
|
8
8
|
export type EpisodeSourceZone = "composition-intake" | "chronicle" | "runtime-projection";
|
|
9
|
-
export type EpisodeSourceFormat = "composition-json" | "episode-yaml" | "directory-inferred" | "episodic-memory"
|
|
9
|
+
export type EpisodeSourceFormat = "composition-json" | "episode-yaml" | "directory-inferred" | "episodic-memory"
|
|
10
|
+
/** `capture.json` — one capture bundle inside an episode vessel. */
|
|
11
|
+
| "episode-capture";
|
|
10
12
|
export interface SourceDocumentRef {
|
|
11
13
|
format: EpisodeSourceFormat;
|
|
12
14
|
relativePath: string;
|
|
@@ -402,6 +404,11 @@ export interface ObserveCompositionManifestOptions {
|
|
|
402
404
|
relativePath: string;
|
|
403
405
|
zone?: "composition-intake";
|
|
404
406
|
}
|
|
407
|
+
export interface ObserveEpisodeCaptureOptions {
|
|
408
|
+
/** Path to the `capture.json`, relative to the episode directory. */
|
|
409
|
+
relativePath: string;
|
|
410
|
+
zone?: "chronicle";
|
|
411
|
+
}
|
|
405
412
|
export interface ObserveEpisodeYamlManifestOptions {
|
|
406
413
|
relativePath: string;
|
|
407
414
|
zone?: "chronicle";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../src/observation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../src/observation.ts"],"names":[],"mappings":"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"}
|
package/dist/observation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observation.js","sourceRoot":"","sources":["../src/observation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"observation.js","sourceRoot":"","sources":["../src/observation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyBH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,OAAO;IACP,YAAY;IACZ,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;CACC,CAAC,CAAA;AAIX,6DAA6D;AAC7D,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC3F,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC,CAAA;AAI3F;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC7F,CAAC;AA4BD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,eAAe;IACf,aAAa;IACb,SAAS;CACD,CAAC,CAAA;AAIX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAEC;IAED,4EAA4E;IAC5E,mEAAmE;IACnE,IAAI,KAAK,CAAC,OAAO,CAAE,QAAkC,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAEhF,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,UAAU;YACb,OAAO,eAAe,CAAA;QACxB,KAAK,SAAS;YACZ,OAAO,aAAa,CAAA;QACtB,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAA;QAClE;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AA6BD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,SAAS;IACT,aAAa;IACb,OAAO;IACP,SAAS;IACT,QAAQ;IACR,MAAM;IACN,OAAO;CACC,CAAC,CAAA;AAIX,gEAAgE;AAChE,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/F,CAAC;AAsED;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,SAAS,CAAU,CAAC,CAAA;AAIvF,qEAAqE;AACrE,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,uBAA6C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AACpG,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,SAAS;IACT,aAAa;IACb,OAAO;IACP,QAAQ;IACR,MAAM;IACN,cAAc;IACd,UAAU;CACF,CAAC,CAAA;AAIX,2EAA2E;AAC3E,MAAM,UAAU,4BAA4B,CAC1C,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,8BAAoD,CAAC,QAAQ,CAAC,KAAK,CAAC,CACtE,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miadi/episodic-memory-schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
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",
|
|
@@ -46,6 +46,9 @@
|
|
|
46
46
|
"publishConfig": {
|
|
47
47
|
"access": "public"
|
|
48
48
|
},
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=18.17"
|
|
51
|
+
},
|
|
49
52
|
"scripts": {
|
|
50
53
|
"build": "tsc",
|
|
51
54
|
"type-check": "tsc --noEmit",
|