@paperclipai/server 2026.910.0-canary.2 → 2026.910.0-canary.4

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 (66) hide show
  1. package/dist/build-info.json +1 -1
  2. package/dist/modules/wake-queue/adapters/postgres.d.ts +13 -4
  3. package/dist/modules/wake-queue/adapters/postgres.d.ts.map +1 -1
  4. package/dist/modules/wake-queue/adapters/postgres.js +162 -115
  5. package/dist/modules/wake-queue/adapters/postgres.js.map +1 -1
  6. package/dist/modules/wake-queue/adapters/postgres.test.js +95 -12
  7. package/dist/modules/wake-queue/adapters/postgres.test.js.map +1 -1
  8. package/dist/modules/wake-queue/application/ports.d.ts +150 -32
  9. package/dist/modules/wake-queue/application/ports.d.ts.map +1 -1
  10. package/dist/modules/wake-queue/application/ports.js +36 -1
  11. package/dist/modules/wake-queue/application/ports.js.map +1 -1
  12. package/dist/modules/wake-queue/application/types.d.ts +3 -3
  13. package/dist/modules/wake-queue/application/types.d.ts.map +1 -1
  14. package/dist/modules/wake-queue/application/types.js.map +1 -1
  15. package/dist/modules/wake-queue/application/use-cases.d.ts +34 -1
  16. package/dist/modules/wake-queue/application/use-cases.d.ts.map +1 -1
  17. package/dist/modules/wake-queue/application/use-cases.js +332 -195
  18. package/dist/modules/wake-queue/application/use-cases.js.map +1 -1
  19. package/dist/modules/wake-queue/application/use-cases.test.js +237 -48
  20. package/dist/modules/wake-queue/application/use-cases.test.js.map +1 -1
  21. package/dist/modules/wake-queue/domain/context.d.ts.map +1 -1
  22. package/dist/modules/wake-queue/domain/context.js +1 -3
  23. package/dist/modules/wake-queue/domain/context.js.map +1 -1
  24. package/dist/modules/wake-queue/domain/policy.d.ts +94 -29
  25. package/dist/modules/wake-queue/domain/policy.d.ts.map +1 -1
  26. package/dist/modules/wake-queue/domain/policy.js +101 -31
  27. package/dist/modules/wake-queue/domain/policy.js.map +1 -1
  28. package/dist/modules/wake-queue/domain/policy.test.js +276 -118
  29. package/dist/modules/wake-queue/domain/policy.test.js.map +1 -1
  30. package/dist/modules/wake-queue/domain/values.d.ts +12 -0
  31. package/dist/modules/wake-queue/domain/values.d.ts.map +1 -0
  32. package/dist/modules/wake-queue/domain/values.js +22 -0
  33. package/dist/modules/wake-queue/domain/values.js.map +1 -0
  34. package/dist/modules/wake-queue/index.d.ts +19 -6
  35. package/dist/modules/wake-queue/index.d.ts.map +1 -1
  36. package/dist/modules/wake-queue/index.js +15 -2
  37. package/dist/modules/wake-queue/index.js.map +1 -1
  38. package/dist/routes/agents.d.ts.map +1 -1
  39. package/dist/routes/agents.js +62 -4
  40. package/dist/routes/agents.js.map +1 -1
  41. package/dist/services/device-login-service.d.ts +11 -1
  42. package/dist/services/device-login-service.d.ts.map +1 -1
  43. package/dist/services/device-login-service.js +5 -1
  44. package/dist/services/device-login-service.js.map +1 -1
  45. package/dist/services/heartbeat.d.ts.map +1 -1
  46. package/dist/services/heartbeat.js +92 -127
  47. package/dist/services/heartbeat.js.map +1 -1
  48. package/dist/services/productivity-review.d.ts +1 -1
  49. package/dist/vendor/paperclip-runner/live/live-session.d.ts.map +1 -1
  50. package/dist/vendor/paperclip-runner/live/live-session.js +8 -2
  51. package/dist/vendor/paperclip-runner/live/live-session.js.map +1 -1
  52. package/dist/vendor/paperclip-runner/live/runnerd-codex-transport.d.ts.map +1 -1
  53. package/dist/vendor/paperclip-runner/live/runnerd-codex-transport.js +12 -7
  54. package/dist/vendor/paperclip-runner/live/runnerd-codex-transport.js.map +1 -1
  55. package/package.json +18 -18
  56. package/ui-dist/assets/{Agents.production-CujQzcqo.js → Agents.production-B0DqN_yL.js} +2 -2
  57. package/ui-dist/assets/{CompanyActivity.production-mm05ebN5.js → CompanyActivity.production-DP9akAM8.js} +1 -1
  58. package/ui-dist/assets/{CompanyExport-C4bNby2L.js → CompanyExport-CGJIbs6-.js} +1 -1
  59. package/ui-dist/assets/{CompanySkills.production-Bv9n49q0.js → CompanySkills.production-BsWh2GY-.js} +1 -1
  60. package/ui-dist/assets/{Costs.production-DeTxS4ae.js → Costs.production-Bia-7kS_.js} +1 -1
  61. package/ui-dist/assets/{OrgChart.production-DAEc4HRW.js → OrgChart.production-B6Uzhri_.js} +1 -1
  62. package/ui-dist/assets/{RoutineDetail.production-DERyPrGW.js → RoutineDetail.production-W6DCqC9I.js} +1 -1
  63. package/ui-dist/assets/{Routines.production-nTZiQmYI.js → Routines.production-TTNbqkPb.js} +1 -1
  64. package/ui-dist/assets/{index-hYVub16x.js → index-V25eXtRS.js} +137 -137
  65. package/ui-dist/index.html +1 -1
  66. package/ui-dist/sw.js +1 -1
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "6dd48cad4"
2
+ "commit": "bce976d60"
3
3
  }
