@codetreker/daynight 0.21.11 → 0.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +300 -41
  2. package/config.example.yml +65 -0
  3. package/dist/api/client.d.ts +2 -1
  4. package/dist/api/client.js +7 -1
  5. package/dist/api/client.js.map +1 -1
  6. package/dist/api/parse.d.ts +2 -1
  7. package/dist/api/parse.js +19 -0
  8. package/dist/api/parse.js.map +1 -1
  9. package/dist/api/types.d.ts +11 -3
  10. package/dist/commands/review/config.d.ts +2 -1
  11. package/dist/commands/review/config.js +24 -32
  12. package/dist/commands/review/config.js.map +1 -1
  13. package/dist/commands/review/configuration-guide.js +4 -4
  14. package/dist/commands/review/configuration-guide.js.map +1 -1
  15. package/dist/commands/review/definition.js +1 -1
  16. package/dist/commands/review/definition.js.map +1 -1
  17. package/dist/commands/review/repositories.js +10 -17
  18. package/dist/commands/review/repositories.js.map +1 -1
  19. package/dist/commands/skill/skills/using-daynight/references/handoff.md +3 -3
  20. package/dist/commands/worker/attach.d.ts +3 -0
  21. package/dist/commands/worker/attach.js +53 -0
  22. package/dist/commands/worker/attach.js.map +1 -0
  23. package/dist/commands/worker/config.d.ts +10 -0
  24. package/dist/commands/worker/config.js +36 -8
  25. package/dist/commands/worker/config.js.map +1 -1
  26. package/dist/commands/worker/configuration-guide.d.ts +19 -0
  27. package/dist/commands/worker/configuration-guide.js +86 -0
  28. package/dist/commands/worker/configuration-guide.js.map +1 -0
  29. package/dist/commands/worker/control.d.ts +55 -0
  30. package/dist/commands/worker/control.js +151 -0
  31. package/dist/commands/worker/control.js.map +1 -0
  32. package/dist/commands/worker/coordinator.d.ts +1 -0
  33. package/dist/commands/worker/coordinator.js +53 -13
  34. package/dist/commands/worker/coordinator.js.map +1 -1
  35. package/dist/commands/worker/definition.js +62 -2
  36. package/dist/commands/worker/definition.js.map +1 -1
  37. package/dist/commands/worker/execution.js +90 -27
  38. package/dist/commands/worker/execution.js.map +1 -1
  39. package/dist/commands/worker/herdr/agents.d.ts +1 -0
  40. package/dist/commands/worker/herdr/agents.js +78 -6
  41. package/dist/commands/worker/herdr/agents.js.map +1 -1
  42. package/dist/commands/worker/herdr/codex-input.d.ts +2 -0
  43. package/dist/commands/worker/herdr/codex-input.js +35 -0
  44. package/dist/commands/worker/herdr/codex-input.js.map +1 -0
  45. package/dist/commands/worker/herdr/instance.d.ts +1 -0
  46. package/dist/commands/worker/herdr/instance.js +30 -5
  47. package/dist/commands/worker/herdr/instance.js.map +1 -1
  48. package/dist/commands/worker/index.d.ts +15 -0
  49. package/dist/commands/worker/index.js +59 -1
  50. package/dist/commands/worker/index.js.map +1 -1
  51. package/dist/commands/worker/instance-lock.d.ts +5 -0
  52. package/dist/commands/worker/instance-lock.js +11 -1
  53. package/dist/commands/worker/instance-lock.js.map +1 -1
  54. package/dist/commands/worker/remote.d.ts +6 -1
  55. package/dist/commands/worker/remote.js +12 -0
  56. package/dist/commands/worker/remote.js.map +1 -1
  57. package/dist/commands/worker/repositories.d.ts +23 -0
  58. package/dist/commands/worker/repositories.js +157 -0
  59. package/dist/commands/worker/repositories.js.map +1 -0
  60. package/dist/commands/worker/runtime.d.ts +9 -0
  61. package/dist/commands/worker/runtime.js +173 -7
  62. package/dist/commands/worker/runtime.js.map +1 -1
  63. package/dist/commands/worker/store.d.ts +18 -0
  64. package/dist/commands/worker/store.js +101 -17
  65. package/dist/commands/worker/store.js.map +1 -1
  66. package/dist/config/document.d.ts +1 -1
  67. package/dist/config/document.js +1 -9
  68. package/dist/config/document.js.map +1 -1
  69. package/dist/config/errors.d.ts +2 -2
  70. package/dist/config/errors.js.map +1 -1
  71. package/dist/platform/instance-lock.d.ts +4 -0
  72. package/dist/platform/instance-lock.js +9 -1
  73. package/dist/platform/instance-lock.js.map +1 -1
  74. package/dist/repository/location.d.ts +7 -0
  75. package/dist/repository/location.js +51 -0
  76. package/dist/repository/location.js.map +1 -0
  77. package/package.json +4 -3
