@kheleshikhi/studio-agent 0.8.0 → 0.9.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"episode.js","sourceRoot":"","sources":["../src/episode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export declare const PROJECT_OUTPUT_TARGETS: readonly ["lesson", "game", "experience", "video"];
2
+ export declare const PROJECT_IMPORT_KINDS: readonly ["component", "behavior", "audio", "experience"];
3
+ export declare const SCOPE_WARNING_CODE = "LIBRARY_SCOPE_NOT_PERMITTED";
4
+ export type FlagReader = (name: string) => string | undefined;
5
+ export type ApiCall = <T>(method: string, route: string, body?: unknown) => Promise<T>;
6
+ /** Flags accepted by component/behavior search, besides the original two. */
7
+ export declare const SCOPED_SEARCH_FLAGS: string[];
8
+ /** Flags accepted per `project` action. */
9
+ export declare const PROJECT_FLAGS: Record<string, string[]>;
10
+ export declare function projectId(value: string | undefined, code?: string): string;
11
+ /** The project to act in: an explicit id, else the active Attempt's project. */
12
+ export declare function resolveProject(explicit: string | undefined, active: string | null | undefined): string;
13
+ export declare function projectCreateBody(flag: FlagReader): Record<string, unknown>;
14
+ export declare function projectImportBody(stableId: string | undefined, flag: FlagReader): Record<string, unknown>;
15
+ /**
16
+ * Query for component/behavior search. Without a view flag the server decides:
17
+ * compact and scoped inside a project Attempt, the original full list outside.
18
+ */
19
+ export declare function searchParameters(query: string, flag: FlagReader, has: (name: string) => boolean): URLSearchParams;
20
+ /** One stderr line for a scoped search: the scope, and what lies outside it. */
21
+ export declare function searchNotice(result: unknown, kind: string): string | null;
22
+ /** Says where an inspected contract stands; null when it is in scope or unscoped. */
23
+ export declare function inspectNotice(result: unknown, kind: string): string | null;
24
+ /** LIBRARY_SCOPE_NOT_PERMITTED diagnostics from a validate/compile result. */
25
+ export declare function scopeWarnings(result: unknown): Record<string, unknown>[];
26
+ export declare function scopeWarningNotice(warnings: Record<string, unknown>[]): string | null;
27
+ /** Mark each library as home/permitted for a project, when one is known. */
28
+ export declare function librariesView(rows: unknown, project: Record<string, any> | null): unknown;
29
+ /** `nerdbro project <action>`. Every route is the Agent token's own surface. */
30
+ export declare function projectCommand(action: string | undefined, argument: string | undefined, flag: FlagReader, api: ApiCall, activeProject: string | null | undefined): Promise<Record<string, unknown>>;
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Authoring-project context for the Studio Agent.
3
+ *
4
+ * A project fixes which asset libraries an Attempt authors from. The server
5
+ * owns the scope: an Attempt started with `--project` is scoped for every
6
+ * later request carrying its Attempt id, so the CLI only remembers the
7
+ * project's public id in the workspace Attempt pointer. Nothing about a
8
+ * library or its members is bundled here.
9
+ */
10
+ import { CliError } from "./types.js";
11
+ export const PROJECT_OUTPUT_TARGETS = ["lesson", "game", "experience", "video"];
12
+ export const PROJECT_IMPORT_KINDS = ["component", "behavior", "audio", "experience"];
13
+ export const SCOPE_WARNING_CODE = "LIBRARY_SCOPE_NOT_PERMITTED";
14
+ // Mirrors the server's project public id bound (max 11) and its URL-safe alphabet.
15
+ const PROJECT_ID = /^[A-Za-z0-9_-]{1,11}$/;
16
+ const SLUG = /^[a-z][a-z0-9-]{1,62}$/;
17
+ /** Flags accepted by component/behavior search, besides the original two. */
18
+ export const SCOPED_SEARCH_FLAGS = ["limit", "offset", "all-libraries", "full", "compact"];
19
+ /** Flags accepted per `project` action. */
20
+ export const PROJECT_FLAGS = {
21
+ list: [],
22
+ current: [],
23
+ show: [],
24
+ libraries: ["project"],
25
+ create: ["title", "purpose", "output-target", "home-library", "permitted"],
26
+ import: ["kind", "reason", "definition-hash", "project"],
27
+ };
28
+ export function projectId(value, code = "PROJECT_ID_INVALID") {
29
+ if (!value || !PROJECT_ID.test(value))
30
+ throw new CliError("Project id must be the project's public id.", code, 2);
31
+ return value;
32
+ }
33
+ /** The project to act in: an explicit id, else the active Attempt's project. */
34
+ export function resolveProject(explicit, active) {
35
+ if (explicit)
36
+ return projectId(explicit);
37
+ if (active)
38
+ return projectId(active);
39
+ throw new CliError("No project: pass a project id, or start the Attempt with `nerdbro attempt start --label <text> --project <id>`.", "PROJECT_REQUIRED", 2);
40
+ }
41
+ export function projectCreateBody(flag) {
42
+ const title = flag("title");
43
+ if (!title)
44
+ throw new CliError("--title is required.", "AGENT_ARGUMENT_REQUIRED", 2);
45
+ const target = flag("output-target");
46
+ if (!target || !PROJECT_OUTPUT_TARGETS.includes(target)) {
47
+ throw new CliError(`--output-target must be ${PROJECT_OUTPUT_TARGETS.join("|")}.`, "PROJECT_OUTPUT_TARGET_INVALID", 2);
48
+ }
49
+ const home = flag("home-library");
50
+ if (!home || !SLUG.test(home))
51
+ throw new CliError("--home-library must be a library slug (see `nerdbro project libraries`).", "PROJECT_HOME_LIBRARY_INVALID", 2);
52
+ const body = { title, output_target: target, home_library: home };
53
+ const purpose = flag("purpose");
54
+ if (purpose)
55
+ body.purpose = purpose;
56
+ const permitted = flag("permitted");
57
+ if (permitted !== undefined) {
58
+ const slugs = permitted.split(",").map((value) => value.trim()).filter(Boolean);
59
+ const bad = slugs.find((slug) => !SLUG.test(slug));
60
+ if (bad)
61
+ throw new CliError(`--permitted contains an invalid library slug: ${bad}`, "PROJECT_LIBRARY_INVALID", 2);
62
+ body.permitted_libraries = slugs;
63
+ }
64
+ return body;
65
+ }
66
+ export function projectImportBody(stableId, flag) {
67
+ if (!stableId)
68
+ throw new CliError("The stable id to import is required.", "AGENT_ARGUMENT_REQUIRED", 2);
69
+ const kind = flag("kind") || "component";
70
+ if (!PROJECT_IMPORT_KINDS.includes(kind)) {
71
+ throw new CliError(`--kind must be ${PROJECT_IMPORT_KINDS.join("|")}.`, "PROJECT_IMPORT_KIND_INVALID", 2);
72
+ }
73
+ const body = { kind, stable_id: stableId };
74
+ const reason = flag("reason");
75
+ if (reason)
76
+ body.reason = reason;
77
+ const hash = flag("definition-hash");
78
+ if (hash) {
79
+ if (!/^[0-9a-f]{64}$/.test(hash))
80
+ throw new CliError("--definition-hash must be 64 lowercase hex characters.", "PROJECT_IMPORT_HASH_INVALID", 2);
81
+ body.definition_hash = hash;
82
+ }
83
+ return body;
84
+ }
85
+ /**
86
+ * Query for component/behavior search. Without a view flag the server decides:
87
+ * compact and scoped inside a project Attempt, the original full list outside.
88
+ */
89
+ export function searchParameters(query, flag, has) {
90
+ if (has("full") && has("compact"))
91
+ throw new CliError("Pass --full or --compact, not both.", "CLI_FLAG_CONFLICT", 2);
92
+ const parameters = new URLSearchParams({ query });
93
+ const limit = flag("limit");
94
+ const offset = flag("offset");
95
+ if (limit)
96
+ parameters.set("limit", limit);
97
+ if (offset)
98
+ parameters.set("offset", offset);
99
+ if (has("full"))
100
+ parameters.set("view", "full");
101
+ if (has("compact"))
102
+ parameters.set("view", "compact");
103
+ if (has("all-libraries"))
104
+ parameters.set("all_libraries", "true");
105
+ return parameters;
106
+ }
107
+ function record(value) {
108
+ return value && typeof value === "object" && !Array.isArray(value) ? value : null;
109
+ }
110
+ /** One stderr line for a scoped search: the scope, and what lies outside it. */
111
+ export function searchNotice(result, kind) {
112
+ const value = record(result);
113
+ if (!value || value.view !== "compact")
114
+ return null;
115
+ const lines = [];
116
+ const scope = record(value.scope);
117
+ if (scope)
118
+ lines.push(`project ${scope.project}: searching ${(scope.permitted_libraries || []).join(", ")} (${value.total ?? value.count} in scope)`);
119
+ const outside = record(value.outside_scope);
120
+ if (outside && Number(outside.count) > 0) {
121
+ const examples = Array.isArray(outside.examples) ? outside.examples.join(", ") : "";
122
+ lines.push(`${outside.count} related ${kind}(s) outside this project's libraries${examples ? `, e.g. ${examples}` : ""}.`);
123
+ if (outside.hint)
124
+ lines.push(String(outside.hint));
125
+ lines.push(`Inspect one with \`nerdbro ${kind} inspect <id>\`; reuse it with \`nerdbro project import <id>${kind === "component" ? "" : ` --kind ${kind}`} --reason <why>\`, or search with --all-libraries.`);
126
+ }
127
+ return lines.length ? lines.join("\n") : null;
128
+ }
129
+ /** Says where an inspected contract stands; null when it is in scope or unscoped. */
130
+ export function inspectNotice(result, kind) {
131
+ const value = record(result);
132
+ if (!value || value.inScope !== false)
133
+ return null;
134
+ const libraries = Array.isArray(value.libraries) ? value.libraries.map((item) => item?.library).filter(Boolean) : [];
135
+ return `${value.id} is outside this project's libraries${libraries.length ? ` (it belongs to ${libraries.join(", ")})` : ""}. `
136
+ + `Reuse it deliberately with \`nerdbro project import ${value.id}${kind === "component" ? "" : ` --kind ${kind}`} --reason <why>\`; approval refuses an unimported out-of-scope dependency.`;
137
+ }
138
+ /** LIBRARY_SCOPE_NOT_PERMITTED diagnostics from a validate/compile result. */
139
+ export function scopeWarnings(result) {
140
+ const diagnostics = record(result)?.diagnostics;
141
+ if (!Array.isArray(diagnostics))
142
+ return [];
143
+ return diagnostics.filter((item) => record(item)?.code === SCOPE_WARNING_CODE);
144
+ }
145
+ export function scopeWarningNotice(warnings) {
146
+ if (!warnings.length)
147
+ return null;
148
+ return [
149
+ `${warnings.length} library-scope warning(s): approval will refuse these until they are imported or replaced.`,
150
+ ...warnings.map((item) => ` ${String(item.message || item.code)}`),
151
+ ].join("\n");
152
+ }
153
+ /** Mark each library as home/permitted for a project, when one is known. */
154
+ export function librariesView(rows, project) {
155
+ if (!Array.isArray(rows) || !project)
156
+ return rows;
157
+ const permitted = new Set([project.home_library, ...(project.permitted_libraries || [])]);
158
+ return rows.map((row) => {
159
+ const slug = record(row)?.slug;
160
+ return { ...row, home: slug === project.home_library, permitted: permitted.has(slug) };
161
+ });
162
+ }
163
+ /** `nerdbro project <action>`. Every route is the Agent token's own surface. */
164
+ export async function projectCommand(action, argument, flag, api, activeProject) {
165
+ if (!action || action === "list") {
166
+ return { ok: true, command: "project.list", active_project: activeProject || null, result: await api("GET", "/v1/agent/projects") };
167
+ }
168
+ if (action === "create") {
169
+ const result = await api("POST", "/v1/agent/projects", projectCreateBody(flag));
170
+ return {
171
+ ok: true, command: "project.create", project: result.public_id, result,
172
+ next: `nerdbro attempt start --label <text> --project ${String(result.public_id)}`,
173
+ };
174
+ }
175
+ if (action === "current") {
176
+ if (!activeProject)
177
+ return { ok: true, command: "project.current", project: null };
178
+ const result = await api("GET", `/v1/agent/projects/${encodeURIComponent(projectId(activeProject))}`);
179
+ return { ok: true, command: "project.current", project: activeProject, result };
180
+ }
181
+ if (action === "show") {
182
+ const id = resolveProject(argument, activeProject);
183
+ return { ok: true, command: "project.show", project: id, result: await api("GET", `/v1/agent/projects/${encodeURIComponent(id)}`) };
184
+ }
185
+ if (action === "libraries") {
186
+ const explicit = argument || flag("project");
187
+ const id = explicit ? projectId(explicit) : activeProject ? projectId(activeProject) : null;
188
+ const rows = await api("GET", "/v1/agent/libraries");
189
+ const project = id ? await api("GET", `/v1/agent/projects/${encodeURIComponent(id)}`) : null;
190
+ return {
191
+ ok: true, command: "project.libraries", project: id,
192
+ ...(project ? { home_library: project.home_library, permitted_libraries: [project.home_library, ...(project.permitted_libraries || [])] } : {}),
193
+ result: librariesView(rows, project),
194
+ };
195
+ }
196
+ if (action === "import") {
197
+ const body = projectImportBody(argument, flag);
198
+ const id = resolveProject(flag("project"), activeProject);
199
+ const result = await api("POST", `/v1/agent/projects/${encodeURIComponent(id)}/imports`, body);
200
+ return { ok: true, command: "project.import", project: id, imported: { kind: body.kind, stable_id: body.stable_id }, result };
201
+ }
202
+ throw new CliError(`Unknown project command: ${action}. Use list|create|current|show|libraries|import.`, "AGENT_COMMAND_UNKNOWN", 2);
203
+ }
204
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAU,CAAC;AACzF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAU,CAAC;AAC9F,MAAM,CAAC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AAEhE,mFAAmF;AACnF,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAC3C,MAAM,IAAI,GAAG,wBAAwB,CAAC;AAKtC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC3F,2CAA2C;AAC3C,MAAM,CAAC,MAAM,aAAa,GAA6B;IACrD,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC;IAC1E,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,CAAC;CACzD,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,KAAyB,EAAE,IAAI,GAAG,oBAAoB;IAC9E,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,6CAA6C,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAC,QAA4B,EAAE,MAAiC;IAC5F,IAAI,QAAQ;QAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,MAAM;QAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,IAAI,QAAQ,CAChB,iHAAiH,EACjH,kBAAkB,EAClB,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAgB;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,IAAI,CAAE,sBAA4C,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,QAAQ,CAAC,2BAA2B,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,+BAA+B,EAAE,CAAC,CAAC,CAAC;IACzH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,0EAA0E,EAAE,8BAA8B,EAAE,CAAC,CAAC,CAAC;IACjK,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC3F,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChF,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,GAAG;YAAE,MAAM,IAAI,QAAQ,CAAC,iDAAiD,GAAG,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;QAClH,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA4B,EAAE,IAAgB;IAC9E,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,QAAQ,CAAC,sCAAsC,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;IACxG,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC;IACzC,IAAI,CAAE,oBAA0C,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,QAAQ,CAAC,wDAAwD,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC;QACjJ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,IAAgB,EAAE,GAA8B;IAC9F,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,qCAAqC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;IACrH,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,KAAK;QAAE,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,MAAM;QAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,MAAM,CAAC;QAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,GAAG,CAAC,SAAS,CAAC;QAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,IAAI,GAAG,CAAC,eAAe,CAAC;QAAE,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAClE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAA6B,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7G,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAAC,MAAe,EAAE,IAAY;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,YAAY,CAAC,CAAC;IACtJ,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,YAAY,IAAI,uCAAuC,QAAQ,CAAC,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3H,IAAI,OAAO,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,8BAA8B,IAAI,+DAA+D,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,oDAAoD,CAAC,CAAC;IACjN,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,aAAa,CAAC,MAAe,EAAE,IAAY;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1H,OAAO,GAAG,KAAK,CAAC,EAAE,uCAAuC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI;UAC3H,uDAAuD,KAAK,CAAC,EAAE,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,4EAA4E,CAAC;AAClM,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,MAAe;IAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,kBAAkB,CAA8B,CAAC;AAC9G,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAmC;IACpE,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO;QACL,GAAG,QAAQ,CAAC,MAAM,4FAA4F;QAC9G,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,IAAa,EAAE,OAAmC;IAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClG,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QAC/B,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IACzF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA0B,EAC1B,QAA4B,EAC5B,IAAgB,EAChB,GAAY,EACZ,aAAwC;IAExC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE,CAAC;IACtI,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,GAAG,CAA0B,MAAM,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QACzG,OAAO;YACL,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM;YACtE,IAAI,EAAE,kDAAkD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;SACnF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;QACtG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IAClF,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACnD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACtI,CAAC;IACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5F,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAsB,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClH,OAAO;YACL,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE;YACnD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,mBAAmB,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/I,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;SACrC,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,GAAG,CAA0B,MAAM,EAAE,sBAAsB,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACxH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC;IAChI,CAAC;IACD,MAAM,IAAI,QAAQ,CAAC,4BAA4B,MAAM,kDAAkD,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;AACvI,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { CliError } from "./types.js";
2
+ export type RenderJobState = "running" | "cancelling" | "completed" | "failed" | "cancelled";
3
+ export type RenderProgress = {
4
+ stage: string;
5
+ frame?: number;
6
+ frames?: number;
7
+ };
8
+ export type RenderJobContext = {
9
+ signal: AbortSignal;
10
+ progress: (value: RenderProgress) => void;
11
+ };
12
+ export type RenderRunner<T = unknown> = (context: RenderJobContext) => Promise<T>;
13
+ export type RenderJobError = {
14
+ code: string;
15
+ message: string;
16
+ stage: string;
17
+ exitCode: number;
18
+ details?: unknown;
19
+ };
20
+ export type RenderJobView = {
21
+ id: string;
22
+ kind: string;
23
+ state: RenderJobState;
24
+ progress: RenderProgress;
25
+ elapsed_ms: number;
26
+ cancel_reason?: string;
27
+ error?: RenderJobError;
28
+ };
29
+ export declare const RENDER_JOB_LIMITS: {
30
+ /** No status poll for this long: the client is gone, so the job is cancelled. */
31
+ abandonAfterMs: number;
32
+ /** The documented ceiling is ~9 minutes of capture; this is generous headroom. */
33
+ maxRuntimeMs: number;
34
+ /** A finished job's result is kept this long for its client to collect. */
35
+ retainMs: number;
36
+ };
37
+ /** The error a renderer throws when its job's signal is aborted. */
38
+ export declare function cancelledError(signal: AbortSignal): CliError;
39
+ /** Throw [cancelledError] when the job was cancelled; called between frames. */
40
+ export declare function throwIfCancelled(signal: AbortSignal | undefined): void;
41
+ export declare class RenderJobs {
42
+ private readonly options;
43
+ private readonly jobs;
44
+ readonly limits: typeof RENDER_JOB_LIMITS;
45
+ /** Jobs that may run at once: one per render browser the daemon owns. */
46
+ readonly maxConcurrent: number;
47
+ constructor(options?: {
48
+ clock?: () => number;
49
+ limits?: Partial<typeof RENDER_JOB_LIMITS>;
50
+ maxConcurrent?: number;
51
+ });
52
+ private now;
53
+ /** Start one job; refused while another is still running or stopping. */
54
+ start(kind: string, runner: RenderRunner, cleanup?: () => Promise<void>): RenderJobView;
55
+ private find;
56
+ /** A client's poll: the job's state, and its result once it completed. Keeps the job alive. */
57
+ status(id: string): {
58
+ job: RenderJobView;
59
+ result?: unknown;
60
+ };
61
+ /** Ask a running job to stop; it becomes `cancelled` once the renderer has. */
62
+ cancel(id: string, reason?: string): RenderJobView;
63
+ private abort;
64
+ /** Cancel abandoned or overlong jobs and forget old finished ones. Run periodically. */
65
+ sweep(): void;
66
+ /** Resolves once the job's renderer and cleanup have finished (tests and shutdown). */
67
+ settled(id: string): Promise<RenderJobView>;
68
+ /** Cancel everything and wait (daemon shutdown). */
69
+ stopAll(reason?: string): Promise<void>;
70
+ private view;
71
+ }
72
+ export type RenderJobRunners = Record<string, (request: Record<string, unknown>, context: RenderJobContext) => Promise<unknown>>;
73
+ export type RenderJobCleanups = Record<string, (request: Record<string, unknown>) => Promise<void>>;
74
+ /**
75
+ * The daemon's job routes: `POST /render-jobs` {kind, request} starts one,
76
+ * `GET /render-jobs/<id>` polls it, `DELETE /render-jobs/<id>` cancels it.
77
+ * Returns null for any other route.
78
+ */
79
+ export declare function renderJobRoute(jobs: RenderJobs, runners: RenderJobRunners, cleanups: RenderJobCleanups, method: string, pathname: string, body: () => Promise<Record<string, unknown>>): Promise<{
80
+ status: number;
81
+ value: Record<string, unknown>;
82
+ } | null>;
83
+ export type Rpc = <T>(path: string, init?: {
84
+ method?: string;
85
+ body?: string;
86
+ signal?: AbortSignal;
87
+ }) => Promise<T>;
88
+ export type RenderJobClientOptions = {
89
+ pollMs?: number;
90
+ /** Ctrl-C or the caller giving up: the job is cancelled, then this throws. */
91
+ signal?: AbortSignal;
92
+ onProgress?: (job: RenderJobView) => void;
93
+ sleep?: (milliseconds: number, signal?: AbortSignal) => Promise<void>;
94
+ };
95
+ /**
96
+ * Run one render as a daemon job: start, poll until it ends, return its
97
+ * result. Each request is short, so no request comes near any client or
98
+ * server timeout however long the render is. A daemon that predates jobs
99
+ * (`AGENT_LOCAL_RPC_NOT_FOUND`) is served by its single long request.
100
+ */
101
+ export declare function runRenderJob<T>(rpc: Rpc, kind: string, legacyRoute: string, request: Record<string, unknown>, options?: RenderJobClientOptions): Promise<T>;