@@ -1,9 +1,18 @@
1
1
  import type { Db } from "@paperclipai/db";
2
- import type { IssueLockWriter, WakeQueueReader } from "../application/ports.js";
2
+ import { TransactionScope } from "../application/ports.js";
3
+ import type { IssueLockWriter, WakeAdmissionReader, WakeAdmissionWriter, WakeQueueHost } from "../application/ports.js";
3
4
  export type WakeQueuePostgresAdapterDeps = {
4
- resolveResponsibleUserId: WakeQueueReader["resolveResponsibleUserId"];
5
- getRoutineEnv: WakeQueueReader["getRoutineEnv"];
6
- resolveSessionBeforeForWakeup: WakeQueueReader["resolveSessionBeforeForWakeup"];
5
+ resolveResponsibleUserId: WakeQueueHost["resolveResponsibleUserId"];
6
+ getRoutineEnv: WakeQueueHost["getRoutineEnv"];
7
+ resolveSessionBeforeForWakeup: WakeQueueHost["resolveSessionBeforeForWakeup"];
7
8
  };
9
+ /**
10
+ * Builds the temporary transaction-scope handle the admission port needs.
11
+ * `heartbeat.ts` calls this through `createWakeQueue`'s own wrapper; it
12
+ * never builds a `TransactionScope` itself.
13
+ */
14
+ export declare function createAdmissionTransactionScope(companyId: string, tx: Db): TransactionScope;
15
+ export declare function createWakeAdmissionReader(): WakeAdmissionReader;
16
+ export declare function createWakeAdmissionWriter(): WakeAdmissionWriter;
8
17
  export declare function createPostgresWakeQueueAdapter(db: Db, deps: WakeQueuePostgresAdapterDeps): IssueLockWriter;
9
18
  //# sourceMappingURL=postgres.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../../src/modules/wake-queue/adapters/postgres.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAgC1C,OAAO,KAAK,EAGV,eAAe,EAKf,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AA0HjC,MAAM,MAAM,4BAA4B,GAAG;IACzC,wBAAwB,EAAE,eAAe,CAAC,0BAA0B,CAAC,CAAC;IACtE,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAChD,6BAA6B,EAAE,eAAe,CAAC,+BAA+B,CAAC,CAAC;CACjF,CAAC;AAohBF,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,GAAG,eAAe,CAmH1G"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../../src/modules/wake-queue/adapters/postgres.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAkC1C,OAAO,EAA6B,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,KAAK,EAGV,eAAe,EAKf,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAsGjC,MAAM,MAAM,4BAA4B,GAAG;IACzC,wBAAwB,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACpE,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC9C,6BAA6B,EAAE,aAAa,CAAC,+BAA+B,CAAC,CAAC;CAC/E,CAAC;AA+dF;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,gBAAgB,CAE3F;AAMD,wBAAgB,yBAAyB,IAAI,mBAAmB,CA2C/D;AAED,wBAAgB,yBAAyB,IAAI,mBAAmB,CA4E/D;AAED,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,GAAG,eAAe,CAqH1G"}