@@ -1,17 +1,10 @@
1
1
  import path from "node:path";
2
2
  import { Document } from "yaml";
3
3
  import { parseConfigurationDocument } from "../../config/document.js";
4
+ import { repositoryPathComponent } from "../../repository/location.js";
4
5
  import { updateConfigurationFile } from "../../config/files.js";
5
- import { defaultRepositoryRoot, remoteIdentity, resolveRepositoryRoot, validateConfigurationSource, validateRegistrationConfigurationSource } from "./config.js";
6
+ import { defaultRepositoryRoot, remoteIdentity, reviewConfigurationMapping, resolveRepositoryRoot, validateConfigurationSource, validateRegistrationConfigurationSource } from "./config.js";
6
7
  import { missingPathsReferToSameDirectory, resolvePhysicalDirectory } from "../../platform/filesystem.js";
7
- const repositoryPathComponent = (component) => {
8
- let escaped = component.replace(/[<>:"/\\|?*]/g, (character) => `%${character.charCodeAt(0).toString(16).toUpperCase()}`)
9
- .replace(/\.+$/, (dots) => "%2E".repeat(dots.length));
10
- if (/^(?:con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\.|$)/i.test(escaped)) {
11
- escaped = `%${escaped.charCodeAt(0).toString(16).toUpperCase()}${escaped.slice(1)}`;
12
- }
13
- return escaped;
14
- };
15
8
  const sameDirectory = async (first, second) => {
16
9
  const [left, right] = await Promise.all([resolvePhysicalDirectory(first), resolvePhysicalDirectory(second)]);
17
10
  if (left.ancestorIdentity !== right.ancestorIdentity || left.missingComponents.length !== right.missingComponents.length) {
@@ -22,9 +15,9 @@ const sameDirectory = async (first, second) => {
22
15
  };
23
16
  export const updateRepositoryConfiguration = async (source, input, runtimePaths, options) => {
24
17
  const existing = source === undefined ? undefined : await validateRegistrationConfigurationSource(source, runtimePaths);
25
- const document = source === undefined ? new Document({ repositoryRoot: defaultRepositoryRoot, repositories: [] }) : parseConfigurationDocument(source, runtimePaths).document;
26
- const decoded = document.toJS();
27
- const root = document.has("repositoryRoot") ? decoded.repositoryRoot : defaultRepositoryRoot;
18
+ const document = source === undefined ? new Document({ review: { repositoryRoot: defaultRepositoryRoot, repositories: [] } }) : parseConfigurationDocument(source, runtimePaths).document;
19
+ const decoded = reviewConfigurationMapping(document.toJS());
20
+ const root = document.hasIn(["review", "repositoryRoot"]) ? decoded.repositoryRoot : defaultRepositoryRoot;
28
21
  const identity = remoteIdentity(input.remote, "remote");
29
22
  const previous = existing?.repositories.find((repository) => repository.coordinate === identity.coordinate);
30
23
  if (previous !== undefined && input.path === undefined) {
@@ -49,13 +42,13 @@ export const updateRepositoryConfiguration = async (source, input, runtimePaths,
49
42
  }
50
43
  throw new Error(`Repository ${identity.coordinate} is already configured at ${previous.path}; the requested path ${repositoryPath} differs.`);
51
44
  }
52
- if (!document.has("repositoryRoot")) {
53
- document.set("repositoryRoot", defaultRepositoryRoot);
45
+ if (!document.hasIn(["review", "repositoryRoot"])) {
46
+ document.setIn(["review", "repositoryRoot"], defaultRepositoryRoot);
54
47
  }
55
- if (!document.has("repositories")) {
56
- document.set("repositories", document.createNode([]));
48
+ if (!document.hasIn(["review", "repositories"])) {
49
+ document.setIn(["review", "repositories"], document.createNode([]));
57
50
  }
58
- document.addIn(["repositories"], { remote: input.remote, path: repositoryPath });
51
+ document.addIn(["review", "repositories"], { remote: input.remote, path: repositoryPath });
59
52
  const updatedSource = document.toString();
60
53
  const configuration = await validateConfigurationSource(updatedSource, runtimePaths);
61
54
  const repository = configuration.repositories.at(-1);
@@ -1 +1 @@
1
- {"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../../src/commands/review/repositories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../../src/commands/review/repositories.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,uCAAuC,EAAE,MAAM,aAAa,CAAC;AAE7L,OAAO,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAO1G,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAE,MAAc,EAAoB,EAAE;IAC9E,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7G,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACzH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrG,gCAAgC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACzG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAChD,MAA0B,EAC1B,KAAyB,EACzB,YAAyB,EACzB,OAA6B,EACsB,EAAE;IACrD,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,uCAAuC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxH,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC;IAC1L,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,IAAI,EAA6B,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAC3G,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5G,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,cAAsB,CAAC;IAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC/K,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,kIAAkI,CAAC,CAAC;QACtJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC;YACvD,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,UAAU,6BAA6B,QAAQ,CAAC,IAAI,wBAAwB,cAAc,WAAW,CAAC,CAAC;IAChJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QAClD,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAChD,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,MAAM,2BAA2B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IACtD,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,KAAyB,EACzB,YAAyB,EACzB,OAA6B,EACC,EAAE;IAChC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,uBAAuB,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,6BAA6B,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAChI,CAAC,CAAC"}
@@ -44,7 +44,7 @@ that assumption. Follow the state rules below before any permission change.
44
44
  | `in_progress`, permission false | Report the permission lock; do not newly enable or reset status to evade it. |
45
45
  | `in_progress`, permission true | Read-only re-audit and report actual execution state. Review does not pause, stop, release, or transfer execution. |
46
46
  | `done` | Report completion and no handoff needed; do not reopen or update permission. This is mode policy, not an API prohibition on completed-task updates. |
47
- | Active or released worker record | Preserve ownership and execution history. A released execution can be `todo` but still needs confirmed original worktree/Agent continuity; enabling permission does not authorize a fresh execution elsewhere. |
47
+ | Active or released worker record | Preserve ownership and execution history. An active execution keeps its original resources. A released task starts a fresh claim/worktree/native session only through an authorized management decision; enabling permission neither resumes it nor restores deleted source resources. |
48
48
 
49
49
  If an already-enabled task fails re-audit, report the failed review, actual flag,
50
50
  and continued scheduling exposure. Keep its permission unchanged. Revocation or
@@ -92,8 +92,8 @@ Reassess changed review-relevant metadata or sources; a newly observed worker
92
92
  claim is reported under the state rules rather than treated as proof of failure.
93
93
  Report each task's content-review result, changes or concrete gaps, observed
94
94
  version, permission and status, remaining dependency blockers, and applicable
95
- worker-continuity constraints. Distinguish a confirmed permission update from an
96
- uncertain write and a read-only re-audit. Permission true alone proves neither
95
+ worker ownership and management constraints. Distinguish a confirmed permission
96
+ update from an uncertain write and a read-only re-audit. Permission true alone proves neither
97
97
  execution started nor completion; report either only from actual evidence.
98
98
 
99
99
  For a fixed set, review and report each task separately; one pass does not cover
@@ -0,0 +1,3 @@
1
+ export declare const attachWorker: (options: {
2
+ homeDirectory: string;
3
+ }) => Promise<void>;
@@ -0,0 +1,53 @@
1
+ import { createOperation } from "../../api/operation.js";
2
+ import { createHerdrInstance } from "./herdr/instance.js";
3
+ import { spawnHerdrProcess } from "./herdr/command.js";
4
+ import { resolveWorkerPaths } from "./paths.js";
5
+ export const attachWorker = async (options) => {
6
+ if (!process.stdin.isTTY || !process.stdout.isTTY)
7
+ throw new Error("daynight worker attach requires an interactive terminal.");
8
+ const instance = createHerdrInstance({ paths: resolveWorkerPaths(options.homeDirectory) });
9
+ const operation = createOperation({ limits: { totalMs: 30_000 } });
10
+ try {
11
+ await instance.connect(operation);
12
+ }
13
+ finally {
14
+ operation.dispose();
15
+ }
16
+ const attachment = instance.attachment;
17
+ const environment = Object.fromEntries(Object.entries(process.env).filter(([name]) => !attachment.unsetEnvironment.some((key) => key.toUpperCase() === name.toUpperCase())));
18
+ Object.assign(environment, attachment.environment);
19
+ // The explicit client connects only to an existing daemon, including if it exits after the probe.
20
+ // https://github.com/herdrdev/herdr/blob/2ecf19a92fc3a7fff75b6ce3655ef04f4625ec01/src/main.rs#L573-L577
21
+ const child = spawnHerdrProcess(attachment.executable, [...attachment.arguments, "client"], { env: environment, stdio: "inherit", detached: false, windowsHide: false });
22
+ const signals = process.platform === "win32" ? ["SIGINT", "SIGTERM", "SIGBREAK"] : ["SIGINT", "SIGTERM", "SIGHUP"];
23
+ let failure;
24
+ const listeners = signals.map((signal) => {
25
+ const forward = () => {
26
+ if (child.exitCode !== null || child.signalCode !== null)
27
+ return;
28
+ try {
29
+ child.kill(signal === "SIGBREAK" ? "SIGINT" : signal);
30
+ }
31
+ catch (cause) {
32
+ failure = new Error(`Cannot forward ${signal} to the Herdr attach client.`, { cause });
33
+ }
34
+ };
35
+ process.on(signal, forward);
36
+ return { signal, forward };
37
+ });
38
+ try {
39
+ const result = await new Promise((resolve) => {
40
+ child.once("error", (cause) => { failure = new Error("Cannot start the Herdr attach client.", { cause }); });
41
+ child.once("close", (code, signal) => resolve({ code, signal }));
42
+ });
43
+ if (failure !== undefined)
44
+ throw failure;
45
+ if (result.code !== 0 || result.signal !== null)
46
+ throw new Error(`The Herdr attach client failed: exit=${String(result.code)}, signal=${String(result.signal)}.`);
47
+ }
48
+ finally {
49
+ for (const { signal, forward } of listeners)
50
+ process.off(signal, forward);
51
+ }
52
+ };
53
+ //# sourceMappingURL=attach.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach.js","sourceRoot":"","sources":["../../../src/commands/worker/attach.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ServerConfiguration } from "../../config/server.js";
1
2
  import type { PathApi } from "../../platform/filesystem.js";
2
3
  import type { WorkerPaths } from "./paths.js";
3
4
  import type { FrozenExecutionConfiguration } from "./types.js";
@@ -7,11 +8,17 @@ export type WorkerRepositoryConfiguration = FrozenExecutionConfiguration & {
7
8
  projectId?: string;
8
9
  };
9
10
  export type WorkerConfiguration = FrozenExecutionConfiguration & {
11
+ repositoryRoot: string;
10
12
  maxConcurrent: number;
11
13
  pollIntervalMs: number;
12
14
  repositories: readonly WorkerRepositoryConfiguration[];
13
15
  };
16
+ export type WorkerConfigurationSnapshot = ServerConfiguration & {
17
+ readonly source: string | undefined;
18
+ readonly configuration: WorkerConfiguration;
19
+ };
14
20
  export declare const workerConfigurationDefaults: Readonly<{
21
+ repositoryRoot: "~/daynights";
15
22
  maxConcurrent: 1;
16
23
  pollIntervalMs: 5000;
17
24
  recoveryLimit: 3;
@@ -19,3 +26,6 @@ export declare const workerConfigurationDefaults: Readonly<{
19
26
  }>;
20
27
  export declare const parseWorkerConfiguration: (source: string, paths: WorkerPaths, pathApi?: PathApi) => WorkerConfiguration;
21
28
  export declare const readWorkerConfiguration: (paths: WorkerPaths, signal?: AbortSignal) => Promise<WorkerConfiguration>;
29
+ export declare const validateWorkerConfigurationSnapshotSource: (source: string | undefined, paths: WorkerPaths, signal?: AbortSignal) => Promise<WorkerConfigurationSnapshot>;
30
+ export declare const readWorkerConfigurationSnapshot: (paths: WorkerPaths, signal?: AbortSignal) => Promise<WorkerConfigurationSnapshot>;
31
+ export declare const validateWorkerConfigurationSource: (source: string, paths: WorkerPaths, signal?: AbortSignal) => Promise<WorkerConfiguration>;
@@ -1,11 +1,15 @@
1
1
  import path from "node:path";
2
2
  import { canonicalId } from "../../api/parse.js";
3
3
  import { parseConfigurationDocument } from "../../config/document.js";
4
+ import { MissingConfigurationFileError } from "../../config/errors.js";
4
5
  import { readConfigurationSource } from "../../config/files.js";
6
+ import { parseServerConfiguration } from "../../config/server.js";
5
7
  import { ancestorIdentities, missingPathsReferToSameDirectory, pathsOverlap, resolvePhysicalDirectory } from "../../platform/filesystem.js";
6
8
  import { repositoryIdentity } from "../../repository/identity.js";
9
+ import { defaultRepositoryRoot, validateRepositoryRoot } from "../../repository/location.js";
7
10
  import { validateHerdrAgentArguments } from "./herdr/arguments.js";
8
11
  export const workerConfigurationDefaults = Object.freeze({
12
+ repositoryRoot: defaultRepositoryRoot,
9
13
  maxConcurrent: 1,
10
14
  pollIntervalMs: 5_000,
11
15
  recoveryLimit: 3,
@@ -62,19 +66,21 @@ const repositoryPath = (value, field, paths, pathApi) => {
62
66
  };
63
67
  export const parseWorkerConfiguration = (source, paths, pathApi = path) => {
64
68
  const { mapping: root } = parseConfigurationDocument(source, paths);
65
- if (!Object.hasOwn(root, "worker"))
66
- throw new Error("Worker configuration is missing; configure worker.repositories in ~/.daynight/config.yml.");
67
- const worker = mapping(root.worker, "worker");
68
- keys(worker, ["maxConcurrent", "pollIntervalMs", "recoveryLimit", "agent", "model", "args", "repositories"], "worker");
69
+ const worker = Object.hasOwn(root, "worker") ? mapping(root.worker, "worker") : {};
70
+ keys(worker, ["repositoryRoot", "maxConcurrent", "pollIntervalMs", "recoveryLimit", "agent", "model", "args", "repositories"], "worker");
71
+ const repositoryRoot = Object.hasOwn(worker, "repositoryRoot")
72
+ ? validateRepositoryRoot(text(worker.repositoryRoot, "worker.repositoryRoot"), "worker.repositoryRoot", pathApi)
73
+ : workerConfigurationDefaults.repositoryRoot;
69
74
  const effective = agentConfiguration(worker, "worker", {
70
75
  agent: workerConfigurationDefaults.agent, model: null, args: [], recoveryLimit: number(worker, "recoveryLimit"),
71
76
  });
72
- if (!Array.isArray(worker.repositories))
77
+ const configuredRepositories = Object.hasOwn(worker, "repositories") ? worker.repositories : [];
78
+ if (!Array.isArray(configuredRepositories))
73
79
  throw new TypeError("worker.repositories must be a sequence.");
74
80
  const identities = new Set();
75
81
  const projects = new Set();
76
82
  const locations = [];
77
- const repositories = worker.repositories.map((entry, index) => {
83
+ const repositories = configuredRepositories.map((entry, index) => {
78
84
  const field = `worker.repositories[${index}]`;
79
85
  const repository = mapping(entry, field);
80
86
  keys(repository, ["remote", "path", "projectId", "agent", "model", "args"], field);
@@ -100,10 +106,32 @@ export const parseWorkerConfiguration = (source, paths, pathApi = path) => {
100
106
  }
101
107
  return { ...agentConfiguration(repository, field, effective), remote, path: localPath, ...(projectId === undefined ? {} : { projectId }) };
102
108
  });
103
- return { ...effective, maxConcurrent: number(worker, "maxConcurrent"), pollIntervalMs: number(worker, "pollIntervalMs"), repositories };
109
+ return { ...effective, repositoryRoot, maxConcurrent: number(worker, "maxConcurrent"), pollIntervalMs: number(worker, "pollIntervalMs"), repositories };
110
+ };
111
+ const readWorkerConfigurationSource = async (paths, signal) => {
112
+ signal?.throwIfAborted();
113
+ try {
114
+ return await readConfigurationSource(paths, signal);
115
+ }
116
+ catch (cause) {
117
+ if (!(cause instanceof MissingConfigurationFileError))
118
+ throw cause;
119
+ return undefined;
120
+ }
104
121
  };
105
122
  export const readWorkerConfiguration = async (paths, signal) => {
106
- const configuration = parseWorkerConfiguration(await readConfigurationSource(paths, signal), paths);
123
+ const source = await readWorkerConfigurationSource(paths, signal);
124
+ return validateWorkerConfigurationSource(source === undefined ? "{}" : source, paths, signal);
125
+ };
126
+ export const validateWorkerConfigurationSnapshotSource = async (source, paths, signal) => {
127
+ const content = source === undefined ? "{}" : source;
128
+ const configuration = await validateWorkerConfigurationSource(content, paths, signal);
129
+ return { source, configuration, ...parseServerConfiguration(content, paths) };
130
+ };
131
+ export const readWorkerConfigurationSnapshot = async (paths, signal) => validateWorkerConfigurationSnapshotSource(await readWorkerConfigurationSource(paths, signal), paths, signal);
132
+ export const validateWorkerConfigurationSource = async (source, paths, signal) => {
133
+ signal?.throwIfAborted();
134
+ const configuration = parseWorkerConfiguration(source, paths);
107
135
  const physicalPaths = [];
108
136
  const physicalState = await resolvePhysicalDirectory(paths.stateDirectory);
109
137
  const ancestors = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/worker/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/worker/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { CliContext } from "../../cli/context.js";
2
+ import { readWorkerConfiguration } from "./config.js";
3
+ import { changeWorkerRepositories, configuredWorkerProjectIds, readWorkerProjects, readWorkerRepositorySnapshot } from "./repositories.js";
4
+ export type WorkerRepositoryCommandRequest = {
5
+ kind: "list";
6
+ json: boolean;
7
+ } | {
8
+ kind: "add" | "remove";
9
+ projectId?: string;
10
+ };
11
+ export type WorkerRepositoryGuideDependencies = {
12
+ readConfiguration: typeof readWorkerConfiguration;
13
+ readSnapshot: typeof readWorkerRepositorySnapshot;
14
+ readProjects: typeof readWorkerProjects;
15
+ configuredProjectIds: typeof configuredWorkerProjectIds;
16
+ change: typeof changeWorkerRepositories;
17
+ };
18
+ export declare const ensureWorkerRepositories: (context: CliContext, dependencies?: WorkerRepositoryGuideDependencies, suppliedSignal?: AbortSignal) => Promise<void>;
19
+ export declare const runWorkerRepositoryCommand: (request: WorkerRepositoryCommandRequest, context: CliContext, dependencies?: WorkerRepositoryGuideDependencies, suppliedSignal?: AbortSignal) => Promise<void>;
@@ -0,0 +1,86 @@
1
+ import { CliCancelledError, withCliCancellation } from "../../cli/cancellation.js";
2
+ import { terminalText } from "../../platform/terminal.js";
3
+ import { readWorkerConfiguration } from "./config.js";
4
+ import { resolveWorkerPaths } from "./paths.js";
5
+ import { changeWorkerRepositories, configuredWorkerProjectIds, readWorkerProjects, readWorkerRepositorySnapshot } from "./repositories.js";
6
+ const defaultDependencies = {
7
+ readConfiguration: readWorkerConfiguration,
8
+ readSnapshot: readWorkerRepositorySnapshot,
9
+ readProjects: readWorkerProjects,
10
+ configuredProjectIds: configuredWorkerProjectIds,
11
+ change: changeWorkerRepositories,
12
+ };
13
+ const projectLabel = (project) => `${terminalText(project.name)} · ${project.id} · ${terminalText(project.repoUrl)}`;
14
+ const renderRepositories = (repositories, json) => {
15
+ const summaries = repositories.map(({ projectId, remote, path }) => ({ projectId: projectId === undefined ? null : projectId, remote, path }));
16
+ if (json)
17
+ return `${JSON.stringify(summaries, null, 2)}\n`;
18
+ if (summaries.length === 0)
19
+ return "No worker repositories configured.\n";
20
+ return summaries.map(({ projectId, remote, path }) => [
21
+ `Project: ${projectId === null ? "Matched by repository at startup" : projectId}`,
22
+ `Repository: ${terminalText(remote)}`,
23
+ `Path: ${terminalText(path)}`,
24
+ "",
25
+ ].join("\n")).join("\n");
26
+ };
27
+ const changeRepositories = async (request, context, dependencies, signal) => {
28
+ const paths = resolveWorkerPaths(context.homeDirectory());
29
+ const snapshot = await dependencies.readSnapshot(paths, signal);
30
+ const projects = await dependencies.readProjects(snapshot, signal);
31
+ signal.throwIfAborted();
32
+ if (projects.length === 0)
33
+ throw new Error("No accessible Daynight Projects exist. Create a Project before configuring worker repositories.");
34
+ let projectIds;
35
+ if (request.projectId !== undefined) {
36
+ if (!projects.some(({ id }) => id === request.projectId))
37
+ throw new Error(`Project ${request.projectId} does not exist or is not accessible.`);
38
+ projectIds = [request.projectId];
39
+ }
40
+ else {
41
+ const configured = new Set(dependencies.configuredProjectIds(snapshot, projects));
42
+ const choices = projects.filter(({ id }) => request.kind === "add" ? !configured.has(id) : configured.has(id));
43
+ if (choices.length === 0)
44
+ throw new Error(request.kind === "add"
45
+ ? "All accessible Daynight Projects are already configured for this worker."
46
+ : "No configured worker repository matches an accessible Daynight Project.");
47
+ const prompt = context.prompt;
48
+ if (prompt?.isInteractive !== true)
49
+ throw new Error(`Interactive worker repository configuration requires terminal input and stderr. Run daynight worker repo ${request.kind} --project <project-id>.`);
50
+ projectIds = await prompt.selectMany({
51
+ message: request.kind === "add" ? "Run tasks from which existing Daynight Projects?" : "Remove which existing Daynight Projects from worker configuration?",
52
+ choices: choices.map((project) => ({ name: projectLabel(project), value: project.id })),
53
+ requiredMessage: "Select at least one Project.",
54
+ }, signal);
55
+ signal.throwIfAborted();
56
+ const available = new Set(choices.map(({ id }) => id));
57
+ if (projectIds.length === 0 || projectIds.some((id) => !available.has(id)) || new Set(projectIds).size !== projectIds.length) {
58
+ throw new Error("Select one or more distinct Projects from the available choices.");
59
+ }
60
+ }
61
+ signal.throwIfAborted();
62
+ await dependencies.change({
63
+ paths, homeDirectory: context.homeDirectory(), snapshot, projects,
64
+ ...(request.kind === "add" ? { addProjectIds: projectIds } : { removeProjectIds: projectIds }),
65
+ signal,
66
+ });
67
+ signal.throwIfAborted();
68
+ context.stderr(`Worker repositories saved to ${paths.configFile}. Changes apply at the next worker startup.\n`);
69
+ };
70
+ export const ensureWorkerRepositories = async (context, dependencies = defaultDependencies, suppliedSignal) => withCliCancellation(context, async (signal) => {
71
+ signal.throwIfAborted();
72
+ const configuration = await dependencies.readConfiguration(resolveWorkerPaths(context.homeDirectory()), signal);
73
+ if (configuration.repositories.length > 0)
74
+ return;
75
+ await changeRepositories({ kind: "add" }, context, dependencies, signal);
76
+ }, suppliedSignal, () => new CliCancelledError("Worker repository configuration cancelled."));
77
+ export const runWorkerRepositoryCommand = async (request, context, dependencies = defaultDependencies, suppliedSignal) => withCliCancellation(context, async (signal) => {
78
+ signal.throwIfAborted();
79
+ if (request.kind === "list") {
80
+ const configuration = await dependencies.readConfiguration(resolveWorkerPaths(context.homeDirectory()), signal);
81
+ context.stdout(renderRepositories(configuration.repositories, request.json));
82
+ return;
83
+ }
84
+ await changeRepositories(request, context, dependencies, signal);
85
+ }, suppliedSignal, () => new CliCancelledError("Worker repository configuration cancelled."));
86
+ //# sourceMappingURL=configuration-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-guide.js","sourceRoot":"","sources":["../../../src/commands/worker/configuration-guide.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { TaskPlatform, WorkerMachine } from "../../api/types.js";
2
+ import type { WorkerRepositoryAssignment } from "./coordinator.js";
3
+ import type { WorkerRemote } from "./remote.js";
4
+ import type { WorkerStore } from "./store.js";
5
+ import type { LocalTask, TransferTarget } from "./types.js";
6
+ export type WorkerControlRequest = {
7
+ kind: "retry";
8
+ taskId: string;
9
+ projectId?: string;
10
+ claimId: string;
11
+ } | {
12
+ kind: "release";
13
+ taskId: string;
14
+ projectId?: string;
15
+ claimId: string;
16
+ version: bigint;
17
+ } | {
18
+ kind: "resume";
19
+ taskId: string;
20
+ projectId?: string;
21
+ claimId: string;
22
+ version: bigint;
23
+ } | {
24
+ kind: "transfer";
25
+ taskId: string;
26
+ projectId?: string;
27
+ claimId: string;
28
+ version: bigint;
29
+ target: Omit<TransferTarget, "worktreeId">;
30
+ };
31
+ export declare const createWorkerControlDriver: (options: {
32
+ store: WorkerStore;
33
+ remote: WorkerRemote;
34
+ serverOrigin: string;
35
+ now: () => number;
36
+ }) => {
37
+ advance: (input: LocalTask, signal: AbortSignal, mode?: {
38
+ submit: boolean;
39
+ }) => Promise<LocalTask>;
40
+ };
41
+ export declare const submitWorkerControl: (options: {
42
+ store: WorkerStore;
43
+ remote: WorkerRemote;
44
+ serverOrigin: string;
45
+ workerId: string;
46
+ platform: TaskPlatform;
47
+ machine: WorkerMachine;
48
+ repositories: readonly WorkerRepositoryAssignment[];
49
+ request: WorkerControlRequest;
50
+ signal: AbortSignal;
51
+ now?: () => number;
52
+ }) => Promise<{
53
+ task: LocalTask | null;
54
+ message: string;
55
+ }>;