@codetreker/daynight 0.21.13 → 0.24.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.
Files changed (102) hide show
  1. package/README.md +364 -287
  2. package/config.example.yml +69 -0
  3. package/dist/api/client.d.ts +2 -2
  4. package/dist/api/client.js +10 -7
  5. package/dist/api/client.js.map +1 -1
  6. package/dist/api/types.d.ts +1 -8
  7. package/dist/cli/prompts.d.ts +1 -0
  8. package/dist/commands/auth/credentials.js +1 -1
  9. package/dist/commands/auth/credentials.js.map +1 -1
  10. package/dist/commands/review/config.d.ts +2 -1
  11. package/dist/commands/review/config.js +22 -39
  12. package/dist/commands/review/config.js.map +1 -1
  13. package/dist/commands/review/configuration-guide.js +7 -6
  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 +19 -19
  18. package/dist/commands/review/repositories.js.map +1 -1
  19. package/dist/commands/skill/skills/using-daynight/references/execute-task-in-managed.md +6 -5
  20. package/dist/commands/skill/skills/using-daynight/references/handbook.md +1 -1
  21. package/dist/commands/skill/skills/using-daynight/references/handoff.md +1 -1
  22. package/dist/commands/worker/attach.d.ts +3 -0
  23. package/dist/commands/worker/attach.js +53 -0
  24. package/dist/commands/worker/attach.js.map +1 -0
  25. package/dist/commands/worker/cleanup.d.ts +8 -2
  26. package/dist/commands/worker/cleanup.js +44 -160
  27. package/dist/commands/worker/cleanup.js.map +1 -1
  28. package/dist/commands/worker/config.d.ts +13 -3
  29. package/dist/commands/worker/config.js +35 -13
  30. package/dist/commands/worker/config.js.map +1 -1
  31. package/dist/commands/worker/configuration-guide.d.ts +19 -0
  32. package/dist/commands/worker/configuration-guide.js +86 -0
  33. package/dist/commands/worker/configuration-guide.js.map +1 -0
  34. package/dist/commands/worker/control.d.ts +11 -18
  35. package/dist/commands/worker/control.js +75 -132
  36. package/dist/commands/worker/control.js.map +1 -1
  37. package/dist/commands/worker/coordinator.d.ts +10 -8
  38. package/dist/commands/worker/coordinator.js +311 -473
  39. package/dist/commands/worker/coordinator.js.map +1 -1
  40. package/dist/commands/worker/definition.js +34 -18
  41. package/dist/commands/worker/definition.js.map +1 -1
  42. package/dist/commands/worker/diagnostics.js +2 -3
  43. package/dist/commands/worker/diagnostics.js.map +1 -1
  44. package/dist/commands/worker/execution.d.ts +35 -10
  45. package/dist/commands/worker/execution.js +92 -283
  46. package/dist/commands/worker/execution.js.map +1 -1
  47. package/dist/commands/worker/herdr/agents.d.ts +12 -91
  48. package/dist/commands/worker/herdr/agents.js +111 -358
  49. package/dist/commands/worker/herdr/agents.js.map +1 -1
  50. package/dist/commands/worker/herdr/instance.d.ts +1 -0
  51. package/dist/commands/worker/herdr/instance.js +30 -5
  52. package/dist/commands/worker/herdr/instance.js.map +1 -1
  53. package/dist/commands/worker/herdr/preflight.d.ts +21 -9
  54. package/dist/commands/worker/herdr/preflight.js +118 -124
  55. package/dist/commands/worker/herdr/preflight.js.map +1 -1
  56. package/dist/commands/worker/herdr.d.ts +7 -63
  57. package/dist/commands/worker/herdr.js.map +1 -1
  58. package/dist/commands/worker/identity.js +2 -2
  59. package/dist/commands/worker/identity.js.map +1 -1
  60. package/dist/commands/worker/index.d.ts +8 -0
  61. package/dist/commands/worker/index.js +21 -14
  62. package/dist/commands/worker/index.js.map +1 -1
  63. package/dist/commands/worker/prompts.d.ts +10 -3
  64. package/dist/commands/worker/prompts.js +21 -32
  65. package/dist/commands/worker/prompts.js.map +1 -1
  66. package/dist/commands/worker/remote.d.ts +2 -3
  67. package/dist/commands/worker/remote.js +1 -6
  68. package/dist/commands/worker/remote.js.map +1 -1
  69. package/dist/commands/worker/repositories.d.ts +40 -0
  70. package/dist/commands/worker/repositories.js +236 -0
  71. package/dist/commands/worker/repositories.js.map +1 -0
  72. package/dist/commands/worker/runtime.d.ts +1 -0
  73. package/dist/commands/worker/runtime.js +135 -212
  74. package/dist/commands/worker/runtime.js.map +1 -1
  75. package/dist/commands/worker/setup-environment.d.ts +31 -0
  76. package/dist/commands/worker/setup-environment.js +146 -0
  77. package/dist/commands/worker/setup-environment.js.map +1 -0
  78. package/dist/commands/worker/setup.d.ts +11 -0
  79. package/dist/commands/worker/setup.js +113 -0
  80. package/dist/commands/worker/setup.js.map +1 -0
  81. package/dist/commands/worker/store.d.ts +12 -114
  82. package/dist/commands/worker/store.js +92 -817
  83. package/dist/commands/worker/store.js.map +1 -1
  84. package/dist/commands/worker/types.d.ts +10 -114
  85. package/dist/commands/worker/worktrees.d.ts +9 -9
  86. package/dist/commands/worker/worktrees.js +77 -37
  87. package/dist/commands/worker/worktrees.js.map +1 -1
  88. package/dist/config/document.d.ts +0 -1
  89. package/dist/config/document.js +1 -22
  90. package/dist/config/document.js.map +1 -1
  91. package/dist/config/errors.d.ts +2 -2
  92. package/dist/config/errors.js.map +1 -1
  93. package/dist/config/files.d.ts +7 -1
  94. package/dist/config/files.js +4 -1
  95. package/dist/config/files.js.map +1 -1
  96. package/dist/config/ownership.d.ts +12 -0
  97. package/dist/config/ownership.js +39 -0
  98. package/dist/config/ownership.js.map +1 -0
  99. package/dist/repository/location.d.ts +7 -0
  100. package/dist/repository/location.js +51 -0
  101. package/dist/repository/location.js.map +1 -0
  102. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/worker/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/worker/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  import type { TaskPlatform } from "../../api/types.js";