@@ -1,7 +1,7 @@
1
1
  import { and, asc, eq, inArray, isNull, notInArray, or, sql } from "drizzle-orm";
2
2
  import { agentWakeupRequests, agents, heartbeatRuns, issueComments, issueRecoveryActions, issueRelations, issues, nativeRunFinalizations, } from "@paperclipai/db";
3
3
  import { legacyExecutionNeedsReconciliation } from "../../../services/legacy-execution-recovery.js";
4
- import { evaluateAgentInvokability } from "../../../services/agent-invokability.js";
4
+ import { evaluateAgentInvokabilityFromDb } from "../../../services/agent-invokability.js";
5
5
  import { issueTreeControlService, isVerifiedIssueTreeControlInteractionWake } from "../../../services/issue-tree-control.js";
6
6
  import { isAutomaticRecoverySuppressedByPauseHold } from "../../../services/recovery/pause-hold-guard.js";
7
7
  import { issueService } from "../../../services/issues.js";
@@ -9,40 +9,25 @@ import { issueRecoveryActionService } from "../../../services/issue-recovery-act
9
9
  import { readContinuationAttempt } from "../../../services/recovery/run-liveness-continuations.js";
10
10
  import { withRecoveryContext } from "../../../services/recovery/status-only-context.js";
11
11
  import { parseIssueExecutionState } from "../../../services/issue-execution-policy.js";
12
- import { buildConfigurationIncompleteRecoveryNoticeSeed, buildExecutionReviewParticipantRecoveryNoticeSeed, buildImmediateExecutionPathRecoveryNoticeSeed, buildWorkspaceValidationRecoveryNoticeSeed, } from "../../../services/recovery/stranded-notice.js";
13
12
  import { queuedCommentIdsFromWakePayload, withQueuedCommentIdsInWakePayload, } from "../../../services/issue-queued-comment-queue.js";
14
13
  import { extractWakeCommentIds } from "../../run-dispatch/index.js";
15
14
  import { hasInteractionContinuationWakeContext } from "../domain/context.js";
16
- import { WakeQueueApplicationError } from "../application/types.js";
15
+ import { decidePreDrain } from "../domain/policy.js";
16
+ import { EXECUTION_REVIEW_PARTICIPANT_RECOVERY_RETRY_REASON, isConfigurationIncompleteFailedRun, isWorkspaceValidationFailedRun, parseObject, readNonEmptyString, } from "../domain/values.js";
17
+ import { requireTransactionScopeTx, TransactionScope } from "../application/ports.js";
17
18
  const DEFERRED_WAKE_STATUS = "deferred_issue_execution";
18
19
  const DEFERRED_WAKE_CONTEXT_KEY = "_paperclipWakeContext";
19
- const WORKSPACE_VALIDATION_FAILURE_CODE = "workspace_validation_failed";
20
- const CONFIGURATION_INCOMPLETE_FAILURE_CODE = "configuration_incomplete";
21
- const WORKSPACE_VALIDATION_RECOVERY_CAUSE = "workspace_validation_failed";
22
- const CONFIGURATION_INCOMPLETE_RECOVERY_CAUSE = "configuration_incomplete";
23
- const EXECUTION_REVIEW_PARTICIPANT_RECOVERY_CAUSE = "execution_review_participant_recovery";
24
- const EXECUTION_REVIEW_PARTICIPANT_RECOVERY_WAKE_REASON = "execution_review_participant_recovery";
25
- const EXECUTION_REVIEW_PARTICIPANT_RECOVERY_RETRY_REASON = "execution_review_participant_recovery";
26
20
  const EXECUTION_PATH_HEARTBEAT_RUN_STATUSES = ["queued", "running", "scheduled_retry"];
