@makaio/framework 1.0.0-dev-1783355411417 → 1.0.0-dev-1783477169057

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 (153) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/adapter-Lx6K7yQS.mjs +1 -0
  3. package/dist/adapter-subsystem/index.mjs +1 -1
  4. package/dist/adapters/config/index.d.mts +1 -1
  5. package/dist/adapters/index.d.mts +219 -40
  6. package/dist/adapters/index.mjs +6 -6
  7. package/dist/adapters/node.d.mts +1 -1
  8. package/dist/adapters/node.mjs +4 -4
  9. package/dist/{base-orchestrator-BNysGvaM.d.mts → base-orchestrator-J1WKAUkF.d.mts} +32 -3
  10. package/dist/bus/index.d.mts +22 -22
  11. package/dist/bus/index.mjs +1 -1
  12. package/dist/client-l1Rq5p6X.mjs +1 -0
  13. package/dist/clients/index.d.mts +30 -0
  14. package/dist/clients/index.mjs +2 -2
  15. package/dist/contracts/adapter/index.d.mts +2 -2
  16. package/dist/contracts/adapter/index.mjs +1 -1
  17. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  18. package/dist/contracts/adapter/schemas/session-lineage.mjs +1 -1
  19. package/dist/contracts/artifact/index.d.mts +1 -1
  20. package/dist/contracts/canonical-model/index.d.mts +1 -1
  21. package/dist/contracts/client/index.d.mts +2 -2
  22. package/dist/contracts/client/index.mjs +1 -1
  23. package/dist/contracts/config/index.d.mts +12 -12
  24. package/dist/contracts/extension/index.d.mts +3 -3
  25. package/dist/contracts/facet/index.d.mts +1 -1
  26. package/dist/contracts/harness/index.d.mts +1 -1
  27. package/dist/contracts/index.d.mts +454 -276
  28. package/dist/contracts/index.mjs +1 -1
  29. package/dist/contracts/materialization/index.d.mts +3 -3
  30. package/dist/contracts/provider/index.d.mts +1 -1
  31. package/dist/contracts/session/index.d.mts +3 -3
  32. package/dist/contracts/session/index.mjs +1 -1
  33. package/dist/contracts/shared/index.d.mts +1 -1
  34. package/dist/contracts/skill/index.d.mts +1 -1
  35. package/dist/contracts/variant/index.d.mts +1 -1
  36. package/dist/contracts/workflow/index.d.mts +2 -2
  37. package/dist/{definition-b9jyJqPD.d.mts → definition-DePb3ke-.d.mts} +1 -1
  38. package/dist/drizzle/0023_m_mr9gc37m.sql +1 -0
  39. package/dist/drizzle/meta/_journal.json +7 -0
  40. package/dist/handlers-B74FvKlA.mjs +57 -0
  41. package/dist/hooks/index.d.mts +19 -2
  42. package/dist/{identity-BarL3JYI.mjs → identity-DC3Pk0ps.mjs} +1 -1
  43. package/dist/{index-BwGfdbI0.d.mts → index-2fK9iSHI.d.mts} +9 -9
  44. package/dist/{index-D7rWAEY0.d.mts → index-B-6DtLLz.d.mts} +1 -1
  45. package/dist/{index-4eP9DRL_.d.mts → index-B3fjN5HX.d.mts} +7 -7
  46. package/dist/{index-O08Q2ikz.d.mts → index-BMbmoarE.d.mts} +8 -8
  47. package/dist/{index-DV4nRk0h.d.mts → index-BX1MxwFr.d.mts} +28 -28
  48. package/dist/{index-CqCe7Phc.d.mts → index-BcwOnvUh.d.mts} +6 -6
  49. package/dist/{index-D6aAzr32.d.mts → index-BeouVICp.d.mts} +36 -36
  50. package/dist/{index-DQYj8-53.d.mts → index-BjO4Zkap.d.mts} +1 -1
  51. package/dist/{index-B5w-0Gg9.d.mts → index-Bl42SCEI.d.mts} +8 -8
  52. package/dist/{index-BYfSAJRC.d.mts → index-BvTd61i5.d.mts} +151 -29
  53. package/dist/{index-3X0368CL.d.mts → index-CA-AJbq6.d.mts} +4 -4
  54. package/dist/{index-C5C1tk9f.d.mts → index-CQQcnpev.d.mts} +41 -41
  55. package/dist/{index-BKZhnb2B.d.mts → index-C_xQM96Y.d.mts} +802 -422
  56. package/dist/{index-31vR1sxk.d.mts → index-CwFSL4xI.d.mts} +144 -21
  57. package/dist/{index-WHUV7neB.d.mts → index-DMz-2ACU.d.mts} +105 -105
  58. package/dist/{index-3J0HZlPH.d.mts → index-DScUb-hF.d.mts} +334 -13
  59. package/dist/{index-DEzdNQum.d.mts → index-Di84JjS0.d.mts} +2 -2
  60. package/dist/{index-DvHYpi-J.d.mts → index-Dv4oGVZK.d.mts} +1246 -397
  61. package/dist/{index-CaerrEDH.d.mts → index-NkNbYFud.d.mts} +1 -1
  62. package/dist/{index-D9-vOJvZ.d.mts → index-h5go5Dtd.d.mts} +1 -1
  63. package/dist/{index-DLNRgZPo2.d.mts → index-j_X5xefv2.d.mts} +26 -26
  64. package/dist/{index-C6Ys8pxt.d.mts → index-uM4KZopE.d.mts} +9 -9
  65. package/dist/kernel/extension/index.d.mts +1 -1
  66. package/dist/kernel/index.d.mts +2 -2
  67. package/dist/kernel/observability/index.d.mts +1 -1
  68. package/dist/{namespace-j7vFsmYL.d.mts → namespace-3yGm4WF9.d.mts} +2 -2
  69. package/dist/{namespace-D8P8Sxce2.d.mts → namespace-6sIu5nBI2.d.mts} +2 -2
  70. package/dist/{namespace-B3ol3pc-.d.mts → namespace-BigVYQyx.d.mts} +12 -0
  71. package/dist/{namespace-DmqoDDRD.d.mts → namespace-Boh42UoL.d.mts} +66 -22
  72. package/dist/{namespace-CfvtDD_U.d.mts → namespace-COEUMuHL.d.mts} +156 -156
  73. package/dist/{namespace-B4cV_pk3.d.mts → namespace-D94HrTtq.d.mts} +58 -58
  74. package/dist/{namespace-DhDY0juT.d.mts → namespace-OLAh9wHU.d.mts} +375 -27
  75. package/dist/{namespace-Bm77p82L.d.mts → namespace-TPbegIMi.d.mts} +27 -27
  76. package/dist/{package-MmQvNJ3u.d.mts → package-B6mEMD8r.d.mts} +5 -0
  77. package/dist/{package-BmRhhi-3.mjs → package-BQn_RTo7.mjs} +1 -1
  78. package/dist/package.json +1 -1
  79. package/dist/{schema-DLNBajAV.d.mts → schema-B5vHi7Uu.d.mts} +28 -1
  80. package/dist/{schemas-CoFCV42v.d.mts → schemas-CDBn9MTz.d.mts} +156 -156
  81. package/dist/schemas-CkOigLAT.mjs +1 -0
  82. package/dist/{schemas-lnE9YoG7.d.mts → schemas-CscdPqCt.d.mts} +3 -3
  83. package/dist/{schemas-DMMWmWjq.d.mts → schemas-D512XweP.d.mts} +4 -4
  84. package/dist/{schemas-DuuVuhHX2.d.mts → schemas-DOV4UouN2.d.mts} +13 -13
  85. package/dist/{schemas-DmGRSeIq.d.mts → schemas-t6h9oSct.d.mts} +28 -1
  86. package/dist/services/adapter-runtime/index.d.mts +4 -4
  87. package/dist/services/adapter-runtime/index.mjs +1 -1
  88. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  89. package/dist/services/adapter-runtime/schemas.d.mts +2 -2
  90. package/dist/services/adapter-runtime/schemas.mjs +1 -1
  91. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  92. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  93. package/dist/services/agent-runtime/index.d.mts +2 -2
  94. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  95. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  96. package/dist/services/context-rules/index.d.mts +8 -8
  97. package/dist/services/execution-target/index.d.mts +1 -1
  98. package/dist/services/filesystem/namespace.d.mts +12 -12
  99. package/dist/services/filesystem/schemas.d.mts +6 -6
  100. package/dist/services/git/namespace.d.mts +2 -2
  101. package/dist/services/git/schemas.d.mts +1 -1
  102. package/dist/services/harness/index.d.mts +3 -3
  103. package/dist/services/index.d.mts +147 -140
  104. package/dist/services/index.mjs +1 -1
  105. package/dist/services/log-import/browser.d.mts +2 -2
  106. package/dist/services/log-import/index.d.mts +15 -2
  107. package/dist/services/log-import/index.mjs +2 -2
  108. package/dist/services/log-import/log-import.d.mts +1 -1
  109. package/dist/services/log-import/namespace.d.mts +2 -2
  110. package/dist/services/log-import/schemas.d.mts +1 -1
  111. package/dist/services/session/handlers/index.d.mts +1 -1
  112. package/dist/services/session/handlers/index.mjs +1 -1
  113. package/dist/services/session/index.d.mts +7 -7
  114. package/dist/services/session/index.mjs +1 -1
  115. package/dist/services/session/messages/namespace.d.mts +1 -1
  116. package/dist/services/session/session-events/namespace.d.mts +1 -1
  117. package/dist/services/session/storage/namespace.d.mts +1 -1
  118. package/dist/services/session/storage/schema.d.mts +1 -1
  119. package/dist/services/session/storage/schema.mjs +1 -1
  120. package/dist/services/session/testing/index.mjs +3 -2
  121. package/dist/services/session-editor/index.d.mts +1 -1
  122. package/dist/services/settings/namespace.d.mts +10 -10
  123. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  124. package/dist/services/subagent-template/index.d.mts +2 -2
  125. package/dist/services/subagent-template/namespace.d.mts +1 -1
  126. package/dist/services/subagent-template/schemas.d.mts +1 -1
  127. package/dist/services/tool-approval/index.mjs +1 -1
  128. package/dist/services/tools/index.mjs +1 -1
  129. package/dist/services/tray-menu/index.d.mts +2 -2
  130. package/dist/services/tray-menu/namespace.d.mts +1 -1
  131. package/dist/services/tray-menu/schemas.d.mts +1 -1
  132. package/dist/session-CoGaTin6.mjs +69 -0
  133. package/dist/session-Dp7z5N1d.mjs +1 -0
  134. package/dist/{session-lineage-DR-9DU-U.d.mts → session-lineage-C1M7-O3C.d.mts} +3 -3
  135. package/dist/{tool-approval-service-MU_DmJsf.mjs → tool-approval-service-BNXgr-az.mjs} +1 -1
  136. package/dist/tools-BaO4GYj0.mjs +1 -0
  137. package/dist/{transition-Dq41YCkc.d.mts → transition-Bbjlwv5K.d.mts} +1 -1
  138. package/dist/{types-BMS6yfLS.d.mts → types-BNW5n6qm.d.mts} +1 -1
  139. package/dist/{types-BMlzmWp6.d.mts → types-CNkx2awa.d.mts} +12 -1
  140. package/dist/{types-Cse8s_cD.d.mts → types-D7W0ntGr.d.mts} +45 -18
  141. package/dist/{types-C76EP81O.d.mts → types-jruUn6oW.d.mts} +694 -282
  142. package/dist/workflow-engine/index.d.mts +41 -41
  143. package/dist/workflow-engine/index.mjs +1 -1
  144. package/dist/workflow-engine/package.d.mts +1 -1
  145. package/dist/workflow-engine/package.mjs +1 -1
  146. package/package.json +1 -1
  147. package/dist/adapter-BRxCc72E.mjs +0 -1
  148. package/dist/client-BgUjVbXX.mjs +0 -1
  149. package/dist/handlers-v47Gbsr1.mjs +0 -57
  150. package/dist/schemas-ftgVeWIG.mjs +0 -1
  151. package/dist/session-CKWfn3oc.mjs +0 -1
  152. package/dist/session-DCbJwYEU.mjs +0 -69
  153. package/dist/tools-BrNm-een.mjs +0 -1