2
- import type { LocalTask } from "./types.js";
3
- export declare const createWorkerPromptBuilder: (packageDirectory: string) => Promise<(task: LocalTask, platform: TaskPlatform) => string>;
4
- export declare const workerCleanupPrompt: (task: LocalTask) => string;
2
+ import type { ClaimIdentity, ExecutionConfiguration, LocalTask, WorktreeBinding } from "./types.js";
3
+ export type ManagedAssignment = LocalTask & {
4
+ serverOrigin: string;
5
+ workerId: string;
6
+ worktreeId: string;
7
+ configuration: ExecutionConfiguration;
8
+ worktree: WorktreeBinding;
9
+ };
10
+ export declare const createWorkerPromptBuilder: (packageDirectory: string) => Promise<(task: ManagedAssignment, platform: TaskPlatform) => string>;
11
+ export declare const workerCleanupPrompt: (task: ClaimIdentity, deadline: number) => string;
@@ -12,53 +12,42 @@ export const createWorkerPromptBuilder = async (packageDirectory) => {
12
12
  }
13
13
  const root = path.join(packageDirectory, "dist", "commands", "skill", "skills", "using-daynight");
14
14
  return (task, platform) => {
15
- if (task.status !== "active" || task.cleanup !== null || task.control !== null)
16
- throw new Error("A managed launch requires an active execution without cleanup or management intent.");
15
+ if (task.status !== "active")
16
+ throw new Error("A managed launch requires an active execution.");
17
17
  for (const [name, value] of Object.entries({ projectId: task.projectId, taskId: task.taskId, claimId: task.claimId, workerId: task.workerId, worktreeId: task.worktreeId })) {
18
18
  if (canonicalId(value) !== value)
19
19
  throw new Error(`Managed assignment ${name} must be a canonical UUID.`);
20
20
  }
21
21
  if (!["linux", "macos", "windows"].includes(platform))
22
22
  throw new Error("Managed execution requires a supported actual platform.");
23
- const configuration = task.configuration;
24
- const worktree = task.resources.worktree;
25
- if (configuration === null || worktree === null)
26
- throw new Error("Managed execution requires the original frozen configuration and worktree binding.");
27
- if (!path.isAbsolute(task.repositoryPath) || worktree.repositoryPath !== task.repositoryPath || worktree.worktreePath !== path.join(task.repositoryPath, ".worktrees", "daynight", task.taskId) || worktree.branch !== `daynight/${task.taskId}`)
28
- throw new Error("The managed assignment does not match its original fixed worktree and branch.");
29
- validateHerdrAgentArguments(configuration.agent, configuration.args);
30
- if ((configuration.model !== null && (typeof configuration.model !== "string" || configuration.model.trim() === "")) || !Number.isSafeInteger(configuration.recoveryLimit) || configuration.recoveryLimit < 0)
31
- throw new Error("The managed assignment has an invalid frozen execution configuration.");
32
- const native = task.resources.nativeSession;
33
- if (native !== null && canonicalId(native.sessionId) !== native.sessionId)
34
- throw new Error("The original native reference must be an exact session UUID.");
23
+ const { configuration, worktree } = task;
24
+ if (!path.isAbsolute(worktree.repositoryPath) || worktree.worktreePath !== path.join(worktree.repositoryPath, ".worktrees", "daynight", task.taskId) || worktree.branch !== `daynight/${task.taskId}`)
25
+ throw new Error("The managed assignment must use the task's fixed worktree and branch.");
26
+ if (configuration.agent !== task.agent)
27
+ throw new Error("The managed assignment configuration must use its recorded agent.");
28
+ validateHerdrAgentArguments(task.agent, configuration.args);
29
+ if (task.sessionId !== null && canonicalId(task.sessionId) !== task.sessionId)
30
+ throw new Error("The native reference must be an exact session UUID.");
35
31
  const assignment = {
36
- serverOrigin: normalizeServerUrl(task.serverOrigin),
37
- projectId: task.projectId, taskId: task.taskId, claimId: task.claimId,
38
- workerId: task.workerId, worktreeId: task.worktreeId,
39
- worktreePath: worktree.worktreePath, branch: worktree.branch,
40
- platform, nativeSession: native, configuration,
32
+ serverOrigin: normalizeServerUrl(task.serverOrigin), projectId: task.projectId, taskId: task.taskId, claimId: task.claimId,
33
+ workerId: task.workerId, worktreeId: task.worktreeId, worktreePath: worktree.worktreePath, branch: worktree.branch,
34
+ platform, nativeSessionId: task.sessionId, configuration,
41
35
  };
42
36
  return [
43
37
  "The current execution environment is worker-managed.",
44
38
  "Use the using-daynight skill in execute-task-in-managed mode for this already-claimed assignment.",
45
39
  `Read the installed skill entry at ${JSON.stringify(path.join(root, "SKILL.md"))} and its references/execute-task-in-managed.md at ${JSON.stringify(path.join(root, "references", "execute-task-in-managed.md"))}. Resolve its other references from that same bundle.`,
46
- "Verify the current service task, original claim, actual worktree and frozen configuration before business writes. Missing or mismatched context means wait for intervention.",
40
+ "Verify the current service task, original claim and actual worktree before business writes.",
47
41
  "Execute only this assignment under its task and repository authorization. Preserve the controller-owned worktree and workspace. The controller owns scheduling and cleanup.",
48
42
  "After all required delivery, acceptance and evidence, complete the task with the original claimId and the version observed for that decision as the final task mutation. Unconfirmed writes require observation before any further decision.",
49
- native === null ? "This is the initial native conversation for this execution." : "Continue this same execution using its original native conversation, worktree and frozen configuration. Reconcile interrupted work before proceeding.",
50
- "Assignment:",
51
- JSON.stringify(assignment, null, 2),
43
+ task.sessionId === null ? "This is a new native conversation for this execution." : "Continue this execution in its original native conversation and worktree. Reconcile interrupted business work before proceeding.",
44
+ "Assignment:", JSON.stringify(assignment, null, 2),
52
45
  ].join("\n\n");
53
46
  };
