@miadi/inquiry-weave 0.12.1 → 0.13.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/mint.js CHANGED
@@ -27,6 +27,8 @@ import { hasEpisodeManifest, localDateStamp, missingManifestRemedy, resolveEpiso
27
27
  import { episodeNodeId, registerEpisodeNode } from "./episode-node.js";
28
28
  import { readEpisodeWeave } from "./weave.js";
29
29
  import { chronicleGitRoot, integrateOrigin, landPaths, originTreeNames, preflightChronicle, withChronicleLock, } from "./git-landing.js";
30
+ import { fetchPublicReview, projectEpisodeReview, requireReviewRef, reviewBaseUrl, ReviewError, upsertEpisodeReview, } from "./review.js";
31
+ import { readEpisodeReviews, reviewReference } from "@miadi/episodic-memory-schema";
30
32
  import { closingIsProven, MW_RECEIPT_BASENAME, proveEpisodeClosing, refusePoisonedWheel, WHEEL_PROBE_TIMEOUT_MS, } from "./closing.js";
31
33
  export class EpisodeServiceError extends Error {
32
34
  code;
@@ -85,6 +87,7 @@ export function resolveDoorContext(options = {}, env = process.env) {
85
87
  chronicleRoot: weave.chronicleRoot,
86
88
  inquiryRoot: weave.inquiryRoot,
87
89
  wheelUrl: options.wheelUrl ?? chronicleWheelUrl(env),
90
+ reviewBaseUrl: options.reviewBaseUrl ?? reviewBaseUrl(env),
88
91
  gitRoot: options.gitRoot,
89
92
  now: options.now,
90
93
  fetchImpl: options.fetchImpl,
@@ -538,6 +541,176 @@ export async function weaveEpisodeInquiry(context, ref, input) {
538
541
  };
539
542
  });
540
543
  }
