@pennixrv/trellis 0.7.1-beta.13 → 0.7.1-beta.14

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 (117) hide show
  1. package/dist/commands/teamwork/adapters/acp.d.ts +15 -0
  2. package/dist/commands/teamwork/adapters/acp.d.ts.map +1 -0
  3. package/dist/commands/teamwork/adapters/acp.js +261 -0
  4. package/dist/commands/teamwork/adapters/acp.js.map +1 -0
  5. package/dist/commands/teamwork/adapters/claude.d.ts +1 -0
  6. package/dist/commands/teamwork/adapters/claude.d.ts.map +1 -1
  7. package/dist/commands/teamwork/adapters/claude.js +5 -0
  8. package/dist/commands/teamwork/adapters/claude.js.map +1 -1
  9. package/dist/commands/teamwork/adapters/codex.d.ts +2 -1
  10. package/dist/commands/teamwork/adapters/codex.d.ts.map +1 -1
  11. package/dist/commands/teamwork/adapters/codex.js +10 -2
  12. package/dist/commands/teamwork/adapters/codex.js.map +1 -1
  13. package/dist/commands/teamwork/adapters/index.d.ts +23 -1
  14. package/dist/commands/teamwork/adapters/index.d.ts.map +1 -1
  15. package/dist/commands/teamwork/adapters/index.js +163 -24
  16. package/dist/commands/teamwork/adapters/index.js.map +1 -1
  17. package/dist/commands/teamwork/agent-loader.d.ts +2 -1
  18. package/dist/commands/teamwork/agent-loader.d.ts.map +1 -1
  19. package/dist/commands/teamwork/agent-loader.js +2 -1
  20. package/dist/commands/teamwork/agent-loader.js.map +1 -1
  21. package/dist/commands/teamwork/artifact.d.ts +17 -8
  22. package/dist/commands/teamwork/artifact.d.ts.map +1 -1
  23. package/dist/commands/teamwork/artifact.js +69 -28
  24. package/dist/commands/teamwork/artifact.js.map +1 -1
  25. package/dist/commands/teamwork/batch-reservation.d.ts +16 -0
  26. package/dist/commands/teamwork/batch-reservation.d.ts.map +1 -0
  27. package/dist/commands/teamwork/batch-reservation.js +43 -0
  28. package/dist/commands/teamwork/batch-reservation.js.map +1 -0
  29. package/dist/commands/teamwork/batch.d.ts +5 -0
  30. package/dist/commands/teamwork/batch.d.ts.map +1 -0
  31. package/dist/commands/teamwork/batch.js +123 -0
  32. package/dist/commands/teamwork/batch.js.map +1 -0
  33. package/dist/commands/teamwork/coordination.d.ts +12 -0
  34. package/dist/commands/teamwork/coordination.d.ts.map +1 -0
  35. package/dist/commands/teamwork/coordination.js +46 -0
  36. package/dist/commands/teamwork/coordination.js.map +1 -0
  37. package/dist/commands/teamwork/coordinator.d.ts +3 -2
  38. package/dist/commands/teamwork/coordinator.d.ts.map +1 -1
  39. package/dist/commands/teamwork/coordinator.js +19 -23
  40. package/dist/commands/teamwork/coordinator.js.map +1 -1
  41. package/dist/commands/teamwork/dev-parse-trace.d.ts +2 -1
  42. package/dist/commands/teamwork/dev-parse-trace.d.ts.map +1 -1
  43. package/dist/commands/teamwork/dev-parse-trace.js +2 -0
  44. package/dist/commands/teamwork/dev-parse-trace.js.map +1 -1
  45. package/dist/commands/teamwork/guard.d.ts.map +1 -1
  46. package/dist/commands/teamwork/guard.js +15 -1
  47. package/dist/commands/teamwork/guard.js.map +1 -1
  48. package/dist/commands/teamwork/index.d.ts.map +1 -1
  49. package/dist/commands/teamwork/index.js +75 -6
  50. package/dist/commands/teamwork/index.js.map +1 -1
  51. package/dist/commands/teamwork/plan.d.ts +11 -0
  52. package/dist/commands/teamwork/plan.d.ts.map +1 -0
  53. package/dist/commands/teamwork/plan.js +183 -0
  54. package/dist/commands/teamwork/plan.js.map +1 -0
  55. package/dist/commands/teamwork/profiles.d.ts +43 -6
  56. package/dist/commands/teamwork/profiles.d.ts.map +1 -1
  57. package/dist/commands/teamwork/profiles.js +138 -110
  58. package/dist/commands/teamwork/profiles.js.map +1 -1
  59. package/dist/commands/teamwork/rm.d.ts.map +1 -1
  60. package/dist/commands/teamwork/rm.js +7 -0
  61. package/dist/commands/teamwork/rm.js.map +1 -1
  62. package/dist/commands/teamwork/run.d.ts +4 -0
  63. package/dist/commands/teamwork/run.d.ts.map +1 -1
  64. package/dist/commands/teamwork/run.js +3 -0
  65. package/dist/commands/teamwork/run.js.map +1 -1
  66. package/dist/commands/teamwork/runtime.d.ts +9 -0
  67. package/dist/commands/teamwork/runtime.d.ts.map +1 -0
  68. package/dist/commands/teamwork/runtime.js +232 -0
  69. package/dist/commands/teamwork/runtime.js.map +1 -0
  70. package/dist/commands/teamwork/spawn.d.ts +4 -0
  71. package/dist/commands/teamwork/spawn.d.ts.map +1 -1
  72. package/dist/commands/teamwork/spawn.js +32 -4
  73. package/dist/commands/teamwork/spawn.js.map +1 -1
  74. package/dist/commands/teamwork/supervisor/inbox.d.ts.map +1 -1
  75. package/dist/commands/teamwork/supervisor/inbox.js +6 -3
  76. package/dist/commands/teamwork/supervisor/inbox.js.map +1 -1
  77. package/dist/commands/teamwork/supervisor/stdout.js +1 -1
  78. package/dist/commands/teamwork/supervisor/stdout.js.map +1 -1
  79. package/dist/commands/teamwork/supervisor.d.ts +3 -0
  80. package/dist/commands/teamwork/supervisor.d.ts.map +1 -1
  81. package/dist/commands/teamwork/supervisor.js +2 -0
  82. package/dist/commands/teamwork/supervisor.js.map +1 -1
  83. package/dist/commands/teamwork/teammate-adapters.d.ts +0 -3
  84. package/dist/commands/teamwork/teammate-adapters.d.ts.map +1 -1
  85. package/dist/commands/teamwork/teammate-adapters.js +9 -54
  86. package/dist/commands/teamwork/teammate-adapters.js.map +1 -1
  87. package/dist/commands/teamwork/teammate-launch.d.ts +8 -4
  88. package/dist/commands/teamwork/teammate-launch.d.ts.map +1 -1
  89. package/dist/commands/teamwork/teammate-launch.js +86 -6
  90. package/dist/commands/teamwork/teammate-launch.js.map +1 -1
  91. package/dist/commands/update.d.ts.map +1 -1
  92. package/dist/commands/update.js +2 -1
  93. package/dist/commands/update.js.map +1 -1
  94. package/dist/configurators/workflow.d.ts.map +1 -1
  95. package/dist/configurators/workflow.js +3 -1
  96. package/dist/configurators/workflow.js.map +1 -1
  97. package/dist/migrations/manifests/0.7.1-beta.14.json +11 -0
  98. package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/multi-agent-teamwork.md +13 -1
  99. package/dist/templates/common/bundled-skills/trellis-teamwork/SKILL.md +7 -3
  100. package/dist/templates/common/bundled-skills/trellis-teamwork/references/coordination-modes.md +14 -0
  101. package/dist/templates/common/bundled-skills/trellis-teamwork/references/teammate-configuration-matrix.md +33 -31
  102. package/dist/templates/common/bundled-skills/trellis-teamwork/references/teammate-processes.md +18 -5
  103. package/dist/templates/common/bundled-skills/trellis-teamwork/references/teamwork-plan-construction.md +55 -14
  104. package/dist/templates/trellis/agents/profiles/architecture.md +9 -0
  105. package/dist/templates/trellis/agents/profiles/diagnosis.md +9 -0
  106. package/dist/templates/trellis/agents/profiles/exploration.md +9 -0
  107. package/dist/templates/trellis/agents/profiles/research.md +9 -0
  108. package/dist/templates/trellis/agents/profiles/review.md +9 -0
  109. package/dist/templates/trellis/agents/profiles/verification.md +9 -0
  110. package/dist/templates/trellis/agents/teammate-profiles.json +56 -4
  111. package/dist/templates/trellis/agents/teammate.md +20 -10
  112. package/dist/templates/trellis/index.d.ts +1 -0
  113. package/dist/templates/trellis/index.d.ts.map +1 -1
  114. package/dist/templates/trellis/index.js +16 -4
  115. package/dist/templates/trellis/index.js.map +1 -1
  116. package/dist/templates/trellis/teamwork.json +9 -0
  117. package/package.json +3 -2