54
47
  };
55
- export const workerCleanupPrompt = (task) => {
56
- if (task.cleanup === null)
57
- throw new Error("A cleanup request requires its persisted original deadline.");
58
- return [
59
- `The controller is stopping this execution: project ${task.projectId}, task ${task.taskId}, original claim ${task.claimId}.`,
60
- `Release temporary files, services and processes outside the worktree that this execution created and can attribute to itself. The original deadline is ${new Date(task.cleanup.deadline).toISOString()}.`,
61
- "Preserve the controller-managed worktree, branch and workspace. Leave other executions and unrelated resources intact. Finish this cleanup turn when attributable temporary resources have been released; the controller will stop this original agent.",
62
- ].join("\n\n");
63
- };
48
+ export const workerCleanupPrompt = (task, deadline) => [
49
+ `The controller is stopping this execution: project ${task.projectId}, task ${task.taskId}, original claim ${task.claimId}.`,
50
+ `Release temporary files, services and processes outside the worktree that this execution created and can attribute to itself. This cleanup attempt ends at ${new Date(deadline).toISOString()}.`,
51
+ "Preserve the controller-managed worktree, branch and workspace. Leave other executions and unrelated resources intact. Finish this cleanup turn when attributable temporary resources have been released; the controller will stop this agent.",
52
+ ].join("\n\n");
64
53
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/commands/worker/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/commands/worker/prompts.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
- import type { Project, Task, TaskPlatform, UpdateWorkerClaimInput, WorkerClaimDescriptor, ReleaseWorkerClaimInput, TransferWorkerClaimInput, ResumeWorkerTaskInput } from "../../api/types.js";
1
+ import type { Project, Task, TaskPlatform, UpdateWorkerClaimInput, WorkerClaimDescriptor, ReleaseWorkerClaimInput, ResumeWorkerTaskInput } from "../../api/types.js";
2
2
  import type { ProjectIdentity } from "./types.js";
