@codetreker/daynight 0.8.1 → 0.8.13
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/api/client.d.ts +6 -1
- package/dist/api/client.js +120 -23
- package/dist/api/client.js.map +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/parse.d.ts +4 -4
- package/dist/api/parse.js +28 -4
- package/dist/api/parse.js.map +1 -1
- package/dist/api/types.d.ts +23 -1
- package/dist/cli/byte-output-helper.d.ts +1 -0
- package/dist/cli/byte-output-helper.js +48 -0
- package/dist/cli/byte-output-helper.js.map +1 -0
- package/dist/cli/byte-output.d.ts +7 -0
- package/dist/cli/byte-output.js +199 -0
- package/dist/cli/byte-output.js.map +1 -0
- package/dist/cli/cancellation.d.ts +5 -0
- package/dist/cli/cancellation.js +24 -0
- package/dist/cli/cancellation.js.map +1 -0
- package/dist/cli/commands.js +2 -0
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/context.d.ts +2 -0
- package/dist/cli/context.js +15 -9
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/prompts.d.ts +16 -3
- package/dist/cli/prompts.js +38 -10
- package/dist/cli/prompts.js.map +1 -1
- package/dist/cli/schema.js +6 -6
- package/dist/cli/schema.js.map +1 -1
- package/dist/commands/review/adapters/copilot.d.ts +3 -0
- package/dist/commands/review/adapters/copilot.js +16 -7
- package/dist/commands/review/adapters/copilot.js.map +1 -1
- package/dist/commands/review/adapters/github-review-state.d.ts +21 -0
- package/dist/commands/review/adapters/github-review-state.js +144 -0
- package/dist/commands/review/adapters/github-review-state.js.map +1 -0
- package/dist/commands/review/adapters/github.d.ts +2 -1
- package/dist/commands/review/adapters/github.js +31 -4
- package/dist/commands/review/adapters/github.js.map +1 -1
- package/dist/commands/review/coordinator.js +134 -7
- package/dist/commands/review/coordinator.js.map +1 -1
- package/dist/commands/review/model.d.ts +21 -0
- package/dist/commands/review/publication.d.ts +14 -0
- package/dist/commands/review/publication.js +47 -0
- package/dist/commands/review/publication.js.map +1 -0
- package/dist/commands/review/skill.js +5 -83
- package/dist/commands/review/skill.js.map +1 -1
- package/dist/commands/review/skills/daynight-review/SKILL.md +90 -22
- package/dist/commands/review/store.d.ts +20 -0
- package/dist/commands/review/store.js +134 -5
- package/dist/commands/review/store.js.map +1 -1
- package/dist/commands/server/runtime.d.ts +1 -1
- package/dist/commands/server/runtime.js +8 -1
- package/dist/commands/server/runtime.js.map +1 -1
- package/dist/commands/skill/agents.d.ts +23 -0
- package/dist/commands/skill/agents.js +14 -0
- package/dist/commands/skill/agents.js.map +1 -0
- package/dist/commands/skill/command.d.ts +12 -0
- package/dist/commands/skill/command.js +78 -0
- package/dist/commands/skill/command.js.map +1 -0
- package/dist/commands/skill/definition.d.ts +2 -0
- package/dist/commands/skill/definition.js +12 -0
- package/dist/commands/skill/definition.js.map +1 -0
- package/dist/commands/skill/install.d.ts +13 -0
- package/dist/commands/skill/install.js +126 -0
- package/dist/commands/skill/install.js.map +1 -0
- package/dist/commands/skill/skills/using-daynight/SKILL.md +56 -0
- package/dist/commands/skill/skills/using-daynight/references/autopilot.md +71 -0
- package/dist/commands/skill/skills/using-daynight/references/create-task.md +103 -0
- package/dist/commands/skill/skills/using-daynight/references/handbook.md +72 -0
- package/dist/commands/skill/skills/using-daynight/references/run-task.md +80 -0
- package/dist/commands/skill/targets.d.ts +11 -0
- package/dist/commands/skill/targets.js +36 -0
- package/dist/commands/skill/targets.js.map +1 -0
- package/dist/commands/task/attachment-rendering.d.ts +5 -0
- package/dist/commands/task/attachment-rendering.js +38 -0
- package/dist/commands/task/attachment-rendering.js.map +1 -0
- package/dist/commands/task/attachment.d.ts +6 -0
- package/dist/commands/task/attachment.js +91 -0
- package/dist/commands/task/attachment.js.map +1 -0
- package/dist/commands/task/command.js +35 -6
- package/dist/commands/task/command.js.map +1 -1
- package/dist/commands/task/definition.js +59 -8
- package/dist/commands/task/definition.js.map +1 -1
- package/dist/commands/task/rendering.d.ts +1 -0
- package/dist/commands/task/rendering.js +25 -4
- package/dist/commands/task/rendering.js.map +1 -1
- package/dist/config/setup.js +5 -24
- package/dist/config/setup.js.map +1 -1
- package/dist/platform/skill-bundle.d.ts +10 -0
- package/dist/platform/skill-bundle.js +82 -0
- package/dist/platform/skill-bundle.js.map +1 -0
- package/dist/repository/git.d.ts +1 -0
- package/dist/repository/git.js +6 -3
- package/dist/repository/git.js.map +1 -1
- package/package.json +7 -2
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { OUTPUT_CHUNK_BYTES, writeOutputBytes } from "./byte-output.js";
|
|
2
|
+
const send = (message) => new Promise((resolve, reject) => {
|
|
3
|
+
if (process.send === undefined) {
|
|
4
|
+
reject(new Error("Binary output helper requires an IPC channel."));
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
process.send(message, (error) => error === null ? resolve() : reject(error));
|
|
8
|
+
});
|
|
9
|
+
const run = async () => {
|
|
10
|
+
let pending = Buffer.alloc(0);
|
|
11
|
+
let length;
|
|
12
|
+
const signal = new AbortController().signal;
|
|
13
|
+
for await (const chunk of process.stdin) {
|
|
14
|
+
pending = pending.byteLength === 0 ? chunk : Buffer.concat([pending, chunk]);
|
|
15
|
+
while (true) {
|
|
16
|
+
if (length === undefined) {
|
|
17
|
+
if (pending.byteLength < 4)
|
|
18
|
+
break;
|
|
19
|
+
length = pending.readUInt32BE();
|
|
20
|
+
pending = pending.subarray(4);
|
|
21
|
+
if (length > OUTPUT_CHUNK_BYTES)
|
|
22
|
+
throw new Error("Binary output frame exceeds the chunk limit.");
|
|
23
|
+
}
|
|
24
|
+
if (pending.byteLength < length)
|
|
25
|
+
break;
|
|
26
|
+
await writeOutputBytes(process.stdout, pending.subarray(0, length), signal);
|
|
27
|
+
pending = pending.subarray(length);
|
|
28
|
+
length = undefined;
|
|
29
|
+
await send({ type: "written" });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (pending.byteLength !== 0 || length !== undefined)
|
|
33
|
+
throw new Error("Binary output helper received an incomplete frame.");
|
|
34
|
+
};
|
|
35
|
+
try {
|
|
36
|
+
await run();
|
|
37
|
+
}
|
|
38
|
+
catch (cause) {
|
|
39
|
+
process.exitCode = 1;
|
|
40
|
+
const error = cause instanceof Error ? cause : new Error(String(cause));
|
|
41
|
+
await send({ type: "error", message: error.message, ...("code" in error && typeof error.code === "string" ? { code: error.code } : {}) });
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
process.stdin.destroy();
|
|
45
|
+
if (process.connected)
|
|
46
|
+
process.disconnect();
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=byte-output-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byte-output-helper.js","sourceRoot":"","sources":["../../src/cli/byte-output-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Writable } from "node:stream";
|
|
2
|
+
export declare const OUTPUT_CHUNK_BYTES = 65536;
|
|
3
|
+
export declare const writeOutputBytes: (output: Writable, chunk: Uint8Array, signal: AbortSignal) => Promise<void>;
|
|
4
|
+
export declare const createByteOutput: () => {
|
|
5
|
+
write: (chunk: Uint8Array, signal: AbortSignal) => Promise<void>;
|
|
6
|
+
close: () => Promise<void>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
2
|
+
export const OUTPUT_CHUNK_BYTES = 65_536;
|
|
3
|
+
export const writeOutputBytes = (output, chunk, signal) => new Promise((resolve, reject) => {
|
|
4
|
+
if (signal.aborted) {
|
|
5
|
+
reject(signal.reason);
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
if (output.errored !== null) {
|
|
9
|
+
reject(output.errored);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (!output.writable) {
|
|
13
|
+
reject(new Error("Binary stdout is closed."));
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
let settled = false;
|
|
17
|
+
const cleanup = () => {
|
|
18
|
+
signal.removeEventListener("abort", abort);
|
|
19
|
+
output.off("error", fail);
|
|
20
|
+
output.off("close", closed);
|
|
21
|
+
};
|
|
22
|
+
const finish = (error) => {
|
|
23
|
+
if (settled)
|
|
24
|
+
return;
|
|
25
|
+
settled = true;
|
|
26
|
+
cleanup();
|
|
27
|
+
if (error === undefined)
|
|
28
|
+
resolve();
|
|
29
|
+
else
|
|
30
|
+
reject(error);
|
|
31
|
+
};
|
|
32
|
+
const fail = (error) => finish(error);
|
|
33
|
+
const closed = () => finish(new Error("Binary stdout closed before its pending write completed."));
|
|
34
|
+
const abort = () => { output.destroy(); finish(signal.reason); };
|
|
35
|
+
output.on("error", fail);
|
|
36
|
+
output.on("close", closed);
|
|
37
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
38
|
+
try {
|
|
39
|
+
output.write(chunk, (error) => {
|
|
40
|
+
// Writable emits callback failures as error events after invoking the callback.
|
|
41
|
+
if (error === null || error === undefined)
|
|
42
|
+
finish();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
catch (cause) {
|
|
46
|
+
finish(cause);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
const startOutputHelper = (spawn) => {
|
|
50
|
+
const helperPath = fileURLToPath(new URL("./byte-output-helper.js", import.meta.url));
|
|
51
|
+
// fd 1 writes can block JavaScript on Windows and TTYs. Only this owned child writes file content.
|
|
52
|
+
// https://github.com/nodejs/node/blob/cdc1b38d40cb567b7ad0b39c86addf830a0af0ae/doc/api/process.md#a-note-on-process-io
|
|
53
|
+
const child = spawn(process.execPath, [helperPath], { stdio: ["pipe", "inherit", "ignore", "ipc"], windowsHide: true });
|
|
54
|
+
const input = child.stdin;
|
|
55
|
+
if (input === null)
|
|
56
|
+
throw new Error("The binary output helper has no input pipe.");
|
|
57
|
+
let acknowledgement;
|
|
58
|
+
let failure;
|
|
59
|
+
let exit;
|
|
60
|
+
let terminated = false;
|
|
61
|
+
let termination;
|
|
62
|
+
let closing;
|
|
63
|
+
const exited = new Promise((resolve) => {
|
|
64
|
+
child.once("exit", (code, signal) => {
|
|
65
|
+
exit = { code, signal };
|
|
66
|
+
acknowledgement?.reject(failure === undefined ? new Error(`Binary output helper exited before confirming its write (code=${code}, signal=${signal}).`) : failure);
|
|
67
|
+
});
|
|
68
|
+
child.once("close", (code, signal) => { exit = { code, signal }; resolve(exit); });
|
|
69
|
+
child.once("error", (cause) => {
|
|
70
|
+
failure = cause;
|
|
71
|
+
acknowledgement?.reject(cause);
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
child.on("message", (message) => {
|
|
75
|
+
if (typeof message !== "object" || message === null || !("type" in message)) {
|
|
76
|
+
failure = new Error("The binary output helper sent an invalid acknowledgement.");
|
|
77
|
+
}
|
|
78
|
+
else if (message.type === "written") {
|
|
79
|
+
acknowledgement?.resolve();
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
else if (message.type === "error" && "message" in message && typeof message.message === "string") {
|
|
83
|
+
failure = new Error(message.message);
|
|
84
|
+
if ("code" in message && typeof message.code === "string")
|
|
85
|
+
Object.assign(failure, { code: message.code });
|
|
86
|
+
}
|
|
87
|
+
else
|
|
88
|
+
failure = new Error("The binary output helper sent an invalid acknowledgement.");
|
|
89
|
+
acknowledgement?.reject(failure);
|
|
90
|
+
});
|
|
91
|
+
const waitForExit = async () => {
|
|
92
|
+
let timer;
|
|
93
|
+
try {
|
|
94
|
+
return await Promise.race([exited, new Promise((_resolve, reject) => {
|
|
95
|
+
timer = setTimeout(() => reject(new Error("Binary output helper exceeded its 5 second exit deadline.")), 5_000);
|
|
96
|
+
})]);
|
|
97
|
+
}
|
|
98
|
+
finally {
|
|
99
|
+
if (timer !== undefined)
|
|
100
|
+
clearTimeout(timer);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const terminate = () => termination ??= (async () => {
|
|
104
|
+
terminated = true;
|
|
105
|
+
input.destroy();
|
|
106
|
+
if (exit === undefined)
|
|
107
|
+
child.kill("SIGKILL");
|
|
108
|
+
await waitForExit();
|
|
109
|
+
})();
|
|
110
|
+
return {
|
|
111
|
+
write: async (chunk, signal) => {
|
|
112
|
+
if (signal.aborted)
|
|
113
|
+
throw signal.reason;
|
|
114
|
+
if (failure !== undefined)
|
|
115
|
+
throw failure;
|
|
116
|
+
if (exit !== undefined || closing !== undefined)
|
|
117
|
+
throw new Error("The binary output helper is closed.");
|
|
118
|
+
if (acknowledgement !== undefined)
|
|
119
|
+
throw new Error("A binary stdout write is already in progress.");
|
|
120
|
+
let abort = () => { };
|
|
121
|
+
try {
|
|
122
|
+
const confirmed = new Promise((resolve, reject) => { acknowledgement = { resolve, reject }; });
|
|
123
|
+
const aborted = new Promise((_resolve, reject) => {
|
|
124
|
+
abort = () => { void terminate().then(() => reject(signal.reason), (cleanup) => reject(new AggregateError([signal.reason, cleanup], "Binary stdout cancellation cleanup failed.", { cause: signal.reason }))); };
|
|
125
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
126
|
+
if (signal.aborted)
|
|
127
|
+
abort();
|
|
128
|
+
});
|
|
129
|
+
const frame = Buffer.allocUnsafe(4 + chunk.byteLength);
|
|
130
|
+
frame.writeUInt32BE(chunk.byteLength);
|
|
131
|
+
frame.set(chunk, 4);
|
|
132
|
+
await Promise.race([Promise.all([writeOutputBytes(input, frame, signal), confirmed]), aborted]);
|
|
133
|
+
}
|
|
134
|
+
catch (cause) {
|
|
135
|
+
const primary = signal.aborted ? signal.reason : cause;
|
|
136
|
+
try {
|
|
137
|
+
await terminate();
|
|
138
|
+
}
|
|
139
|
+
catch (cleanup) {
|
|
140
|
+
throw new AggregateError([primary, cleanup], "Binary stdout write and helper cleanup failed.", { cause: primary });
|
|
141
|
+
}
|
|
142
|
+
throw primary;
|
|
143
|
+
}
|
|
144
|
+
finally {
|
|
145
|
+
signal.removeEventListener("abort", abort);
|
|
146
|
+
acknowledgement = undefined;
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
close: () => closing ??= (async () => {
|
|
150
|
+
if (termination !== undefined) {
|
|
151
|
+
await termination;
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
input.end();
|
|
155
|
+
try {
|
|
156
|
+
const result = await waitForExit();
|
|
157
|
+
if (failure !== undefined)
|
|
158
|
+
throw failure;
|
|
159
|
+
if (!terminated && result.code !== 0)
|
|
160
|
+
throw new Error(`Binary output helper failed (code=${result.code}, signal=${result.signal}).`);
|
|
161
|
+
}
|
|
162
|
+
catch (cause) {
|
|
163
|
+
try {
|
|
164
|
+
await terminate();
|
|
165
|
+
}
|
|
166
|
+
catch (cleanup) {
|
|
167
|
+
throw new AggregateError([cause, cleanup], "Binary stdout helper shutdown failed.", { cause });
|
|
168
|
+
}
|
|
169
|
+
throw cause;
|
|
170
|
+
}
|
|
171
|
+
})(),
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
export const createByteOutput = () => {
|
|
175
|
+
let helper;
|
|
176
|
+
let closed = false;
|
|
177
|
+
return {
|
|
178
|
+
write: async (chunk, signal) => {
|
|
179
|
+
if (signal.aborted)
|
|
180
|
+
throw signal.reason;
|
|
181
|
+
if (closed)
|
|
182
|
+
throw new Error("Binary stdout is closed.");
|
|
183
|
+
for (let offset = 0; offset < chunk.byteLength; offset += OUTPUT_CHUNK_BYTES) {
|
|
184
|
+
if (helper === undefined) {
|
|
185
|
+
const { spawn } = await import("node:child_process");
|
|
186
|
+
if (signal.aborted)
|
|
187
|
+
throw signal.reason;
|
|
188
|
+
if (closed)
|
|
189
|
+
throw new Error("Binary stdout is closed.");
|
|
190
|
+
helper ??= startOutputHelper(spawn);
|
|
191
|
+
}
|
|
192
|
+
await helper.write(chunk.subarray(offset, offset + OUTPUT_CHUNK_BYTES), signal);
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
close: async () => { closed = true; if (helper !== undefined)
|
|
196
|
+
await helper.close(); },
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
//# sourceMappingURL=byte-output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byte-output.js","sourceRoot":"","sources":["../../src/cli/byte-output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CliContext } from "./context.js";
|
|
2
|
+
export declare class CliCancelledError extends Error {
|
|
3
|
+
constructor(message?: string, options?: ErrorOptions);
|
|
4
|
+
}
|
|
5
|
+
export declare const withCliCancellation: <Result>(context: CliContext, action: (signal: AbortSignal) => Promise<Result>, supplied?: AbortSignal, cancellation?: () => Error) => Promise<Result>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export class CliCancelledError extends Error {
|
|
2
|
+
constructor(message = "Operation cancelled.", options) {
|
|
3
|
+
super(message, options);
|
|
4
|
+
this.name = "CliCancelledError";
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export const withCliCancellation = async (context, action, supplied, cancellation = () => new CliCancelledError()) => {
|
|
8
|
+
const controller = new AbortController();
|
|
9
|
+
const signals = process.platform === "win32" ? ["SIGINT", "SIGTERM", "SIGBREAK"] : ["SIGINT", "SIGTERM"];
|
|
10
|
+
const cancel = () => controller.abort(cancellation());
|
|
11
|
+
if (supplied === undefined)
|
|
12
|
+
for (const signal of signals)
|
|
13
|
+
process.on(signal, cancel);
|
|
14
|
+
try {
|
|
15
|
+
return await action(supplied ?? controller.signal);
|
|
16
|
+
}
|
|
17
|
+
finally {
|
|
18
|
+
if (supplied === undefined)
|
|
19
|
+
for (const signal of signals)
|
|
20
|
+
process.off(signal, cancel);
|
|
21
|
+
context.prompt?.close();
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=cancellation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../src/cli/cancellation.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAO,GAAG,sBAAsB,EAAE,OAAsB;QAClE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,OAAmB,EACnB,MAAgD,EAChD,QAAsB,EACtB,YAAY,GAAgB,GAAG,EAAE,CAAC,IAAI,iBAAiB,EAAE,EACxC,EAAE;IACnB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAqB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3H,MAAM,MAAM,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5D,IAAI,QAAQ,KAAK,SAAS;QAAE,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrF,IAAI,CAAC;QAAC,OAAO,MAAM,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;YACnD,CAAC;QACP,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtF,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC"}
|
package/dist/cli/commands.js
CHANGED
|
@@ -3,8 +3,10 @@ import { reviewDefinition } from "../commands/review/definition.js";
|
|
|
3
3
|
import { projectDefinition } from "../commands/project/definition.js";
|
|
4
4
|
import { taskDefinition } from "../commands/task/definition.js";
|
|
5
5
|
import { updateDefinition } from "../commands/update/definition.js";
|
|
6
|
+
import { skillDefinition } from "../commands/skill/definition.js";
|
|
6
7
|
import { setupDefinition } from "../commands/setup/definition.js";
|
|
7
8
|
export const commands = [
|
|
9
|
+
{ ...skillDefinition, load: async () => ({ run: (await import("../commands/skill/command.js")).runSkillCommand }) },
|
|
8
10
|
{ ...setupDefinition, load: async () => ({ run: (await import("../commands/setup/command.js")).runSetupCommand }) },
|
|
9
11
|
{
|
|
10
12
|
...reviewDefinition,
|
package/dist/cli/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMlE,MAAM,CAAC,MAAM,QAAQ,GAAmC;IACtD,EAAE,GAAG,eAAe,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,EAAE;IACnH;QACE,GAAG,gBAAgB;QACnB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;KAC9F;IACD;QACE,GAAG,gBAAgB;QACnB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;KAC9F;IACD;QACE,GAAG,oBAAoB;QACvB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;KACtG;IACD;QACE,GAAG,iBAAiB;QACpB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;KAChG;IACD;QACE,GAAG,cAAc;QACjB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;KAC1F;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC;IAC/D,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;QAC1E,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,EAAE,SAAS,EAAE;KAC7F;IACD,OAAO,EAAE,kDAAkD;CAC5D,CAAC"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMlE,MAAM,CAAC,MAAM,QAAQ,GAAmC;IACtD,EAAE,GAAG,eAAe,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,EAAE;IACnH,EAAE,GAAG,eAAe,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,EAAE;IACnH;QACE,GAAG,gBAAgB;QACnB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;KAC9F;IACD;QACE,GAAG,gBAAgB;QACnB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;KAC9F;IACD;QACE,GAAG,oBAAoB;QACvB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;KACtG;IACD;QACE,GAAG,iBAAiB;QACpB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;KAChG;IACD;QACE,GAAG,cAAc;QACjB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;KAC1F;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC;IAC/D,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;QAC1E,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,EAAE,SAAS,EAAE;KAC7F;IACD,OAAO,EAAE,kDAAkD;CAC5D,CAAC"}
|
package/dist/cli/context.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export type CliContext = {
|
|
|
5
5
|
homeDirectory: () => string;
|
|
6
6
|
workingDirectory: () => string;
|
|
7
7
|
stdout: (text: string) => void;
|
|
8
|
+
stdoutBytes: (chunk: Uint8Array, signal: AbortSignal) => Promise<void>;
|
|
9
|
+
closeStdoutBytes?: () => Promise<void>;
|
|
8
10
|
stderr: (text: string) => void;
|
|
9
11
|
prompt?: CliPrompt;
|
|
10
12
|
};
|
package/dist/cli/context.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { homedir } from "node:os";
|
|
2
|
+
import { createByteOutput } from "./byte-output.js";
|
|
2
3
|
import { createTerminalPrompt } from "./prompts.js";
|
|
3
4
|
export class UsageError extends Error {
|
|
4
5
|
helpCommand;
|
|
@@ -9,13 +10,18 @@ export class UsageError extends Error {
|
|
|
9
10
|
}
|
|
10
11
|
}
|
|
11
12
|
export const isHelp = (argument) => argument === "--help" || argument === "-h";
|
|
12
|
-
export const createCliContext = (version, packageDirectory) =>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
export const createCliContext = (version, packageDirectory) => {
|
|
14
|
+
const binaryOutput = createByteOutput();
|
|
15
|
+
return {
|
|
16
|
+
version,
|
|
17
|
+
packageDirectory,
|
|
18
|
+
homeDirectory: homedir,
|
|
19
|
+
workingDirectory: process.cwd,
|
|
20
|
+
stdout: (text) => { process.stdout.write(text); },
|
|
21
|
+
stdoutBytes: binaryOutput.write,
|
|
22
|
+
closeStdoutBytes: binaryOutput.close,
|
|
23
|
+
stderr: (text) => { process.stderr.write(text); },
|
|
24
|
+
prompt: createTerminalPrompt(),
|
|
25
|
+
};
|
|
26
|
+
};
|
|
21
27
|
//# sourceMappingURL=context.js.map
|
package/dist/cli/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAmBpD,MAAM,OAAO,UAAW,SAAQ,KAAK;IACG,WAAW;IAAjD,YAAY,OAAe,EAAW,WAAW,GAAG,iBAAiB;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC;2BADqB,WAAW;QAE/C,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAA4B,EAAW,EAAE,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC;AAE5G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,gBAAwB,EAAc,EAAE;IACxF,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IACxC,OAAO;QACL,OAAO;QACP,gBAAgB;QAChB,aAAa,EAAE,OAAO;QACtB,gBAAgB,EAAE,OAAO,CAAC,GAAG;QAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,WAAW,EAAE,YAAY,CAAC,KAAK;QAC/B,gBAAgB,EAAE,YAAY,CAAC,KAAK;QACpC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,EAAE,oBAAoB,EAAE;KAC/B,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/cli/prompts.d.ts
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export type PromptChoice<Value> = {
|
|
2
|
+
name: string;
|
|
3
|
+
value: Value;
|
|
4
|
+
};
|
|
5
|
+
export type PromptSelection<Value> = {
|
|
6
|
+
message: string;
|
|
7
|
+
choices: readonly PromptChoice<Value>[];
|
|
8
|
+
default: Value;
|
|
9
|
+
};
|
|
10
|
+
export type PromptMultipleSelection<Value> = {
|
|
11
|
+
message: string;
|
|
12
|
+
choices: readonly PromptChoice<Value>[];
|
|
13
|
+
requiredMessage: string;
|
|
14
|
+
};
|
|
4
15
|
export type CliPrompt = {
|
|
5
16
|
readonly isInteractive: boolean;
|
|
6
17
|
ask(question: string, signal: AbortSignal): Promise<string>;
|
|
18
|
+
select<Value>(selection: PromptSelection<Value>, signal: AbortSignal): Promise<Value>;
|
|
19
|
+
selectMany<Value>(selection: PromptMultipleSelection<Value>, signal: AbortSignal): Promise<Value[]>;
|
|
7
20
|
close(): void;
|
|
8
21
|
};
|
|
9
22
|
export declare const createTerminalPrompt: () => CliPrompt;
|
package/dist/cli/prompts.js
CHANGED
|
@@ -1,29 +1,49 @@
|
|
|
1
1
|
import { createInterface } from "node:readline";
|
|
2
|
-
|
|
3
|
-
constructor(options) {
|
|
4
|
-
super("Setup cancelled.", options);
|
|
5
|
-
this.name = "SetupCancelledError";
|
|
6
|
-
}
|
|
7
|
-
}
|
|
2
|
+
import { CliCancelledError } from "./cancellation.js";
|
|
8
3
|
export const createTerminalPrompt = () => {
|
|
9
4
|
let terminal;
|
|
10
5
|
let closed = false;
|
|
6
|
+
let selecting = false;
|
|
7
|
+
const closing = new AbortController();
|
|
11
8
|
const lines = [];
|
|
12
9
|
let waiting;
|
|
13
10
|
const cancel = () => {
|
|
14
11
|
closed = true;
|
|
15
|
-
|
|
12
|
+
closing.abort(new CliCancelledError());
|
|
13
|
+
waiting?.reject(new CliCancelledError("Setup cancelled."));
|
|
16
14
|
waiting = undefined;
|
|
17
15
|
};
|
|
16
|
+
const selection = async (signal, action) => {
|
|
17
|
+
signal.throwIfAborted();
|
|
18
|
+
if (closed)
|
|
19
|
+
throw new CliCancelledError();
|
|
20
|
+
selecting = true;
|
|
21
|
+
terminal?.pause();
|
|
22
|
+
try {
|
|
23
|
+
return await action({ input: process.stdin, output: process.stderr, signal: AbortSignal.any([signal, closing.signal]) });
|
|
24
|
+
}
|
|
25
|
+
catch (cause) {
|
|
26
|
+
if (cause instanceof Error && ["ExitPromptError", "AbortPromptError"].includes(cause.name))
|
|
27
|
+
throw new CliCancelledError(undefined, { cause });
|
|
28
|
+
throw cause;
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
selecting = false;
|
|
32
|
+
if (!closed)
|
|
33
|
+
terminal?.resume();
|
|
34
|
+
}
|
|
35
|
+
};
|
|
18
36
|
return {
|
|
19
37
|
isInteractive: process.stdin.isTTY === true && process.stderr.isTTY === true,
|
|
20
38
|
ask: async (question, signal) => {
|
|
21
39
|
signal.throwIfAborted();
|
|
22
40
|
if (closed)
|
|
23
|
-
throw new
|
|
41
|
+
throw new CliCancelledError("Setup cancelled.");
|
|
24
42
|
if (terminal === undefined) {
|
|
25
43
|
terminal = createInterface({ input: process.stdin, output: process.stderr, terminal: true });
|
|
26
44
|
terminal.on("line", (line) => {
|
|
45
|
+
if (selecting)
|
|
46
|
+
return;
|
|
27
47
|
if (waiting === undefined)
|
|
28
48
|
lines.push(line);
|
|
29
49
|
else {
|
|
@@ -39,7 +59,7 @@ export const createTerminalPrompt = () => {
|
|
|
39
59
|
if (lines.length !== 0)
|
|
40
60
|
return lines.shift();
|
|
41
61
|
return new Promise((resolve, reject) => {
|
|
42
|
-
const abort = () => { waiting = undefined; reject(new
|
|
62
|
+
const abort = () => { waiting = undefined; reject(new CliCancelledError("Setup cancelled.", { cause: signal.reason })); };
|
|
43
63
|
waiting = {
|
|
44
64
|
resolve: (line) => { signal.removeEventListener("abort", abort); resolve(line); },
|
|
45
65
|
reject: (cause) => { signal.removeEventListener("abort", abort); reject(cause); },
|
|
@@ -49,7 +69,15 @@ export const createTerminalPrompt = () => {
|
|
|
49
69
|
abort();
|
|
50
70
|
});
|
|
51
71
|
},
|
|
52
|
-
|
|
72
|
+
select: async (config, signal) => selection(signal, async (context) => {
|
|
73
|
+
const { select } = await import("@inquirer/prompts");
|
|
74
|
+
return select({ ...config, choices: [...config.choices] }, context);
|
|
75
|
+
}),
|
|
76
|
+
selectMany: async (config, signal) => selection(signal, async (context) => {
|
|
77
|
+
const { checkbox } = await import("@inquirer/prompts");
|
|
78
|
+
return checkbox({ message: config.message, choices: [...config.choices], validate: (values) => values.length > 0 || config.requiredMessage }, context);
|
|
79
|
+
}),
|
|
80
|
+
close: () => { cancel(); terminal?.close(); },
|
|
53
81
|
};
|
|
54
82
|
};
|
|
55
83
|
//# sourceMappingURL=prompts.js.map
|
package/dist/cli/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/schema.js
CHANGED
|
@@ -17,7 +17,7 @@ export const parseCommand = (definition, args, path = [definition.name], helpCom
|
|
|
17
17
|
const selection = selectCommand(definition, args, path, helpCommand);
|
|
18
18
|
if (selection.kind !== "selected")
|
|
19
19
|
return selection;
|
|
20
|
-
return parseCommand(selection.command, selection.remaining, selection.path,
|
|
20
|
+
return parseCommand(selection.command, selection.remaining, selection.path, `${selection.path.join(" ")} --help`);
|
|
21
21
|
}
|
|
22
22
|
const action = informationAction(definition, args);
|
|
23
23
|
if (action !== undefined)
|
|
@@ -37,7 +37,7 @@ export const parseCommand = (definition, args, path = [definition.name], helpCom
|
|
|
37
37
|
const optionName = inline ? argument.slice(0, separator) : argument;
|
|
38
38
|
const option = definition.options?.find((candidate) => candidate.names.includes(optionName));
|
|
39
39
|
if (option === undefined || option.action !== undefined || inline && option.value?.kind !== "text") {
|
|
40
|
-
throw new UsageError(`Unknown ${
|
|
40
|
+
throw new UsageError(`Unknown ${path.join(" ")} option ${JSON.stringify(argument)}.`, helpCommand);
|
|
41
41
|
}
|
|
42
42
|
const name = option.names[0];
|
|
43
43
|
if (options.has(name) && option.repeatable !== true)
|
|
@@ -67,9 +67,9 @@ export const parseCommand = (definition, args, path = [definition.name], helpCom
|
|
|
67
67
|
}
|
|
68
68
|
const positional = definition.arguments?.[values.length];
|
|
69
69
|
if (positional === undefined)
|
|
70
|
-
throw new UsageError(`Unexpected ${
|
|
70
|
+
throw new UsageError(`Unexpected ${path.join(" ")} argument ${JSON.stringify(argument)}.`, helpCommand);
|
|
71
71
|
if (argument === "")
|
|
72
|
-
throw new UsageError(`${
|
|
72
|
+
throw new UsageError(`${path.join(" ")} requires a ${positional.name} value.`, helpCommand);
|
|
73
73
|
if (positional.choices !== undefined && !positional.choices.includes(argument)) {
|
|
74
74
|
throw new UsageError(`Unknown ${positional.name} ${JSON.stringify(argument)}. Expected ${positional.choices.join(" or ")}.`, helpCommand);
|
|
75
75
|
}
|
|
@@ -77,11 +77,11 @@ export const parseCommand = (definition, args, path = [definition.name], helpCom
|
|
|
77
77
|
}
|
|
78
78
|
const missing = definition.arguments?.[values.length];
|
|
79
79
|
if (missing !== undefined)
|
|
80
|
-
throw new UsageError(`${
|
|
80
|
+
throw new UsageError(`${path.join(" ")} requires a ${missing.name} value.`, helpCommand);
|
|
81
81
|
for (const option of definition.options ?? []) {
|
|
82
82
|
const name = option.names[0];
|
|
83
83
|
if (option.required === true && !options.has(name))
|
|
84
|
-
throw new UsageError(`${
|
|
84
|
+
throw new UsageError(`${path.join(" ")} requires ${name}.`, helpCommand);
|
|
85
85
|
}
|
|
86
86
|
return { kind: "run", command: definition, path, values, options };
|
|
87
87
|
};
|
package/dist/cli/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/cli/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA0C1C,MAAM,cAAc,GAAG,CAAC,OAA0B,EAAE,IAAY,EAAW,EAAE,CAC3E,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAEpE,MAAM,iBAAiB,GAAG,CAAC,OAA0B,EAAE,IAAuB,EAAkC,EAAE,CAChH,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAE7G,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,UAA6B,EAC7B,IAAuB,EACvB,IAAI,GAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,EAC3C,WAAW,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EACtB,EAAE;IACpB,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC7E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;IAC9F,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,UAAU,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5G,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAChG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,UAA6B,EAC7B,IAAuB,EACvB,IAAI,GAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,EAC3C,WAAW,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EACzB,EAAE;IACjB,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,SAAS,CAAC;QACpD,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/cli/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA0C1C,MAAM,cAAc,GAAG,CAAC,OAA0B,EAAE,IAAY,EAAW,EAAE,CAC3E,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAEpE,MAAM,iBAAiB,GAAG,CAAC,OAA0B,EAAE,IAAuB,EAAkC,EAAE,CAChH,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAE7G,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,UAA6B,EAC7B,IAAuB,EACvB,IAAI,GAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,EAC3C,WAAW,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EACtB,EAAE;IACpB,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC7E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;IAC9F,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,UAAU,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5G,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAChG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,UAA6B,EAC7B,IAAuB,EACvB,IAAI,GAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,EAC3C,WAAW,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EACzB,EAAE;IACjB,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,SAAS,CAAC;QACpD,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpH,CAAC;IACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC7E,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoC,CAAC;IAC5D,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,IAAI,QAAQ,KAAK,IAAI,IAAI,UAAU,CAAC,sBAAsB,KAAK,IAAI,EAAE,CAAC;YAC1F,iBAAiB,GAAG,IAAI,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,iBAAiB,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACpE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7F,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBACnG,MAAM,IAAI,UAAU,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACrG,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;gBAAE,MAAM,IAAI,UAAU,CAAC,WAAW,IAAI,aAAa,EAAE,WAAW,CAAC,CAAC;YACrH,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACrE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChH,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,eAAe,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE,WAAW,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChF,MAAM,IAAI,UAAU,CAAC,WAAW,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBAC7I,CAAC;gBACD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAyB,CAAC;oBAC3D,IAAI,QAAQ,KAAK,SAAS;wBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;;wBAClD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;;oBAAM,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,IAAI,UAAU,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACtI,IAAI,QAAQ,KAAK,EAAE;YAAE,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,UAAU,CAAC,IAAI,SAAS,EAAE,WAAW,CAAC,CAAC;QACjH,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,UAAU,CAAC,WAAW,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC5I,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,IAAI,SAAS,EAAE,WAAW,CAAC,CAAC;IACpH,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/H,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAqB,EAAU,EAAE,CACpD,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;AAE7F,MAAM,WAAW,GAAG,CAAC,MAAqB,EAAU,EAAE,CACpD,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAE/H,MAAM,UAAU,GAAG,CAAC,IAA4C,EAAU,EAAE;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAA6B,EAC7B,IAAI,GAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,EACnC,EAAE;IACV,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAChE,GAAG,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC;QAC/D,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACxF,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;KACtF,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/H,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC7E,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrM,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpK,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9J,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACxE,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACtC,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ChildProcess } from "node:child_process";
|
|
2
|
+
import type { PublicationIdentityFormat } from "../publication.js";
|
|
2
3
|
import type { PreparedWorktree } from "./worktrees.js";
|
|
3
4
|
import type { ReviewPaths } from "../paths.js";
|
|
4
5
|
import type { Store } from "../store.js";
|
|
@@ -40,6 +41,8 @@ export type CopilotRunnerOptions = {
|
|
|
40
41
|
};
|
|
41
42
|
};
|
|
42
43
|
export type CopilotRunOptions = {
|
|
44
|
+
publisherId: string;
|
|
45
|
+
publicationIdentityFormat: PublicationIdentityFormat;
|
|
43
46
|
excludeProcess: (review: ReviewState, outcome: CopilotProcessOutcome) => Promise<ProcessesExcluded>;
|
|
44
47
|
signal?: AbortSignal;
|
|
45
48
|
previousReview?: PreviousReview;
|