@miadi/inquiry-weave 0.8.3 → 0.9.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 +14 -0
- package/dist/attention.d.ts +75 -0
- package/dist/attention.d.ts.map +1 -0
- package/dist/attention.js +356 -0
- package/dist/attention.js.map +1 -0
- package/dist/closing.d.ts +60 -0
- package/dist/closing.d.ts.map +1 -0
- package/dist/closing.js +199 -0
- package/dist/closing.js.map +1 -0
- package/dist/git-landing.d.ts +119 -0
- package/dist/git-landing.d.ts.map +1 -0
- package/dist/git-landing.js +280 -0
- package/dist/git-landing.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.d.ts +13 -3
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +326 -4
- package/dist/mcp-server.js.map +1 -1
- package/dist/mint.d.ts +243 -0
- package/dist/mint.d.ts.map +1 -0
- package/dist/mint.js +743 -0
- package/dist/mint.js.map +1 -0
- package/dist/skill.js +1 -1
- package/package.json +1 -1
- package/rispecs/README.rise.md +5 -0
- package/rispecs/RISPEC.md +9 -0
package/dist/mint.d.ts
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The episode door — mint, land, relate, author lineage, redeem a receipt —
|
|
3
|
+
* for a caller that never touches the filesystem: the HTTP route and the MCP
|
|
4
|
+
* server both call these and nothing else.
|
|
5
|
+
*
|
|
6
|
+
* The vessel manifest written here is passages' mkepisode shape
|
|
7
|
+
* (packages/passages/js/lib/mkepisode.js buildManifestYaml), lifted into this
|
|
8
|
+
* package so the app, which already depends on @miadi/inquiry-weave, has a
|
|
9
|
+
* typed writer without a process boundary. Byte parity is tested against
|
|
10
|
+
* passages' own function. scaffoldEpisode() keeps writing its thinner
|
|
11
|
+
* `status: scaffold` record for the callers it already has.
|
|
12
|
+
*
|
|
13
|
+
* Ref: jgwill/Miadi#621, jgwill/Miadi#584, jgwill/Miadi#501.
|
|
14
|
+
*/
|
|
15
|
+
import { type RelateResult } from "./relate.js";
|
|
16
|
+
import { type SyncResult } from "./sync.js";
|
|
17
|
+
import { type RegisterResult } from "./register.js";
|
|
18
|
+
import { type AppendLineageEdgeResult, type LineageField } from "./lineage.js";
|
|
19
|
+
import { type LineageEdgeOutcome } from "./lineage-edge.js";
|
|
20
|
+
import { type EpisodeIdentity } from "./episode.js";
|
|
21
|
+
import { type EpisodeNodeOutcome } from "./episode-node.js";
|
|
22
|
+
import { type IntegrationResult, type LandPathsResult } from "./git-landing.js";
|
|
23
|
+
import { type ClosingReport } from "./closing.js";
|
|
24
|
+
export type EpisodeServiceErrorCode = "identity_required" | "invalid_number" | "invalid_date" | "invalid_field" | "invalid_ref" | "invalid_artefact" | "invalid_reference" | "number_taken" | "number_unverifiable" | "wheel_refused" | "chronicle_not_main" | "chronicle_busy" | "chronicle_integration_refused" | "manifest_missing" | "weave_error";
|
|
25
|
+
export declare class EpisodeServiceError extends Error {
|
|
26
|
+
readonly code: EpisodeServiceErrorCode;
|
|
27
|
+
readonly detail?: unknown | undefined;
|
|
28
|
+
constructor(code: EpisodeServiceErrorCode, message: string, detail?: unknown | undefined);
|
|
29
|
+
}
|
|
30
|
+
export declare function normalizeSlug(title: string): string;
|
|
31
|
+
export declare function yamlScalar(value: unknown): string;
|
|
32
|
+
export interface VesselManifestInput {
|
|
33
|
+
number: number;
|
|
34
|
+
title: string;
|
|
35
|
+
slug: string;
|
|
36
|
+
date: string;
|
|
37
|
+
goal: string;
|
|
38
|
+
references: string[];
|
|
39
|
+
status?: string;
|
|
40
|
+
}
|
|
41
|
+
/** Byte-identical to passages' mkepisode buildManifestYaml(). */
|
|
42
|
+
export declare function buildVesselManifestYaml(vessel: VesselManifestInput): string;
|
|
43
|
+
export declare function findSourceIssue(references: string[]): string | undefined;
|
|
44
|
+
/** `MIADI_CHRONICLE_MW_URL` is the wheel variable of record (chronicle commit 1900c1b, 2026-09-04). */
|
|
45
|
+
export declare function chronicleWheelUrl(env?: NodeJS.ProcessEnv): string;
|
|
46
|
+
export interface EpisodeDoorContext {
|
|
47
|
+
chronicleRoot: string;
|
|
48
|
+
inquiryRoot: string;
|
|
49
|
+
wheelUrl: string;
|
|
50
|
+
/** Measured lazily from chronicleRoot when absent. */
|
|
51
|
+
gitRoot?: string;
|
|
52
|
+
now?: () => Date;
|
|
53
|
+
fetchImpl?: typeof fetch;
|
|
54
|
+
}
|
|
55
|
+
export declare function resolveDoorContext(options?: Partial<EpisodeDoorContext>, env?: NodeJS.ProcessEnv): EpisodeDoorContext;
|
|
56
|
+
export interface NumberSighting {
|
|
57
|
+
name: string;
|
|
58
|
+
seen: "disk" | "origin" | "wheel";
|
|
59
|
+
}
|
|
60
|
+
export interface NumberCheck {
|
|
61
|
+
number: number;
|
|
62
|
+
taken: boolean;
|
|
63
|
+
existing: NumberSighting[];
|
|
64
|
+
observed: string;
|
|
65
|
+
originAnswered: boolean;
|
|
66
|
+
wheelAnswered: boolean;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Is `number` free everywhere the chronicle is known? Fetches origin first
|
|
70
|
+
* (jgwill/Miadi#501) and lists the wheel (jgwill/Miadi#584). Read-only.
|
|
71
|
+
*/
|
|
72
|
+
export declare function checkEpisodeNumber(context: EpisodeDoorContext, number: number, options?: {
|
|
73
|
+
skipFetch?: boolean;
|
|
74
|
+
}): Promise<NumberCheck>;
|
|
75
|
+
export interface AllocationPreview {
|
|
76
|
+
next: number;
|
|
77
|
+
max: number;
|
|
78
|
+
observed: string;
|
|
79
|
+
originAnswered: boolean;
|
|
80
|
+
wheelAnswered: boolean;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* max(disk ∪ origin/main ∪ wheel) + 1. Never fills a hole. Refuses when the
|
|
84
|
+
* wheel does not answer: an allocation blind to the wheel is the #584 defect.
|
|
85
|
+
*/
|
|
86
|
+
export declare function previewAllocation(context: EpisodeDoorContext, options?: {
|
|
87
|
+
skipFetch?: boolean;
|
|
88
|
+
}): Promise<AllocationPreview>;
|
|
89
|
+
export interface RegistrationOutcome {
|
|
90
|
+
state: EpisodeNodeOutcome["state"] | "skipped" | "would-register";
|
|
91
|
+
node_id: string;
|
|
92
|
+
url: string;
|
|
93
|
+
error?: string;
|
|
94
|
+
receiptWritten: boolean;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The files the door itself knows to be the vessel's, relative to the git root:
|
|
98
|
+
* manifest, receipt, the weave record, and each synced artefact copy. Never the
|
|
99
|
+
* whole directory — a chapter someone is drafting there is not the door's.
|
|
100
|
+
*/
|
|
101
|
+
export declare function vesselPaths(gitRoot: string, episode: EpisodeIdentity): Promise<string[]>;
|
|
102
|
+
declare function readManifestSummary(episode: EpisodeIdentity): Promise<{
|
|
103
|
+
present: boolean;
|
|
104
|
+
status?: string;
|
|
105
|
+
title?: string;
|
|
106
|
+
goal?: string;
|
|
107
|
+
references?: string[];
|
|
108
|
+
}>;
|
|
109
|
+
export declare function parseEpisodeRef(raw: unknown): string;
|
|
110
|
+
export declare function resolveDoorEpisode(context: EpisodeDoorContext, ref: string): Promise<EpisodeIdentity>;
|
|
111
|
+
export interface EpisodeStatus extends ClosingReport {
|
|
112
|
+
identity: EpisodeIdentity;
|
|
113
|
+
manifest: Awaited<ReturnType<typeof readManifestSummary>>;
|
|
114
|
+
ok: boolean;
|
|
115
|
+
}
|
|
116
|
+
export declare function episodeDoorStatus(context: EpisodeDoorContext, ref: string): Promise<EpisodeStatus>;
|
|
117
|
+
export interface LandEpisodeInput {
|
|
118
|
+
subject?: string;
|
|
119
|
+
body?: string;
|
|
120
|
+
dryRun?: boolean;
|
|
121
|
+
push?: boolean;
|
|
122
|
+
}
|
|
123
|
+
export interface LandEpisodeResult {
|
|
124
|
+
ok: boolean;
|
|
125
|
+
dryRun: boolean;
|
|
126
|
+
identity: EpisodeIdentity;
|
|
127
|
+
files: string[];
|
|
128
|
+
landing: LandPathsResult;
|
|
129
|
+
closing: ClosingReport["closing"];
|
|
130
|
+
drift: string[];
|
|
131
|
+
owedActions: string[];
|
|
132
|
+
}
|
|
133
|
+
export declare function landEpisode(context: EpisodeDoorContext, ref: string, input?: LandEpisodeInput): Promise<LandEpisodeResult>;
|
|
134
|
+
export interface LineageEdgeRequest {
|
|
135
|
+
field: LineageField;
|
|
136
|
+
to: string;
|
|
137
|
+
relation: string;
|
|
138
|
+
/** When present, also author the reverse relates_to edge on the target with this prose. */
|
|
139
|
+
reverse?: string;
|
|
140
|
+
}
|
|
141
|
+
export interface LineageEdgeReport {
|
|
142
|
+
field: LineageField;
|
|
143
|
+
from: string;
|
|
144
|
+
to: string;
|
|
145
|
+
manifest: Omit<AppendLineageEdgeResult, "before" | "after">;
|
|
146
|
+
wheel: LineageEdgeOutcome;
|
|
147
|
+
}
|
|
148
|
+
export declare function parseLineageField(raw: unknown): LineageField;
|
|
149
|
+
export interface AuthorLineageInput extends LineageEdgeRequest {
|
|
150
|
+
land?: boolean;
|
|
151
|
+
dryRun?: boolean;
|
|
152
|
+
}
|
|
153
|
+
export interface AuthorLineageResult {
|
|
154
|
+
ok: boolean;
|
|
155
|
+
dryRun: boolean;
|
|
156
|
+
identity: EpisodeIdentity;
|
|
157
|
+
edges: LineageEdgeReport[];
|
|
158
|
+
landing?: LandEpisodeResult;
|
|
159
|
+
closing: ClosingReport["closing"];
|
|
160
|
+
drift: string[];
|
|
161
|
+
owedActions: string[];
|
|
162
|
+
}
|
|
163
|
+
export declare function authorEpisodeLineage(context: EpisodeDoorContext, ref: string, input: AuthorLineageInput): Promise<AuthorLineageResult>;
|
|
164
|
+
export interface WeaveInquiryInput {
|
|
165
|
+
artefact: string;
|
|
166
|
+
issue?: string;
|
|
167
|
+
land?: boolean;
|
|
168
|
+
dryRun?: boolean;
|
|
169
|
+
}
|
|
170
|
+
export interface WeaveInquiryReport {
|
|
171
|
+
related: RelateResult;
|
|
172
|
+
synced: SyncResult;
|
|
173
|
+
registered?: RegisterResult;
|
|
174
|
+
registerError?: string;
|
|
175
|
+
artefactSide: string;
|
|
176
|
+
}
|
|
177
|
+
export interface WeaveInquiryResult {
|
|
178
|
+
ok: boolean;
|
|
179
|
+
dryRun: boolean;
|
|
180
|
+
identity: EpisodeIdentity;
|
|
181
|
+
inquiry: WeaveInquiryReport;
|
|
182
|
+
landing?: LandEpisodeResult;
|
|
183
|
+
closing: ClosingReport["closing"];
|
|
184
|
+
drift: string[];
|
|
185
|
+
owedActions: string[];
|
|
186
|
+
}
|
|
187
|
+
export declare function parseArtefactName(raw: unknown): string;
|
|
188
|
+
export declare function weaveEpisodeInquiry(context: EpisodeDoorContext, ref: string, input: WeaveInquiryInput): Promise<WeaveInquiryResult>;
|
|
189
|
+
export interface RedeemRegistrationInput {
|
|
190
|
+
land?: boolean;
|
|
191
|
+
dryRun?: boolean;
|
|
192
|
+
}
|
|
193
|
+
export interface RedeemRegistrationResult {
|
|
194
|
+
ok: boolean;
|
|
195
|
+
dryRun: boolean;
|
|
196
|
+
identity: EpisodeIdentity;
|
|
197
|
+
registration: RegistrationOutcome;
|
|
198
|
+
landing?: LandEpisodeResult;
|
|
199
|
+
closing: ClosingReport["closing"];
|
|
200
|
+
drift: string[];
|
|
201
|
+
owedActions: string[];
|
|
202
|
+
}
|
|
203
|
+
export declare function redeemEpisodeRegistration(context: EpisodeDoorContext, ref: string, input?: RedeemRegistrationInput): Promise<RedeemRegistrationResult>;
|
|
204
|
+
export interface MintEpisodeInput {
|
|
205
|
+
title: string;
|
|
206
|
+
goal: string;
|
|
207
|
+
references: string[];
|
|
208
|
+
number?: number;
|
|
209
|
+
date?: string;
|
|
210
|
+
status?: string;
|
|
211
|
+
lineage?: LineageEdgeRequest[];
|
|
212
|
+
inquiry?: {
|
|
213
|
+
artefact: string;
|
|
214
|
+
issue?: string;
|
|
215
|
+
};
|
|
216
|
+
register?: boolean;
|
|
217
|
+
land?: boolean;
|
|
218
|
+
dryRun?: boolean;
|
|
219
|
+
}
|
|
220
|
+
export interface MintEpisodeResult {
|
|
221
|
+
ok: boolean;
|
|
222
|
+
dryRun: boolean;
|
|
223
|
+
identity: EpisodeIdentity;
|
|
224
|
+
number: {
|
|
225
|
+
source: "explicit" | "allocated";
|
|
226
|
+
observed: string;
|
|
227
|
+
};
|
|
228
|
+
manifest: string;
|
|
229
|
+
files: string[];
|
|
230
|
+
lineage: LineageEdgeReport[];
|
|
231
|
+
inquiry: WeaveInquiryReport | null;
|
|
232
|
+
registration: RegistrationOutcome;
|
|
233
|
+
landing: LandPathsResult | null;
|
|
234
|
+
integration: IntegrationResult;
|
|
235
|
+
closing: ClosingReport["closing"];
|
|
236
|
+
drift: string[];
|
|
237
|
+
owedActions: string[];
|
|
238
|
+
}
|
|
239
|
+
export declare function mintEpisode(context: EpisodeDoorContext, input: MintEpisodeInput): Promise<MintEpisodeResult>;
|
|
240
|
+
/** Map library errors to the door's codes; anything unknown passes through. */
|
|
241
|
+
export declare function isDoorError(error: unknown): error is EpisodeServiceError;
|
|
242
|
+
export {};
|
|
243
|
+
//# sourceMappingURL=mint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mint.d.ts","sourceRoot":"","sources":["../src/mint.ts"],"names":[],"mappings":"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"}
|