@@ -1,4 +1,4 @@
1
- import { a as WorkflowExecutor, i as WorkflowEngineService, n as createWorkflowEnginePackage, o as registerDrizzleWorkflowStorage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-MmQvNJ3u.mjs";
1
+ import { a as WorkflowExecutor, i as WorkflowEngineService, n as createWorkflowEnginePackage, o as registerDrizzleWorkflowStorage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-B6mEMD8r.mjs";
2
2
  import { z } from "zod";
3
3
  import * as _$_makaio_core0 from "@makaio/framework/core";
4
4
  import { IMakaioBus } from "@makaio/framework/bus";
@@ -423,9 +423,9 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
423
423
  pending: "pending";
424
424
  completed: "completed";
425
425
  cancelled: "cancelled";
426
+ running: "running";
426
427
  failed: "failed";
427
428
  paused: "paused";
428
- running: "running";
429
429
  }>;
430
430
  inputs: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
431
431
  config: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
@@ -464,9 +464,9 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
464
464
  pending: "pending";
465
465
  completed: "completed";
466
466
  cancelled: "cancelled";
467
+ running: "running";
467
468
  failed: "failed";
468
469
  paused: "paused";
469
- running: "running";
470
470
  }>;
471
471
  inputs: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
472
472
  config: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
@@ -512,9 +512,9 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
512
512
  pending: "pending";
513
513
  completed: "completed";
514
514
  cancelled: "cancelled";
515
+ running: "running";
515
516
  failed: "failed";
516
517
  paused: "paused";
517
- running: "running";
518
518
  }>;
519
519
  inputs: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
520
520
  config: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
@@ -758,9 +758,9 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
758
758
  pending: "pending";
759
759
  completed: "completed";
760
760
  cancelled: "cancelled";
761
+ running: "running";
761
762
  failed: "failed";
762
763
  paused: "paused";
763
- running: "running";
764
764
  }>>;
765
765
  error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
766
766
  reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -827,9 +827,9 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
827
827
  pending: "pending";
828
828
  completed: "completed";
829
829
  cancelled: "cancelled";
830
+ running: "running";
830
831
  failed: "failed";
831
832
  paused: "paused";
832
- running: "running";
833
833
  }>>;
834
834
  artifactRef: z.ZodOptional<z.ZodObject<{
835
835
  kind: z.ZodString;
@@ -850,9 +850,9 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
850
850
  pending: "pending";
851
851
  completed: "completed";
852
852
  cancelled: "cancelled";
853
+ running: "running";
853
854
  failed: "failed";
854
855
  paused: "paused";
855
- running: "running";
856
856
  }>;
857
857
  inputs: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
858
858
  config: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
@@ -902,9 +902,9 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
902
902
  pending: "pending";
903
903
  completed: "completed";
904
904
  cancelled: "cancelled";
905
+ running: "running";
905
906
  failed: "failed";
906
907
  paused: "paused";
907
- running: "running";
908
908
  }>;
909
909
  inputs: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
910
910
  config: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
@@ -962,8 +962,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
962
962
  pending: "pending";
963
963
  completed: "completed";
964
964
  cancelled: "cancelled";
965
- failed: "failed";
966
965
  running: "running";
966
+ failed: "failed";
967
967
  waiting: "waiting";
968
968
  skipped: "skipped";
969
969
  }>;
@@ -1008,8 +1008,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1008
1008
  pending: "pending";
1009
1009
  completed: "completed";
1010
1010
  cancelled: "cancelled";
1011
- failed: "failed";
1012
1011
  running: "running";
1012
+ failed: "failed";
1013
1013
  waiting: "waiting";
1014
1014
  skipped: "skipped";
1015
1015
  }>;
@@ -1051,8 +1051,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1051
1051
  pending: "pending";
1052
1052
  completed: "completed";
1053
1053
  cancelled: "cancelled";
1054
- failed: "failed";
1055
1054
  running: "running";
1055
+ failed: "failed";
1056
1056
  waiting: "waiting";
1057
1057
  skipped: "skipped";
1058
1058
  }>;
@@ -1319,8 +1319,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1319
1319
  }>;
1320
1320
  status: z.ZodEnum<{
1321
1321
  completed: "completed";
1322
- failed: "failed";
1323
1322
  running: "running";
1323
+ failed: "failed";
1324
1324
  skipped: "skipped";
1325
1325
  }>;
1326
1326
  startedAt: z.ZodOptional<z.ZodNumber>;
@@ -1355,8 +1355,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1355
1355
  }>;
1356
1356
  status: z.ZodEnum<{
1357
1357
  completed: "completed";
1358
- failed: "failed";
1359
1358
  running: "running";
1359
+ failed: "failed";
1360
1360
  skipped: "skipped";
1361
1361
  }>;
1362
1362
  startedAt: z.ZodOptional<z.ZodNumber>;
@@ -1996,7 +1996,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1996
1996
  tableName: "workflow_definitions";
1997
1997
  dataType: "string";
1998
1998
  columnType: "SQLiteText";
1999
- data: "external" | "session" | "global" | "workspace";
1999
+ data: "external" | "global" | "workspace" | "session";
2000
2000
  driverParam: string;
2001
2001
  notNull: true;
2002
2002
  hasDefault: false;
@@ -2009,7 +2009,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
2009
2009
  generated: undefined;
2010
2010
  }, {}, {
2011
2011
  length: number | undefined;
2012
- $type: "external" | "session" | "global" | "workspace";
2012
+ $type: "external" | "global" | "workspace" | "session";
2013
2013
  }>;
2014
2014
  scopeKind: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2015
2015
  name: "scope_kind";
@@ -2367,7 +2367,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
2367
2367
  tableName: "workflow_executions";
2368
2368
  dataType: "string";
2369
2369
  columnType: "SQLiteText";
2370
- data: "external" | "session" | "global" | "workspace";
2370
+ data: "external" | "global" | "workspace" | "session";
2371
2371
  driverParam: string;
2372
2372
  notNull: true;
2373
2373
  hasDefault: false;
@@ -2380,7 +2380,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
2380
2380
  generated: undefined;
2381
2381
  }, {}, {
2382
2382
  length: number | undefined;
2383
- $type: "external" | "session" | "global" | "workspace";
2383
+ $type: "external" | "global" | "workspace" | "session";
2384
2384
  }>;
2385
2385
  scopeKind: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2386
2386
  name: "scope_kind";
@@ -2482,7 +2482,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
2482
2482
  tableName: "workflow_executions";
2483
2483
  dataType: "string";
2484
2484
  columnType: "SQLiteText";
2485
- data: "pending" | "completed" | "cancelled" | "failed" | "paused" | "running";
2485
+ data: "pending" | "completed" | "cancelled" | "running" | "failed" | "paused";
2486
2486
  driverParam: string;
2487
2487
  notNull: true;
2488
2488
  hasDefault: false;
@@ -2771,7 +2771,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
2771
2771
  tableName: "workflow_execution_frames";
2772
2772
  dataType: "string";
2773
2773
  columnType: "SQLiteText";
2774
- data: "pending" | "completed" | "cancelled" | "failed" | "running" | "waiting" | "skipped";
2774
+ data: "pending" | "completed" | "cancelled" | "running" | "failed" | "waiting" | "skipped";
2775
2775
  driverParam: string;
2776
2776
  notNull: true;
2777
2777
  hasDefault: true;
@@ -2784,7 +2784,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
2784
2784
  generated: undefined;
2785
2785
  }, {}, {
2786
2786
  length: number | undefined;
2787
- $type: "pending" | "completed" | "cancelled" | "failed" | "running" | "waiting" | "skipped";
2787
+ $type: "pending" | "completed" | "cancelled" | "running" | "failed" | "waiting" | "skipped";
2788
2788
  }>;
2789
2789
  attempt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2790
2790
  name: string;
@@ -3282,7 +3282,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
3282
3282
  tableName: "workflow_step_spans";
3283
3283
  dataType: "string";
3284
3284
  columnType: "SQLiteText";
3285
- data: "completed" | "failed" | "running" | "skipped";
3285
+ data: "completed" | "running" | "failed" | "skipped";
3286
3286
  driverParam: string;
3287
3287
  notNull: true;
3288
3288
  hasDefault: false;
@@ -3295,7 +3295,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
3295
3295
  generated: undefined;
3296
3296
  }, {}, {
3297
3297
  length: number | undefined;
3298
- $type: "completed" | "failed" | "running" | "skipped";
3298
+ $type: "completed" | "running" | "failed" | "skipped";
3299
3299
  }>;
3300
3300
  startedAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
3301
3301
  name: string;
@@ -4101,7 +4101,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
4101
4101
  tableName: "workflow_run_contexts";
4102
4102
  dataType: "string";
4103
4103
  columnType: "SQLiteText";
4104
- data: "external" | "session" | "global" | "workspace";
4104
+ data: "external" | "global" | "workspace" | "session";
4105
4105
  driverParam: string;
4106
4106
  notNull: true;
4107
4107
  hasDefault: true;
@@ -4114,7 +4114,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
4114
4114
  generated: undefined;
4115
4115
  }, {}, {
4116
4116
  length: number | undefined;
4117
- $type: "external" | "session" | "global" | "workspace";
4117
+ $type: "external" | "global" | "workspace" | "session";
4118
4118
  }>;
4119
4119
  scopeKind: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
4120
4120
  name: "scope_kind";
@@ -4329,7 +4329,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
4329
4329
  tableName: "worklog_summaries";
4330
4330
  dataType: "string";
4331
4331
  columnType: "SQLiteText";
4332
- data: "pending" | "completed" | "cancelled" | "failed" | "paused" | "running";
4332
+ data: "pending" | "completed" | "cancelled" | "running" | "failed" | "paused";
4333
4333
  driverParam: string;
4334
4334
  notNull: true;
4335
4335
  hasDefault: false;
@@ -4591,7 +4591,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
4591
4591
  tableName: "worklog_frame_entries";
4592
4592
  dataType: "string";
4593
4593
  columnType: "SQLiteText";
4594
- data: "pending" | "completed" | "cancelled" | "failed" | "running" | "waiting" | "skipped";
4594
+ data: "pending" | "completed" | "cancelled" | "running" | "failed" | "waiting" | "skipped";
4595
4595
  driverParam: string;
4596
4596
  notNull: true;
4597
4597
  hasDefault: false;
@@ -5685,9 +5685,9 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
5685
5685
  pending: "pending";
5686
5686
  completed: "completed";
5687
5687
  cancelled: "cancelled";
5688
+ running: "running";
5688
5689
  failed: "failed";
5689
5690
  paused: "paused";
5690
- running: "running";
5691
5691
  }>;
5692
5692
  inputs: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
5693
5693
  config: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
@@ -5726,9 +5726,9 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
5726
5726
  pending: "pending";
5727
5727
  completed: "completed";
5728
5728
  cancelled: "cancelled";
5729
+ running: "running";
5729
5730
  failed: "failed";
5730
5731
  paused: "paused";
5731
- running: "running";
5732
5732
  }>;
5733
5733
  inputs: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
5734
5734
  config: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
@@ -5774,9 +5774,9 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
5774
5774
  pending: "pending";
5775
5775
  completed: "completed";
5776
5776
  cancelled: "cancelled";
5777
+ running: "running";
5777
5778
  failed: "failed";
5778
5779
  paused: "paused";
5779
- running: "running";
5780
5780
  }>;
5781
5781
  inputs: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
5782
5782
  config: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
@@ -6020,9 +6020,9 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6020
6020
  pending: "pending";
6021
6021
  completed: "completed";
6022
6022
  cancelled: "cancelled";
6023
+ running: "running";
6023
6024
  failed: "failed";
6024
6025
  paused: "paused";
6025
- running: "running";
6026
6026
  }>>;
6027
6027
  error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6028
6028
  reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -6089,9 +6089,9 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6089
6089
  pending: "pending";
6090
6090
  completed: "completed";
6091
6091
  cancelled: "cancelled";
6092
+ running: "running";
6092
6093
  failed: "failed";
6093
6094
  paused: "paused";
6094
- running: "running";
6095
6095
  }>>;
6096
6096
  artifactRef: z.ZodOptional<z.ZodObject<{
6097
6097
  kind: z.ZodString;
@@ -6112,9 +6112,9 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6112
6112
  pending: "pending";
6113
6113
  completed: "completed";
6114
6114
  cancelled: "cancelled";
6115
+ running: "running";
6115
6116
  failed: "failed";
6116
6117
  paused: "paused";
6117
- running: "running";
6118
6118
  }>;
6119
6119
  inputs: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
6120
6120
  config: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
@@ -6164,9 +6164,9 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6164
6164
  pending: "pending";
6165
6165
  completed: "completed";
6166
6166
  cancelled: "cancelled";
6167
+ running: "running";
6167
6168
  failed: "failed";
6168
6169
  paused: "paused";
6169
- running: "running";
6170
6170
  }>;
6171
6171
  inputs: z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>;
6172
6172
  config: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
@@ -6224,8 +6224,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6224
6224
  pending: "pending";
6225
6225
  completed: "completed";
6226
6226
  cancelled: "cancelled";
6227
- failed: "failed";
6228
6227
  running: "running";
6228
+ failed: "failed";
6229
6229
  waiting: "waiting";
6230
6230
  skipped: "skipped";
6231
6231
  }>;
@@ -6270,8 +6270,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6270
6270
  pending: "pending";
6271
6271
  completed: "completed";
6272
6272
  cancelled: "cancelled";
