@makaio/framework 1.0.0-dev-1789178369476 → 1.0.0-dev-1789234461336

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 (107) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/artifact-CKz9YQPu.mjs +1 -0
  3. package/dist/authority-state-bootstrap-BkI-zYRx.mjs +1 -0
  4. package/dist/bus/index.mjs +1 -1
  5. package/dist/{bus-CyrTcF8F.mjs → bus-BZB7jNes.mjs} +2 -2
  6. package/dist/contracts/adapter/index.d.mts +1 -1
  7. package/dist/contracts/artifact/index.d.mts +3 -3
  8. package/dist/contracts/artifact/index.mjs +1 -1
  9. package/dist/contracts/capabilities/index.d.mts +1 -1
  10. package/dist/contracts/client/index.d.mts +1 -1
  11. package/dist/contracts/extension/index.d.mts +2 -2
  12. package/dist/contracts/extension/index.mjs +1 -1
  13. package/dist/contracts/index.d.mts +75 -75
  14. package/dist/contracts/index.mjs +1 -1
  15. package/dist/contracts/materialization/index.d.mts +2 -2
  16. package/dist/contracts/materialization/index.mjs +1 -1
  17. package/dist/contracts/session/index.d.mts +2 -2
  18. package/dist/contracts/worker/index.d.mts +1 -1
  19. package/dist/contracts/worker/index.mjs +1 -1
  20. package/dist/contracts/workflow/index.d.mts +2 -2
  21. package/dist/contracts/workflow/index.mjs +1 -1
  22. package/dist/drizzle/0038_execution-attempt-repository.sql +73 -0
  23. package/dist/drizzle/meta/_journal.json +7 -0
  24. package/dist/{extension-D8uLQSDc.mjs → extension-CfrTp3rC.mjs} +1 -1
  25. package/dist/{framework-packages-CCIReKIe.mjs → framework-packages-Bg4edkkM.mjs} +1 -1
  26. package/dist/{index-C1nSuiG0.d.mts → index-B6WkHnCQ.d.mts} +1 -1
  27. package/dist/{index-B3fuld9X.d.mts → index-Bg3WVL8n.d.mts} +4 -4
  28. package/dist/{index-CdgRoaey.d.mts → index-BmCm9R8_.d.mts} +2 -2
  29. package/dist/{index-U--ajOHy.d.mts → index-BpQX136X.d.mts} +1 -1
  30. package/dist/{index-D0xS-mYt.d.mts → index-CA3Uzki8.d.mts} +10 -10
  31. package/dist/{index-BFS-2kcS.d.mts → index-C_kOkO3E.d.mts} +16 -0
  32. package/dist/{index-a_peDAyG.d.mts → index-ClKwF6LE.d.mts} +84 -3
  33. package/dist/{index-BqtdO-uk.d.mts → index-Cplq28EL.d.mts} +30 -14
  34. package/dist/{index-DtCVHx8-.d.mts → index-CzUUoexw.d.mts} +17 -9
  35. package/dist/{index-Du4wUv9q.d.mts → index-DMkzJCjS.d.mts} +7 -7
  36. package/dist/{index-DyVXhEBC2.d.mts → index-DXZImst_2.d.mts} +11 -8
  37. package/dist/{index-gu4mzfTr.d.mts → index-D_j_T3nS.d.mts} +1 -1
  38. package/dist/{index-GFf4oKBg2.d.mts → index-iVisrVdC2.d.mts} +37 -37
  39. package/dist/{index-HMb0RcTG2.d.mts → index-mTaFX2HH2.d.mts} +12 -12
  40. package/dist/{index-T-aAKybB.d.mts → index-xsaaa85T.d.mts} +8 -8
  41. package/dist/kernel/extension/index.d.mts +1 -1
  42. package/dist/kernel/index.d.mts +2 -2
  43. package/dist/kernel/observability/index.d.mts +1 -1
  44. package/dist/kind-registration-Dzfo6kyb.mjs +1 -0
  45. package/dist/materialization-iFhpbs1s.mjs +1 -0
  46. package/dist/{namespace-DM5vykb7.d.mts → namespace-BsQPRiMd.d.mts} +2 -2
  47. package/dist/{namespace-C_tttgJ8.d.mts → namespace-DlOQmhgX.d.mts} +18 -18
  48. package/dist/{namespace-CPGTaFqO.d.mts → namespace-Phxf0Lep.d.mts} +2 -2
  49. package/dist/{namespace-LSHmxtMn.d.mts → namespace-uCaKZm89.d.mts} +4 -4
  50. package/dist/node/transports/index.d.mts +32 -11
  51. package/dist/node/transports/index.mjs +2 -2
  52. package/dist/{package-DdymauE9.d.mts → package-CDj3F-L3.d.mts} +1 -0
  53. package/dist/package-D2Erka-E.mjs +7 -0
  54. package/dist/package.json +1 -1
  55. package/dist/packages-vF9F4M41.mjs +1 -0
  56. package/dist/runtime-node/index.d.mts +1 -1
  57. package/dist/runtime-node/index.mjs +1 -1
  58. package/dist/runtime-node/workflow-execution-bus-access.d.mts +37 -20
  59. package/dist/runtime-node/workflow-execution-bus-access.mjs +1 -1
  60. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  61. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  62. package/dist/{schemas-CJKDu4Kt.d.mts → schemas-2_D4iVbb.d.mts} +1 -1
  63. package/dist/{schemas-rlb0IQ-G.mjs → schemas-CHM0wMq4.mjs} +1 -1
  64. package/dist/{schemas-CPNdGMLf.d.mts → schemas-COiUhOce.d.mts} +8 -8
  65. package/dist/{schemas-CEJe8O6P.d.mts → schemas-CaBRbfhU.d.mts} +2 -2
  66. package/dist/{schemas-CKVm28Oy.d.mts → schemas-JjyFxrC0.d.mts} +4 -0
  67. package/dist/services/adapter-runtime/index.d.mts +3 -3
  68. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  69. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  70. package/dist/services/context-rules/index.d.mts +3 -3
  71. package/dist/services/execution-target/index.d.mts +2 -2
  72. package/dist/services/execution-target/namespace.d.mts +1 -1
  73. package/dist/services/execution-target/schemas.d.mts +1 -1
  74. package/dist/services/filesystem/namespace.d.mts +6 -6
  75. package/dist/services/filesystem/schemas.d.mts +3 -3
  76. package/dist/services/index.d.mts +22 -22
  77. package/dist/services/index.mjs +1 -1
  78. package/dist/services/materialization/index.mjs +1 -1
  79. package/dist/services/session/handlers/index.d.mts +1 -1
  80. package/dist/services/session/index.d.mts +4 -4
  81. package/dist/services/session/messages/namespace.d.mts +1 -1
  82. package/dist/services/session/session-events/namespace.d.mts +1 -1
  83. package/dist/services/settings/namespace.d.mts +8 -8
  84. package/dist/services/subagent-template/index.d.mts +1 -1
  85. package/dist/services/subagent-template/schemas.d.mts +1 -1
  86. package/dist/services/tools/index.mjs +1 -1
  87. package/dist/services/workflow-transitions/index.mjs +1 -1
  88. package/dist/{tools-Dj_ImUQ8.mjs → tools-C5Gy0IQG.mjs} +1 -1
  89. package/dist/{transition-B-YmSK-s.d.mts → transition-D-Lgbp1j.d.mts} +1 -1
  90. package/dist/{types-7QB81mzR.d.mts → types-DhbllltK.d.mts} +15 -15
  91. package/dist/{view-builder-BUZoNyEQ.d.mts → view-builder-CHUTXJDl.d.mts} +14 -1
  92. package/dist/{worker-DWEma08Q.mjs → worker-4pqm147Q.mjs} +1 -1
  93. package/dist/{workflow-DA2yJJK-.mjs → workflow-C5cS1mgK.mjs} +1 -1
  94. package/dist/workflow-engine/index.d.mts +81 -4
  95. package/dist/workflow-engine/index.mjs +1 -1
  96. package/dist/workflow-engine/package.d.mts +1 -1
  97. package/dist/workflow-engine/package.mjs +1 -1
  98. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  99. package/dist/{workflow-transitions-t6jn_pR_.mjs → workflow-transitions-C0sg3kar.mjs} +1 -1
  100. package/dist/{workflow-worker-C3ZbuhyA.mjs → workflow-worker-l-wflI6V.mjs} +2 -2
  101. package/package.json +1 -1
  102. package/dist/artifact-DGxKwbHE.mjs +0 -1
  103. package/dist/authority-state-bootstrap-CV7HpB4v.mjs +0 -1
  104. package/dist/kind-registration-BcNuwXPC.mjs +0 -1
  105. package/dist/materialization-kP_vEXV3.mjs +0 -1
  106. package/dist/package-Bn4iwDm3.mjs +0 -7
  107. package/dist/packages-G3bMStlV.mjs +0 -1
@@ -1,5 +1,5 @@
1
- import { $ as InitialProviderOperationClaimContextSource, $t as AttemptSettlementSnapshot, At as evaluateRuntimeReadiness, B as RecordProvisioningAbsentInput, Bt as snapshotRequestExecutionCancellationInput, C as ExecutionAttemptStatus, Ct as RuntimeOutcomeFenceMismatchError, D as MarkRuntimeReadyInput, Dt as evaluateOperationCompletion, E as InfrastructureFailureDecision, Et as evaluateOperationAdmission, F as ReadBootstrapStartStateInput, Ft as RequestAttemptCancellationInput, G as RuntimeRegistrationDecision, Gt as ReadAttemptCancellationControlInput, H as RegisterRuntimeInput, Ht as AttemptControlEvidence, I as RecordAllocationInput, It as RequestExecutionCancellationInput, J as sameAllocationRef, Jt as evaluateAttemptControlReceipt, K as decodeDurableOutcome, Kt as RecordAttemptControlReceiptInput, L as RecordAllocationTerminatedInput, Lt as evaluateAttemptCancellation, M as PendingAttemptAbandonmentDecision, Mt as AttemptOutcomeControlObservation, Nt as ExecutionAttemptCancellationDecision, O as OperationAdmissionDecision, P as ProvisioningClaimDecision, Pt as ExecutionAttemptCancellationIntent, Q as InitialProviderOperationClaimContext, Qt as AttemptSettlementRead, R as RecordInfrastructureFailureInput, Rt as snapshotAttemptOutcomeControl, S as ExecutionAttemptSettlementKind, St as RuntimeOutcomeFence, Tt as evaluateAttemptReachability, Ut as AttemptControlEvidenceDecision, V as RecoverableAttemptRecord, Vt as AttemptCancellationControlState, W as RuntimeReadinessDecision, Wt as AttemptControlEvidenceRepository, X as CompleteProviderOperationInput, Xt as snapshotAttemptControlReceipt, Y as sameDurableOutcome, Yt as evaluateAttemptControlReport, Z as HandoffProviderOperationInput, Zt as snapshotAttemptControlReport, _ as EXECUTION_ATTEMPT_STATUSES, _t as isProviderOperationResolved, a as AllocationRefEvolutionDecision, an as replayEnsuredAttempt, at as ProviderOperationClaimDecision, b as ExecutionAttemptRecoveryOperations, bt as AttemptReachability, cn as snapshotReadAttemptSettlementInput, ct as ProviderOperationLeaseRenewal, d as BootstrapStartState, dt as ProviderOperationOwnershipRecord, en as EnsureExecutionAttemptDecision, et as ListOpenProviderOperationsInput, f as CompleteOperationInput, ft as ProvisionerIncarnationLossDecision, g as EXECUTION_ATTEMPT_SETTLEMENT_KINDS, gt as TakeOverProviderOperationInput, h as DurableOutcome, ht as RenewProviderOperationClaimInput, i as AllocationRefEvolution, in as readAttemptSettlementSnapshot, it as ProviderOperationClaim, j as OutcomeCodec, jt as evaluateRuntimeRegistration, k as OperationCompletionDecision, kt as evaluateProvisionerIncarnationLoss, l as AttemptOperationStartGate, lt as ProviderOperationMutationDecision, m as DuplicateExecutionAttemptError, mt as RecordProviderOperationUncertaintyInput, n as AdmitOperationInput, nn as EnsureExecutionAttemptPersistenceInput, nt as PROVIDER_OPERATION_OBLIGATIONS, o as AllocationTerminationDecision, on as snapshotEnsureExecutionAttemptInput, ot as ProviderOperationCompletionDecision, p as DiscoveredAllocationDecision, pt as ProvisioningAbsenceDecision, q as durableOutcome, qt as ReportAttemptControlInput, r as AllocationRecordingDecision, rn as ReadAttemptSettlementInput, rt as ProcessBoundProvisionerLossProof, s as AttemptControlState, sn as snapshotEnsureExecutionAttemptPersistenceInput, st as ProviderOperationLeasePolicy, t as ATTEMPT_OPERATION_START_GATES, tn as EnsureExecutionAttemptInput, tt as OpenProviderOperationRecord, u as BeginProvisioningInput, ut as ProviderOperationObligation, v as ExecutionAttemptCreate, vt as ExecutionAttemptOutcomeCommit, w as ExecutionOwnerId, wt as assertRuntimeOutcomeFence, x as ExecutionAttemptRepository, xt as AttemptReachabilityDecision, y as ExecutionAttemptRecord, yt as ExecutionAttemptOutcomeDecision, z as RecordProvisionerIncarnationLostInput, zt as snapshotRequestAttemptCancellationInput } from "../execution-attempt-repository-BUah8hma.mjs";
2
- import { A as BootstrapStartOptions, C as OutcomeAcceptance, D as submitAttemptOutcome, E as OutcomePreCommitValidation, M as WorkflowMaterializationSpecResolver, N as WorkflowWorkspaceRootResolver, O as ExecutionAttemptAuthority, P as registerDrizzleWorkflowStorage, S as AttemptOutcomeSubmissionDeps, T as OutcomeConvergenceInput, _ as AttemptOutcomeDecodingInput, a as WorkflowEngineServiceOptions, b as AcceptedAttemptOutcome, c as CommittedWorkflowOutcomeIdentity, d as WorkflowAttemptOutcomeSchema, f as WorkflowAttemptTechnicalFailure, g as workflowAttemptOutcomeCodec, h as toCommittedWorkflowRunnerResult, i as WorkflowEngineService, j as WorkflowMaterializationSpecResolution, k as BootstrapStartAuthority, l as WorkflowAttemptCancellation, m as toCommittedWorkflowRunnerCompletion, n as createWorkflowEnginePackage, o as WorkflowTriggerReconciler, p as decodeWorkflowAttemptOutcome, r as workflowEnginePackage, s as WorkflowExecutor, t as WorkflowEngineToken, u as WorkflowAttemptOutcome, v as ExecutionAttemptHandlersDeps, w as OutcomeConvergence, x as AttemptOutcomeSubmission, y as registerExecutionAttemptHandlers } from "../package-DdymauE9.mjs";
1
+ import { $ as InitialProviderOperationClaimContextSource, $t as AttemptSettlementSnapshot, A as OperationReportDecision, At as evaluateRuntimeReadiness, B as RecordProvisioningAbsentInput, Bt as snapshotRequestExecutionCancellationInput, C as ExecutionAttemptStatus, Ct as RuntimeOutcomeFenceMismatchError, D as MarkRuntimeReadyInput, Dt as evaluateOperationCompletion, E as InfrastructureFailureDecision, Et as evaluateOperationAdmission, F as ReadBootstrapStartStateInput, Ft as RequestAttemptCancellationInput, G as RuntimeRegistrationDecision, Gt as ReadAttemptCancellationControlInput, H as RegisterRuntimeInput, Ht as AttemptControlEvidence, I as RecordAllocationInput, It as RequestExecutionCancellationInput, J as sameAllocationRef, Jt as evaluateAttemptControlReceipt, K as decodeDurableOutcome, Kt as RecordAttemptControlReceiptInput, L as RecordAllocationTerminatedInput, Lt as evaluateAttemptCancellation, M as PendingAttemptAbandonmentDecision, Mt as AttemptOutcomeControlObservation, Nt as ExecutionAttemptCancellationDecision, O as OperationAdmissionDecision, Ot as evaluatePreparationReport, P as ProvisioningClaimDecision, Pt as ExecutionAttemptCancellationIntent, Q as InitialProviderOperationClaimContext, Qt as AttemptSettlementRead, R as RecordInfrastructureFailureInput, Rt as snapshotAttemptOutcomeControl, S as ExecutionAttemptSettlementKind, St as RuntimeOutcomeFence, T as GetInstructionInput, Tt as evaluateAttemptReachability, U as ReportOperationInput, Ut as AttemptControlEvidenceDecision, V as RecoverableAttemptRecord, Vt as AttemptCancellationControlState, W as RuntimeReadinessDecision, Wt as AttemptControlEvidenceRepository, X as CompleteProviderOperationInput, Xt as snapshotAttemptControlReceipt, Y as sameDurableOutcome, Yt as evaluateAttemptControlReport, Z as HandoffProviderOperationInput, Zt as snapshotAttemptControlReport, _ as EXECUTION_ATTEMPT_STATUSES, _t as isProviderOperationResolved, a as AllocationRefEvolutionDecision, an as replayEnsuredAttempt, at as ProviderOperationClaimDecision, b as ExecutionAttemptRecoveryOperations, bt as AttemptReachability, cn as snapshotReadAttemptSettlementInput, ct as ProviderOperationLeaseRenewal, d as BootstrapStartState, dt as ProviderOperationOwnershipRecord, en as EnsureExecutionAttemptDecision, et as ListOpenProviderOperationsInput, f as CompleteOperationInput, ft as ProvisionerIncarnationLossDecision, g as EXECUTION_ATTEMPT_SETTLEMENT_KINDS, gt as TakeOverProviderOperationInput, h as DurableOutcome, ht as RenewProviderOperationClaimInput, i as AllocationRefEvolution, in as readAttemptSettlementSnapshot, it as ProviderOperationClaim, j as OutcomeCodec, jt as evaluateRuntimeRegistration, k as OperationCompletionDecision, kt as evaluateProvisionerIncarnationLoss, l as AttemptOperationStartGate, lt as ProviderOperationMutationDecision, m as DuplicateExecutionAttemptError, mt as RecordProviderOperationUncertaintyInput, n as AdmitOperationInput, nn as EnsureExecutionAttemptPersistenceInput, nt as PROVIDER_OPERATION_OBLIGATIONS, o as AllocationTerminationDecision, on as snapshotEnsureExecutionAttemptInput, ot as ProviderOperationCompletionDecision, p as DiscoveredAllocationDecision, pt as ProvisioningAbsenceDecision, q as durableOutcome, qt as ReportAttemptControlInput, r as AllocationRecordingDecision, rn as ReadAttemptSettlementInput, rt as ProcessBoundProvisionerLossProof, s as AttemptControlState, sn as snapshotEnsureExecutionAttemptPersistenceInput, st as ProviderOperationLeasePolicy, t as ATTEMPT_OPERATION_START_GATES, tn as EnsureExecutionAttemptInput, tt as OpenProviderOperationRecord, u as BeginProvisioningInput, ut as ProviderOperationObligation, v as ExecutionAttemptCreate, vt as ExecutionAttemptOutcomeCommit, w as ExecutionOwnerId, wt as assertRuntimeOutcomeFence, x as ExecutionAttemptRepository, xt as AttemptReachabilityDecision, y as ExecutionAttemptRecord, yt as ExecutionAttemptOutcomeDecision, z as RecordProvisionerIncarnationLostInput, zt as snapshotRequestAttemptCancellationInput } from "../execution-attempt-repository-BUah8hma.mjs";
2
+ import { A as BootstrapStartOptions, C as OutcomeAcceptance, D as submitAttemptOutcome, E as OutcomePreCommitValidation, M as WorkflowMaterializationSpecResolver, N as WorkflowWorkspaceRootResolver, O as ExecutionAttemptAuthority, P as registerDrizzleWorkflowStorage, S as AttemptOutcomeSubmissionDeps, T as OutcomeConvergenceInput, _ as AttemptOutcomeDecodingInput, a as WorkflowEngineServiceOptions, b as AcceptedAttemptOutcome, c as CommittedWorkflowOutcomeIdentity, d as WorkflowAttemptOutcomeSchema, f as WorkflowAttemptTechnicalFailure, g as workflowAttemptOutcomeCodec, h as toCommittedWorkflowRunnerResult, i as WorkflowEngineService, j as WorkflowMaterializationSpecResolution, k as BootstrapStartAuthority, l as WorkflowAttemptCancellation, m as toCommittedWorkflowRunnerCompletion, n as createWorkflowEnginePackage, o as WorkflowTriggerReconciler, p as decodeWorkflowAttemptOutcome, r as workflowEnginePackage, s as WorkflowExecutor, t as WorkflowEngineToken, u as WorkflowAttemptOutcome, v as ExecutionAttemptHandlersDeps, w as OutcomeConvergence, x as AttemptOutcomeSubmission, y as registerExecutionAttemptHandlers } from "../package-CDj3F-L3.mjs";
3
3
  import { WorkflowTriggerPayloadPredicate, assertWorkflowTriggerPayload, compileWorkflowTriggerBindingFilter } from "./workflow-trigger-binding-consumer.mjs";
4
4
  import { z } from "zod";
5
5
  import * as _$_makaio_core0 from "@makaio/framework/core";
@@ -6014,7 +6014,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
6014
6014
  tableName: "workflow_finalizations";
6015
6015
  dataType: "string";
6016
6016
  columnType: "SQLiteText";
6017
- data: "failed" | "acknowledged" | "claimed";
6017
+ data: "acknowledged" | "failed" | "claimed";
6018
6018
  driverParam: string;
6019
6019
  notNull: true;
6020
6020
  hasDefault: false;
@@ -8148,6 +8148,83 @@ declare const workflowFinalizationsDual: _$_makaio_storage_drizzle0.DualTable<"w
8148
8148
  publishedAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>, _$drizzle_orm_pg_core0.PgBigInt53BuilderInitial<string>>;
8149
8149
  }>;
8150
8150
  //#endregion
8151
+ //#region subsystems/workflow-engine/src/storage/execution-attempt-schema.d.ts
8152
+ /**
8153
+ * Durable execution-attempt facts.
8154
+ *
8155
+ * These tables are owner-agnostic. `execution_id` is a caller-supplied owner
8156
+ * key, so it intentionally has no foreign key to owner-specific storage.
8157
+ * JSON payloads and ISO-8601 instants remain text to preserve their exact
8158
+ * durable representations across both dialects.
8159
+ */
8160
+ declare const executionAttemptsDual: _$_makaio_storage_drizzle0.DualTable<"execution_attempt", {
8161
+ executionAttemptId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_attempt_id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_attempt_id", [string, ...string[]]>>>>;
8162
+ executionId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_id", [string, ...string[]]>>>;
8163
+ instruction: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"instruction", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"instruction", [string, ...string[]]>>>;
8164
+ preparationReceipts: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"preparation_receipts", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"preparation_receipts", [string, ...string[]]>>>>;
8165
+ status: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"status", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"status", [string, ...string[]]>>>;
8166
+ providerId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"provider_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"provider_id", [string, ...string[]]>>;
8167
+ allocationLifetime: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"allocation_lifetime", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"allocation_lifetime", [string, ...string[]]>>;
8168
+ provisionerIncarnationId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"provisioner_incarnation_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"provisioner_incarnation_id", [string, ...string[]]>>;
8169
+ allocationRef: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"allocation_ref", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"allocation_ref", [string, ...string[]]>>;
8170
+ settlementKind: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"settlement_kind", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"settlement_kind", [string, ...string[]]>>;
8171
+ outcomeText: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"outcome_text", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"outcome_text", [string, ...string[]]>>;
8172
+ outcomeControlObservation: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"outcome_control_observation", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"outcome_control_observation", [string, ...string[]]>>;
8173
+ claimable: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>>, _$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgIntegerBuilderInitial<string>>>>;
8174
+ claimExpiresAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"claim_expires_at", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"claim_expires_at", [string, ...string[]]>>;
8175
+ createdAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"created_at", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"created_at", [string, ...string[]]>>>;
8176
+ bootstrapDeadlineAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"bootstrap_deadline_at", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"bootstrap_deadline_at", [string, ...string[]]>>;
8177
+ runtimeGeneration: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>>, _$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgIntegerBuilderInitial<string>>>>;
8178
+ runtimeIncarnationId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"runtime_incarnation_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"runtime_incarnation_id", [string, ...string[]]>>;
8179
+ runtimeReadyAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"runtime_ready_at", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"runtime_ready_at", [string, ...string[]]>>;
8180
+ operationStartGate: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"operation_start_gate", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"operation_start_gate", [string, ...string[]]>>>>;
8181
+ activeOperationId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"active_operation_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"active_operation_id", [string, ...string[]]>>;
8182
+ activeOperationKind: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"active_operation_kind", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"active_operation_kind", [string, ...string[]]>>;
8183
+ activeOperationKey: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"active_operation_key", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"active_operation_key", [string, ...string[]]>>;
8184
+ activeOperationGeneration: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>, _$drizzle_orm_pg_core0.PgIntegerBuilderInitial<string>>;
8185
+ activeOperationAdmittedAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"active_operation_admitted_at", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"active_operation_admitted_at", [string, ...string[]]>>;
8186
+ lastCompletedOperationId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"last_completed_operation_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"last_completed_operation_id", [string, ...string[]]>>;
8187
+ }>;
8188
+ /** Active attempt pointer for each generic execution owner. */
8189
+ declare const activeExecutionAttemptsDual: _$_makaio_storage_drizzle0.DualTable<"active_execution_attempt", {
8190
+ executionId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_id", [string, ...string[]]>>>>;
8191
+ executionAttemptId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_attempt_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_attempt_id", [string, ...string[]]>>>;
8192
+ }>;
8193
+ /** Idempotency binding from an owner request to its execution attempt. */
8194
+ declare const executionAttemptRequestsDual: _$_makaio_storage_drizzle0.DualTable<"execution_attempt_request", {
8195
+ executionId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_id", [string, ...string[]]>>>;
8196
+ requestKey: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"request_key", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"request_key", [string, ...string[]]>>>;
8197
+ executionAttemptId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_attempt_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_attempt_id", [string, ...string[]]>>>;
8198
+ }>;
8199
+ /** Provider operation claim and completion fact for one execution attempt. */
8200
+ declare const providerOperationsDual: _$_makaio_storage_drizzle0.DualTable<"provider_operation", {
8201
+ executionAttemptId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_attempt_id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_attempt_id", [string, ...string[]]>>>>;
8202
+ generation: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgIntegerBuilderInitial<string>>>;
8203
+ ownerId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"owner_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"owner_id", [string, ...string[]]>>;
8204
+ token: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"token", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"token", [string, ...string[]]>>;
8205
+ leaseExpiresAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"lease_expires_at", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"lease_expires_at", [string, ...string[]]>>;
8206
+ obligation: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"obligation", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"obligation", [string, ...string[]]>>>;
8207
+ failureCount: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>>, _$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgIntegerBuilderInitial<string>>>>;
8208
+ lastFailure: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"last_failure", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"last_failure", [string, ...string[]]>>;
8209
+ completionEvidence: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"completion_evidence", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"completion_evidence", [string, ...string[]]>>;
8210
+ }>;
8211
+ /** Cancellation intent recorded for one execution attempt. */
8212
+ declare const executionAttemptCancellationsDual: _$_makaio_storage_drizzle0.DualTable<"execution_attempt_cancellation", {
8213
+ executionAttemptId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_attempt_id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_attempt_id", [string, ...string[]]>>>>;
8214
+ requestKey: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"request_key", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"request_key", [string, ...string[]]>>>;
8215
+ controlRevision: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgIntegerBuilderInitial<string>>>;
8216
+ requestedAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"requested_at", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"requested_at", [string, ...string[]]>>>;
8217
+ reason: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"reason", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"reason", [string, ...string[]]>>;
8218
+ }>;
8219
+ /** Runtime-scoped receipts and reports for a cancellation control revision. */
8220
+ declare const executionAttemptControlEvidenceDual: _$_makaio_storage_drizzle0.DualTable<"execution_attempt_control_evidence", {
8221
+ executionAttemptId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_attempt_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_attempt_id", [string, ...string[]]>>>;
8222
+ controlRevision: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgIntegerBuilderInitial<string>>>;
8223
+ runtimeGeneration: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgIntegerBuilderInitial<string>>>;
8224
+ receiptJson: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"receipt_json", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"receipt_json", [string, ...string[]]>>;
8225
+ reportJson: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"report_json", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"report_json", [string, ...string[]]>>;
8226
+ }>;
8227
+ //#endregion
8151
8228
  //#region subsystems/workflow-engine/src/storage/schema.d.ts
