@codetreker/daynight 0.27.2 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -6
- package/dist/api/client.d.ts +5 -1
- package/dist/api/client.js +38 -14
- package/dist/api/client.js.map +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.js +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/json.js +27 -6
- package/dist/api/json.js.map +1 -1
- package/dist/api/parse.d.ts +1 -4
- package/dist/api/parse.js +8 -87
- package/dist/api/parse.js.map +1 -1
- package/dist/api/resource-path.d.ts +1 -0
- package/dist/api/resource-path.js +8 -0
- package/dist/api/resource-path.js.map +1 -0
- package/dist/api/task-properties.d.ts +7 -0
- package/dist/api/task-properties.js +81 -0
- package/dist/api/task-properties.js.map +1 -0
- package/dist/api/types.d.ts +24 -6
- package/dist/api/validation.d.ts +15 -0
- package/dist/api/validation.js +43 -0
- package/dist/api/validation.js.map +1 -0
- package/dist/cli/schema.d.ts +3 -0
- package/dist/cli/schema.js +14 -4
- package/dist/cli/schema.js.map +1 -1
- package/dist/commands/completion/bash.d.ts +1 -1
- package/dist/commands/completion/bash.js +6 -3
- package/dist/commands/completion/bash.js.map +1 -1
- package/dist/commands/completion/zsh.d.ts +1 -1
- package/dist/commands/completion/zsh.js +7 -7
- package/dist/commands/completion/zsh.js.map +1 -1
- package/dist/commands/skill/skills/using-daynight/SKILL.md +2 -2
- package/dist/commands/skill/skills/using-daynight/references/autopilot-managed-task.md +2 -2
- package/dist/commands/skill/skills/using-daynight/references/handbook.md +2 -1
- package/dist/commands/skill/skills/using-daynight/references/task-execution.md +1 -1
- package/dist/commands/skill/skills/using-daynight/references/task-management.md +29 -2
- package/dist/commands/skill/skills/using-daynight/references/write-safety.md +1 -1
- package/dist/commands/task/command.js +7 -11
- package/dist/commands/task/command.js.map +1 -1
- package/dist/commands/task/definition.js +28 -11
- package/dist/commands/task/definition.js.map +1 -1
- package/dist/commands/task/property.d.ts +6 -0
- package/dist/commands/task/property.js +51 -0
- package/dist/commands/task/property.js.map +1 -0
- package/dist/commands/task/rendering.d.ts +3 -1
- package/dist/commands/task/rendering.js +25 -8
- package/dist/commands/task/rendering.js.map +1 -1
- package/dist/commands/worker/control.js +10 -6
- package/dist/commands/worker/control.js.map +1 -1
- package/dist/commands/worker/coordinator.js +14 -13
- package/dist/commands/worker/coordinator.js.map +1 -1
- package/dist/commands/worker/remote.js +7 -6
- package/dist/commands/worker/remote.js.map +1 -1
- package/package.json +2 -2
package/dist/api/parse.js
CHANGED
|
@@ -1,40 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
const malformed = () => { throw new ProtocolError(); };
|
|
7
|
-
const record = (value) => {
|
|
8
|
-
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
9
|
-
return malformed();
|
|
10
|
-
return value;
|
|
11
|
-
};
|
|
12
|
-
const text = (value, nonempty = false) => {
|
|
13
|
-
if (!isText(value) || (nonempty && !isNonemptyText(value)))
|
|
14
|
-
return malformed();
|
|
15
|
-
return value;
|
|
16
|
-
};
|
|
17
|
-
const bool = (value) => typeof value === "boolean" ? value : malformed();
|
|
18
|
-
const count = (value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 0 ? value : malformed();
|
|
19
|
-
const resourceVersion = (value) => typeof value === "bigint" && value >= 1n && value <= 9223372036854775807n ? value : malformed();
|
|
20
|
-
export const canonicalId = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value) ? value.toLowerCase() : null;
|
|
21
|
-
const id = (value) => {
|
|
22
|
-
const parsed = text(value);
|
|
23
|
-
if (canonicalId(parsed) !== parsed)
|
|
24
|
-
return malformed();
|
|
25
|
-
return parsed;
|
|
26
|
-
};
|
|
27
|
-
const timestamp = (value) => {
|
|
28
|
-
const parsed = text(value);
|
|
29
|
-
if (!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?Z$/.test(parsed))
|
|
30
|
-
return malformed();
|
|
31
|
-
const milliseconds = Date.parse(parsed);
|
|
32
|
-
if (!Number.isFinite(milliseconds) || new Date(milliseconds).toISOString().slice(0, 19) !== parsed.slice(0, 19))
|
|
33
|
-
return malformed();
|
|
34
|
-
return parsed;
|
|
35
|
-
};
|
|
36
|
-
const nullableTimestamp = (value) => value === null ? null : timestamp(value);
|
|
37
|
-
const array = (value, parse) => Array.isArray(value) ? value.map((item) => parse(item)) : malformed();
|
|
1
|
+
import { isText } from "../platform/text.js";
|
|
2
|
+
export { canonicalId, ProtocolError } from "./validation.js";
|
|
3
|
+
import { array, bool, canonicalId, count, fields, id, malformed, nullableTimestamp, record, resourceVersion, text, timestamp } from "./validation.js";
|
|
4
|
+
import { parseTaskProperties, readWorkerClaim } from "./task-properties.js";
|
|
38
5
|
const ids = (value) => {
|
|
39
6
|
const parsed = array(value, id);
|
|
40
7
|
if (new Set(parsed).size !== parsed.length)
|
|
@@ -88,13 +55,6 @@ const dependencyState = (data) => {
|
|
|
88
55
|
return malformed();
|
|
89
56
|
return parsed;
|
|
90
57
|
};
|
|
91
|
-
const rawString = (value) => typeof value === "string" ? value : malformed();
|
|
92
|
-
const fields = (value, names) => {
|
|
93
|
-
const data = record(value);
|
|
94
|
-
if (Object.keys(data).some((key) => !names.includes(key)))
|
|
95
|
-
return malformed();
|
|
96
|
-
return data;
|
|
97
|
-
};
|
|
98
58
|
export const parseWorkerReportReceipt = (value) => {
|
|
99
59
|
const data = fields(value, ["observedAt", "lastReportedAt"]);
|
|
100
60
|
const parsed = { observedAt: timestamp(data.observedAt), lastReportedAt: timestamp(data.lastReportedAt) };
|
|
@@ -129,55 +89,16 @@ export const parseProjectMembers = (value, projectId) => {
|
|
|
129
89
|
return malformed();
|
|
130
90
|
return members;
|
|
131
91
|
};
|
|
132
|
-
const workerPhase = (value) => value === "preparing" || value === "executing" || value === "verifying" || value === "completing" || value === "waiting" || value === "paused" ? value : malformed();
|
|
133
|
-
const workerHerdr = (value) => {
|
|
134
|
-
if (value === null)
|
|
135
|
-
return null;
|
|
136
|
-
const data = fields(value, ["session", "workspaceId", "paneId"]);
|
|
137
|
-
return { session: text(data.session, true), workspaceId: text(data.workspaceId, true), paneId: text(data.paneId, true) };
|
|
138
|
-
};
|
|
139
|
-
const parseWorkerClaim = (value) => {
|
|
140
|
-
if (value === null)
|
|
141
|
-
return null;
|
|
142
|
-
const data = fields(value, ["claimId", "state", "userId", "workerId", "machine", "platform", "agent", "agentControlMode", "worktreeId", "phase", "herdr", "nativeSessionId", "claimedAt"]);
|
|
143
|
-
const machine = fields(data.machine, ["id", "name"]);
|
|
144
|
-
const platform = requiredPlatform(data.platform);
|
|
145
|
-
if (platform === null)
|
|
146
|
-
return malformed();
|
|
147
|
-
let agentControlMode;
|
|
148
|
-
let agent;
|
|
149
|
-
try {
|
|
150
|
-
agentControlMode = workerAgentControlMode(data);
|
|
151
|
-
agent = validateWorkerAgentMode(data.agent, agentControlMode);
|
|
152
|
-
}
|
|
153
|
-
catch {
|
|
154
|
-
return malformed();
|
|
155
|
-
}
|
|
156
|
-
if (agentControlMode === "web" && data.herdr !== null)
|
|
157
|
-
return malformed();
|
|
158
|
-
return {
|
|
159
|
-
claimId: id(data.claimId), state: data.state === "active" || data.state === "released" || data.state === "completed" ? data.state : malformed(),
|
|
160
|
-
userId: id(data.userId), workerId: id(data.workerId), machine: { id: id(machine.id), name: text(machine.name, true) }, platform,
|
|
161
|
-
agent, agentControlMode, worktreeId: id(data.worktreeId), phase: workerPhase(data.phase),
|
|
162
|
-
herdr: workerHerdr(data.herdr), nativeSessionId: data.nativeSessionId === null ? null : text(data.nativeSessionId, true), claimedAt: timestamp(data.claimedAt),
|
|
163
|
-
};
|
|
164
|
-
};
|
|
165
|
-
const properties = (value) => {
|
|
166
|
-
const data = record(value);
|
|
167
|
-
return { pullRequests: array(data.pullRequests, (item) => {
|
|
168
|
-
const pullRequest = record(item);
|
|
169
|
-
return { url: rawString(pullRequest.url), title: rawString(pullRequest.title) };
|
|
170
|
-
}), worker: parseWorkerClaim(data.worker) };
|
|
171
|
-
};
|
|
172
92
|
export const parseTask = (value, projectId, taskId) => {
|
|
173
93
|
const data = record(value);
|
|
174
94
|
const version = resourceVersion(data.version);
|
|
175
|
-
const parsed = { ...dependencyState(data), projectId: id(data.projectId), title: text(data.title, true), description: text(data.description), properties:
|
|
95
|
+
const parsed = { ...dependencyState(data), projectId: id(data.projectId), title: text(data.title, true), description: text(data.description), properties: parseTaskProperties(data.properties), version };
|
|
176
96
|
if (parsed.projectId !== projectId || (taskId !== undefined && parsed.id !== taskId))
|
|
177
97
|
return malformed();
|
|
178
|
-
|
|
98
|
+
const worker = readWorkerClaim(parsed.properties);
|
|
99
|
+
if (worker?.state === "active" && parsed.status !== "in_progress")
|
|
179
100
|
return malformed();
|
|
180
|
-
if (
|
|
101
|
+
if (worker?.state === "released" && parsed.status !== "todo")
|
|
181
102
|
return malformed();
|
|
182
103
|
return parsed;
|
|
183
104
|
};
|
package/dist/api/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/api/parse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/api/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const resourcePath: (...segments: readonly string[]) => string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const resourcePath = (...segments) => {
|
|
2
|
+
const pathname = `/${segments.map(encodeURIComponent).join("/")}`;
|
|
3
|
+
// Fetch normalizes encoded dot segments; a property mutation must keep its exact resource target.
|
|
4
|
+
if (new URL(pathname, "https://request.invalid").pathname !== pathname)
|
|
5
|
+
throw new Error("Property name cannot be represented without changing the request route.");
|
|
6
|
+
return pathname;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=resource-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-path.js","sourceRoot":"","sources":["../../src/api/resource-path.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,QAA2B,EAAU,EAAE;IACrE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAClE,kGAAkG;IAClG,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IACnK,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PullRequestProperty, TaskProperties, TaskPropertyResource, TaskPropertySchema, WorkerClaim } from "./types.js";
|
|
2
|
+
export declare const parseTaskProperties: (value: unknown) => TaskProperties;
|
|
3
|
+
export declare const readPullRequests: (properties: TaskProperties) => readonly PullRequestProperty[] | undefined;
|
|
4
|
+
export declare const readWorkerClaim: (properties: TaskProperties) => WorkerClaim | undefined;
|
|
5
|
+
export declare const sameTaskProperties: (left: TaskProperties, right: TaskProperties) => boolean;
|
|
6
|
+
export declare const parseTaskPropertyResource: (value: unknown, projectId: string, taskId: string) => TaskPropertyResource;
|
|
7
|
+
export declare const parseTaskPropertySchema: (value: unknown) => TaskPropertySchema;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { validateWorkerAgentMode } from "./worker-mode.js";
|
|
2
|
+
import { array, fields, id, malformed, record, resourceVersion, text, timestamp } from "./validation.js";
|
|
3
|
+
const jsonValue = (value) => {
|
|
4
|
+
if (value === null || typeof value === "string" || typeof value === "boolean")
|
|
5
|
+
return value;
|
|
6
|
+
if (typeof value === "number")
|
|
7
|
+
return Number.isFinite(value) ? value : malformed();
|
|
8
|
+
if (Array.isArray(value))
|
|
9
|
+
return value.map(jsonValue);
|
|
10
|
+
return Object.fromEntries(Object.entries(record(value)).map(([key, item]) => [key, jsonValue(item)]));
|
|
11
|
+
};
|
|
12
|
+
export const parseTaskProperties = (value) => Object.fromEntries(Object.entries(record(value)).map(([name, item]) => [name, jsonValue(item)]));
|
|
13
|
+
export const readPullRequests = (properties) => {
|
|
14
|
+
if (!Object.hasOwn(properties, "pullRequests"))
|
|
15
|
+
return undefined;
|
|
16
|
+
return array(properties.pullRequests, (item) => {
|
|
17
|
+
const value = fields(item, ["url", "title"]);
|
|
18
|
+
if (typeof value.url !== "string" || typeof value.title !== "string")
|
|
19
|
+
return malformed();
|
|
20
|
+
return { url: value.url, title: value.title };
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
const workerPhase = (value) => value === "preparing" || value === "executing" || value === "verifying" || value === "completing" || value === "waiting" || value === "paused" ? value : malformed();
|
|
24
|
+
const workerHerdr = (value) => {
|
|
25
|
+
if (value === null)
|
|
26
|
+
return null;
|
|
27
|
+
const data = fields(value, ["session", "workspaceId", "paneId"]);
|
|
28
|
+
return { session: text(data.session, true), workspaceId: text(data.workspaceId, true), paneId: text(data.paneId, true) };
|
|
29
|
+
};
|
|
30
|
+
export const readWorkerClaim = (properties) => {
|
|
31
|
+
if (!Object.hasOwn(properties, "worker"))
|
|
32
|
+
return undefined;
|
|
33
|
+
const data = fields(properties.worker, ["claimId", "state", "userId", "workerId", "machine", "platform", "agent", "agentControlMode", "worktreeId", "phase", "herdr", "nativeSessionId", "claimedAt"]);
|
|
34
|
+
const machine = fields(data.machine, ["id", "name"]);
|
|
35
|
+
const platform = data.platform === "windows" || data.platform === "linux" || data.platform === "macos" ? data.platform : malformed();
|
|
36
|
+
const agentControlMode = data.agentControlMode === "herdr" || data.agentControlMode === "web" ? data.agentControlMode : malformed();
|
|
37
|
+
let agent;
|
|
38
|
+
try {
|
|
39
|
+
agent = validateWorkerAgentMode(data.agent, agentControlMode);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return malformed();
|
|
43
|
+
}
|
|
44
|
+
if (agentControlMode === "web" && data.herdr !== null)
|
|
45
|
+
return malformed();
|
|
46
|
+
return {
|
|
47
|
+
claimId: id(data.claimId), state: data.state === "active" || data.state === "released" || data.state === "completed" ? data.state : malformed(),
|
|
48
|
+
userId: id(data.userId), workerId: id(data.workerId), machine: { id: id(machine.id), name: text(machine.name, true) }, platform,
|
|
49
|
+
agent, agentControlMode, worktreeId: id(data.worktreeId), phase: workerPhase(data.phase),
|
|
50
|
+
herdr: workerHerdr(data.herdr), nativeSessionId: data.nativeSessionId === null ? null : text(data.nativeSessionId, true), claimedAt: timestamp(data.claimedAt),
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
const sameJsonValue = (left, right) => {
|
|
54
|
+
if (left === right)
|
|
55
|
+
return true;
|
|
56
|
+
if (Array.isArray(left) || Array.isArray(right))
|
|
57
|
+
return Array.isArray(left) && Array.isArray(right) && left.length === right.length && left.every((item, index) => sameJsonValue(item, right[index]));
|
|
58
|
+
if (typeof left !== "object" || left === null || typeof right !== "object" || right === null)
|
|
59
|
+
return false;
|
|
60
|
+
const names = Object.keys(left);
|
|
61
|
+
return names.length === Object.keys(right).length && names.every((name) => Object.hasOwn(right, name) && sameJsonValue(left[name], right[name]));
|
|
62
|
+
};
|
|
63
|
+
export const sameTaskProperties = (left, right) => sameJsonValue(left, right);
|
|
64
|
+
export const parseTaskPropertyResource = (value, projectId, taskId) => {
|
|
65
|
+
const data = record(value);
|
|
66
|
+
const result = { projectId: id(data.projectId), taskId: id(data.taskId), version: resourceVersion(data.version), properties: parseTaskProperties(data.properties) };
|
|
67
|
+
if (result.projectId !== projectId || result.taskId !== taskId)
|
|
68
|
+
return malformed();
|
|
69
|
+
return result;
|
|
70
|
+
};
|
|
71
|
+
export const parseTaskPropertySchema = (value) => {
|
|
72
|
+
const data = record(value);
|
|
73
|
+
const definitions = record(data.properties);
|
|
74
|
+
return { properties: Object.fromEntries(Object.entries(definitions).map(([name, value]) => {
|
|
75
|
+
const definition = record(value);
|
|
76
|
+
if (typeof definition.description !== "string" || typeof definition.readOnly !== "boolean")
|
|
77
|
+
return malformed();
|
|
78
|
+
return [name, { ...parseTaskProperties(definition), description: definition.description, readOnly: definition.readOnly, schema: parseTaskProperties(definition.schema) }];
|
|
79
|
+
})) };
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=task-properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-properties.js","sourceRoot":"","sources":["../../src/api/task-properties.ts"],"names":[],"mappings":"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"}
|
package/dist/api/types.d.ts
CHANGED
|
@@ -144,13 +144,31 @@ export type WorkerClaim = {
|
|
|
144
144
|
readonly nativeSessionId: string | null;
|
|
145
145
|
readonly claimedAt: string;
|
|
146
146
|
};
|
|
147
|
-
export type
|
|
148
|
-
readonly
|
|
149
|
-
readonly worker?: never;
|
|
147
|
+
export type JsonValue = null | boolean | number | string | readonly JsonValue[] | {
|
|
148
|
+
readonly [key: string]: JsonValue;
|
|
150
149
|
};
|
|
151
|
-
export type TaskProperties =
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
export type TaskProperties = Readonly<Record<string, JsonValue>>;
|
|
151
|
+
export type WritableTaskProperties = TaskProperties;
|
|
152
|
+
export type TaskPropertyResource = {
|
|
153
|
+
readonly projectId: string;
|
|
154
|
+
readonly taskId: string;
|
|
155
|
+
readonly version: bigint;
|
|
156
|
+
readonly properties: TaskProperties;
|
|
157
|
+
};
|
|
158
|
+
export type SetTaskPropertyInput = {
|
|
159
|
+
readonly version: bigint;
|
|
160
|
+
readonly valueText: string;
|
|
161
|
+
};
|
|
162
|
+
export type RemoveTaskPropertyInput = {
|
|
163
|
+
readonly version: bigint;
|
|
164
|
+
};
|
|
165
|
+
export type TaskPropertyDefinition = {
|
|
166
|
+
readonly description: string;
|
|
167
|
+
readonly readOnly: boolean;
|
|
168
|
+
readonly schema: Readonly<Record<string, JsonValue>>;
|
|
169
|
+
};
|
|
170
|
+
export type TaskPropertySchema = {
|
|
171
|
+
readonly properties: Readonly<Record<string, TaskPropertyDefinition>>;
|
|
154
172
|
};
|
|
155
173
|
export type Task = {
|
|
156
174
|
readonly id: string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class ProtocolError extends Error {
|
|
2
|
+
constructor(message?: string);
|
|
3
|
+
}
|
|
4
|
+
export declare const malformed: () => never;
|
|
5
|
+
export declare const record: (value: unknown) => Record<string, unknown>;
|
|
6
|
+
export declare const text: (value: unknown, nonempty?: boolean) => string;
|
|
7
|
+
export declare const bool: (value: unknown) => boolean;
|
|
8
|
+
export declare const count: (value: unknown) => number;
|
|
9
|
+
export declare const resourceVersion: (value: unknown) => bigint;
|
|
10
|
+
export declare const canonicalId: (value: string) => string | null;
|
|
11
|
+
export declare const id: (value: unknown) => string;
|
|
12
|
+
export declare const timestamp: (value: unknown) => string;
|
|
13
|
+
export declare const nullableTimestamp: (value: unknown) => string | null;
|
|
14
|
+
export declare const array: <T>(value: unknown, parse: (item: unknown) => T) => T[];
|
|
15
|
+
export declare const fields: (value: unknown, names: readonly string[]) => Record<string, unknown>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { isNonemptyText, isText } from "../platform/text.js";
|
|
2
|
+
export class ProtocolError extends Error {
|
|
3
|
+
constructor(message = "The server returned an invalid response.") { super(message); this.name = "ProtocolError"; }
|
|
4
|
+
}
|
|
5
|
+
export const malformed = () => { throw new ProtocolError(); };
|
|
6
|
+
export const record = (value) => {
|
|
7
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
8
|
+
return malformed();
|
|
9
|
+
return value;
|
|
10
|
+
};
|
|
11
|
+
export const text = (value, nonempty = false) => {
|
|
12
|
+
if (!isText(value) || (nonempty && !isNonemptyText(value)))
|
|
13
|
+
return malformed();
|
|
14
|
+
return value;
|
|
15
|
+
};
|
|
16
|
+
export const bool = (value) => typeof value === "boolean" ? value : malformed();
|
|
17
|
+
export const count = (value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 0 ? value : malformed();
|
|
18
|
+
export const resourceVersion = (value) => typeof value === "bigint" && value >= 1n && value <= 9223372036854775807n ? value : malformed();
|
|
19
|
+
export const canonicalId = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value) ? value.toLowerCase() : null;
|
|
20
|
+
export const id = (value) => {
|
|
21
|
+
const parsed = text(value);
|
|
22
|
+
if (canonicalId(parsed) !== parsed)
|
|
23
|
+
return malformed();
|
|
24
|
+
return parsed;
|
|
25
|
+
};
|
|
26
|
+
export const timestamp = (value) => {
|
|
27
|
+
const parsed = text(value);
|
|
28
|
+
if (!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?Z$/.test(parsed))
|
|
29
|
+
return malformed();
|
|
30
|
+
const milliseconds = Date.parse(parsed);
|
|
31
|
+
if (!Number.isFinite(milliseconds) || new Date(milliseconds).toISOString().slice(0, 19) !== parsed.slice(0, 19))
|
|
32
|
+
return malformed();
|
|
33
|
+
return parsed;
|
|
34
|
+
};
|
|
35
|
+
export const nullableTimestamp = (value) => value === null ? null : timestamp(value);
|
|
36
|
+
export const array = (value, parse) => Array.isArray(value) ? value.map((item) => parse(item)) : malformed();
|
|
37
|
+
export const fields = (value, names) => {
|
|
38
|
+
const data = record(value);
|
|
39
|
+
if (Object.keys(data).some((key) => !names.includes(key)))
|
|
40
|
+
return malformed();
|
|
41
|
+
return data;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/api/validation.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/schema.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export type CommandArgument = {
|
|
|
15
15
|
name: string;
|
|
16
16
|
description: string;
|
|
17
17
|
choices?: readonly string[];
|
|
18
|
+
optional?: boolean;
|
|
19
|
+
allowEmpty?: boolean;
|
|
18
20
|
};
|
|
19
21
|
export type CommandDefinition = {
|
|
20
22
|
name: string;
|
|
@@ -26,6 +28,7 @@ export type CommandDefinition = {
|
|
|
26
28
|
allowOptionsTerminator?: boolean;
|
|
27
29
|
details?: string;
|
|
28
30
|
};
|
|
31
|
+
export declare const validateCommandArguments: (definition: CommandDefinition) => void;
|
|
29
32
|
type CommandLocation = {
|
|
30
33
|
command: CommandDefinition;
|
|
31
34
|
path: readonly string[];
|
package/dist/cli/schema.js
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { UsageError } from "./context.js";
|
|
2
|
+
export const validateCommandArguments = (definition) => {
|
|
3
|
+
let optional = false;
|
|
4
|
+
for (const argument of definition.arguments ?? []) {
|
|
5
|
+
if (optional && argument.optional !== true)
|
|
6
|
+
throw new Error(`Command ${definition.name} has a required argument after an optional argument.`);
|
|
7
|
+
optional = argument.optional === true;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
2
10
|
const matchesCommand = (command, name) => command.name === name || command.aliases?.includes(name) === true;
|
|
3
11
|
const informationAction = (command, args) => args.length === 1 ? command.options?.find((option) => option.names.includes(args[0]))?.action : undefined;
|
|
4
12
|
export const selectCommand = (definition, args, path = [definition.name], helpCommand = `${path.join(" ")} --help`) => {
|
|
@@ -13,6 +21,7 @@ export const selectCommand = (definition, args, path = [definition.name], helpCo
|
|
|
13
21
|
return { kind: "selected", command, path: [...path, command.name], remaining: args.slice(1) };
|
|
14
22
|
};
|
|
15
23
|
export const parseCommand = (definition, args, path = [definition.name], helpCommand = `${path.join(" ")} --help`) => {
|
|
24
|
+
validateCommandArguments(definition);
|
|
16
25
|
if (definition.commands !== undefined) {
|
|
17
26
|
const selection = selectCommand(definition, args, path, helpCommand);
|
|
18
27
|
if (selection.kind !== "selected")
|
|
@@ -68,14 +77,14 @@ export const parseCommand = (definition, args, path = [definition.name], helpCom
|
|
|
68
77
|
const positional = definition.arguments?.[values.length];
|
|
69
78
|
if (positional === undefined)
|
|
70
79
|
throw new UsageError(`Unexpected ${path.join(" ")} argument ${JSON.stringify(argument)}.`, helpCommand);
|
|
71
|
-
if (argument === "")
|
|
80
|
+
if (argument === "" && positional.allowEmpty !== true)
|
|
72
81
|
throw new UsageError(`${path.join(" ")} requires a ${positional.name} value.`, helpCommand);
|
|
73
82
|
if (positional.choices !== undefined && !positional.choices.includes(argument)) {
|
|
74
83
|
throw new UsageError(`Unknown ${positional.name} ${JSON.stringify(argument)}. Expected ${positional.choices.join(" or ")}.`, helpCommand);
|
|
75
84
|
}
|
|
76
85
|
values.push(argument);
|
|
77
86
|
}
|
|
78
|
-
const missing = definition.arguments?.
|
|
87
|
+
const missing = definition.arguments?.slice(values.length).find((argument) => argument.optional !== true);
|
|
79
88
|
if (missing !== undefined)
|
|
80
89
|
throw new UsageError(`${path.join(" ")} requires a ${missing.name} value.`, helpCommand);
|
|
81
90
|
for (const option of definition.options ?? []) {
|
|
@@ -92,8 +101,9 @@ const renderRows = (rows) => {
|
|
|
92
101
|
return rows.map(([label, description]) => ` ${label.padEnd(width)}${description}`).join("\n");
|
|
93
102
|
};
|
|
94
103
|
export const renderCommandHelp = (definition, path = [definition.name]) => {
|
|
104
|
+
validateCommandArguments(definition);
|
|
95
105
|
const suffix = definition.commands !== undefined ? " <command>" : [
|
|
96
|
-
...(definition.arguments ?? []).map(({ name }) => ` <${name}>`),
|
|
106
|
+
...(definition.arguments ?? []).map(({ name, optional }) => optional === true ? ` [<${name}>]` : ` <${name}>`),
|
|
97
107
|
...(definition.options ?? []).filter(({ action }) => action === undefined).map((option) => option.required === true ? ` ${optionUsage(option)}` : ` [${optionUsage(option)}]`),
|
|
98
108
|
].join("");
|
|
99
109
|
const paths = [path, ...(definition.aliases ?? []).map((alias) => [...path.slice(0, -1), alias])];
|
|
@@ -103,7 +113,7 @@ export const renderCommandHelp = (definition, path = [definition.name]) => {
|
|
|
103
113
|
if (definition.commands !== undefined)
|
|
104
114
|
sections.push(`Commands:\n${renderRows(definition.commands.map((command) => [[command.name, ...(command.aliases ?? [])].join(", "), command.description]))}`);
|
|
105
115
|
if (definition.arguments !== undefined)
|
|
106
|
-
sections.push(`Arguments:\n${renderRows(definition.arguments.map(({ name, description }) => [`<${name}>`, description]))}`);
|
|
116
|
+
sections.push(`Arguments:\n${renderRows(definition.arguments.map(({ name, description, optional }) => [optional === true ? `[<${name}>]` : `<${name}>`, description]))}`);
|
|
107
117
|
if (definition.options !== undefined)
|
|
108
118
|
sections.push(`Options:\n${renderRows(definition.options.map((option) => [optionLabel(option), option.description]))}`);
|
|
109
119
|
if (definition.details !== undefined)
|
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;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/cli/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type CommandDefinition } from "../../cli/schema.js";
|
|
2
2
|
export declare const renderBashCompletion: (root: CommandDefinition) => string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { validateCommandArguments } from "../../cli/schema.js";
|
|
1
2
|
const shellQuote = (value) => `'${value.replaceAll("'", "'\\''")}'`;
|
|
2
3
|
const shellArray = (values) => `(${values.map(shellQuote).join(" ")})`;
|
|
3
4
|
const commandCases = (root) => {
|
|
@@ -5,6 +6,7 @@ const commandCases = (root) => {
|
|
|
5
6
|
const cases = [];
|
|
6
7
|
for (let index = 0; index < nodes.length; index += 1) {
|
|
7
8
|
const node = nodes[index];
|
|
9
|
+
validateCommandArguments(node);
|
|
8
10
|
const childNames = [];
|
|
9
11
|
const childNodes = [];
|
|
10
12
|
for (const child of node.commands ?? []) {
|
|
@@ -44,6 +46,7 @@ const commandCases = (root) => {
|
|
|
44
46
|
dn_option_empty=${shellArray(optionEmpty)}
|
|
45
47
|
dn_option_repeats=${shellArray(optionRepeats)}
|
|
46
48
|
dn_argument_count=${node.arguments?.length ?? 0}
|
|
49
|
+
dn_argument_empty=${shellArray((node.arguments ?? []).map((argument) => argument.allowEmpty === true ? "1" : "0"))}
|
|
47
50
|
dn_allow_terminator=${node.allowOptionsTerminator === true ? 1 : 0}
|
|
48
51
|
case "$dn_position" in
|
|
49
52
|
${choices.join("\n")}
|
|
@@ -110,7 +113,7 @@ const runtime = String.raw `
|
|
|
110
113
|
@PREFIX@_schema() {
|
|
111
114
|
dn_children=(); dn_child_nodes=(); dn_options=(); dn_option_ids=()
|
|
112
115
|
dn_option_values=(); dn_option_actions=(); dn_choices=()
|
|
113
|
-
dn_option_empty=(); dn_option_repeats=(); dn_value_choices=()
|
|
116
|
+
dn_option_empty=(); dn_option_repeats=(); dn_value_choices=(); dn_argument_empty=()
|
|
114
117
|
case "$dn_node" in
|
|
115
118
|
@CASES@
|
|
116
119
|
esac
|
|
@@ -131,7 +134,7 @@ const runtime = String.raw `
|
|
|
131
134
|
local LC_ALL=C
|
|
132
135
|
local -a dn_words dn_children dn_child_nodes dn_options dn_option_ids
|
|
133
136
|
local -a dn_option_values dn_option_actions dn_choices
|
|
134
|
-
local -a dn_option_empty dn_option_repeats dn_value_choices
|
|
137
|
+
local -a dn_option_empty dn_option_repeats dn_value_choices dn_argument_empty
|
|
135
138
|
local dn_node=0 dn_position=0 dn_argument_count=0 dn_count=0 dn_pending=''
|
|
136
139
|
local dn_value_option=-1 dn_value_match=-1 dn_inline=0 dn_options_terminated=0 dn_allow_terminator=0
|
|
137
140
|
local dn_used='|' dn_tilde dn_current dn_word dn_index dn_match dn_option
|
|
@@ -194,7 +197,7 @@ const runtime = String.raw `
|
|
|
194
197
|
continue
|
|
195
198
|
fi
|
|
196
199
|
((dn_position < dn_argument_count)) || return 0
|
|
197
|
-
[[ -n "$dn_word" ]] || return 0
|
|
200
|
+
[[ -n "$dn_word" || "@{dn_argument_empty[dn_position]}" == 1 ]] || return 0
|
|
198
201
|
if ((@{#dn_choices[@]} > 0)); then
|
|
199
202
|
dn_match=0
|
|
200
203
|
for dn_choice in "@{dn_choices[@]}"; do
|