6273
- failed: "failed";
6274
6273
  running: "running";
6274
+ failed: "failed";
6275
6275
  waiting: "waiting";
6276
6276
  skipped: "skipped";
6277
6277
  }>;
@@ -6313,8 +6313,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6313
6313
  pending: "pending";
6314
6314
  completed: "completed";
6315
6315
  cancelled: "cancelled";
6316
- failed: "failed";
6317
6316
  running: "running";
6317
+ failed: "failed";
6318
6318
  waiting: "waiting";
6319
6319
  skipped: "skipped";
6320
6320
  }>;
@@ -6581,8 +6581,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6581
6581
  }>;
6582
6582
  status: z.ZodEnum<{
6583
6583
  completed: "completed";
6584
- failed: "failed";
6585
6584
  running: "running";
6585
+ failed: "failed";
6586
6586
  skipped: "skipped";
6587
6587
  }>;
6588
6588
  startedAt: z.ZodOptional<z.ZodNumber>;
@@ -6617,8 +6617,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6617
6617
  }>;
6618
6618
  status: z.ZodEnum<{
6619
6619
  completed: "completed";
6620
- failed: "failed";
6621
6620
  running: "running";
6621
+ failed: "failed";
6622
6622
  skipped: "skipped";
6623
6623
  }>;
6624
6624
  startedAt: z.ZodOptional<z.ZodNumber>;
@@ -7230,7 +7230,7 @@ declare const workflowDefinitionsDual: _$_makaio_storage_drizzle0.DualTable<"wor
7230
7230
  } | undefined;
7231
7231
  providers?: Record<string, JsonValue> | undefined;
7232
7232
  }>>;
7233
- scopeType: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"scope_type", ["global", "workspace", "session", "external"], number | undefined>>, "external" | "session" | "global" | "workspace">, _$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"scope_type", ["global", "workspace", "session", "external"]>>, "external" | "session" | "global" | "workspace">>;
7233
+ scopeType: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"scope_type", ["global", "workspace", "session", "external"], number | undefined>>, "external" | "global" | "workspace" | "session">, _$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"scope_type", ["global", "workspace", "session", "external"]>>, "external" | "global" | "workspace" | "session">>;
7234
7234
  scopeKind: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"scope_kind", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"scope_kind", [string, ...string[]]>>>>;
7235
7235
  scopeId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"scope_id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"scope_id", [string, ...string[]]>>>>; /** Unique workflow identifier. */
7236
7236
  id: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"id", [string, ...string[]]>>>>; /** Workflow name. */
@@ -7369,7 +7369,7 @@ declare const workflowDefinitionsDual: _$_makaio_storage_drizzle0.DualTable<"wor
7369
7369
  * Stores runtime state of workflow executions.
7370
7370
  */