544
+ // ── Review (a Miadi review enters the episode) ──────────────────────────────
545
+ /** The relation written when the caller names none: the episode discusses the review. */
546
+ export const DEFAULT_REVIEW_RELATION = "discusses";
547
+ function asDoorError(error) {
548
+ if (error instanceof ReviewError) {
549
+ const code = error.code === "review_manifest_conflict" ? "invalid_field" : error.code;
550
+ throw new EpisodeServiceError(code, error.message);
551
+ }
552
+ throw error;
553
+ }
554
+ function reviewObligations(review, given) {
555
+ const named = (given ?? []).map((line) => (typeof line === "string" ? line.trim() : "")).filter(Boolean);
556
+ if (named.length)
557
+ return named;
558
+ return [
559
+ `Keep review ${review.id} version ${review.version} as the version this episode used`,
560
+ "Return what the talking circle learns about the review to this episode",
561
+ ];
562
+ }
563
+ function parseRelation(raw) {
564
+ if (raw === undefined || raw === null || raw === "")
565
+ return undefined;
566
+ const relation = typeof raw === "string" ? raw.trim() : "";
567
+ if (!/^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$/.test(relation) || relation.length > 80) {
568
+ throw new EpisodeServiceError("invalid_field", `relation '${String(raw)}' must be a kebab-case phrase completing "Episode <relation> Review", e.g. uses-to-ground-vocabulary`);
569
+ }
570
+ return relation;
571
+ }
572
+ /** Manifest entry, wheel node and edge, then the hold. Runs inside the chronicle lock. */
573
+ async function attachReview(context, identity, review, input) {
574
+ const manifestPath = join(identity.dir, "episode.yaml");
575
+ let previous;
576
+ try {
577
+ previous = readEpisodeReviews(parse(await readFile(manifestPath, "utf8")), { base: context.reviewBaseUrl }).find((entry) => entry.id === review.id && entry.relation !== undefined);
578
+ }
579
+ catch {
580
+ previous = undefined;
581
+ }
582
+ const relation = parseRelation(input.relation) ?? previous?.relation ?? DEFAULT_REVIEW_RELATION;
583
+ const first = await upsertEpisodeReview({
584
+ episodeYamlPath: manifestPath,
585
+ entry: {
586
+ id: review.id,
587
+ url: review.url,
588
+ title: review.title,
589
+ version: review.version,
590
+ relation,
591
+ added: nowOf(context).toISOString(),
592
+ },
593
+ dryRun: input.dryRun,
594
+ }).catch(asDoorError);
595
+ const wheel = await projectEpisodeReview(context.wheelUrl, { episodeNodeId: episodeNodeId(identity.path), review, relation: first.entry.relation ?? relation, obligations: reviewObligations(review, input.obligations) }, { dryRun: input.dryRun, fetchImpl: context.fetchImpl });
596
+ let ceremony;
597
+ let entry = first.entry;
598
+ const filled = [...first.filled];
599
+ if (first.entry.ceremony) {
600
+ ceremony = { state: "already-open", ceremony: first.entry.ceremony, ...(first.entry.circle ? { circle: first.entry.circle } : {}) };
601
+ }
602
+ else if (input.dryRun) {
603
+ ceremony = { state: "skipped", reason: "dry run" };
604
+ }
605
+ else if (wheel.node.state === "pending") {
606
+ // The ceremony names the review node as its subject; the wheel refuses a subject it does not hold.
607
+ ceremony = { state: "owed", reason: `the review node is not on the wheel yet (${wheel.node.error ?? "pending"}); repeat the call to open the ceremony` };
608
+ }
609
+ else if (!input.hold) {
610
+ ceremony = { state: "owed", reason: "no ceremony opener was given (the app opens one for a signed-in person)" };
611
+ }
612
+ else {
613
+ try {
614
+ ceremony = await input.hold({ identity, review, entry: first.entry });
615
+ }
616
+ catch (error) {
617
+ ceremony = { state: "owed", reason: error instanceof Error ? error.message : String(error) };
618
+ }
619
+ if (ceremony.state === "opened" || ceremony.state === "already-open") {
620
+ const second = await upsertEpisodeReview({
621
+ episodeYamlPath: manifestPath,
622
+ entry: { ...first.entry, ceremony: ceremony.ceremony, ...(ceremony.circle ? { circle: ceremony.circle } : {}) },
623
+ }).catch(asDoorError);
624
+ entry = second.entry;
625
+ filled.push(...second.filled);
626
+ }
627
+ }
628
+ return {
629
+ review,
630
+ entry,
631
+ manifest: { created: first.created, filled, wrote: first.wrote || filled.length > first.filled.length },
632
+ wheel,
633
+ ceremony,
634
+ };
635
+ }
636
+ /**
637
+ * Add a Miadi review to an episode: read it from the review service, record it
638
+ * in `episode.yaml`, relate it on the wheel, let the app open the talking
639
+ * circle that discusses it, then land manifest and ceremony note together.
640
+ * Repeating the call adds nothing; it opens a ceremony still owed.
641
+ */
642
+ export async function attachEpisodeReview(context, ref, input) {
643
+ const base = context.reviewBaseUrl ?? reviewBaseUrl();
644
+ let reviewRef;
645
+ try {
646
+ reviewRef = requireReviewRef(input.review, base);
647
+ }
648
+ catch (error) {
649
+ asDoorError(error);
650
+ }
651
+ parseRelation(input.relation);
652
+ const identity = await resolveDoorEpisode(context, ref);
653
+ if (!hasEpisodeManifest(identity.dir)) {
654
+ throw new EpisodeServiceError("manifest_missing", missingManifestRemedy(identity.dir));
655
+ }
656
+ const review = await fetchPublicReview(reviewRef, { fetchImpl: context.fetchImpl }).catch(asDoorError);
657
+ const gitRoot = await gitRootOf(context);
658
+ return withChronicleLock(gitRoot, async () => {
659
+ const report = await attachReview(context, identity, review, input);
660
+ let landing;
661
+ if (input.land !== false) {
662
+ landing = await landIdentity(context, identity, { dryRun: input.dryRun }, {
663
+ subject: `ep${identity.number ?? "?"}: review ${review.title}`,
664
+ body: commitBody(`Review added through POST /api/chronicle/episodes/{ref}/reviews.\n\nReview: ${review.url} (version ${report.entry.version ?? review.version})` +
665
+ (report.ceremony.state === "opened" ? `\nCeremony: ${report.ceremony.ceremony}` : ""), []),
666
+ });
667
+ }
668
+ const closing = await closingFor(context, identity.name);
669
+ return {
670
+ ok: closingIsProven(closing) &&
671
+ report.wheel.node.state !== "pending" &&
672
+ report.wheel.edge.state !== "pending" &&
673
+ report.ceremony.state !== "owed",
674
+ dryRun: input.dryRun === true,
675
+ identity,
676
+ ...report,
677
+ landing,
678
+ closing: closing.closing,
679
+ drift: closing.drift,
680
+ owedActions: closing.owedActions,
681
+ };
682
+ });
683
+ }
684
+ /** The reviews an episode holds, each checked against the service's latest version. */
685
+ export async function listEpisodeReviews(context, ref, options = {}) {
686
+ const identity = await resolveDoorEpisode(context, ref);
687
+ const base = context.reviewBaseUrl ?? reviewBaseUrl();
688
+ let manifest = null;
689
+ try {
690
+ manifest = parse(await readFile(join(identity.dir, "episode.yaml"), "utf8"));
691
+ }
692
+ catch {
693
+ manifest = null;
694
+ }
695
+ const observed = readEpisodeReviews(manifest, { base });
696
+ if (options.live === false)
697
+ return { identity, reviews: observed };
698
+ const reviews = await Promise.all(observed.map(async (entry) => {
699
+ try {
700
+ const latest = await fetchPublicReview({ id: entry.id, url: entry.url, base }, { fetchImpl: context.fetchImpl, timeoutMs: 8_000 });
701
+ return {
702
+ ...entry,
703
+ title: entry.title ?? latest.title,
704
+ latest_version: latest.latest_version,
705
+ newer: entry.version !== undefined && latest.latest_version > entry.version,
706
+ };
707
+ }
708
+ catch (error) {
709
+ return { ...entry, error: error instanceof Error ? error.message : String(error) };
710
+ }
711
+ }));
712
+ return { identity, reviews };
713
+ }
541
714
  export async function redeemEpisodeRegistration(context, ref, input = {}) {
542
715
  refusePoisonedWheelOrThrow(context.wheelUrl);
543
716
  const identity = await resolveDoorEpisode(context, ref);
@@ -620,7 +793,38 @@ function validateMintInput(input) {
620
793
  parseArtefactName(input.inquiry.artefact);
621
794
  return { title, slug, goal, references, status, date: input.date, number, lineage };
622
795
  }
796
+ /** The goal a review-born episode carries when the caller wrote none. Computed, and said to be. */
797
+ export function reviewEpisodeGoal(review) {
798
+ return `Hold the review "${review.title}" in the chronicle and gather a talking circle to discuss what it offers this work.`;
799
+ }
623
800
  export async function mintEpisode(context, input) {
801
+ let review;
802
+ const fromReview = [];
803
+ if (typeof input.review === "string" && input.review.trim()) {
804
+ let reviewRef;
805
+ try {
806
+ reviewRef = requireReviewRef(input.review, context.reviewBaseUrl ?? reviewBaseUrl());
807
+ }
808
+ catch (error) {
809
+ asDoorError(error);
810
+ }
811
+ parseRelation(input.reviewRelation);
812
+ review = await fetchPublicReview(reviewRef, { fetchImpl: context.fetchImpl }).catch(asDoorError);
813
+ const given = (value) => typeof value === "string" && value.trim() !== "";
814
+ const references = Array.isArray(input.references) ? input.references.filter(given) : [];
815
+ if (!given(input.title))
816
+ fromReview.push("title");
817
+ if (!given(input.goal))
818
+ fromReview.push("goal");
819
+ if (references.length === 0)
820
+ fromReview.push("references");
821
+ input = {
822
+ ...input,
823
+ title: given(input.title) ? input.title : review.title,
824
+ goal: given(input.goal) ? input.goal : reviewEpisodeGoal(review),
825
+ references: references.length ? references : [reviewReference(review.id)],
826
+ };
827
+ }
624
828
  const vessel = validateMintInput(input);
625
829
  const dryRun = input.dryRun === true;
626
830
  const register = input.register !== false;
@@ -679,6 +883,8 @@ export async function mintEpisode(context, input) {
679
883
  files: [`${rel}/episode.yaml`, ...(register ? [`${rel}/${MW_RECEIPT_BASENAME}`] : [])],
680
884
  lineage,
681
885
  inquiry: null,
886
+ review: null,
887
+ fromReview,
682
888
  registration: {
683
889
  state: register ? "would-register" : "skipped",
684
890
  node_id: episodeNodeId(name),
@@ -709,6 +915,10 @@ export async function mintEpisode(context, input) {
709
915
  const registration = register
710
916
  ? await registerAndReceipt(context, identity, { title: vessel.title, goal: vessel.goal, sourceIssue }, { dryRun: false })
711
917
  : { state: "skipped", node_id: episodeNodeId(name), url: context.wheelUrl, receiptWritten: false };
918
+ // After registration, so the episode→review edge starts from a node the wheel holds.
919
+ const reviewReport = review
920
+ ? await attachReview(context, identity, review, { relation: input.reviewRelation, hold: input.hold })
921
+ : null;
712
922
  const files = await vesselPaths(gitRoot, identity);
713
923
  for (const edge of lineage) {
714
924
  // A reverse edge changed the target's manifest; that file lands in the same commit.
@@ -738,6 +948,8 @@ export async function mintEpisode(context, input) {
738
948
  files,
739
949
  lineage,
740
950
  inquiry,
951
+ review: reviewReport,
952
+ fromReview,
741
953
  registration,
742
954
  landing,
743
955
  integration,
package/dist/mint.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mint.js","sourceRoot":"","sources":["../src/mint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mint.js","sourceRoot":"","sources":["../src/mint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * The review seam — a Miadi review entering an episode: read it from the
3
+ * review service's public JSON, record it in `episode.yaml`, and put it on the
4
+ * wheel in the shape Episode 345 set by hand (`review-medicine-wheel-
5
+ * experiment.md`): one reusable `review:<uuid>` node, and one
6
+ * `chronicle:<episode>` → `review:<uuid>` edge whose relationship type names
7
+ * what the episode uses the review for.
8
+ *
9
+ * Three rules this file keeps:
10
+ *
11
+ * 1. Only the configured review origin is fetched (`parseReviewRef` refuses
12
+ * any other), so a caller cannot make the server fetch an address of its
13
+ * choosing.
14
+ * 2. The manifest entry is written once per review and never overwritten:
15
+ * a later call fills keys that were missing (the ceremony, once it opens)
16
+ * and leaves every recorded value as it was, including the version the
17
+ * episode used.
18
+ * 3. The wheel projection never throws. A wheel that is down answers
19
+ * `pending`, as the lineage and registration projections do. One ordered
20
+ * node pair is one edge on the wheel, so an edge someone made by hand is
21
+ * kept with its own relationship type.
22
+ *
23
+ * Ref: jgwill/Miadi#630.
24
+ */
25
+ import { type EpisodeReviewEntry, type ReviewRef } from "@miadi/episodic-memory-schema";
26
+ export type ReviewErrorCode = "invalid_review" | "review_not_found" | "review_unreachable" | "review_manifest_conflict";
27
+ export declare class ReviewError extends Error {
28
+ readonly code: ReviewErrorCode;
29
+ constructor(code: ReviewErrorCode, message: string);
30
+ }
31
+ /** `MIADI_REVIEW_BASE_URL` names another deployment; the miadi-review skill reads the same variable. */
32
+ export declare function reviewBaseUrl(env?: NodeJS.ProcessEnv): string;
33
+ /** Parse, or refuse with the door's error. */
34
+ export declare function requireReviewRef(raw: unknown, base: string): ReviewRef;
35
+ /** What the review service publishes about one review, as this package uses it. */
36
+ export interface PublicReview {
37
+ id: string;
38
+ /** Canonical public page. */
39
+ url: string;
40
+ title: string;
41
+ video_url?: string;
42
+ channel?: string;
43
+ /** The newest version the service holds. */
44
+ latest_version: number;
45
+ /** The version this read returned: the pinned one, else the latest. */
46
+ version: number;
47
+ updated_at?: string;
48
+ }
49
+ /** GET `<base>/review/<id>/json[?v=N]`. Public; no token. */
50
+ export declare function fetchPublicReview(ref: ReviewRef, options?: {
51
+ fetchImpl?: typeof fetch;
52
+ timeoutMs?: number;
53
+ }): Promise<PublicReview>;
54
+ export interface UpsertEpisodeReviewInput {
55
+ /** Absolute path to the episode.yaml that holds the review. */
56
+ episodeYamlPath: string;
57
+ entry: EpisodeReviewEntry;
58
+ dryRun?: boolean;
59
+ }
60
+ export interface UpsertEpisodeReviewResult {
61
+ /** The entry as the manifest holds it after this call. */
62
+ entry: EpisodeReviewEntry;
63
+ /** True when the review was not in `reviews:` before. */
64
+ created: boolean;
65
+ /** Keys this call filled on an entry that already existed. */
66
+ filled: string[];
67
+ wrote: boolean;
68
+ dryRun: boolean;
69
+ }
70
+ /**
71
+ * Add a review to `episode.yaml`, or fill the keys an existing entry lacks.
72
+ * Comments, key order and every other field survive (yaml document model, as
73
+ * `appendLineageEdge`). Refuses a `reviews` key that is not a list.
74
+ */
75
+ export declare function upsertEpisodeReview(input: UpsertEpisodeReviewInput): Promise<UpsertEpisodeReviewResult>;
76
+ export type ReviewProjectionState = "created" | "refreshed" | "already-present" | "skipped" | "pending";
77
+ export interface ReviewProjection {
78
+ node: {
79
+ id: string;
80
+ state: ReviewProjectionState;
81
+ error?: string;
82
+ };
83
+ edge: {
84
+ id: string;
85
+ state: ReviewProjectionState;
86
+ relationship_type: string;
87
+ error?: string;
88
+ };
89
+ }
90
+ export interface ProjectEpisodeReviewInput {
91
+ /** `chronicle:<episode directory>`. */
92
+ episodeNodeId: string;
93
+ review: PublicReview;
94
+ /** The intended contribution — completes "Episode <relation> Review". */
95
+ relation: string;
96
+ obligations: string[];
97
+ }
98
+ /**
99
+ * Put the review node and the episode→review edge on the wheel. Creates the
100
+ * node when absent; when present, refreshes only `metadata.latest_version`
101
+ * (the wheel merges metadata), so a hand-written name and description stay.
102
+ */
103
+ export declare function projectEpisodeReview(mwUrl: string, input: ProjectEpisodeReviewInput, options?: {
104
+ fetchImpl?: typeof fetch;
105
+ dryRun?: boolean;
106
+ }): Promise<ReviewProjection>;
107
+ //# sourceMappingURL=review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"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"}