@miadi/inquiry-weave 0.1.0 → 0.3.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 +22 -5
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +34 -0
- package/dist/cli.js.map +1 -1
- package/dist/env.d.ts +3 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +2 -0
- package/dist/env.js.map +1 -1
- package/dist/episode-node.d.ts +63 -0
- package/dist/episode-node.d.ts.map +1 -0
- package/dist/episode-node.js +112 -0
- package/dist/episode-node.js.map +1 -0
- package/dist/episode.d.ts +2 -0
- package/dist/episode.d.ts.map +1 -1
- package/dist/episode.js +7 -1
- package/dist/episode.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/register.d.ts +70 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +127 -0
- package/dist/register.js.map +1 -0
- package/package.json +1 -1
- package/rispecs/medicine-wheel-registration.spec.md +1 -1
package/README.md
CHANGED
|
@@ -43,9 +43,10 @@ inquiry-weave promote --artefact <name|path> (--episode <ref> | --new-episode <
|
|
|
43
43
|
inquiry-weave inquire --episode <ref> --slug <slug> [--title <t>] [--repo owner/repo] [--no-issue]
|
|
44
44
|
inquiry-weave sync (--artefact <ref> [--episode <ref>] | --episode <ref> [--all])
|
|
45
45
|
inquiry-weave status (--episode <ref> | --artefact <ref>) [--json]
|
|
46
|
+
inquiry-weave register (--episode <ref> | --artefact <ref>) [--dry-run]
|
|
46
47
|
```
|
|
47
48
|
|
|
48
|
-
Global flags: `--inquiry-root`, `--chronicle-root`, `--repo`, `--dry-run`, `--json`.
|
|
49
|
+
Global flags: `--inquiry-root`, `--chronicle-root`, `--repo`, `--mw-url`, `--dry-run`, `--json`.
|
|
49
50
|
Exit codes: `0` ok, `1` operational error, `2` usage/resolution error (ambiguous episode
|
|
50
51
|
numbers list their candidates — duplicates exist in the wild).
|
|
51
52
|
|
|
@@ -57,6 +58,7 @@ numbers list their candidates — duplicates exist in the wild).
|
|
|
57
58
|
| `MIADI_CHRONICLE_ROOT` | — | `/srv/miadi/episodes/miadi-chronicle` |
|
|
58
59
|
| `MIADI_INQUIRY_REPO` | — | `miadisabelle/Etuaptmumk-RSM` |
|
|
59
60
|
| `INQUIRY_WEAVE_ISSUE_LIB` | → `/a/src/scripts/fn_github_issue.sh` → `/src/scripts/fn_github_issue.sh` | — |
|
|
61
|
+
| `MW_API_URL` | — | `http://192.168.2.30:3940` |
|
|
60
62
|
|
|
61
63
|
## Metadata contract
|
|
62
64
|
|
|
@@ -136,16 +138,31 @@ an explicit `owner/repo`. The created identity is parsed from stdout (`* owner/r
|
|
|
136
138
|
and recorded straight into `.weave.yaml`. Issue title convention: the artefact's absolute
|
|
137
139
|
path (as with #245). `--no-issue` skips creation.
|
|
138
140
|
|
|
139
|
-
## Medicine-wheel registration & forgewright visibility
|
|
141
|
+
## Medicine-wheel registration & forgewright visibility
|
|
140
142
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
`inquiry-weave register` (v0.2) projects each woven relation into medicine-wheel:
|
|
144
|
+
`POST {MW_API_URL}/api/inquiry-weaves`, upsert key
|
|
145
|
+
`inquiry-weave:<episode.path>:<artefact.id>`. Registration moves metadata only —
|
|
146
|
+
weave files on disk stay authoritative; an unreachable medicine-wheel reports and
|
|
147
|
+
exits `1` without touching them. Forgewright renders the registered weaves in its
|
|
148
|
+
episode views. The contract lives in the RISE specs:
|
|
144
149
|
|
|
145
150
|
- `rispecs/medicine-wheel-registration.spec.md` (this package)
|
|
146
151
|
- `medicine-wheel:rispecs/inquiry-weave-registration.spec.md`
|
|
147
152
|
- `forgewright:rispecs/09-inquiry-weave-visibility.spec.md` (branch `4-plan-episode-visibility`)
|
|
148
153
|
|
|
154
|
+
### Episode nodes — cards visible at birth (v0.3)
|
|
155
|
+
|
|
156
|
+
The Chronicle UI hangs perspectives off **episode cards**; cards come from
|
|
157
|
+
`/api/nodes` artifact references (`miadi.artifact-ref.v1`, kind
|
|
158
|
+
`chronicle_episode`). `registerEpisodeNode(mwUrl, input)` registers that card:
|
|
159
|
+
it preflights `GET /api/nodes/chronicle:<episode-dir-name>` (an existing card is
|
|
160
|
+
`already-registered` success, never overwritten — medicine-wheel's POST upserts)
|
|
161
|
+
and otherwise POSTs the ep137-proven record. Failure is fail-open: the outcome
|
|
162
|
+
is `{ state: "registered" | "already-registered" | "pending", node_id, error? }`
|
|
163
|
+
and the function never throws, so vessel creation can never fail because of
|
|
164
|
+
registration (jgwill/Miadi#490).
|
|
165
|
+
|
|
149
166
|
## Kinship with @miadi/passages
|
|
150
167
|
|
|
151
168
|
Episode *creation* as a first-class command (`mkepisode -n 133 -t <slug> -g "<goal>"`)
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EAGL,gBAAgB,EAIjB,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EAGL,gBAAgB,EAIjB,MAAM,cAAc,CAAA;AAQrB,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;IACzC,MAAM,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;CAC1C;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO,CAAC,UAAU,CAAC;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CACjB;AAsWD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8CzF;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|
package/dist/cli.js
CHANGED
|
@@ -11,6 +11,7 @@ import { createIssue, IssueCreationError } from "./issue.js";
|
|
|
11
11
|
import { relate } from "./relate.js";
|
|
12
12
|
import { syncArtefact } from "./sync.js";
|
|
13
13
|
import { artefactStatus, episodeStatus } from "./status.js";
|
|
14
|
+
import { registerArtefact, registerEpisode } from "./register.js";
|
|
14
15
|
import { readArtefactWeave, readEpisodeWeave, WeaveError } from "./weave.js";
|
|
15
16
|
class UsageError extends Error {
|
|
16
17
|
}
|
|
@@ -22,11 +23,13 @@ Commands:
|
|
|
22
23
|
inquire --episode <ref> --slug <slug> [--title <t>] [--repo owner/repo] [--no-issue]
|
|
23
24
|
sync (--artefact <ref> [--episode <ref>] | --episode <ref> [--all])
|
|
24
25
|
status (--episode <ref> | --artefact <ref>) [--json]
|
|
26
|
+
register (--episode <ref> | --artefact <ref>) [--dry-run]
|
|
25
27
|
|
|
26
28
|
Global flags:
|
|
27
29
|
--inquiry-root <dir> (default: $MIADI_INQUIRY_ROOT, $INQUIRY_ROOT)
|
|
28
30
|
--chronicle-root <dir> (default: $MIADI_CHRONICLE_ROOT)
|
|
29
31
|
--repo <owner/repo> (default: $MIADI_INQUIRY_REPO)
|
|
32
|
+
--mw-url <url> (default: $MW_API_URL)
|
|
30
33
|
--dry-run --json --help
|
|
31
34
|
|
|
32
35
|
The package relates and syncs; it never generates inquiry content.
|
|
@@ -41,6 +44,7 @@ const VALUE_FLAGS = new Set([
|
|
|
41
44
|
"new-episode",
|
|
42
45
|
"inquiry-root",
|
|
43
46
|
"chronicle-root",
|
|
47
|
+
"mw-url",
|
|
44
48
|
]);
|
|
45
49
|
const BOOLEAN_FLAGS = new Set(["no-issue", "all", "dry-run", "json", "help"]);
|
|
46
50
|
function parseArgs(argv) {
|
|
@@ -285,12 +289,41 @@ async function commandStatus(context) {
|
|
|
285
289
|
emit(context, report, lines);
|
|
286
290
|
return 0;
|
|
287
291
|
}
|
|
292
|
+
function registerLines(result) {
|
|
293
|
+
const verb = result.dryRun ? "would register" : "registered";
|
|
294
|
+
const lines = [
|
|
295
|
+
`${verb}: ${result.registered.length} weave(s) -> ${result.mwUrl}/api/inquiry-weaves`,
|
|
296
|
+
];
|
|
297
|
+
for (const weave of result.registered) {
|
|
298
|
+
lines.push(` ${weave.id} [${weave.state}]`);
|
|
299
|
+
for (const diagnostic of weave.diagnostics)
|
|
300
|
+
lines.push(` note: ${diagnostic}`);
|
|
301
|
+
}
|
|
302
|
+
return lines;
|
|
303
|
+
}
|
|
304
|
+
async function commandRegister(context) {
|
|
305
|
+
const artefactRef = stringFlag(context.flags, "artefact");
|
|
306
|
+
const episodeRef = stringFlag(context.flags, "episode");
|
|
307
|
+
if ((artefactRef === undefined) === (episodeRef === undefined)) {
|
|
308
|
+
throw new UsageError("register needs exactly one of --episode or --artefact");
|
|
309
|
+
}
|
|
310
|
+
const options = {
|
|
311
|
+
dryRun: context.flags.get("dry-run") === true,
|
|
312
|
+
now: context.now,
|
|
313
|
+
};
|
|
314
|
+
const result = episodeRef
|
|
315
|
+
? await registerEpisode(context.env, await resolveEpisode(context.env.chronicleRoot, episodeRef), options)
|
|
316
|
+
: await registerArtefact(context.env, resolveArtefact(context.env.inquiryRoot, artefactRef), options);
|
|
317
|
+
emit(context, result, registerLines(result));
|
|
318
|
+
return 0;
|
|
319
|
+
}
|
|
288
320
|
const COMMANDS = {
|
|
289
321
|
relate: commandRelate,
|
|
290
322
|
promote: commandPromote,
|
|
291
323
|
inquire: commandInquire,
|
|
292
324
|
sync: commandSync,
|
|
293
325
|
status: commandStatus,
|
|
326
|
+
register: commandRegister,
|
|
294
327
|
};
|
|
295
328
|
export async function runCli(argv, options = {}) {
|
|
296
329
|
const stdout = options.stdout ?? process.stdout;
|
|
@@ -310,6 +343,7 @@ export async function runCli(argv, options = {}) {
|
|
|
310
343
|
inquiryRoot: stringFlag(flags, "inquiry-root"),
|
|
311
344
|
chronicleRoot: stringFlag(flags, "chronicle-root"),
|
|
312
345
|
repo: stringFlag(flags, "repo"),
|
|
346
|
+
mwUrl: stringFlag(flags, "mw-url"),
|
|
313
347
|
}, processEnv),
|
|
314
348
|
flags,
|
|
315
349
|
processEnv,
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/env.d.ts
CHANGED
|
@@ -8,15 +8,18 @@
|
|
|
8
8
|
export declare const DEFAULT_INQUIRY_ROOT = "/src/IAIP/prototypes/artefacts";
|
|
9
9
|
export declare const DEFAULT_CHRONICLE_ROOT = "/srv/miadi/episodes/miadi-chronicle";
|
|
10
10
|
export declare const DEFAULT_INQUIRY_REPO = "miadisabelle/Etuaptmumk-RSM";
|
|
11
|
+
export declare const DEFAULT_MW_URL = "http://192.168.2.30:3940";
|
|
11
12
|
export interface WeaveEnvOptions {
|
|
12
13
|
inquiryRoot?: string;
|
|
13
14
|
chronicleRoot?: string;
|
|
14
15
|
repo?: string;
|
|
16
|
+
mwUrl?: string;
|
|
15
17
|
}
|
|
16
18
|
export interface WeaveEnv {
|
|
17
19
|
inquiryRoot: string;
|
|
18
20
|
chronicleRoot: string;
|
|
19
21
|
repo: string;
|
|
22
|
+
mwUrl: string;
|
|
20
23
|
}
|
|
21
24
|
export declare function resolveEnv(options?: WeaveEnvOptions, env?: NodeJS.ProcessEnv): WeaveEnv;
|
|
22
25
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,mCAAmC,CAAA;AACpE,eAAO,MAAM,sBAAsB,wCAAwC,CAAA;AAC3E,eAAO,MAAM,oBAAoB,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,mCAAmC,CAAA;AACpE,eAAO,MAAM,sBAAsB,wCAAwC,CAAA;AAC3E,eAAO,MAAM,oBAAoB,gCAAgC,CAAA;AACjE,eAAO,MAAM,cAAc,6BAA6B,CAAA;AAExD,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AASD,wBAAgB,UAAU,CACxB,OAAO,GAAE,eAAoB,EAC7B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,QAAQ,CAUV"}
|
package/dist/env.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
export const DEFAULT_INQUIRY_ROOT = "/src/IAIP/prototypes/artefacts";
|
|
9
9
|
export const DEFAULT_CHRONICLE_ROOT = "/srv/miadi/episodes/miadi-chronicle";
|
|
10
10
|
export const DEFAULT_INQUIRY_REPO = "miadisabelle/Etuaptmumk-RSM";
|
|
11
|
+
export const DEFAULT_MW_URL = "http://192.168.2.30:3940";
|
|
11
12
|
function firstNonEmpty(...values) {
|
|
12
13
|
for (const value of values) {
|
|
13
14
|
if (value !== undefined && value.trim() !== "")
|
|
@@ -21,6 +22,7 @@ export function resolveEnv(options = {}, env = process.env) {
|
|
|
21
22
|
DEFAULT_INQUIRY_ROOT,
|
|
22
23
|
chronicleRoot: firstNonEmpty(options.chronicleRoot, env.MIADI_CHRONICLE_ROOT) ?? DEFAULT_CHRONICLE_ROOT,
|
|
23
24
|
repo: firstNonEmpty(options.repo, env.MIADI_INQUIRY_REPO) ?? DEFAULT_INQUIRY_REPO,
|
|
25
|
+
mwUrl: firstNonEmpty(options.mwUrl, env.MW_API_URL) ?? DEFAULT_MW_URL,
|
|
24
26
|
};
|
|
25
27
|
}
|
|
26
28
|
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gCAAgC,CAAA;AACpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,qCAAqC,CAAA;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gCAAgC,CAAA;AACpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,qCAAqC,CAAA;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,6BAA6B,CAAA;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,0BAA0B,CAAA;AAgBxD,SAAS,aAAa,CAAC,GAAG,MAA8B;IACtD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,KAAK,CAAA;IAC9D,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,UAA2B,EAAE,EAC7B,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO;QACL,WAAW,EACT,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,YAAY,CAAC;YAC5E,oBAAoB;QACtB,aAAa,EACX,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,oBAAoB,CAAC,IAAI,sBAAsB;QAC1F,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,kBAAkB,CAAC,IAAI,oBAAoB;QACjF,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,cAAc;KACtE,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Episode-node registration — make a Chronicle vessel visible as a card.
|
|
3
|
+
*
|
|
4
|
+
* The forgewright Chronicle hangs perspectives off episode cards; cards come
|
|
5
|
+
* from medicine-wheel `/api/nodes` artifact references (`miadi.artifact-ref.v1`,
|
|
6
|
+
* kind `chronicle_episode`). The vessel on disk stays authoritative; the node
|
|
7
|
+
* is only the queryable projection (proven manually in ep137, seam filed on
|
|
8
|
+
* jgwill/Miadi#483, woven here for jgwill/Miadi#490).
|
|
9
|
+
*
|
|
10
|
+
* medicine-wheel 0.5.0's POST /api/nodes upserts by id (jsonl `upsertById`,
|
|
11
|
+
* neon `ON CONFLICT DO UPDATE`), so re-POSTing an existing id would silently
|
|
12
|
+
* overwrite the card. registerEpisodeNode therefore preflights GET
|
|
13
|
+
* /api/nodes/<id> and reports an existing node as `already-registered`
|
|
14
|
+
* without writing. "Already exists" is success, never an error.
|
|
15
|
+
*
|
|
16
|
+
* Fail-open boundary: network or HTTP failure resolves to a `pending`
|
|
17
|
+
* outcome — this function never throws past its boundary, so vessel creation
|
|
18
|
+
* can never fail because of registration.
|
|
19
|
+
*/
|
|
20
|
+
export declare const CHRONICLE_PARENT_NODE_ID = "chronicle:miadi-chronicle";
|
|
21
|
+
export interface EpisodeNodeInput {
|
|
22
|
+
/** Episode directory name, e.g. "2026-07-17-episode-140-robustness-weave". */
|
|
23
|
+
episodeName: string;
|
|
24
|
+
/** Card display name, e.g. "Episode 140 — Robustness Weave". */
|
|
25
|
+
name: string;
|
|
26
|
+
/** One line under the card. */
|
|
27
|
+
description?: string;
|
|
28
|
+
/** Provenance anchor, e.g. "jgwill/Miadi#490". */
|
|
29
|
+
sourceIssue?: string;
|
|
30
|
+
}
|
|
31
|
+
/** The node medicine-wheel stores — the ep137 contract, field for field. */
|
|
32
|
+
export interface EpisodeNodeRecord {
|
|
33
|
+
id: string;
|
|
34
|
+
type: "knowledge";
|
|
35
|
+
name: string;
|
|
36
|
+
description: string;
|
|
37
|
+
direction: "north";
|
|
38
|
+
metadata: {
|
|
39
|
+
contract: "miadi.artifact-ref.v1";
|
|
40
|
+
kind: "chronicle_episode";
|
|
41
|
+
schema_version: "chronicle.episode-yaml.v1";
|
|
42
|
+
root: "MIADI_CHRONICLE_ROOT";
|
|
43
|
+
relative_path: string;
|
|
44
|
+
parent_id: typeof CHRONICLE_PARENT_NODE_ID;
|
|
45
|
+
status: "active";
|
|
46
|
+
source_issue?: string;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export type EpisodeNodeState = "registered" | "already-registered" | "pending";
|
|
50
|
+
export interface EpisodeNodeOutcome {
|
|
51
|
+
state: EpisodeNodeState;
|
|
52
|
+
node_id: string;
|
|
53
|
+
/** Present when state is "pending" — why registration did not complete. */
|
|
54
|
+
error?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface RegisterEpisodeNodeOptions {
|
|
57
|
+
/** Injectable test seam, like RegisterOptions.transport for weaves. */
|
|
58
|
+
fetchImpl?: typeof fetch;
|
|
59
|
+
}
|
|
60
|
+
export declare function episodeNodeId(episodeName: string): string;
|
|
61
|
+
export declare function projectEpisodeNode(input: EpisodeNodeInput): EpisodeNodeRecord;
|
|
62
|
+
export declare function registerEpisodeNode(mwUrl: string, input: EpisodeNodeInput, options?: RegisterEpisodeNodeOptions): Promise<EpisodeNodeOutcome>;
|
|
63
|
+
//# sourceMappingURL=episode-node.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Episode-node registration — make a Chronicle vessel visible as a card.
|
|
3
|
+
*
|
|
4
|
+
* The forgewright Chronicle hangs perspectives off episode cards; cards come
|
|
5
|
+
* from medicine-wheel `/api/nodes` artifact references (`miadi.artifact-ref.v1`,
|
|
6
|
+
* kind `chronicle_episode`). The vessel on disk stays authoritative; the node
|
|
7
|
+
* is only the queryable projection (proven manually in ep137, seam filed on
|
|
8
|
+
* jgwill/Miadi#483, woven here for jgwill/Miadi#490).
|
|
9
|
+
*
|
|
10
|
+
* medicine-wheel 0.5.0's POST /api/nodes upserts by id (jsonl `upsertById`,
|
|
11
|
+
* neon `ON CONFLICT DO UPDATE`), so re-POSTing an existing id would silently
|
|
12
|
+
* overwrite the card. registerEpisodeNode therefore preflights GET
|
|
13
|
+
* /api/nodes/<id> and reports an existing node as `already-registered`
|
|
14
|
+
* without writing. "Already exists" is success, never an error.
|
|
15
|
+
*
|
|
16
|
+
* Fail-open boundary: network or HTTP failure resolves to a `pending`
|
|
17
|
+
* outcome — this function never throws past its boundary, so vessel creation
|
|
18
|
+
* can never fail because of registration.
|
|
19
|
+
*/
|
|
20
|
+
export const CHRONICLE_PARENT_NODE_ID = "chronicle:miadi-chronicle";
|
|
21
|
+
export function episodeNodeId(episodeName) {
|
|
22
|
+
return `chronicle:${episodeName}`;
|
|
23
|
+
}
|
|
24
|
+
export function projectEpisodeNode(input) {
|
|
25
|
+
const record = {
|
|
26
|
+
id: episodeNodeId(input.episodeName),
|
|
27
|
+
type: "knowledge",
|
|
28
|
+
name: input.name,
|
|
29
|
+
description: input.description ?? "",
|
|
30
|
+
direction: "north",
|
|
31
|
+
metadata: {
|
|
32
|
+
contract: "miadi.artifact-ref.v1",
|
|
33
|
+
kind: "chronicle_episode",
|
|
34
|
+
schema_version: "chronicle.episode-yaml.v1",
|
|
35
|
+
root: "MIADI_CHRONICLE_ROOT",
|
|
36
|
+
relative_path: `${input.episodeName}/episode.yaml`,
|
|
37
|
+
parent_id: CHRONICLE_PARENT_NODE_ID,
|
|
38
|
+
status: "active",
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
if (input.sourceIssue)
|
|
42
|
+
record.metadata.source_issue = input.sourceIssue;
|
|
43
|
+
return record;
|
|
44
|
+
}
|
|
45
|
+
function describeFailure(error) {
|
|
46
|
+
return error instanceof Error ? error.message : String(error);
|
|
47
|
+
}
|
|
48
|
+
async function readErrorBody(response) {
|
|
49
|
+
try {
|
|
50
|
+
const body = (await response.json());
|
|
51
|
+
if (body && typeof body.error === "string")
|
|
52
|
+
return body.error;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Non-JSON body — the status line is all we can report.
|
|
56
|
+
}
|
|
57
|
+
return "";
|
|
58
|
+
}
|
|
59
|
+
export async function registerEpisodeNode(mwUrl, input, options = {}) {
|
|
60
|
+
const fetchImpl = options.fetchImpl ?? fetch;
|
|
61
|
+
const base = mwUrl.replace(/\/+$/, "");
|
|
62
|
+
const record = projectEpisodeNode(input);
|
|
63
|
+
const node_id = record.id;
|
|
64
|
+
let existing;
|
|
65
|
+
try {
|
|
66
|
+
existing = await fetchImpl(`${base}/api/nodes/${encodeURIComponent(node_id)}`);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
return {
|
|
70
|
+
state: "pending",
|
|
71
|
+
node_id,
|
|
72
|
+
error: `medicine-wheel unreachable at ${base}: ${describeFailure(error)}`,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
if (existing.ok)
|
|
76
|
+
return { state: "already-registered", node_id };
|
|
77
|
+
if (existing.status !== 404) {
|
|
78
|
+
const detail = await readErrorBody(existing);
|
|
79
|
+
return {
|
|
80
|
+
state: "pending",
|
|
81
|
+
node_id,
|
|
82
|
+
error: `GET ${base}/api/nodes/${node_id}: HTTP ${existing.status}${detail ? ` — ${detail}` : ""}`,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
let response;
|
|
86
|
+
try {
|
|
87
|
+
response = await fetchImpl(`${base}/api/nodes`, {
|
|
88
|
+
method: "POST",
|
|
89
|
+
headers: { "content-type": "application/json" },
|
|
90
|
+
body: JSON.stringify(record),
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
return {
|
|
95
|
+
state: "pending",
|
|
96
|
+
node_id,
|
|
97
|
+
error: `medicine-wheel unreachable at ${base}: ${describeFailure(error)}`,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
if (response.ok)
|
|
101
|
+
return { state: "registered", node_id };
|
|
102
|
+
const detail = await readErrorBody(response);
|
|
103
|
+
if (response.status === 409 || /already exists/i.test(detail)) {
|
|
104
|
+
return { state: "already-registered", node_id };
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
state: "pending",
|
|
108
|
+
node_id,
|
|
109
|
+
error: `POST ${base}/api/nodes: HTTP ${response.status}${detail ? ` — ${detail}` : ""}`,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=episode-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"episode-node.js","sourceRoot":"","sources":["../src/episode-node.ts"],"names":[],"mappings":"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"}
|
package/dist/episode.d.ts
CHANGED
|
@@ -34,5 +34,7 @@ export interface ScaffoldEpisodeOptions {
|
|
|
34
34
|
date?: string;
|
|
35
35
|
number?: number;
|
|
36
36
|
}
|
|
37
|
+
/** Local calendar date — an evening's episode belongs to that evening's date, not UTC's. */
|
|
38
|
+
export declare function localDateStamp(date?: Date): string;
|
|
37
39
|
export declare function scaffoldEpisode(chronicleRoot: string, options: ScaffoldEpisodeOptions): Promise<EpisodeIdentity>;
|
|
38
40
|
//# sourceMappingURL=episode.d.ts.map
|
package/dist/episode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"episode.d.ts","sourceRoot":"","sources":["../src/episode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,sBAAuB,SAAQ,KAAK;CAAG;AAEpD,qBAAa,qBAAsB,SAAQ,sBAAsB;aAG7C,UAAU,EAAE,MAAM,EAAE;gBADpC,GAAG,EAAE,MAAM,EACK,UAAU,EAAE,MAAM,EAAE;CAOvC;AAKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,CAMhG;AAkBD;;GAEG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CA0B1B;AAED,kFAAkF;AAClF,wBAAsB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOlF;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC,CAuB1B"}
|
|
1
|
+
{"version":3,"file":"episode.d.ts","sourceRoot":"","sources":["../src/episode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,sBAAuB,SAAQ,KAAK;CAAG;AAEpD,qBAAa,qBAAsB,SAAQ,sBAAsB;aAG7C,UAAU,EAAE,MAAM,EAAE;gBADpC,GAAG,EAAE,MAAM,EACK,UAAU,EAAE,MAAM,EAAE;CAOvC;AAKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,CAMhG;AAkBD;;GAEG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CA0B1B;AAED,kFAAkF;AAClF,wBAAsB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOlF;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,IAAI,GAAE,IAAiB,GAAG,MAAM,CAI9D;AAED,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC,CAuB1B"}
|
package/dist/episode.js
CHANGED
|
@@ -82,9 +82,15 @@ export async function allocateEpisodeNumber(chronicleRoot) {
|
|
|
82
82
|
}
|
|
83
83
|
return max + 1;
|
|
84
84
|
}
|
|
85
|
+
/** Local calendar date — an evening's episode belongs to that evening's date, not UTC's. */
|
|
86
|
+
export function localDateStamp(date = new Date()) {
|
|
87
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
88
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
89
|
+
return `${date.getFullYear()}-${month}-${day}`;
|
|
90
|
+
}
|
|
85
91
|
export async function scaffoldEpisode(chronicleRoot, options) {
|
|
86
92
|
const number = options.number ?? (await allocateEpisodeNumber(chronicleRoot));
|
|
87
|
-
const date = options.date ??
|
|
93
|
+
const date = options.date ?? localDateStamp();
|
|
88
94
|
const name = `${date}-episode-${String(number).padStart(3, "0")}-${options.slug}`;
|
|
89
95
|
const dir = join(chronicleRoot, name);
|
|
90
96
|
if (existsSync(dir)) {
|
package/dist/episode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"episode.js","sourceRoot":"","sources":["../src/episode.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"episode.js","sourceRoot":"","sources":["../src/episode.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,5 +8,7 @@ export * from "./sync.js";
|
|
|
8
8
|
export * from "./issue.js";
|
|
9
9
|
export * from "./relate.js";
|
|
10
10
|
export * from "./status.js";
|
|
11
|
+
export * from "./register.js";
|
|
12
|
+
export * from "./episode-node.js";
|
|
11
13
|
export { runCli, type RunCliOptions, type CliStreams } from "./cli.js";
|
|
12
14
|
//# 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,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,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,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,OAAO,EAAE,MAAM,EAAuC,MAAM,UAAU,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `inquiry-weave register` — project woven relations into medicine-wheel.
|
|
3
|
+
*
|
|
4
|
+
* Implements rispecs/medicine-wheel-registration.spec.md against the storage
|
|
5
|
+
* contract pinned by medicine-wheel:rispecs/inquiry-weave-registration.spec.md:
|
|
6
|
+
* POST {MW_API_URL}/api/inquiry-weaves with upsert key
|
|
7
|
+
* `inquiry-weave:<episode.path>:<artefact.id>`.
|
|
8
|
+
*
|
|
9
|
+
* Registration moves metadata only. The weave files on disk stay authoritative
|
|
10
|
+
* and are never written here; failure to reach medicine-wheel reports and
|
|
11
|
+
* exits without touching them.
|
|
12
|
+
*/
|
|
13
|
+
import type { WeaveEnv } from "./env.js";
|
|
14
|
+
import type { EpisodeIdentity } from "./episode.js";
|
|
15
|
+
import type { ArtefactIdentity } from "./artefact.js";
|
|
16
|
+
import { type Freshness } from "./sync.js";
|
|
17
|
+
/** The record medicine-wheel stores — its spec's WeaveRecord, not ours. */
|
|
18
|
+
export interface MedicineWheelWeaveRecord {
|
|
19
|
+
id: string;
|
|
20
|
+
weave: 1;
|
|
21
|
+
artefact: {
|
|
22
|
+
id: string;
|
|
23
|
+
path?: string;
|
|
24
|
+
};
|
|
25
|
+
issue?: string;
|
|
26
|
+
issue_url?: string;
|
|
27
|
+
episode: {
|
|
28
|
+
path: string;
|
|
29
|
+
number?: number;
|
|
30
|
+
};
|
|
31
|
+
last_sync: {
|
|
32
|
+
state: Freshness;
|
|
33
|
+
at?: string;
|
|
34
|
+
tree_sha256?: string;
|
|
35
|
+
file_count?: number;
|
|
36
|
+
bytes_total?: number;
|
|
37
|
+
};
|
|
38
|
+
source: {
|
|
39
|
+
package: "@miadi/inquiry-weave";
|
|
40
|
+
record_path?: string;
|
|
41
|
+
registered_at: string;
|
|
42
|
+
updated_at: string;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export type RegisterTransport = (record: MedicineWheelWeaveRecord) => Promise<void>;
|
|
46
|
+
export interface RegisterOptions {
|
|
47
|
+
dryRun?: boolean;
|
|
48
|
+
now?: () => Date;
|
|
49
|
+
/** Injectable test seam, like INQUIRY_WEAVE_ISSUE_LIB for issues. */
|
|
50
|
+
transport?: RegisterTransport;
|
|
51
|
+
}
|
|
52
|
+
export interface RegisteredWeave {
|
|
53
|
+
id: string;
|
|
54
|
+
artefact: string;
|
|
55
|
+
episodePath: string;
|
|
56
|
+
state: Freshness;
|
|
57
|
+
registered: boolean;
|
|
58
|
+
diagnostics: string[];
|
|
59
|
+
}
|
|
60
|
+
export interface RegisterResult {
|
|
61
|
+
mwUrl: string;
|
|
62
|
+
dryRun: boolean;
|
|
63
|
+
records: MedicineWheelWeaveRecord[];
|
|
64
|
+
registered: RegisteredWeave[];
|
|
65
|
+
}
|
|
66
|
+
export declare function weaveRecordId(episodePath: string, artefactId: string): string;
|
|
67
|
+
export declare function httpTransport(mwUrl: string): RegisterTransport;
|
|
68
|
+
export declare function registerEpisode(env: WeaveEnv, episode: EpisodeIdentity, options?: RegisterOptions): Promise<RegisterResult>;
|
|
69
|
+
export declare function registerArtefact(env: WeaveEnv, artefact: ArtefactIdentity, options?: RegisterOptions): Promise<RegisterResult>;
|
|
70
|
+
//# sourceMappingURL=register.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AAQ7D,2EAA2E;AAC3E,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,CAAC,CAAA;IACR,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,SAAS,EAAE;QACT,KAAK,EAAE,SAAS,CAAA;QAChB,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,MAAM,EAAE;QACN,OAAO,EAAE,sBAAsB,CAAA;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEnF,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;IAChB,qEAAqE;IACrE,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,SAAS,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,wBAAwB,EAAE,CAAA;IACnC,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAqB9D;AA4ED,wBAAsB,eAAe,CACnC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAezB;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAgCzB"}
|
package/dist/register.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `inquiry-weave register` — project woven relations into medicine-wheel.
|
|
3
|
+
*
|
|
4
|
+
* Implements rispecs/medicine-wheel-registration.spec.md against the storage
|
|
5
|
+
* contract pinned by medicine-wheel:rispecs/inquiry-weave-registration.spec.md:
|
|
6
|
+
* POST {MW_API_URL}/api/inquiry-weaves with upsert key
|
|
7
|
+
* `inquiry-weave:<episode.path>:<artefact.id>`.
|
|
8
|
+
*
|
|
9
|
+
* Registration moves metadata only. The weave files on disk stay authoritative
|
|
10
|
+
* and are never written here; failure to reach medicine-wheel reports and
|
|
11
|
+
* exits without touching them.
|
|
12
|
+
*/
|
|
13
|
+
import { isAbsolute, join } from "node:path";
|
|
14
|
+
import { classifyFreshness } from "./sync.js";
|
|
15
|
+
import { readArtefactWeave, readEpisodeWeave, WeaveError, } from "./weave.js";
|
|
16
|
+
export function weaveRecordId(episodePath, artefactId) {
|
|
17
|
+
return `inquiry-weave:${episodePath}:${artefactId}`;
|
|
18
|
+
}
|
|
19
|
+
export function httpTransport(mwUrl) {
|
|
20
|
+
const endpoint = `${mwUrl.replace(/\/+$/, "")}/api/inquiry-weaves`;
|
|
21
|
+
return async (record) => {
|
|
22
|
+
let response;
|
|
23
|
+
try {
|
|
24
|
+
response = await fetch(endpoint, {
|
|
25
|
+
method: "POST",
|
|
26
|
+
headers: { "content-type": "application/json" },
|
|
27
|
+
body: JSON.stringify(record),
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw new WeaveError(`medicine-wheel unreachable at ${endpoint}: ${error.message} — weave files remain authoritative, nothing was changed`);
|
|
32
|
+
}
|
|
33
|
+
if (!response.ok) {
|
|
34
|
+
throw new WeaveError(`medicine-wheel rejected ${record.id}: HTTP ${response.status} — weave files remain authoritative, nothing was changed`);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async function projectEntry(env, episodePath, episodeDir, episodeNumber, entry, now) {
|
|
39
|
+
const artefactDir = join(env.inquiryRoot, entry.artefact);
|
|
40
|
+
const freshness = await classifyFreshness(artefactDir, episodeDir, entry);
|
|
41
|
+
const stamp = now().toISOString();
|
|
42
|
+
const diagnostics = [...freshness.diagnostics];
|
|
43
|
+
if (!entry.issue) {
|
|
44
|
+
diagnostics.push("no issue woven — relation registered without an issue anchor");
|
|
45
|
+
}
|
|
46
|
+
if (episodeNumber === undefined) {
|
|
47
|
+
diagnostics.push("episode has no parseable number — registered by path only");
|
|
48
|
+
}
|
|
49
|
+
const record = {
|
|
50
|
+
id: weaveRecordId(episodePath, entry.artefact),
|
|
51
|
+
weave: 1,
|
|
52
|
+
artefact: { id: entry.artefact, path: artefactDir },
|
|
53
|
+
episode: { path: episodePath, number: episodeNumber },
|
|
54
|
+
last_sync: {
|
|
55
|
+
state: freshness.state,
|
|
56
|
+
at: entry.last_sync?.at,
|
|
57
|
+
tree_sha256: entry.last_sync?.tree_sha256,
|
|
58
|
+
file_count: entry.last_sync?.file_count,
|
|
59
|
+
bytes_total: entry.last_sync?.bytes_total,
|
|
60
|
+
},
|
|
61
|
+
source: {
|
|
62
|
+
package: "@miadi/inquiry-weave",
|
|
63
|
+
record_path: `${episodePath}/inquiry/weave.yaml`,
|
|
64
|
+
registered_at: stamp,
|
|
65
|
+
updated_at: stamp,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
if (entry.issue)
|
|
69
|
+
record.issue = entry.issue;
|
|
70
|
+
if (entry.issue_url)
|
|
71
|
+
record.issue_url = entry.issue_url;
|
|
72
|
+
return { record, diagnostics };
|
|
73
|
+
}
|
|
74
|
+
async function submit(env, projections, options) {
|
|
75
|
+
const dryRun = options.dryRun === true;
|
|
76
|
+
const transport = options.transport ?? httpTransport(env.mwUrl);
|
|
77
|
+
const registered = [];
|
|
78
|
+
for (const projection of projections) {
|
|
79
|
+
if (!dryRun)
|
|
80
|
+
await transport(projection.record);
|
|
81
|
+
registered.push({
|
|
82
|
+
id: projection.record.id,
|
|
83
|
+
artefact: projection.record.artefact.id,
|
|
84
|
+
episodePath: projection.record.episode.path,
|
|
85
|
+
state: projection.record.last_sync.state,
|
|
86
|
+
registered: !dryRun,
|
|
87
|
+
diagnostics: projection.diagnostics,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
mwUrl: env.mwUrl,
|
|
92
|
+
dryRun,
|
|
93
|
+
records: projections.map((projection) => projection.record),
|
|
94
|
+
registered,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
export async function registerEpisode(env, episode, options = {}) {
|
|
98
|
+
const weave = await readEpisodeWeave(episode.dir);
|
|
99
|
+
if (!weave || weave.inquiries.length === 0) {
|
|
100
|
+
throw new WeaveError(`episode ${episode.name} has no woven inquiries yet — run 'relate' or 'promote' first`);
|
|
101
|
+
}
|
|
102
|
+
const now = options.now ?? (() => new Date());
|
|
103
|
+
const projections = [];
|
|
104
|
+
for (const entry of weave.inquiries) {
|
|
105
|
+
projections.push(await projectEntry(env, weave.episode.path, episode.dir, weave.episode.number, entry, now));
|
|
106
|
+
}
|
|
107
|
+
return submit(env, projections, options);
|
|
108
|
+
}
|
|
109
|
+
export async function registerArtefact(env, artefact, options = {}) {
|
|
110
|
+
const weave = await readArtefactWeave(artefact.dir);
|
|
111
|
+
if (!weave || weave.episodes.length === 0) {
|
|
112
|
+
throw new WeaveError(`artefact ${artefact.name} has no related episodes yet — run 'relate' or 'promote' first`);
|
|
113
|
+
}
|
|
114
|
+
const now = options.now ?? (() => new Date());
|
|
115
|
+
const projections = [];
|
|
116
|
+
for (const link of weave.episodes) {
|
|
117
|
+
const episodeDir = isAbsolute(link.path) ? link.path : join(env.chronicleRoot, link.path);
|
|
118
|
+
const episodeWeave = await readEpisodeWeave(episodeDir);
|
|
119
|
+
const entry = episodeWeave?.inquiries.find((inquiry) => inquiry.artefact === artefact.name);
|
|
120
|
+
if (!episodeWeave || !entry) {
|
|
121
|
+
throw new WeaveError(`episode ${link.path} has no weave entry for ${artefact.name} (one-sided relation) — run 'relate' first`);
|
|
122
|
+
}
|
|
123
|
+
projections.push(await projectEntry(env, episodeWeave.episode.path, episodeDir, episodeWeave.episode.number, entry, now));
|
|
124
|
+
}
|
|
125
|
+
return submit(env, projections, options);
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miadi/inquiry-weave",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.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"
|
|
@@ -4,7 +4,7 @@ Companion specs (the other two lanterns of this workstream):
|
|
|
4
4
|
- `medicine-wheel:rispecs/inquiry-weave-registration.spec.md` — the storage side
|
|
5
5
|
- `forgewright:rispecs/09-inquiry-weave-visibility.spec.md` — the rendering side (branch `4-plan-episode-visibility`, kin to `08-medicine-wheel-integration.spec.md`)
|
|
6
6
|
|
|
7
|
-
Status: **
|
|
7
|
+
Status: **implemented in v0.2** — `register` targets `POST {MW_API_URL}/api/inquiry-weaves` as pinned below.
|
|
8
8
|
|
|
9
9
|
## Reverse Engineering (current reality)
|
|
10
10
|
|