@miadi/inquiry-weave 0.16.6 → 0.17.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.
Files changed (55) hide show
  1. package/dist/artefact-dsl.d.ts +60 -0
  2. package/dist/artefact-dsl.d.ts.map +1 -0
  3. package/dist/artefact-dsl.js +138 -0
  4. package/dist/artefact-dsl.js.map +1 -0
  5. package/dist/index.d.ts +6 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +6 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/markdown-directives.d.ts +2 -0
  10. package/dist/markdown-directives.d.ts.map +1 -1
  11. package/dist/markdown-directives.js +23 -1
  12. package/dist/markdown-directives.js.map +1 -1
  13. package/dist/mcp-server.js +213 -1
  14. package/dist/mcp-server.js.map +1 -1
  15. package/dist/mint.d.ts +261 -1
  16. package/dist/mint.d.ts.map +1 -1
  17. package/dist/mint.js +565 -0
  18. package/dist/mint.js.map +1 -1
  19. package/dist/notebook.d.ts +88 -0
  20. package/dist/notebook.d.ts.map +1 -0
  21. package/dist/notebook.js +258 -0
  22. package/dist/notebook.js.map +1 -0
  23. package/dist/pde.d.ts +54 -0
  24. package/dist/pde.d.ts.map +1 -0
  25. package/dist/pde.js +165 -0
  26. package/dist/pde.js.map +1 -0
  27. package/dist/prototype.d.ts +90 -0
  28. package/dist/prototype.d.ts.map +1 -0
  29. package/dist/prototype.js +286 -0
  30. package/dist/prototype.js.map +1 -0
  31. package/dist/references.d.ts +2 -0
  32. package/dist/references.d.ts.map +1 -1
  33. package/dist/references.js +2 -0
  34. package/dist/references.js.map +1 -1
  35. package/dist/rise-dsl.d.ts +44 -0
  36. package/dist/rise-dsl.d.ts.map +1 -0
  37. package/dist/rise-dsl.js +99 -0
  38. package/dist/rise-dsl.js.map +1 -0
  39. package/dist/rise-workspaces.d.ts +34 -0
  40. package/dist/rise-workspaces.d.ts.map +1 -0
  41. package/dist/rise-workspaces.js +73 -0
  42. package/dist/rise-workspaces.js.map +1 -0
  43. package/dist/rispec.d.ts +72 -0
  44. package/dist/rispec.d.ts.map +1 -0
  45. package/dist/rispec.js +227 -0
  46. package/dist/rispec.js.map +1 -0
  47. package/dist/text-references.d.ts +3 -2
  48. package/dist/text-references.d.ts.map +1 -1
  49. package/dist/text-references.js +29 -3
  50. package/dist/text-references.js.map +1 -1
  51. package/dist/tracing.d.ts +95 -0
  52. package/dist/tracing.d.ts.map +1 -0
  53. package/dist/tracing.js +302 -0
  54. package/dist/tracing.js.map +1 -0
  55. package/package.json +2 -2