@@ -1,6 +1,9 @@
1
1
  import crypto from "node:crypto";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
+ import { parseFrozenTeammate, } from "./teammate-launch.js";
5
+ import { assertCoordinationMembers, } from "./coordination.js";
6
+ import { REASONING_EFFORTS } from "./profiles.js";
4
7
  const ID = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;
5
8
  const SECRET = /(-----BEGIN [A-Z ]*PRIVATE KEY-----|\b(?:sk|gh[pousr])_[A-Za-z0-9]{20,}\b|\bBearer\s+\S+)/i;
6
9
  function id(value, field) {
@@ -100,9 +103,7 @@ function canonicalJson(value) {
100
103
  if (Array.isArray(value))
101
104
  return `[${value.map(canonicalJson).join(",")}]`;
102
105
  if (value && typeof value === "object") {
103
- const entries = Object.entries(value)
104
- .filter(([key]) => key !== "plan_hash")
105
- .sort(([a], [b]) => a.localeCompare(b));
106
+ const entries = Object.entries(value).sort(([a], [b]) => a.localeCompare(b));
106
107
  return `{${entries.map(([key, item]) => `${JSON.stringify(key)}:${canonicalJson(item)}`).join(",")}}`;
107
108
  }
108
109
  return JSON.stringify(value);
@@ -111,14 +112,20 @@ function withoutFields(value, fields) {
111
112
  return Object.fromEntries(Object.entries(value).filter(([field]) => !fields.includes(field)));
112
113
  }
113
114
  export function computeTeamworkPlanHash(value) {
114
- return crypto.createHash("sha256").update(canonicalJson(value)).digest("hex");
115
+ const contents = value && typeof value === "object" && !Array.isArray(value)
116
+ ? withoutFields(value, ["plan_hash"])
117
+ : value;
118
+ return crypto
119
+ .createHash("sha256")
120
+ .update(canonicalJson(contents))
121
+ .digest("hex");
115
122
  }
116
- export function validateTeamworkPlan(input, taskRoot, expectedContext) {
123
+ export function validateTeamworkPlan(input, taskRoot, expectedContext, options = {}) {
117
124
  if (!input || typeof input !== "object" || Array.isArray(input))
118
125
  throw new Error("Teamwork plan must be an object");
119
126
  const value = input;
120
- if (value.schema_version !== 1)
121
- throw new Error("Teamwork plan schema_version must be 1");
127
+ if (value.schema_version !== 2)
128
+ throw new Error("Teamwork plan schema_version must be 2; construct a new frozen plan");
122
129
  const taskId = id(value.task_id, "task_id");
123
130
  const batchId = id(value.batch_id, "batch_id");
124
131
  const sessionId = id(value.session_id, "session_id");
@@ -126,6 +133,7 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
126
133
  const taskRouteRevision = boundedText(value.task_route_revision, "task_route_revision");
127
134
  const inputRevision = boundedText(value.input_revision, "input_revision");
128
135
  const planSummary = boundedText(value.plan_summary, "plan_summary");
136
+ const coordinationDigest = digest(value.coordination_digest, "coordination_digest");
129
137
  const coordinationMode = value.coordination_mode;
130
138
  if (coordinationMode !== "general" &&
131
139
  coordinationMode !== "advisor" &&
@@ -147,7 +155,7 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
147
155
  const deadlineAt = Date.parse(deadline);
148
156
  if (Number.isNaN(deadlineAt))
149
157
  throw new Error("deadline must be an ISO date");
150
- if (deadlineAt <= Date.now())
158
+ if (!options.allowExpired && deadlineAt <= Date.now())
151
159
  throw new Error("deadline must be in the future");
152
160
  const assignmentValue = value.assignments;
153
161
  if (!Array.isArray(assignmentValue) || assignmentValue.length === 0)
@@ -188,8 +196,10 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
188
196
  else if (coordinationMode === "committee") {
189
197
  throw new Error(`assignments[${index}] must declare an evaluation group`);
190
198
  }
191
- if (item.role_id !== "teammate")
192
- throw new Error(`assignments[${index}].role_id must be teammate`);
199
+ if (item.role_id !== undefined)
200
+ throw new Error(`assignments[${index}].role_id is retired; teammate is an internal execution type`);
201
+ const execution = parseFrozenTeammate(item.execution);
202
+ const selectionReason = boundedText(item.selection_reason, `assignments[${index}].selection_reason`);
193
203
  const provider = item.provider;
194
204
  if (provider !== "claude" &&
195
205
  provider !== "codex" &&
@@ -205,7 +215,9 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
205
215
  throw new Error(`assignments[${index}].max_retries must be non-negative`);
206
216
  const briefPath = boundedText(item.brief_path, `assignments[${index}].brief_path`);
207
217
  const scope = boundedText(item.scope, `assignments[${index}].scope`);
208
- const lens = boundedText(item.lens, `assignments[${index}].lens`);
218
+ const lens = item.lens === undefined
219
+ ? undefined
220
+ : boundedText(item.lens, `assignments[${index}].lens`);
209
221
  const summary = boundedText(item.summary, `assignments[${index}].summary`);
210
222
  const briefDigest = digest(item.brief_digest, `assignments[${index}].brief_digest`);
211
223
  const sourceDigest = digest(item.source_digest, `assignments[${index}].source_digest`);
@@ -222,22 +234,31 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
222
234
  if (path.relative(path.resolve(taskRoot), absoluteBrief) !==
223
235
  expectedRelative)
224
236
  throw new Error(`assignments[${index}].brief_path must be ${expectedRelative}`);
225
- const briefBytes = fs.readFileSync(absoluteBrief);
237
+ const prepared = options.briefContents?.get(briefPath);
238
+ if (options.briefContents && prepared === undefined)
239
+ throw new Error(`missing prepared brief: ${briefPath}`);
240
+ const briefBytes = prepared === undefined
241
+ ? fs.readFileSync(absoluteBrief)
242
+ : Buffer.from(prepared);
226
243
  if (briefBytes.byteLength > 64 * 1024)
227
244
  throw new Error(`brief for assignment '${assignmentId}' exceeds 65536 bytes`);
228
245
  const brief = JSON.parse(briefBytes.toString("utf8"));
229
246
  if (!brief || typeof brief !== "object" || Array.isArray(brief))
230
247
  throw new Error(`brief for assignment '${assignmentId}' must be an object`);
248
+ if (typeof brief.input !== "string" ||
249
+ brief.input.trim() === "" ||
250
+ brief.input.length > 32768 ||
251
+ brief.input.includes("\0"))
252
+ throw new Error("brief.input must be nonempty task text of at most 32768 characters");
231
253
  briefs.set(assignmentId, brief);
232
254
  rejectSecrets(brief, `brief for assignment '${assignmentId}'`);
233
255
  if (computeTeamworkPlanHash(brief) !== briefDigest)
234
256
  throw new Error(`brief.${assignmentId} digest does not match the Teamwork plan`);
235
257
  for (const [field, expected] of Object.entries({
236
- schema_version: 1,
258
+ schema_version: 2,
237
259
  task_id: taskId,
238
260
  batch_id: batchId,
239
261
  assignment_id: assignmentId,
240
- role_id: "teammate",
241
262
  provider,
242
263
  summary,
243
264
  scope,
@@ -247,6 +268,16 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
247
268
  if (brief[field] !== expected)
248
269
  throw new Error(`brief.${field} does not match the Teamwork plan`);
249
270
  }
271
+ if (brief.role_id !== undefined)
272
+ throw new Error("brief.role_id is retired");
273
+ if (canonicalJson(brief.execution) !== canonicalJson(item.execution))
274
+ throw new Error("brief.execution does not match the frozen plan");
275
+ if (brief.selection_reason !== selectionReason)
276
+ throw new Error("brief.selection_reason does not match the frozen plan");
277
+ if (execution.profile.provider !== provider ||
278
+ execution.profile.profile !== profile ||
279
+ execution.profile.model !== model)
280
+ throw new Error("assignment provider, profile, or model does not match frozen execution");
250
281
  const briefSourceDigest = digest(brief.source_digest, `brief.${assignmentId}.source_digest`);
251
282
  if (briefSourceDigest !== sourceDigest)
252
283
  throw new Error(`brief.${assignmentId}.source_digest does not match the Teamwork plan`);
@@ -279,6 +310,9 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
279
310
  summary,
280
311
  scope,
281
312
  lens,
313
+ execution,
314
+ selectionReason,
315
+ taskInput: brief.input,
282
316
  briefDigest,
283
317
  sourceDigest,
284
318
  ...(contextFiles ? { contextFiles } : {}),
@@ -289,6 +323,7 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
289
323
  rejectSecrets(assignment, `assignments[${index}]`);
290
324
  return assignment;
291
325
  });
326
+ assertCoordinationMembers(coordinationMode, assignments);
292
327
  if (coordinationMode === "committee") {
293
328
  const groups = new Map();
294
329
  for (const assignment of assignments) {
@@ -315,6 +350,8 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
315
350
  "lens",
316
351
  "brief_path",
317
352
  "brief_digest",
353
+ "execution",
354
+ "selection_reason",
318
355
  ];
319
356
  const briefFields = [
320
357
  "assignment_id",
@@ -322,6 +359,8 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
322
359
  "profile",
323
360
  "model",
324
361
  "lens",
362
+ "execution",
363
+ "selection_reason",
325
364
  ];
326
365
  const first = members[0];
327
366
  if (!first)
@@ -353,7 +392,7 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
353
392
  requestedCapacityValue <= 0))
354
393
  throw new Error("requested_capacity must be a positive integer");
355
394
  const plan = {
356
- schemaVersion: 1,
395
+ schemaVersion: 2,
357
396
  taskId,
358
397
  batchId,
359
398
  sessionId,
@@ -362,6 +401,7 @@ export function validateTeamworkPlan(input, taskRoot, expectedContext) {
362
401
  inputRevision,
363
402
  planSummary,
364
403
  coordinationMode,
404
+ coordinationDigest,
365
405
  planHash: boundedText(value.plan_hash, "plan_hash"),
366
406
  ...(requestedCapacityValue !== undefined
367
407
  ? { requestedCapacity: requestedCapacityValue }
@@ -504,8 +544,8 @@ export function validateTeammateClaim(input, identity, expectedPlanHash, expecte
504
544
  if (!input || typeof input !== "object" || Array.isArray(input))
505
545
  throw new Error("teammate claim must be an object");
506
546
  const value = input;
507
- if (value.schema_version !== 1)
508
- throw new Error("teammate claim schema_version must be 1");
547
+ if (value.schema_version !== 2)
548
+ throw new Error("teammate claim schema_version must be 2");
509
549
  for (const key of [
510
550
  "task_id",
511
551
  "batch_id",
@@ -541,7 +581,7 @@ export function validateTeammateClaim(input, identity, expectedPlanHash, expecte
541
581
  if (!Number.isInteger(value.slot) || value.slot < 0)
542
582
  throw new Error("claim.slot must be non-negative");
543
583
  const snapshotKeys = [
544
- "role_id",
584
+ "configuration",
545
585
  "provider",
546
586
  "profile",
547
587
  "model",
@@ -555,8 +595,8 @@ export function validateTeammateClaim(input, identity, expectedPlanHash, expecte
555
595
  const hasSnapshot = snapshotKeys.some((key) => value[key] !== undefined);
556
596
  let execution;
557
597
  if (hasSnapshot) {
558
- if (value.role_id !== "teammate")
559
- throw new Error("claim.role_id must be teammate");
598
+ if (value.role_id !== undefined)
599
+ throw new Error("claim.role_id is retired");
560
600
  const provider = value.provider;
561
601
  if (provider !== "claude" &&
562
602
  provider !== "codex" &&
@@ -574,9 +614,7 @@ export function validateTeammateClaim(input, identity, expectedPlanHash, expecte
574
614
  throw new Error("claim.model must be bounded single-line text");
575
615
  const reasoningEffort = value.reasoning_effort;
576
616
  if (reasoningEffort !== undefined &&
577
- reasoningEffort !== "medium" &&
578
- reasoningEffort !== "high" &&
579
- reasoningEffort !== "xhigh") {
617
+ !REASONING_EFFORTS.includes(reasoningEffort)) {
580
618
  throw new Error("claim.reasoning_effort is invalid");
581
619
  }
582
620
  if (!value.options ||
@@ -605,10 +643,13 @@ export function validateTeammateClaim(input, identity, expectedPlanHash, expecte
605
643
  }
606
644
  execution = {
607
645
  roleId: "teammate",
646
+ configuration: id(value.configuration, "claim.configuration"),
608
647
  provider,
609
648
  ...(profile ? { profile } : {}),
610
649
  ...(model ? { model } : {}),
611
- ...(reasoningEffort ? { reasoningEffort } : {}),
650
+ ...(reasoningEffort
651
+ ? { reasoningEffort: reasoningEffort }
652
+ : {}),
612
653
  options,
613
654
  ...(value.profile_digest === undefined
614
655
  ? {}
@@ -621,7 +662,7 @@ export function validateTeammateClaim(input, identity, expectedPlanHash, expecte
621
662
  };
622
663
  }
623
664
  const claim = {
624
- schemaVersion: 1,
665
+ schemaVersion: 2,
625
666
  ...identity,
626
667
  planHash,
627
668
  ...(briefDigest ? { briefDigest } : {}),
@@ -680,7 +721,7 @@ export function validateTeammateDisposition(input, identity, expectedSourceDiges
680
721
  export function writeTeammateClaim(input) {
681
722
  const execution = input.launch
682
723
  ? {
683
- role_id: input.launch.roleId,
724
+ configuration: input.launch.configuration,
684
725
  provider: input.launch.provider,
685
726
  ...(input.launch.profile ? { profile: input.launch.profile } : {}),
686
727
  ...(input.launch.model ? { model: input.launch.model } : {}),
@@ -697,7 +738,7 @@ export function writeTeammateClaim(input) {
697
738
  }
698
739
  : undefined;
699
740
  const claim = validateTeammateClaim({
700
- schema_version: 1,
741
+ schema_version: 2,
701
742
  task_id: input.identity.taskId,
702
743
  batch_id: input.identity.batchId,
703
744
  assignment_id: input.identity.assignmentId,
@@ -724,7 +765,7 @@ export function writeTeammateClaim(input) {
724
765
  status: claim.status,
725
766
  ...(claim.execution
726
767
  ? {
727
- role_id: claim.execution.roleId,
768
+ configuration: claim.execution.configuration,
728
769
  provider: claim.execution.provider,
729
770
  ...(claim.execution.profile
730
771
  ? { profile: claim.execution.profile }
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../src/commands/teamwork/artifact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../src/commands/teamwork/artifact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { z } from "zod";
2
+ declare const schema: z.ZodObject<{
3
+ schemaVersion: z.ZodLiteral<1>;
4
+ sessionId: z.ZodString;
5
+ batchId: z.ZodString;
6
+ planHash: z.ZodString;
7
+ capacity: z.ZodNumber;
8
+ ownerPid: z.ZodNumber;
9
+ }, z.core.$strict>;
10
+ export type BatchReservation = z.infer<typeof schema>;
11
+ export declare function batchReservationPath(bucket: string, sessionId: string, batchId: string): string;
12
+ /** Dead coordinators do not prove that their provider processes stopped. */
13
+ export declare function readBatchReservations(bucket: string): BatchReservation[];
14
+ export declare function writeBatchReservation(bucket: string, reservation: BatchReservation): void;
15
+ export {};
16
+ //# sourceMappingURL=batch-reservation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-reservation.d.ts","sourceRoot":"","sources":["../../../src/commands/teamwork/batch-reservation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,MAAM;;;;;;;kBASD,CAAC;AACZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAEtD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAiBxE;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,gBAAgB,GAC5B,IAAI,CAMN"}
@@ -0,0 +1,43 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { z } from "zod";
4
+ import { writeFileAtomic } from "../../utils/atomic-write.js";
5
+ import { assertSafeName } from "./store/paths.js";
6
+ const schema = z
7
+ .object({
8
+ schemaVersion: z.literal(1),
9
+ sessionId: z.string().min(1),
10
+ batchId: z.string().min(1),
11
+ planHash: z.string().regex(/^[a-f0-9]{64}$/),
12
+ capacity: z.number().int().min(1).max(32),
13
+ ownerPid: z.number().int().positive(),
14
+ })
15
+ .strict();
16
+ export function batchReservationPath(bucket, sessionId, batchId) {
17
+ assertSafeName(sessionId);
18
+ assertSafeName(batchId, "batch");
19
+ return path.join(bucket, `.${sessionId}.${batchId}.batch-reservation.json`);
20
+ }
21
+ /** Dead coordinators do not prove that their provider processes stopped. */
22
+ export function readBatchReservations(bucket) {
23
+ if (!fs.existsSync(bucket))
24
+ return [];
25
+ return fs
26
+ .readdirSync(bucket)
27
+ .filter((name) => name.endsWith(".batch-reservation.json"))
28
+ .map((name) => {
29
+ const file = path.join(bucket, name);
30
+ const stat = fs.lstatSync(file);
31
+ if (!stat.isFile() || stat.isSymbolicLink() || stat.size > 4096)
32
+ throw new Error(`invalid batch capacity reservation: ${file}`);
33
+ const value = schema.parse(JSON.parse(fs.readFileSync(file, "utf8")));
34
+ if (batchReservationPath(bucket, value.sessionId, value.batchId) !== file)
35
+ throw new Error(`batch capacity reservation identity mismatch: ${file}`);
36
+ return value;
37
+ });
38
+ }
39
+ export function writeBatchReservation(bucket, reservation) {
40
+ const value = schema.parse(reservation);
41
+ writeFileAtomic(batchReservationPath(bucket, value.sessionId, value.batchId), JSON.stringify(value));
42
+ }
43
+ //# sourceMappingURL=batch-reservation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-reservation.js","sourceRoot":"","sources":["../../../src/commands/teamwork/batch-reservation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,GAAG,CAAC;KACb,MAAM,CAAC;IACN,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,SAAiB,EACjB,OAAe;IAEf,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1B,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,SAAS,IAAI,OAAO,yBAAyB,CAAC,CAAC;AAC9E,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,OAAO,EAAE;SACN,WAAW,CAAC,MAAM,CAAC;SACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;SAC1D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;YAC7D,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI;YACvE,MAAM,IAAI,KAAK,CACb,iDAAiD,IAAI,EAAE,CACxD,CAAC;QACJ,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,WAA6B;IAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACxC,eAAe,CACb,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAC5D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function teamworkBatch(planPath: string, options: {
2
+ task: string;
3
+ preflight?: boolean;
4
+ }): Promise<void>;
5
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../src/commands/teamwork/batch.ts"],"names":[],"mappings":"AA0BA,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC,IAAI,CAAC,CAkIf"}