3
3
  export type WorkerRemote = {
4
4
  readonly serverOrigin: string;
5
5
  currentUserId(signal: AbortSignal): Promise<string>;
6
6
  readTask(projectId: string, taskId: string, signal: AbortSignal): Promise<Task>;
7
- authorizeControl(projectId: string, originalUserId: string, targetUserId: string | undefined, signal: AbortSignal): Promise<void>;
7
+ authorizeControl(projectId: string, originalUserId: string, signal: AbortSignal): Promise<void>;
8
8
  release(projectId: string, taskId: string, input: ReleaseWorkerClaimInput, signal: AbortSignal): Promise<Task>;
9
- transfer(projectId: string, taskId: string, input: TransferWorkerClaimInput, signal: AbortSignal): Promise<Task>;
10
9
  resume(projectId: string, taskId: string, input: ResumeWorkerTaskInput, signal: AbortSignal): Promise<Task>;
11
10
  resolveProject(repository: {
12
11
  readonly repoUrl: string;
@@ -64,16 +64,13 @@ export const createWorkerRemote = (options) => {
64
64
  return principal;
65
65
  },
66
66
  readTask: (projectId, taskId, signal) => request(signal, (api) => api.getTask(projectId, taskId)),
67
- authorizeControl: async (projectId, originalUserId, targetUserId, signal) => {
67
+ authorizeControl: async (projectId, originalUserId, signal) => {
68
68
  const members = await request(signal, (api) => api.listProjectMembers(projectId));
69
69
  const current = members.find((member) => member.userId === verifiedUserId());
70
70
  if (current === undefined || (current.userId !== originalUserId && current.role !== "admin"))
71
71
  throw new Error("Source management requires its original owner or a current project administrator.");
72
- if (targetUserId !== undefined && !members.some((member) => member.userId === targetUserId))
73
- throw new Error("The transfer target must be a current project member.");
74
72
  },
75
73
  release: (projectId, taskId, input, signal) => request(signal, (api) => api.releaseWorkerClaim(projectId, taskId, input)),
76
- transfer: (projectId, taskId, input, signal) => request(signal, (api) => api.transferWorkerClaim(projectId, taskId, input)),
77
74
  resume: (projectId, taskId, input, signal) => request(signal, (api) => api.resumeWorkerTask(projectId, taskId, input)),
78
75
  resolveProject: async (repository, signal) => {
79
76
  const expected = repositoryIdentity(repository.repoUrl);
@@ -100,8 +97,6 @@ export const createWorkerRemote = (options) => {
100
97
  const owner = verifiedUserId();
101
98
  const selected = new Map();
102
99
  for (const project of projects) {
103
- if (normalizeServerUrl(project.serverOrigin) !== serverOrigin)
104
- throw new Error(`Worker project ${project.projectId} belongs to a different service origin.`);
105
100
  const projectId = canonicalId(project.projectId);
106
101
  if (projectId === null)
107
102
  throw new Error("Worker project ID must be a hyphenated UUID.");
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/commands/worker/remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/commands/worker/remote.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { OperationLimits } from "../../api/operation.js";
2
+ import type { Project, WorkerAgent } from "../../api/types.js";
3
+ import type { WorkerConfiguration, WorkerConfigurationSnapshot, WorkerRepositoryConfiguration } from "./config.js";
4
+ import type { WorkerPaths } from "./paths.js";
5
+ export type WorkerRepositorySnapshot = WorkerConfigurationSnapshot & {
6
+ readonly registrationBaseline: readonly unknown[];
7
+ };
8
+ export type ChangeWorkerRepositoriesOptions = {
9
+ readonly paths: WorkerPaths;
10
+ readonly homeDirectory: string;
11
+ readonly snapshot: WorkerRepositorySnapshot;
12
+ readonly projects: readonly Project[];
13
+ readonly addProjectIds?: readonly string[];
14
+ readonly removeProjectIds?: readonly string[];
15
+ readonly signal?: AbortSignal;
16
+ };
17
+ export type WorkerSetupOptions = {
18
+ readonly paths: WorkerPaths;
19
+ readonly homeDirectory: string;
20
+ readonly snapshot: WorkerRepositorySnapshot;
21
+ readonly projects: readonly Project[];
22
+ readonly projectIds: readonly string[];
23
+ readonly agent: WorkerAgent;
24
+ readonly signal?: AbortSignal;
25
+ };
26
+ export type WorkerSetupPlan = {
27
+ readonly configuration: WorkerConfiguration;
28
+ readonly removedRepositories: readonly WorkerRepositoryConfiguration[];
29
+ readonly resetRepositories: readonly WorkerRepositoryConfiguration[];
30
+ readonly resetGlobalNativeSettings: boolean;
31
+ };
32
+ export declare const readWorkerRepositorySnapshot: (paths: WorkerPaths, signal?: AbortSignal) => Promise<WorkerRepositorySnapshot>;
33
+ export declare const readWorkerProjects: (snapshot: WorkerRepositorySnapshot, signal?: AbortSignal, options?: {
34
+ readonly fetch?: typeof globalThis.fetch;
35
+ readonly operationLimits?: Partial<OperationLimits>;
36
+ }) => Promise<readonly Project[]>;
37
+ export declare const configuredWorkerProjectIds: (snapshot: WorkerRepositorySnapshot, projects: readonly Project[]) => readonly string[];
38
+ export declare const prepareWorkerSetup: (options: WorkerSetupOptions) => Promise<WorkerSetupPlan>;
39
+ export declare const saveWorkerSetup: (options: WorkerSetupOptions) => Promise<WorkerConfiguration>;
40
+ export declare const changeWorkerRepositories: (options: ChangeWorkerRepositoriesOptions) => Promise<readonly WorkerRepositoryConfiguration[]>;
@@ -0,0 +1,236 @@
1
+ import path from "node:path";
2
+ import { isDeepStrictEqual } from "node:util";
3
+ import { createApiClient } from "../../api/client.js";
4
+ import { createOperation } from "../../api/operation.js";
5
+ import { canonicalId } from "../../api/parse.js";
6
+ import { verifyConfigurationUpdate } from "../../config/ownership.js";
7
+ import { parseConfigurationDocument } from "../../config/document.js";
8
+ import { updateConfigurationFile } from "../../config/files.js";
9
+ import { repositoryIdentity } from "../../repository/identity.js";
10
+ import { repositoryLocation, resolveRepositoryRoot } from "../../repository/location.js";
11
+ import { readWorkerConfigurationSnapshot, validateWorkerConfigurationSnapshotSource, validateWorkerConfigurationSource } from "./config.js";
12
+ const workerRepositoryOwnership = {
13
+ section: "worker", fields: ["repositories"],
14
+ retainedSequence: { field: "repositories", identity: "remote", fields: ["projectId"] },
15
+ };
16
+ const workerSetupOwnership = {
17
+ section: "worker", fields: ["agent", "model", "args", "repositories"],
18
+ retainedSequence: { field: "repositories", identity: "remote", fields: ["projectId", "agent", "model", "args"] },
19
+ };
20
+ const registrationBaseline = (mapping) => {
21
+ const worker = mapping.worker;
22
+ const fields = ["serverUrl", "serverToken"].map((field) => [field, Object.hasOwn(mapping, field), mapping[field]]);
23
+ return [
24
+ ...fields, ["worker.repositoryRoot", worker !== undefined && Object.hasOwn(worker, "repositoryRoot"), worker?.repositoryRoot],
25
+ ["worker.repositories", worker !== undefined && Object.hasOwn(worker, "repositories"), worker?.repositories],
26
+ ];
27
+ };
28
+ const setupBaseline = (source, paths) => {
29
+ const { mapping } = parseConfigurationDocument(source === undefined ? "{}" : source, paths);
30
+ const worker = mapping.worker;
31
+ return [
32
+ registrationBaseline(mapping),
33
+ ...["agent", "model", "args"].map((field) => [field, worker !== undefined && Object.hasOwn(worker, field), worker?.[field]]),
34
+ ];
35
+ };
36
+ const repositorySnapshot = (snapshot, paths) => {
37
+ const { mapping } = parseConfigurationDocument(snapshot.source === undefined ? "{}" : snapshot.source, paths);
38
+ return { ...snapshot, registrationBaseline: registrationBaseline(mapping) };
39
+ };
40
+ const snapshotFromSource = async (source, paths, signal) => repositorySnapshot(await validateWorkerConfigurationSnapshotSource(source, paths, signal), paths);
41
+ export const readWorkerRepositorySnapshot = async (paths, signal) => repositorySnapshot(await readWorkerConfigurationSnapshot(paths, signal), paths);
42
+ export const readWorkerProjects = async (snapshot, signal, options = {}) => {
43
+ signal?.throwIfAborted();
44
+ if (snapshot.serverToken === undefined)
45
+ throw new Error("You are not logged in. Run daynight login to authenticate.");
46
+ const operation = createOperation({ ...(signal === undefined ? {} : { signal }), ...(options.operationLimits === undefined ? {} : { limits: options.operationLimits }) });
47
+ try {
48
+ operation.check();
49
+ const api = createApiClient({ serverUrl: snapshot.serverUrl, serverToken: snapshot.serverToken, operation, ...(options.fetch === undefined ? {} : { fetch: options.fetch }) });
50
+ return await api.listProjects();
51
+ }
52
+ finally {
53
+ operation.dispose();
54
+ }
55
+ };
56
+ export const configuredWorkerProjectIds = (snapshot, projects) => {
57
+ const ids = new Set();
58
+ for (const repository of snapshot.configuration.repositories) {
59
+ if (repository.projectId !== undefined) {
60
+ ids.add(repository.projectId);
61
+ continue;
62
+ }
63
+ const identity = repositoryIdentity(repository.remote);
64
+ const matches = projects.filter((project) => repositoryIdentity(project.repoUrl) === identity);
65
+ if (matches.length > 1)
66
+ throw new Error(`The configured repository matches multiple remote projects (${matches.map(({ id }) => id).join(", ")}); use daynight worker repo add --project <project-id> to identify it explicitly.`);
67
+ if (matches.length === 1)
68
+ ids.add(matches[0].id);
69
+ }
70
+ return [...ids];
71
+ };
72
+ const selectedProjects = (ids, projects) => {
73
+ if (ids.length === 0)
74
+ throw new Error("Select at least one existing remote project.");
75
+ const selected = new Set();
76
+ return ids.flatMap((value) => {
77
+ const id = canonicalId(value);
78
+ if (id === null)
79
+ throw new Error("Project ID must be a hyphenated UUID.");
80
+ if (selected.has(id))
81
+ return [];
82
+ selected.add(id);
83
+ const project = projects.find((candidate) => candidate.id === id);
84
+ if (project === undefined)
85
+ throw new Error(`Project ${id} is not an accessible existing remote project.`);
86
+ repositoryIdentity(project.repoUrl);
87
+ return [project];
88
+ });
89
+ };
90
+ const registeredProjectIndex = (repositories, project) => {
91
+ const identity = repositoryIdentity(project.repoUrl);
92
+ const byProject = repositories.findIndex((repository) => repository.projectId === project.id);
93
+ const byRemote = repositories.findIndex((repository) => repositoryIdentity(repository.remote) === identity);
94
+ const index = byProject === -1 ? byRemote : byProject;
95
+ if (index !== -1) {
96
+ const existing = repositories[index];
97
+ if (repositoryIdentity(existing.remote) !== identity || (existing.projectId !== undefined && existing.projectId !== project.id)) {
98
+ throw new Error(`Project ${project.id} conflicts with an existing worker repository registration.`);
99
+ }
100
+ }
101
+ return index;
102
+ };
103
+ const prepareSetupSource = async (source, options) => {
104
+ const { paths, signal } = options;
105
+ signal?.throwIfAborted();
106
+ if (!path.isAbsolute(options.homeDirectory))
107
+ throw new Error("The current user's home directory must be an absolute path.");
108
+ if (options.agent !== "codex" && options.agent !== "copilot")
109
+ throw new Error("Choose Codex or Copilot as the worker agent.");
110
+ if (new Set(options.projectIds).size !== options.projectIds.length)
111
+ throw new Error("Select distinct Projects for worker setup.");
112
+ const projects = selectedProjects(options.projectIds, options.projects);
113
+ const current = await snapshotFromSource(source, paths, signal);
114
+ const { document, mapping } = parseConfigurationDocument(source === undefined ? "{}" : source, paths);
115
+ const root = resolveRepositoryRoot(current.configuration.repositoryRoot, paths, options.homeDirectory, "worker.repositoryRoot");
116
+ const retained = new Map();
117
+ const additions = [];
118
+ for (const project of projects) {
119
+ const index = registeredProjectIndex(current.configuration.repositories, project);
120
+ if (index === -1) {
121
+ additions.push(project);
122
+ continue;
123
+ }
124
+ if (retained.has(index))
125
+ throw new Error("Selected Projects share the same repository identity.");
126
+ retained.set(index, project);
127
+ }
128
+ if (!document.has("worker"))
129
+ document.set("worker", document.createNode({}));
130
+ if (!document.hasIn(["worker", "repositories"]))
131
+ document.setIn(["worker", "repositories"], document.createNode([]));
132
+ const resetGlobalNativeSettings = current.configuration.agent !== options.agent &&
133
+ (document.hasIn(["worker", "model"]) || document.hasIn(["worker", "args"]));
134
+ if (current.configuration.agent !== options.agent) {
135
+ document.deleteIn(["worker", "model"]);
136
+ document.deleteIn(["worker", "args"]);
137
+ }
138
+ document.setIn(["worker", "agent"], options.agent);
139
+ const removedRepositories = [];
140
+ const resetRepositories = [];
141
+ for (let index = current.configuration.repositories.length - 1; index >= 0; index -= 1) {
142
+ const repository = current.configuration.repositories[index];
143
+ const project = retained.get(index);
144
+ if (project === undefined) {
145
+ document.deleteIn(["worker", "repositories", index]);
146
+ removedRepositories.unshift(repository);
147
+ continue;
148
+ }
149
+ document.setIn(["worker", "repositories", index, "projectId"], project.id);
150
+ document.deleteIn(["worker", "repositories", index, "agent"]);
151
+ if (repository.agent !== options.agent) {
152
+ document.deleteIn(["worker", "repositories", index, "model"]);
153
+ document.deleteIn(["worker", "repositories", index, "args"]);
154
+ resetRepositories.unshift(repository);
155
+ }
156
+ }
157
+ for (const project of additions)
158
+ document.addIn(["worker", "repositories"], {
159
+ projectId: project.id, remote: project.repoUrl, path: repositoryLocation(project.repoUrl, root),
160
+ });
161
+ const updatedSource = document.toString();
162
+ verifyConfigurationUpdate(mapping, parseConfigurationDocument(updatedSource, paths).mapping, workerSetupOwnership);
163
+ const configuration = await validateWorkerConfigurationSource(updatedSource, paths, signal);
164
+ return { source: updatedSource, configuration, removedRepositories, resetRepositories, resetGlobalNativeSettings };
165
+ };
166
+ export const prepareWorkerSetup = async (options) => {
167
+ const { source: _source, ...plan } = await prepareSetupSource(options.snapshot.source, options);
168
+ return plan;
169
+ };
170
+ export const saveWorkerSetup = async (options) => {
171
+ const expected = setupBaseline(options.snapshot.source, options.paths);
172
+ return updateConfigurationFile(options.paths, async (source) => {
173
+ if (!isDeepStrictEqual(setupBaseline(source, options.paths), expected)) {
174
+ throw new Error("Worker agent, repository configuration or service credentials changed during setup. Run daynight worker setup again with the current configuration.");
175
+ }
176
+ const prepared = await prepareSetupSource(source, options);
177
+ return { kind: "write", source: prepared.source, result: prepared.configuration, ownership: workerSetupOwnership };
178
+ }, options.signal);
179
+ };
180
+ export const changeWorkerRepositories = async (options) => {
181
+ const { paths, snapshot, signal } = options;
182
+ signal?.throwIfAborted();
183
+ if (!path.isAbsolute(options.homeDirectory))
184
+ throw new Error("The current user's home directory must be an absolute path.");
185
+ if ((options.addProjectIds === undefined) === (options.removeProjectIds === undefined))
186
+ throw new Error("Choose exactly one repository registration operation.");
187
+ const adding = options.addProjectIds !== undefined;
188
+ const projects = selectedProjects(adding ? options.addProjectIds : options.removeProjectIds, options.projects);
189
+ return updateConfigurationFile(paths, async (source) => {
190
+ const current = await snapshotFromSource(source, paths, signal);
191
+ if (!isDeepStrictEqual(current.registrationBaseline, snapshot.registrationBaseline))
192
+ throw new Error("Worker repository configuration or service credentials changed while selecting projects. Run the command again with the current configuration.");
193
+ const { document, mapping } = parseConfigurationDocument(source === undefined ? "{}" : source, paths);
194
+ const repositories = [...current.configuration.repositories];
195
+ let changed = false;
196
+ if (adding) {
197
+ const root = resolveRepositoryRoot(current.configuration.repositoryRoot, paths, options.homeDirectory, "worker.repositoryRoot");
198
+ for (const project of projects) {
199
+ const index = registeredProjectIndex(repositories, project);
200
+ if (index !== -1) {
201
+ const existing = repositories[index];
202
+ // Retained SQLite bindings keep this exact transport URL, even when the Project address has an equivalent identity.
203
+ if (existing.projectId !== project.id) {
204
+ document.setIn(["worker", "repositories", index, "projectId"], project.id);
205
+ repositories[index] = { ...existing, projectId: project.id };
206
+ changed = true;
207
+ }
208
+ continue;
209
+ }
210
+ if (!document.has("worker"))
211
+ document.set("worker", document.createNode({}));
212
+ if (!document.hasIn(["worker", "repositories"]))
213
+ document.setIn(["worker", "repositories"], document.createNode([]));
214
+ const entry = { projectId: project.id, remote: project.repoUrl, path: repositoryLocation(project.repoUrl, root) };
215
+ document.addIn(["worker", "repositories"], entry);
216
+ repositories.push({ agent: current.configuration.agent, model: current.configuration.model, args: current.configuration.args, recoveryLimit: current.configuration.recoveryLimit, ...entry });
217
+ changed = true;
218
+ }
219
+ }
220
+ else {
221
+ const removals = repositories.flatMap((repository, index) => projects.some((project) => repository.projectId === project.id ||
222
+ (repository.projectId === undefined && repositoryIdentity(repository.remote) === repositoryIdentity(project.repoUrl))) ? [index] : []);
223
+ for (const index of removals.toReversed()) {
224
+ document.deleteIn(["worker", "repositories", index]);
225
+ changed = true;
226
+ }
227
+ }
228
+ if (!changed)
229
+ return { kind: "unchanged", result: current.configuration.repositories };
230
+ const updatedSource = document.toString();
231
+ verifyConfigurationUpdate(mapping, parseConfigurationDocument(updatedSource, paths).mapping, workerRepositoryOwnership);
232
+ const configuration = await validateWorkerConfigurationSource(updatedSource, paths, signal);
233
+ return { kind: "write", source: updatedSource, result: configuration.repositories, ownership: workerRepositoryOwnership };
234
+ }, signal);
235
+ };
236
+ //# sourceMappingURL=repositories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../../src/commands/worker/repositories.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare const runWorker: (options: {
6
6
  packageDirectory: string;
7
7
  log?: (message: string) => void;
8
8
  signal?: AbortSignal;
9
+ prepareRepositories?: (signal: AbortSignal) => Promise<void>;
9
10
  }) => Promise<void>;
10
11
  export declare const runWorkerControl: (options: {
11
12
  homeDirectory: string;