@@ -0,0 +1,60 @@
1
+ /**
2
+ * The artefact schemes — addresses for what an episode holds beside its text
3
+ * (jgwill/Miadi#769, A2/A3 tail; grounding:
4
+ * foundations/resource-addressing-and-terminal-hypermedia/):
5
+ *
6
+ * miadi-notebook:<uuid> a Deep Diver notebook
7
+ * miadi-prototype:<slug> a prototype made from an episode
8
+ * miadi-pde:<uuid> a decomposition an episode holds (jgwill/Miadi#778)
9
+ * miadi-tracing:<domain>/<resource>/<id>[@<v>] a trace, prompt, session, dataset or score config
10
+ * miadi-trace:<domain>/<id> alias of miadi-tracing:<domain>/trace/<id>
11
+ * miadi-prompt:<domain>/<name>[@<v>] alias of miadi-tracing:<domain>/prompt/<name>[@<v>]
12
+ *
13
+ * An address carries an identity and never a location: no Google URL for a
14
+ * notebook, no provider project id for a trace, no editing URL for a
15
+ * prototype. A door resolves it (`/api/chronicle/resolve`, `/api/chronicle/open`),
16
+ * and the wheel node behind it (`notebook:<uuid>`, `prototype:<slug>`,
17
+ * `tracing:<key>`) holds what the door answers. The grammar follows
18
+ * foundation-dsl: `//` accepted on input, `mc.*` options folded, control
19
+ * characters refused because a reference is printed into terminals.
20
+ */
21
+ import { type TracingRef } from "@miadi/episodic-memory-schema";
22
+ export declare const MIADI_NOTEBOOK_SCHEME = "miadi-notebook:";
23
+ export declare const MIADI_PROTOTYPE_SCHEME = "miadi-prototype:";
24
+ export declare const MIADI_PDE_SCHEME = "miadi-pde:";
25
+ export declare const MIADI_TRACING_SCHEME = "miadi-tracing:";
26
+ /** Input aliases, rewritten to the tracing scheme on parse. */
27
+ export declare const MIADI_TRACE_ALIAS = "miadi-trace:";
28
+ export declare const MIADI_PROMPT_ALIAS = "miadi-prompt:";
29
+ export type ArtefactKind = "notebook" | "prototype" | "tracing" | "pde";
30
+ export interface ParsedArtefactUri {
31
+ /** The full original URI, exactly as given. */
32
+ uri: string;
33
+ /** The canonical spelling: the tracing scheme for the aliases, options and fragment preserved. */
34
+ canonical: string;
35
+ kind: ArtefactKind;
36
+ /** The identity: a notebook uuid, a prototype slug, a PDE uuid, or `<domain>/<resource>/<id>`. */
37
+ id: string;
38
+ /** For a tracing address, its parts. */
39
+ tracing?: TracingRef;
40
+ /** Query params minus the mc.* rendering options. */
41
+ query: Record<string, string>;
42
+ /** mc.* rendering options, prefix stripped (show, label, …). */
43
+ options: Record<string, string>;
44
+ fragment?: string;
45
+ }
46
+ export declare function isArtefactUri(href: string | undefined): boolean;
47
+ /** The canonical address of an artefact without options. */
48
+ export declare function canonicalArtefactRef(kind: ArtefactKind, id: string): string;
49
+ export declare function parseArtefactUri(uri: string): ParsedArtefactUri | null;
50
+ /**
51
+ * Where a chip points: the host's open door with the canonical address, so
52
+ * the reader's browser never carries a Google URL, a provider page or a
53
+ * project id; the door redirects to what the reader may see.
54
+ */
55
+ export declare function artefactOpenRoute(parsed: Pick<ParsedArtefactUri, "kind" | "id">): string;
56
+ /** The wheel node id an artefact address names. A tracing node is keyed without the prompt version the address may pin. */
57
+ export declare function artefactNodeId(parsed: Pick<ParsedArtefactUri, "kind" | "id" | "tracing">): string;
58
+ /** Every artefact address in a text, as written, in order of first appearance. */
59
+ export declare function extractArtefactUris(text: string): string[];
60
+ //# sourceMappingURL=artefact-dsl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artefact-dsl.d.ts","sourceRoot":"","sources":["../src/artefact-dsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAML,KAAK,UAAU,EAEhB,MAAM,+BAA+B,CAAA;AAGtC,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AACtD,eAAO,MAAM,sBAAsB,qBAAqB,CAAA;AACxD,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAC5C,eAAO,MAAM,oBAAoB,mBAAmB,CAAA;AACpD,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAC/C,eAAO,MAAM,kBAAkB,kBAAkB,CAAA;AAEjD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,CAAA;AAEvE,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAA;IACX,kGAAkG;IAClG,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,YAAY,CAAA;IAClB,kGAAkG;IAClG,EAAE,EAAE,MAAM,CAAA;IACV,wCAAwC;IACxC,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAKD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE/D;AAUD,4DAA4D;AAC5D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAkDtE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,CAExF;AAED,2HAA2H;AAC3H,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,CAGjG;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAc1D"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * The artefact schemes — addresses for what an episode holds beside its text
3
+ * (jgwill/Miadi#769, A2/A3 tail; grounding:
4
+ * foundations/resource-addressing-and-terminal-hypermedia/):
5
+ *
6
+ * miadi-notebook:<uuid> a Deep Diver notebook
7
+ * miadi-prototype:<slug> a prototype made from an episode
8
+ * miadi-pde:<uuid> a decomposition an episode holds (jgwill/Miadi#778)
9
+ * miadi-tracing:<domain>/<resource>/<id>[@<v>] a trace, prompt, session, dataset or score config
10
+ * miadi-trace:<domain>/<id> alias of miadi-tracing:<domain>/trace/<id>
11
+ * miadi-prompt:<domain>/<name>[@<v>] alias of miadi-tracing:<domain>/prompt/<name>[@<v>]
12
+ *
13
+ * An address carries an identity and never a location: no Google URL for a
14
+ * notebook, no provider project id for a trace, no editing URL for a
15
+ * prototype. A door resolves it (`/api/chronicle/resolve`, `/api/chronicle/open`),
16
+ * and the wheel node behind it (`notebook:<uuid>`, `prototype:<slug>`,
17
+ * `tracing:<key>`) holds what the door answers. The grammar follows
18
+ * foundation-dsl: `//` accepted on input, `mc.*` options folded, control
19
+ * characters refused because a reference is printed into terminals.
20
+ */
21
+ import { isPrototypeSlug, parseNotebookRef, pdeUuidOf, parseTracingRef, tracingReference, tracingNodeId, } from "@miadi/episodic-memory-schema";
22
+ import { OPTION_PREFIX } from "./chronicle-dsl.js";
23
+ export const MIADI_NOTEBOOK_SCHEME = "miadi-notebook:";
24
+ export const MIADI_PROTOTYPE_SCHEME = "miadi-prototype:";
25
+ export const MIADI_PDE_SCHEME = "miadi-pde:";
26
+ export const MIADI_TRACING_SCHEME = "miadi-tracing:";
27
+ /** Input aliases, rewritten to the tracing scheme on parse. */
28
+ export const MIADI_TRACE_ALIAS = "miadi-trace:";
29
+ export const MIADI_PROMPT_ALIAS = "miadi-prompt:";
30
+ // [1]=scheme word [2]=path [3]=query [4]=fragment
31
+ const ARTEFACT_URI_RE = /^miadi-(notebook|prototype|pde|tracing|trace|prompt):(?:\/\/)?([^?#\s\u0000-\u001f\u007f-\u009f]{1,400})\/?(?:\?([^#\u0000-\u001f\u007f-\u009f]*))?(?:#([^\u0000-\u001f\u007f-\u009f]*))?$/i;
32
+ export function isArtefactUri(href) {
33
+ return typeof href === "string" && /^miadi-(?:notebook|prototype|pde|tracing|trace|prompt):/i.test(href.trim());
34
+ }
35
+ function safeDecode(s) {
36
+ try {
37
+ return decodeURIComponent(s);
38
+ }
39
+ catch {
40
+ return s;
41
+ }
42
+ }
43
+ /** The canonical address of an artefact without options. */
44
+ export function canonicalArtefactRef(kind, id) {
45
+ return `${kind === "notebook" ? MIADI_NOTEBOOK_SCHEME : kind === "prototype" ? MIADI_PROTOTYPE_SCHEME : kind === "pde" ? MIADI_PDE_SCHEME : MIADI_TRACING_SCHEME}${id}`;
46
+ }
47
+ export function parseArtefactUri(uri) {
48
+ const trimmed = uri.trim();
49
+ const m = ARTEFACT_URI_RE.exec(trimmed);
50
+ if (!m || !m[1] || !m[2])
51
+ return null;
52
+ const scheme = m[1].toLowerCase();
53
+ const path = m[2];
54
+ let kind;
55
+ let id;
56
+ let tracing;
57
+ if (scheme === "notebook") {
58
+ const ref = parseNotebookRef(path);
59
+ if (!ref)
60
+ return null;
61
+ kind = "notebook";
62
+ id = ref.id;
63
+ }
64
+ else if (scheme === "prototype") {
65
+ if (!isPrototypeSlug(path) || path.includes(".."))
66
+ return null;
67
+ kind = "prototype";
68
+ id = path;
69
+ }
70
+ else if (scheme === "pde") {
71
+ const uuid = pdeUuidOf(path);
72
+ if (!uuid)
73
+ return null;
74
+ kind = "pde";
75
+ id = uuid;
76
+ }
77
+ else {
78
+ // tracing, or an alias that names the resource by its scheme word
79
+ const key = scheme === "trace" ? path.replace(/^([a-z]+)\//, "$1/trace/") : scheme === "prompt" ? path.replace(/^([a-z]+)\//, "$1/prompt/") : path;
80
+ const ref = parseTracingRef(key);
81
+ if (!ref)
82
+ return null;
83
+ kind = "tracing";
84
+ tracing = ref;
85
+ id = tracingReference(ref.domain, ref.resource, ref.id, ref.version).slice(MIADI_TRACING_SCHEME.length);
86
+ }
87
+ const query = {};
88
+ const options = {};
89
+ for (const pair of (m[3] ?? "").split("&")) {
90
+ if (!pair)
91
+ continue;
92
+ const eq = pair.indexOf("=");
93
+ const key = safeDecode(eq === -1 ? pair : pair.slice(0, eq));
94
+ const value = eq === -1 ? "" : safeDecode(pair.slice(eq + 1));
95
+ if (key.startsWith(OPTION_PREFIX))
96
+ options[key.slice(OPTION_PREFIX.length)] = value;
97
+ else
98
+ query[key] = value;
99
+ }
100
+ const fragment = m[4] || undefined;
101
+ const params = [
102
+ ...Object.entries(query).map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`),
103
+ ...Object.entries(options).map(([k, v]) => `${OPTION_PREFIX}${encodeURIComponent(k)}=${encodeURIComponent(v)}`),
104
+ ];
105
+ const canonical = canonicalArtefactRef(kind, id) + (params.length > 0 ? `?${params.join("&")}` : "") + (fragment ? `#${fragment}` : "");
106
+ return { uri: trimmed, canonical, kind, id, ...(tracing ? { tracing } : {}), query, options, ...(fragment ? { fragment } : {}) };
107
+ }
108
+ /**
109
+ * Where a chip points: the host's open door with the canonical address, so
110
+ * the reader's browser never carries a Google URL, a provider page or a
111
+ * project id; the door redirects to what the reader may see.
112
+ */
113
+ export function artefactOpenRoute(parsed) {
114
+ return `/api/chronicle/open?uri=${encodeURIComponent(canonicalArtefactRef(parsed.kind, parsed.id))}`;
115
+ }
116
+ /** The wheel node id an artefact address names. A tracing node is keyed without the prompt version the address may pin. */
117
+ export function artefactNodeId(parsed) {
118
+ if (parsed.kind === "tracing" && parsed.tracing)
119
+ return tracingNodeId(parsed.tracing.domain, parsed.tracing.resource, parsed.tracing.id);
120
+ return `${parsed.kind}:${parsed.id}`;
121
+ }
122
+ /** Every artefact address in a text, as written, in order of first appearance. */
123
+ export function extractArtefactUris(text) {
124
+ const seen = new Set();
125
+ const out = [];
126
+ const re = /(?<![\w/?=&%.~+:@#!-])miadi-(?:notebook|prototype|pde|tracing|trace|prompt):(?:\/\/)?[A-Za-z0-9._~:/?=&%#+@-]{1,512}/gi;
127
+ // Code is not a reference: fences and spans are blanked before the scan.
128
+ const prose = text.replace(/```[\s\S]*?```/g, " ").replace(/`[^`\n]*`/g, " ");
129
+ for (const m of prose.matchAll(re)) {
130
+ const raw = m[0].replace(/[.,;:)\]]+$/, "");
131
+ if (!seen.has(raw) && parseArtefactUri(raw)) {
132
+ seen.add(raw);
133
+ out.push(raw);
134
+ }
135
+ }
136
+ return out;
137
+ }
138
+ //# sourceMappingURL=artefact-dsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artefact-dsl.js","sourceRoot":"","sources":["../src/artefact-dsl.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -24,6 +24,12 @@ export * from "./chronicle-dsl.js";
24
24
  export * from "./foundation-dsl.js";
25
25
  export * from "./markdown-directives.js";
26
26
  export * from "./foundation.js";
27
+ export * from "./notebook.js";
28
+ export * from "./prototype.js";
29
+ export * from "./pde.js";
30
+ export * from "./tracing.js";
31
+ export * from "./rispec.js";
32
+ export * from "./rise-workspaces.js";
27
33
  export * from "./chronicle-terminal.js";
28
34
  export * from "./story-library.js";
29
35
  export * from "./git-landing.js";
@@ -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,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,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,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA"}
package/dist/index.js CHANGED
@@ -24,6 +24,12 @@ export * from "./chronicle-dsl.js";
24
24
  export * from "./foundation-dsl.js";
25
25
  export * from "./markdown-directives.js";
26
26
  export * from "./foundation.js";
27
+ export * from "./notebook.js";
28
+ export * from "./prototype.js";
29
+ export * from "./pde.js";
30
+ export * from "./tracing.js";
31
+ export * from "./rispec.js";
32
+ export * from "./rise-workspaces.js";
27
33
  export * from "./chronicle-terminal.js";
28
34
  export * from "./story-library.js";
29
35
  export * from "./git-landing.js";
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,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,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,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,MAAM,EAAuC,MAAM,UAAU,CAAA"}
@@ -29,6 +29,8 @@ export declare function findDirectives(text: string): DirectiveMatch[];
29
29
  * → [Mila](miadi-chronicle:126?mc.show=card&mc.label=Mila)
30
30
  * {{ foundation:lattice }}
31
31
  * → [lattice](miadi-foundation:lattice)
32
+ * {{ miadi-pde:a9a728ee-… | label="root" }}
33
+ * → [root](miadi-pde:a9a728ee-…?mc.label=root)
32
34
  * Invalid URIs, and directives inside code fences or inline code spans, are
33
35
  * left as literal text (graceful degradation).
34
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-directives.d.ts","sourceRoot":"","sources":["../src/markdown-directives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAKL,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAA;AA2B3B,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAcD,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAM7D;AA4DD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAM/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAWnE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAUjE;AAWD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACzC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAoBpC;AAsBD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6B3D"}
1
+ {"version":3,"file":"markdown-directives.d.ts","sourceRoot":"","sources":["../src/markdown-directives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAKL,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAA;AAgC3B,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAcD,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAM7D;AA0ED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa5D;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAM/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAWnE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAUjE;AAWD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACzC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAoBpC;AAsBD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6B3D"}
@@ -16,6 +16,8 @@
16
16
  import { OPTION_PREFIX, canonicalWheelRef, parseMiadiChronicleUri, parseWheelRefUri, } from "./chronicle-dsl.js";
17
17
  import { RangeSet, expandWheelShortForm, findTextReferences } from "./text-references.js";
18
18
  import { MIADI_FOUNDATION_SCHEME, parseFoundationUri } from "./foundation-dsl.js";
19
+ import { canonicalArtefactRef, parseArtefactUri } from "./artefact-dsl.js";
20
+ import { canonicalRiseRef, parseRiseUri } from "./rise-dsl.js";
19
21
  // DIRECTIVE_RE → [1]=uri [2]=opts. Directives are single-line (SPEC §3):
20
22
  // letting the option tail cross newlines made an unclosed `{{` swallow every
21
23
  // following paragraph up to the next `}}` in the document.
@@ -35,6 +37,9 @@ const WHEEL_DIRECTIVE_RE = /\{\{[ \t]*(miadi-)?(ceremony|circle):(?:\/\/)?([A-Za
35
37
  // [1]=everything after the scheme [2]=opts. `{{ foundation:<slug> }}` is the
36
38
  // short form of `{{ miadi-foundation:<slug> }}` (SPEC §10).
37
39
  const FOUNDATION_DIRECTIVE_RE = /\{\{[ \t]*(?:miadi-)?foundation:([^|}\s]{1,512})[ \t]*(?:\|([^}\n]{0,512}))?\}\}/gi;
40
+ // [1]=an artefact or spec address [2]=opts: `{{ miadi-pde:<uuid> }}`, `{{ miadi-tracing:… }}`,
41
+ // `{{ rise://… }}` (jgwill/Miadi#778).
42
+ const ARTEFACT_DIRECTIVE_RE = /\{\{[ \t]*((?:miadi-(?:notebook|prototype|pde|tracing|trace|prompt)|rise):(?:\/\/)?[^|}\s]{1,600})[ \t]*(?:\|([^}\n]{0,512}))?\}\}/gi;
38
43
  /** Parse a `| key=value, key="quoted value"` option tail. */
39
44
  function parseOptionTail(tail) {
40
45
  const options = {};
@@ -111,6 +116,20 @@ function rewriteFoundationDirective(raw, rest, optsGroup) {
111
116
  const path = parsed.file ? `${parsed.slug}/${parsed.file}` : parsed.slug;
112
117
  return `[${safeLabelOf(label)}](${MIADI_FOUNDATION_SCHEME}${path}${queryPart}${fragmentPart})`;
113
118
  }
119
+ function rewriteArtefactDirective(raw, uri, optsGroup) {
120
+ const options = parseOptionTail(optsGroup);
121
+ const artefact = parseArtefactUri(uri);
122
+ if (artefact) {
123
+ const short = artefact.kind === "pde" || artefact.kind === "notebook" ? artefact.id.slice(0, 8) : artefact.tracing ? artefact.tracing.id : artefact.id;
124
+ const fragmentPart = artefact.fragment ? `#${artefact.fragment}` : "";
125
+ return `[${safeLabelOf(options.label || short)}](${canonicalArtefactRef(artefact.kind, artefact.id)}${optionQuery(artefact.query, { ...artefact.options, ...options })}${fragmentPart})`;
126
+ }
127
+ const rise = parseRiseUri(uri);
128
+ if (!rise)
129
+ return raw;
130
+ const fragmentPart = rise.fragment ? `#${rise.fragment}` : "";
131
+ return `[${safeLabelOf(options.label || rise.path)}](${canonicalRiseRef(rise.owner, rise.repo, rise.path, rise.commit)}${optionQuery(rise.query, { ...rise.options, ...options })}${fragmentPart})`;
132
+ }
114
133
  /**
115
134
  * Markdown pre-pass: rewrite each `{{ uri | opts }}` directive into a
116
135
  * standard markdown link, folding options into the URI as mc.* params:
@@ -118,6 +137,8 @@ function rewriteFoundationDirective(raw, rest, optsGroup) {
118
137
  * → [Mila](miadi-chronicle:126?mc.show=card&mc.label=Mila)
119
138
  * {{ foundation:lattice }}
120
139
  * → [lattice](miadi-foundation:lattice)
140
+ * {{ miadi-pde:a9a728ee-… | label="root" }}
141
+ * → [root](miadi-pde:a9a728ee-…?mc.label=root)
121
142
  * Invalid URIs, and directives inside code fences or inline code spans, are
122
143
  * left as literal text (graceful degradation).
123
144
  */
@@ -129,7 +150,8 @@ export function transformDirectives(markdown) {
129
150
  : part
130
151
  .replace(DIRECTIVE_RE, rewriteDirective)
131
152
  .replace(WHEEL_DIRECTIVE_RE, rewriteWheelDirective)
132
- .replace(FOUNDATION_DIRECTIVE_RE, rewriteFoundationDirective))
153
+ .replace(FOUNDATION_DIRECTIVE_RE, rewriteFoundationDirective)
154
+ .replace(ARTEFACT_DIRECTIVE_RE, rewriteArtefactDirective))
133
155
  .join("");
134
156
  }
135
157
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-directives.js","sourceRoot":"","sources":["../src/markdown-directives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-directives.js","sourceRoot":"","sources":["../src/markdown-directives.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,7 @@ import { isWheelRefUri } from "./chronicle-dsl.js";
47
47
  import { isFoundationUri } from "./foundation-dsl.js";
48
48
  import { readWebBases, resolveForTerminal, resolveFoundationRefForTerminal, resolveWheelRefForTerminal } from "./chronicle-terminal.js";
49
49
  import { answerChronicleAttention, getChronicleAttention, listChronicleAttention, } from "./attention.js";
50
- import { attachEpisodeFoundation, attachEpisodeReview, authorEpisodeLineage, checkEpisodeNumber, episodeDoorStatus, landEpisode, mintEpisode, previewAllocation, redeemEpisodeRegistration, resolveDoorContext, weaveEpisodeInquiry, } from "./mint.js";
50
+ import { attachEpisodeFoundation, attachEpisodeNotebook, attachEpisodePrototype, attachEpisodePde, listEpisodePdes, attachEpisodeTracing, attachEpisodeRispec, attachEpisodeReview, authorEpisodeLineage, checkEpisodeNumber, episodeDoorStatus, landEpisode, mintEpisode, previewAllocation, redeemEpisodeRegistration, resolveDoorContext, weaveEpisodeInquiry, } from "./mint.js";
51
51
  const API_BASE = (process.env.MIADI_INQUIRY_API_BASE || "").replace(/\/$/, "");
52
52
  const ISSUES_BASE = (process.env.MIADI_INQUIRY_ISSUES_BASE ||
53
53
  process.env.MIADI_INQUIRY_THREADS_BASE ||
@@ -331,6 +331,112 @@ const TOOLS = [
331
331
  required: ["episode", "foundation"],
332
332
  },
333
333
  },
334
+ {
335
+ name: "chronicle_episode_notebook",
336
+ description: "Hold a Deep Diver notebook in an episode: record it under notebooks: in episode.yaml (filling only the keys a hand-written entry lacks), put the notebook node (knowledge) and the episode→notebook edge on the wheel, and land. The notebook is its Gemini Notebook URL, miadi-notebook:<uuid> or a uuid; its files, when the episode keeps them under captures/notebook-<uuid>/, are read, never written. Repeating the call adds nothing.",
337
+ inputSchema: {
338
+ type: "object",
339
+ properties: {
340
+ episode: { type: "string", description: "Episode number, epNNN, or folder name." },
341
+ notebook: { type: "string", description: "Gemini Notebook URL, miadi-notebook:<uuid>, notebook:<uuid> or a bare uuid." },
342
+ relation: { type: "string", description: "Kebab-case phrase completing 'Episode <relation> Notebook' (default: cites)." },
343
+ made_by: { type: "string", description: "Who made it (tool, commit, session), kept only when the entry has none." },
344
+ sources: { type: "array", items: { type: "string" }, description: "What the notebook was built from (miadi-review:<uuid> [vN], miadi-screenwalk:<id>, a URL), kept only when the entry has none." },
345
+ land: { type: "boolean", default: true },
346
+ dryRun: { type: "boolean", default: false },
347
+ },
348
+ required: ["episode", "notebook"],
349
+ },
350
+ },
351
+ {
352
+ name: "chronicle_episode_prototype",
353
+ description: "Hold a prototype in an episode: record it under prototypes: in episode.yaml (slug, published https address, title, made_with, source, commit, issue, relation, what it reads), put the prototype node (knowledge) and the episode→prototype edge on the wheel with the editing address in the node's metadata only (never in episode.yaml, which every reader of the episode can fetch), and land. Repeating the call adds nothing.",
354
+ inputSchema: {
355
+ type: "object",
356
+ properties: {
357
+ episode: { type: "string", description: "Episode number, epNNN, or folder name." },
358
+ prototype: { type: "string", description: "Slug or miadi-prototype:<slug>." },
359
+ url: { type: "string", description: "The published address (https), for every reader." },
360
+ title: { type: "string" },
361
+ editor: { type: "string", description: "The editing address (https), kept on the wheel node and shown only to people who may edit." },
362
+ made_with: { type: "string", description: "The tool it was made with, e.g. v0." },
363
+ source: { type: "string", description: "Where its code lives, owner/repo:path." },
364
+ commit: { type: "string" },
365
+ issue: { type: "string", description: "owner/repo#N" },
366
+ relation: { type: "string", description: "Kebab-case phrase completing 'Episode <relation> Prototype' (default: is-prototyped-in)." },
367
+ reads: { type: "array", items: { type: "string" }, description: "What the prototype reads live, as references (miadi-tracing:…, owner/repo#N)." },
368
+ land: { type: "boolean", default: true },
369
+ dryRun: { type: "boolean", default: false },
370
+ },
371
+ required: ["episode", "prototype", "url"],
372
+ },
373
+ },
374
+ {
375
+ name: "chronicle_episode_pde",
376
+ description: "The decompositions (PDEs) an episode holds, addressed miadi-pde:<uuid>. Without pde: list them — every PDE in the episode's own .pde/ folder (held by folder, nothing to declare), merged with what episode.yaml declares, then the PDEs only the manifest names. With pde: hold one under pdes: in episode.yaml and land; a PDE kept in a repository needs repo (owner/repo) and its path relative to that repository, never an absolute path. Repeating the call adds nothing.",
377
+ inputSchema: {
378
+ type: "object",
379
+ properties: {
380
+ episode: { type: "string", description: "Episode number, epNNN, or folder name." },
381
+ pde: { type: "string", description: "The PDE's uuid or miadi-pde:<uuid>. Omit to list." },
382
+ repo: { type: "string", description: "owner/repo, for a PDE kept in a repository." },
383
+ path: { type: "string", description: "The PDE folder, relative to repo, or to the episode folder when no repo is given." },
384
+ commit: { type: "string" },
385
+ title: { type: "string" },
386
+ engine: { type: "string" },
387
+ model: { type: "string" },
388
+ session: { type: "string", description: "The engine session that made it." },
389
+ issue: { type: "string", description: "owner/repo#N" },
390
+ relation: { type: "string", description: "Kebab-case phrase completing 'Episode <relation> PDE' (default: is-decomposed-in)." },
391
+ land: { type: "boolean", default: true },
392
+ dryRun: { type: "boolean", default: false },
393
+ },
394
+ required: ["episode"],
395
+ },
396
+ },
397
+ {
398
+ name: "chronicle_episode_tracing",
399
+ description: "Hold a tracing resource (trace, prompt, session, dataset, score-config) in an episode: record it under tracing: in episode.yaml by domain (ceremony, story, eng) and resource, never by provider; put the tracing node (knowledge, kind tracing_resource with the provider in its metadata) and the episode→resource edge on the wheel, with the provider's page in the node only (never in episode.yaml); and land. Give a miadi-tracing:<domain>/<resource>/<id>[@version] reference, or domain, resource and id. Repeating the call adds nothing.",
400
+ inputSchema: {
401
+ type: "object",
402
+ properties: {
403
+ episode: { type: "string", description: "Episode number, epNNN, or folder name." },
404
+ reference: { type: "string", description: "miadi-tracing:<domain>/<resource>/<id>[@<version>]" },
405
+ domain: { type: "string", enum: ["ceremony", "story", "eng"] },
406
+ resource: { type: "string", enum: ["trace", "prompt", "session", "dataset", "score-config"] },
407
+ id: { type: "string", description: "The provider's id; a prompt's id is its name." },
408
+ name: { type: "string", description: "The resource's name at the provider, so the room can show it without a key." },
409
+ version: { type: "number", description: "A prompt version." },
410
+ label: { type: "string", description: "A prompt label (draft, production…)." },
411
+ session: { type: "string", description: "The provider session a trace belongs to." },
412
+ relation: { type: "string", description: "Kebab-case phrase completing 'Episode <relation> Resource' (defaults: is-traced-in, is-prompted-by, is-evaluated-with, is-scored-by). A prompt may read is-scored-by or generates-with." },
413
+ backstage: { type: "array", items: { type: "string" }, description: "The doorway: what a story resource drew on, as references." },
414
+ ui_url: { type: "string", description: "The provider's page for the resource (https), kept on the node and shown only to people who may edit." },
415
+ land: { type: "boolean", default: true },
416
+ dryRun: { type: "boolean", default: false },
417
+ },
418
+ required: ["episode"],
419
+ },
420
+ },
421
+ {
422
+ name: "chronicle_episode_rispec",
423
+ description: "Hold a RISE specification in an episode: record it under rispecs: in episode.yaml as rise://<owner>/<repo>/<path> with the commit the episode stood on, derived_from (the prototype it was reverse-engineered from) and system (the stateloom drawing it draws on); put the spec node (knowledge, kind miadi_rispec) and the episode→spec edge on the wheel; land. A host path of a known checkout (/src/Miadi/rispecs/…) is read as its repository. Repeating the call adds nothing.",
424
+ inputSchema: {
425
+ type: "object",
426
+ properties: {
427
+ episode: { type: "string", description: "Episode number, epNNN, or folder name." },
428
+ spec: { type: "string", description: "rise://<owner>/<repo>/<path>[@<commit>]" },
429
+ title: { type: "string" },
430
+ commit: { type: "string" },
431
+ relation: { type: "string", description: "Kebab-case phrase completing 'Episode <relation> Spec' (default: is-specified-in; revises for an edit)." },
432
+ derived_from: { type: "string", description: "miadi-prototype:<slug>" },
433
+ system: { type: "string", description: "miadi-chronicle://<ep>/diagrams/<name>" },
434
+ land: { type: "boolean", default: true },
435
+ dryRun: { type: "boolean", default: false },
436
+ },
437
+ required: ["episode", "spec"],
438
+ },
439
+ },
334
440
  {
335
441
  name: "chronicle_episode_status",
336
442
  description: "The five-stage closing proof for one episode — created, committed, pushed, registered, receipt-verified — each with its probe and what it said, plus drift shapes and owed actions.",
@@ -533,6 +639,112 @@ async function callTool(name, args) {
533
639
  return apiCall("POST", `/api/chronicle/episodes/${encodeURIComponent(ref)}/foundations`, input);
534
640
  return attachEpisodeFoundation(door.context, ref, input);
535
641
  }
642
+ case "chronicle_episode_notebook": {
643
+ const door = episodeDoor();
644
+ const ref = episodeRefArg(args);
645
+ const input = {
646
+ notebook: typeof args.notebook === "string" ? args.notebook : "",
647
+ relation: typeof args.relation === "string" ? args.relation : undefined,
648
+ made_by: typeof args.made_by === "string" ? args.made_by : undefined,
649
+ sources: Array.isArray(args.sources) ? args.sources.map(String) : undefined,
650
+ land: args.land !== false,
651
+ dryRun: args.dryRun === true,
652
+ };
653
+ if (door.mode === "http")
654
+ return apiCall("POST", `/api/chronicle/episodes/${encodeURIComponent(ref)}/notebooks`, input);
655
+ return attachEpisodeNotebook(door.context, ref, input);
656
+ }
657
+ case "chronicle_episode_prototype": {
658
+ const door = episodeDoor();
659
+ const ref = episodeRefArg(args);
660
+ const str = (key) => (typeof args[key] === "string" ? args[key] : undefined);
661
+ const input = {
662
+ prototype: str("prototype") ?? "",
663
+ url: str("url") ?? "",
664
+ title: str("title"),
665
+ editor: str("editor"),
666
+ made_with: str("made_with"),
667
+ source: str("source"),
668
+ commit: str("commit"),
669
+ issue: str("issue"),
670
+ relation: str("relation"),
671
+ reads: Array.isArray(args.reads) ? args.reads.map(String) : undefined,
672
+ land: args.land !== false,
673
+ dryRun: args.dryRun === true,
674
+ };
675
+ if (door.mode === "http")
676
+ return apiCall("POST", `/api/chronicle/episodes/${encodeURIComponent(ref)}/prototypes`, input);
677
+ return attachEpisodePrototype(door.context, ref, input);
678
+ }
679
+ case "chronicle_episode_pde": {
680
+ const door = episodeDoor();
681
+ const ref = episodeRefArg(args);
682
+ const str = (key) => (typeof args[key] === "string" ? args[key] : undefined);
683
+ const path = `/api/chronicle/episodes/${encodeURIComponent(ref)}/pdes`;
684
+ if (!str("pde")) {
685
+ if (door.mode === "http")
686
+ return apiCall("GET", path);
687
+ return listEpisodePdes(door.context, ref);
688
+ }
689
+ const input = {
690
+ pde: str("pde") ?? "",
691
+ repo: str("repo"),
692
+ path: str("path"),
693
+ commit: str("commit"),
694
+ title: str("title"),
695
+ engine: str("engine"),
696
+ model: str("model"),
697
+ session: str("session"),
698
+ issue: str("issue"),
699
+ relation: str("relation"),
700
+ land: args.land !== false,
701
+ dryRun: args.dryRun === true,
702
+ };
703
+ if (door.mode === "http")
704
+ return apiCall("POST", path, input);
705
+ return attachEpisodePde(door.context, ref, input);
706
+ }
707
+ case "chronicle_episode_tracing": {
708
+ const door = episodeDoor();
709
+ const ref = episodeRefArg(args);
710
+ const str = (key) => (typeof args[key] === "string" ? args[key] : undefined);
711
+ const input = {
712
+ reference: str("reference"),
713
+ domain: str("domain"),
714
+ resource: str("resource"),
715
+ id: str("id"),
716
+ name: str("name"),
717
+ version: typeof args.version === "number" ? args.version : str("version"),
718
+ label: str("label"),
719
+ session: str("session"),
720
+ relation: str("relation"),
721
+ backstage: Array.isArray(args.backstage) ? args.backstage.map(String) : undefined,
722
+ ui_url: str("ui_url"),
723
+ land: args.land !== false,
724
+ dryRun: args.dryRun === true,
725
+ };
726
+ if (door.mode === "http")
727
+ return apiCall("POST", `/api/chronicle/episodes/${encodeURIComponent(ref)}/tracing`, input);
728
+ return attachEpisodeTracing(door.context, ref, input);
729
+ }
730
+ case "chronicle_episode_rispec": {
731
+ const door = episodeDoor();
732
+ const ref = episodeRefArg(args);
733
+ const str = (key) => (typeof args[key] === "string" ? args[key] : undefined);
734
+ const input = {
735
+ spec: str("spec") ?? "",
736
+ title: str("title"),
737
+ commit: str("commit"),
738
+ relation: str("relation"),
739
+ derived_from: str("derived_from"),
740
+ system: str("system"),
741
+ land: args.land !== false,
742
+ dryRun: args.dryRun === true,
743
+ };
744
+ if (door.mode === "http")
745
+ return apiCall("POST", `/api/chronicle/episodes/${encodeURIComponent(ref)}/rispecs`, input);
746
+ return attachEpisodeRispec(door.context, ref, input);
747
+ }
536
748
  case "chronicle_episode_status": {
537
749
  const door = episodeDoor();
538
750
  const ref = episodeRefArg(args);