8152
8229
  /**
8153
8230
  * Workflow definitions table.
@@ -8480,4 +8557,4 @@ declare function patchWorkflowState(db: MakaioDatabase, params: {
8480
8557
  value: JsonValue;
8481
8558
  }>;
8482
8559
  //#endregion
8483
- export { ATTEMPT_OPERATION_START_GATES, type AcceptedAttemptOutcome, type AdmitOperationInput, type AllocationRecordingDecision, type AllocationRefEvolution, type AllocationRefEvolutionDecision, type AllocationTerminationDecision, type AttemptCancellationControlState, type AttemptControlDeliveryDeps, type AttemptControlDeliveryResult, type AttemptControlEvidence, type AttemptControlEvidenceDecision, type AttemptControlEvidenceRepository, type AttemptControlState, type AttemptOperationStartGate, type AttemptOutcomeControlObservation, type AttemptOutcomeDecodingInput, type AttemptOutcomeSubmission, type AttemptOutcomeSubmissionDeps, type AttemptReachability, type AttemptReachabilityDecision, type AttemptSettlementRead, type AttemptSettlementSnapshot, type AuthorityDispatchRunnerOptions, type BeginProvisioningInput, type BootstrapStartAuthority, type BootstrapStartOptions, type BootstrapStartState, type BuildWorkflowAttemptInstructionOptions, type CommittedWorkflowOutcomeIdentity, type CompleteOperationInput, type CompleteProviderOperationInput, type DiscoveredAllocationDecision, DuplicateExecutionAttemptError, type DurableOutcome, EXECUTION_ATTEMPT_SETTLEMENT_KINDS, EXECUTION_ATTEMPT_STATUSES, type EnsureExecutionAttemptDecision, type EnsureExecutionAttemptInput, type EnsureExecutionAttemptPersistenceInput, ExecutionAttemptAuthority, type ExecutionAttemptCancellationDecision, type ExecutionAttemptCancellationIntent, type ExecutionAttemptCreate, type ExecutionAttemptHandlersDeps, type ExecutionAttemptOutcomeCommit, type ExecutionAttemptOutcomeDecision, type ExecutionAttemptPeerIdentity, type ExecutionAttemptRecord, type ExecutionAttemptRecoveryOperations, type ExecutionAttemptRepository, type ExecutionAttemptSettlementKind, type ExecutionAttemptStatus, type ExecutionOwnerId, type HandoffProviderOperationInput, type InfrastructureFailureDecision, type InitialProviderOperationClaimContext, type InitialProviderOperationClaimContextSource, type ListOpenProviderOperationsInput, type MarkRuntimeReadyInput, type OpenProviderOperationRecord, type OperationAdmissionDecision, type OperationAdmissionDeps, type OperationCompletionDecision, type OutcomeAcceptance, type OutcomeCodec, type OutcomeConvergence, type OutcomeConvergenceInput, type OutcomePreCommitValidation, PROVIDER_OPERATION_OBLIGATIONS, type PendingAttemptAbandonmentDecision, type ProcessBoundProvisionerLossProof, type ProviderOperationClaim, type ProviderOperationClaimDecision, type ProviderOperationCompletionDecision, type ProviderOperationLeasePolicy, type ProviderOperationLeaseRenewal, type ProviderOperationMutationDecision, type ProviderOperationObligation, type ProviderOperationOwnershipRecord, type ProvisionerIncarnationLossDecision, type ProvisioningAbsenceDecision, type ProvisioningClaimDecision, RUNTIME_PROBE_DELIVERY_TIMEOUT_MS, type ReadAttemptCancellationControlInput, type ReadAttemptSettlementInput, type ReadBootstrapStartStateInput, type ReconcileAttemptCancellationInput, type RecordAllocationInput, type RecordAllocationTerminatedInput, type RecordAttemptControlReceiptInput, type RecordInfrastructureFailureInput, type RecordProviderOperationUncertaintyInput, type RecordProvisionerIncarnationLostInput, type RecordProvisioningAbsentInput, type RecoverableAttemptRecord, type RegisterRuntimeInput, type RenewProviderOperationClaimInput, type ReportAttemptControlInput, type RequestAttemptCancellationInput, type RequestExecutionCancellationInput, type RuntimeOutcomeFence, RuntimeOutcomeFenceMismatchError, type RuntimeReadinessDecision, type RuntimeRegistrationDecision, type RuntimeRegistrationDeps, type TakeOverProviderOperationInput, WORKFLOW_WORKLOAD_KIND, WORKFLOW_WORKLOAD_VERSION, type WorkflowAttemptCancellation, type WorkflowAttemptOutcome, WorkflowAttemptOutcomeSchema, type WorkflowAttemptTechnicalFailure, WorkflowEngineService, type WorkflowEngineServiceOptions, WorkflowEngineToken, WorkflowExecutor, type WorkflowInvocationInput, WorkflowInvocationInputSchema, type WorkflowMaterializationSpecResolution, type WorkflowMaterializationSpecResolver, WorkflowStorageNamespace, WorkflowStorageSubjects, type WorkflowSuccessFinalizer, type WorkflowTriggerPayloadPredicate, WorkflowTriggerReconciler, type WorkflowWorkspaceRootResolver, assertRuntimeOutcomeFence, assertWorkflowTriggerPayload, buildWorkflowAttemptInstruction, buildWorkflowExpressionContextFromResolvedInputs, compileWorkflowTriggerBindingFilter, createWorkflowEnginePackage, decodeDurableOutcome, decodeWorkflowAttemptOutcome, durableOutcome, evaluateAttemptCancellation, evaluateAttemptControlReceipt, evaluateAttemptControlReport, evaluateAttemptReachability, evaluateOperationAdmission, evaluateOperationCompletion, evaluateProvisionerIncarnationLoss, evaluateRuntimeReadiness, evaluateRuntimeRegistration, getWorkflowState, initializeWorkflowState, isProviderOperationResolved, parseWorkflowAttemptInstruction, patchWorkflowState, readAttemptSettlementSnapshot, reconcileAttemptCancellation, registerBootstrapStartHandler, registerDrizzleWorkflowStorage, registerExecutionAttemptHandlers, registerOperationAdmissionHandler, registerRuntimeRegistrationHandler, replayEnsuredAttempt, resolveExecutionAttemptPeer, runAuthorityDispatchedAttempt, runShellStep, sameAllocationRef, sameDurableOutcome, snapshotAttemptControlReceipt, snapshotAttemptControlReport, snapshotAttemptOutcomeControl, snapshotEnsureExecutionAttemptInput, snapshotEnsureExecutionAttemptPersistenceInput, snapshotReadAttemptSettlementInput, snapshotRequestAttemptCancellationInput, snapshotRequestExecutionCancellationInput, submitAttemptOutcome, toCommittedWorkflowRunnerCompletion, toCommittedWorkflowRunnerResult, workflowAttemptOutcomeCodec, workflowDefinitionsDual, workflowEnginePackage, workflowExecutionStateDual, workflowExecutionStateEventsDual, workflowExecutionsDual, workflowFinalizationsDual, workflowStepSpansDual, worklogFrameEntriesDual, worklogSummariesDual };
8560
+ export { ATTEMPT_OPERATION_START_GATES, type AcceptedAttemptOutcome, type AdmitOperationInput, type AllocationRecordingDecision, type AllocationRefEvolution, type AllocationRefEvolutionDecision, type AllocationTerminationDecision, type AttemptCancellationControlState, type AttemptControlDeliveryDeps, type AttemptControlDeliveryResult, type AttemptControlEvidence, type AttemptControlEvidenceDecision, type AttemptControlEvidenceRepository, type AttemptControlState, type AttemptOperationStartGate, type AttemptOutcomeControlObservation, type AttemptOutcomeDecodingInput, type AttemptOutcomeSubmission, type AttemptOutcomeSubmissionDeps, type AttemptReachability, type AttemptReachabilityDecision, type AttemptSettlementRead, type AttemptSettlementSnapshot, type AuthorityDispatchRunnerOptions, type BeginProvisioningInput, type BootstrapStartAuthority, type BootstrapStartOptions, type BootstrapStartState, type BuildWorkflowAttemptInstructionOptions, type CommittedWorkflowOutcomeIdentity, type CompleteOperationInput, type CompleteProviderOperationInput, type DiscoveredAllocationDecision, DuplicateExecutionAttemptError, type DurableOutcome, EXECUTION_ATTEMPT_SETTLEMENT_KINDS, EXECUTION_ATTEMPT_STATUSES, type EnsureExecutionAttemptDecision, type EnsureExecutionAttemptInput, type EnsureExecutionAttemptPersistenceInput, ExecutionAttemptAuthority, type ExecutionAttemptCancellationDecision, type ExecutionAttemptCancellationIntent, type ExecutionAttemptCreate, type ExecutionAttemptHandlersDeps, type ExecutionAttemptOutcomeCommit, type ExecutionAttemptOutcomeDecision, type ExecutionAttemptPeerIdentity, type ExecutionAttemptRecord, type ExecutionAttemptRecoveryOperations, type ExecutionAttemptRepository, type ExecutionAttemptSettlementKind, type ExecutionAttemptStatus, type ExecutionOwnerId, type GetInstructionInput, type HandoffProviderOperationInput, type InfrastructureFailureDecision, type InitialProviderOperationClaimContext, type InitialProviderOperationClaimContextSource, type ListOpenProviderOperationsInput, type MarkRuntimeReadyInput, type OpenProviderOperationRecord, type OperationAdmissionDecision, type OperationAdmissionDeps, type OperationCompletionDecision, type OperationReportDecision, type OutcomeAcceptance, type OutcomeCodec, type OutcomeConvergence, type OutcomeConvergenceInput, type OutcomePreCommitValidation, PROVIDER_OPERATION_OBLIGATIONS, type PendingAttemptAbandonmentDecision, type ProcessBoundProvisionerLossProof, type ProviderOperationClaim, type ProviderOperationClaimDecision, type ProviderOperationCompletionDecision, type ProviderOperationLeasePolicy, type ProviderOperationLeaseRenewal, type ProviderOperationMutationDecision, type ProviderOperationObligation, type ProviderOperationOwnershipRecord, type ProvisionerIncarnationLossDecision, type ProvisioningAbsenceDecision, type ProvisioningClaimDecision, RUNTIME_PROBE_DELIVERY_TIMEOUT_MS, type ReadAttemptCancellationControlInput, type ReadAttemptSettlementInput, type ReadBootstrapStartStateInput, type ReconcileAttemptCancellationInput, type RecordAllocationInput, type RecordAllocationTerminatedInput, type RecordAttemptControlReceiptInput, type RecordInfrastructureFailureInput, type RecordProviderOperationUncertaintyInput, type RecordProvisionerIncarnationLostInput, type RecordProvisioningAbsentInput, type RecoverableAttemptRecord, type RegisterRuntimeInput, type RenewProviderOperationClaimInput, type ReportAttemptControlInput, type ReportOperationInput, type RequestAttemptCancellationInput, type RequestExecutionCancellationInput, type RuntimeOutcomeFence, RuntimeOutcomeFenceMismatchError, type RuntimeReadinessDecision, type RuntimeRegistrationDecision, type RuntimeRegistrationDeps, type TakeOverProviderOperationInput, WORKFLOW_WORKLOAD_KIND, WORKFLOW_WORKLOAD_VERSION, type WorkflowAttemptCancellation, type WorkflowAttemptOutcome, WorkflowAttemptOutcomeSchema, type WorkflowAttemptTechnicalFailure, WorkflowEngineService, type WorkflowEngineServiceOptions, WorkflowEngineToken, WorkflowExecutor, type WorkflowInvocationInput, WorkflowInvocationInputSchema, type WorkflowMaterializationSpecResolution, type WorkflowMaterializationSpecResolver, WorkflowStorageNamespace, WorkflowStorageSubjects, type WorkflowSuccessFinalizer, type WorkflowTriggerPayloadPredicate, WorkflowTriggerReconciler, type WorkflowWorkspaceRootResolver, activeExecutionAttemptsDual, assertRuntimeOutcomeFence, assertWorkflowTriggerPayload, buildWorkflowAttemptInstruction, buildWorkflowExpressionContextFromResolvedInputs, compileWorkflowTriggerBindingFilter, createWorkflowEnginePackage, decodeDurableOutcome, decodeWorkflowAttemptOutcome, durableOutcome, evaluateAttemptCancellation, evaluateAttemptControlReceipt, evaluateAttemptControlReport, evaluateAttemptReachability, evaluateOperationAdmission, evaluateOperationCompletion, evaluatePreparationReport, evaluateProvisionerIncarnationLoss, evaluateRuntimeReadiness, evaluateRuntimeRegistration, executionAttemptCancellationsDual, executionAttemptControlEvidenceDual, executionAttemptRequestsDual, executionAttemptsDual, getWorkflowState, initializeWorkflowState, isProviderOperationResolved, parseWorkflowAttemptInstruction, patchWorkflowState, providerOperationsDual, readAttemptSettlementSnapshot, reconcileAttemptCancellation, registerBootstrapStartHandler, registerDrizzleWorkflowStorage, registerExecutionAttemptHandlers, registerOperationAdmissionHandler, registerRuntimeRegistrationHandler, replayEnsuredAttempt, resolveExecutionAttemptPeer, runAuthorityDispatchedAttempt, runShellStep, sameAllocationRef, sameDurableOutcome, snapshotAttemptControlReceipt, snapshotAttemptControlReport, snapshotAttemptOutcomeControl, snapshotEnsureExecutionAttemptInput, snapshotEnsureExecutionAttemptPersistenceInput, snapshotReadAttemptSettlementInput, snapshotRequestAttemptCancellationInput, snapshotRequestExecutionCancellationInput, submitAttemptOutcome, toCommittedWorkflowRunnerCompletion, toCommittedWorkflowRunnerResult, workflowAttemptOutcomeCodec, workflowDefinitionsDual, workflowEnginePackage, workflowExecutionStateDual, workflowExecutionStateEventsDual, workflowExecutionsDual, workflowFinalizationsDual, workflowStepSpansDual, worklogFrameEntriesDual, worklogSummariesDual };
@@ -1 +1 @@
1
- import{B as e,C as t,D as n,E as r,G as i,K as a,O as o,S as s,T as c,Y as l,at as u,b as d,dt as ee,ht as te,q as ne,rt as f,tt as p,v as m,w as h,x as g,xt as _,y as v,yt as y}from"../authority-state-bootstrap-CV7HpB4v.mjs";import{_ as b,a as x,c as S,d as C,f as w,g as T,h as E,i as D,l as O,m as k,n as A,o as j,p as M,r as N,s as P,t as F,u as I}from"../package-Bn4iwDm3.mjs";import{_ as L,a as R,b as z,c as B,d as V,f as H,g as U,h as W,i as G,l as K,m as q,n as re,o as J,p as Y,r as X,s as ie,t as ae,u as oe,x as se,y as ce}from"../execution-attempt-repository-aabFKcXN.mjs";import{assertWorkflowTriggerPayload as le,compileWorkflowTriggerBindingFilter as ue}from"./workflow-trigger-binding-consumer.mjs";import{a as de,i as fe,n as pe,r as me,t as he}from"../execution-attempt-owner-recovery-CE_rvHKE.mjs";import{i as ge,n as _e,r as ve,t as ye}from"../attempt-control-evidence-7lwRG73Y.mjs";import{PROVIDER_OPERATION_OBLIGATIONS as be,isProviderOperationResolved as xe}from"./provider-operation.mjs";import{ExecutionAttemptControlDeliveryResponseSchema as Se,ExecutionAttemptSubjects as Z,JsonValueSchema as Q,WorkflowFrameStateSchema as Ce}from"@makaio/framework/contracts";function we(e,t){return t.executionAttemptId===e.executionAttemptId&&t.runtimeIncarnationId===e.runtimeIncarnationId&&t.runtimeGeneration===e.runtimeGeneration&&t.controlRevision===e.cancellation.controlRevision&&t.requestKey===e.cancellation.requestKey}async function Te(e,t){let{executionId:n,executionAttemptId:r,timeoutMs:i,signal:a}=t;if(!Number.isSafeInteger(i)||i<=0)throw TypeError(`timeoutMs must be a positive safe integer`);if(a?.aborted)return{kind:`aborted`};let o=await e.authority.readAttemptCancellationControl({executionId:n,executionAttemptId:r});if(a?.aborted)return{kind:`aborted`};if(o===null)return{kind:`not-found`};if(o.cancellation===null)return{kind:`not-requested`};let{runtimeGeneration:s,runtimeIncarnationId:c}=o.control;if(c===null||s===0)return{kind:`runtime-unregistered`};let l=o.evidence.find(e=>e.controlRevision===o.cancellation?.controlRevision&&e.runtimeGeneration===s);if(l?.receipt&&l.report)return{kind:`evidence-complete`};let u={executionAttemptId:r,runtimeIncarnationId:c,runtimeGeneration:s,cancellation:o.cancellation},d;try{d=Se.parse(await e.bus.request(Z.control.deliver,u,{timeout:i,signal:a}))}catch{return{kind:a?.aborted?`aborted`:`unavailable`}}return d.decision===`refused`?{kind:`refused`,reason:d.reason}:we(u,d.receipt)?{kind:`received`,persistence:await e.authority.recordAttemptControlReceipt({...d.receipt,executionId:n})}:{kind:`invalid-receipt`}}const Ee=new Set([...Ce.shape.status.options]);function $(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function De(e){if(!$(e))return!1;for(let t of Object.values(e))if(!$(t)||typeof t.status!=`string`||!Ee.has(t.status)||`result`in t&&t.result!==void 0&&!Q.safeParse(t.result).success)return!1;return!0}function Oe(e){let t={trigger:$(e.trigger)?e.trigger:{},steps:De(e.steps)?e.steps:{},inputs:Q.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{ae as ATTEMPT_OPERATION_START_GATES,re as DuplicateExecutionAttemptError,X as EXECUTION_ATTEMPT_SETTLEMENT_KINDS,G as EXECUTION_ATTEMPT_STATUSES,x as ExecutionAttemptAuthority,be as PROVIDER_OPERATION_OBLIGATIONS,O as RUNTIME_PROBE_DELIVERY_TIMEOUT_MS,Y as RuntimeOutcomeFenceMismatchError,t as WORKFLOW_WORKLOAD_KIND,h as WORKFLOW_WORKLOAD_VERSION,m as WorkflowAttemptOutcomeSchema,D as WorkflowEngineService,F as WorkflowEngineToken,P as WorkflowExecutor,c as WorkflowInvocationInputSchema,a as WorkflowStorageNamespace,ne as WorkflowStorageSubjects,j as WorkflowTriggerReconciler,q as assertRuntimeOutcomeFence,le as assertWorkflowTriggerPayload,r as buildWorkflowAttemptInstruction,Oe as buildWorkflowExpressionContextFromResolvedInputs,ue as compileWorkflowTriggerBindingFilter,A as createWorkflowEnginePackage,R as decodeDurableOutcome,v as decodeWorkflowAttemptOutcome,J as durableOutcome,K as evaluateAttemptCancellation,ye as evaluateAttemptControlReceipt,_e as evaluateAttemptControlReport,W as evaluateAttemptReachability,U as evaluateOperationAdmission,L as evaluateOperationCompletion,ce as evaluateProvisionerIncarnationLoss,z as evaluateRuntimeReadiness,se as evaluateRuntimeRegistration,E as getWorkflowState,T as initializeWorkflowState,xe as isProviderOperationResolved,n as parseWorkflowAttemptInstruction,b as patchWorkflowState,he as readAttemptSettlementSnapshot,Te as reconcileAttemptCancellation,S as registerBootstrapStartHandler,k as registerDrizzleWorkflowStorage,w as registerExecutionAttemptHandlers,C as registerOperationAdmissionHandler,I as registerRuntimeRegistrationHandler,pe as replayEnsuredAttempt,i as resolveExecutionAttemptPeer,o as runAuthorityDispatchedAttempt,e as runShellStep,ie as sameAllocationRef,B as sameDurableOutcome,ve as snapshotAttemptControlReceipt,ge as snapshotAttemptControlReport,oe as snapshotAttemptOutcomeControl,me as snapshotEnsureExecutionAttemptInput,fe as snapshotEnsureExecutionAttemptPersistenceInput,de as snapshotReadAttemptSettlementInput,V as snapshotRequestAttemptCancellationInput,H as snapshotRequestExecutionCancellationInput,M as submitAttemptOutcome,d as toCommittedWorkflowRunnerCompletion,g as toCommittedWorkflowRunnerResult,s as workflowAttemptOutcomeCodec,l as workflowDefinitionsDual,N as workflowEnginePackage,p as workflowExecutionStateDual,f as workflowExecutionStateEventsDual,u as workflowExecutionsDual,_ as workflowFinalizationsDual,ee as workflowStepSpansDual,te as worklogFrameEntriesDual,y as worklogSummariesDual};
1
+ import{B as e,C as t,Ct as n,D as r,Dt as i,E as a,G as o,K as s,Nt as c,O as l,S as u,T as d,Tt as ee,Y as te,at as ne,b as re,dt as f,ht as p,jt as m,kt as h,q as g,rt as _,tt as v,v as y,w as b,x,xt as S,y as C,yt as w}from"../authority-state-bootstrap-BkI-zYRx.mjs";import{_ as T,a as E,c as D,d as O,f as k,g as A,h as j,i as M,l as N,m as P,n as F,o as I,p as L,r as R,s as z,t as B,u as V}from"../package-D2Erka-E.mjs";import{_ as H,a as U,b as W,c as G,d as K,f as q,g as J,h as Y,i as X,l as ie,m as ae,n as oe,o as se,p as ce,r as le,s as ue,t as de,u as fe,v as pe,x as me,y as he}from"../execution-attempt-repository-aabFKcXN.mjs";import{assertWorkflowTriggerPayload as ge,compileWorkflowTriggerBindingFilter as _e}from"./workflow-trigger-binding-consumer.mjs";import{a as ve,i as ye,n as be,r as xe,t as Se}from"../execution-attempt-owner-recovery-CE_rvHKE.mjs";import{i as Ce,n as we,r as Te,t as Ee}from"../attempt-control-evidence-7lwRG73Y.mjs";import{PROVIDER_OPERATION_OBLIGATIONS as De,isProviderOperationResolved as Oe}from"./provider-operation.mjs";import{ExecutionAttemptControlDeliveryResponseSchema as ke,ExecutionAttemptSubjects as Z,JsonValueSchema as Q,WorkflowFrameStateSchema as Ae}from"@makaio/framework/contracts";function je(e,t){return t.executionAttemptId===e.executionAttemptId&&t.runtimeIncarnationId===e.runtimeIncarnationId&&t.runtimeGeneration===e.runtimeGeneration&&t.controlRevision===e.cancellation.controlRevision&&t.requestKey===e.cancellation.requestKey}async function Me(e,t){let{executionId:n,executionAttemptId:r,timeoutMs:i,signal:a}=t;if(!Number.isSafeInteger(i)||i<=0)throw TypeError(`timeoutMs must be a positive safe integer`);if(a?.aborted)return{kind:`aborted`};let o=await e.authority.readAttemptCancellationControl({executionId:n,executionAttemptId:r});if(a?.aborted)return{kind:`aborted`};if(o===null)return{kind:`not-found`};if(o.cancellation===null)return{kind:`not-requested`};let{runtimeGeneration:s,runtimeIncarnationId:c}=o.control;if(c===null||s===0)return{kind:`runtime-unregistered`};let l=o.evidence.find(e=>e.controlRevision===o.cancellation?.controlRevision&&e.runtimeGeneration===s);if(l?.receipt&&l.report)return{kind:`evidence-complete`};let u={executionAttemptId:r,runtimeIncarnationId:c,runtimeGeneration:s,cancellation:o.cancellation},d;try{d=ke.parse(await e.bus.request(Z.control.deliver,u,{timeout:i,signal:a}))}catch{return{kind:a?.aborted?`aborted`:`unavailable`}}return d.decision===`refused`?{kind:`refused`,reason:d.reason}:je(u,d.receipt)?{kind:`received`,persistence:await e.authority.recordAttemptControlReceipt({...d.receipt,executionId:n})}:{kind:`invalid-receipt`}}const Ne=new Set([...Ae.shape.status.options]);function $(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Pe(e){if(!$(e))return!1;for(let t of Object.values(e))if(!$(t)||typeof t.status!=`string`||!Ne.has(t.status)||`result`in t&&t.result!==void 0&&!Q.safeParse(t.result).success)return!1;return!0}function Fe(e){let t={trigger:$(e.trigger)?e.trigger:{},steps:Pe(e.steps)?e.steps:{},inputs:Q.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{de as ATTEMPT_OPERATION_START_GATES,oe as DuplicateExecutionAttemptError,le as EXECUTION_ATTEMPT_SETTLEMENT_KINDS,X as EXECUTION_ATTEMPT_STATUSES,E as ExecutionAttemptAuthority,De as PROVIDER_OPERATION_OBLIGATIONS,N as RUNTIME_PROBE_DELIVERY_TIMEOUT_MS,ce as RuntimeOutcomeFenceMismatchError,t as WORKFLOW_WORKLOAD_KIND,b as WORKFLOW_WORKLOAD_VERSION,y as WorkflowAttemptOutcomeSchema,M as WorkflowEngineService,B as WorkflowEngineToken,z as WorkflowExecutor,d as WorkflowInvocationInputSchema,s as WorkflowStorageNamespace,g as WorkflowStorageSubjects,I as WorkflowTriggerReconciler,S as activeExecutionAttemptsDual,ae as assertRuntimeOutcomeFence,ge as assertWorkflowTriggerPayload,a as buildWorkflowAttemptInstruction,Fe as buildWorkflowExpressionContextFromResolvedInputs,_e as compileWorkflowTriggerBindingFilter,F as createWorkflowEnginePackage,U as decodeDurableOutcome,C as decodeWorkflowAttemptOutcome,se as durableOutcome,ie as evaluateAttemptCancellation,Ee as evaluateAttemptControlReceipt,we as evaluateAttemptControlReport,Y as evaluateAttemptReachability,J as evaluateOperationAdmission,H as evaluateOperationCompletion,pe as evaluatePreparationReport,he as evaluateProvisionerIncarnationLoss,W as evaluateRuntimeReadiness,me as evaluateRuntimeRegistration,n as executionAttemptCancellationsDual,ee as executionAttemptControlEvidenceDual,i as executionAttemptRequestsDual,h as executionAttemptsDual,j as getWorkflowState,A as initializeWorkflowState,Oe as isProviderOperationResolved,r as parseWorkflowAttemptInstruction,T as patchWorkflowState,m as providerOperationsDual,Se as readAttemptSettlementSnapshot,Me as reconcileAttemptCancellation,D as registerBootstrapStartHandler,P as registerDrizzleWorkflowStorage,k as registerExecutionAttemptHandlers,O as registerOperationAdmissionHandler,V as registerRuntimeRegistrationHandler,be as replayEnsuredAttempt,o as resolveExecutionAttemptPeer,l as runAuthorityDispatchedAttempt,e as runShellStep,ue as sameAllocationRef,G as sameDurableOutcome,Te as snapshotAttemptControlReceipt,Ce as snapshotAttemptControlReport,fe as snapshotAttemptOutcomeControl,xe as snapshotEnsureExecutionAttemptInput,ye as snapshotEnsureExecutionAttemptPersistenceInput,ve as snapshotReadAttemptSettlementInput,K as snapshotRequestAttemptCancellationInput,q as snapshotRequestExecutionCancellationInput,L as submitAttemptOutcome,re as toCommittedWorkflowRunnerCompletion,x as toCommittedWorkflowRunnerResult,u as workflowAttemptOutcomeCodec,te as workflowDefinitionsDual,R as workflowEnginePackage,v as workflowExecutionStateDual,_ as workflowExecutionStateEventsDual,ne as workflowExecutionsDual,c as workflowFinalizationsDual,f as workflowStepSpansDual,p as worklogFrameEntriesDual,w as worklogSummariesDual};
@@ -1,2 +1,2 @@
1
- import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-DdymauE9.mjs";
1
+ import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-CDj3F-L3.mjs";
2
2
  export { WorkflowEngineToken, createWorkflowEnginePackage, workflowEnginePackage };
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"../package-Bn4iwDm3.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
1
+ import{n as e,r as t,t as n}from"../package-D2Erka-E.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
@@ -1 +1 @@
1
- import{Ct as e,H as t,M as n,c as r,d as i,i as a,l as o,q as s,r as c,s as l,t as u}from"../authority-state-bootstrap-CV7HpB4v.mjs";import{WORKFLOW_CANCELLED_REASON as d,WorkflowRunContextSchema as f}from"@makaio/framework/contracts";import*as p from"node:os";async function m(t,n,r,i){let a=await y(t,n,r);return await t.request(s.setExecution,{execution:a}),r===`completed`?await t.emit(e.execution.completed,{executionId:n.executionId,workflowId:n.workflowId,totalDuration:0,completedAt:a.completedAt}):await t.emit(e.execution.cancelled,{executionId:n.executionId,workflowId:n.workflowId,reason:i,completedAt:a.completedAt}),r===`cancelled`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,...i===void 0?{}:{reason:i}}:{executionId:n.executionId,workflowId:n.workflowId,status:`completed`}}function h(e,t){return t.status===`completed`?{executionId:e.executionId,workflowId:e.workflowId,status:`completed`,...t.artifact===void 0?{}:{artifact:t.artifact}}:t.status===`cancelled`?{executionId:e.executionId,workflowId:e.workflowId,status:`cancelled`,...t.reason===void 0?{}:{reason:t.reason}}:t.status===`paused`?{executionId:e.executionId,workflowId:e.workflowId,status:`paused`,pausedAtGateId:t.pausedAtGateId,pausedAtFrameId:t.pausedAtFrameId}:{executionId:e.executionId,workflowId:e.workflowId,status:`failed`,error:t.error}}function g(e){let r,i=()=>{r=n({bus:e.bus,activeExecutions:e.activeExecutions,shellAbortControllers:e.shellAbortControllers,activeRunnerSteps:e.activeRunnerSteps,durableLifecycleTransitions:e.durableLifecycleTransitions,lifecyclePublications:e.lifecyclePublications,publishingLifecycleExecutions:e.publishingLifecycleExecutions,cancelTimeoutMs:t.cancelTimeoutMs},e.executionId,d).catch(t=>(console.error(`[WorkflowOrchestrator] Failed to persist cancellation for ${e.executionId}:`,t),!1))};return e.signal.addEventListener(`abort`,i,{once:!0}),e.signal.aborted&&i(),async()=>(e.signal.removeEventListener(`abort`,i),r??!1)}async function _(e,t){let n=await e.requestOptional(s.getExecution,{executionId:t});return n.handled?n.data.execution?.startedAt??void 0:void 0}async function v(e,t){return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:`running`,inputs:t.inputs,config:t.config??{},startedAt:await _(e,t.executionId)??Date.now(),triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function y(e,t,n){let r=Date.now();return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:n,inputs:t.inputs,config:t.config??{},startedAt:await _(e,t.executionId)??r,completedAt:r,triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function b(e,t,n,i,s,c,l,u,f){let m=e.suspensionStrategy===`wait-in-process`?void 0:await x(e.executionId,l,{required:!0}),h=await r({definition:t,execution:n,runContext:i,zodSchema:f?.artifact,bus:l}),g=new o(e.executionId,e.workflowId,t,n,s,l,u,void 0,h,{context:{repoPath:process.cwd(),makaioHome:process.env.MAKAIO_HOME??`${p.homedir()}/.makaio`,os:process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`,arch:process.arch},env:e.env},{suspensionStrategy:e.suspensionStrategy,resumeFrames:m,runtimeLoopGates:c}),_=g.buildExpressionContext(),v=await a(t.root,g,_);return v.status===`failed`?{status:`failed`,error:v.error}:v.status===`paused`?{status:`paused`,pausedAtGateId:v.pausedAtGateId,pausedAtFrameId:v.pausedAtFrameId}:v.status===`cancelled`||u.aborted?{status:`cancelled`,reason:d}:{status:`completed`,artifact:h?.current}}async function x(e,t,n={}){try{let r=await t.requestOptional(s.listFrames,{executionId:e});if(!r.handled){if(n.required===!0)throw Error(`Frame storage handler is required to resume execution '${e}'.`);return}return r.data.frames.length===0?void 0:l(r.data.frames)}catch(e){if(n.required===!0)throw e;return}}function S(e,t){return f.parse({executionId:e.executionId,workflowId:e.workflowId,source:e.source.kind===`path`?{kind:`path`,path:e.materializationSpec?.sourcePath??``}:e.source,definitionSnapshot:e.source.kind===`definition`?e.definition??t:t,workerManifest:{contributionRefs:[]},inputs:e.inputs,config:e.config??{},scope:e.scope,triggerPayload:e.triggerPayload,...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},coordinatorSessionId:e.coordinatorSessionId,cancelSubject:e.cancelSubject,env:e.env,createdAt:Date.now(),suspensionStrategy:e.suspensionStrategy,...e.terminalAuthority===void 0?{}:{terminalAuthority:e.terminalAuthority},...e.materializationSpec===void 0?{}:{materializationSpec:e.materializationSpec}})}async function C(t,n,r,i,a){r.status=`paused`,await t.request(s.setExecution,{execution:r}),await t.emit(e.execution.paused,{executionId:n.executionId,workflowId:n.workflowId,pausedAtGateId:i,pausedAtFrameId:a})}async function w(t,n,r,i,a,o){r===`completed`?await t.emit(e.execution.completed,{executionId:n.executionId,workflowId:n.workflowId,totalDuration:a-i.startedAt,completedAt:a}):r===`cancelled`?await t.emit(e.execution.cancelled,{executionId:n.executionId,workflowId:n.workflowId,reason:d,completedAt:a}):await t.emit(e.execution.failed,{executionId:n.executionId,workflowId:n.workflowId,error:o??`Workflow execution failed`,completedAt:a})}async function T(e){let{config:t,loaded:n,bus:r,signal:a}=e,{definition:o}=n;if(a.aborted)return t.terminalAuthority===`authority`?{executionId:t.executionId,workflowId:t.workflowId,status:`cancelled`,reason:d}:m(r,t,`cancelled`,d);let l=await v(r,t),f=S(t,o);t.terminalAuthority===`authority`?await u(r,f,o):await i(r,l,f,o);let p=new Map(n.runtimeHandlers),_=n.runtimeLoopGates??new Map,y=new Map,x=new Map,T=new Map,E=new Map,D=new Map,O=new Set;y.set(t.executionId,{execution:l,workflow:o,runContext:f,runtimeHandlers:p,runtimeLoopGates:new Map(_)});let k=t.terminalAuthority===`authority`?async()=>!1:g({signal:a,executionId:t.executionId,bus:r,activeExecutions:y,shellAbortControllers:x,activeRunnerSteps:T,durableLifecycleTransitions:E,lifecyclePublications:D,publishingLifecycleExecutions:O}),A={status:`completed`},j=!1;try{o.root.nodes.length>0&&(c(o,_),A=await b(t,o,l,f,p,_,r,a,n.zodSchemas))}catch(e){A={status:`failed`,error:e instanceof Error?e.message:String(e)}}finally{j=await k(),y.clear()}if(j)return h(t,{status:`cancelled`,reason:d});if((a.aborted||l.status===`cancelled`)&&(A={status:`cancelled`,reason:d}),A.status===`paused`)return t.terminalAuthority!==`authority`&&await C(r,t,l,A.pausedAtGateId,A.pausedAtFrameId),h(t,A);if(t.terminalAuthority===`authority`)return h(t,A);let M=Date.now(),N=A.status===`failed`?A.error:void 0;return l.status=A.status,l.completedAt=M,l.error=N,await r.request(s.setExecution,{execution:l}),await w(r,t,A.status,l,M,N),h(t,A)}export{T as runWorkflowOrchestrator};
1
+ import{Ft as e,H as t,M as n,c as r,d as i,i as a,l as o,q as s,r as c,s as l,t as u}from"../authority-state-bootstrap-BkI-zYRx.mjs";import{WORKFLOW_CANCELLED_REASON as d,WorkflowRunContextSchema as f}from"@makaio/framework/contracts";import*as p from"node:os";async function m(t,n,r,i){let a=await y(t,n,r);return await t.request(s.setExecution,{execution:a}),r===`completed`?await t.emit(e.execution.completed,{executionId:n.executionId,workflowId:n.workflowId,totalDuration:0,completedAt:a.completedAt}):await t.emit(e.execution.cancelled,{executionId:n.executionId,workflowId:n.workflowId,reason:i,completedAt:a.completedAt}),r===`cancelled`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,...i===void 0?{}:{reason:i}}:{executionId:n.executionId,workflowId:n.workflowId,status:`completed`}}function h(e,t){return t.status===`completed`?{executionId:e.executionId,workflowId:e.workflowId,status:`completed`,...t.artifact===void 0?{}:{artifact:t.artifact}}:t.status===`cancelled`?{executionId:e.executionId,workflowId:e.workflowId,status:`cancelled`,...t.reason===void 0?{}:{reason:t.reason}}:t.status===`paused`?{executionId:e.executionId,workflowId:e.workflowId,status:`paused`,pausedAtGateId:t.pausedAtGateId,pausedAtFrameId:t.pausedAtFrameId}:{executionId:e.executionId,workflowId:e.workflowId,status:`failed`,error:t.error}}function g(e){let r,i=()=>{r=n({bus:e.bus,activeExecutions:e.activeExecutions,shellAbortControllers:e.shellAbortControllers,activeRunnerSteps:e.activeRunnerSteps,durableLifecycleTransitions:e.durableLifecycleTransitions,lifecyclePublications:e.lifecyclePublications,publishingLifecycleExecutions:e.publishingLifecycleExecutions,cancelTimeoutMs:t.cancelTimeoutMs},e.executionId,d).catch(t=>(console.error(`[WorkflowOrchestrator] Failed to persist cancellation for ${e.executionId}:`,t),!1))};return e.signal.addEventListener(`abort`,i,{once:!0}),e.signal.aborted&&i(),async()=>(e.signal.removeEventListener(`abort`,i),r??!1)}async function _(e,t){let n=await e.requestOptional(s.getExecution,{executionId:t});return n.handled?n.data.execution?.startedAt??void 0:void 0}async function v(e,t){return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:`running`,inputs:t.inputs,config:t.config??{},startedAt:await _(e,t.executionId)??Date.now(),triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function y(e,t,n){let r=Date.now();return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:n,inputs:t.inputs,config:t.config??{},startedAt:await _(e,t.executionId)??r,completedAt:r,triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function b(e,t,n,i,s,c,l,u,f){let m=e.suspensionStrategy===`wait-in-process`?void 0:await x(e.executionId,l,{required:!0}),h=await r({definition:t,execution:n,runContext:i,zodSchema:f?.artifact,bus:l}),g=new o(e.executionId,e.workflowId,t,n,s,l,u,void 0,h,{context:{repoPath:process.cwd(),makaioHome:process.env.MAKAIO_HOME??`${p.homedir()}/.makaio`,os:process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`,arch:process.arch},env:e.env},{suspensionStrategy:e.suspensionStrategy,resumeFrames:m,runtimeLoopGates:c}),_=g.buildExpressionContext(),v=await a(t.root,g,_);return v.status===`failed`?{status:`failed`,error:v.error}:v.status===`paused`?{status:`paused`,pausedAtGateId:v.pausedAtGateId,pausedAtFrameId:v.pausedAtFrameId}:v.status===`cancelled`||u.aborted?{status:`cancelled`,reason:d}:{status:`completed`,artifact:h?.current}}async function x(e,t,n={}){try{let r=await t.requestOptional(s.listFrames,{executionId:e});if(!r.handled){if(n.required===!0)throw Error(`Frame storage handler is required to resume execution '${e}'.`);return}return r.data.frames.length===0?void 0:l(r.data.frames)}catch(e){if(n.required===!0)throw e;return}}function S(e,t){return f.parse({executionId:e.executionId,workflowId:e.workflowId,source:e.source.kind===`path`?{kind:`path`,path:e.materializationSpec?.sourcePath??``}:e.source,definitionSnapshot:e.source.kind===`definition`?e.definition??t:t,workerManifest:{contributionRefs:[]},inputs:e.inputs,config:e.config??{},scope:e.scope,triggerPayload:e.triggerPayload,...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},coordinatorSessionId:e.coordinatorSessionId,cancelSubject:e.cancelSubject,env:e.env,createdAt:Date.now(),suspensionStrategy:e.suspensionStrategy,...e.terminalAuthority===void 0?{}:{terminalAuthority:e.terminalAuthority},...e.materializationSpec===void 0?{}:{materializationSpec:e.materializationSpec}})}async function C(t,n,r,i,a){r.status=`paused`,await t.request(s.setExecution,{execution:r}),await t.emit(e.execution.paused,{executionId:n.executionId,workflowId:n.workflowId,pausedAtGateId:i,pausedAtFrameId:a})}async function w(t,n,r,i,a,o){r===`completed`?await t.emit(e.execution.completed,{executionId:n.executionId,workflowId:n.workflowId,totalDuration:a-i.startedAt,completedAt:a}):r===`cancelled`?await t.emit(e.execution.cancelled,{executionId:n.executionId,workflowId:n.workflowId,reason:d,completedAt:a}):await t.emit(e.execution.failed,{executionId:n.executionId,workflowId:n.workflowId,error:o??`Workflow execution failed`,completedAt:a})}async function T(e){let{config:t,loaded:n,bus:r,signal:a}=e,{definition:o}=n;if(a.aborted)return t.terminalAuthority===`authority`?{executionId:t.executionId,workflowId:t.workflowId,status:`cancelled`,reason:d}:m(r,t,`cancelled`,d);let l=await v(r,t),f=S(t,o);t.terminalAuthority===`authority`?await u(r,f,o):await i(r,l,f,o);let p=new Map(n.runtimeHandlers),_=n.runtimeLoopGates??new Map,y=new Map,x=new Map,T=new Map,E=new Map,D=new Map,O=new Set;y.set(t.executionId,{execution:l,workflow:o,runContext:f,runtimeHandlers:p,runtimeLoopGates:new Map(_)});let k=t.terminalAuthority===`authority`?async()=>!1:g({signal:a,executionId:t.executionId,bus:r,activeExecutions:y,shellAbortControllers:x,activeRunnerSteps:T,durableLifecycleTransitions:E,lifecyclePublications:D,publishingLifecycleExecutions:O}),A={status:`completed`},j=!1;try{o.root.nodes.length>0&&(c(o,_),A=await b(t,o,l,f,p,_,r,a,n.zodSchemas))}catch(e){A={status:`failed`,error:e instanceof Error?e.message:String(e)}}finally{j=await k(),y.clear()}if(j)return h(t,{status:`cancelled`,reason:d});if((a.aborted||l.status===`cancelled`)&&(A={status:`cancelled`,reason:d}),A.status===`paused`)return t.terminalAuthority!==`authority`&&await C(r,t,l,A.pausedAtGateId,A.pausedAtFrameId),h(t,A);if(t.terminalAuthority===`authority`)return h(t,A);let M=Date.now(),N=A.status===`failed`?A.error:void 0;return l.status=A.status,l.completedAt=M,l.error=N,await r.request(s.setExecution,{execution:l}),await w(r,t,A.status,l,M,N),h(t,A)}export{T as runWorkflowOrchestrator};
@@ -1 +1 @@
1
- import{u as e}from"./framework-packages-CCIReKIe.mjs";function t(){let t=new Map;return{filter:e=>!!(e.transitionRules?.rules?.length||e.transitionActions?.actions),async processActivated(i,a,o){let s=o.getService(e);if(!s)throw Error(`TransitionContributionProcessor: TransitionPipelineService is not available — ensure '${e.name}' is started before extensions with transitionRules or transitionActions.`);let c=a.transitionRules?.rules??[],l=a.transitionActions?.actions,u=c.length>0,d=l!==void 0;u&&n(i,c),d&&r(i,l);let f=!1,p=!1;try{u&&(s.ruleRegistry.register(i,c),f=!0),d&&(s.actionRegistry.register(i,l),p=!0)}catch(e){throw f&&s.ruleRegistry.deregister(i),p&&s.actionRegistry.deregister(i),e}t.set(i,()=>{u&&s.ruleRegistry.deregister(i),d&&s.actionRegistry.deregister(i)})},async processStopped(e){let n=t.get(e);if(n){try{n()}catch(t){console.error(`[TransitionContributionProcessor] Deregister error for "${e}":`,t)}t.delete(e)}}}}function n(e,t){let n=`${e}.`;for(let e of t)if(!e.id.startsWith(n))throw Error(`TransitionContributionProcessor: rule '${e.id}' must be namespaced by extension '${n}'`)}function r(e,t){let n=`${e}.`;for(let e of Object.keys(t))if(!e.startsWith(n))throw Error(`TransitionContributionProcessor: action type '${e}' must be namespaced by extension '${n}'`)}export{t};
1
+ import{u as e}from"./framework-packages-Bg4edkkM.mjs";function t(){let t=new Map;return{filter:e=>!!(e.transitionRules?.rules?.length||e.transitionActions?.actions),async processActivated(i,a,o){let s=o.getService(e);if(!s)throw Error(`TransitionContributionProcessor: TransitionPipelineService is not available — ensure '${e.name}' is started before extensions with transitionRules or transitionActions.`);let c=a.transitionRules?.rules??[],l=a.transitionActions?.actions,u=c.length>0,d=l!==void 0;u&&n(i,c),d&&r(i,l);let f=!1,p=!1;try{u&&(s.ruleRegistry.register(i,c),f=!0),d&&(s.actionRegistry.register(i,l),p=!0)}catch(e){throw f&&s.ruleRegistry.deregister(i),p&&s.actionRegistry.deregister(i),e}t.set(i,()=>{u&&s.ruleRegistry.deregister(i),d&&s.actionRegistry.deregister(i)})},async processStopped(e){let n=t.get(e);if(n){try{n()}catch(t){console.error(`[TransitionContributionProcessor] Deregister error for "${e}":`,t)}t.delete(e)}}}}function n(e,t){let n=`${e}.`;for(let e of t)if(!e.id.startsWith(n))throw Error(`TransitionContributionProcessor: rule '${e.id}' must be namespaced by extension '${n}'`)}function r(e,t){let n=`${e}.`;for(let e of Object.keys(t))if(!e.startsWith(n))throw Error(`TransitionContributionProcessor: action type '${e}' must be namespaced by extension '${n}'`)}export{t};
@@ -1,2 +1,2 @@
1
- import{resolveMakaioHome as e}from"./runtime-node/makaio-config.mjs";import{t}from"./extension-package-provenance-C7oO5JAE.mjs";import{_ as n,d as r,l as i,n as a,o,r as s,u as c,x as l,y as u}from"./bootstrap-start-client-C1ZHbv6e.mjs";import{mintOrRotateWorkflowExecutionBusSecret as d}from"./runtime-node/workflow-execution-bus-access.mjs";import{z as f}from"zod";import{execFile as p,spawn as m}from"node:child_process";import{promisify as ee}from"node:util";import*as h from"node:fs/promises";import{access as te}from"node:fs/promises";import*as g from"node:path";import{basename as ne,isAbsolute as re,join as ie,relative as ae}from"node:path";import*as _ from"node:crypto";import{randomUUID as v}from"node:crypto";import{constants as oe}from"node:fs";import{AdapterSubjects as se,BoundedRecoveryEvidenceSchema as y,ExecutionAttemptSchemas as b,ExecutionAttemptSubjects as x,FrameworkContractNamespaces as ce,FrameworkStorageNamespaces as le,JsonValueSchema as ue,PRE_REQUEST_REJECTION_CODE as de,PROVIDER_ALLOCATION_REF_VERSION as fe,ProviderAllocationRefSchema as pe,RECOVERY_EVIDENCE_LIMITS as S,WorkerCapabilitiesSchema as me,WorkerSchemas as he,WorkerSubjects as C,WorkflowRunContextSchema as ge,WorkflowRunResultSchema as _e,WorkflowWorkerConfigSchema as ve,createWorkflowCancelSubject as ye}from"@makaio/framework/contracts";import{BusAbortError as be,createBusInstance as w,isRequestCancellation as T,waitForSubscriptionPropagation as xe}from"@makaio/framework/bus";import{ExtensionCoordinator as Se,KernelSubjects as Ce,coalesceExtensionOverrides as we,filterEligibleExtensions as Te}from"@makaio/framework/kernel";import{BaseService as Ee}from"@makaio/framework/service-base";import{AdapterRuntimeSubjects as De,registerAdapterRuntimeIdentityHandlers as Oe}from"@makaio/framework/services/adapter-runtime";import{devNull as E}from"node:os";import{CLIDetectionNamespace as ke,CLIDetectionSubjects as Ae}from"@makaio/framework/services/cli-detection/namespace";import{SessionOrchestratorToken as je,ToolRegistryToken as Me,canonicalModelPackage as Ne,createSubagentServicePackage as Pe,createToolContributionProcessor as Fe,frameworkCorePackages as D,sessionBridgePackage as Ie,sessionOrchestratorPackage as Le,sessionPackage as Re,sessionStoragePackage as ze,toolRegistryPackage as Be}from"@makaio/framework/services";import{AdapterSubsystemSubjects as Ve}from"@makaio/framework/services/adapter-subsystem";import{createClientsCorePackage as He}from"@makaio/framework/clients";import{AdapterSubsystemToken as O,createAdapterSubsystemContributionProcessor as Ue,createAdapterSubsystemPackage as We,orderAfterAdapterSubsystem as Ge}from"@makaio/framework/adapter-subsystem";import{execa as Ke}from"execa";import qe from"piscina";import{ExecutionAttemptAuthority as Je,WORKFLOW_WORKLOAD_KIND as Ye,WORKFLOW_WORKLOAD_VERSION as Xe,WorkflowStorageSubjects as Ze,buildWorkflowAttemptInstruction as Qe,parseWorkflowAttemptInstruction as k,runAuthorityDispatchedAttempt as $e,toCommittedWorkflowRunnerCompletion as et}from"@makaio/framework/workflow-engine";import{runWorkflowOrchestrator as tt}from"@makaio/framework/workflow-engine/workflow-orchestrator";import{setTimeout as nt}from"node:timers/promises";function A(e){return e.on(se.getCapabilities,async t=>{let{adapterName:n,adapterId:r}=t.payload;if(r){await t.next();return}if(n){let r=await e.requestOptional(De.resolveId,{adapterName:n}),i=r.handled?r.data.adapterId:void 0;i&&(t.payload.adapterId=i)}await t.next()},{priority:20})}function j(e){let{coordinator:t,configRepository:n,platformDefaults:r,prepareAuthRuntime:i,runtimeSnapshotHandlerPriority:a,runtimeDefinitionHandlerPriority:o}=e,s=We({configRepository:n,coordinator:t,platformDefaults:r,...i!==void 0&&{prepareAuthRuntime:i},...a!==void 0&&{runtimeSnapshotHandlerPriority:a},...o!==void 0&&{runtimeDefinitionHandlerPriority:o}});return t.registerContributionProcessor(Ue({getAdapterSubsystemService:()=>t.getExtensionService(O)})),{adapterSubsystemPackage:s}}function M(e){let{bus:t,currentMachineId:n}=e,r=Oe(t,{currentMachineId:n,listKnownAdapterNames:e.listKnownAdapterNames??(async()=>{let{configs:e}=await t.request(Ve.listAdapterConfigs,{});return e.map(e=>e.name)}),...e.resolveLiveAdapterId!==void 0&&{resolveLiveAdapterId:e.resolveLiveAdapterId},...e.resolveLiveAdapterIdentity!==void 0&&{resolveLiveAdapterIdentity:e.resolveLiveAdapterIdentity},...e.listLiveAdapterIdentities!==void 0&&{listLiveAdapterIdentities:e.listLiveAdapterIdentities}}),i=A(t);return{cleanup:()=>{r.cleanup(),i()}}}function N(e,t){if(!(e instanceof Error))return!1;let{rootPackageName:n,subpath:r}=rt(t),i=(r===void 0?[t]:[t,n]).flatMap(e=>[`Cannot find package '${e}'`,`Cannot find module '${e}'`,`Cannot find package "${e}"`,`Cannot find module "${e}"`]),a=e;return(a.code===`ERR_MODULE_NOT_FOUND`||a.code===`MODULE_NOT_FOUND`)&&i.some(t=>e.message.includes(t))||a.code===`ERR_PACKAGE_PATH_NOT_EXPORTED`&&r!==void 0&&e.message.includes(`Package subpath '${r}' is not defined by "exports"`)&&it(e.message,n)?!0:i.some(t=>e.message.includes(t))}async function P(e){try{return await import(e)}catch(t){if(N(t,e))return null;throw t}}function rt(e){let t=e.split(`/`);return e.startsWith(`@`)?{rootPackageName:t.slice(0,2).join(`/`),subpath:t.length>2?`./${t.slice(2).join(`/`)}`:void 0}:{rootPackageName:t[0]??e,subpath:t.length>1?`./${t.slice(1).join(`/`)}`:void 0}}function it(e,t){let n=t,r=t.replaceAll(`/`,`\\`);return e.includes(`/${n}/package.json`)||e.includes(`\\${r}\\package.json`)}async function F(e,t=process.env,n=process.platform){let r=t[Object.keys(t).find(e=>e.toUpperCase()===`PATH`)??`PATH`]??``,i=(t.PATHEXT??`.EXE;.CMD;.BAT;.COM`).split(`;`).filter(Boolean),a=n===`win32`?g.extname(e)===``?i:[``,...i]:[``];for(let t of r.split(g.delimiter)){let n=t.replace(/^"|"$/gu,``),r=g.resolve(n||process.cwd());for(let t of a){let n=g.join(r,`${e}${t}`);try{return await te(n,oe.X_OK),n}catch{}}}}async function I(e,t=5e3,n=1e3){let{stdout:r}=await Ke(e,[`--version`],{forceKillAfterDelay:n,timeout:t});return r}function at(e){return e.match(/(\d+\.\d+\.\d+)/u)?.[1]??`unknown`}async function ot(e,t=F,n=I){try{let r=await t(e);if(r===void 0)return{binary:e,found:!1};let i=await n(r);return i.length===0?{binary:e,found:!1}:{binary:e,found:!0,path:r,version:at(i)}}catch{return{binary:e,found:!1}}}async function st(e,t=F,n=I){return Promise.all(e.map(e=>ot(e,t,n)))}var ct=class extends Ee{constructor(e){super(e)}onInit(){this.registerHandler(Ae.scan,async e=>{let t=await st(e.payload.binaries);e.setResult({results:t})})}};const L={name:`makaio.cli-detection`,displayName:`CLI Detection`,version:`0.1.0`,critical:!0,surface:`any`,namespaces:[ke],create:e=>new ct(e.bus)};function R(e,t){e.push(...lt(t))}function lt(e){return e===void 0?[]:typeof e==`function`?[e]:[...e]}function ut(e,t=[]){let n=new Set([e]),r=new Set,i=new Map;for(let e of t)typeof e==`string`?n.add(e):(r.add(e.id),e.version!==void 0&&i.set(e.id,e.version));return{hosts:n,capabilities:r,...i.size>0?{capabilityVersions:i}:{}}}function dt(e=[]){return e.some(e=>typeof e==`string`&&e===`node`)?e:[`node`,...e]}function ft(e){return we(Te(mt(e.packages,e.configProvider),e.surface,e.runtimeEnvironment))}function pt(e,n){let r=ft(n),i=new Set(r.map(t));return e.filter(({ownerPackage:e})=>i.has(e)).map(({package:e})=>e)}function mt(e,t){return t?e.filter(e=>t.loadEnabled(e.name)!==!1):e}function ht(e,t){return e.filter(e=>e.runtimeOwnership?.[t]===!0).map(e=>e.name)}function gt(e,t){let n=ht(e,t);if(n.length>1)throw Error(`Multiple extensions own runtimeOwnership.${t}: ${n.join(`, `)}`)}function _t(e){return gt(e,`sessionOrchestrator`),ht(e,`sessionOrchestrator`).length===0}function vt(e){return e===!0||_t(e)?D:D.filter(e=>e.name!==je.name)}function yt(e,t,n){let r=[];try{for(let i of e){let e=i.runtimeBoot;e&&R(r,e.configure({bus:t,registerContributionProcessor:e=>{r.push(n.registerContributionProcessor(e))},forEachActiveExtension:e=>{n.forEachActiveExtension(e)}}))}}catch(e){let t=[];for(let e of[...r].reverse())try{e()}catch(e){t.push(e)}throw t.length>0?AggregateError([e,...t],`Extension boot contribution failed and rollback cleanup reported additional errors`,{cause:e}):e}return r}function bt(){let e=process.env.MAKAIO_SKIP_EXTENSIONS;if(!e)return new Set;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(t)}var xt=class{pool;constructor(e){this.pool=new qe({filename:e.workerEntry,maxThreads:e.maxConcurrency??4,idleTimeout:e.idleTimeoutMs??3e4})}async run(e,t,n){return this.pool.run(e,{signal:t,transferList:n})}onMessage(e){return this.pool.on(`message`,e),()=>this.pool.off(`message`,e)}async dispose(){await this.pool.destroy()}},z=class extends Error{code;constructor(e,t){super(e),this.code=t,this.name=`MaterializationError`}};function B(e,t,n){let r=g.resolve(t)+g.sep,i=g.resolve(e);if(i!==g.resolve(t)&&!i.startsWith(r))throw new z(`${n} escapes allowed root: ${e} is not within ${t}`,`containment-violation`)}async function V(e,t,n,r){let i=r??await h.realpath(t),a;try{a=await h.realpath(e)}catch{return e}let o=i+g.sep;if(a!==i&&!a.startsWith(o))throw new z(`${n} escapes allowed root via symlink: real path ${a} is not within ${i}`,`symlink-escape`);return a}function St(e){let t=e.indexOf(`-`);if(t===-1)throw new z(`Invalid SRI integrity format: ${e}`,`contribution-integrity-mismatch`);return{algorithm:e.slice(0,t),digest:e.slice(t+1)}}async function Ct(e,t){let n=await h.readFile(e);return _.createHash(t).update(n).digest(`base64`)}const H=new Set([`.git`,`node_modules`]);function wt(e){return H.has(e.toLowerCase())}async function Tt(e,t){let n=t.toLowerCase();if(!H.has(n))return!1;if(t===n)return!0;try{let[r,i]=await Promise.all([h.lstat(g.join(e,t)),h.lstat(g.join(e,n))]);return r.dev===i.dev&&r.ino===i.ino}catch(e){if(e.code===`ENOENT`)return!1;throw e}}const Et=H,Dt=new Set([`.DS_Store`]);async function Ot(e,t){let n=_.createHash(t),r=[];async function i(t){let n=await h.readdir(t,{withFileTypes:!0});for(let a of n){let n=g.join(t,a.name);if(a.isSymbolicLink())throw new z(`Contribution package contains a symbolic link: ${g.relative(e,n)}`,`symlink-escape`);if(a.isDirectory()){Et.has(a.name)||await i(n);continue}if(a.isFile()){Dt.has(a.name)||r.push(g.relative(e,n));continue}throw new z(`Contribution package contains an unsupported filesystem entry: ${g.relative(e,n)}`,`contribution-integrity-mismatch`)}}await i(e),r.sort();for(let t of r)n.update(t.split(g.sep).join(`/`)),n.update(`\0`),n.update(await h.readFile(g.join(e,t))),n.update(`\0`);return`${t}-${n.digest(`base64`)}`}async function kt(e,t=`sha256`){let n=_.createHash(t),r=[];async function i(t){let n=await h.readdir(t,{withFileTypes:!0});for(let a of n){let n=g.join(t,a.name);if(!await Tt(t,a.name)){if(a.isDirectory()){await i(n);continue}if(a.isFile()){r.push(g.relative(e,n));continue}throw a.isSymbolicLink()?new z(`Workspace root contains a symbolic link: ${g.relative(e,n)}`,`symlink-escape`):new z(`Workspace root contains an unsupported filesystem entry: ${g.relative(e,n)}`,`unsupported-filesystem-entry`)}}}await i(e),r.sort();for(let t of r){n.update(t),n.update(`\0`);let r=await h.readFile(g.join(e,t));n.update(r),n.update(`\0`)}return`${t}-${n.digest(`base64`)}`}async function At(e,t,n){let r=g.join(t,`node_modules`,e.packageName);B(r,t,`Contribution package directory`),await V(r,t,`Contribution package directory`,n);let i=g.join(r,`package.json`),a;try{a=await h.readFile(i,`utf-8`)}catch{throw new z(`Contribution package not found: ${e.packageName} (expected at ${r})`,`contribution-missing`)}let o=JSON.parse(a);if(o.name!==e.packageName)throw new z(`Contribution identity mismatch: expected ${e.packageName}, found ${o.name??`<none>`}`,`contribution-missing`);if(o.version!==e.version)throw new z(`Contribution version mismatch for ${e.packageName}: expected ${e.version}, found ${o.version??`<none>`}`,`contribution-version-mismatch`);let s=g.join(r,e.entrypoint);B(s,r,`Contribution entrypoint`),await V(s,t,`Contribution entrypoint`,n);try{await h.access(s)}catch{throw new z(`Contribution entrypoint not found for ${e.packageName}: ${e.entrypoint}`,`contribution-entrypoint-mismatch`)}let{algorithm:c}=St(e.integrity),l;try{l=await Ot(r,c)}catch(t){if(t instanceof z)throw t;let n=typeof t==`object`&&t&&`code`in t&&typeof t.code==`string`?t.code:void 0;throw n!==void 0&&!n.startsWith(`ERR_`)?new z(`Contribution package cannot be read for ${e.packageName}`,`contribution-entrypoint-mismatch`):t}if(l!==e.integrity)throw new z(`Contribution integrity mismatch for ${e.packageName}: expected ${e.integrity}, computed ${l}`,`contribution-integrity-mismatch`);return s}async function jt(e,t,n){let r=await n.resolveWorkspaceRoot(e.workspaceId);if(r===void 0)throw new z(`Unknown workspace ID: ${e.workspaceId}`,`unknown-workspace`);try{if(!(await h.stat(r)).isDirectory())throw new z(`Workspace root is not a directory: ${r}`,`containment-violation`)}catch(e){throw e instanceof z?e:new z(`Workspace root does not exist: ${r}`,`containment-violation`)}let i=await h.realpath(r),a=g.resolve(r,e.sourcePath);if(B(a,r,`Source path`),g.relative(r,a).split(g.sep).some(wt))throw new z(`Workflow source path selects excluded workspace content: ${e.sourcePath}`,`source-path-mismatch`);await V(a,r,`Source path`,i);let o=await kt(r);if(o!==e.rootDigest)throw new z(`Workspace root digest mismatch: expected ${e.rootDigest}, computed ${o}`,`digest-mismatch`);try{await h.access(a)}catch{throw new z(`Workflow source file not found: ${a}`,`source-missing`)}return{workspaceRoot:r,sourcePath:a,contributionEntrypoints:await Promise.all(t.map(e=>At(e,r,i))),platform:process.platform,arch:process.arch}}var U=class{options;manifest;pool;constructor(e){this.options=e,this.manifest=e.manifest}async run(e,t,n){this.pool??=new xt(this.options);let r=n??this.manifest,i=await this.materializeTask(e,r,t);return{state:`uncommitted`,result:await this.pool.run(i,t)}}runWithReadiness(e,t,r,i){this.pool??=new xt(this.options);let a=this.pool,o,s=!1,c,u=new Promise((t,n)=>{c=n,o=a.onMessage(n=>{l(n)&&n.executionAttemptId===i.executionAttemptId&&(n.executionId!==e.executionId||n.cancelSubject!==e.cancelSubject||(s=!0,o?.(),t(n)))})}),d=r??this.manifest,f=n(i.bootstrapDeadlineAt,t,async(t,n)=>{let r=await this.materializeTask(e,d,n);return a.run({...r,kind:`attempt-bound`,executionAttemptId:i.executionAttemptId,bootstrapDeadlineAt:i.bootstrapDeadlineAt,bootstrapPort:t},n,[t])});return f.then(()=>{s||(s=!0,o?.(),c(Error(`Workflow worker completed before ready signal: ${e.executionId}`)))},e=>{s||(s=!0,o?.(),c(e instanceof Error?e:Error(String(e))))}),{result:f,ready:u}}async dispose(){await this.pool?.dispose()}async materializeTask(e,t,n){if(n.throwIfAborted(),!(e.source.kind===`path`||t.contributionRefs.length>0))return{kind:`unbound`,config:e,manifest:t,contributionEntrypoints:[]};let r=e.materializationSpec;if(r?.kind!==`local-directory`)throw Error(`ThinWorkflowPiscinaRunner requires a local-directory materialization spec for path-backed workflows or declared contributions.`);if(this.options.resolveWorkspaceRoot===void 0)throw Error(`ThinWorkflowPiscinaRunner requires a host workspace-root resolver for local-directory materialization.`);let i=await jt(r,t.contributionRefs,{resolveWorkspaceRoot:this.options.resolveWorkspaceRoot});if(n.throwIfAborted(),e.source.kind!==`path`)throw Error(`local-directory materialization requires a path-backed workflow source.`);return{kind:`unbound`,config:{...e,source:{kind:`path`,path:i.sourcePath}},manifest:t,contributionEntrypoints:i.contributionEntrypoints}}};function Mt(e){return e.mode===`source`?ie(e.moduleDir,`workflow-worker`,`worker-entry.ts`):ie(e.moduleDir,`workflow-worker`,`worker-entry.mjs`)}var Nt=class{options;terminalAuthority=`authority`;constructor(e){this.options=e}async run(e,t,n,r){let i={...e,terminalAuthority:`authority`},a=n??this.options.manifest,o=this.options.requirements,s=r?.dispatchMetadata;t.throwIfAborted();let c=e.source.kind===`path`?await this.options.readRunContext?.(e.executionId,t):void 0;t.throwIfAborted();let l=Qe({id:v(),revision:`1`,config:e,...c==null?{}:{runContext:c},preservation:{required:[]}});return et(await $e({authority:this.options.authority,executionId:e.executionId,instruction:l,withAttemptCreation:r?.withAttemptCreation,dispatch:e=>this.options.dispatch({executionAttemptId:e,config:i,...a!==void 0&&{manifest:a},...o!==void 0&&{requirements:o},...s!==void 0&&{metadata:s}},t)}),e)}},Pt=class{#e;constructor(e){this.#e=e.bus}async run(e,t,n){let i=ve.parse(e),a=await r(i);return{state:`uncommitted`,result:await tt({config:await c(i,a,this.#e,t),loaded:a,bus:this.#e,signal:t})}}};function Ft(){return{contributionRefs:[]}}function It(e){if(e.workflowRunner?.mode===`worker`&&!e.executionAttemptRepository)throw Error(`Worker dispatch mode requires an ExecutionAttemptRepository. Pass 'executionAttemptRepository' to createNodeWorkflowRunnerPackageOptions when workflowRunner.mode is 'worker'.`);let t;if(e.executionAttemptRepository){let n=e.executionAttemptBootstrapTimeoutMs;if(n===void 0)throw Error(`An ExecutionAttemptRepository requires executionAttemptBootstrapTimeoutMs`);t=new Je(e.executionAttemptRepository,{bootstrapTimeoutMs:n})}let n=ne(e.runtimeModuleDir)===`src`?`source`:`dist`,r=Lt({moduleDir:e.runtimeModuleDir,defaultWorkerEntryMode:n,runner:e.workflowRunner,bus:e.bus,authority:t});return{...r!==void 0&&{workflowRunner:r},executorConfig:{busUrl:e.busUrl,busAuth:{kind:`none`},platformDefaults:e.platformDefaults,makaioHome:e.makaioHome},...e.executionAttemptRepository!==void 0&&{executionAttemptRepository:e.executionAttemptRepository},...t!==void 0&&{executionAttemptAuthority:t},...e.workflowMaterializationSpecResolvers!==void 0&&{workflowMaterializationSpecResolvers:e.workflowMaterializationSpecResolvers}}}function Lt(e){let{runner:t}=e;if(t)switch(t.mode){case void 0:case`in-process`:if(e.bus===void 0)throw Error(`InProcessWorkflowRunner requires a bus instance. Pass 'bus' to createNodeWorkflowRunner when runner.mode is 'in-process'.`);return new Pt({bus:e.bus});case`worker`:{if(e.authority===void 0)throw Error(`WorkerRunner requires an ExecutionAttemptAuthority. Pass 'authority' to createNodeWorkflowRunner when runner.mode is 'worker'.`);let n=e.bus,r=t.dispatch??(n===void 0?void 0:(e,t)=>n.request(C.dispatch,{executionAttemptId:e.executionAttemptId,config:e.config,manifest:e.manifest,requirements:e.requirements,metadata:e.metadata},{signal:t}));if(r===void 0)throw Error(`WorkerRunner requires either a dispatch function or a bus instance. Pass 'bus' to createNodeWorkflowRunner when runner.mode is 'worker'.`);return new Nt({dispatch:r,authority:e.authority,...n!==void 0&&{readRunContext:async(e,t)=>(await n.request(Ze.getRunContext,{executionId:e},{signal:t})).runContext},...t.manifest!==void 0&&{manifest:t.manifest},...t.requirements!==void 0&&{requirements:t.requirements}})}case`piscina`:return new U({workerEntry:t.workerEntry??Mt({moduleDir:e.moduleDir,mode:t.workerEntryMode??e.defaultWorkerEntryMode}),manifest:t.manifest??Ft(),...t.resolveWorkspaceRoot!==void 0&&{resolveWorkspaceRoot:t.resolveWorkspaceRoot},maxConcurrency:t.maxConcurrency,idleTimeoutMs:t.idleTimeoutMs})}}const Rt=new Set([`accepted`,`duplicate`]);var W=class extends Error{decision;result;reason;constructor(e,t,n=`authority-rejected`){super(`Outcome delivery ${n===`deadline-exceeded`?`deadline exceeded`:`rejected by Authority`} (decision=${e}, executionId=${t.executionId}, status=${t.status})`),this.decision=e,this.result=t,this.reason=n,this.name=`OutcomeDeliveryError`}},G=class extends Error{decision;payload;reason;constructor(e,t,n=`authority-rejected`){super(`Attempt outcome delivery ${n===`deadline-exceeded`?`deadline exceeded`:`rejected by Authority`} (decision=${e}, executionAttemptId=${t.executionAttemptId}, outcome=${t.outcome.kind})`),this.decision=e,this.payload=t,this.reason=n,this.name=`AttemptOutcomeDeliveryError`}},zt=class extends Error{reason;constructor(e=`deadline-exceeded`){super(`Authority request delivery deadline exceeded`),this.reason=e,this.name=`AuthorityRequestDeliveryError`}};function Bt(e){let t={maxRetries:e?.maxRetries??7,baseDelayMs:e?.baseDelayMs??1e3,maxDelayMs:e?.maxDelayMs??3e4,deadlineMs:e?.deadlineMs??12e4};if(!Number.isSafeInteger(t.maxRetries)||t.maxRetries<0)throw TypeError(`Outcome submission maxRetries must be a non-negative safe integer, got ${t.maxRetries}`);for(let[e,n]of Object.entries({baseDelayMs:t.baseDelayMs,maxDelayMs:t.maxDelayMs,deadlineMs:t.deadlineMs}))if(!Number.isFinite(n)||n<=0)throw TypeError(`Outcome submission ${e} must be a positive finite number, got ${n}`);return t}async function Vt(e,t,n,r){let i=t.baseDelayMs*2**(e-1),a=n-Date.now(),o=Math.min(i,t.maxDelayMs,a);await new Promise(e=>setTimeout(e,o));let s=n-Date.now();if(s<=0)return!1;if(r!==void 0){let e;try{await Promise.race([r(),new Promise(t=>{e=setTimeout(t,s)})])}catch{}finally{e!==void 0&&clearTimeout(e)}}return Date.now()<n}async function Ht(e,t,n,r){let i=Bt(n?.retry),a=n?.reconnect,o=Date.now()+i.deadlineMs,s;for(let n=0;n<=i.maxRetries;n++){if(o-Date.now()<=0||n>0&&!await Vt(n,i,o,a))throw t();try{let n=o-Date.now();if(n<=0)throw t();return await e(n)}catch(e){if(r(e))throw e;if(s=e,Date.now()>=o)throw t()}}throw s??t()}async function K(e,t){return await Ht(e,()=>new zt,t,()=>!1)}async function Ut(e,t,n){return await Ht(async n=>{let r=await e(n);if(Rt.has(r))return r;throw t(r)},()=>t(`deadline-exceeded`,`deadline-exceeded`),n,e=>e instanceof W||e instanceof G)}async function Wt(e,t,n){return await Ut(async n=>(await e.request(C.control.outcome.submit,{executionAttemptId:t.executionAttemptId,executionId:t.executionId,result:t.result},{timeout:n})).decision,(e,n)=>n===void 0?new W(e,t.result):new W(e,t.result,n),n)}async function Gt(e,t,n){return await Ut(async n=>(await e.request(x.outcome.submit,t,{timeout:n})).decision,(e,n)=>n===void 0?new G(e,t):new G(e,t,n),n)}const Kt={maxRetries:3,baseDelayMs:200,maxDelayMs:2e3,deadlineMs:1e4},qt={persistentStorage:!0,customCapabilities:[`workflow.local-runtime`,`workflow.thin-runner`],suspensionStrategy:`wait-in-process`,supportsRecovery:!1,materializationModes:[`local-directory`]},Jt={code:`outcome-acknowledged`,summary:`Piscina runner settled and the Authority acknowledged its workflow outcome`},Yt={code:`outcome-delivery-ended`,summary:`Piscina runner settled and its bounded workflow outcome delivery ended`};function q(e){let t=new Set,n;return{publish:r=>{if(n!==void 0)return;let i=r();n=i;let a=[...t];t.clear();for(let t of a)try{t(i)}catch(t){console.error(`${e} observer failed:`,t)}},observe:e=>n===void 0?(t.add(e),()=>t.delete(e)):(e(n),()=>void 0)}}function Xt(e){let t=q(`[PiscinaThinWorkflowProvider] Infrastructure-conclusion`);return{conclude:n=>{t.publish(()=>({evidence:y.parse({source:e.slice(0,S.source),summary:n.slice(0,S.summary),observedAt:new Date().toISOString()})}))},observe:t.observe}}function Zt(e,t){let n=q(`[PiscinaThinWorkflowProvider] Provider-completion`),r=q(`[PiscinaThinWorkflowProvider] Local-observation-loss`),i;return{completion:{complete:r=>{i===void 0&&n.publish(()=>{let n=y.parse({source:e.slice(0,S.source),code:r.code,summary:r.summary,observedAt:new Date().toISOString()});return t(),i=`completion`,n})},observe:n.observe},localObservationLoss:{lose:()=>{i===void 0&&r.publish(()=>(i=`local-observation-loss`,{}))},observe:e=>r.observe(()=>e())}}}var Qt=class{executionAttemptId;controller;detachCallerAbort;infrastructure;completion;localObservationLoss;revokeBusIdentity;constructor(e,t,n,r,i,a,o){this.executionAttemptId=e,this.controller=t,this.detachCallerAbort=n,this.infrastructure=r,this.completion=i,this.localObservationLoss=a,this.revokeBusIdentity=o}cancel(e){return this.controller.abort(e??`Worker cancelled`),this.detachCallerAbort(),Promise.resolve()}terminate(){return this.controller.abort(`Worker terminated`),this.detachCallerAbort(),this.revokeBusIdentity(),Promise.resolve()}release(){return this.detachCallerAbort(),Promise.resolve()}observeInfrastructureConclusion(e){return this.infrastructure.observe(e)}observeProviderCompletion(e){return this.completion.observe(e)}observeLocalObservationLoss(e){return this.localObservationLoss.observe(e)}},$t=class{options;environment=`piscina`;allocationLifetime=`provisioner-process-bound`;baseCapabilities;constructor(e){this.options=e,this.baseCapabilities=me.parse({...qt,...e.baseCapabilities,suspensionStrategy:e.baseCapabilities?.suspensionStrategy??qt.suspensionStrategy,supportsRecovery:!1})}get id(){return this.options.id}get displayName(){return this.options.displayName}async provision(e,t){t.throwIfAborted();let n=await this.resolveLaunchBeforeAllocation(e,t);if(t.throwIfAborted(),`kind`in n)return n;let r=n,i=new AbortController,a=Xt(this.id),o=()=>{i.abort(t.reason)};t.addEventListener(`abort`,o,{once:!0});let s=()=>t.removeEventListener(`abort`,o),c;try{let{executionAttemptId:n,executionId:o}=e,l=this.buildAllocationRef(n),u=d({executionAttemptId:n,executionId:o}),f=!1,p=()=>{f||(f=!0,u.cleanup())};c=p;let m=Zt(this.id,p),ee=new Qt(n,i,s,a,m.completion,m.localObservationLoss,p);t.throwIfAborted();let h=this.options.runner.runWithReadiness({...r,busAuth:{kind:`hmac`,secret:u.secret}},i.signal,e.runtimeInputs.workerManifest,{executionAttemptId:n,bootstrapDeadlineAt:e.bootstrapDeadlineAt});return h.ready.then(()=>this.submitOutcomeOnSettlement(h.result,o,n,r.workflowId,a.conclude,m.completion.complete),e=>{i.abort(e),h.result.catch(()=>void 0),c?.(),a.conclude(`Piscina worker for attempt '${n}' was refused before its workflow run was admitted: `+(e instanceof Error?e.message:String(e))),m.localObservationLoss.lose()}),{kind:`allocated`,allocationRef:l,handle:ee}}catch(e){throw i.abort(e),s(),c?.(),e}}async resolveLaunchBeforeAllocation(e,t){try{let n=await this.options.launchResolver(e,t);return t.throwIfAborted(),n.busUrl?n:this.confirmedAbsent(`Piscina workflow configuration has no bus URL before local allocation setup`)}catch{return t.throwIfAborted(),this.confirmedAbsent(`Workflow launch resolution failed before Piscina local allocation setup`)}}confirmedAbsent(e){return{kind:`confirmed-absent`,evidence:y.parse({source:`piscina-thin-workflow-provider`,code:de,summary:e,observedAt:new Date().toISOString()})}}async submitOutcomeOnSettlement(e,t,n,r,i,a){let o;try{o=await e}catch(e){o={executionId:t,workflowId:r,status:`failed`,error:e instanceof Error?e.message:String(e)}}try{let e={...Kt,...this.options.outcomeRetry};await Wt(this.options.bus,{executionAttemptId:n,executionId:t,result:o},{retry:e})}catch(e){e instanceof W?console.error(`[PiscinaThinWorkflowProvider] Outcome rejected for execution '${t}' attempt '${n}' (decision=${e.decision}):`,e):console.error(`[PiscinaThinWorkflowProvider] Failed to submit outcome for execution '${t}' attempt '${n}':`,e),i(`Piscina worker for attempt '${n}' ended without an acknowledged outcome because outcome submission could not be completed`),a(Yt);return}a(Jt)}buildAllocationRef(e){let t={version:fe,providerId:this.id,providerData:{executionAttemptId:e,allocatedAt:Date.now()}};return pe.parse(t)}};function en(e){return async(t,n)=>{n.throwIfAborted();let r=await e({executionId:t.executionId,executionAttemptId:t.executionAttemptId});if(n.throwIfAborted(),r===null)throw Error(`Workflow launch instruction is unavailable for execution '${t.executionId}' attempt '${t.executionAttemptId}'`);let i=k(r);if(i.executionId!==t.executionId)throw Error(`Workflow instruction execution '${i.executionId}' does not match Worker request '${t.executionId}'`);return ve.parse({source:i.source,...i.definitionSnapshot===void 0?{}:{definition:i.definitionSnapshot},executionId:i.executionId,workflowId:i.workflowId,triggerPayload:i.triggerPayload,...i.triggerMode===void 0?{}:{triggerMode:i.triggerMode},inputs:i.inputs,...i.config===void 0?{}:{config:i.config},...i.artifactRef===void 0?{}:{artifactRef:i.artifactRef},scope:i.scope,...t.connection.busUrl===void 0?{}:{busUrl:t.connection.busUrl},busAuth:t.connection.busAuth,...t.connection.env===void 0?{}:{env:t.connection.env},coordinatorSessionId:i.coordinatorSessionId,cancelSubject:i.cancelSubject,suspensionStrategy:t.runtimeInputs.suspensionStrategy,terminalAuthority:i.terminalAuthority,...i.materializationSpec===void 0?{}:{materializationSpec:i.materializationSpec}})}}const tn=[ze,Ie,Re];function nn(e){let t;return()=>(t??=(async()=>{let t=[];for(let n of[...e].reverse())try{await n()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Isolated workflow runtime shutdown reported errors`)})(),t)}function rn(e,t,n){return M({bus:e,currentMachineId:n,resolveLiveAdapterId:e=>t.getExtensionService(O)?.resolveLiveAdapterId(e),resolveLiveAdapterIdentity:e=>t.getExtensionService(O)?.resolveLiveAdapterIdentity(e),listLiveAdapterIdentities:()=>t.getExtensionService(O)?.getLiveAdapterIdentities()??[]})}async function an(e){let t=w();t.registerNamespaces([...ce,...le]);let{context:n}=e,r=new Se(t,{surface:`headless`,extensionContextBase:{cwd:n.cwd,platform:n.platform,homedir:n.homedir,makaioHome:n.makaioHome,username:n.username,machineId:n.machineId,tryImport:P}}),i,a=[()=>t.disconnect()],o=nn(a);try{await e.connectAuthority(t);let s=[...e.contributedPackages,...await e.loadContributedPackages?.(t)??[]],{adapterSubsystemPackage:c}=j({coordinator:r,configRepository:e.configRepository,platformDefaults:{cwd:n.cwd},runtimeSnapshotHandlerPriority:1,runtimeDefinitionHandlerPriority:1,...e.prepareAuthRuntime!==void 0&&{prepareAuthRuntime:e.prepareAuthRuntime}}),l=He({definitions:s.flatMap(e=>e.clients??[]),binaryResolutionPolicy:`global-only`});r.registerContributionProcessor(Fe());let u=[...tn,c,Ne,..._t(s)?[Le]:[],Pe(1),Be,L,l,...Ge(s)];r.load(u),a.push(...yt(u,t,r)),a.push(()=>r.shutdown()),await r.startAll(),i=rn(t,r,n.machineId),a.push(()=>{i?.cleanup(),i=void 0});let d=r.getExtensionService(Me);if(d===void 0)throw Error(`Isolated workflow tool registry did not start.`);for(let t of e.toolsets)await d.register(t);return await t.emit(Ce.ready,{machineId:n.machineId}),{bus:t,coordinator:r,machineId:n.machineId,shutdown:o}}catch(e){throw await o().catch(()=>void 0),e}}function on(e){return Number.isInteger(e)&&e>=1&&e<=2147483647}function J(e,t){try{return process.kill(-e,t),`signalled`}catch(e){if(e.code!==`ESRCH`)throw e;return`absent`}}function sn(e){return typeof e==`object`&&!!e&&e.code===`ENOENT`}async function cn(e,t,n){try{process.kill(-e,0)}catch(e){if(e.code===`ESRCH`)return{alive:!1};if(e.code!==`EPERM`)throw e}if(n)return{alive:!0};let r;try{r=await ln(t)}catch(e){return sn(e)?{alive:!0,psMissing:!0}:{alive:!0}}let i=!1;for(let t of r.trim().split(`
2
- `)){let[n,r,a]=t.trim().split(/\s+/);if(n===``||r===void 0||a!==void 0||!/^\d+$/.test(n)||r===``||Number(n)===e&&(i=!0,!r.startsWith(`Z`)))return{alive:!0}}return i?{alive:!1}:{alive:!0}}function ln(e){return new Promise((t,n)=>{p(`ps`,[`-A`,`-o`,`pgid=,stat=`],{timeout:e,maxBuffer:1024*1024},(e,r)=>{if(e!==null){n(e);return}t(r)})})}async function un(e){if(e===void 0)return{quiesced:!0,signalledLiveGroup:!1};let t=!1;try{try{t=J(e,`SIGKILL`)===`signalled`}catch(e){if(e.code!==`EPERM`)throw e}let n=Date.now()+2e3,r=!1;for(;Date.now()<n;){let i=n-Date.now();if(i<=0)break;let a=await cn(e,Math.min(1e3,i),r);if(!a.alive)return{quiesced:!0,signalledLiveGroup:t};r||=a.psMissing===!0,await nt(20)}return{quiesced:!1,cause:r?`ps-unavailable`:`poll-timeout`,signalledLiveGroup:t}}catch{return{quiesced:!1,cause:`signal-error`,signalledLiveGroup:t}}}function dn(e,t,n){let r=new Date;return n.quiesced?t||n.signalledLiveGroup?{pid:e,outcome:`signalled-and-quiesced`,observedAt:r}:{pid:e,outcome:`exited`,observedAt:r}:{pid:e,outcome:t||n.signalledLiveGroup?`signalled-unconfirmed`:`unsignalled-unconfirmed`,cause:n.cause,observedAt:r}}async function fn(e){if(e.signal?.aborted)return{status:`cancelled`,exitCode:null};if(!on(e.recipe.timeoutMs))return{status:`spawn-failed`,exitCode:null,message:`Setup timeout must be an integer between 1 and 2147483647 milliseconds`};if(process.platform===`win32`)return{status:`spawn-failed`,exitCode:null,message:`Setup process groups require a POSIX host`};try{return await pn(e)}catch{return{status:`spawn-failed`,exitCode:null,message:`Could not start the setup command`}}}function pn(e){return new Promise(t=>{let n=m(e.recipe.command,e.recipe.args,{cwd:e.workspaceRoot,env:{...process.env,...e.recipe.env,...e.env},shell:!1,detached:!0,stdio:`ignore`}),r,i,a=!1,o=e=>{if(r===void 0&&(r=e,n.pid!==void 0)){try{J(n.pid,`SIGTERM`)===`signalled`&&(a=!0)}catch(e){if(e.code!==`EPERM`){r=`stop-failed`;return}}i=setTimeout(()=>{try{n.pid!==void 0&&J(n.pid,`SIGKILL`)===`signalled`&&(a=!0)}catch(e){e.code!==`EPERM`&&(r=`stop-failed`)}},200)}},s=()=>o(`cancelled`),c=setTimeout(()=>o(`timed-out`),e.recipe.timeoutMs);e.signal?.addEventListener(`abort`,s,{once:!0}),e.signal?.aborted&&s(),n.once(`error`,()=>{r=`spawn-failed`}),n.once(`close`,o=>{clearTimeout(c),clearTimeout(i),e.signal?.removeEventListener(`abort`,s),un(n.pid).then(e=>{t({status:e.quiesced?r??(o===0?`completed`:`failed`):`stop-failed`,exitCode:o,processGroup:n.pid===void 0?void 0:dn(n.pid,a,e)})})})})}async function mn(e,t,n){if(g.isAbsolute(t)||t.includes(`\\`)||t.split(`/`).includes(`..`))throw Error(`Source root must be workspace-relative`);let r=e;for(let i of t.split(`/`).filter(e=>e!==``&&e!==`.`))if(r=g.join(r,i),B(r,e,`Source root`),await V(r,e,`Source root`,e),n&&await h.mkdir(r).catch(e=>{if(e.code!==`EEXIST`)throw e}),!(await h.stat(r)).isDirectory())throw Error(`Source root must be a directory`);return V(r,e,`Source root`,e)}async function hn(e){e.signal?.throwIfAborted();let{requirement:t}=e,n=g.resolve(e.workspaceRoot);if(!g.isAbsolute(e.workspaceRoot)||n===g.parse(n).root)throw Error(`Workspace root must be an absolute, non-filesystem-root directory`);if(t.sourceRoots.length>1)throw Error(`Multiple source roots are not implemented`);if(t.sourceRoots.some(e=>e.source!==void 0)){if(e.realizeSource===void 0)throw Error(`Source acquisition requires an installed strategy`);if(t.provisioning!==`create`||t.custody!==`disposable`)throw Error(`Source acquisition currently requires a created disposable workspace`)}if(t.provisioning===`create`&&await h.mkdir(n),!(await h.lstat(n)).isDirectory())throw Error(`Workspace root must be a directory, not a symlink`);let r=await h.realpath(n),i=[];for(let n of t.sourceRoots){let a=await mn(r,n.path,t.provisioning===`create`);n.source!==void 0&&(await e.realizeSource({source:n.source,destination:a,signal:e.signal}),e.signal?.throwIfAborted()),i.push({id:n.id,path:a})}return gn(t,{workspaceRoot:r,sourceRoots:i})}function gn(e,t){let n=t.workspaceRoot,r=e.custody,i=!1,a=!0,o;return{binding:t,async runSetup(t={}){if(o!==void 0||i||!a)throw Error(`Workspace setup is unavailable`);if(t.signal?.aborted)return{status:`cancelled`,exitCode:null};i=!0;try{let r;for(let[i,o]of e.setup.entries()){let e=await fn({...t,recipe:o,workspaceRoot:n});if(r=e,a=e.status!==`stop-failed`,e.status!==`completed`)return{...e,commandIndex:i}}let i=r?.processGroup;return i===void 0?{status:`completed`,exitCode:0}:{status:`completed`,exitCode:0,processGroup:i}}finally{i=!1}},release(){return i||!a?Promise.reject(Error(`Workspace commands have not stopped`)):(o??=r===`external`?Promise.resolve():h.rm(n,{recursive:!0,force:!0}),o)}}}function Y(e,t){return e instanceof be?T(e,t):t?.aborted===!0?e===t.reason||e instanceof DOMException&&e.name===`AbortError`?!0:e instanceof Error&&e.name===`AbortError`&&`code`in e&&e.code===`ABORT_ERR`&&Object.is(e.cause,t.reason):!1}function X(e){return(e instanceof Error?e.message:String(e)).slice(0,8192)||`Local execution failed without a diagnostic message`}function _n(e){if(e.status!==`completed`)return e.status===`cancelled`?{kind:`cancelled`}:e.status===`stop-failed`?{kind:`technical-failure`,stage:`workspace-preparation`,message:`Workspace setup stop-failed`}:{kind:`technical-failure`,stage:`workspace-preparation`,message:`Workspace setup ${e.status}`}}function vn(e,t){return Y(e,t)?{kind:`cancelled`}:{kind:`technical-failure`,stage:`workspace-preparation`,message:X(e)}}async function yn(e,t,n,r){let i=b[`instruction.get`].response.parse(await e.request(x.instruction.get,{executionAttemptId:t,runtimeGeneration:n},{signal:r}));if(i.decision===`found`)return i.instruction;throw Error(`Attempt instruction read refused: ${i.refusalReason}`)}async function bn(e,t,n,r){let{executionAttemptId:i,runtimeGeneration:a}=t;t.control?.admissionPending();let o=b[`operation.admit`].response.parse(await K(async t=>await e.request(x.operation.admit,{executionAttemptId:i,runtimeGeneration:a,operationKind:n,admissionKey:r},{timeout:t}),{retry:t.retry,reconnect:t.reconnect}));if(o.decision===`refused`)throw t.control?.admissionSettled(o.refusalReason),new s(t.executionAttemptId,r,o.refusalReason);if(o.operationId===void 0)throw Error(`Attempt ${n} admission decision '${o.decision}' named no operation (executionAttemptId=${i}, admissionKey=${r})`);return t.control?.operationAdmitted(n,o.operationId),o.operationId}async function xn(e,t,n){try{return{operationId:await bn(e,t,n.operationKind,n.admissionKey)}}catch(r){if(!(r instanceof s&&r.refusalReason===`gate-closed`&&n.signal.aborted))throw r;return await Z(e,t,n.instruction,{kind:`cancelled`},void 0,n.workspace)}}function Sn(e,t){return e.find(e=>e.kind===t.workload.kind&&e.version===t.workload.version)}function Cn(e){return{signal:e??new AbortController().signal,release:()=>{}}}async function Z(e,t,n,r,i,a){i!==void 0&&t.control?.operationConcluded(i);let o=await Gt(e,{executionAttemptId:t.executionAttemptId,runtimeGeneration:t.runtimeGeneration,...i===void 0?{}:{operationId:i.operationId},outcome:r},{retry:t.retry,reconnect:t.reconnect});if(a!==void 0&&n!==void 0&&r.kind===`workload-result`&&n.preservation.required.length===0)try{await a.release()}catch{console.warn(`[makaio-worker] Acknowledged workspace cleanup failed.`)}return{outcome:r,decision:o}}async function wn(e,t,n,r){let i=b[`operation.report`].response.parse(await K(async i=>await e.request(x.operation.report,{executionAttemptId:t.executionAttemptId,runtimeGeneration:t.runtimeGeneration,operationId:n,result:{kind:`workspace-prepared`,binding:r.binding}},{timeout:i}),{retry:t.retry,reconnect:t.reconnect}));return i.decision===`refused`?void 0:i.binding}async function Tn(e,t,n,r){if(r.aborted)return await Z(e,t,n,{kind:`cancelled`},void 0,void 0);let i=await xn(e,t,{operationKind:`workspace-preparation`,admissionKey:`workspace-preparation:${n.id}:${t.runtimeGeneration}`,signal:r,instruction:n});if(`outcome`in i)return i;let a=i.operationId;if(r.aborted)return await Z(e,t,n,{kind:`cancelled`},Q(a,`not-started`),void 0);let o,s,c=!1;try{if(t.workspaceRoot===void 0)throw Error(`Workspace preparation requires an explicit local root`);let e=await(t.preparation??{prepare:hn}).prepare({requirement:n.workspace,workspaceRoot:t.workspaceRoot,signal:r});o=e,c=!0,s=await e.runSetup({signal:r,env:t.setupEnv})}catch(i){return await Z(e,t,n,vn(i,r),Q(a,c?`no-observation`:`not-started`),o)}let l=Q(a,s.processGroup??`no-spawn`);t.control?.operationConcluded(l);let u=_n(s);if(u!==void 0)return await Z(e,t,n,u,l,o);if(r.aborted)return await Z(e,t,n,{kind:`cancelled`},l,o);let d=await wn(e,t,a,o);return d===void 0?await Z(e,t,n,{kind:`technical-failure`,stage:`workspace-preparation`,message:`Workspace preparation report refused by the Authority`},l,o):r.aborted?await Z(e,t,n,{kind:`cancelled`},void 0,o):{handle:o,binding:d}}function Q(e,t){return{kind:`workspace-preparation`,operationId:e,setup:t}}async function En(e,t,n,r,i){if(i.signal.aborted)return await Z(e,t,n,{kind:`cancelled`},void 0,void 0);let a,o;if(n.workspace!==void 0){let r=await Tn(e,t,n,i.signal);if(`outcome`in r)return r;a=r.handle,o=r.binding}if(i.signal.aborted)return await Z(e,t,n,{kind:`cancelled`},void 0,a);let s=await xn(e,t,{operationKind:`workload-invocation`,admissionKey:`workload-invocation:${n.id}:${t.runtimeGeneration}`,signal:i.signal,instruction:n,...a===void 0?{}:{workspace:a}});if(`outcome`in s)return s;let c={kind:`workload-invocation`,operationId:s.operationId};if(i.signal.aborted)return await Z(e,t,n,{kind:`cancelled`},c,a);let l;try{l={kind:`workload-result`,result:ue.parse(await r.invoke({instruction:n,...o===void 0?{}:{workspace:o},signal:i.signal}))}}catch(e){l=Y(e,i.signal)?{kind:`cancelled`}:{kind:`technical-failure`,stage:`workload-invocation`,message:X(e)}}return await Z(e,t,n,l,c,a)}async function Dn(e,t){let n;try{n=await yn(e,t.executionAttemptId,t.runtimeGeneration,t.signal)}catch(n){if(T(n,t.signal))return await Z(e,t,void 0,{kind:`cancelled`},void 0,void 0);throw n}let r=Sn(t.adapters,n);if(r===void 0)return await Z(e,t,n,{kind:`technical-failure`,stage:`startup`,message:`Required adapter '${n.workload.kind}' version '${n.workload.version}' is unavailable`},void 0,void 0);let i;try{i=await(r.bindControl?.({instruction:n,signal:t.signal})??Cn(t.signal))}catch(r){let i=Y(r,t.signal)?{kind:`cancelled`}:{kind:`technical-failure`,stage:`startup`,message:X(r)};return await Z(e,t,n,i,void 0,void 0)}try{return await En(e,t,n,r,i)}finally{try{i.release()}catch{console.warn(`[makaio-worker] Workload control release failed.`)}}}async function On(e,t,n,r,i){let a=he[`runtime.inputs.get`].response.parse(await e.request(C.runtime.inputs.get,{executionAttemptId:t},{signal:i}));if(a.runtimeInputs===null)throw Error(`Selected Worker Runtime inputs are unavailable`);return ge.parse({...n,...a.runtimeInputs,createdAt:0,env:r})}function kn(e,t){let n=(e,t)=>{let n=ae(e,t);return n===``||!re(n)&&n!==`..`&&!n.startsWith(`../`)&&!n.startsWith(`..\\`)};return n(e,t)||n(t,e)}async function An(t,n,r,i){let a=await t.loadContributions(r,i);i.throwIfAborted();let o=e();return await an({connectAuthority:e=>t.connectBus(e,n,i),contributedPackages:[...a],configRepository:t.configRepository,context:{cwd:r.workspaceRoot,platform:r.platform,homedir:o,makaioHome:o,username:`workflow-worker`,machineId:`headless-worker-${t.executionAttemptId}`},toolsets:[...t.toolsets],...t.prepareAuthRuntime!==void 0&&{prepareAuthRuntime:t.prepareAuthRuntime}})}function jn(e,t,n){let r={...e.workflowEnv},i,a=!0;return{adapter:{kind:Ye,version:Xe,async bindControl({instruction:t,signal:r}){let i=k(t);if(i.executionId!==e.executionId)throw Error(`Workflow instruction execution identity mismatch`);let a=new AbortController,o=n.on(ye(i.cancelSubject),()=>a.abort());try{return await xe(o),{signal:AbortSignal.any([...r===void 0?[]:[r],a.signal]),release:o}}catch(e){throw o(),e}},async invoke({instruction:o,workspace:s,signal:c}){let l=k(o);a=o.preservation.required.length!==0;let u=c??new AbortController().signal,d;try{u.throwIfAborted();let a=await On(n,e.executionAttemptId,l,r,u),o=await e.materialize(a,u);(s===void 0||!kn(o.context.workspaceRoot,s.workspaceRoot))&&(i=o.cleanup);let c=Mn(o.context,s);return u.throwIfAborted(),d=await An(e,t,c,u),u.throwIfAborted(),await e.execute(d.bus,a,c,u)}finally{await d?.shutdown()}}},async releaseExecutable(e){e===void 0||a||e.outcome.kind===`workload-result`&&(e.decision!==`accepted`&&e.decision!==`duplicate`||await i?.().catch(()=>void 0))}}}function Mn(e,t){return t===void 0?e:{...e,workspaceRoot:t.workspaceRoot}}const Nn={exited:`setup process group leader exited; whole group proven quiescent`,"signalled-and-quiesced":`setup process group signalled; group proven quiescent afterwards`,"signalled-unconfirmed":`setup process group signalled; quiescence not proven`,"unsignalled-unconfirmed":`setup process group could not be signalled; quiescence not proven`},Pn={"poll-timeout":`quiescence poll timed out`,"ps-unavailable":`ps unavailable on this host`,"signal-error":`a cleanup signal failed`};function Fn(e){let t=Nn[e.outcome];return e.cause===void 0?t:`${t} (${Pn[e.cause]})`}function $(e){return{...e.operationId===void 0?{}:{operationId:e.operationId},conclusion:{status:e.status,boundary:e.boundary,evidence:{source:e.source,summary:e.summary,observedAt:e.observedAt.toISOString(),...e.code===void 0?{}:{code:e.code}}}}}function In(e,t){if(!e.cancelReceived||e.admissionPending)return`pending`;let n=e.admittedOperation;if(n===null)return!e.admissionSettled&&!e.finished?`pending`:$({status:`achieved`,boundary:`admission-closed`,source:`headless-runtime`,summary:Ln(e.admissionRefusalReason),observedAt:t});if(n.kind===`workload-invocation`)return $({operationId:n.operationId,status:`unsupported`,boundary:`workload`,source:`headless-runtime`,summary:`generic workload adapter offers no stop evidence`,observedAt:t});let r=e.conclusion;return r===null||r.kind!==`workspace-preparation`||r.operationId!==n.operationId?`pending`:Rn(n.operationId,r.setup,t)}function Ln(e){let t=`no mutating operation admitted before cancellation`;return e===null?t:`${t}; admission refused (${e})`}function Rn(e,t,n){return $(t===`not-started`?{operationId:e,status:`achieved`,boundary:`setup-process-group`,source:`headless-runtime`,summary:`preparation admitted; setup never started before cancellation`,observedAt:n}:t===`no-spawn`?{operationId:e,status:`achieved`,boundary:`setup-process-group`,source:`setup-driver`,summary:`no live setup process group remains under this operation`,observedAt:n}:t===`no-observation`?{operationId:e,status:`unsupported`,boundary:`setup-process-group`,source:`setup-driver`,summary:`setup driver supplied no process-group observation`,observedAt:n}:{operationId:e,status:t.outcome===`signalled-unconfirmed`||t.outcome===`unsignalled-unconfirmed`?`unconfirmed`:`achieved`,boundary:`setup-process-group`,source:`setup-driver`,summary:Fn(t),observedAt:t.observedAt,code:t.outcome})}var zn=class{state={cancelReceived:!1,admissionPending:!1,admissionSettled:!1,admissionRefusalReason:null,admittedOperation:null,conclusion:null,finished:!1};onUpdate;constructor(e){this.onUpdate=e}markCancelReceived(){this.state.cancelReceived=!0,this.onUpdate()}admissionPending(){this.state.admissionPending=!0,this.onUpdate()}admissionSettled(e){this.state.admissionPending=!1,this.state.admissionSettled=!0,e!==void 0&&(this.state.admissionRefusalReason=e),this.onUpdate()}operationAdmitted(e,t){this.state.admissionPending=!1,this.state.admittedOperation={kind:e,operationId:t},this.onUpdate()}operationConcluded(e){this.state.conclusion=e,this.onUpdate()}finished(){this.state.finished=!0,this.onUpdate()}snapshot(){return{...this.state}}};function Bn(e){return!e.reportPending&&(e.lastReportStatus===void 0||e.lastReportStatus===`error`)}function Vn(e,t){return{executionAttemptId:e.executionAttemptId,runtimeIncarnationId:e.runtimeIncarnationId,runtimeGeneration:e.runtimeGeneration,controlRevision:e.cancellation.controlRevision,requestKey:e.cancellation.requestKey,receivedAt:t.toISOString()}}async function Hn(e,t,n,r){let i={executionAttemptId:t.executionAttemptId,runtimeIncarnationId:t.runtimeIncarnationId,runtimeGeneration:t.runtimeGeneration,controlRevision:t.controlRevision,requestKey:t.requestKey,...n.operationId===void 0?{}:{operationId:n.operationId},conclusion:n.conclusion};try{let t=await K(t=>e.request(x.control.report,i,{timeout:t}),r),n=b[`control.report`].response.parse(t);return n.decision===`accepted`||n.decision===`duplicate`?{status:n.decision,response:n}:{status:`refused`,response:n}}catch(e){return{status:`error`,error:e}}}function Un(e,t){let n=new Set,r;return{dispatch(i,a,o){let s=Hn(e,i,a,t).then(e=>{r=e,n.delete(s),o(e)});n.add(s)},async settle(){for(await new Promise(e=>setImmediate(e));n.size>0;)await Promise.allSettled([...n])},get lastReport(){return r}}}async function Wn(e,t,n={}){let r=n.now??(()=>new Date),i=new Map,a=new AbortController,s=Un(e,n.reportOptions);function c(e){if(!Bn(e))return;let t=In(u.snapshot(),r());t!==`pending`&&(e.reportPending=!0,s.dispatch(e.receipt,t,t=>{e.reportPending=!1,e.lastReportStatus=t.status}))}function l(e){let{controlRevision:t}=e.cancellation,n=i.get(t);if(n!==void 0)return setImmediate(()=>c(n)),n.receipt;let o={receipt:Vn(e,r()),reportPending:!1,lastReportStatus:void 0};return i.set(t,o),setImmediate(()=>{a.abort(),u.markCancelReceived(),c(o)}),o.receipt}let u=new zn(()=>{for(let e of i.values())c(e)}),d=await o(e,t,e=>e.bus.on(x.control.deliver,async t=>{let n=b[`control.deliver`].request.safeParse(t.payload);if(!n.success){t.setResult({decision:`refused`,reason:`unsupported`});return}let r=n.data,i=e.acceptedGeneration??await e.awaitGeneration();if(i===void 0||r.runtimeGeneration!==i){t.setResult({decision:`refused`,reason:`stale-generation`});return}t.setResult({decision:`received`,receipt:l(r)})}),n.signal);return{bindGeneration:e=>d.bindGeneration(e),cleanup:()=>d.cleanup(),signal:a.signal,observer:u,settle:()=>s.settle(),get lastReport(){return s.lastReport}}}async function Gn(e,t){if(!(t.outcome.kind!==`workload-result`||e.onPostCommit===void 0))try{let n=_e.parse(t.outcome.result);await e.onPostCommit(n,t.decision)}catch{}}async function Kn(e,t){t.throwIfAborted();let n={...e.workflowEnv},r=v(),o=await u(e.bootstrapDeadlineAt,t,t=>e.bootstrap(t)),{connection:s,endpoint:c}=await a({executionAttemptId:e.executionAttemptId,runtimeIncarnationId:r,bootstrapDeadlineAt:e.bootstrapDeadlineAt,signal:t,createConnection:()=>qn(e,o)}),l=s.bus,d=jn({...e,workflowEnv:n},o,l),f,p;try{p=await Wn(l,{executionAttemptId:e.executionAttemptId,runtimeIncarnationId:r},{reportOptions:{retry:e.outcomeRetry,reconnect:()=>l.reconnect()},signal:t});let n=await i(l,{executionAttemptId:e.executionAttemptId,runtimeIncarnationId:r,signal:t});return c.bindGeneration(n),p.bindGeneration(n),f=await Dn(l,{executionAttemptId:e.executionAttemptId,runtimeGeneration:n,workspaceRoot:e.workspaceRoot,setupEnv:e.setupEnv,preparation:e.preparation,adapters:[d.adapter],signal:AbortSignal.any([t,p.signal]),control:p.observer,retry:e.outcomeRetry,reconnect:()=>l.reconnect()}),await Gn(e,f),f}finally{try{await d.releaseExecutable(f)}finally{p?.observer.finished(),p?.cleanup(),await p?.settle(),c.cleanup(),await s.close()}}}function qn(e,t){let n=w();return n.registerNamespaces([...ce,...le]),{bus:n,async connect(r){try{await e.connectBus(n,t,r),r.throwIfAborted()}catch(e){throw n.disconnect(),e}},close:()=>n.disconnect()}}const Jn=ee(p),Yn=[`-c`,`core.attributesFile=${E}`],Xn=f.object({repositoryId:f.string().min(1),revision:f.string().regex(/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/i,`Git source revision must be a full commit object ID`)}).strict();async function Zn(e,t,n){try{let r=await e.resolveRepository(t,n);if(!g.isAbsolute(r))throw Error(`Repository access did not return an absolute path`);return await h.realpath(r)}catch(e){throw Y(e,n)?e:Error(`Git source access failed`)}}async function Qn(e,t,n,r,i){let a;try{a=(await Jn(`git`,[...Yn,`cat-file`,`-t`,t],{cwd:e,env:{...process.env,...n},signal:i,timeout:r,maxBuffer:1024,shell:!1,killSignal:`SIGKILL`,encoding:`utf8`})).stdout.trim()}catch(e){throw Y(e,i)?e:Error(`Git source object inspection failed`)}if(a!==`commit`)throw Error(`Git source revision must identify a commit object`)}function $n(e){if(!on(e.timeoutMs))throw Error(`Git command timeout must be an integer between 1 and 2147483647 milliseconds`);if(process.platform===`win32`)throw Error(`Local Git source preparation requires a POSIX host`);return async({source:t,destination:n,signal:r})=>{if(r?.throwIfAborted(),t.kind!==`git`)throw Error(`Unsupported local Git source kind`);let i=Xn.parse(t.input),a=await Zn(e,i.repositoryId,r);r?.throwIfAborted();let o={...Object.fromEntries(Object.keys(process.env).filter(e=>/^git_/i.test(e)).map(e=>[e,void 0])),GIT_CONFIG_GLOBAL:E,GIT_CONFIG_SYSTEM:E,GIT_ATTR_NOSYSTEM:`1`},s=[[`init`,`--object-format=${i.revision.length===64?`sha256`:`sha1`}`],[`fetch`,`--no-tags`,`--no-write-fetch-head`,`--update-shallow`,`--`,a,i.revision],[`checkout`,`--detach`,i.revision,`--`]];for(let t of s){t[0]===`checkout`&&await Qn(n,i.revision,o,e.timeoutMs,r);let a=await fn({workspaceRoot:n,signal:r,env:o,recipe:{command:`git`,args:[...Yn,...t],env:{},timeoutMs:e.timeoutMs}});if(a.status===`cancelled`&&r?.throwIfAborted(),a.status!==`completed`)throw Error(`Git source ${t[0]} ${a.status}`)}}}function er(e){let t=$n(e);return{prepare:e=>hn({...e,realizeSource:t})}}export{R as A,M as B,Ot as C,St as D,jt as E,pt as F,A as H,vt as I,L,bt as M,yt as N,At as O,ft as P,N as R,V as S,Ct as T,j as V,Nt as _,an as a,z as b,G as c,W as d,Gt as f,Pt as g,It as h,Dn as i,dt as j,ut as k,zt as l,Lt as m,Kn as n,en as o,Wt as p,Wn as r,$t as s,er as t,Rt as u,Mt as v,kt as w,B as x,U as y,P as z};
1
+ import{resolveMakaioHome as e}from"./runtime-node/makaio-config.mjs";import{t}from"./extension-package-provenance-C7oO5JAE.mjs";import{_ as n,d as r,l as i,n as a,o,r as s,u as c,x as l,y as u}from"./bootstrap-start-client-C1ZHbv6e.mjs";import{mintOrRotateWorkflowExecutionBusSecret as d}from"./runtime-node/workflow-execution-bus-access.mjs";import{z as f}from"zod";import{execFile as p,spawn as m}from"node:child_process";import{promisify as ee}from"node:util";import*as h from"node:fs/promises";import{access as te}from"node:fs/promises";import*as g from"node:path";import{basename as ne,isAbsolute as re,join as ie,relative as ae}from"node:path";import*as _ from"node:crypto";import{randomUUID as v}from"node:crypto";import{constants as oe}from"node:fs";import{AdapterSubjects as se,BoundedRecoveryEvidenceSchema as y,ExecutionAttemptSchemas as b,ExecutionAttemptSubjects as x,FrameworkContractNamespaces as ce,FrameworkStorageNamespaces as le,JsonValueSchema as ue,PRE_REQUEST_REJECTION_CODE as de,PROVIDER_ALLOCATION_REF_VERSION as fe,ProviderAllocationRefSchema as pe,RECOVERY_EVIDENCE_LIMITS as S,WorkerCapabilitiesSchema as me,WorkerSchemas as he,WorkerSubjects as C,WorkflowRunContextSchema as ge,WorkflowRunResultSchema as _e,WorkflowWorkerConfigSchema as ve,createWorkflowCancelSubject as ye}from"@makaio/framework/contracts";import{BusAbortError as be,createBusInstance as w,isRequestCancellation as T,waitForSubscriptionPropagation as xe}from"@makaio/framework/bus";import{ExtensionCoordinator as Se,KernelSubjects as Ce,coalesceExtensionOverrides as we,filterEligibleExtensions as Te}from"@makaio/framework/kernel";import{BaseService as Ee}from"@makaio/framework/service-base";import{AdapterRuntimeSubjects as De,registerAdapterRuntimeIdentityHandlers as Oe}from"@makaio/framework/services/adapter-runtime";import{devNull as E}from"node:os";import{CLIDetectionNamespace as ke,CLIDetectionSubjects as Ae}from"@makaio/framework/services/cli-detection/namespace";import{SessionOrchestratorToken as je,ToolRegistryToken as Me,canonicalModelPackage as Ne,createSubagentServicePackage as Pe,createToolContributionProcessor as Fe,frameworkCorePackages as D,sessionBridgePackage as Ie,sessionOrchestratorPackage as Le,sessionPackage as Re,sessionStoragePackage as ze,toolRegistryPackage as Be}from"@makaio/framework/services";import{AdapterSubsystemSubjects as Ve}from"@makaio/framework/services/adapter-subsystem";import{createClientsCorePackage as He}from"@makaio/framework/clients";import{AdapterSubsystemToken as O,createAdapterSubsystemContributionProcessor as Ue,createAdapterSubsystemPackage as We,orderAfterAdapterSubsystem as Ge}from"@makaio/framework/adapter-subsystem";import{execa as Ke}from"execa";import qe from"piscina";import{ExecutionAttemptAuthority as Je,WORKFLOW_WORKLOAD_KIND as Ye,WORKFLOW_WORKLOAD_VERSION as Xe,WorkflowStorageSubjects as Ze,buildWorkflowAttemptInstruction as Qe,parseWorkflowAttemptInstruction as k,runAuthorityDispatchedAttempt as $e,toCommittedWorkflowRunnerCompletion as et}from"@makaio/framework/workflow-engine";import{runWorkflowOrchestrator as tt}from"@makaio/framework/workflow-engine/workflow-orchestrator";import{setTimeout as nt}from"node:timers/promises";function A(e){return e.on(se.getCapabilities,async t=>{let{adapterName:n,adapterId:r}=t.payload;if(r){await t.next();return}if(n){let r=await e.requestOptional(De.resolveId,{adapterName:n}),i=r.handled?r.data.adapterId:void 0;i&&(t.payload.adapterId=i)}await t.next()},{priority:20})}function j(e){let{coordinator:t,configRepository:n,platformDefaults:r,prepareAuthRuntime:i,runtimeSnapshotHandlerPriority:a,runtimeDefinitionHandlerPriority:o}=e,s=We({configRepository:n,coordinator:t,platformDefaults:r,...i!==void 0&&{prepareAuthRuntime:i},...a!==void 0&&{runtimeSnapshotHandlerPriority:a},...o!==void 0&&{runtimeDefinitionHandlerPriority:o}});return t.registerContributionProcessor(Ue({getAdapterSubsystemService:()=>t.getExtensionService(O)})),{adapterSubsystemPackage:s}}function M(e){let{bus:t,currentMachineId:n}=e,r=Oe(t,{currentMachineId:n,listKnownAdapterNames:e.listKnownAdapterNames??(async()=>{let{configs:e}=await t.request(Ve.listAdapterConfigs,{});return e.map(e=>e.name)}),...e.resolveLiveAdapterId!==void 0&&{resolveLiveAdapterId:e.resolveLiveAdapterId},...e.resolveLiveAdapterIdentity!==void 0&&{resolveLiveAdapterIdentity:e.resolveLiveAdapterIdentity},...e.listLiveAdapterIdentities!==void 0&&{listLiveAdapterIdentities:e.listLiveAdapterIdentities}}),i=A(t);return{cleanup:()=>{r.cleanup(),i()}}}function N(e,t){if(!(e instanceof Error))return!1;let{rootPackageName:n,subpath:r}=rt(t),i=(r===void 0?[t]:[t,n]).flatMap(e=>[`Cannot find package '${e}'`,`Cannot find module '${e}'`,`Cannot find package "${e}"`,`Cannot find module "${e}"`]),a=e;return(a.code===`ERR_MODULE_NOT_FOUND`||a.code===`MODULE_NOT_FOUND`)&&i.some(t=>e.message.includes(t))||a.code===`ERR_PACKAGE_PATH_NOT_EXPORTED`&&r!==void 0&&e.message.includes(`Package subpath '${r}' is not defined by "exports"`)&&it(e.message,n)?!0:i.some(t=>e.message.includes(t))}async function P(e){try{return await import(e)}catch(t){if(N(t,e))return null;throw t}}function rt(e){let t=e.split(`/`);return e.startsWith(`@`)?{rootPackageName:t.slice(0,2).join(`/`),subpath:t.length>2?`./${t.slice(2).join(`/`)}`:void 0}:{rootPackageName:t[0]??e,subpath:t.length>1?`./${t.slice(1).join(`/`)}`:void 0}}function it(e,t){let n=t,r=t.replaceAll(`/`,`\\`);return e.includes(`/${n}/package.json`)||e.includes(`\\${r}\\package.json`)}async function F(e,t=process.env,n=process.platform){let r=t[Object.keys(t).find(e=>e.toUpperCase()===`PATH`)??`PATH`]??``,i=(t.PATHEXT??`.EXE;.CMD;.BAT;.COM`).split(`;`).filter(Boolean),a=n===`win32`?g.extname(e)===``?i:[``,...i]:[``];for(let t of r.split(g.delimiter)){let n=t.replace(/^"|"$/gu,``),r=g.resolve(n||process.cwd());for(let t of a){let n=g.join(r,`${e}${t}`);try{return await te(n,oe.X_OK),n}catch{}}}}async function I(e,t=5e3,n=1e3){let{stdout:r}=await Ke(e,[`--version`],{forceKillAfterDelay:n,timeout:t});return r}function at(e){return e.match(/(\d+\.\d+\.\d+)/u)?.[1]??`unknown`}async function ot(e,t=F,n=I){try{let r=await t(e);if(r===void 0)return{binary:e,found:!1};let i=await n(r);return i.length===0?{binary:e,found:!1}:{binary:e,found:!0,path:r,version:at(i)}}catch{return{binary:e,found:!1}}}async function st(e,t=F,n=I){return Promise.all(e.map(e=>ot(e,t,n)))}var ct=class extends Ee{constructor(e){super(e)}onInit(){this.registerHandler(Ae.scan,async e=>{let t=await st(e.payload.binaries);e.setResult({results:t})})}};const L={name:`makaio.cli-detection`,displayName:`CLI Detection`,version:`0.1.0`,critical:!0,surface:`any`,namespaces:[ke],create:e=>new ct(e.bus)};function R(e,t){e.push(...lt(t))}function lt(e){return e===void 0?[]:typeof e==`function`?[e]:[...e]}function ut(e,t=[]){let n=new Set([e]),r=new Set,i=new Map;for(let e of t)typeof e==`string`?n.add(e):(r.add(e.id),e.version!==void 0&&i.set(e.id,e.version));return{hosts:n,capabilities:r,...i.size>0?{capabilityVersions:i}:{}}}function dt(e=[]){return e.some(e=>typeof e==`string`&&e===`node`)?e:[`node`,...e]}function ft(e){return we(Te(mt(e.packages,e.configProvider),e.surface,e.runtimeEnvironment))}function pt(e,n){let r=ft(n),i=new Set(r.map(t));return e.filter(({ownerPackage:e})=>i.has(e)).map(({package:e})=>e)}function mt(e,t){return t?e.filter(e=>t.loadEnabled(e.name)!==!1):e}function ht(e,t){return e.filter(e=>e.runtimeOwnership?.[t]===!0).map(e=>e.name)}function gt(e,t){let n=ht(e,t);if(n.length>1)throw Error(`Multiple extensions own runtimeOwnership.${t}: ${n.join(`, `)}`)}function _t(e){return gt(e,`sessionOrchestrator`),ht(e,`sessionOrchestrator`).length===0}function vt(e){return e===!0||_t(e)?D:D.filter(e=>e.name!==je.name)}function yt(e,t,n){let r=[];try{for(let i of e){let e=i.runtimeBoot;e&&R(r,e.configure({bus:t,registerContributionProcessor:e=>{r.push(n.registerContributionProcessor(e))},forEachActiveExtension:e=>{n.forEachActiveExtension(e)}}))}}catch(e){let t=[];for(let e of[...r].reverse())try{e()}catch(e){t.push(e)}throw t.length>0?AggregateError([e,...t],`Extension boot contribution failed and rollback cleanup reported additional errors`,{cause:e}):e}return r}function bt(){let e=process.env.MAKAIO_SKIP_EXTENSIONS;if(!e)return new Set;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(t)}var xt=class{pool;constructor(e){this.pool=new qe({filename:e.workerEntry,maxThreads:e.maxConcurrency??4,idleTimeout:e.idleTimeoutMs??3e4})}async run(e,t,n){return this.pool.run(e,{signal:t,transferList:n})}onMessage(e){return this.pool.on(`message`,e),()=>this.pool.off(`message`,e)}async dispose(){await this.pool.destroy()}},z=class extends Error{code;constructor(e,t){super(e),this.code=t,this.name=`MaterializationError`}};function B(e,t,n){let r=g.resolve(t)+g.sep,i=g.resolve(e);if(i!==g.resolve(t)&&!i.startsWith(r))throw new z(`${n} escapes allowed root: ${e} is not within ${t}`,`containment-violation`)}async function V(e,t,n,r){let i=r??await h.realpath(t),a;try{a=await h.realpath(e)}catch{return e}let o=i+g.sep;if(a!==i&&!a.startsWith(o))throw new z(`${n} escapes allowed root via symlink: real path ${a} is not within ${i}`,`symlink-escape`);return a}function St(e){let t=e.indexOf(`-`);if(t===-1)throw new z(`Invalid SRI integrity format: ${e}`,`contribution-integrity-mismatch`);return{algorithm:e.slice(0,t),digest:e.slice(t+1)}}async function Ct(e,t){let n=await h.readFile(e);return _.createHash(t).update(n).digest(`base64`)}const H=new Set([`.git`,`node_modules`]);function wt(e){return H.has(e.toLowerCase())}async function Tt(e,t){let n=t.toLowerCase();if(!H.has(n))return!1;if(t===n)return!0;try{let[r,i]=await Promise.all([h.lstat(g.join(e,t)),h.lstat(g.join(e,n))]);return r.dev===i.dev&&r.ino===i.ino}catch(e){if(e.code===`ENOENT`)return!1;throw e}}const Et=H,Dt=new Set([`.DS_Store`]);async function Ot(e,t){let n=_.createHash(t),r=[];async function i(t){let n=await h.readdir(t,{withFileTypes:!0});for(let a of n){let n=g.join(t,a.name);if(a.isSymbolicLink())throw new z(`Contribution package contains a symbolic link: ${g.relative(e,n)}`,`symlink-escape`);if(a.isDirectory()){Et.has(a.name)||await i(n);continue}if(a.isFile()){Dt.has(a.name)||r.push(g.relative(e,n));continue}throw new z(`Contribution package contains an unsupported filesystem entry: ${g.relative(e,n)}`,`contribution-integrity-mismatch`)}}await i(e),r.sort();for(let t of r)n.update(t.split(g.sep).join(`/`)),n.update(`\0`),n.update(await h.readFile(g.join(e,t))),n.update(`\0`);return`${t}-${n.digest(`base64`)}`}async function kt(e,t=`sha256`){let n=_.createHash(t),r=[];async function i(t){let n=await h.readdir(t,{withFileTypes:!0});for(let a of n){let n=g.join(t,a.name);if(!await Tt(t,a.name)){if(a.isDirectory()){await i(n);continue}if(a.isFile()){r.push(g.relative(e,n));continue}throw a.isSymbolicLink()?new z(`Workspace root contains a symbolic link: ${g.relative(e,n)}`,`symlink-escape`):new z(`Workspace root contains an unsupported filesystem entry: ${g.relative(e,n)}`,`unsupported-filesystem-entry`)}}}await i(e),r.sort();for(let t of r){n.update(t),n.update(`\0`);let r=await h.readFile(g.join(e,t));n.update(r),n.update(`\0`)}return`${t}-${n.digest(`base64`)}`}async function At(e,t,n){let r=g.join(t,`node_modules`,e.packageName);B(r,t,`Contribution package directory`),await V(r,t,`Contribution package directory`,n);let i=g.join(r,`package.json`),a;try{a=await h.readFile(i,`utf-8`)}catch{throw new z(`Contribution package not found: ${e.packageName} (expected at ${r})`,`contribution-missing`)}let o=JSON.parse(a);if(o.name!==e.packageName)throw new z(`Contribution identity mismatch: expected ${e.packageName}, found ${o.name??`<none>`}`,`contribution-missing`);if(o.version!==e.version)throw new z(`Contribution version mismatch for ${e.packageName}: expected ${e.version}, found ${o.version??`<none>`}`,`contribution-version-mismatch`);let s=g.join(r,e.entrypoint);B(s,r,`Contribution entrypoint`),await V(s,t,`Contribution entrypoint`,n);try{await h.access(s)}catch{throw new z(`Contribution entrypoint not found for ${e.packageName}: ${e.entrypoint}`,`contribution-entrypoint-mismatch`)}let{algorithm:c}=St(e.integrity),l;try{l=await Ot(r,c)}catch(t){if(t instanceof z)throw t;let n=typeof t==`object`&&t&&`code`in t&&typeof t.code==`string`?t.code:void 0;throw n!==void 0&&!n.startsWith(`ERR_`)?new z(`Contribution package cannot be read for ${e.packageName}`,`contribution-entrypoint-mismatch`):t}if(l!==e.integrity)throw new z(`Contribution integrity mismatch for ${e.packageName}: expected ${e.integrity}, computed ${l}`,`contribution-integrity-mismatch`);return s}async function jt(e,t,n){let r=await n.resolveWorkspaceRoot(e.workspaceId);if(r===void 0)throw new z(`Unknown workspace ID: ${e.workspaceId}`,`unknown-workspace`);try{if(!(await h.stat(r)).isDirectory())throw new z(`Workspace root is not a directory: ${r}`,`containment-violation`)}catch(e){throw e instanceof z?e:new z(`Workspace root does not exist: ${r}`,`containment-violation`)}let i=await h.realpath(r),a=g.resolve(r,e.sourcePath);if(B(a,r,`Source path`),g.relative(r,a).split(g.sep).some(wt))throw new z(`Workflow source path selects excluded workspace content: ${e.sourcePath}`,`source-path-mismatch`);await V(a,r,`Source path`,i);let o=await kt(r);if(o!==e.rootDigest)throw new z(`Workspace root digest mismatch: expected ${e.rootDigest}, computed ${o}`,`digest-mismatch`);try{await h.access(a)}catch{throw new z(`Workflow source file not found: ${a}`,`source-missing`)}return{workspaceRoot:r,sourcePath:a,contributionEntrypoints:await Promise.all(t.map(e=>At(e,r,i))),platform:process.platform,arch:process.arch}}var U=class{options;manifest;pool;constructor(e){this.options=e,this.manifest=e.manifest}async run(e,t,n){this.pool??=new xt(this.options);let r=n??this.manifest,i=await this.materializeTask(e,r,t);return{state:`uncommitted`,result:await this.pool.run(i,t)}}runWithReadiness(e,t,r,i){this.pool??=new xt(this.options);let a=this.pool,o,s=!1,c,u=new Promise((t,n)=>{c=n,o=a.onMessage(n=>{l(n)&&n.executionAttemptId===i.executionAttemptId&&(n.executionId!==e.executionId||n.cancelSubject!==e.cancelSubject||(s=!0,o?.(),t(n)))})}),d=r??this.manifest,f=n(i.bootstrapDeadlineAt,t,async(t,n)=>{let r=await this.materializeTask(e,d,n);return a.run({...r,kind:`attempt-bound`,executionAttemptId:i.executionAttemptId,bootstrapDeadlineAt:i.bootstrapDeadlineAt,bootstrapPort:t},n,[t])});return f.then(()=>{s||(s=!0,o?.(),c(Error(`Workflow worker completed before ready signal: ${e.executionId}`)))},e=>{s||(s=!0,o?.(),c(e instanceof Error?e:Error(String(e))))}),{result:f,ready:u}}async dispose(){await this.pool?.dispose()}async materializeTask(e,t,n){if(n.throwIfAborted(),!(e.source.kind===`path`||t.contributionRefs.length>0))return{kind:`unbound`,config:e,manifest:t,contributionEntrypoints:[]};let r=e.materializationSpec;if(r?.kind!==`local-directory`)throw Error(`ThinWorkflowPiscinaRunner requires a local-directory materialization spec for path-backed workflows or declared contributions.`);if(this.options.resolveWorkspaceRoot===void 0)throw Error(`ThinWorkflowPiscinaRunner requires a host workspace-root resolver for local-directory materialization.`);let i=await jt(r,t.contributionRefs,{resolveWorkspaceRoot:this.options.resolveWorkspaceRoot});if(n.throwIfAborted(),e.source.kind!==`path`)throw Error(`local-directory materialization requires a path-backed workflow source.`);return{kind:`unbound`,config:{...e,source:{kind:`path`,path:i.sourcePath}},manifest:t,contributionEntrypoints:i.contributionEntrypoints}}};function Mt(e){return e.mode===`source`?ie(e.moduleDir,`workflow-worker`,`worker-entry.ts`):ie(e.moduleDir,`workflow-worker`,`worker-entry.mjs`)}var Nt=class{options;terminalAuthority=`authority`;constructor(e){this.options=e}async run(e,t,n,r){let i={...e,terminalAuthority:`authority`},a=n??this.options.manifest,o=this.options.requirements,s=r?.dispatchMetadata;t.throwIfAborted();let c=e.source.kind===`path`?await this.options.readRunContext?.(e.executionId,t):void 0;t.throwIfAborted();let l=Qe({id:v(),revision:`1`,config:e,...c==null?{}:{runContext:c},preservation:{required:[]}});return et(await $e({authority:this.options.authority,executionId:e.executionId,instruction:l,withAttemptCreation:r?.withAttemptCreation,dispatch:e=>this.options.dispatch({executionAttemptId:e,config:i,...a!==void 0&&{manifest:a},...o!==void 0&&{requirements:o},...s!==void 0&&{metadata:s}},t)}),e)}},Pt=class{#e;constructor(e){this.#e=e.bus}async run(e,t,n){let i=ve.parse(e),a=await r(i);return{state:`uncommitted`,result:await tt({config:await c(i,a,this.#e,t),loaded:a,bus:this.#e,signal:t})}}};function Ft(){return{contributionRefs:[]}}function It(e){if(e.workflowRunner?.mode===`worker`&&!e.executionAttemptRepository)throw Error(`Worker dispatch mode requires an ExecutionAttemptRepository. Pass 'executionAttemptRepository' to createNodeWorkflowRunnerPackageOptions when workflowRunner.mode is 'worker'.`);let t;if(e.executionAttemptRepository){let n=e.executionAttemptBootstrapTimeoutMs;if(n===void 0)throw Error(`An ExecutionAttemptRepository requires executionAttemptBootstrapTimeoutMs`);t=new Je(e.executionAttemptRepository,{bootstrapTimeoutMs:n})}let n=ne(e.runtimeModuleDir)===`src`?`source`:`dist`,r=Lt({moduleDir:e.runtimeModuleDir,defaultWorkerEntryMode:n,runner:e.workflowRunner,bus:e.bus,authority:t});return{...r!==void 0&&{workflowRunner:r},executorConfig:{busUrl:e.busUrl,busAuth:{kind:`none`},platformDefaults:e.platformDefaults,makaioHome:e.makaioHome},...e.executionAttemptRepository!==void 0&&{executionAttemptRepository:e.executionAttemptRepository},...t!==void 0&&{executionAttemptAuthority:t},...e.workflowMaterializationSpecResolvers!==void 0&&{workflowMaterializationSpecResolvers:e.workflowMaterializationSpecResolvers}}}function Lt(e){let{runner:t}=e;if(t)switch(t.mode){case void 0:case`in-process`:if(e.bus===void 0)throw Error(`InProcessWorkflowRunner requires a bus instance. Pass 'bus' to createNodeWorkflowRunner when runner.mode is 'in-process'.`);return new Pt({bus:e.bus});case`worker`:{if(e.authority===void 0)throw Error(`WorkerRunner requires an ExecutionAttemptAuthority. Pass 'authority' to createNodeWorkflowRunner when runner.mode is 'worker'.`);let n=e.bus,r=t.dispatch??(n===void 0?void 0:(e,t)=>n.request(C.dispatch,{executionAttemptId:e.executionAttemptId,config:e.config,manifest:e.manifest,requirements:e.requirements,metadata:e.metadata},{signal:t}));if(r===void 0)throw Error(`WorkerRunner requires either a dispatch function or a bus instance. Pass 'bus' to createNodeWorkflowRunner when runner.mode is 'worker'.`);return new Nt({dispatch:r,authority:e.authority,...n!==void 0&&{readRunContext:async(e,t)=>(await n.request(Ze.getRunContext,{executionId:e},{signal:t})).runContext},...t.manifest!==void 0&&{manifest:t.manifest},...t.requirements!==void 0&&{requirements:t.requirements}})}case`piscina`:return new U({workerEntry:t.workerEntry??Mt({moduleDir:e.moduleDir,mode:t.workerEntryMode??e.defaultWorkerEntryMode}),manifest:t.manifest??Ft(),...t.resolveWorkspaceRoot!==void 0&&{resolveWorkspaceRoot:t.resolveWorkspaceRoot},maxConcurrency:t.maxConcurrency,idleTimeoutMs:t.idleTimeoutMs})}}const Rt=new Set([`accepted`,`duplicate`]);var W=class extends Error{decision;result;reason;constructor(e,t,n=`authority-rejected`){super(`Outcome delivery ${n===`deadline-exceeded`?`deadline exceeded`:`rejected by Authority`} (decision=${e}, executionId=${t.executionId}, status=${t.status})`),this.decision=e,this.result=t,this.reason=n,this.name=`OutcomeDeliveryError`}},G=class extends Error{decision;payload;reason;constructor(e,t,n=`authority-rejected`){super(`Attempt outcome delivery ${n===`deadline-exceeded`?`deadline exceeded`:`rejected by Authority`} (decision=${e}, executionAttemptId=${t.executionAttemptId}, outcome=${t.outcome.kind})`),this.decision=e,this.payload=t,this.reason=n,this.name=`AttemptOutcomeDeliveryError`}},zt=class extends Error{reason;constructor(e=`deadline-exceeded`){super(`Authority request delivery deadline exceeded`),this.reason=e,this.name=`AuthorityRequestDeliveryError`}};function Bt(e){let t={maxRetries:e?.maxRetries??7,baseDelayMs:e?.baseDelayMs??1e3,maxDelayMs:e?.maxDelayMs??3e4,deadlineMs:e?.deadlineMs??12e4};if(!Number.isSafeInteger(t.maxRetries)||t.maxRetries<0)throw TypeError(`Outcome submission maxRetries must be a non-negative safe integer, got ${t.maxRetries}`);for(let[e,n]of Object.entries({baseDelayMs:t.baseDelayMs,maxDelayMs:t.maxDelayMs,deadlineMs:t.deadlineMs}))if(!Number.isFinite(n)||n<=0)throw TypeError(`Outcome submission ${e} must be a positive finite number, got ${n}`);return t}async function Vt(e,t){if(t===void 0){await new Promise(t=>setTimeout(t,e));return}let n=t;n.throwIfAborted(),await new Promise((t,r)=>{let i=setTimeout(o,e),a=()=>o(n.reason);function o(e){clearTimeout(i),n.removeEventListener(`abort`,a),e===void 0?t():r(e)}n.addEventListener(`abort`,a,{once:!0})})}async function Ht(e,t,n){n?.throwIfAborted();let r;try{r=e()}catch{return}await new Promise((e,i)=>{let a=setTimeout(s,t),o=()=>s(n?.reason);function s(t){clearTimeout(a),n?.removeEventListener(`abort`,o),t===void 0?e():i(t)}r.then(()=>s(),()=>s()),n?.addEventListener(`abort`,o,{once:!0}),n?.aborted&&o()})}async function Ut(e,t,n,r,i){let a=t.baseDelayMs*2**(e-1),o=n-Date.now();await Vt(Math.min(a,t.maxDelayMs,o),i);let s=n-Date.now();if(s<=0)return!1;if(r!==void 0)try{await Ht(r,s,i)}catch{i?.throwIfAborted()}return Date.now()<n}async function Wt(e,t,n,r){let i=Bt(n?.retry),a=n?.reconnect,o=n?.signal,s=Date.now()+i.deadlineMs,c;for(let n=0;n<=i.maxRetries;n++){if(o?.throwIfAborted(),s-Date.now()<=0||n>0&&!await Ut(n,i,s,a,o))throw t();try{let n=s-Date.now();if(n<=0)throw t();return await e(n,o)}catch(e){if(o?.throwIfAborted(),r(e))throw e;if(c=e,Date.now()>=s)throw t()}}throw c??t()}async function K(e,t){return await Wt(e,()=>new zt,t,()=>!1)}async function Gt(e,t,n){return await Wt(async(n,r)=>{let i=await e(n,r);if(Rt.has(i))return i;throw t(i)},()=>t(`deadline-exceeded`,`deadline-exceeded`),n,e=>e instanceof W||e instanceof G)}async function Kt(e,t,n){return await Gt(async(n,r)=>(await e.request(C.control.outcome.submit,{executionAttemptId:t.executionAttemptId,executionId:t.executionId,result:t.result},r===void 0?{timeout:n}:{timeout:n,signal:r})).decision,(e,n)=>n===void 0?new W(e,t.result):new W(e,t.result,n),n)}async function qt(e,t,n){return await Gt(async(n,r)=>(await e.request(x.outcome.submit,t,r===void 0?{timeout:n}:{timeout:n,signal:r})).decision,(e,n)=>n===void 0?new G(e,t):new G(e,t,n),n)}const Jt={maxRetries:3,baseDelayMs:200,maxDelayMs:2e3,deadlineMs:1e4},Yt={persistentStorage:!0,customCapabilities:[`workflow.local-runtime`,`workflow.thin-runner`],suspensionStrategy:`wait-in-process`,supportsRecovery:!1,materializationModes:[`local-directory`]},Xt={code:`outcome-acknowledged`,summary:`Piscina runner settled and the Authority acknowledged its workflow outcome`},Zt={code:`outcome-delivery-ended`,summary:`Piscina runner settled and its bounded workflow outcome delivery ended`};function q(e){let t=new Set,n;return{publish:r=>{if(n!==void 0)return;let i=r();n=i;let a=[...t];t.clear();for(let t of a)try{t(i)}catch(t){console.error(`${e} observer failed:`,t)}},observe:e=>n===void 0?(t.add(e),()=>t.delete(e)):(e(n),()=>void 0)}}function Qt(e){let t=q(`[PiscinaThinWorkflowProvider] Infrastructure-conclusion`);return{conclude:n=>{t.publish(()=>({evidence:y.parse({source:e.slice(0,S.source),summary:n.slice(0,S.summary),observedAt:new Date().toISOString()})}))},observe:t.observe}}function $t(e,t){let n=q(`[PiscinaThinWorkflowProvider] Provider-completion`),r=q(`[PiscinaThinWorkflowProvider] Local-observation-loss`),i;return{completion:{complete:r=>{i===void 0&&n.publish(()=>{let n=y.parse({source:e.slice(0,S.source),code:r.code,summary:r.summary,observedAt:new Date().toISOString()});return t(),i=`completion`,n})},observe:n.observe},localObservationLoss:{lose:()=>{i===void 0&&r.publish(()=>(i=`local-observation-loss`,{}))},observe:e=>r.observe(()=>e())}}}var en=class{executionAttemptId;controller;detachCallerAbort;infrastructure;completion;localObservationLoss;revokeBusIdentity;constructor(e,t,n,r,i,a,o){this.executionAttemptId=e,this.controller=t,this.detachCallerAbort=n,this.infrastructure=r,this.completion=i,this.localObservationLoss=a,this.revokeBusIdentity=o}cancel(e){return this.controller.abort(e??`Worker cancelled`),this.detachCallerAbort(),Promise.resolve()}terminate(){return this.controller.abort(`Worker terminated`),this.detachCallerAbort(),this.revokeBusIdentity(),Promise.resolve()}release(){return this.detachCallerAbort(),Promise.resolve()}observeInfrastructureConclusion(e){return this.infrastructure.observe(e)}observeProviderCompletion(e){return this.completion.observe(e)}observeLocalObservationLoss(e){return this.localObservationLoss.observe(e)}},tn=class{options;environment=`piscina`;allocationLifetime=`provisioner-process-bound`;baseCapabilities;constructor(e){this.options=e,this.baseCapabilities=me.parse({...Yt,...e.baseCapabilities,suspensionStrategy:e.baseCapabilities?.suspensionStrategy??Yt.suspensionStrategy,supportsRecovery:!1})}get id(){return this.options.id}get displayName(){return this.options.displayName}async provision(e,t){t.throwIfAborted();let n=await this.resolveLaunchBeforeAllocation(e,t);if(t.throwIfAborted(),`kind`in n)return n;let r=n,i=new AbortController,a=Qt(this.id),o=()=>{i.abort(t.reason)};t.addEventListener(`abort`,o,{once:!0});let s=()=>t.removeEventListener(`abort`,o),c;try{let{executionAttemptId:n,executionId:o}=e,l=this.buildAllocationRef(n),u=d({executionAttemptId:n,executionId:o}),f=!1,p=()=>{f||(f=!0,u.cleanup())};c=p;let m=$t(this.id,p),ee=new en(n,i,s,a,m.completion,m.localObservationLoss,p);t.throwIfAborted();let h=this.options.runner.runWithReadiness({...r,busAuth:{kind:`hmac`,secret:u.secret}},i.signal,e.runtimeInputs.workerManifest,{executionAttemptId:n,bootstrapDeadlineAt:e.bootstrapDeadlineAt});return h.ready.then(()=>this.submitOutcomeOnSettlement(h.result,o,n,r.workflowId,a.conclude,m.completion.complete),e=>{i.abort(e),h.result.catch(()=>void 0),c?.(),a.conclude(`Piscina worker for attempt '${n}' was refused before its workflow run was admitted: `+(e instanceof Error?e.message:String(e))),m.localObservationLoss.lose()}),{kind:`allocated`,allocationRef:l,handle:ee}}catch(e){throw i.abort(e),s(),c?.(),e}}async resolveLaunchBeforeAllocation(e,t){try{let n=await this.options.launchResolver(e,t);return t.throwIfAborted(),n.busUrl?n:this.confirmedAbsent(`Piscina workflow configuration has no bus URL before local allocation setup`)}catch{return t.throwIfAborted(),this.confirmedAbsent(`Workflow launch resolution failed before Piscina local allocation setup`)}}confirmedAbsent(e){return{kind:`confirmed-absent`,evidence:y.parse({source:`piscina-thin-workflow-provider`,code:de,summary:e,observedAt:new Date().toISOString()})}}async submitOutcomeOnSettlement(e,t,n,r,i,a){let o;try{o=await e}catch(e){o={executionId:t,workflowId:r,status:`failed`,error:e instanceof Error?e.message:String(e)}}try{let e={...Jt,...this.options.outcomeRetry};await Kt(this.options.bus,{executionAttemptId:n,executionId:t,result:o},{retry:e})}catch(e){e instanceof W?console.error(`[PiscinaThinWorkflowProvider] Outcome rejected for execution '${t}' attempt '${n}' (decision=${e.decision}):`,e):console.error(`[PiscinaThinWorkflowProvider] Failed to submit outcome for execution '${t}' attempt '${n}':`,e),i(`Piscina worker for attempt '${n}' ended without an acknowledged outcome because outcome submission could not be completed`),a(Zt);return}a(Xt)}buildAllocationRef(e){let t={version:fe,providerId:this.id,providerData:{executionAttemptId:e,allocatedAt:Date.now()}};return pe.parse(t)}};function nn(e){return async(t,n)=>{n.throwIfAborted();let r=await e({executionId:t.executionId,executionAttemptId:t.executionAttemptId});if(n.throwIfAborted(),r===null)throw Error(`Workflow launch instruction is unavailable for execution '${t.executionId}' attempt '${t.executionAttemptId}'`);let i=k(r);if(i.executionId!==t.executionId)throw Error(`Workflow instruction execution '${i.executionId}' does not match Worker request '${t.executionId}'`);return ve.parse({source:i.source,...i.definitionSnapshot===void 0?{}:{definition:i.definitionSnapshot},executionId:i.executionId,workflowId:i.workflowId,triggerPayload:i.triggerPayload,...i.triggerMode===void 0?{}:{triggerMode:i.triggerMode},inputs:i.inputs,...i.config===void 0?{}:{config:i.config},...i.artifactRef===void 0?{}:{artifactRef:i.artifactRef},scope:i.scope,...t.connection.busUrl===void 0?{}:{busUrl:t.connection.busUrl},busAuth:t.connection.busAuth,...t.connection.env===void 0?{}:{env:t.connection.env},coordinatorSessionId:i.coordinatorSessionId,cancelSubject:i.cancelSubject,suspensionStrategy:t.runtimeInputs.suspensionStrategy,terminalAuthority:i.terminalAuthority,...i.materializationSpec===void 0?{}:{materializationSpec:i.materializationSpec}})}}const rn=[ze,Ie,Re];function an(e){let t;return()=>(t??=(async()=>{let t=[];for(let n of[...e].reverse())try{await n()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Isolated workflow runtime shutdown reported errors`)})(),t)}function on(e,t,n){return M({bus:e,currentMachineId:n,resolveLiveAdapterId:e=>t.getExtensionService(O)?.resolveLiveAdapterId(e),resolveLiveAdapterIdentity:e=>t.getExtensionService(O)?.resolveLiveAdapterIdentity(e),listLiveAdapterIdentities:()=>t.getExtensionService(O)?.getLiveAdapterIdentities()??[]})}async function sn(e){let t=w();t.registerNamespaces([...ce,...le]);let{context:n}=e,r=new Se(t,{surface:`headless`,extensionContextBase:{cwd:n.cwd,platform:n.platform,homedir:n.homedir,makaioHome:n.makaioHome,username:n.username,machineId:n.machineId,tryImport:P}}),i,a=[()=>t.disconnect()],o=an(a);try{await e.connectAuthority(t);let s=[...e.contributedPackages,...await e.loadContributedPackages?.(t)??[]],{adapterSubsystemPackage:c}=j({coordinator:r,configRepository:e.configRepository,platformDefaults:{cwd:n.cwd},runtimeSnapshotHandlerPriority:1,runtimeDefinitionHandlerPriority:1,...e.prepareAuthRuntime!==void 0&&{prepareAuthRuntime:e.prepareAuthRuntime}}),l=He({definitions:s.flatMap(e=>e.clients??[]),binaryResolutionPolicy:`global-only`});r.registerContributionProcessor(Fe());let u=[...rn,c,Ne,..._t(s)?[Le]:[],Pe(1),Be,L,l,...Ge(s)];r.load(u),a.push(...yt(u,t,r)),a.push(()=>r.shutdown()),await r.startAll(),i=on(t,r,n.machineId),a.push(()=>{i?.cleanup(),i=void 0});let d=r.getExtensionService(Me);if(d===void 0)throw Error(`Isolated workflow tool registry did not start.`);for(let t of e.toolsets)await d.register(t);return await t.emit(Ce.ready,{machineId:n.machineId}),{bus:t,coordinator:r,machineId:n.machineId,shutdown:o}}catch(e){throw await o().catch(()=>void 0),e}}function cn(e){return Number.isInteger(e)&&e>=1&&e<=2147483647}function J(e,t){try{return process.kill(-e,t),`signalled`}catch(e){if(e.code!==`ESRCH`)throw e;return`absent`}}function ln(e){return typeof e==`object`&&!!e&&e.code===`ENOENT`}async function un(e,t,n){try{process.kill(-e,0)}catch(e){if(e.code===`ESRCH`)return{alive:!1};if(e.code!==`EPERM`)throw e}if(n)return{alive:!0};let r;try{r=await dn(t)}catch(e){return ln(e)?{alive:!0,psMissing:!0}:{alive:!0}}let i=!1;for(let t of r.trim().split(`
2
+ `)){let[n,r,a]=t.trim().split(/\s+/);if(n===``||r===void 0||a!==void 0||!/^\d+$/.test(n)||r===``||Number(n)===e&&(i=!0,!r.startsWith(`Z`)))return{alive:!0}}return i?{alive:!1}:{alive:!0}}function dn(e){return new Promise((t,n)=>{p(`ps`,[`-A`,`-o`,`pgid=,stat=`],{timeout:e,maxBuffer:1024*1024},(e,r)=>{if(e!==null){n(e);return}t(r)})})}async function fn(e){if(e===void 0)return{quiesced:!0,signalledLiveGroup:!1};let t=!1;try{try{t=J(e,`SIGKILL`)===`signalled`}catch(e){if(e.code!==`EPERM`)throw e}let n=Date.now()+2e3,r=!1;for(;Date.now()<n;){let i=n-Date.now();if(i<=0)break;let a=await un(e,Math.min(1e3,i),r);if(!a.alive)return{quiesced:!0,signalledLiveGroup:t};r||=a.psMissing===!0,await nt(20)}return{quiesced:!1,cause:r?`ps-unavailable`:`poll-timeout`,signalledLiveGroup:t}}catch{return{quiesced:!1,cause:`signal-error`,signalledLiveGroup:t}}}function pn(e,t,n){let r=new Date;return n.quiesced?t||n.signalledLiveGroup?{pid:e,outcome:`signalled-and-quiesced`,observedAt:r}:{pid:e,outcome:`exited`,observedAt:r}:{pid:e,outcome:t||n.signalledLiveGroup?`signalled-unconfirmed`:`unsignalled-unconfirmed`,cause:n.cause,observedAt:r}}async function mn(e){if(e.signal?.aborted)return{status:`cancelled`,exitCode:null};if(!cn(e.recipe.timeoutMs))return{status:`spawn-failed`,exitCode:null,message:`Setup timeout must be an integer between 1 and 2147483647 milliseconds`};if(process.platform===`win32`)return{status:`spawn-failed`,exitCode:null,message:`Setup process groups require a POSIX host`};try{return await hn(e)}catch{return{status:`spawn-failed`,exitCode:null,message:`Could not start the setup command`}}}function hn(e){return new Promise(t=>{let n=m(e.recipe.command,e.recipe.args,{cwd:e.workspaceRoot,env:{...process.env,...e.recipe.env,...e.env},shell:!1,detached:!0,stdio:`ignore`}),r,i,a=!1,o=e=>{if(r===void 0&&(r=e,n.pid!==void 0)){try{J(n.pid,`SIGTERM`)===`signalled`&&(a=!0)}catch(e){if(e.code!==`EPERM`){r=`stop-failed`;return}}i=setTimeout(()=>{try{n.pid!==void 0&&J(n.pid,`SIGKILL`)===`signalled`&&(a=!0)}catch(e){e.code!==`EPERM`&&(r=`stop-failed`)}},200)}},s=()=>o(`cancelled`),c=setTimeout(()=>o(`timed-out`),e.recipe.timeoutMs);e.signal?.addEventListener(`abort`,s,{once:!0}),e.signal?.aborted&&s(),n.once(`error`,()=>{r=`spawn-failed`}),n.once(`close`,o=>{clearTimeout(c),clearTimeout(i),e.signal?.removeEventListener(`abort`,s),fn(n.pid).then(e=>{t({status:e.quiesced?r??(o===0?`completed`:`failed`):`stop-failed`,exitCode:o,processGroup:n.pid===void 0?void 0:pn(n.pid,a,e)})})})})}async function gn(e,t,n){if(g.isAbsolute(t)||t.includes(`\\`)||t.split(`/`).includes(`..`))throw Error(`Source root must be workspace-relative`);let r=e;for(let i of t.split(`/`).filter(e=>e!==``&&e!==`.`))if(r=g.join(r,i),B(r,e,`Source root`),await V(r,e,`Source root`,e),n&&await h.mkdir(r).catch(e=>{if(e.code!==`EEXIST`)throw e}),!(await h.stat(r)).isDirectory())throw Error(`Source root must be a directory`);return V(r,e,`Source root`,e)}async function _n(e){e.signal?.throwIfAborted();let{requirement:t}=e,n=g.resolve(e.workspaceRoot);if(!g.isAbsolute(e.workspaceRoot)||n===g.parse(n).root)throw Error(`Workspace root must be an absolute, non-filesystem-root directory`);if(t.sourceRoots.length>1)throw Error(`Multiple source roots are not implemented`);if(t.sourceRoots.some(e=>e.source!==void 0)){if(e.realizeSource===void 0)throw Error(`Source acquisition requires an installed strategy`);if(t.provisioning!==`create`||t.custody!==`disposable`)throw Error(`Source acquisition currently requires a created disposable workspace`)}if(t.provisioning===`create`&&await h.mkdir(n),!(await h.lstat(n)).isDirectory())throw Error(`Workspace root must be a directory, not a symlink`);let r=await h.realpath(n),i=[];for(let n of t.sourceRoots){let a=await gn(r,n.path,t.provisioning===`create`);n.source!==void 0&&(await e.realizeSource({source:n.source,destination:a,signal:e.signal}),e.signal?.throwIfAborted()),i.push({id:n.id,path:a})}return vn(t,{workspaceRoot:r,sourceRoots:i})}function vn(e,t){let n=t.workspaceRoot,r=e.custody,i=!1,a=!0,o;return{binding:t,async runSetup(t={}){if(o!==void 0||i||!a)throw Error(`Workspace setup is unavailable`);if(t.signal?.aborted)return{status:`cancelled`,exitCode:null};i=!0;try{let r;for(let[i,o]of e.setup.entries()){let e=await mn({...t,recipe:o,workspaceRoot:n});if(r=e,a=e.status!==`stop-failed`,e.status!==`completed`)return{...e,commandIndex:i}}let i=r?.processGroup;return i===void 0?{status:`completed`,exitCode:0}:{status:`completed`,exitCode:0,processGroup:i}}finally{i=!1}},release(){return i||!a?Promise.reject(Error(`Workspace commands have not stopped`)):(o??=r===`external`?Promise.resolve():h.rm(n,{recursive:!0,force:!0}),o)}}}function Y(e,t){return e instanceof be?T(e,t):t?.aborted===!0?e===t.reason||e instanceof DOMException&&e.name===`AbortError`?!0:e instanceof Error&&e.name===`AbortError`&&`code`in e&&e.code===`ABORT_ERR`&&Object.is(e.cause,t.reason):!1}function X(e){return(e instanceof Error?e.message:String(e)).slice(0,8192)||`Local execution failed without a diagnostic message`}function yn(e){if(e.status!==`completed`)return e.status===`cancelled`?{kind:`cancelled`}:e.status===`stop-failed`?{kind:`technical-failure`,stage:`workspace-preparation`,message:`Workspace setup stop-failed`}:{kind:`technical-failure`,stage:`workspace-preparation`,message:`Workspace setup ${e.status}`}}function bn(e,t){return Y(e,t)?{kind:`cancelled`}:{kind:`technical-failure`,stage:`workspace-preparation`,message:X(e)}}async function xn(e,t,n,r){let i=b[`instruction.get`].response.parse(await e.request(x.instruction.get,{executionAttemptId:t,runtimeGeneration:n},{signal:r}));if(i.decision===`found`)return i.instruction;throw Error(`Attempt instruction read refused: ${i.refusalReason}`)}async function Sn(e,t,n,r){let{executionAttemptId:i,runtimeGeneration:a}=t;t.control?.admissionPending();let o=b[`operation.admit`].response.parse(await K(async t=>await e.request(x.operation.admit,{executionAttemptId:i,runtimeGeneration:a,operationKind:n,admissionKey:r},{timeout:t}),{retry:t.retry,reconnect:t.reconnect}));if(o.decision===`refused`)throw t.control?.admissionSettled(o.refusalReason),new s(t.executionAttemptId,r,o.refusalReason);if(o.operationId===void 0)throw Error(`Attempt ${n} admission decision '${o.decision}' named no operation (executionAttemptId=${i}, admissionKey=${r})`);return t.control?.operationAdmitted(n,o.operationId),o.operationId}async function Cn(e,t,n){try{return{operationId:await Sn(e,t,n.operationKind,n.admissionKey)}}catch(r){if(!(r instanceof s&&r.refusalReason===`gate-closed`&&n.signal.aborted))throw r;return await Z(e,t,n.instruction,{kind:`cancelled`},void 0,n.workspace)}}function wn(e,t){return e.find(e=>e.kind===t.workload.kind&&e.version===t.workload.version)}function Tn(e){return{signal:e??new AbortController().signal,release:()=>{}}}async function Z(e,t,n,r,i,a){i!==void 0&&t.control?.operationConcluded(i);let o=await qt(e,{executionAttemptId:t.executionAttemptId,runtimeGeneration:t.runtimeGeneration,...i===void 0?{}:{operationId:i.operationId},outcome:r},{retry:t.retry,reconnect:t.reconnect});if(a!==void 0&&n!==void 0&&r.kind===`workload-result`&&n.preservation.required.length===0)try{await a.release()}catch{console.warn(`[makaio-worker] Acknowledged workspace cleanup failed.`)}return{outcome:r,decision:o}}async function En(e,t,n,r){let i=b[`operation.report`].response.parse(await K(async i=>await e.request(x.operation.report,{executionAttemptId:t.executionAttemptId,runtimeGeneration:t.runtimeGeneration,operationId:n,result:{kind:`workspace-prepared`,binding:r.binding}},{timeout:i}),{retry:t.retry,reconnect:t.reconnect}));return i.decision===`refused`?void 0:i.binding}async function Dn(e,t,n,r){if(r.aborted)return await Z(e,t,n,{kind:`cancelled`},void 0,void 0);let i=await Cn(e,t,{operationKind:`workspace-preparation`,admissionKey:`workspace-preparation:${n.id}:${t.runtimeGeneration}`,signal:r,instruction:n});if(`outcome`in i)return i;let a=i.operationId;if(r.aborted)return await Z(e,t,n,{kind:`cancelled`},Q(a,`not-started`),void 0);let o,s,c=!1;try{if(t.workspaceRoot===void 0)throw Error(`Workspace preparation requires an explicit local root`);let e=await(t.preparation??{prepare:_n}).prepare({requirement:n.workspace,workspaceRoot:t.workspaceRoot,signal:r});o=e,c=!0,s=await e.runSetup({signal:r,env:t.setupEnv})}catch(i){return await Z(e,t,n,bn(i,r),Q(a,c?`no-observation`:`not-started`),o)}let l=Q(a,s.processGroup??`no-spawn`);t.control?.operationConcluded(l);let u=yn(s);if(u!==void 0)return await Z(e,t,n,u,l,o);if(r.aborted)return await Z(e,t,n,{kind:`cancelled`},l,o);let d=await En(e,t,a,o);return d===void 0?await Z(e,t,n,{kind:`technical-failure`,stage:`workspace-preparation`,message:`Workspace preparation report refused by the Authority`},l,o):r.aborted?await Z(e,t,n,{kind:`cancelled`},void 0,o):{handle:o,binding:d}}function Q(e,t){return{kind:`workspace-preparation`,operationId:e,setup:t}}async function On(e,t,n,r,i){if(i.signal.aborted)return await Z(e,t,n,{kind:`cancelled`},void 0,void 0);let a,o;if(n.workspace!==void 0){let r=await Dn(e,t,n,i.signal);if(`outcome`in r)return r;a=r.handle,o=r.binding}if(i.signal.aborted)return await Z(e,t,n,{kind:`cancelled`},void 0,a);let s=await Cn(e,t,{operationKind:`workload-invocation`,admissionKey:`workload-invocation:${n.id}:${t.runtimeGeneration}`,signal:i.signal,instruction:n,...a===void 0?{}:{workspace:a}});if(`outcome`in s)return s;let c={kind:`workload-invocation`,operationId:s.operationId};if(i.signal.aborted)return await Z(e,t,n,{kind:`cancelled`},c,a);let l;try{l={kind:`workload-result`,result:ue.parse(await r.invoke({instruction:n,...o===void 0?{}:{workspace:o},signal:i.signal}))}}catch(e){l=Y(e,i.signal)?{kind:`cancelled`}:{kind:`technical-failure`,stage:`workload-invocation`,message:X(e)}}return await Z(e,t,n,l,c,a)}async function kn(e,t){let n;try{n=await xn(e,t.executionAttemptId,t.runtimeGeneration,t.signal)}catch(n){if(T(n,t.signal))return await Z(e,t,void 0,{kind:`cancelled`},void 0,void 0);throw n}let r=wn(t.adapters,n);if(r===void 0)return await Z(e,t,n,{kind:`technical-failure`,stage:`startup`,message:`Required adapter '${n.workload.kind}' version '${n.workload.version}' is unavailable`},void 0,void 0);let i;try{i=await(r.bindControl?.({instruction:n,signal:t.signal})??Tn(t.signal))}catch(r){let i=Y(r,t.signal)?{kind:`cancelled`}:{kind:`technical-failure`,stage:`startup`,message:X(r)};return await Z(e,t,n,i,void 0,void 0)}try{return await On(e,t,n,r,i)}finally{try{i.release()}catch{console.warn(`[makaio-worker] Workload control release failed.`)}}}async function An(e,t,n,r,i){let a=he[`runtime.inputs.get`].response.parse(await e.request(C.runtime.inputs.get,{executionAttemptId:t},{signal:i}));if(a.runtimeInputs===null)throw Error(`Selected Worker Runtime inputs are unavailable`);return ge.parse({...n,...a.runtimeInputs,createdAt:0,env:r})}function jn(e,t){let n=(e,t)=>{let n=ae(e,t);return n===``||!re(n)&&n!==`..`&&!n.startsWith(`../`)&&!n.startsWith(`..\\`)};return n(e,t)||n(t,e)}async function Mn(t,n,r,i){let a=await t.loadContributions(r,i);i.throwIfAborted();let o=e();return await sn({connectAuthority:e=>t.connectBus(e,n,i),contributedPackages:[...a],configRepository:t.configRepository,context:{cwd:r.workspaceRoot,platform:r.platform,homedir:o,makaioHome:o,username:`workflow-worker`,machineId:`headless-worker-${t.executionAttemptId}`},toolsets:[...t.toolsets],...t.prepareAuthRuntime!==void 0&&{prepareAuthRuntime:t.prepareAuthRuntime}})}function Nn(e,t,n){let r={...e.workflowEnv},i,a=!0;return{adapter:{kind:Ye,version:Xe,async bindControl({instruction:t,signal:r}){let i=k(t);if(i.executionId!==e.executionId)throw Error(`Workflow instruction execution identity mismatch`);let a=new AbortController,o=n.on(ye(i.cancelSubject),()=>a.abort());try{return await xe(o),{signal:AbortSignal.any([...r===void 0?[]:[r],a.signal]),release:o}}catch(e){throw o(),e}},async invoke({instruction:o,workspace:s,signal:c}){let l=k(o);a=o.preservation.required.length!==0;let u=c??new AbortController().signal,d;try{u.throwIfAborted();let a=await An(n,e.executionAttemptId,l,r,u),o=await e.materialize(a,u);(s===void 0||!jn(o.context.workspaceRoot,s.workspaceRoot))&&(i=o.cleanup);let c=Pn(o.context,s);return u.throwIfAborted(),d=await Mn(e,t,c,u),u.throwIfAborted(),await e.execute(d.bus,a,c,u)}finally{await d?.shutdown()}}},async releaseExecutable(e){e===void 0||a||e.outcome.kind===`workload-result`&&(e.decision!==`accepted`&&e.decision!==`duplicate`||await i?.().catch(()=>void 0))}}}function Pn(e,t){return t===void 0?e:{...e,workspaceRoot:t.workspaceRoot}}const Fn={exited:`setup process group leader exited; whole group proven quiescent`,"signalled-and-quiesced":`setup process group signalled; group proven quiescent afterwards`,"signalled-unconfirmed":`setup process group signalled; quiescence not proven`,"unsignalled-unconfirmed":`setup process group could not be signalled; quiescence not proven`},In={"poll-timeout":`quiescence poll timed out`,"ps-unavailable":`ps unavailable on this host`,"signal-error":`a cleanup signal failed`};function Ln(e){let t=Fn[e.outcome];return e.cause===void 0?t:`${t} (${In[e.cause]})`}function $(e){return{...e.operationId===void 0?{}:{operationId:e.operationId},conclusion:{status:e.status,boundary:e.boundary,evidence:{source:e.source,summary:e.summary,observedAt:e.observedAt.toISOString(),...e.code===void 0?{}:{code:e.code}}}}}function Rn(e,t){if(!e.cancelReceived||e.admissionPending)return`pending`;let n=e.admittedOperation;if(n===null)return!e.admissionSettled&&!e.finished?`pending`:$({status:`achieved`,boundary:`admission-closed`,source:`headless-runtime`,summary:zn(e.admissionRefusalReason),observedAt:t});if(n.kind===`workload-invocation`)return $({operationId:n.operationId,status:`unsupported`,boundary:`workload`,source:`headless-runtime`,summary:`generic workload adapter offers no stop evidence`,observedAt:t});let r=e.conclusion;return r===null||r.kind!==`workspace-preparation`||r.operationId!==n.operationId?`pending`:Bn(n.operationId,r.setup,t)}function zn(e){let t=`no mutating operation admitted before cancellation`;return e===null?t:`${t}; admission refused (${e})`}function Bn(e,t,n){return $(t===`not-started`?{operationId:e,status:`achieved`,boundary:`setup-process-group`,source:`headless-runtime`,summary:`preparation admitted; setup never started before cancellation`,observedAt:n}:t===`no-spawn`?{operationId:e,status:`achieved`,boundary:`setup-process-group`,source:`setup-driver`,summary:`no live setup process group remains under this operation`,observedAt:n}:t===`no-observation`?{operationId:e,status:`unsupported`,boundary:`setup-process-group`,source:`setup-driver`,summary:`setup driver supplied no process-group observation`,observedAt:n}:{operationId:e,status:t.outcome===`signalled-unconfirmed`||t.outcome===`unsignalled-unconfirmed`?`unconfirmed`:`achieved`,boundary:`setup-process-group`,source:`setup-driver`,summary:Ln(t),observedAt:t.observedAt,code:t.outcome})}var Vn=class{state={cancelReceived:!1,admissionPending:!1,admissionSettled:!1,admissionRefusalReason:null,admittedOperation:null,conclusion:null,finished:!1};onUpdate;constructor(e){this.onUpdate=e}markCancelReceived(){this.state.cancelReceived=!0,this.onUpdate()}admissionPending(){this.state.admissionPending=!0,this.onUpdate()}admissionSettled(e){this.state.admissionPending=!1,this.state.admissionSettled=!0,e!==void 0&&(this.state.admissionRefusalReason=e),this.onUpdate()}operationAdmitted(e,t){this.state.admissionPending=!1,this.state.admittedOperation={kind:e,operationId:t},this.onUpdate()}operationConcluded(e){this.state.conclusion=e,this.onUpdate()}finished(){this.state.finished=!0,this.onUpdate()}snapshot(){return{...this.state}}};function Hn(e){return!e.reportPending&&(e.lastReportStatus===void 0||e.lastReportStatus===`error`)}function Un(e,t){return{executionAttemptId:e.executionAttemptId,runtimeIncarnationId:e.runtimeIncarnationId,runtimeGeneration:e.runtimeGeneration,controlRevision:e.cancellation.controlRevision,requestKey:e.cancellation.requestKey,receivedAt:t.toISOString()}}async function Wn(e,t,n,r,i){let a={executionAttemptId:t.executionAttemptId,runtimeIncarnationId:t.runtimeIncarnationId,runtimeGeneration:t.runtimeGeneration,controlRevision:t.controlRevision,requestKey:t.requestKey,...n.operationId===void 0?{}:{operationId:n.operationId},conclusion:n.conclusion};try{let t=await K((t,n)=>e.request(x.control.report,a,{timeout:t,signal:n}),i===void 0?r:{...r,signal:i}),n=b[`control.report`].response.parse(t);return n.decision===`accepted`||n.decision===`duplicate`?{status:n.decision,response:n}:{status:`refused`,response:n}}catch(e){return{status:`error`,error:e}}}function Gn(e,t,n){let r=new Set,i;return{dispatch(a,o,s){if(n?.aborted===!0)return!1;let c=Wn(e,a,o,t,n).then(e=>{i=e,r.delete(c),s(e)});return r.add(c),!0},async settle(){for(await new Promise(e=>setImmediate(e));r.size>0;)await Promise.allSettled([...r])},get lastReport(){return i}}}async function Kn(e,t,n={}){let r=n.now??(()=>new Date),i=new Map,a=new AbortController,s=Gn(e,n.reportOptions,n.reportSignal);function c(e){if(!Hn(e))return;let t=Rn(u.snapshot(),r());t!==`pending`&&s.dispatch(e.receipt,t,t=>{e.reportPending=!1,e.lastReportStatus=t.status})&&(e.reportPending=!0)}function l(e){let{controlRevision:t}=e.cancellation,n=i.get(t);if(n!==void 0)return setImmediate(()=>c(n)),n.receipt;let o={receipt:Un(e,r()),reportPending:!1,lastReportStatus:void 0};return i.set(t,o),setImmediate(()=>{a.abort(),u.markCancelReceived(),c(o)}),o.receipt}let u=new Vn(()=>{for(let e of i.values())c(e)}),d=await o(e,t,e=>e.bus.on(x.control.deliver,async t=>{let n=b[`control.deliver`].request.safeParse(t.payload);if(!n.success){t.setResult({decision:`refused`,reason:`unsupported`});return}let r=n.data,i=e.acceptedGeneration??await e.awaitGeneration();if(i===void 0||r.runtimeGeneration!==i){t.setResult({decision:`refused`,reason:`stale-generation`});return}t.setResult({decision:`received`,receipt:l(r)})}),n.signal);return{bindGeneration:e=>d.bindGeneration(e),cleanup:()=>d.cleanup(),signal:a.signal,observer:u,settle:()=>s.settle(),get lastReport(){return s.lastReport}}}async function qn(e,t){if(!(t.outcome.kind!==`workload-result`||e.onPostCommit===void 0))try{let n=_e.parse(t.outcome.result);await e.onPostCommit(n,t.decision)}catch{}}async function Jn(e,t){t.throwIfAborted();let n={...e.workflowEnv},r=v(),o=await u(e.bootstrapDeadlineAt,t,t=>e.bootstrap(t)),{connection:s,endpoint:c}=await a({executionAttemptId:e.executionAttemptId,runtimeIncarnationId:r,bootstrapDeadlineAt:e.bootstrapDeadlineAt,signal:t,createConnection:()=>Yn(e,o)}),l=s.bus,d=Nn({...e,workflowEnv:n},o,l),f=new AbortController,p,m;try{m=await Kn(l,{executionAttemptId:e.executionAttemptId,runtimeIncarnationId:r},{reportOptions:{retry:e.outcomeRetry,reconnect:()=>l.reconnect()},reportSignal:f.signal,signal:t});let n=await i(l,{executionAttemptId:e.executionAttemptId,runtimeIncarnationId:r,signal:t});return c.bindGeneration(n),m.bindGeneration(n),p=await kn(l,{executionAttemptId:e.executionAttemptId,runtimeGeneration:n,workspaceRoot:e.workspaceRoot,setupEnv:e.setupEnv,preparation:e.preparation,adapters:[d.adapter],signal:AbortSignal.any([t,m.signal]),control:m.observer,retry:e.outcomeRetry,reconnect:()=>l.reconnect()}),await qn(e,p),p}finally{try{await d.releaseExecutable(p)}finally{m?.observer.finished(),m?.cleanup();let e,t=setTimeout(()=>{f.abort(),e=Promise.resolve(s.close()),e.catch(()=>{})},5e3);try{await m?.settle()}finally{clearTimeout(t)}c.cleanup(),await(e??s.close())}}}function Yn(e,t){let n=w();return n.registerNamespaces([...ce,...le]),{bus:n,async connect(r){try{await e.connectBus(n,t,r),r.throwIfAborted()}catch(e){throw n.disconnect(),e}},close:()=>n.disconnect()}}const Xn=ee(p),Zn=[`-c`,`core.attributesFile=${E}`],Qn=f.object({repositoryId:f.string().min(1),revision:f.string().regex(/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/i,`Git source revision must be a full commit object ID`)}).strict();async function $n(e,t,n){try{let r=await e.resolveRepository(t,n);if(!g.isAbsolute(r))throw Error(`Repository access did not return an absolute path`);return await h.realpath(r)}catch(e){throw Y(e,n)?e:Error(`Git source access failed`)}}async function er(e,t,n,r,i){let a;try{a=(await Xn(`git`,[...Zn,`cat-file`,`-t`,t],{cwd:e,env:{...process.env,...n},signal:i,timeout:r,maxBuffer:1024,shell:!1,killSignal:`SIGKILL`,encoding:`utf8`})).stdout.trim()}catch(e){throw Y(e,i)?e:Error(`Git source object inspection failed`)}if(a!==`commit`)throw Error(`Git source revision must identify a commit object`)}function tr(e){if(!cn(e.timeoutMs))throw Error(`Git command timeout must be an integer between 1 and 2147483647 milliseconds`);if(process.platform===`win32`)throw Error(`Local Git source preparation requires a POSIX host`);return async({source:t,destination:n,signal:r})=>{if(r?.throwIfAborted(),t.kind!==`git`)throw Error(`Unsupported local Git source kind`);let i=Qn.parse(t.input),a=await $n(e,i.repositoryId,r);r?.throwIfAborted();let o={...Object.fromEntries(Object.keys(process.env).filter(e=>/^git_/i.test(e)).map(e=>[e,void 0])),GIT_CONFIG_GLOBAL:E,GIT_CONFIG_SYSTEM:E,GIT_ATTR_NOSYSTEM:`1`},s=[[`init`,`--object-format=${i.revision.length===64?`sha256`:`sha1`}`],[`fetch`,`--no-tags`,`--no-write-fetch-head`,`--update-shallow`,`--`,a,i.revision],[`checkout`,`--detach`,i.revision,`--`]];for(let t of s){t[0]===`checkout`&&await er(n,i.revision,o,e.timeoutMs,r);let a=await mn({workspaceRoot:n,signal:r,env:o,recipe:{command:`git`,args:[...Zn,...t],env:{},timeoutMs:e.timeoutMs}});if(a.status===`cancelled`&&r?.throwIfAborted(),a.status!==`completed`)throw Error(`Git source ${t[0]} ${a.status}`)}}}function nr(e){let t=tr(e);return{prepare:e=>_n({...e,realizeSource:t})}}export{R as A,M as B,Ot as C,St as D,jt as E,pt as F,A as H,vt as I,L,bt as M,yt as N,At as O,ft as P,N as R,V as S,Ct as T,j as V,Nt as _,sn as a,z as b,G as c,W as d,qt as f,Pt as g,It as h,kn as i,dt as j,ut as k,zt as l,Lt as m,Jn as n,nn as o,Kt as p,Kn as r,tn as s,nr as t,Rt as u,Mt as v,kt as w,B as x,U as y,P as z};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makaio/framework",
3
- "version": "1.0.0-dev-1789178369476",
3
+ "version": "1.0.0-dev-1789234461336",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/makaio-ai/makaio-framework.git",