@codetreker/daynight 0.8.5 → 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 +5 -1
- package/dist/api/client.js +104 -24
- 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/context.d.ts +2 -0
- package/dist/cli/context.js +15 -9
- package/dist/cli/context.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/skills/daynight-review/SKILL.md +59 -20
- 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 +1 -1
- package/dist/commands/skill/agents.js +1 -1
- package/dist/commands/skill/agents.js.map +1 -1
- package/dist/commands/skill/command.js +7 -5
- package/dist/commands/skill/command.js.map +1 -1
- package/dist/commands/skill/definition.js +3 -3
- package/dist/commands/skill/definition.js.map +1 -1
- package/dist/commands/skill/install.d.ts +2 -1
- package/dist/commands/skill/install.js +13 -5
- package/dist/commands/skill/install.js.map +1 -1
- 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 +1 -0
- package/dist/commands/skill/targets.js +9 -2
- package/dist/commands/skill/targets.js.map +1 -1
- 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 +26 -6
- package/dist/commands/task/command.js.map +1 -1
- package/dist/commands/task/definition.js +53 -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/package.json +3 -2
- package/dist/commands/skill/skills/daynight/SKILL.md +0 -95
- package/dist/commands/skill/skills/daynight/references/commands.md +0 -155
|
@@ -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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"}
|
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/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;
|
|
@@ -5,6 +5,7 @@ import { performance } from "node:perf_hooks";
|
|
|
5
5
|
import { pipeline } from "node:stream/promises";
|
|
6
6
|
import crossSpawn from "cross-spawn";
|
|
7
7
|
import { remoteIdentity } from "../config.js";
|
|
8
|
+
import { reviewPublicationIdentity } from "../publication.js";
|
|
8
9
|
import { isolatedGitEnvironment } from "./worktrees.js";
|
|
9
10
|
import { validateReviewSkillDiscovery } from "../skill.js";
|
|
10
11
|
const asError = (value) => value instanceof Error ? value : new Error(String(value));
|
|
@@ -24,18 +25,22 @@ const sessionExists = async (directory) => {
|
|
|
24
25
|
throw error;
|
|
25
26
|
}
|
|
26
27
|
};
|
|
27
|
-
const reviewPrompt = (review, worktree, repository, skill, previous) => `You are the Copilot code review agent for daynight.
|
|
28
|
+
const reviewPrompt = (review, worktree, repository, skill, publisherId, publicationIdentityFormat, previous) => `You are the Copilot code review agent for daynight.
|
|
28
29
|
Before reviewing, explicitly invoke /daynight-review and load the CURRENT immutable skill snapshot from ${JSON.stringify(skill.entrypoint)} (digest ${skill.digest}). Load this exact current path even when resumed conversation history already contains an older skill with the same name. Complete the native skill invocation before beginning the review.
|
|
29
30
|
Daynight skill bundle: ${JSON.stringify({ name: skill.name, digest: skill.digest, entrypoint: skill.entrypoint })}
|
|
30
31
|
Review this immutable target:
|
|
31
32
|
${JSON.stringify({ host: review.host, repositoryId: review.githubId, repository: `${repository.owner}/${repository.name}`, pullRequest: review.number,
|
|
32
33
|
reviewId: review.id, revision: review.revision, headSha: review.headSha, baseBranch: review.baseRef, baseSha: worktree.baseSha, mergeBaseSha: worktree.mergeBaseSha })}
|
|
33
34
|
The worktree is already prepared. Its Git environment exposes the original commit objects and a complete checkout.
|
|
34
|
-
${previous === undefined ? "" : `A previous unfinished review may have published results: ${JSON.stringify(previous)}. Reconcile its existing effects; do not publish a review for its obsolete target merely to confirm it.\n`}This attempt may follow an interrupted or incomplete attempt of this same review.
|
|
35
|
-
Stable review identity:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
${previous === undefined ? "" : `A previous unfinished review may have published results: ${JSON.stringify(previous)}. Reconcile its existing effects; do not publish a review for its obsolete target merely to confirm it.\n`}This attempt may follow an interrupted or incomplete attempt of this same review. Before reviewing or publishing, inspect the PR's existing reviews and native review threads for the stable identity below, bound to this target commit and the captured publishing actor below. Confirm a matching existing APPROVED review immediately without re-evaluating later title or description edits, changing that approval, or publishing again. Confirm a matching existing COMMENTED review only when it owns at least one real resolvable native review thread; its unresolved threads do not block this same-round confirmation. Do not duplicate reviews, comments or replies. If a matching PENDING review exists, revalidate its unsent findings and reuse its ID and threads when still justified. If an owned draft is obsolete or its findings no longer apply, re-GET that exact numeric review ID and verify its author, exact stable identity, commit and PENDING state immediately before deleting only that draft with DELETE reviews/{review_id}; then publish the correct current result. Never delete a submitted APPROVED or COMMENTED review, and never submit findings for an obsolete target. If no valid matching result exists, complete a fresh review using the current title and description.
|
|
36
|
+
Stable review identity: ${reviewPublicationIdentity(review)}
|
|
37
|
+
Captured publishing actor node ID: ${JSON.stringify(publisherId)}
|
|
38
|
+
Existing publication identity format: ${JSON.stringify(publicationIdentityFormat)}
|
|
39
|
+
${publicationIdentityFormat === "legacy" ? "This migrated unfinished round permits legacy matching only to recover an already existing publication: the exact supplied stable identity token may be embedded in its historical prefix or prose. Require token boundaries so a longer identity cannot match, and retain the captured actor and commit checks. This recovery permission does not change the required format of new publication bodies." : "Recognize an existing publication only when the supplied stable identity is its own exact body line or an entire HTML-comment line; a token embedded in other prose is insufficient."}
|
|
40
|
+
Before creating, submitting or deleting a review or thread, query the authenticated GitHub viewer node ID and require it to equal this captured publisher ID. If it differs, report the account mismatch and do not publish under another identity. Read-only confirmation of the captured publisher's existing valid result remains valid.
|
|
41
|
+
Publish the review yourself using gh api. Immediately before publication or retry confirmation re-read the PR and require it to be Open, non-Draft, with head SHA ${review.headSha} and base branch ${JSON.stringify(review.baseRef)}. Before starting a new publication also re-evaluate the skill's PR-quality gates against its current title and description and require no unresolved submitted native review conversations. Positively identified PENDING draft threads are not submitted conversations. A matching pending review's own threads do not block finishing that publication. If it is stale, closed, Draft, inaccessible, or publication fails, explain the problem and do not output the completion marker.
|
|
42
|
+
Use POST repos/${repository.owner}/${repository.name}/pulls/${review.number}/reviews on host ${review.host}. Explicitly set commit_id to ${review.headSha} and include the stable review identity as its own exact line in the review body, preferably inside an HTML comment. Use English and identify yourself as Copilot in published text.
|
|
43
|
+
A successful review must publish either APPROVE or a COMMENT review owning at least one real resolvable native review thread. Publish code defects and localized out-of-scope changes on the relevant changed lines. For a description or PR-wide scope blocker, use a native file-level thread on the principal changed file, explicitly label it as a PR-wide description/scope issue, and do not invent a code defect or line. A top-level review body alone is insufficient. For a file-level blocker, POST the review with commit_id and the stable body but OMIT event to create a pending review; retain its numeric id and node_id. Add its file thread with the GraphQL addPullRequestReviewThread mutation using pullRequestReviewId=node_id, path=the actual changed file, subjectType=FILE and body, without line or side. Then POST reviews/{numeric_id}/events with event=COMMENT and the stable body. Reuse an existing matching, still-justified pending review and its already-created threads after interruption. Do not add subject_type to the batch reviews.comments payload; that API does not support file subjects. If no truthful changed-file anchor exists, or a required thread cannot be published, explain the operational failure and do not output the completion marker. Never submit REQUEST_CHANGES. Publish APPROVE only when both PR-quality gates pass and no Critical or Major defect remains. Verify the review event, target commit, reviewing actor, stable identity and, for COMMENT, at least one owned native thread before claiming success. Do not treat an existing COMMENT as evidence of approval, and do not claim success when you cannot approve your own PR.
|
|
39
44
|
The repository and worktree are dedicated to this review system. Worktree creation, reset and cleanup belong to daynight; do not perform those lifecycle operations. Keep supplementary clones and temporary resources under the supplied temporary directory.
|
|
40
45
|
Run all tools in the foreground, await and reap them, and stop every service or other tool you started before returning. Do not leave background or detached processes running.
|
|
41
46
|
After the required review result has been published or confirmed, finish stdout with exactly this standalone line, with no text after it:
|
|
@@ -124,6 +129,10 @@ export const createCopilotRunner = (options) => {
|
|
|
124
129
|
throw new Error("Copilot process owner must be nonempty.");
|
|
125
130
|
const run = async (store, reviewId, worktree, input) => {
|
|
126
131
|
input.signal?.throwIfAborted();
|
|
132
|
+
if (input.publisherId.trim() === "")
|
|
133
|
+
throw new Error("The captured review publisher ID must be nonempty.");
|
|
134
|
+
if (input.publicationIdentityFormat !== "line" && input.publicationIdentityFormat !== "legacy")
|
|
135
|
+
throw new Error("The publication identity format must be line or legacy.");
|
|
127
136
|
const review = store.getReview(reviewId);
|
|
128
137
|
if (review === null)
|
|
129
138
|
throw new Error("The Copilot review does not exist.");
|
|
@@ -336,7 +345,7 @@ export const createCopilotRunner = (options) => {
|
|
|
336
345
|
const parser = new LastLine(lineLimit);
|
|
337
346
|
mainStarted = true;
|
|
338
347
|
await runPhase("review", [...prefix, `--${mode === "resume" ? "resume" : "session-id"}=${pr.sessionId}`, "-s", "--output-format", "text", "--stream", "on", "--no-color",
|
|
339
|
-
"--no-ask-user", "--no-auto-update", "--allow-all-tools", "--log-dir", attemptDirectory], parser, [stdoutFile, stderrFile], reviewPrompt(launched, worktree, coordinate, options.skill, input.previousReview));
|
|
348
|
+
"--no-ask-user", "--no-auto-update", "--allow-all-tools", "--log-dir", attemptDirectory], parser, [stdoutFile, stderrFile], reviewPrompt(launched, worktree, coordinate, options.skill, input.publisherId, input.publicationIdentityFormat, input.previousReview));
|
|
340
349
|
outcome.lastNonemptyLine = parser.lastNonempty;
|
|
341
350
|
try {
|
|
342
351
|
if (await sessionExists(sessionDirectory))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../../src/commands/review/adapters/copilot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../../src/commands/review/adapters/copilot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { PullRequestReviewSnapshot, RemoteReview, RemoteReviewThread } from "../model.js";
|
|
2
|
+
export declare const pullRequestReviewSnapshotQuery = "query PullRequestReviewSnapshot($owner: String!, $name: String!, $number: Int!, $reviewCursor: String, $threadCursor: String) {\n viewer { id }\n repository(owner: $owner, name: $name) {\n databaseId\n pullRequest(number: $number) {\n number state isDraft headRefOid baseRefName\n reviews(first: 100, after: $reviewCursor) {\n totalCount\n nodes { id author { ... on Node { id } } commit { oid } body state }\n pageInfo { hasNextPage endCursor }\n }\n reviewThreads(first: 100, after: $threadCursor) {\n totalCount\n nodes {\n id isResolved\n comments(first: 1) { totalCount nodes { replyTo { id } pullRequestReview { id } } }\n }\n pageInfo { hasNextPage endCursor }\n }\n }\n }\n}";
|
|
3
|
+
type Page<T> = {
|
|
4
|
+
totalCount: number;
|
|
5
|
+
nodes: T[];
|
|
6
|
+
cursor: string | null;
|
|
7
|
+
};
|
|
8
|
+
export type ReviewSnapshotPage = Omit<PullRequestReviewSnapshot, "reviews" | "threads"> & {
|
|
9
|
+
reviews: Page<RemoteReview>;
|
|
10
|
+
threads: Page<RemoteReviewThread>;
|
|
11
|
+
};
|
|
12
|
+
export declare const parsePullRequestReviewSnapshot: (value: unknown, repositoryId: string, number: number) => ReviewSnapshotPage;
|
|
13
|
+
export declare const reviewSnapshotCollection: <T extends {
|
|
14
|
+
id: string;
|
|
15
|
+
}>(subject: string) => {
|
|
16
|
+
observe: (page: Page<T>) => void;
|
|
17
|
+
complete: () => boolean;
|
|
18
|
+
cursor: () => string | null;
|
|
19
|
+
nodes: () => T[];
|
|
20
|
+
};
|
|
21
|
+
export {};
|