7371
7371
  declare const workflowExecutionsDual: _$_makaio_storage_drizzle0.DualTable<"workflow_executions", {
7372
- scopeType: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"scope_type", ["global", "workspace", "session", "external"], number | undefined>>, "external" | "session" | "global" | "workspace">, _$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"scope_type", ["global", "workspace", "session", "external"]>>, "external" | "session" | "global" | "workspace">>;
7372
+ scopeType: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"scope_type", ["global", "workspace", "session", "external"], number | undefined>>, "external" | "global" | "workspace" | "session">, _$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"scope_type", ["global", "workspace", "session", "external"]>>, "external" | "global" | "workspace" | "session">>;
7373
7373
  scopeKind: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"scope_kind", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"scope_kind", [string, ...string[]]>>>>;
7374
7374
  scopeId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"scope_id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"scope_id", [string, ...string[]]>>>>; /** Unique execution identifier. */
7375
7375
  id: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"id", [string, ...string[]]>>>>; /** Workflow definition or ephemeral source execution identifier. */
@@ -7394,7 +7394,7 @@ declare const workflowStepSpansDual: _$_makaio_storage_drizzle0.DualTable<"workf
7394
7394
  frameId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"frame_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"frame_id", [string, ...string[]]>>>; /** Step identifier within the workflow definition. */
7395
7395
  stepId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"step_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"step_id", [string, ...string[]]>>>; /** Step type discriminant. */
7396
7396
  stepType: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"step_type", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"step_type", [string, ...string[]]>>>; /** Current span status. */
7397
- status: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm0.$Type<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"status", [string, ...string[]], number | undefined>, "completed" | "failed" | "running" | "skipped">>, _$drizzle_orm0.NotNull<_$drizzle_orm0.$Type<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"status", [string, ...string[]]>, "completed" | "failed" | "running" | "skipped">>>; /** Step start timestamp (epoch ms). */
7397
+ status: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm0.$Type<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"status", [string, ...string[]], number | undefined>, "completed" | "running" | "failed" | "skipped">>, _$drizzle_orm0.NotNull<_$drizzle_orm0.$Type<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"status", [string, ...string[]]>, "completed" | "running" | "failed" | "skipped">>>; /** Step start timestamp (epoch ms). */
7398
7398
  startedAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>, _$drizzle_orm_pg_core0.PgBigInt53BuilderInitial<string>>; /** Step completion timestamp (epoch ms). */
7399
7399
  completedAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>, _$drizzle_orm_pg_core0.PgBigInt53BuilderInitial<string>>; /** Wall-clock duration in milliseconds. */
7400
7400
  durationMs: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>, _$drizzle_orm_pg_core0.PgIntegerBuilderInitial<string>>; /** Input tokens consumed (agent steps). */
@@ -1 +1 @@
1
- import{C as e,F as t,G as n,N as r,S as i,T as a,V as o,Y as s,j as c,v as l}from"../loop-gate-handlers-Bjmat-K3.mjs";import{a as u,c as d,i as f,l as p,n as m,o as h,r as g,s as _,t as v}from"../package-BmRhhi-3.mjs";import{JsonValueSchema as y,WorkflowFrameStateSchema as b}from"@makaio/framework/contracts";const x=new Set([...b.shape.status.options]);function S(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function C(e){if(!S(e))return!1;for(let t of Object.values(e))if(!S(t)||typeof t.status!=`string`||!x.has(t.status)||`result`in t&&t.result!==void 0&&!y.safeParse(t.result).success)return!1;return!0}function w(e){let t={trigger:S(e.trigger)?e.trigger:{},steps:C(e.steps)?e.steps:{},inputs:y.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{f as WorkflowEngineService,v as WorkflowEngineToken,u as WorkflowExecutor,i as WorkflowStorageNamespace,e as WorkflowStorageSubjects,w as buildWorkflowExpressionContextFromResolvedInputs,m as createWorkflowEnginePackage,_ as getWorkflowState,d as initializeWorkflowState,p as patchWorkflowState,h as registerDrizzleWorkflowStorage,l as runShellStep,a as workflowDefinitionsDual,g as workflowEnginePackage,c as workflowExecutionStateDual,r as workflowExecutionStateEventsDual,t as workflowExecutionsDual,o as workflowStepSpansDual,n as worklogFrameEntriesDual,s as worklogSummariesDual};
1
+ import{C as e,F as t,G as n,N as r,S as i,T as a,V as o,Y as s,j as c,v as l}from"../loop-gate-handlers-Bjmat-K3.mjs";import{a as u,c as d,i as f,l as p,n as m,o as h,r as g,s as _,t as v}from"../package-BQn_RTo7.mjs";import{JsonValueSchema as y,WorkflowFrameStateSchema as b}from"@makaio/framework/contracts";const x=new Set([...b.shape.status.options]);function S(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function C(e){if(!S(e))return!1;for(let t of Object.values(e))if(!S(t)||typeof t.status!=`string`||!x.has(t.status)||`result`in t&&t.result!==void 0&&!y.safeParse(t.result).success)return!1;return!0}function w(e){let t={trigger:S(e.trigger)?e.trigger:{},steps:C(e.steps)?e.steps:{},inputs:y.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{f as WorkflowEngineService,v as WorkflowEngineToken,u as WorkflowExecutor,i as WorkflowStorageNamespace,e as WorkflowStorageSubjects,w as buildWorkflowExpressionContextFromResolvedInputs,m as createWorkflowEnginePackage,_ as getWorkflowState,d as initializeWorkflowState,p as patchWorkflowState,h as registerDrizzleWorkflowStorage,l as runShellStep,a as workflowDefinitionsDual,g as workflowEnginePackage,c as workflowExecutionStateDual,r as workflowExecutionStateEventsDual,t as workflowExecutionsDual,o as workflowStepSpansDual,n as worklogFrameEntriesDual,s as worklogSummariesDual};
@@ -1,2 +1,2 @@
1
- import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-MmQvNJ3u.mjs";
1
+ import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-B6mEMD8r.mjs";
2
2
  export { WorkflowEngineToken, createWorkflowEnginePackage, workflowEnginePackage };
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"../package-BmRhhi-3.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
1
+ import{n as e,r as t,t as n}from"../package-BQn_RTo7.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makaio/framework",
3
- "version": "1.0.0-dev-1783355411417",
3
+ "version": "1.0.0-dev-1783477169057",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/makaio-ai/makaio-framework.git",
@@ -1 +0,0 @@
1
- import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,lt as l,m as u,o as d,p as f,s as p,t as m,u as h,v as g}from"./schemas-ftgVeWIG.mjs";import"./compression-C5JAWdgZ.mjs";import"./provider-context-CqMgPOWF.mjs";import"./contracts/adapter/schemas/session-lineage.mjs";import{createBusNamespace as _}from"@makaio/framework/core";const v={getCapabilities:l,startAgent:g,infer:e,listAgents:a,getAgent:o,stopAgent:u,rehydrateAgent:f,getConfigSchema:i,"agent.created":r,"session.created":h,"session.discovered":m,"session.usage":c,"session.closed":n,log:p,error:d,initialized:t,quota:s},y=_(`adapter`,v),b=y.subjects;export{b as n,v as r,y as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./schemas-XeIBqwvE.mjs";import{_ as t,a as n,g as r,h as i,m as a,n as ee,o as te}from"./profile-BMBXUqqh.mjs";import{n as ne,t as o}from"./version-DoV_pSzT.mjs";import{c as re,d as ie,n as ae,o as oe,s as se,t as s,u as c}from"./account-identity-C7Kx_ieU.mjs";import{z as l}from"zod";import{createBusNamespace as ce}from"@makaio/framework/core";const u=l.object({tag:l.string(),description:l.string().optional()}),d=l.object({name:l.string(),friendlyName:l.string(),description:l.string().optional(),category:l.string().optional(),capabilities:l.array(u).default([])}),f=l.object({id:l.string(),name:l.string(),description:l.string().optional(),glob:l.string().optional()}),p=l.object({name:l.string().min(1),frameworkSubject:l.string().min(1).optional(),mode:l.enum([`event`,`request`]).default(`event`)}),m=l.object({envVar:r.regex(/^[A-Za-z_][A-Za-z0-9_]*$/,{message:`envVar must be a valid environment variable name (letters, digits, underscores)`}),defaultPath:r.refine(e=>e===`~`||e.startsWith(`~/`)||t(e),{message:`defaultPath must be absolute, '~', or start with '~/'`}),pathKind:l.enum([`directory`,`file`]).default(`directory`)});function le(e){if(!e.startsWith(`@`))return!e.includes(`@`);let t=e.indexOf(`/`);return t>1&&!e.slice(t+1).includes(`@`)}const h=l.object({type:l.literal(`npm`),package:l.string().min(1).refine(le,{message:"package must not include an inline `@version` suffix; use the version field instead"}),version:o}),g=l.object({type:l.literal(`signed-binary-bucket`),version:o,config:l.object({baseUrl:l.string().url(),manifestPathTemplate:l.string().min(1),manifestSignaturePathTemplate:l.string().min(1),publicKeyUrl:l.string().url(),publicKeyFingerprint:l.string().min(1),binaryPathTemplate:l.string().min(1),platforms:l.record(l.string().min(1),l.string().min(1))})}),_=l.discriminatedUnion(`type`,[h,g]),v=l.object({executable:l.union([l.string().min(1),l.object({default:l.string().min(1),darwin:l.string().min(1).optional(),linux:l.string().min(1).optional(),win32:l.string().min(1).optional()}).strict()]),args:l.array(l.string()).default([])}).strict(),y=l.object({kind:l.string().min(1),payload:l.record(l.string(),l.unknown()).optional()}),b=l.object({supportsHooks:l.boolean().default(!1),supportsStatusline:l.boolean().default(!1),supportsSupervisorLaunch:l.boolean().default(!1),supportsManagedBinary:l.boolean().default(!1),hookEvents:l.array(p).default([])}).refine(e=>e.supportsHooks||e.hookEvents.length===0,{message:`hookEvents must be empty when supportsHooks is false`,path:[`hookEvents`]}),x=l.object({name:l.string().min(1),supportedVersions:ne}).strict(),S=l.object({id:l.string(),name:l.string(),version:o,description:l.string().optional(),binary:x.optional(),nativeTools:l.array(d).default([]),defaultApprovalPolicy:e,logSources:l.array(f).optional(),defaultProviderId:l.string().optional(),runtimeCapabilities:b.optional().transform(e=>b.parse(e??{})),managedInstall:_.optional(),versionCommand:v.optional(),postInstall:y.optional(),configIsolation:m.optional()}).strict().refine(e=>!e.runtimeCapabilities.supportsManagedBinary||e.managedInstall!==void 0,{message:`managedInstall is required when runtimeCapabilities.supportsManagedBinary is true`,path:[`managedInstall`]}).refine(e=>e.managedInstall===void 0||e.runtimeCapabilities.supportsManagedBinary,{message:`runtimeCapabilities.supportsManagedBinary must be true when managedInstall is provided`,path:[`runtimeCapabilities`,`supportsManagedBinary`]}).refine(e=>e.managedInstall===void 0||e.versionCommand!==void 0,{message:`versionCommand is required when managedInstall is provided`,path:[`versionCommand`]}).superRefine((e,t)=>{if(e.managedInstall===void 0||e.versionCommand===void 0)return;let{executable:n}=e.versionCommand,r=typeof n==`string`?[{path:n,issuePath:[`versionCommand`,`executable`]}]:[{path:n.default,issuePath:[`versionCommand`,`executable`,`default`]},...n.darwin===void 0?[]:[{path:n.darwin,issuePath:[`versionCommand`,`executable`,`darwin`]}],...n.linux===void 0?[]:[{path:n.linux,issuePath:[`versionCommand`,`executable`,`linux`]}],...n.win32===void 0?[]:[{path:n.win32,issuePath:[`versionCommand`,`executable`,`win32`]}]];for(let{path:e,issuePath:n}of r){let r=e.startsWith(`/`),i=/^[A-Za-z]:/.test(e),a=e.startsWith(`\\`);if(r||i||a){t.addIssue({code:l.ZodIssueCode.custom,path:n,message:`${n.join(`.`)} must be a relative path within the install directory`});continue}e.split(/[/\\]/).some(e=>e===`..`)&&t.addIssue({code:l.ZodIssueCode.custom,path:n,message:`${n.join(`.`)} must be a relative path within the install directory`})}}),C=l.object({binaryPath:a.nullable(),env:l.record(l.string(),l.string()),configDir:a.nullable(),source:l.enum([`managed`,`global`]),version:r.nullable()}),w={request:l.object({clientId:r,sessionId:r.optional(),projectDir:a.optional(),preferSource:l.enum([`managed`,`global`]).optional(),harnessId:r.optional()}),response:C},T=l.enum([`npm`,`signed-binary-bucket`]),E=l.object({version:r,installPath:a,installedAt:i,isActive:l.boolean()}),D=l.object({clientId:r,installedVersions:l.array(E),activeVersion:r.nullable(),pinnedVersion:o,updateAvailable:l.boolean()}).strict(),O={request:l.object({forceRefresh:l.boolean().optional()}),response:l.object({clients:l.array(D)})},k={request:l.object({clientId:r,version:o.optional()}),response:l.object({jobId:r,requestedVersion:o.nullable(),resolvedVersion:o.nullable()})},A={request:l.object({clientId:r,version:r}),response:l.object({clientId:r,removedVersion:r,activeVersion:r.nullable()})},j={request:l.object({clientId:r}),response:l.object({jobId:r,resolvedVersion:o.nullable()})},M={request:l.object({clientId:r,version:r}),response:l.object({clientId:r,activeVersion:r})},N=l.enum([`resolving`,`downloading`,`verifying`,`extracting`,`installing`,`post-install`,`activating`]),P=l.object({jobId:r,clientId:r,version:r.optional(),strategy:T,stage:N,progress:l.number().min(0).max(100).nullable(),installPath:a.optional(),activeAfterCompletion:l.boolean().optional(),metadata:l.record(l.string(),l.unknown()).optional()}),F=l.object({message:l.string(),code:l.string().optional()}),I=l.object({jobId:r,clientId:r,version:r.optional(),strategy:T,status:l.enum([`success`,`error`]),installPath:a.optional(),activeVersion:r.nullable(),error:F.optional(),metadata:l.record(l.string(),l.unknown()).optional()}),L=l.object({clientId:r,previousActiveVersion:r.nullable(),activeVersion:r.nullable(),reason:l.enum([`install`,`update`,`set-active`,`uninstall`])}),R=l.enum([`supervisor`,`adapter`,`client-hook`,`statusline`,`cli-wrapper`]),z=l.object({layer:R,producer:r}),B=l.object({supervisorSessionId:r.optional(),pid:l.number().int().positive().optional(),parentPid:l.number().int().positive().optional(),adapterSessionId:r.optional(),sessionId:r.optional(),cwd:l.string().optional(),argv:l.array(l.string()).optional(),metadata:l.record(l.string(),l.unknown()).optional()}),V={request:l.object({clientId:r,source:z,observedAt:i}).merge(B).refine(e=>e.supervisorSessionId!==void 0||e.pid!==void 0||e.adapterSessionId!==void 0,{message:`At least one hard-evidence field is required (supervisorSessionId, pid, or adapterSessionId)`}),response:l.object({clientRuntimeId:r,created:l.boolean(),promoted:l.boolean()})},H=B.extend({clientRuntimeId:r,clientId:r,status:l.enum([`observed`,`started`]),source:z,observedAt:i}),U=l.object({clientId:r,source:r,observedAt:i,sessionId:l.string().optional(),adapterSessionId:l.string().optional(),metadata:l.record(l.string(),l.unknown()).optional()}),W=U.extend({transcriptPath:l.string().optional(),cwd:l.string().optional()}),G=U.extend({prompt:r.optional()}),K=U.extend({}),q=U.extend({transcriptPath:l.string().optional()}),J=U.extend({toolName:r.optional(),toolCallId:r.optional()}),Y=U.extend({toolName:r.optional(),toolCallId:r.optional(),success:l.boolean().optional()}),X=l.object({group:r,name:r,installed:l.boolean(),command:r}),Z={"runtime.observe":V,"runtime.started":H,scan:{request:l.object({targets:l.array(se).optional()}),response:l.object({results:l.array(oe)})},"session.account.observe":re,"account.observe":ae,"account.activate":{request:l.object({clientId:r,clientAccountId:r,identifiers:l.array(s).min(1),displayLabel:l.string().optional()}),response:l.object({accepted:l.boolean()})},"account.getActive":{request:l.object({clientId:r}),response:l.object({identity:l.object({clientAccountId:r,identifiers:l.array(s).min(1),displayLabel:l.string().optional()}).nullable()})},"usage.ingest":c,"usage.snapshot":ie,"session.started":W,"session.userPrompt.submitted":G,"session.turn.started":K,"session.turn.completed":q,"session.tool.pre":J,"session.tool.post":Y,"wiring.list":{request:l.object({clientId:r.optional(),projectDir:a.optional(),makaioCommand:r}),response:l.object({results:l.array(l.object({clientId:r,entries:l.array(X)}))})},list:O,install:k,uninstall:A,update:j,setActive:M,"installJob.progress":P,"installJob.completed":I,"version.changed":L,resolveBinary:w,...n,...te,"config.prime":ee},Q=ce(`client`,Z),ue=Q.subjects;function $(e){if(Array.isArray(e)){for(let t of e)$(t);return Object.freeze(e)}if(e&&typeof e==`object`){for(let t of Object.values(e))$(t);return Object.freeze(e)}return e}function de(e){return $(S.parse(e))}export{T as A,f as B,M as C,F as D,L as E,p as F,v as G,h as H,b as I,u as L,w as M,x as N,N as O,S as P,d as R,O as S,j as T,y as U,_ as V,g as W,H as _,U as a,P as b,J as c,G as d,X as f,z as g,R as h,Z as i,C as j,E as k,q as l,V as m,Q as n,W as o,B as p,ue as r,Y as s,de as t,K as u,D as v,A as w,k as x,I as y,m as z};
@@ -1,57 +0,0 @@
1
- import{agents as e}from"./services/session/storage/schema.mjs";import{n as t,t as n}from"./schema-CHp6I33k.mjs";import{i as r,n as i,r as a}from"./namespace-dFBD2ZmS.mjs";import{TurnStorageSubjects as o}from"./services/turn/namespace.mjs";import{SessionStorageSubjects as s}from"./services/session/storage/namespace.mjs";import{n as c}from"./namespace-DBHwyhME.mjs";import{r as l,t as u}from"./provider-context-DC_eq7es.mjs";import{AdapterRuntimeSubjects as d}from"./services/adapter-runtime/namespace.mjs";import{ProviderStorageSubjects as f}from"./services/settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as p}from"./services/execution-target/namespace.mjs";import{MessageStorageSubjects as m}from"./services/session/messages/namespace.mjs";import"./services/session/turns/namespace.mjs";import{ExtractedContextSchema as h}from"./services/compression/schemas.mjs";import{PreferencesSubjects as g}from"./services/preferences/storage-namespace.mjs";import{z as _}from"zod";import{AdapterSubjects as v,AgentResolutionSubjects as y,AgentStatusSchema as b,AgentSubjects as x,MakaioSessionAgentSchema as S,ProviderContextSchema as ee,SessionSubjects as C,TurnInitiatorSchema as w,TurnUsageSchema as te}from"@makaio/framework/contracts";import{defineDialectSchema as ne,getRawSqlExecutor as re,getStorageEngine as ie,resolveSchema as T}from"@makaio/framework/storage/drizzle";import{and as E,asc as D,desc as O,eq as k,gt as ae,inArray as A,lt as oe,sql as se}from"drizzle-orm";import{createStorageNamespaceDefinition as ce}from"@makaio/framework/storage";import{HookAbortError as j}from"@makaio/framework/hooks";import{AdapterRuntimeSubjects as le}from"@makaio/framework/services/adapter-runtime";import{buildProviderContext as ue}from"@makaio/framework/services/provider-context";function de(e,t,n,r){return e.on(i.append,e=>{let{event:i}=e.payload,a=t.get(i.sessionId)??[];if(n.has(i.eventId)){e.setResult({success:!0});return}a.push(i),t.set(i.sessionId,a),n.set(i.eventId,r()),e.setResult({success:!0})})}function fe(e,t,n){return e.on(i.getEvents,e=>{let{sessionId:r,options:i}=e.payload,a=t.get(r)??[],o=i?.order??`asc`,s=o===`desc`?[...a].reverse():a,c=0;if(i?.after&&/^\d+$/.test(i.after)){let t=Number(i.after),r=s.findIndex(e=>{let r=n.get(e.eventId)??-1;return o===`desc`?r<t:r>t});if(r===-1){e.setResult({events:[],nextCursor:null,totalCount:a.length});return}c=r}let l=s.slice(c);if(i?.types&&i.types.length>0){let e=new Set(i.types);l=l.filter(t=>e.has(t.type))}let u=i?.limit??100,d=l.length>u,f=l.slice(0,u),p=null;if(d&&f.length>0){let e=f[f.length-1],t=n.get(e.eventId);t!==void 0&&(p=t.toString())}e.setResult({events:f,nextCursor:p,totalCount:a.length})})}function pe(e,t){return e.on(i.getByIds,e=>{let{sessionId:n,eventIds:r}=e.payload,i=t.get(n)??[],a=new Set(r),o=i.filter(e=>a.has(e.eventId));e.setResult({events:o})})}function me(e,t,n){return e.on(i.deleteBySession,e=>{let{sessionId:r}=e.payload,i=t.get(r);if(i)for(let e of i)n.delete(e.eventId);let a=i?.length??0;t.delete(r),e.setResult({success:!0,deletedCount:a})})}function he(e,t){return e.on(i.getEventsBySessions,e=>{let{sessionIds:n,types:r,limitPerSession:i=50}=e.payload;if(n.length===0||r.length===0){e.setResult({eventsBySession:{}});return}let a=new Set(r),o={};for(let e of n){let n=(t.get(e)??[]).filter(e=>a.has(e.type)).reverse().slice(0,i);n.length>0&&(o[e]=n)}e.setResult({eventsBySession:o})})}function ge(e){let t=new Map,n=new Map,r=1,i=[de(e,t,n,()=>r++),fe(e,t,n),pe(e,t),me(e,t,n),he(e,t)];return()=>i.forEach(e=>e())}const _e=r.postgres,ve=ne({sessionEvents:a},{sessionEvents:_e}),ye=[`sessionId`,`agentId`,`adapterId`,`messageId`,`turnId`];function be(e){let t=e.payload,n={};for(let[e,r]of Object.entries(t))ye.includes(e)||(n[e]=r);return n}function M(e){let t=JSON.parse(e.payload),n=e.type===`message`?e.messageId:e.originatingMessageId,r={...t,sessionId:e.sessionId,...e.agentId&&{agentId:e.agentId},...e.adapterId&&{adapterId:e.adapterId},...n&&{messageId:n},...e.type===`message`?{turnId:e.turnId??null}:e.turnId&&{turnId:e.turnId}};return{sessionId:e.sessionId,eventId:e.eventId,timestamp:e.timestamp,type:e.type,payload:r}}function xe(e){switch(e.type){case`user_message.sent`:{let t=e.payload.content;return typeof t==`string`?t:(Array.isArray(t.blocks)?t.blocks:[t.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
2
- `)}case`agent.added`:case`user_message.acknowledged`:case`user_message.completed`:case`turn.started`:case`turn.completed`:case`message`:case`branch.created`:case`branch.merged`:case`squash`:return null;default:return Se(e.payload)}}function Se(e){let t=e.contentText;if(typeof t==`string`&&t.length>0)return t;let n=e.summary;return typeof n==`string`&&n.length>0?n:null}function Ce({bus:e,db:t,sessionEvents:n}){return e.on(i.append,async e=>{let{event:r}=e.payload,i=`payload`in r&&`agentId`in r.payload?r.payload.agentId:null,a=`payload`in r&&`adapterId`in r.payload?r.payload.adapterId:null,o=`payload`in r&&`turnId`in r.payload?r.payload.turnId:null,s=`payload`in r&&`messageId`in r.payload?r.payload.messageId:null,c=r.type===`message`?s:null,l=r.type===`message`?null:s,u={sessionId:r.sessionId,eventId:r.eventId,timestamp:r.timestamp,type:r.type,agentId:i,adapterId:a,messageId:c,originatingMessageId:l,turnId:o,contentText:xe(r),payload:JSON.stringify(be(r))};await t.insert(n).values(u).onConflictDoNothing(),e.setResult({success:!0})})}function we({bus:e,db:t,sessionEvents:n}){return e.on(i.getEvents,async e=>{let{sessionId:r,options:i}=e.payload,a=[k(n.sessionId,r)],o=i?.order??`asc`;if(i?.after){let e=parseInt(i.after,10);!isNaN(e)&&e>0&&(o===`desc`?a.push(oe(n.id,e)):a.push(ae(n.id,e)))}i?.types&&i.types.length>0&&a.push(A(n.type,i.types));let s=i?.limit??100,c=o===`desc`?O:D,l=await t.select().from(n).where(E(...a)).orderBy(c(n.id)).limit(s+1),u=l.length>s,d=u?l.slice(0,s):l,f=d.map(M),p=u&&d.length>0?d[d.length-1].id.toString():null;e.setResult({events:f,nextCursor:p})})}function Te({bus:e,db:t,sessionEvents:n}){return e.on(i.getByIds,async e=>{let{sessionId:r,eventIds:i}=e.payload,a=(await t.select().from(n).where(E(k(n.sessionId,r),A(n.eventId,i))).orderBy(D(n.timestamp))).map(M);e.setResult({events:a})})}function Ee({bus:e,db:t,sessionEvents:n}){return e.on(i.deleteBySession,async e=>{let{sessionId:r}=e.payload,i=(await t.select().from(n).where(k(n.sessionId,r))).length;await t.delete(n).where(k(n.sessionId,r)),e.setResult({success:!0,deletedCount:i})})}function De({bus:e,db:t,sessionEvents:n}){return e.on(i.getEventsBySessions,async e=>{let{sessionIds:r,types:i,limitPerSession:a=50}=e.payload;if(r.length===0||i.length===0){e.setResult({eventsBySession:{}});return}let o={};for(let e of r){let r=await t.select().from(n).where(E(k(n.sessionId,e),A(n.type,i))).orderBy(O(n.timestamp)).limit(a);r.length>0&&(o[e]=r.map(M))}e.setResult({eventsBySession:o})})}function Oe(e,t){let{sessionEvents:n}=T(t,ve),r={bus:e,db:t,sessionEvents:n},i=[Ce(r),we(r),Te(r),Ee(r),De(r)];return()=>i.forEach(e=>e())}async function N(e,t,n){let r={sessionId:t.sessionId,eventId:t.eventId??crypto.randomUUID(),timestamp:t.timestamp??Date.now(),type:t.type,payload:t.payload},a=n?n(r):r;a&&await e.requestOptional(i.append,{event:a})}async function P(e,t){await N(e,{type:`turn.started`,sessionId:t.sessionId,payload:t}),await e.emit(C.turn.started,t)}function ke(e,t){let n=[e.on(C.agent.added,async n=>{await Ae(e,{type:`agent.added`,sessionId:n.payload.sessionId,payload:n.payload},t)}),e.on(C.branch.created,async n=>{await Ae(e,{type:`branch.created`,sessionId:n.payload.sessionId,payload:n.payload},t)})];return()=>{for(let e of n)e()}}async function Ae(e,t,n){try{await N(e,t,n)}catch(e){console.warn(`[session-lifecycle-events] Failed to persist subscription lifecycle event`,{type:t.type,sessionId:t.sessionId,error:e instanceof Error?e.message:String(e)})}}const F=ce(`agent`,{schemas:{get:{request:_.object({agentId:_.string()}),response:_.object({agent:S.nullable()})},set:{request:_.object({agentId:_.string(),agent:S}),response:_.object({success:_.boolean()})},delete:{request:_.object({agentId:_.string()}),response:_.object({success:_.boolean()})},listByAdapter:{request:_.object({adapterName:_.string(),status:_.enum([`idle`,`active`,`dead`,`disposed`,`all`]).optional()}),response:_.object({agents:_.array(S)})},listBySession:{request:_.object({sessionId:_.string()}),response:_.object({agents:_.array(S)})},updateStatus:{request:_.object({agentId:_.string(),status:b}),response:_.object({success:_.boolean()})},updateActivity:{request:_.object({agentId:_.string(),lastActivityAt:_.number()}),response:_.object({success:_.boolean()})},updateRuntime:{request:_.object({agentId:_.string(),adapterId:_.string().optional(),cwd:_.string().optional(),model:_.string().optional(),allowedDirectories:_.array(_.string()).optional(),providerConfigId:_.string().optional()}).refine(e=>e.adapterId!==void 0||e.cwd!==void 0||e.model!==void 0||e.allowedDirectories!==void 0||e.providerConfigId!==void 0,{message:`At least one runtime field (adapterId, cwd, model, allowedDirectories, or providerConfigId) must be provided`}),response:_.object({success:_.boolean()})}},extensions:{drizzle:{agents:e}}}),I=F.subjects;async function L(e,t,n){let{adapterId:r}=await e.request(d.resolveId,{adapterName:t,...n!==void 0&&{machineId:n}});return r}async function je(e,t,n){if(!(!t||!n))try{let{config:r}=await e.request(c.getProviderConfig,{id:t});if(!r)return;let{provider:i}=await e.request(f.get,{id:r.definitionId}),a=i?.availableModels?.find(e=>e.name===n);return a?{supportedReasoningLevels:a.supportedReasoningLevels}:void 0}catch{return}}async function Me(e,t){let{executionTarget:n}=await e.request(p.resolve,t);return n}async function Ne(e,t){let{sessionId:n,limit:r}=t,a=[],o=!1,s=!1,c;do{let{events:t,nextCursor:l}=await e.request(i.getEvents,{sessionId:n,options:{limit:1e4,...c&&{after:c}}});for(let i of t){if(i.type===`squash`){o=!0,a.length=0;let e=i.payload,t={messageId:`squash-${i.eventId}`,sessionId:n,turnId:null,role:`assistant`,contentText:e.summaryJson,blocks:[{type:`text`,content:e.summaryJson}],timestamp:i.timestamp};a.push(t)}else if(i.type===`message`){let t=i.payload,{message:n}=await e.request(m.get,{messageId:t.messageId});n&&a.push(n)}if(r&&a.length>=r){s=!0;break}}if(r&&a.length>=r)break;c=l??void 0}while(c);return{messages:a,hasSquashBoundary:o,sessionChain:[n],truncated:s,incomplete:!1}}const R=new class{actions=new Map;register(e){if(this.actions.has(e.id))throw Error(`Action already registered: ${e.id}`);this.actions.set(e.id,e)}get(e){return this.actions.get(e)}getAll(){return Array.from(this.actions.values())}getByCategory(e){return this.getAll().filter(t=>t.category===e)}reset(){this.actions.clear()}};async function z(e,t,n){let r=e,i,a;for(let e of t){let t=R.get(e.actionId);if(!t)throw Error(`Unknown action: ${e.actionId}`);let o={...n,...e.options},s=await t.execute(r,o);if(s.kind===`messages`)r=s.messages;else{i=s.json,a=s.tokenEstimate,r=[];break}}if(!i&&r.length>0){let e=r.reduce((e,t)=>e+JSON.stringify(t.blocks).length,0);a=Math.ceil(e/4)}return{messages:r,contextJson:i,tokenEstimate:a}}function Pe(e){return e.map(e=>({...e,blocks:e.blocks.filter(e=>e.type!==`reasoning`)}))}const Fe={id:`strip-reasoning`,label:`Strip Reasoning`,description:`Remove reasoning/thinking blocks from messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Pe(e)}}};function Ie(e){return e.map(e=>({...e,blocks:e.blocks.map(e=>{if(e.type===`tool_output`){let t=e.output.length;return{...e,output:`[output removed - ${t} chars]`}}return e})}))}const Le={id:`strip-tool-outputs`,label:`Strip Tool Outputs`,description:`Remove tool output contents, keep structure`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Ie(e)}}};async function B(e,t){let n=[],r=[],i=[],a=!1,o=!1,c=!1,l=[],u,d=t,f;for(;d;){let n=await e.request(s.get,{sessionId:d});if(!n.session){c=!0;break}d===t&&(u=n.session.forkTransforms??void 0),l.unshift({sessionId:d,forkPointMessageId:n.session.forkPointMessageId??void 0}),f=n.session.parentSessionId??void 0,d=f}for(let t=0;t<l.length;t++){let{sessionId:s}=l[t],c=t===l.length-1,u=l[t+1]?.forkPointMessageId;n.push(s);let d=await Ne(e,{sessionId:s});if(d.hasSquashBoundary&&(a=!0,c||(r.length=0)),d.truncated&&(o=!0),c)i=d.messages;else for(let e of d.messages)if(r.push(e),u&&e.messageId===u)break}return u&&(r=await Re(r,u)),{messages:[...r,...i],hasSquashBoundary:a,sessionChain:n,truncated:o,incomplete:c}}async function Re(e,t){if(t.segments?.length){let n=t.segments[0].fromMessageId,r=t.segments[t.segments.length-1].toMessageId,i=e.findIndex(e=>e.messageId===n),a=e.findIndex(e=>e.messageId===r);if(i===-1||a===-1||i>a)return V(e,t.segments);let o=e.slice(0,i),s=e.slice(i,a+1),c=e.slice(a+1),l=V(s,t.segments);return[...o,...l,...c]}let n=e;if(t.removedMessageIds?.length){let e=new Set(t.removedMessageIds);n=n.filter(t=>!e.has(t.messageId))}return t.appliedPipeline?.length&&(n=(await z(n,t.appliedPipeline)).messages),n}function ze(e,t){let n=e;return t.stripReasoning&&(n=Pe(n)),t.stripToolOutputs&&(n=Ie(n)),n}function V(e,t){let n=new Map;for(let t=0;t<e.length;t++)n.set(e[t].messageId,t);let r=[];for(let i of t){let t=n.get(i.fromMessageId),a=n.get(i.toMessageId);if(t===void 0||a===void 0){console.warn(`[getFullConversation] Skipping segment with missing boundary IDs`,{segmentKey:`${i.fromMessageId}..${i.toMessageId}`,fromMessageId:i.fromMessageId,toMessageId:i.toMessageId,hasFrom:t!==void 0,hasTo:a!==void 0});continue}let o=e.slice(t,a+1),s;switch(i.policy){case`exclude`:s=[];break;case`summarize`:if(i.summaryText){if(o.length===0)throw Error(`Cannot create synthetic summary message for empty segment: ${i.fromMessageId}..${i.toMessageId}`);s=[{messageId:`summary-${i.fromMessageId}-${i.toMessageId}`,turnId:null,sessionId:o[0].sessionId,role:`assistant`,contentText:i.summaryText,blocks:[{type:`text`,content:i.summaryText}],timestamp:o[o.length-1].timestamp}]}else s=o;break;default:s=o;break}if((i.policy!==`summarize`||!i.summaryText)&&i.overrides&&Object.keys(i.overrides).length>0){let e=new Set(Object.entries(i.overrides).filter(([,e])=>e===`exclude`).map(([e])=>e));s=s.filter(t=>!e.has(t.messageId))}s=ze(s,i),r.push(...s)}return r}function H(e){return{role:e.role,blocks:e.blocks}}async function Be(e,t){return{messageHistory:(await B(e,t.sessionId)).messages.map(H),isFirstTurn:!0}}async function Ve(e,t,n,r){if(t.cwd===n)return{swapped:!1};let i=await e.request(x.cwd.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,sessionId:t.sessionId,newCwd:n,...r?.skipWarning?{skipWarning:!0}:{}});if(!i.success)throw Error(`Failed to change cwd for agent ${t.agentId}: ${i.reason??`unknown`}`);return i.previousCwd?(t.cwd=n,{swapped:!0,previousCwd:i.previousCwd}):(t.cwd=n,{swapped:!1})}async function He(e,t,n,r){let i=n===void 0||t.model===n,a=r?.reasoningEffort===void 0,o=!r?.providerConfigId;if(i&&a&&o)return{changed:!1};let s=r?.providerConfigId?await l(e,r.providerConfigId):void 0,c=await e.request(x.model.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,...n!==void 0&&{newModel:n},...r?.reasoningEffort!==void 0&&{reasoningEffort:r.reasoningEffort},...r?.skipWarning!==void 0&&{skipWarning:r.skipWarning},...s!==void 0&&{providerContext:s}});if(!c.success)throw Error(`Failed to change model for agent ${t.agentId}: ${c.reason??`unknown`}`);return n!==void 0&&(t.model=n),{changed:!0,swapped:c.swapped??!1}}async function Ue(e,t,n){let r=[],i=new Set;for(let a of t){let t=await e.requestOptional(v.getAgent,{adapterId:a.adapterId,agentId:a.agentId});if(t.handled&&t.data.agent!==null)r.push(a);else{let t=await U(e,a,n);r.push(t),i.add(t.agentId)}}return{verifiedAgents:r,recoveredAgentIds:i}}async function We(e,t,n){let r=await B(e,t.sessionId),i=n?.pipeline??[];return{messageHistory:(i.length>0?(await z(r.messages,i)).messages:r.messages).map(H),isFirstTurn:!0}}async function U(e,t,n){let r=await L(e,t.adapterName).catch(()=>t.adapterId);return await e.request(v.rehydrateAgent,{adapterId:r,agentId:t.agentId,cwd:n.cwd,model:n.model??t.model,...t.adapterSessionId!==void 0&&{adapterSessionId:t.adapterSessionId}}),t.adapterId=r,t}const Ge=t.postgres,W=ne({turns:n},{turns:Ge});async function G(e,t){let n=ie(e.dialect);for(let r=1;;r++)try{await e.run(t());return}catch(e){if(r>=32||!n.capabilities.maxCounterAssignmentRaces||!n.errors.isUniqueViolationError(e,`uniq_turns_session_number`))throw e}}function Ke(e){if(e)try{let t=JSON.parse(e),n=te.safeParse(t);return n.success?n.data:void 0}catch{return}}function K(e){return e?JSON.stringify(e):null}function qe(e){if(e)try{let t=JSON.parse(e),n=w.safeParse(t);return n.success?n.data:void 0}catch{return}}function q(e){let t=qe(e.initiator);return{turnId:e.turnId,sessionId:e.sessionId,turnNumber:e.turnNumber,startedAt:e.startedAt,completedAt:e.completedAt??void 0,status:e.status,error:e.error??void 0,usage:Ke(e.usage),...t!==void 0&&{initiator:t}}}function Je(e,t){let n=[Ye(e,t),Xe(e,t),Ze(e,t),Qe(e,t),$e(e,t),et(e,t),tt(e,t),nt(e,t)];return()=>n.forEach(e=>e())}function Ye(e,t){let n=re(t),{turns:r}=T(t,W);return e.on(o.create,async e=>{let{sessionId:i,turnId:a,initiator:o}=e.payload,s=Date.now(),c=a??crypto.randomUUID(),l=K(o);await G(n,()=>se`
3
- WITH next_num AS (
4
- SELECT COALESCE(MAX(turn_number), 0) + 1 AS n
5
- FROM turns
6
- WHERE session_id = ${i}
7
- )
8
- INSERT INTO turns (turn_id, session_id, turn_number, started_at, status, initiator)
9
- SELECT ${c}, ${i}, n, ${s}, ${`active`}, ${l}
10
- FROM next_num
11
- `);let[u]=await t.select({turnNumber:r.turnNumber}).from(r).where(k(r.turnId,c)),d={turnId:c,sessionId:i,turnNumber:u.turnNumber,startedAt:s,status:`active`,...o!==void 0&&{initiator:o}};e.setResult({turn:d})})}function Xe(e,t){let n=re(t),{turns:r}=T(t,W);return e.on(o.ingestCompleted,async e=>{let{sessionId:i,turnAnchorId:a,startedAt:o,completedAt:s,status:c,error:l,usage:u,initiator:d}=e.payload,f=crypto.randomUUID(),p=K(d),m=u===void 0?null:JSON.stringify(u);await G(n,()=>se`
12
- WITH next_num AS (
13
- SELECT COALESCE(MAX(turn_number), 0) + 1 AS n
14
- FROM turns
15
- WHERE session_id = ${i}
16
- )
17
- INSERT INTO turns (turn_id, session_id, turn_number, started_at, completed_at, status, error, usage, initiator, turn_anchor_id)
18
- SELECT ${f}, ${i}, n, ${o}, ${s}, ${c}, ${l??null}, ${m}, ${p}, ${a}
19
- FROM next_num
20
- WHERE true
21
- ON CONFLICT(session_id, turn_anchor_id) DO UPDATE SET
22
- completed_at = excluded.completed_at,
23
- status = excluded.status,
24
- error = excluded.error,
25
- usage = excluded.usage
26
- `);let[h]=await t.select().from(r).where(E(k(r.sessionId,i),k(r.turnAnchorId,a))).limit(1);e.setResult({turn:q(h),created:h.turnId===f})})}function Ze(e,t){let{turns:n}=T(t,W);return e.on(o.complete,async e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c={completedAt:Date.now(),status:i,error:o??null};s!==void 0&&(c.usage=JSON.stringify(s));let l=a?E(k(n.turnId,r),k(n.status,a)):k(n.turnId,r),u=await t.update(n).set(c).where(l).returning();if(u.length>0){e.setResult({turn:q(u[0]),transitioned:!0});return}let[d]=await t.select().from(n).where(k(n.turnId,r)).limit(1);if(!d)throw Error(`Turn not found: ${r}`);e.setResult({turn:q(d),transitioned:!1})})}function Qe(e,t){let{turns:n}=T(t,W);return e.on(o.set,async e=>{let{turn:r}=e.payload,i={turnId:r.turnId,sessionId:r.sessionId,turnNumber:r.turnNumber,startedAt:r.startedAt,completedAt:r.completedAt??null,status:r.status,error:r.error??null,usage:r.usage?JSON.stringify(r.usage):null,initiator:K(r.initiator)};await t.insert(n).values(i).onConflictDoUpdate({target:n.turnId,set:i}),e.setResult({turn:r})})}function $e(e,t){let{turns:n}=T(t,W);return e.on(o.get,async e=>{let{turnId:r}=e.payload,[i]=await t.select().from(n).where(k(n.turnId,r)).limit(1);e.setResult({turn:i?q(i):null})})}function et(e,t){let{turns:n}=T(t,W);return e.on(o.getBySession,async e=>{let{sessionId:r,limit:i,status:a}=e.payload,o=t.select().from(n).where(k(n.sessionId,r)).orderBy(D(n.turnNumber));a&&(o=t.select().from(n).where(E(k(n.sessionId,r),k(n.status,a))).orderBy(D(n.turnNumber))),i&&(o=o.limit(i));let s=await o;e.setResult({turns:s.map(q)})})}function tt(e,t){let{turns:n}=T(t,W);return e.on(o.getActive,async e=>{let{sessionId:r}=e.payload,[i]=await t.select().from(n).where(E(k(n.sessionId,r),k(n.status,`active`))).orderBy(O(n.turnNumber)).limit(1);e.setResult({turn:i?q(i):null})})}function nt(e,t){let{turns:n}=T(t,W);return e.on(o.listActive,async e=>{let r=await t.select().from(n).where(k(n.status,`active`)).orderBy(D(n.startedAt));e.setResult({turns:r.map(q)})})}function rt(e){let t=new Map,n=new Map,r=new Map,i=it(t,n,r),a=new Map,o=[at(e,i,r),ot(e,t,i,r,a),st(e,t,i),ct(e,i),lt(e,t),ut(e,t,n),dt(e,t,n),ft(e,t)];return()=>o.forEach(e=>e())}function it(e,t,n){return r=>{e.set(r.turnId,r);let i=t.get(r.sessionId)??[];i.includes(r.turnId)||i.push(r.turnId),t.set(r.sessionId,i);let a=n.get(r.sessionId)??0;r.turnNumber>a&&n.set(r.sessionId,r.turnNumber)}}function at(e,t,n){return e.on(o.create,e=>{let{sessionId:r,turnId:i,initiator:a}=e.payload,o=Date.now(),s={turnId:i??crypto.randomUUID(),sessionId:r,turnNumber:(n.get(r)??0)+1,startedAt:o,status:`active`,...a!==void 0&&{initiator:a}};t(s),e.setResult({turn:s})})}function ot(e,t,n,r,i){return e.on(o.ingestCompleted,e=>{let{sessionId:a,turnAnchorId:o,startedAt:s,completedAt:c,status:l,error:u,usage:d,initiator:f}=e.payload,p=i.get(a)??new Map,m=p.get(o);if(m!==void 0){let r=t.get(m);if(!r)throw Error(`Turn not found for anchor in session: ${a}`);let i={...r,completedAt:c,status:l,error:u??void 0,usage:d??void 0};n(i),e.setResult({turn:i,created:!1});return}let h={turnId:crypto.randomUUID(),sessionId:a,turnNumber:(r.get(a)??0)+1,startedAt:s,completedAt:c,status:l,error:u??void 0,usage:d??void 0,...f!==void 0&&{initiator:f}};n(h),p.set(o,h.turnId),i.set(a,p),e.setResult({turn:h,created:!0})})}function st(e,t,n){return e.on(o.complete,e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c=t.get(r);if(!c)throw Error(`Turn not found: ${r}`);if(a&&c.status!==a){e.setResult({turn:c,transitioned:!1});return}let l={...c,completedAt:Date.now(),status:i,error:o??void 0,usage:s??c.usage};n(l),e.setResult({turn:l,transitioned:!0})})}function ct(e,t){return e.on(o.set,e=>{let{turn:n}=e.payload;t(n),e.setResult({turn:n})})}function lt(e,t){return e.on(o.get,e=>{e.setResult({turn:t.get(e.payload.turnId)??null})})}function ut(e,t,n){return e.on(o.getBySession,e=>{let{sessionId:r,status:i,limit:a}=e.payload,o=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e);i&&(o=o.filter(e=>e.status===i)),o.sort((e,t)=>e.turnNumber-t.turnNumber),a&&(o=o.slice(0,a)),e.setResult({turns:o})})}function dt(e,t,n){return e.on(o.getActive,e=>{let{sessionId:r}=e.payload,i=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e).filter(e=>e.status===`active`).sort((e,t)=>t.turnNumber-e.turnNumber).at(0);e.setResult({turn:i??null})})}function ft(e,t){return e.on(o.listActive,e=>{let n=[...t.values()].filter(e=>e.status===`active`).sort((e,t)=>e.startedAt-t.startedAt);e.setResult({turns:n})})}function pt(e){return{source:e.source,...e.sourceId!==void 0&&{sourceId:e.sourceId}}}var mt=class{turnId;sessionId;turnNumber;startedAt;_initiator;_agentIds;_messageIds=[];_completedAgents=new Set;_erroredAgents=new Map;constructor(e){if(!Number.isInteger(e.turnNumber)||e.turnNumber<1)throw Error(`turnNumber must be a positive integer`);this.turnId=e.turnId??crypto.randomUUID(),this.sessionId=e.sessionId,this.turnNumber=e.turnNumber,this.startedAt=e.startedAt??Date.now(),this._initiator=Object.freeze(pt(e.initiator??{source:`user`})),this._agentIds=Object.freeze([...e.agentIds])}get agentIds(){return this._agentIds}get initiator(){return pt(this._initiator)}get messageIds(){return this._messageIds}get completedAgents(){return this._completedAgents}get erroredAgents(){return this._erroredAgents}addMessage(e){this._messageIds.push(e)}markAgentCompleted(e){return this._completedAgents.add(e),this.checkCompletion()}markAgentErrored(e,t){return this._erroredAgents.set(e,t),this.checkCompletion()}hasAgent(e){return this._agentIds.includes(e)}isComplete(){return this._completedAgents.size+this._erroredAgents.size>=this._agentIds.length}getResult(){return{success:this._erroredAgents.size===0,errors:Array.from(this._erroredAgents.values())}}getContext(){if(this._messageIds.length===0)throw Error(`Turn ${this.turnId} has no messages yet`);return{turnId:this.turnId,messageId:this._messageIds[this._messageIds.length-1]}}getContextForMessage(e){return{turnId:this.turnId,messageId:e}}checkCompletion(){return this.isComplete()?{turnComplete:!0,result:this.getResult()}:{turnComplete:!1}}};function J(e){return typeof e==`string`?e:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
27
- `)}function ht(e){return e}function gt(e){return typeof e==`string`?[{type:`text`,content:e}]:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).map(ht)}async function _t(e,t,n,r){let{session:i}=await e.request(C.get,{sessionId:t});if(i){if(i.status!==`active`)throw Error(`[getOrCreateSession] Session is not active: ${t}`);return{sessionId:t,session:i}}await e.request(C.create,{sessionId:t,originWindowId:r});let{session:a}=await e.request(C.get,{sessionId:t});if(!a)throw Error(`[getOrCreateSession] Failed to create session: ${t}`);return{sessionId:t,session:a}}function vt(e,t){if(t===void 0){let t=e.agents.find(t=>t.agentId===e.leadAgentId);if(!t)throw Error(`[resolveTargetAgents] Lead agent not found: ${e.leadAgentId}`);return[t]}if(t===`all`)return e.agents;let n=new Set(t);return e.agents.filter(e=>n.has(e.agentId))}function yt(e,t){for(let n of e.values())if(n.hasAgent(t))return n}function bt(e,t){if(e===`extension`){let e=t?.trim();if(!e)throw Error(`extensionId is required when source is "extension"`);return{source:`extension`,sourceId:e}}return e?{source:e}:{source:`user`}}function Y(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function xt(e,t,n,r){let{adapterName:i}=await e.request(d.resolveName,{adapterId:t});if(n&&i!==n)throw Error(`${r}adapterName "${n}" does not match adapterId "${t}"`);return i}async function St(e,t,n,r){if(r!==void 0&&t!==void 0&&t!==r.providerConfigId)throw Error(`[attach-handler] providerConfigId '${t}' does not match resolved provider context '${r.providerConfigId}'`);let i=t??r?.providerConfigId??n?.providerConfigId;return r===void 0?{providerConfigId:i,providerContext:i===void 0?void 0:await l(e,i)}:{providerConfigId:i,providerContext:r}}async function Ct(e,t,n,r,i,a,o){try{return await wt(e,t,r,i,a,o)}catch(t){throw console.error(`[attach-handler] Failed to set up initial-message turn, rolling back started agent`,{sessionId:r,agentId:i,adapterId:n.adapterId,error:t}),await X(e,n,r,`initial-message turn setup failure`),t}}async function X(e,t,n,r){try{await e.request(v.stopAgent,{adapterId:t.adapterId,agentId:t.agentId})}catch(e){console.error(`[attach-handler] Failed to rollback started agent after ${r}`,{sessionId:n,agentId:t.agentId,adapterId:t.adapterId,error:e})}}async function wt(e,t,n,r,i,a){let{turn:s}=await e.request(o.create,{sessionId:n}),c=new mt({sessionId:n,agentIds:[r],turnId:s.turnId,turnNumber:s.turnNumber});try{await e.requestOptional(m.append,{message:{messageId:i,turnId:c.turnId,sessionId:n,role:`user`,contentText:J(a),blocks:gt(a),timestamp:Date.now()}})}catch(t){console.warn(`[attach-handler] Failed to store initial user message`,{sessionId:n,messageId:i,error:t instanceof Error?t.message:String(t)});try{await e.requestOptional(o.complete,{turnId:c.turnId,status:`error`,expectedStatus:`active`,error:`initial-message-persistence-failed`})}catch(e){console.error(`[attach-handler] Failed to rollback initial-message turn after message persistence failure`,{sessionId:n,turnId:c.turnId,error:e})}throw t}c.addMessage(i),t.set(n,c);try{await Tt(e,n,c,r,i,a)}catch(e){throw t.get(n)?.turnId===c.turnId&&t.delete(n),e}return{messageId:i,turnId:c.turnId}}async function Tt(e,t,n,r,i,a){await P(e,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:i,agentIds:[...n.agentIds],ingestionMarker:`live`}),await e.emit(C.user_message.sent,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:i,content:a,agentIds:[...n.agentIds]}),await e.emit(C.user_message.acknowledged,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:i,agentId:r})}function Et(e){return{...e.model!==void 0&&{model:e.model},...e.reasoningEffort!==void 0&&{reasoningEffort:e.reasoningEffort},...e.cwd!==void 0&&{cwd:e.cwd},...e.allowedTools!==void 0&&{allowedTools:e.allowedTools},...e.disallowedTools!==void 0&&{disallowedTools:e.disallowedTools},...e.allowedDirectories!==void 0&&{allowedDirectories:e.allowedDirectories},...e.env!==void 0&&{env:e.env},...e.mcpSessionContext!==void 0&&{mcpSessionContext:e.mcpSessionContext},...e.adapterConfig!==void 0&&{adapterConfig:e.adapterConfig},...e.systemPrompt!==void 0&&{systemPrompt:e.systemPrompt}}}function Dt(e,t,n){let r=e.model??t?.model,i=e.cwd;return{runtimeOptions:Ot({model:r,reasoningEffort:e.reasoningEffort??t?.reasoningEffort,cwd:i,allowedTools:e.allowedTools??t?.allowedTools,disallowedTools:e.disallowedTools??t?.disallowedTools,allowedDirectories:e.allowedDirectories??t?.allowedDirectories,env:e.env,mcpSessionContext:e.mcpSessionContext,adapterConfig:e.adapterConfig,systemPrompt:e.systemPrompt??t?.systemPrompt,providerContext:n}),mergedModel:r,mergedCwd:i}}function Ot(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function kt(e,t,n){let r=e.on(C.agent.attach,async r=>{r.setResult(await At(e,t,n,r.payload))}),i=e.on(C.agent.attachResolved,async r=>{if(!r.origin.local)throw Error(`[attach-handler] session.agent.attachResolved requires a local-origin request`);r.setResult(await At(e,t,n,{...r.payload,resolvedProviderContext:r.payload.agent.providerContext===void 0?void 0:ee.parse(r.payload.agent.providerContext)}))});return()=>{r(),i()}}async function At(e,t,n,r){let{sessionId:i,agent:a,initialMessage:o,role:s,resolvedProviderContext:c}=r,l=Et(a),d=await Ft(e,i),f=await Pt(e,i,o,a),p=Mt(a,f),{adapterName:m,adapterId:h}=await Nt(e,p.adapterName,p.adapterId,n),{providerConfigId:g,providerContext:_}=await St(e,a.providerConfigId,f,c),{runtimeOptions:y,mergedModel:b,mergedCwd:x}=Dt(l,f,_),S=It(d,s),ee=Rt(h,i,o,S,y,Lt(d),f?.harnessId);_!==void 0&&await u(e,_);let C=await e.request(v.startAgent,ee);if(!C.success)throw Error(`[attach-handler] Failed to start agent: ${C.message}`);await Bt(e,C,{adapterName:m,sessionId:i,role:S,timestamp:Date.now(),personaId:jt(a),profileId:f?.profileId,harnessId:f?.harnessId,providerConfigId:g,compressionMode:f?.compressionMode,model:b,cwd:x});let w=o&&C.messageId?await Ct(e,t,C,i,C.agentId,C.messageId,o):void 0;return{agentId:C.agentId,adapterSessionId:C.adapterSessionId,role:S,...w&&{messageId:w.messageId,turnId:w.turnId}}}function jt(e){return e.kind===`persona`?e.personaId:void 0}function Mt(e,t){return{adapterName:e.kind===`adapter`&&`adapterName`in e?e.adapterName:t?.adapterName,adapterId:e.kind===`adapter`&&`adapterId`in e?e.adapterId:void 0}}async function Nt(e,t,n,r){let i=Y(t),a=Y(n);if(!i&&!a)throw Error(`[attach-handler] adapterName or adapterId is required — provide one explicitly or via persona/profile/virtualModel resolution`);if(a)return{adapterName:await xt(e,a,i,`[attach-handler] `),adapterId:a};let o=i;return{adapterName:o,adapterId:await L(e,o,r)}}async function Pt(e,t,n,r){if(r.kind===`adapter`)return null;let i=n?J(n):void 0;return e.request(y.resolve,{selection:r,context:{sessionId:t,promptText:i}})}async function Ft(e,t){let{session:n}=await e.request(C.get,{sessionId:t});if(!n)throw Error(`[attach-handler] Session not found: ${t}`);if(n.status!==`active`)throw Error(`[attach-handler] Session is not active: ${t}`);return n}function It(e,t){let n=e.agents.length===0;return t??(n?`lead`:`member`)}function Lt(e){if(e.isImported&&e.isOrchestrated===!1&&e.adapterSessionId)return e.adapterSessionId}function Rt(e,t,n,r,i,a,o){return a?{mode:`resume`,adapterId:e,sessionId:t,adapterSessionId:a,role:r,...i,...n!==void 0&&{initialMessage:n},...o!==void 0&&{harnessId:o}}:{adapterId:e,sessionId:t,role:r,...i,...n!==void 0&&{initialMessage:n},...o!==void 0&&{harnessId:o}}}async function zt(e,t){!t.personaId&&!t.profileId&&!t.harnessId&&!t.providerConfigId||await e.request(I.set,{agentId:t.agentId,agent:{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,sessionId:t.sessionId,role:t.role,status:`idle`,personaId:t.personaId,profileId:t.profileId,harnessId:t.harnessId,providerConfigId:t.providerConfigId,createdAt:t.timestamp,lastActivityAt:t.timestamp,...t.model!==void 0&&{model:t.model},...t.cwd!==void 0&&{cwd:t.cwd},...t.compressionMode!==void 0&&{compressionMode:t.compressionMode}}})}async function Bt(e,t,n){try{await zt(e,{agentId:t.agentId,adapterId:t.adapterId,adapterName:n.adapterName,sessionId:n.sessionId,role:n.role,timestamp:n.timestamp,personaId:n.personaId,profileId:n.profileId,harnessId:n.harnessId,providerConfigId:n.providerConfigId,compressionMode:n.compressionMode,model:n.model,cwd:n.cwd})}catch(r){throw console.error(`[attach-handler] Failed to persist agent identity, rolling back started agent`,{sessionId:n.sessionId,agentId:t.agentId,adapterId:t.adapterId,error:r}),await X(e,t,n.sessionId,`identity persistence failure`),r}}async function Vt(e,t,n,r,i,a,o,s,c,l){let u=n.map(async n=>{try{await e.request(x.sendMessage,{agentId:n.agentId,adapterId:n.adapterId,message:r,deliveryMode:o,messageId:i,turnId:a.turnId,sessionId:t.sessionId,sessionContext:c,...l!==void 0&&{responseSchema:l}}),await e.emit(C.user_message.acknowledged,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId})}catch(t){if(t instanceof j){await e.emit(C.user_message.completed,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId,outcome:`cancelled`});let t=a.markAgentCompleted(n.agentId);t.turnComplete&&await s(a,t.result);return}let r=t instanceof Error?t.message:String(t),o=a.markAgentErrored(n.agentId,r);await e.emit(C.user_message.completed,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId,outcome:`error`,error:r}),o.turnComplete&&await s(a,o.result)}});await Promise.all(u)}function Ht(e){return e.on(C.abandon,async t=>{let{parentSessionId:n,childSessionId:r}=t.payload,{session:i}=await e.request(C.get,{sessionId:r});if(!i)throw Error(`[abandon-handler] Child session not found: ${r}`);if(i.parentSessionId!==n)throw Error(`[abandon-handler] Invalid parent-child relationship: session ${r} is not a child of ${n}`+(i.parentSessionId?` (actual parent: ${i.parentSessionId})`:` (session has no parent)`));if(!(await e.request(C.close,{sessionId:r})).success)throw Error(`[abandon-handler] Failed to close child session: ${r}`);await e.emit(C.abandoned,{sessionId:r,parentSessionId:n}),t.setResult({success:!0})})}const Ut={id:`messages-to-context`,label:`Export as Context`,description:`Convert messages to context JSON (final step)`,category:`extraction`,async execute(e){let t=e.map(e=>({role:e.role,content:e.blocks.map(e=>e.type===`text`?e.content:e.type===`reasoning`?`[reasoning: ${e.content}]`:e.type===`tool_call`?`[tool: ${e.name}]`:e.type===`tool_output`?e.output:``).filter(Boolean).join(`
28
- `)})),n=t.reduce((e,t)=>e+t.content.length,0),r=Math.ceil(n/4);return{kind:`context`,json:{type:`compressed-messages`,messageCount:e.length,messages:t},tokenEstimate:r}}},Wt={id:`llm-summarize`,label:`Summarize`,description:`LLM-generated summary of selected messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:e}}};function Gt(e){let t=[];for(let n of e){let e=n.blocks.filter(e=>e.type===`text`).map(e=>e.content).join(`
29
- `);e&&(n.role===`user`?t.push(`[human]\n${e}\n[/human]`):n.role===`assistant`&&t.push(`[assistant]\n${e}\n[/assistant]`))}return`<conversation>\n${t.join(`
30
-
31
- `)}\n</conversation>`}function Kt(e){return{id:`llm-extract`,label:`LLM Extract`,description:`Extract structured context using a cheap LLM model (requires virtualModelId in options)`,category:`extraction`,async execute(t,n){let r={kind:`messages`,messages:t},i=n?.virtualModelId;if(typeof i!=`string`)return r;let a=(typeof n?.sessionId==`string`&&n.sessionId.length>0?n.sessionId:void 0)??t[0]?.sessionId;if(typeof a!=`string`||a.length===0)return r;try{let n=await e.request(y.resolve,{selection:{kind:`virtual-model`,virtualModelId:i},context:{sessionId:a}}),{adapterId:r}=await e.request(le.resolveId,{adapterName:n.adapterName}),o=Gt(t),s=n.providerConfigId?await ue(e,n.providerConfigId):void 0,{text:c}=await e.request(v.infer,{adapterId:r,prompt:o,model:n.model,systemPrompt:`You are a context extraction assistant. Analyze the following conversation and extract structured information. Respond with ONLY valid JSON matching this exact schema — no markdown, no explanation, no code fences:
32
-
33
- {
34
- "resolved_items": ["string — completed work with resolution details"],
35
- "known_bugs": [{ "issue": "string", "location": "string", "impact": "string" }],
36
- "todos": [{ "issue": "string", "location": "string", "priority": "high|medium|low" }],
37
- "key_decisions_and_rationale": ["string — decision with reasoning"],
38
- "technical_details": {
39
- "files": ["string — file paths mentioned"],
40
- "schemas": {},
41
- "apis": ["string — API endpoints or contracts"],
42
- "config": {}
43
- },
44
- "constraints_and_requirements": ["string — constraints or non-negotiable requirements"],
45
- "current_state": "string — one paragraph summary of where work stands now",
46
- "roadmap": ["string — future work items in priority order"],
47
- "data_flows": ["string — key data movement patterns"],
48
- "component_interactions": { "ComponentName": "string — description of its role" },
49
- "key_files": { "filepath": "string — what this file does" },
50
- "helpful_hint": ["string — quick reference hints for resuming work"]
51
- }
52
-
53
- Rules:
54
- - Omit array items you have no evidence for (prefer empty array over fabrication).
55
- - current_state MUST be present; write "No summary available" if you cannot determine it.
56
- - Extract only facts stated or clearly implied in the conversation. Do not invent.
57
- - key_files and component_interactions should only include items explicitly mentioned.`,...s!==void 0&&{providerContext:s}}),l=c.trim().replace(/^```(?:json)?\s*/i,``).replace(/\s*```$/i,``).trim(),u=JSON.parse(l),d=h.parse(u),f=Math.ceil(JSON.stringify(d).length/4);return{kind:`context`,json:{...d},tokenEstimate:f}}catch(e){return console.warn(`[llm-extract] action failed`,{action:`llm-extract`,sessionId:a,error:e}),r}}}}let Z=!1,Q=!1;function qt(e){Z||(Z=!0,R.register(Fe),R.register(Le),R.register(Ut),R.register(Wt)),e&&!Q&&(Q=!0,R.register(Kt(e)))}function Jt(){Z=!1,Q=!1}function Yt(e){return qt(e),e.on(C.compress,async t=>{let{sessionId:n,pipeline:r}=t.payload,{messages:a}=await e.request(m.getBySession,{sessionId:n,limit:1e4}),o=await z(a,r,{sessionId:n});if(!o.contextJson)throw Error(`[compress-handler] Compress pipeline must produce context JSON (sessionId=${n})`);let s=a.map(e=>e.messageId),c=Math.ceil(a.reduce((e,t)=>e+JSON.stringify(t.blocks).length/4,0)),l=crypto.randomUUID();await e.request(i.append,{event:{sessionId:n,eventId:l,timestamp:Date.now(),type:`squash`,payload:{summaryJson:JSON.stringify(o.contextJson),tokensBefore:c,tokensAfter:o.tokenEstimate,compressedMessageIds:s}}}),await e.emit(C.compressed,{sessionId:n,eventId:l}),t.setResult({eventId:l,contextJson:o.contextJson,tokensBefore:c,tokensAfter:o.tokenEstimate})})}async function Xt(e,t,n,r){if(!n.segments?.length)return!1;let i=[],a;do{let{messages:n,nextCursor:o}=await e.request(m.getBySession,{sessionId:t,order:`asc`,limit:200,after:a});i.push(...n),a=r&&n.some(e=>e.messageId===r)?void 0:o??void 0}while(a);if(i.length===0)throw Error(`[fork-handler] Segment transforms require at least one source message (sourceSessionId=${t})`);let o=i;if(r){let e=i.findIndex(e=>e.messageId===r);if(e===-1)throw Error(`[fork-handler] Fork point message not found in source message list: ${r} (sourceSessionId=${t})`);o=i.slice(0,e+1)}let s=new Map;o.forEach((e,t)=>{s.set(e.messageId,t)});let c=-1;for(let e of n.segments){if(!e.fromMessageId||!e.toMessageId)throw Error(`[fork-handler] Segment must have fromMessageId and toMessageId (sourceSessionId=${t})`);let n=s.get(e.fromMessageId),r=s.get(e.toMessageId);if(n===void 0||r===void 0)throw Error(`[fork-handler] Segment boundaries must reference source messages: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n>r)throw Error(`[fork-handler] Segment range is reversed: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n<=c)throw Error(`[fork-handler] Segments must not overlap and must be ordered (sourceSessionId=${t})`);if(n!==c+1)throw Error(`[fork-handler] Segments must be contiguous without gaps (sourceSessionId=${t})`);c=r}if(c!==o.length-1)throw Error(`[fork-handler] Segments must cover the entire source message range (sourceSessionId=${t})`);return!0}function Zt(e){if(!e.segments?.length&&e.appliedPipeline?.length)for(let t of e.appliedPipeline){let e=R.get(t.actionId);if(!e)throw Error(`[fork-handler] Unknown action in pipeline: ${t.actionId}`);if(e.category!==`transformation`)throw Error(`[fork-handler] Action '${t.actionId}' is category '${e.category}', but only 'transformation' actions are allowed in fork transforms`)}}function Qt(e){return e.on(C.fork,async t=>{let{sourceSessionId:n,fromMessageId:r,name:i,branchKind:a=`fork`,transforms:o,targetWorkingDirectory:s,metadata:c,existingSessionId:l}=t.payload,{session:u}=await e.request(C.get,{sessionId:n});if(!u)throw Error(`[fork-handler] Source session not found: ${n}`);if(r){let{message:t}=await e.request(m.get,{messageId:r});if(!t)throw Error(`[fork-handler] Fork point message not found: ${r} (sourceSessionId=${n})`);if(t.sessionId!==n)throw Error(`[fork-handler] Fork point message ${r} does not belong to session ${n}`)}o&&(await Xt(e,n,o,r)||Zt(o));let{sessionId:d}=await e.request(C.create,{...l?{sessionId:l}:{},parentSessionId:n,forkPointMessageId:r,branchKind:a,forkTransforms:o,...i?{title:i}:{},...s?{targetWorkingDirectory:s}:{},...c?{metadata:c}:{}});await e.emit(C.branch.created,{sessionId:n,childSessionId:d,parentSessionId:n,kind:a,forkPointMessageId:r,transforms:o}),await e.emit(C.forked,{parentSessionId:n,childSessionId:d,forkPoint:r}),t.setResult({sessionId:d})})}function $t(e){return e.on(C.merge,async t=>{let{parentSessionId:n,childSessionId:r,summary:a}=t.payload,o=`merge:${n}:${r}`,{session:s}=await e.request(C.get,{sessionId:n});if(!s)throw Error(`[merge-handler] Parent session not found: ${n}`);if(s.status!==`active`)throw Error(`[merge-handler] Parent session is not active: ${n}`);let{session:c}=await e.request(C.get,{sessionId:r});if(!c)throw Error(`[merge-handler] Child session not found: ${r}`);if(c.parentSessionId!==n)throw Error(`[merge-handler] Invalid parent-child relationship: session ${r} is not a child of ${n}`+(c.parentSessionId?` (actual parent: ${c.parentSessionId})`:` (session has no parent)`));await e.emit(C.merging,{parentSessionId:n,childSessionId:r});let l=a??`Child session ${r} merged.`;if(!(await e.request(C.close,{sessionId:r})).success)throw Error(`[merge-handler] Failed to close child session: ${r}`);let u=JSON.stringify({handoff:l});await e.request(i.append,{event:{sessionId:n,eventId:o,timestamp:Date.now(),type:`branch.merged`,payload:{childSessionId:r,parentSessionId:n,resultJson:u}}}),await e.emit(C.branch.merged,{sessionId:n,childSessionId:r,parentSessionId:n,resultJson:u}),await e.emit(C.merged,{parentSessionId:n,childSessionId:r,handoff:l}),t.setResult({success:!0,handoff:l})})}async function en(e,t,n,r,i){if(!(t.parentSessionId!==void 0&&(t.contextInheritance===`parent-history`||t.contextInheritance===void 0&&t.branchKind!==`subagent`))||r?.messageHistory)return r;let{turns:a}=await e.request(o.getBySession,{sessionId:n,limit:2});if(!(i&&a.length<=1))return r;let s=(await B(e,n)).messages.map(H);return{...r,messageHistory:s,isFirstTurn:!0,hasNewTransforms:t.forkTransforms!==void 0}}const $={enabled:!0,template:`User changed working directory from {oldCwd} to {newCwd}`};function tn(e,t,n){return e.replace(/\{oldCwd\}/g,t).replace(/\{newCwd\}/g,n)}function nn(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.enabled==`boolean`&&typeof t.template==`string`}async function rn(e){try{let t=await e.request(g.get,{key:{scope:`global`,surface:`ui`,context:`cwdChangeNotification`},category:`chat-display`});if(t.value!==null&&t.value!==void 0)return nn(t.value)?t.value:$}catch{}return $}function an(e){let{baseContext:t,recoveryContext:n,isRecovered:r,isSwapped:i,swapMeta:a,cwdMessage:o,freshMessageHistory:s}=e,c=r&&n?{...t,...n}:t;if(!i)return c;let l=a&&o!==void 0?{cwdChange:{previousCwd:a.previousCwd,newCwd:a.newCwd,message:o}}:void 0;return c={...c,hasConnectorSwap:!0,...s!==void 0&&{messageHistory:s},...l&&{turnContext:{...c?.turnContext,...l}}},c}async function on(e){let{bus:t,session:n,turn:r,message:i,messageId:a,deliveryMode:o,onTurnComplete:s,agent:c,agentContext:l,responseSchema:u}=e;try{await t.request(x.sendMessage,{agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,sessionContext:l,...u!==void 0&&{responseSchema:u}}),await t.emit(C.user_message.acknowledged,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId})}catch(e){if(e instanceof j){await t.emit(C.user_message.completed,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId,outcome:`cancelled`});let e=r.markAgentCompleted(c.agentId);e.turnComplete&&await s(r,e.result);return}let n=e instanceof Error?e.message:String(e),i=r.markAgentErrored(c.agentId,n);await t.emit(C.user_message.completed,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId,outcome:`error`,error:n}),i.turnComplete&&await s(r,i.result)}}async function sn(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){let _=await en(e,t,t.sessionId,c,u),v=l?await l.enrichForDeliveryMode(_?.messageHistory,a.turnId,o):_?.messageHistory,y=_?{..._,messageHistory:v}:void 0,b=p?.size?await rn(e):$,x=n.map(async n=>{let c=m?.get(n.agentId),l=c&&b.enabled?tn(b.template,c.previousCwd,c.newCwd):void 0;await on({bus:e,session:t,turn:a,message:r,messageId:i,deliveryMode:o,onTurnComplete:s,agent:n,agentContext:an({baseContext:y,recoveryContext:d,isRecovered:f?.has(n.agentId)??!1,isSwapped:p?.has(n.agentId)??!1,swapMeta:c,cwdMessage:l,freshMessageHistory:h}),responseSchema:g})});await Promise.all(x)}export{Ne as A,ge as B,Ve as C,Be as D,Ue as E,I as F,N as I,P as L,Me as M,je as N,B as O,F as P,ke as R,We as S,U as T,J as _,Yt as a,rt as b,Ht as c,Y as d,xt as f,vt as g,_t as h,Qt as i,L as j,R as k,Vt as l,yt as m,en as n,qt as o,bt as p,$t as r,Jt as s,sn as t,kt as u,gt as v,He as w,Je as x,mt as y,Oe as z};