@miadi/inquiry-weave 0.3.1 → 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.
- package/dist/catalog.d.ts +60 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.js +94 -0
- package/dist/catalog.js.map +1 -0
- package/dist/episode-node.d.ts +33 -0
- package/dist/episode-node.d.ts.map +1 -1
- package/dist/episode-node.js +69 -0
- package/dist/episode-node.js.map +1 -1
- 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/package.json +2 -2
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Chronicle catalog — the root enumerator (jgwill/Miadi#506, #507).
|
|
3
|
+
*
|
|
4
|
+
* `buildChronicleCatalog` walks the chronicle root on disk into a
|
|
5
|
+
* `ChronicleManifest` (the shared, filesystem-free read-model owned by
|
|
6
|
+
* `@miadi/episodic-memory-schema`). `registerChronicleManifest` projects that
|
|
7
|
+
* manifest into medicine-wheel as the `chronicle_root` parent plus one
|
|
8
|
+
* `chronicle_episode` node per episode — the exact nodes the app `/chronicle`
|
|
9
|
+
* surface and forgewright read.
|
|
10
|
+
*
|
|
11
|
+
* This module owns the *catalog of episodes*. It never imports `@miadi/composition`
|
|
12
|
+
* (a single composition is a single episode's concern); the dependency edge stays
|
|
13
|
+
* `schema ← inquiry-weave ← composition`.
|
|
14
|
+
*/
|
|
15
|
+
import { type ChronicleManifest } from "@miadi/episodic-memory-schema";
|
|
16
|
+
import { type EpisodeNodeOutcome } from "./episode-node.js";
|
|
17
|
+
/** Minimal, injectable filesystem seam — mirrors the transport seams elsewhere. */
|
|
18
|
+
export interface CatalogFs {
|
|
19
|
+
readdir: (dir: string) => Promise<Array<{
|
|
20
|
+
name: string;
|
|
21
|
+
isDirectory: () => boolean;
|
|
22
|
+
}>>;
|
|
23
|
+
readFile: (path: string) => Promise<string>;
|
|
24
|
+
}
|
|
25
|
+
export interface BuildCatalogOptions {
|
|
26
|
+
series?: string;
|
|
27
|
+
fs?: CatalogFs;
|
|
28
|
+
/** When provided, stamps the manifest's `generatedAt`. */
|
|
29
|
+
now?: () => Date;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Walk the chronicle root into a ChronicleManifest. Read-only, non-destructive.
|
|
33
|
+
*
|
|
34
|
+
* A directory is an episode when its name yields an episode number
|
|
35
|
+
* (`YYYY-MM-DD-episode-NNN-slug` or any `episode-NNN`). Episodes without a
|
|
36
|
+
* structured `episode.yaml` (the older `script.md` era) are still catalogued,
|
|
37
|
+
* as name-only entries — the manifest tolerates both metadata eras.
|
|
38
|
+
*/
|
|
39
|
+
export declare function buildChronicleCatalog(chronicleRoot: string, options?: BuildCatalogOptions): Promise<ChronicleManifest>;
|
|
40
|
+
export interface RegisterChronicleManifestOptions {
|
|
41
|
+
fetchImpl?: typeof fetch;
|
|
42
|
+
/** Register only these folder names (else every episode in the manifest). */
|
|
43
|
+
only?: readonly string[];
|
|
44
|
+
}
|
|
45
|
+
export interface RegisterChronicleManifestResult {
|
|
46
|
+
mwUrl: string;
|
|
47
|
+
root: EpisodeNodeOutcome;
|
|
48
|
+
episodes: EpisodeNodeOutcome[];
|
|
49
|
+
registered: number;
|
|
50
|
+
alreadyRegistered: number;
|
|
51
|
+
pending: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Project a manifest into medicine-wheel: the `chronicle_root` parent, then one
|
|
55
|
+
* `chronicle_episode` node per episode. Each registration preflights and never
|
|
56
|
+
* overwrites, so re-running is safe. Fail-open — a node that cannot reach the
|
|
57
|
+
* wheel is reported `pending`, never thrown.
|
|
58
|
+
*/
|
|
59
|
+
export declare function registerChronicleManifest(mwUrl: string, manifest: ChronicleManifest, options?: RegisterChronicleManifestOptions): Promise<RegisterChronicleManifestResult>;
|
|
60
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAA;AAI1B,mFAAmF;AACnF,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,OAAO,CAAA;KAAE,CAAC,CAAC,CAAA;IACtF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAC5C;AAOD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,EAAE,CAAC,EAAE,SAAS,CAAA;IACd,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CACjB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CA8B5B;AAED,MAAM,WAAW,gCAAgC;IAC/C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,kBAAkB,CAAA;IACxB,QAAQ,EAAE,kBAAkB,EAAE,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;CAChB;AAOD;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,+BAA+B,CAAC,CAiC1C"}
|
package/dist/catalog.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Chronicle catalog — the root enumerator (jgwill/Miadi#506, #507).
|
|
3
|
+
*
|
|
4
|
+
* `buildChronicleCatalog` walks the chronicle root on disk into a
|
|
5
|
+
* `ChronicleManifest` (the shared, filesystem-free read-model owned by
|
|
6
|
+
* `@miadi/episodic-memory-schema`). `registerChronicleManifest` projects that
|
|
7
|
+
* manifest into medicine-wheel as the `chronicle_root` parent plus one
|
|
8
|
+
* `chronicle_episode` node per episode — the exact nodes the app `/chronicle`
|
|
9
|
+
* surface and forgewright read.
|
|
10
|
+
*
|
|
11
|
+
* This module owns the *catalog of episodes*. It never imports `@miadi/composition`
|
|
12
|
+
* (a single composition is a single episode's concern); the dependency edge stays
|
|
13
|
+
* `schema ← inquiry-weave ← composition`.
|
|
14
|
+
*/
|
|
15
|
+
import { readdir, readFile } from "node:fs/promises";
|
|
16
|
+
import { join } from "node:path";
|
|
17
|
+
import { parse } from "yaml";
|
|
18
|
+
import { observeChronicleManifest, observeEpisodeYamlManifest, } from "@miadi/episodic-memory-schema";
|
|
19
|
+
import { parseEpisodeName } from "./episode.js";
|
|
20
|
+
import { registerChronicleRootNode, registerEpisodeNode, } from "./episode-node.js";
|
|
21
|
+
const EPISODE_YAML = "episode.yaml";
|
|
22
|
+
const nodeFs = {
|
|
23
|
+
readdir: (dir) => readdir(dir, { withFileTypes: true }),
|
|
24
|
+
readFile: (path) => readFile(path, "utf8"),
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Walk the chronicle root into a ChronicleManifest. Read-only, non-destructive.
|
|
28
|
+
*
|
|
29
|
+
* A directory is an episode when its name yields an episode number
|
|
30
|
+
* (`YYYY-MM-DD-episode-NNN-slug` or any `episode-NNN`). Episodes without a
|
|
31
|
+
* structured `episode.yaml` (the older `script.md` era) are still catalogued,
|
|
32
|
+
* as name-only entries — the manifest tolerates both metadata eras.
|
|
33
|
+
*/
|
|
34
|
+
export async function buildChronicleCatalog(chronicleRoot, options = {}) {
|
|
35
|
+
const fs = options.fs ?? nodeFs;
|
|
36
|
+
const entries = await fs.readdir(chronicleRoot);
|
|
37
|
+
const inputs = [];
|
|
38
|
+
for (const entry of entries) {
|
|
39
|
+
if (!entry.isDirectory())
|
|
40
|
+
continue;
|
|
41
|
+
const parsed = parseEpisodeName(entry.name);
|
|
42
|
+
if (parsed.number === undefined)
|
|
43
|
+
continue;
|
|
44
|
+
let observation;
|
|
45
|
+
try {
|
|
46
|
+
const raw = await fs.readFile(join(chronicleRoot, entry.name, EPISODE_YAML));
|
|
47
|
+
observation = observeEpisodeYamlManifest(parse(raw), {
|
|
48
|
+
relativePath: `${entry.name}/${EPISODE_YAML}`,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
observation = undefined;
|
|
53
|
+
}
|
|
54
|
+
inputs.push({
|
|
55
|
+
name: entry.name,
|
|
56
|
+
number: parsed.number,
|
|
57
|
+
slug: parsed.slug,
|
|
58
|
+
date: parsed.date,
|
|
59
|
+
observation,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return observeChronicleManifest(inputs, { series: options.series, now: options.now });
|
|
63
|
+
}
|
|
64
|
+
function episodeCardName(episode) {
|
|
65
|
+
const label = episode.number !== undefined ? `Episode ${episode.number}` : episode.name;
|
|
66
|
+
return episode.title ? `${label} — ${episode.title}` : label;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Project a manifest into medicine-wheel: the `chronicle_root` parent, then one
|
|
70
|
+
* `chronicle_episode` node per episode. Each registration preflights and never
|
|
71
|
+
* overwrites, so re-running is safe. Fail-open — a node that cannot reach the
|
|
72
|
+
* wheel is reported `pending`, never thrown.
|
|
73
|
+
*/
|
|
74
|
+
export async function registerChronicleManifest(mwUrl, manifest, options = {}) {
|
|
75
|
+
const only = options.only ? new Set(options.only) : undefined;
|
|
76
|
+
const root = await registerChronicleRootNode(mwUrl, { episodeCount: manifest.episodes.length }, { fetchImpl: options.fetchImpl });
|
|
77
|
+
const episodes = [];
|
|
78
|
+
for (const episode of manifest.episodes) {
|
|
79
|
+
if (only && !only.has(episode.name))
|
|
80
|
+
continue;
|
|
81
|
+
const description = [episode.date, episode.status].filter(Boolean).join(" · ");
|
|
82
|
+
episodes.push(await registerEpisodeNode(mwUrl, { episodeName: episode.name, name: episodeCardName(episode), description }, { fetchImpl: options.fetchImpl }));
|
|
83
|
+
}
|
|
84
|
+
const count = (state) => episodes.filter((e) => e.state === state).length;
|
|
85
|
+
return {
|
|
86
|
+
mwUrl,
|
|
87
|
+
root,
|
|
88
|
+
episodes,
|
|
89
|
+
registered: count("registered"),
|
|
90
|
+
alreadyRegistered: count("already-registered"),
|
|
91
|
+
pending: count("pending"),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
|
package/dist/episode-node.d.ts
CHANGED
|
@@ -60,4 +60,37 @@ export interface RegisterEpisodeNodeOptions {
|
|
|
60
60
|
export declare function episodeNodeId(episodeName: string): string;
|
|
61
61
|
export declare function projectEpisodeNode(input: EpisodeNodeInput): EpisodeNodeRecord;
|
|
62
62
|
export declare function registerEpisodeNode(mwUrl: string, input: EpisodeNodeInput, options?: RegisterEpisodeNodeOptions): Promise<EpisodeNodeOutcome>;
|
|
63
|
+
/**
|
|
64
|
+
* The Chronicle root node — the parent every episode card hangs under.
|
|
65
|
+
*
|
|
66
|
+
* forgewright reserves a `root: ChronicleArtifactReference | null` slot for the
|
|
67
|
+
* `chronicle_root` kind and leaves it null until something emits this node
|
|
68
|
+
* (jgwill/Miadi#507). `relative_path` is "." to match the canonical root already
|
|
69
|
+
* in the wheel; forgewright's `isSafeRelativePath` accepts it.
|
|
70
|
+
*/
|
|
71
|
+
export interface ChronicleRootNodeRecord {
|
|
72
|
+
id: typeof CHRONICLE_PARENT_NODE_ID;
|
|
73
|
+
type: "knowledge";
|
|
74
|
+
name: string;
|
|
75
|
+
description: string;
|
|
76
|
+
direction: "north";
|
|
77
|
+
metadata: {
|
|
78
|
+
contract: "miadi.artifact-ref.v1";
|
|
79
|
+
kind: "chronicle_root";
|
|
80
|
+
root: "MIADI_CHRONICLE_ROOT";
|
|
81
|
+
relative_path: ".";
|
|
82
|
+
episode_count?: number;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export interface ChronicleRootNodeInput {
|
|
86
|
+
name?: string;
|
|
87
|
+
description?: string;
|
|
88
|
+
episodeCount?: number;
|
|
89
|
+
}
|
|
90
|
+
export declare function projectChronicleRootNode(input?: ChronicleRootNodeInput): ChronicleRootNodeRecord;
|
|
91
|
+
/**
|
|
92
|
+
* Register the Chronicle root node. Preflights and never overwrites an existing
|
|
93
|
+
* root, so the canonical node in the wheel is safe. Fail-open at its boundary.
|
|
94
|
+
*/
|
|
95
|
+
export declare function registerChronicleRootNode(mwUrl: string, input?: ChronicleRootNodeInput, options?: RegisterEpisodeNodeOptions): Promise<EpisodeNodeOutcome>;
|
|
63
96
|
//# sourceMappingURL=episode-node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"episode-node.d.ts","sourceRoot":"","sources":["../src/episode-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,wBAAwB,8BAA8B,CAAA;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE;QACR,QAAQ,EAAE,uBAAuB,CAAA;QACjC,IAAI,EAAE,mBAAmB,CAAA;QACzB,cAAc,EAAE,2BAA2B,CAAA;QAC3C,IAAI,EAAE,sBAAsB,CAAA;QAC5B,aAAa,EAAE,MAAM,CAAA;QACrB,SAAS,EAAE,OAAO,wBAAwB,CAAA;QAC1C,MAAM,EAAE,QAAQ,CAAA;QAChB,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,oBAAoB,GAAG,SAAS,CAAA;AAE9E,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAmB7E;AAgBD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,kBAAkB,CAAC,CAkD7B"}
|
|
1
|
+
{"version":3,"file":"episode-node.d.ts","sourceRoot":"","sources":["../src/episode-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,wBAAwB,8BAA8B,CAAA;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE;QACR,QAAQ,EAAE,uBAAuB,CAAA;QACjC,IAAI,EAAE,mBAAmB,CAAA;QACzB,cAAc,EAAE,2BAA2B,CAAA;QAC3C,IAAI,EAAE,sBAAsB,CAAA;QAC5B,aAAa,EAAE,MAAM,CAAA;QACrB,SAAS,EAAE,OAAO,wBAAwB,CAAA;QAC1C,MAAM,EAAE,QAAQ,CAAA;QAChB,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,oBAAoB,GAAG,SAAS,CAAA;AAE9E,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAmB7E;AAgBD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,kBAAkB,CAAC,CAkD7B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,OAAO,wBAAwB,CAAA;IACnC,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE;QACR,QAAQ,EAAE,uBAAuB,CAAA;QACjC,IAAI,EAAE,gBAAgB,CAAA;QACtB,IAAI,EAAE,sBAAsB,CAAA;QAC5B,aAAa,EAAE,GAAG,CAAA;QAClB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,GAAE,sBAA2B,GAAG,uBAAuB,CAgBpG;AA+CD;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,sBAA2B,EAClC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,kBAAkB,CAAC,CAG7B"}
|
package/dist/episode-node.js
CHANGED
|
@@ -109,4 +109,73 @@ export async function registerEpisodeNode(mwUrl, input, options = {}) {
|
|
|
109
109
|
error: `POST ${base}/api/nodes: HTTP ${response.status}${detail ? ` — ${detail}` : ""}`,
|
|
110
110
|
};
|
|
111
111
|
}
|
|
112
|
+
export function projectChronicleRootNode(input = {}) {
|
|
113
|
+
const record = {
|
|
114
|
+
id: CHRONICLE_PARENT_NODE_ID,
|
|
115
|
+
type: "knowledge",
|
|
116
|
+
name: input.name ?? "Miadi Chronicle",
|
|
117
|
+
description: input.description ?? "Canonical Miadi Chronicle root — the living lineage of episodes.",
|
|
118
|
+
direction: "north",
|
|
119
|
+
metadata: {
|
|
120
|
+
contract: "miadi.artifact-ref.v1",
|
|
121
|
+
kind: "chronicle_root",
|
|
122
|
+
root: "MIADI_CHRONICLE_ROOT",
|
|
123
|
+
relative_path: ".",
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
if (input.episodeCount !== undefined)
|
|
127
|
+
record.metadata.episode_count = input.episodeCount;
|
|
128
|
+
return record;
|
|
129
|
+
}
|
|
130
|
+
/** Shared preflight-then-POST used by root registration; fail-open like episodes. */
|
|
131
|
+
async function registerArtifactRefNode(mwUrl, node_id, record, fetchImpl) {
|
|
132
|
+
const base = mwUrl.replace(/\/+$/, "");
|
|
133
|
+
let existing;
|
|
134
|
+
try {
|
|
135
|
+
existing = await fetchImpl(`${base}/api/nodes/${encodeURIComponent(node_id)}`);
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
return { state: "pending", node_id, error: `medicine-wheel unreachable at ${base}: ${describeFailure(error)}` };
|
|
139
|
+
}
|
|
140
|
+
if (existing.ok)
|
|
141
|
+
return { state: "already-registered", node_id };
|
|
142
|
+
if (existing.status !== 404) {
|
|
143
|
+
const detail = await readErrorBody(existing);
|
|
144
|
+
return {
|
|
145
|
+
state: "pending",
|
|
146
|
+
node_id,
|
|
147
|
+
error: `GET ${base}/api/nodes/${node_id}: HTTP ${existing.status}${detail ? ` — ${detail}` : ""}`,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
let response;
|
|
151
|
+
try {
|
|
152
|
+
response = await fetchImpl(`${base}/api/nodes`, {
|
|
153
|
+
method: "POST",
|
|
154
|
+
headers: { "content-type": "application/json" },
|
|
155
|
+
body: JSON.stringify(record),
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
return { state: "pending", node_id, error: `medicine-wheel unreachable at ${base}: ${describeFailure(error)}` };
|
|
160
|
+
}
|
|
161
|
+
if (response.ok)
|
|
162
|
+
return { state: "registered", node_id };
|
|
163
|
+
const detail = await readErrorBody(response);
|
|
164
|
+
if (response.status === 409 || /already exists/i.test(detail)) {
|
|
165
|
+
return { state: "already-registered", node_id };
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
state: "pending",
|
|
169
|
+
node_id,
|
|
170
|
+
error: `POST ${base}/api/nodes: HTTP ${response.status}${detail ? ` — ${detail}` : ""}`,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Register the Chronicle root node. Preflights and never overwrites an existing
|
|
175
|
+
* root, so the canonical node in the wheel is safe. Fail-open at its boundary.
|
|
176
|
+
*/
|
|
177
|
+
export async function registerChronicleRootNode(mwUrl, input = {}, options = {}) {
|
|
178
|
+
const record = projectChronicleRootNode(input);
|
|
179
|
+
return registerArtifactRefNode(mwUrl, record.id, record, options.fetchImpl ?? fetch);
|
|
180
|
+
}
|
|
112
181
|
//# sourceMappingURL=episode-node.js.map
|
package/dist/episode-node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"episode-node.js","sourceRoot":"","sources":["../src/episode-node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"episode-node.js","sourceRoot":"","sources":["../src/episode-node.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,5 +10,6 @@ export * from "./relate.js";
|
|
|
10
10
|
export * from "./status.js";
|
|
11
11
|
export * from "./register.js";
|
|
12
12
|
export * from "./episode-node.js";
|
|
13
|
+
export * from "./catalog.js";
|
|
13
14
|
export { runCli, type RunCliOptions, type CliStreams } from "./cli.js";
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
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,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,MAAM,EAAuC,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAuC,MAAM,UAAU,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miadi/inquiry-weave",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Relate and sync IAIP inquiry artefacts, their GitHub issues, and miadi-chronicle episodes. Creates vessels and relations only — never inquiry content.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"yaml": "^2.5.0",
|
|
28
|
-
"@miadi/episodic-memory-schema": "0.
|
|
28
|
+
"@miadi/episodic-memory-schema": "0.4.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"typescript": "^5.4.0"
|