27
- function parseObject(value) {
28
- return typeof value === "object" && value !== null && !Array.isArray(value)
29
- ? value
30
- : {};
31
- }
32
- function readNonEmptyString(value) {
33
- return typeof value === "string" && value.trim().length > 0 ? value : null;
34
- }
35
21
  function normalizeAgentNameKey(value) {
36
22
  if (typeof value !== "string")
37
23
  return null;
38
24
  const normalized = value.trim().toLowerCase();
39
25
  return normalized.length > 0 ? normalized : null;
40
26
  }
41
- function isWorkspaceValidationFailedRun(run) {
42
- return run.errorCode === WORKSPACE_VALIDATION_FAILURE_CODE;
43
- }
44
- function isConfigurationIncompleteFailedRun(run) {
45
- return run.errorCode === CONFIGURATION_INCOMPLETE_FAILURE_CODE || run.errorCode === "model_not_found";
27
+ function toRequestedByActorType(value) {
28
+ // The database column is free text; map any value outside the union to
29
+ // null instead of widening the type back to string.
30
+ return value === "user" || value === "agent" || value === "system" ? value : null;
46
31
  }
47
32
  function toRunSnapshot(row) {
48
33
  const configurationIncompletePayload = parseObject(parseObject(row.resultJson).configurationIncomplete);
@@ -107,7 +92,7 @@ function toDeferredWakeCandidate(row) {
107
92
  reason: row.reason,
108
93
  source: row.source,
109
94
  triggerDetail: row.triggerDetail,
110
- requestedByActorType: row.requestedByActorType,
95
+ requestedByActorType: toRequestedByActorType(row.requestedByActorType),
111
96
  requestedByActorId: row.requestedByActorId,
112
97
  payload,
113
98
  queuedCommentIds,
@@ -117,7 +102,16 @@ function toDeferredWakeCandidate(row) {
117
102
  wakeReason,
118
103
  };
119
104
  }
120
- function buildReader(tx, deps) {
105
+ function buildHost(_tx, deps) {
106
+ return {
107
+ resolveResponsibleUserId: deps.resolveResponsibleUserId,
108
+ getRoutineEnv: deps.getRoutineEnv,
109
+ resolveSessionBeforeForWakeup: deps.resolveSessionBeforeForWakeup,
110
+ };
111
+ }
112
+ function buildTransaction(tx, deps) {
113
+ const treeControlSvc = issueTreeControlService(tx);
114
+ const issuesSvc = issueService(tx);
121
115
  return {
122
116
  async findInvokableAgent({ companyId, agentId }) {
123
117
  const agent = await tx
@@ -127,23 +121,10 @@ function buildReader(tx, deps) {
127
121
  .then((rows) => rows[0] ?? null);
128
122
  if (!agent)
129
123
  return null;
130
- const companyAgents = await tx
131
- .select({ id: agents.id, companyId: agents.companyId, name: agents.name, reportsTo: agents.reportsTo, status: agents.status })
132
- .from(agents)
133
- .where(eq(agents.companyId, companyId));
134
- const invokability = evaluateAgentInvokability(agent, companyAgents);
124
+ const invokability = await evaluateAgentInvokabilityFromDb(tx, agent);
135
125
  return { id: agent.id, companyId: agent.companyId, name: agent.name, invokable: invokability.invokable };
136
126
  },
137
- resolveResponsibleUserId: deps.resolveResponsibleUserId,
138
- getRoutineEnv: deps.getRoutineEnv,
139
- resolveSessionBeforeForWakeup: deps.resolveSessionBeforeForWakeup,
140
- };
141
- }
142
- function buildWriter(tx, deps) {
143
- const treeControlSvc = issueTreeControlService(tx);
144
- const issuesSvc = issueService(tx);
145
- return {
146
- async claimNextDeferredWake({ companyId, issueId }) {
127
+ async findNextDeferredWake({ companyId, issueId }) {
147
128
  const row = await tx
148
129
  .select()
149
130
  .from(agentWakeupRequests)
@@ -315,24 +296,6 @@ function buildWriter(tx, deps) {
315
296
  async isAutomaticRecoverySuppressedByPauseHold({ companyId, issueId }) {
316
297
  return isAutomaticRecoverySuppressedByPauseHold(tx, companyId, issueId, treeControlSvc);
317
298
  },
318
- async buildBlockedRecoveryNotice({ noticeKind, issueStatus, finishingRun }) {
319
- if (noticeKind === "workspace_validation") {
320
- return { notice: buildWorkspaceValidationRecoveryNoticeSeed(), recoveryCause: WORKSPACE_VALIDATION_RECOVERY_CAUSE };
321
- }
322
- if (noticeKind === "configuration_incomplete") {
323
- return {
324
- notice: buildConfigurationIncompleteRecoveryNoticeSeed(finishingRun.configurationIncompletePayload),
325
- recoveryCause: CONFIGURATION_INCOMPLETE_RECOVERY_CAUSE,
326
- };
327
- }
328
- if (noticeKind === "execution_review_participant") {
329
- return {
330
- notice: buildExecutionReviewParticipantRecoveryNoticeSeed(),
331
- recoveryCause: EXECUTION_REVIEW_PARTICIPANT_RECOVERY_CAUSE,
332
- };
333
- }
334
- return { notice: buildImmediateExecutionPathRecoveryNoticeSeed({ status: issueStatus }), recoveryCause: null };
335
- },
336
299
  async queueReviewParticipantRecoveryRun({ companyId, issue, finishingRun, recoveryAgent, sessionBefore, now }) {
337
300
  const executionState = parseIssueExecutionState(issue.executionState);
338
301
  const wakeupRequest = await tx
@@ -342,7 +305,7 @@ function buildWriter(tx, deps) {
342
305
  agentId: recoveryAgent.id,
343
306
  source: "automation",
344
307
  triggerDetail: "system",
345
- reason: EXECUTION_REVIEW_PARTICIPANT_RECOVERY_WAKE_REASON,
308
+ reason: EXECUTION_REVIEW_PARTICIPANT_RECOVERY_RETRY_REASON,
346
309
  payload: withRecoveryContext({
347
310
  issueId: issue.id,
348
311
  retryOfRunId: finishingRun.id,
@@ -369,7 +332,7 @@ function buildWriter(tx, deps) {
369
332
  contextSnapshot: withRecoveryContext({
370
333
  issueId: issue.id,
371
334
  taskId: issue.id,
372
- wakeReason: EXECUTION_REVIEW_PARTICIPANT_RECOVERY_WAKE_REASON,
335
+ wakeReason: EXECUTION_REVIEW_PARTICIPANT_RECOVERY_RETRY_REASON,
373
336
  retryReason: EXECUTION_REVIEW_PARTICIPANT_RECOVERY_RETRY_REASON,
374
337
  source: "issue.execution_review_recovery",
375
338
  retryOfRunId: finishingRun.id,
@@ -398,39 +361,7 @@ function buildWriter(tx, deps) {
398
361
  .where(and(eq(issues.id, issue.id), eq(issues.companyId, companyId)));
399
362
  return toRunSummary(queuedRun);
400
363
  },
401
- async queueImmediateRecoveryRun({ companyId, issue, finishingRun, recoveryAgent, sessionBefore, now }) {
402
- const retryReason = issue.status === "todo" ? "assignment_recovery" : "issue_continuation_needed";
403
- const recoveryReason = issue.status === "todo" ? "issue_assignment_recovery" : "issue_continuation_needed";
404
- const recoverySource = issue.status === "todo" ? "issue.assignment_recovery" : "issue.continuation_recovery";
405
- const recoveryContextSnapshot = withRecoveryContext({
406
- issueId: issue.id,
407
- taskId: issue.id,
408
- wakeReason: recoveryReason,
409
- retryReason,
410
- source: recoverySource,
411
- retryOfRunId: finishingRun.id,
412
- }, "normal_model");
413
- const routineEnvContext = await deps.getRoutineEnv({ companyId, issue });
414
- const responsibleUserId = await deps.resolveResponsibleUserId({
415
- companyId,
416
- contextSnapshot: recoveryContextSnapshot,
417
- issue,
418
- routineEnvContext,
419
- requestedByActorType: "system",
420
- requestedByActorId: null,
421
- source: "automation",
422
- triggerDetail: "system",
423
- existingRunResponsibleUserId: finishingRun.responsibleUserId,
424
- });
425
- if (!responsibleUserId) {
426
- throw new WakeQueueApplicationError("responsible_user_unresolved", "Unable to resolve responsible user for recovery heartbeat run", {
427
- runId: finishingRun.id,
428
- agentId: recoveryAgent.id,
429
- companyId,
430
- issueId: issue.id,
431
- wakeReason: recoveryReason,
432
- });
433
- }
364
+ async queueImmediateRecoveryRun({ companyId, issue, finishingRun, recoveryAgent, reason, contextSnapshot, responsibleUserId, sessionBefore, now, }) {
434
365
  const wakeupRequest = await tx
435
366
  .insert(agentWakeupRequests)
436
367
  .values({
@@ -438,7 +369,7 @@ function buildWriter(tx, deps) {
438
369
  agentId: recoveryAgent.id,
439
370
  source: "automation",
440
371
  triggerDetail: "system",
441
- reason: recoveryReason,
372
+ reason,
442
373
  payload: withRecoveryContext({ issueId: issue.id, retryOfRunId: finishingRun.id }, "normal_model"),
443
374
  status: "queued",
444
375
  requestedByActorType: "system",
@@ -456,7 +387,7 @@ function buildWriter(tx, deps) {
456
387
  triggerDetail: "system",
457
388
  status: "queued",
458
389
  wakeupRequestId: wakeupRequest.id,
459
- contextSnapshot: recoveryContextSnapshot,
390
+ contextSnapshot,
460
391
  responsibleUserId,
461
392
  sessionIdBefore: sessionBefore,
462
393
  retryOfRunId: finishingRun.id,
@@ -523,6 +454,119 @@ async function recordNativeTerminalRecoveryIfNeeded(tx, run, issue, now) {
523
454
  }
524
455
  return true;
525
456
  }
457
+ /**
458
+ * Builds the temporary transaction-scope handle the admission port needs.
459
+ * `heartbeat.ts` calls this through `createWakeQueue`'s own wrapper; it
460
+ * never builds a `TransactionScope` itself.
461
+ */
462
+ export function createAdmissionTransactionScope(companyId, tx) {
463
+ return TransactionScope.create(companyId, tx);
464
+ }
465
+ function requireAdmissionTx(scope, companyId) {
466
+ return requireTransactionScopeTx(scope, companyId);
467
+ }
468
+ export function createWakeAdmissionReader() {
469
+ return {
470
+ async isSameExecutionAgent(scope, { companyId, activeExecutionRunAgentId, issueExecutionAgentNameKey, agentNameKey }) {
471
+ const tx = requireAdmissionTx(scope, companyId);
472
+ const executionAgent = await tx
473
+ .select({ name: agents.name })
474
+ .from(agents)
475
+ .where(and(eq(agents.id, activeExecutionRunAgentId), eq(agents.companyId, companyId)))
476
+ .then((rows) => rows[0] ?? null);
477
+ const executionAgentNameKey = normalizeAgentNameKey(issueExecutionAgentNameKey) ?? normalizeAgentNameKey(executionAgent?.name);
478
+ return Boolean(executionAgentNameKey) && executionAgentNameKey === agentNameKey;
479
+ },
480
+ async findExistingDeferredWake(scope, { companyId, agentId, issueId }) {
481
+ const tx = requireAdmissionTx(scope, companyId);
482
+ const row = await tx
483
+ .select()
484
+ .from(agentWakeupRequests)
485
+ .where(and(eq(agentWakeupRequests.companyId, companyId), eq(agentWakeupRequests.agentId, agentId), eq(agentWakeupRequests.status, DEFERRED_WAKE_STATUS), sql `${agentWakeupRequests.payload} ->> 'issueId' = ${issueId}`))
486
+ .orderBy(asc(agentWakeupRequests.requestedAt))
487
+ .limit(1)
488
+ .then((rows) => rows[0] ?? null);
489
+ if (!row)
490
+ return null;
491
+ const payload = parseObject(row.payload);
492
+ return {
493
+ id: row.id,
494
+ payload,
495
+ deferredContext: parseObject(payload[DEFERRED_WAKE_CONTEXT_KEY]),
496
+ coalescedCount: row.coalescedCount,
497
+ };
498
+ },
499
+ };
500
+ }
501
+ export function createWakeAdmissionWriter() {
502
+ return {
503
+ async coalesceIntoActiveExecutionRun(scope, input) {
504
+ const tx = requireAdmissionTx(scope, input.companyId);
505
+ const now = new Date();
506
+ const mergedRun = await tx
507
+ .update(heartbeatRuns)
508
+ .set({ contextSnapshot: input.mergedContextSnapshot, updatedAt: now })
509
+ .where(and(eq(heartbeatRuns.id, input.activeExecutionRunId), eq(heartbeatRuns.companyId, input.companyId)))
510
+ .returning()
511
+ .then((rows) => rows[0] ?? null);
512
+ if (!mergedRun) {
513
+ // The compare-and-set write affected no row. Throw to roll the
514
+ // transaction back instead of recording a coalesced wake against a
515
+ // run this write never touched.
516
+ throw new Error("wake-queue: the coalesce target run was not found for this company");
517
+ }
518
+ await tx.insert(agentWakeupRequests).values({
519
+ companyId: input.companyId,
520
+ agentId: input.agentId,
521
+ source: input.source,
522
+ triggerDetail: input.triggerDetail,
523
+ reason: "issue_execution_same_name",
524
+ payload: input.payload,
525
+ status: "coalesced",
526
+ coalescedCount: 1,
527
+ requestedByActorType: input.requestedByActorType,
528
+ requestedByActorId: input.requestedByActorId,
529
+ idempotencyKey: input.idempotencyKey,
530
+ runId: mergedRun.id,
531
+ finishedAt: now,
532
+ });
533
+ return mergedRun;
534
+ },
535
+ async mergeIntoExistingDeferredWake(scope, input) {
536
+ const tx = requireAdmissionTx(scope, input.companyId);
537
+ const rows = await tx
538
+ .update(agentWakeupRequests)
539
+ .set({
540
+ payload: input.mergedPayload,
541
+ coalescedCount: input.nextCoalescedCount,
542
+ updatedAt: new Date(),
543
+ })
544
+ .where(and(eq(agentWakeupRequests.id, input.existingDeferredWakeId), eq(agentWakeupRequests.companyId, input.companyId), eq(agentWakeupRequests.status, DEFERRED_WAKE_STATUS)))
545
+ .returning({ id: agentWakeupRequests.id });
546
+ if (rows.length === 0) {
547
+ // The compare-and-set write affected no row: a concurrent writer
548
+ // already moved this wake off `deferred_issue_execution`. Roll the
549
+ // transaction back instead of leaving the merge half-applied.
550
+ throw new Error("wake-queue: the deferred wake to merge into was not found for this company");
551
+ }
552
+ },
553
+ async insertNewDeferredWake(scope, input) {
554
+ const tx = requireAdmissionTx(scope, input.companyId);
555
+ await tx.insert(agentWakeupRequests).values({
556
+ companyId: input.companyId,
557
+ agentId: input.agentId,
558
+ source: input.source,
559
+ triggerDetail: input.triggerDetail,
560
+ reason: "issue_execution_deferred",
561
+ payload: input.payload,
562
+ status: DEFERRED_WAKE_STATUS,
563
+ requestedByActorType: input.requestedByActorType,
564
+ requestedByActorId: input.requestedByActorId,
565
+ idempotencyKey: input.idempotencyKey,
566
+ });
567
+ },
568
+ };
569
+ }
526
570
  export function createPostgresWakeQueueAdapter(db, deps) {
527
571
  return {
528
572
  async withIssueExecutionLock(input, fn) {
@@ -578,42 +622,45 @@ export function createPostgresWakeQueueAdapter(db, deps) {
578
622
  .set({ checkoutRunId: null, updatedAt: input.now })
579
623
  .where(and(eq(issues.companyId, input.companyId), eq(issues.checkoutRunId, run.id)));
580
624
  const issueRow = (contextIssueId ? candidateIssues.find((candidate) => candidate.id === contextIssueId) : candidateIssues[0]) ?? null;
581
- if (!issueRow || (issueRow.executionRunId && issueRow.executionRunId !== run.id)) {
625
+ const preDrainFacts = {
626
+ issueRowPresent: issueRow !== null,
627
+ executionRunIdMatchesRun: !issueRow || !issueRow.executionRunId || issueRow.executionRunId === run.id,
628
+ isWorkspaceValidationFailedRun: isWorkspaceValidationFailedRun(run),
629
+ isConfigurationIncompleteFailedRun: isConfigurationIncompleteFailedRun(run),
630
+ issueStatus: issueRow?.status ?? "",
631
+ hasAssigneeUser: Boolean(issueRow?.assigneeUserId),
632
+ assigneeAgentMatchesRunAgent: issueRow?.assigneeAgentId === run.agentId,
633
+ legacyExecutionNeedsReconciliation: legacyExecutionNeedsReconciliation(run),
634
+ // An operator stop never promotes old queued work by itself. The
635
+ // next explicit wake adopts those messages atomically when it
636
+ // queues a run.
637
+ executionCancellationAcknowledged: run.status === "cancelled" && parseObject(run.resultJson?.executionCancellation).state === "acknowledged",
638
+ };
639
+ const preDrain = decidePreDrain(preDrainFacts);
640
+ if (preDrain.kind === "released") {
582
641
  return { outcome: { kind: "released" }, postCommitEffects: [], run: runSnapshot };
583
642
  }
584
- if ((isWorkspaceValidationFailedRun(run) || isConfigurationIncompleteFailedRun(run)) &&
585
- (issueRow.status === "todo" || issueRow.status === "in_progress") &&
586
- !issueRow.assigneeUserId &&
587
- issueRow.assigneeAgentId === run.agentId) {
588
- const configurationIncomplete = isConfigurationIncompleteFailedRun(run);
589
- const notice = configurationIncomplete
590
- ? buildConfigurationIncompleteRecoveryNoticeSeed(runSnapshot.configurationIncompletePayload)
591
- : buildWorkspaceValidationRecoveryNoticeSeed();
643
+ // decidePreDrain only returns "blocked" or "proceed" when the issue row is present.
644
+ if (!issueRow) {
645
+ throw new Error(`wake-queue: pre-drain decision ${preDrain.kind} reached without an issue row`);
646
+ }
647
+ if (preDrain.kind === "blocked") {
592
648
  return {
593
649
  outcome: {
594
650
  kind: "blocked",
595
651
  issue: toIssueSnapshot(issueRow),
596
652
  previousStatus: issueRow.status,
597
- notice,
598
- recoveryCause: configurationIncomplete ? CONFIGURATION_INCOMPLETE_RECOVERY_CAUSE : WORKSPACE_VALIDATION_RECOVERY_CAUSE,
653
+ noticeKind: preDrain.noticeKind,
599
654
  },
600
655
  postCommitEffects: [],
601
656
  run: runSnapshot,
602
657
  };
603
658
  }
604
- if (legacyExecutionNeedsReconciliation(run)) {
605
- return { outcome: { kind: "released" }, postCommitEffects: [], run: runSnapshot };
606
- }
607
- // An operator stop never promotes old queued work by itself. The next
608
- // explicit wake adopts those messages atomically when it queues a run.
609
- if (run.status === "cancelled" && parseObject(run.resultJson?.executionCancellation).state === "acknowledged") {
610
- return { outcome: { kind: "released" }, postCommitEffects: [], run: runSnapshot };
611
- }
612
659
  if (await recordNativeTerminalRecoveryIfNeeded(tx, run, issueRow, input.now)) {
613
660
  return { outcome: { kind: "released" }, postCommitEffects: [], run: runSnapshot };
614
661
  }
615
662
  const locked = { primaryIssue: toIssueSnapshot(issueRow), run: runSnapshot };
616
- const result = await fn(locked, { reader: buildReader(tx, deps), writer: buildWriter(tx, deps) });
663
+ const result = await fn(locked, { host: buildHost(tx, deps), transaction: buildTransaction(tx, deps) });
617
664
  return { ...result, run: runSnapshot };
618
665
  });
619
666
  },
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../../src/modules/wake-queue/adapters/postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../../src/modules/wake-queue/adapters/postgres.ts"],"names":[],"mappings":"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"}