@makaio/framework 1.0.0-dev-1781081952714 → 1.0.0-dev-1781260968078

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 (194) hide show
  1. package/README.md +29 -0
  2. package/dist/.makaio-build.json +2 -2
  3. package/dist/adapters/acp-client/index.d.mts +4 -4
  4. package/dist/adapters/config/index.d.mts +1 -1
  5. package/dist/adapters/config/index.mjs +1 -1
  6. package/dist/adapters/index.d.mts +1 -1
  7. package/dist/adapters/index.mjs +1 -1
  8. package/dist/adapters/node.mjs +1 -1
  9. package/dist/ajv-BA2z5ztb.mjs +8 -0
  10. package/dist/bus/index.d.mts +19 -19
  11. package/dist/bus/index.mjs +1 -1
  12. package/dist/client-BJVDImPV.d.mts +175 -0
  13. package/dist/clients/index.d.mts +105 -2
  14. package/dist/clients/index.mjs +2 -2
  15. package/dist/contracts/adapter/index.d.mts +2 -2
  16. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  17. package/dist/contracts/artifact/index.d.mts +1 -1
  18. package/dist/contracts/client/index.d.mts +1 -1
  19. package/dist/contracts/extension/index.d.mts +3 -3
  20. package/dist/contracts/extension/index.mjs +1 -1
  21. package/dist/contracts/facet/index.d.mts +1 -1
  22. package/dist/contracts/index.d.mts +741 -228
  23. package/dist/contracts/index.mjs +1 -1
  24. package/dist/contracts/materialization/index.d.mts +3 -3
  25. package/dist/contracts/session/index.d.mts +2 -2
  26. package/dist/{cursor-storage-C_WTAESV.mjs → cursor-storage-CmKjSvKY.mjs} +1 -1
  27. package/dist/{definition-DqJOg6Lv.d.mts → definition-SiimP25_.d.mts} +1 -1
  28. package/dist/{detached-extension-handle-CxEBQnSa.mjs → detached-extension-handle-Diiwgm13.mjs} +1 -1
  29. package/dist/drizzle/0001_messages_content_tsv.na.md +18 -0
  30. package/dist/drizzle/0012_legal_kate_bishop.sql +3 -0
  31. package/dist/drizzle/0013_eager_rhodey.sql +56 -0
  32. package/dist/drizzle/0014_fancy_ultimo.sql +1 -0
  33. package/dist/drizzle/meta/0012_snapshot.json +2934 -0
  34. package/dist/drizzle/meta/0013_snapshot.json +2954 -0
  35. package/dist/drizzle/meta/0014_snapshot.json +2959 -0
  36. package/dist/drizzle/meta/_journal.json +21 -0
  37. package/dist/drizzle-wjquQK2m.mjs +1 -0
  38. package/dist/esm-CQVFKEW5.mjs +1 -0
  39. package/dist/expression/index.d.mts +11 -2
  40. package/dist/expression/index.mjs +4 -4
  41. package/dist/extension-DfNcE0zm.mjs +1 -0
  42. package/dist/extension-ZBN4BGre.mjs +1 -0
  43. package/dist/{filesystem-service-DH9zlxyd.mjs → filesystem-service-BjfrUmGS.mjs} +1 -1
  44. package/dist/git/index.mjs +14 -14
  45. package/dist/{globby-4SrlyIlj.mjs → globby-BIH65cbN.mjs} +1 -1
  46. package/dist/handler-DSfSAlxx.mjs +1 -0
  47. package/dist/handlers-C8EtpSqK.mjs +41 -0
  48. package/dist/{index-BCKRUuI2.d.mts → index-B2xbnMZe.d.mts} +1 -1
  49. package/dist/{index-YDfOv0GT.d.mts → index-BDRKAxIV.d.mts} +160 -7
  50. package/dist/{index-CwKzQuIX.d.mts → index-BQiHs8EF.d.mts} +12 -12
  51. package/dist/{index-BheaEhyI.d.mts → index-BtztOqaF.d.mts} +6 -6
  52. package/dist/{index-BmV60tMf.d.mts → index-BvSyOgTY.d.mts} +1298 -30
  53. package/dist/{index-D6bw4qJp.d.mts → index-CARxIllg.d.mts} +98 -98
  54. package/dist/{index-Bibt5jAX.d.mts → index-CZ_TcT6J.d.mts} +8 -8
  55. package/dist/{index-CNOTkyGw.d.mts → index-Cb64d5c5.d.mts} +307 -383
  56. package/dist/{index-DETxgKS2.d.mts → index-CgjslA5-.d.mts} +88 -15
  57. package/dist/{index-C3zfJg6s.d.mts → index-D5CI1V5d.d.mts} +16 -16
  58. package/dist/{index-jlQ4IhR5.d.mts → index-DDQkhhRo.d.mts} +281 -273
  59. package/dist/{index-Db0uJ_Cg2.d.mts → index-DTdqGAfH2.d.mts} +18 -8
  60. package/dist/{index-Clut1ljB.d.mts → index-Drz_a7kW.d.mts} +1 -1
  61. package/dist/kernel/extension/index.d.mts +1 -1
  62. package/dist/kernel/extension/index.mjs +1 -1
  63. package/dist/kernel/index.d.mts +2 -2
  64. package/dist/kernel/index.mjs +1 -1
  65. package/dist/kernel/observability/index.d.mts +1 -1
  66. package/dist/{lib-B9kVK_1_.mjs → lib-CNOQJtgs.mjs} +1 -1
  67. package/dist/{lib-DPruLs5D.mjs → lib-Cq5R6Tx9.mjs} +19 -22
  68. package/dist/lib-nlcl5kRW.mjs +2 -0
  69. package/dist/{load-extensions-C-TqCwzL.mjs → load-extensions-wELQ4BBN.mjs} +1 -1
  70. package/dist/mcp-http-server/index.mjs +1 -1
  71. package/dist/{namespace-ByyuIFpL.d.mts → namespace-7tsuJhQ9.d.mts} +28 -28
  72. package/dist/{namespace-BlS_i9KT.d.mts → namespace-B73Sxj5L.d.mts} +1 -1
  73. package/dist/{namespace-aBIAWxY3.d.mts → namespace-Ba4bxtHQ.d.mts} +12 -12
  74. package/dist/{namespace-DBKWNrk7.d.mts → namespace-DDCjoQUj.d.mts} +3 -3
  75. package/dist/{namespace-Ds6HkJEU.d.mts → namespace-DRFJN-_z.d.mts} +134 -134
  76. package/dist/namespace-DwE2g8Wm.mjs +1 -0
  77. package/dist/{orchestrator-shared-FnWrPS09.mjs → orchestrator-shared-Dt4WDse7.mjs} +1 -1
  78. package/dist/{out-CvZYgczi.mjs → out-C1JFb2Bp.mjs} +1 -1
  79. package/dist/package-Be2Ez4vv.mjs +1 -0
  80. package/dist/package.json +1 -1
  81. package/dist/primitive-runtime-Xrc9xh6p.mjs +1 -0
  82. package/dist/registry-RG-bkw3c.mjs +146 -0
  83. package/dist/rules/index.mjs +1 -1
  84. package/dist/runtime-bun/index.mjs +1 -1
  85. package/dist/runtime-node/extension-validation.mjs +1 -1
  86. package/dist/runtime-node/index.d.mts +57 -36
  87. package/dist/runtime-node/index.mjs +26 -53
  88. package/dist/runtime-node/makaio-config.mjs +1 -1
  89. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  90. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  91. package/dist/{schema-CDL_pyyM.d.mts → schema-BNrM9LWb.d.mts} +216 -10
  92. package/dist/schema-BerZmr2q.mjs +1 -0
  93. package/dist/schema-BrnYlDwZ.mjs +1 -0
  94. package/dist/{schemas-t1VR6_b_.d.mts → schemas-CkOSG2eJ.d.mts} +3 -3
  95. package/dist/{schemas-Exixg77V2.d.mts → schemas-DAFYpgHk2.d.mts} +12 -12
  96. package/dist/{schemas-on3_N5HP.d.mts → schemas-Dv5FxHDT.d.mts} +134 -134
  97. package/dist/services/agent-runtime/index.d.mts +2 -2
  98. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  99. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  100. package/dist/services/filesystem/index.mjs +1 -1
  101. package/dist/services/filesystem/namespace.d.mts +6 -6
  102. package/dist/services/filesystem/schemas.d.mts +3 -3
  103. package/dist/services/git/namespace.d.mts +2 -2
  104. package/dist/services/git/schemas.d.mts +2 -2
  105. package/dist/services/harness/index.d.mts +29 -17
  106. package/dist/services/harness/index.mjs +1 -1
  107. package/dist/services/harness/storage/schema.d.mts +60 -16
  108. package/dist/services/harness/storage/schema.mjs +1 -1
  109. package/dist/services/index.d.mts +103 -103
  110. package/dist/services/index.mjs +1 -1
  111. package/dist/services/log-import/browser.d.mts +2 -2
  112. package/dist/services/log-import/index.d.mts +7 -12
  113. package/dist/services/log-import/index.mjs +2 -2
  114. package/dist/services/log-import/log-import.d.mts +1 -1
  115. package/dist/services/log-import/namespace.d.mts +2 -2
  116. package/dist/services/log-import/schemas.d.mts +1 -1
  117. package/dist/services/session/handlers/index.mjs +1 -1
  118. package/dist/services/session/index.d.mts +7 -7
  119. package/dist/services/session/index.mjs +1 -1
  120. package/dist/services/session/messages/namespace.d.mts +1 -1
  121. package/dist/services/session/messages/namespace.mjs +1 -1
  122. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  123. package/dist/services/session/session-events/namespace.d.mts +1 -1
  124. package/dist/services/session/session-events/namespace.mjs +1 -1
  125. package/dist/services/session/storage/namespace.d.mts +1 -1
  126. package/dist/services/session/storage/schema.d.mts +2 -2
  127. package/dist/services/session/storage/schema.mjs +1 -1
  128. package/dist/services/session/testing/index.d.mts +18 -2
  129. package/dist/services/session/testing/index.mjs +52 -3
  130. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  131. package/dist/services/session/turns/namespace.d.mts +1 -1
  132. package/dist/services/session/turns/namespace.mjs +1 -1
  133. package/dist/services/settings/namespace.d.mts +12 -12
  134. package/dist/services/subagent-template/index.d.mts +1 -1
  135. package/dist/services/subagent-template/schemas.d.mts +1 -1
  136. package/dist/services/tool-approval/index.mjs +1 -1
  137. package/dist/services/tools/index.mjs +1 -1
  138. package/dist/session-KnewDVxt.mjs +39 -0
  139. package/dist/{session-lineage-CKg6mErA.d.mts → session-lineage-CXzV_hAP.d.mts} +1 -1
  140. package/dist/{src-Dvp41Cg2.mjs → src-CBG3IHUl.mjs} +1 -1
  141. package/dist/storage/drizzle/client.d.mts +2 -78
  142. package/dist/storage/drizzle/client.mjs +1 -1
  143. package/dist/storage/drizzle/columns/postgres.d.mts +88 -0
  144. package/dist/storage/drizzle/columns/postgres.mjs +1 -0
  145. package/dist/storage/drizzle/columns/sqlite.d.mts +81 -0
  146. package/dist/storage/drizzle/columns/sqlite.mjs +1 -0
  147. package/dist/storage/drizzle/index.d.mts +976 -23
  148. package/dist/storage/drizzle/index.mjs +1 -1
  149. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  150. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  151. package/dist/storage/handlers/index.d.mts +1 -1
  152. package/dist/storage/handlers/index.mjs +1 -1
  153. package/dist/style.css +540 -540
  154. package/dist/testing/drizzle-harness.d.mts +52 -6
  155. package/dist/testing/drizzle-harness.mjs +1 -1
  156. package/dist/testing/index.d.mts +34 -2
  157. package/dist/testing/index.mjs +1 -1
  158. package/dist/{tool-approval-service-BgNcJvKx.mjs → tool-approval-service-Cb2F1yT6.mjs} +1 -1
  159. package/dist/tools-D5DVHC-R.mjs +1 -0
  160. package/dist/{types-CmMesAgR.d.mts → types-BMpIa4fx.d.mts} +1 -1
  161. package/dist/{types-D0fPFh-D.d.mts → types-D5IMwOkJ.d.mts} +1 -1
  162. package/dist/{types-DiGqpZOD.d.mts → types-DLVitCZP.d.mts} +195 -195
  163. package/dist/ui-components/index.d.mts +1 -1
  164. package/dist/ui-components/index.mjs +2 -2
  165. package/dist/ui-hooks/index.d.mts +6 -6
  166. package/dist/ui-views/index.mjs +2 -2
  167. package/dist/workflow-engine/index.d.mts +492 -96
  168. package/dist/workflow-engine/index.mjs +1 -1
  169. package/dist/workflow-engine/package.mjs +1 -1
  170. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  171. package/dist/workflow-worker-CK9Sqj7D.mjs +1 -0
  172. package/package.json +40 -1
  173. package/dist/ajv-BJsabpMb.mjs +0 -8
  174. package/dist/drizzle-DpjZFY_j.mjs +0 -1
  175. package/dist/esm-BdLRFEUy.mjs +0 -3
  176. package/dist/extension--5Q190u_.mjs +0 -1
  177. package/dist/extension-DFIZ3FCJ.mjs +0 -1
  178. package/dist/fast-uri-BF2Xuiop.mjs +0 -1
  179. package/dist/handlers-Bev7-xjL.mjs +0 -41
  180. package/dist/lib-aRogYLqg.mjs +0 -5
  181. package/dist/namespace-CDiM5Bcr.mjs +0 -1
  182. package/dist/namespace-h0HIuqx0.mjs +0 -1
  183. package/dist/package-1DS4bXg5.mjs +0 -1
  184. package/dist/primitive-runtime-DcYYWy_6.mjs +0 -8
  185. package/dist/schema-DCJyzRHe.mjs +0 -1
  186. package/dist/schema-DOnJmAPw.mjs +0 -1
  187. package/dist/session-BnfsJoZi.mjs +0 -134
  188. package/dist/tools-DC4KrqI1.mjs +0 -1
  189. package/dist/types-BhXRffJ_.d.mts +0 -31
  190. package/dist/workflow-worker-DvP753UN.mjs +0 -1
  191. /package/dist/{cleanEnvForAdapter-BlpmyXYk.mjs → cleanEnvForAdapter-vZfPGi0X.mjs} +0 -0
  192. /package/dist/{create-static-mount-CFGo91CI.mjs → create-static-mount-BB1MIQ9J.mjs} +0 -0
  193. /package/dist/{jsonl-transport-BxNXizIm.mjs → jsonl-transport-C21tpVfe.mjs} +0 -0
  194. /package/dist/{src-Z3vAZJfw.mjs → src-DedDL9iv.mjs} +0 -0
@@ -1,5 +1,6 @@
1
- import { i as LogImportSettings, t as LogImporterInfo } from "../../index-BCKRUuI2.mjs";
2
- import { a as OrchestratorFactory, i as OrchestratorEntry, n as LogImportServiceInstance, o as LogImportRegistry, r as LogImporterRegistration, t as LogImportRegistryOptions } from "../../types-D0fPFh-D.mjs";
1
+ import { i as LogImportSettings, t as LogImporterInfo } from "../../index-B2xbnMZe.mjs";
2
+ import { a as OrchestratorFactory, i as OrchestratorEntry, n as LogImportServiceInstance, o as LogImportRegistry, r as LogImporterRegistration, t as LogImportRegistryOptions } from "../../types-D5IMwOkJ.mjs";
3
+ import { LogImportNamespace, LogImportSubjects } from "./namespace.mjs";
3
4
  import { IMakaioBus } from "@makaio/framework/bus";
4
5
  import * as _$_makaio_contracts0 from "@makaio/framework/contracts";
5
6
  import { ExtensionContext, MakaioNodeExtension } from "@makaio/framework/contracts";
@@ -160,13 +161,7 @@ declare const ImportPhase: {
160
161
  type ImportPhaseValue = (typeof ImportPhase)[keyof typeof ImportPhase];
161
162
  //#endregion
162
163
  //#region services/log-import/src/storage/schema.d.ts
163
- /**
164
- * Drizzle schema for the `log_import_settings` table.
165
- *
166
- * Stores per-adapter global import mode. One row per adapter — `adapter_name`
167
- * is the primary key. Hosts that need scoped overrides should provide their own
168
- * extended storage subjects and tables.
169
- */
164
+ /** SQLite face of the `log_import_settings` table (canonical schema). */
170
165
  declare const logImportSettings: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
171
166
  name: "log_import_settings";
172
167
  schema: undefined;
@@ -210,7 +205,7 @@ declare const logImportSettings: _$drizzle_orm_sqlite_core0.SQLiteTableWithColum
210
205
  length: number | undefined;
211
206
  }>;
212
207
  createdAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
213
- name: "created_at";
208
+ name: string;
214
209
  tableName: "log_import_settings";
215
210
  dataType: "number";
216
211
  columnType: "SQLiteInteger";
@@ -227,7 +222,7 @@ declare const logImportSettings: _$drizzle_orm_sqlite_core0.SQLiteTableWithColum
227
222
  generated: undefined;
228
223
  }, {}, {}>;
229
224
  updatedAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
230
- name: "updated_at";
225
+ name: string;
231
226
  tableName: "log_import_settings";
232
227
  dataType: "number";
233
228
  columnType: "SQLiteInteger";
@@ -271,4 +266,4 @@ declare function rowToSettings(row: SelectLogImportSettings): LogImportSettings;
271
266
  */
272
267
  declare function registerDrizzleLogImportStorage(bus: IMakaioBus, db: MakaioDatabase, _ctx: ExtensionContext): () => void;
273
268
  //#endregion
274
- export { ImportPhase, type ImportPhaseValue, LogImportRegistry, type LogImportRegistryOptions, LogImportRegistryToken, type LogImportServiceInstance, type LogImporterInfo, type LogImporterRegistration, type OrchestratorEntry, type OrchestratorFactory, type PersistImportResultContext, type SessionCompactedEventInput, appendSessionCompactedEvent, createLogImportContributionProcessor, logImportRegistryPackage, persistImportResultTree, registerDrizzleLogImportStorage, rowToSettings };
269
+ export { ImportPhase, type ImportPhaseValue, LogImportNamespace, LogImportRegistry, type LogImportRegistryOptions, LogImportRegistryToken, type LogImportServiceInstance, LogImportSubjects, type LogImporterInfo, type LogImporterRegistration, type OrchestratorEntry, type OrchestratorFactory, type PersistImportResultContext, type SessionCompactedEventInput, appendSessionCompactedEvent, createLogImportContributionProcessor, logImportRegistryPackage, persistImportResultTree, registerDrizzleLogImportStorage, rowToSettings };
@@ -1,2 +1,2 @@
1
- import{LogImportNamespace as e,LogImportSubjects as t}from"./namespace.mjs";import{z as n}from"zod";import*as r from"node:fs/promises";import{basename as i,dirname as a,isAbsolute as o,join as s,relative as c,resolve as l,sep as u}from"node:path";import{MakaioBus as d}from"@makaio/framework/bus";import{COMPRESS_SESSION_LINEAGE_KIND as f,CapabilitySubjects as p,FORK_SESSION_LINEAGE_KIND as m,ROOT_SESSION_LINEAGE_KIND as ee,SUBAGENT_SESSION_LINEAGE_KIND as h,extensionToken as te}from"@makaio/framework/contracts";import{integer as g,sqliteTable as _,text as v}from"drizzle-orm/sqlite-core";import{eq as y}from"drizzle-orm";import{ImportCursorStorageSubjects as ne,toImportSegment as re}from"@makaio/framework/adapters";import{MessageStorageSubjects as ie,SessionEventStorageSubjects as b,SessionStorageSubjects as x,toSessionLineage as ae}from"@makaio/framework/services/session";const S=n.discriminatedUnion(`kind`,[n.object({adapterSessionId:n.string(),kind:n.literal(ee),parentAdapterSessionId:n.null().default(null),forkPointMessageId:n.null().default(null),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()}),n.object({adapterSessionId:n.string(),kind:n.literal(m),parentAdapterSessionId:n.string(),forkPointMessageId:n.string(),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()}),n.object({adapterSessionId:n.string(),kind:n.literal(h),parentAdapterSessionId:n.string(),forkPointMessageId:n.null().default(null),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()}),n.object({adapterSessionId:n.string(),kind:n.literal(f),parentAdapterSessionId:n.string(),forkPointMessageId:n.null().default(null),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()})]);function C(e){return S.parse(e.payload)}function w(e,t,n,r,i,a,o){let s=ae(e);return{externalSessionId:e.adapterSessionId,source:t,cwd:n,...r===void 0?{}:{logFilePath:r},...i===void 0?{}:{startedAt:i},...a===void 0?{}:{adapterId:a},...o===void 0?{}:{clientId:o},...s}}function T(e,t,n){let r={adapterSessionId:e.adapterSessionId,model:t,cwd:n};switch(e.lineage.kind){case`root`:return{...r,kind:`root`,parentAdapterSessionId:null,forkPointMessageId:null};case`fork`:if(e.lineage.parentAdapterSessionId==null)throw Error(`Fork segment ${e.adapterSessionId} missing parentAdapterSessionId`);if(e.lineage.forkPointMessageId==null)throw Error(`Fork segment ${e.adapterSessionId} missing forkPointMessageId`);return{...r,kind:`fork`,parentAdapterSessionId:e.lineage.parentAdapterSessionId,forkPointMessageId:e.lineage.forkPointMessageId};case`subagent`:if(e.lineage.parentAdapterSessionId==null)throw Error(`Subagent segment ${e.adapterSessionId} missing parentAdapterSessionId`);return{...r,kind:`subagent`,parentAdapterSessionId:e.lineage.parentAdapterSessionId,forkPointMessageId:null};case`compress`:if(e.lineage.parentAdapterSessionId==null)throw Error(`Compress segment ${e.adapterSessionId} missing parentAdapterSessionId`);return{...r,kind:`compress`,parentAdapterSessionId:e.lineage.parentAdapterSessionId,forkPointMessageId:null};default:{let t=e.lineage.kind;throw Error(`Unknown lineage kind: ${String(t)}`)}}}async function E(e,t){let{events:n}=await e.request(b.getByIds,{sessionId:t.sessionId,eventIds:[t.eventId]});if(!(n.length>0))try{await e.request(b.append,{event:{sessionId:t.sessionId,eventId:t.eventId,timestamp:t.timestamp,type:`session.compacted`,payload:{trigger:t.trigger,preTokens:t.preTokens,summary:t.summary,compressChildSessionId:t.compressChildSessionId}}})}catch(n){let{events:r}=await e.request(b.getByIds,{sessionId:t.sessionId,eventIds:[t.eventId]});if(r.length>0)return;throw n}}const D=new Map,O=`MAKAIO_GLOBSTAR_DIR`,k=`MAKAIO_GLOBSTAR`,A=`MAKAIO_STAR`;function j(e){return e.replace(/[\\/]+/g,`/`).replace(/^\.\/+/,``)}function oe(e,t){let n=j(e),r=j(t),a=r.includes(`/`)?n:i(n);if(r.length>200)return!1;if(!r.includes(`*`))return a===r;let o=0;for(let e of r)if(e===`*`&&(o+=1,o>64))return!1;let s=D.get(r);if(s)return D.delete(r),D.set(r,s),s.test(a);let c=r.replace(/\*\*\//g,O).replace(/\*\*/g,k).replace(/\*/g,A).replace(/[.+^${}()|[\]\\]/g,`\\$&`).replaceAll(O,`(?:.*/)?`).replaceAll(k,`.*`).replaceAll(A,`[^/]*`),l=RegExp(`^${c}$`);if(D.size>=512){let e=D.keys().next();e.done||D.delete(e.value)}return D.set(r,l),l.test(a)}async function M(e,t,n=e){let i=[];try{let a=await r.readdir(e,{withFileTypes:!0});for(let r of a){let a=s(e,r.name);if(r.isDirectory()){let e=await M(a,t,n);i.push(...e)}else if(r.isFile()){if(!oe(c(n,a).split(u).join(`/`),t))continue;i.push(a)}}}catch{}return i}function se(e,t,n){if(e!==void 0){if(o(e))return e;if(t&&o(t))return l(a(t),e);if(n&&o(n))return l(n,e)}}function N(e,t,n=!0,r){let i=[];if(n){let n=e.split(`
2
- `).filter(e=>e.trim());for(let e of n){let n=t.parseRecord(e,r);n&&i.push(n)}}else{let n=t.parseRecord(e,r);n&&i.push(n)}return i}function P(e,n){return e.on(t.scan,async t=>{let{adapterName:i}=t.payload,a=n(i);if(!a){t.setResult({adapterName:i,sessionsFound:0,newSessions:0});return}let{importer:o,logFilePattern:s,adapterName:c}=a,l=o.getLogDirectory();try{await r.access(l)}catch{t.setResult({adapterName:i,sessionsFound:0,newSessions:0});return}let u=s.endsWith(`.jsonl`),d=await M(l,s),f=0,p=0;for(let t of d)try{let n=N(await r.readFile(t,`utf8`),o,u,t);if(n.length===0)continue;let i=C(o.extractSessionContext(n).sessionEvent);f++;let{created:a}=await e.request(x.importUpsert,w(i,c,i.cwd,t,i.startedAt));a&&p++}catch(e){console.warn(`[LogImportRegistry] Failed to process ${t}:`,e instanceof Error?e.message:e)}t.setResult({adapterName:i,sessionsFound:f,newSessions:p})})}async function F(e,t,n,i,a,o){try{let a=await r.stat(i),s=t.extractSessionContext(n),c={adapterSessionId:o,model:s.model,cwd:s.cwd,sessionEvent:s.sessionEvent,startedEvent:s.startedEvent,state:t.serializeState(s.state)};await e.request(ne.set,{filePath:i,bytesRead:a.size,lastModified:a.mtime.toISOString(),sessionContext:c})}catch(e){console.warn(`[importFromFileContent] Failed to persist import cursor`,{adapterName:a,adapterSessionId:o,filePath:i,error:e instanceof Error?e.message:String(e),stack:e instanceof Error?e.stack:void 0})}}async function I(e,t,n,r,i){let a=i.find(e=>e.origin===`compact`),o=a?.contentText??null,s=r.timestamp??a?.timestamp??Date.now();await E(e,{sessionId:t,eventId:`session-compacted:${t}:${n}`,timestamp:s,trigger:r.trigger,preTokens:r.preTokens,summary:o,compressChildSessionId:n})}async function L(e,t,n){for(let r of n)await e.request(ie.upsertByAdapterMessageId,{sessionId:t,turnId:null,adapterMessageId:r.adapterMessageId,role:r.role,contentText:r.contentText,blocks:r.blocks,agentId:r.agentId,adapterSessionId:r.adapterSessionId,timestamp:r.timestamp,...r.origin!==void 0&&{origin:r.origin}})}async function R(e,t,n,r){let i=T(t,n.model,n.cwd),a=t.messages.length>0?t.messages.reduce((e,t)=>Math.min(e,t.timestamp),1/0):void 0,{sessionId:o}=await e.request(x.importUpsert,w(i,n.adapterName,n.cwd,n.logFilePath,a,n.adapterId));await L(e,o,t.messages),r!==void 0&&t.compaction!==void 0&&await I(e,r,o,t.compaction,t.messages);let s=t.messages.length,c={adapterId:n.adapterId,adapterName:n.adapterName,model:n.model,cwd:n.cwd,logFilePath:null};for(let n of t.children??[]){let t=await R(e,n,c,o);s+=t.messageCount}return await e.request(x.updateImportStatus,{sessionId:o,importStatus:`imported`}),{sessionId:o,messageCount:s}}async function z(e,t,n){let r=C(t.sessionEvent);return R(e,re(t),{adapterId:n.adapterId,adapterName:n.adapterName,model:r.model,cwd:r.cwd,logFilePath:n.logFilePath})}async function B(e){let{bus:t,importer:n,content:r,isJsonl:i,adapterName:a,adapterId:o,sourceFilePath:s,persistedLogFilePath:c}=e,l=N(r,n,i,s);if(l.length===0)throw Error(`No valid records found`);let u=n.processLogFile(l),d=se(c,s,C(u.sessionEvent).cwd),{sessionId:f,messageCount:p}=await z(t,u,{adapterId:o,adapterName:a,logFilePath:d});return d!==void 0&&await F(t,n,l,d,a,u.adapterSessionId),{sessionId:f,messageCount:p}}function V(e,n){return e.on(t.uploadFiles,async t=>{let{adapterName:r,files:i}=t.payload,a=n(r);if(!a){t.setResult({adapterName:r,filesProcessed:i.length,sessionsImported:0,errors:i.map(e=>({filename:e.filename,error:`No importer registered for this adapter`}))});return}let{importer:o,logFilePattern:s,adapterName:c,id:l}=a,u=s.endsWith(`.jsonl`),d=0,f=[];for(let t of i)try{await B({bus:e,importer:o,content:Buffer.from(t.contentBase64,`base64`).toString(`utf8`),isJsonl:u,adapterName:c,adapterId:l,sourceFilePath:t.filename}),d++}catch(e){f.push({filename:t.filename,error:e instanceof Error?e.message:String(e)})}t.setResult({adapterName:r,filesProcessed:i.length,sessionsImported:d,errors:f})})}function H(e,n){return e.on(t.importSession,async t=>{let{adapterSessionId:i,adapterName:a}=t.payload,{session:o}=await e.request(x.getByAdapterSessionId,{adapterSessionId:i,source:a});if(!o)throw Error(`Session not found for external ID: ${i}`);if(o.source!==a)throw Error(`Session '${i}' belongs to adapter '${o.source}', not '${a}'`);if(!o.logFilePath)throw Error(`No log file path recorded for session with external ID '${i}'. Re-run a discovery scan to populate the file path.`);let s=n(a);if(!s)throw Error(`No importer registered for adapter '${a}'`);let{importer:c,logFilePattern:l,adapterName:u,id:d}=s,f=l.endsWith(`.jsonl`),{sessionId:p,messageCount:m}=await B({bus:e,importer:c,content:await r.readFile(o.logFilePath,`utf8`),isJsonl:f,adapterName:u,adapterId:d,sourceFilePath:o.logFilePath,persistedLogFilePath:o.logFilePath});t.setResult({sessionId:p,messageCount:m})})}function U(e){return e.hasAdapterContribution?`adapter`:`extension`}function W(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t.registration;return typeof t.id==`string`&&typeof t.displayName==`string`&&typeof t.adapterName==`string`&&!!n&&typeof n==`object`&&typeof n.LogImporterClass==`function`&&typeof n.logFilePattern==`string`&&(n.LogOrchestratorClass===void 0||typeof n.LogOrchestratorClass==`function`)&&(n.LogDiscoveryOrchestratorClass===void 0||typeof n.LogDiscoveryOrchestratorClass==`function`)}function G(e,t,n){return{enabled:n?.enabled??!0,pollIntervalMs:n?.pollIntervalMs,eventsPerSecond:n?.eventsPerSecond,adapterId:e,adapterName:t,checkMakaioManaged:n?.checkMakaioManaged}}function K(e,t,n,r,i){if(!r&&!i)return null;let a=G(e,t,n);return e=>a.enabled?e===`discover`&&i?new i(a):e===`import`&&r?new r(a):null:null}async function ce(e,n,r,i){try{let a=await r.requestOptional(t.getMode,{adapterName:n});if(!a.handled)return;let{mode:o}=a.data;if(o===`disabled`)return;await i(e,o)}catch(e){console.warn(`[LogImport] Failed to restore persisted mode for '${n}':`,e)}}async function q(e,t,n){if(!W(e)||n.getImporter(e.id)!==void 0)return;await n.register({id:e.id,adapterName:e.adapterName,displayName:e.displayName,source:U({hasAdapterContribution:!0}),importer:new e.registration.LogImporterClass({adapterId:e.id,adapterName:e.adapterName}),logFilePattern:e.registration.logFilePattern});let r=K(e.id,e.adapterName,e.logImportConfig,e.registration.LogOrchestratorClass,e.registration.LogDiscoveryOrchestratorClass);r&&n.setOrchestratorFactory(e.id,r),await ce(e.id,e.adapterName,t,(e,t)=>n.switchMode(e,t))}async function le(e,t,n){let r=e.on(p.register,async t=>{await q(t.payload.provider,e,n)},{filter:{capabilityId:`log-import`}});for(let r of t?.getProviders(`log-import`)??[])await q(r,e,n);return r}async function J(e,t){let n=e.get(t);if(n)try{n.orchestrator.isRunning()&&await n.orchestrator.stop()}finally{try{await n.orchestrator.dispose()}finally{e.delete(t)}}}async function ue(e,t){try{await e.start()}catch(n){try{try{e.isRunning()&&await e.stop()}finally{await e.dispose()}}catch(e){console.warn(`[LogImportRegistry] Failed to clean up orchestrator after start failure for '${t}'.`,e instanceof Error?e.message:String(e))}throw n}}var Y=class{bus;capabilityService;registrations=new Map;orchestrators=new Map;cleanupHandlers=[];initialized=!1;constructor(e){this.bus=e?.bus??d,this.capabilityService=e?.capabilityService}async init(){if(this.initialized)return;let e=this.bus.on(t.listImporters,e=>{let t=this.listImporters();e.setResult({importers:t})});this.cleanupHandlers.push(e);let n=P(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(n);let r=V(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(r);let i=H(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(i);let a=await le(this.bus,this.capabilityService,this);this.cleanupHandlers.push(a),this.initialized=!0}async register(e){if(this.registrations.has(e.id))throw Error(`Log importer '${e.id}' is already registered`);this.registrations.set(e.id,e)}async unregister(e){if(!this.registrations.has(e))throw Error(`Log importer '${e}' is not registered`);await J(this.orchestrators,e),this.registrations.delete(e)}async startImporter(e){if(!this.registrations.get(e))throw Error(`Log importer '${e}' is not registered`);let t=this.orchestrators.get(e);if(!t)throw Error(`No orchestrator available for '${e}'. Orchestrators must be created and provided by the adapter or extension before starting.`);t.orchestrator.isRunning()||(await t.orchestrator.start(),t.isManaged=!0)}async stopImporter(e){let t=this.orchestrators.get(e);t&&(t.orchestrator.isRunning()&&await t.orchestrator.stop(),t.isManaged=!1)}async switchMode(e,t){let n=this.registrations.get(e);if(!n)throw Error(`Log importer '${e}' is not registered`);if(await J(this.orchestrators,e),t===`disabled`||!n.orchestratorFactory)return;let r=n.orchestratorFactory(t);r&&(await ue(r,e),this.orchestrators.set(e,{orchestrator:r,isManaged:!0}))}async startDiscovery(e){return this.switchMode(e,`discover`)}setOrchestratorFactory(e,t){let n=this.registrations.get(e);if(!n)throw Error(`Cannot set orchestrator factory for unregistered importer '${e}'`);this.registrations.set(e,{...n,orchestratorFactory:t})}listImporters(){let e=[];for(let[,t]of this.registrations){let n=this.orchestrators.get(t.id)?.orchestrator.isRunning()??!1;e.push({id:t.id,adapterName:t.adapterName,displayName:t.displayName,source:t.source,logFilePattern:t.logFilePattern,isRunning:n,supportsManualImport:t.supportsManualImport??!0})}return e}getImporter(e){let t=this.registrations.get(e);return t?{...t}:void 0}getImporterByAdapterName(e){for(let t of this.registrations.values())if(t.adapterName===e)return{...t}}detectImporter(e){let t,n=0;for(let r of this.registrations.values()){let i=r.importer.canHandle(e);if(i===!1)continue;let a=i===!0?1:i.confidence;a>n&&(n=a,t=r)}return t}async registerOrchestrator(e,t){if(!this.registrations.has(e))throw Error(`Cannot register orchestrator for unregistered importer '${e}'`);await J(this.orchestrators,e),this.orchestrators.set(e,{orchestrator:t,isManaged:!1})}async destroy(){if(!(!this.initialized&&this.orchestrators.size===0&&this.cleanupHandlers.length===0)){for(let[e]of this.orchestrators)await J(this.orchestrators,e);for(let e of this.cleanupHandlers)e();this.cleanupHandlers.length=0,this.initialized=!1}}};const X=te(`log-import-registry`),de={name:X.name,displayName:`Log Import Registry`,version:`0.1.0`,critical:!0,namespaces:[e],create:e=>new Y({bus:e.bus})};function fe(e,t,n){return{enabled:n?.enabled??!0,pollIntervalMs:n?.pollIntervalMs,eventsPerSecond:n?.eventsPerSecond,adapterId:e,adapterName:t,checkMakaioManaged:n?.checkMakaioManaged}}function pe(e,t,n){if(!n.LogOrchestratorClass&&!n.LogDiscoveryOrchestratorClass)return null;let r=fe(e,t,n.logImportConfig);return e=>r.enabled?e===`discover`&&n.LogDiscoveryOrchestratorClass?new n.LogDiscoveryOrchestratorClass(r):e===`import`&&n.LogOrchestratorClass?new n.LogOrchestratorClass(r):null:null}function me(){let e=new Map;return{filter:e=>!!e.logImport,processActivated:async(t,n,r)=>{let{logImport:i}=n;if(!i)return;let a=r.getService(X);if(!a)throw Error(`[LogImportContributionProcessor] LogImportRegistry is not available. Ensure '${X.name}' is listed as a dependency before activating '${t}'.`);let{adapterName:o,displayName:s,config:c}=i,l=c,u=`package:${t}`,d=U({hasAdapterContribution:!!n.adapters?.length}),f=new l.LogImporterClass({adapterId:u,adapterName:o});await a.register({id:u,adapterName:o,displayName:s,source:d,importer:f,logFilePattern:l.logFilePattern??``,supportsManualImport:l.supportsManualImport});try{let e=pe(u,o,l);e&&a.setOrchestratorFactory(u,e)}catch(e){try{await a.unregister(u)}catch(e){console.error(`[LogImportContributionProcessor] Rollback of log importer '${u}' failed:`,e)}throw e}console.info(`[LogImportContributionProcessor] Registered log importer '${o}' from package: ${t}`),e.set(u,async()=>{try{await a.unregister(u)}catch(e){console.error(`[LogImportContributionProcessor] Failed to unregister log importer '${u}' during cleanup:`,e)}})},processStopped:async t=>{let n=`package:${t}`,r=e.get(n);r&&(e.delete(n),await r())}}}const he={linked:`linked`,persisted:`persisted`,finalized:`finalized`},Z=_(`log_import_settings`,{adapterName:v(`adapter_name`).primaryKey(),mode:v(`mode`,{enum:[`disabled`,`discover`,`import`]}).notNull().default(`disabled`),createdAt:g(`created_at`).notNull(),updatedAt:g(`updated_at`).notNull()});function Q(e){return{adapterName:e.adapterName,mode:e.mode,createdAt:e.createdAt,updatedAt:e.updatedAt}}function ge(e){let{bus:n,db:r}=e;return n.on(t.getMode,async e=>{let{adapterName:t}=e.payload,[n]=await r.select().from(Z).where(y(Z.adapterName,t)).limit(1);e.setResult({mode:n?.mode??`disabled`})})}function $(e){let{bus:n,db:r}=e;return n.on(t.setMode,async e=>{let{adapterName:t,mode:n}=e.payload,i=Date.now();await r.insert(Z).values({adapterName:t,mode:n,createdAt:i,updatedAt:i}).onConflictDoUpdate({target:Z.adapterName,set:{mode:n,updatedAt:i}}),e.setResult({success:!0})})}function _e(e){let{bus:n,db:r}=e;return n.on(t.listSettings,async e=>{let t=await r.select().from(Z);e.setResult({settings:t.map(Q)})})}function ve(e,t,n){let r={bus:e,db:t},i=[ge(r),$(r),_e(r)];return()=>i.forEach(e=>e())}export{he as ImportPhase,Y as LogImportRegistry,X as LogImportRegistryToken,E as appendSessionCompactedEvent,me as createLogImportContributionProcessor,de as logImportRegistryPackage,z as persistImportResultTree,ve as registerDrizzleLogImportStorage,Q as rowToSettings};
1
+ import{LogImportNamespace as e,LogImportSubjects as t}from"./namespace.mjs";import{z as n}from"zod";import*as r from"node:fs/promises";import{basename as i,dirname as a,isAbsolute as o,join as s,relative as c,resolve as l,sep as u}from"node:path";import{MakaioBus as d}from"@makaio/framework/bus";import{COMPRESS_SESSION_LINEAGE_KIND as f,CapabilitySubjects as p,FORK_SESSION_LINEAGE_KIND as m,ROOT_SESSION_LINEAGE_KIND as ee,SUBAGENT_SESSION_LINEAGE_KIND as h,extensionToken as g}from"@makaio/framework/contracts";import{defineDialectSchema as _,defineDualTable as te,resolveSchema as v}from"@makaio/framework/storage/drizzle";import{eq as ne}from"drizzle-orm";import{ImportCursorStorageSubjects as re,toImportSegment as ie}from"@makaio/framework/adapters";import{MessageStorageSubjects as ae,SessionEventStorageSubjects as y,SessionStorageSubjects as b,toSessionLineage as x}from"@makaio/framework/services/session";const S=n.discriminatedUnion(`kind`,[n.object({adapterSessionId:n.string(),kind:n.literal(ee),parentAdapterSessionId:n.null().default(null),forkPointMessageId:n.null().default(null),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()}),n.object({adapterSessionId:n.string(),kind:n.literal(m),parentAdapterSessionId:n.string(),forkPointMessageId:n.string(),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()}),n.object({adapterSessionId:n.string(),kind:n.literal(h),parentAdapterSessionId:n.string(),forkPointMessageId:n.null().default(null),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()}),n.object({adapterSessionId:n.string(),kind:n.literal(f),parentAdapterSessionId:n.string(),forkPointMessageId:n.null().default(null),model:n.string().nullable().default(null),cwd:n.string().nullable().default(null),startedAt:n.number().finite().optional()})]);function C(e){return S.parse(e.payload)}function w(e,t,n,r,i,a,o){let s=x(e);return{externalSessionId:e.adapterSessionId,source:t,cwd:n,...r===void 0?{}:{logFilePath:r},...i===void 0?{}:{startedAt:i},...a===void 0?{}:{adapterId:a},...o===void 0?{}:{clientId:o},...s}}function oe(e,t,n){let r={adapterSessionId:e.adapterSessionId,model:t,cwd:n};switch(e.lineage.kind){case`root`:return{...r,kind:`root`,parentAdapterSessionId:null,forkPointMessageId:null};case`fork`:if(e.lineage.parentAdapterSessionId==null)throw Error(`Fork segment ${e.adapterSessionId} missing parentAdapterSessionId`);if(e.lineage.forkPointMessageId==null)throw Error(`Fork segment ${e.adapterSessionId} missing forkPointMessageId`);return{...r,kind:`fork`,parentAdapterSessionId:e.lineage.parentAdapterSessionId,forkPointMessageId:e.lineage.forkPointMessageId};case`subagent`:if(e.lineage.parentAdapterSessionId==null)throw Error(`Subagent segment ${e.adapterSessionId} missing parentAdapterSessionId`);return{...r,kind:`subagent`,parentAdapterSessionId:e.lineage.parentAdapterSessionId,forkPointMessageId:null};case`compress`:if(e.lineage.parentAdapterSessionId==null)throw Error(`Compress segment ${e.adapterSessionId} missing parentAdapterSessionId`);return{...r,kind:`compress`,parentAdapterSessionId:e.lineage.parentAdapterSessionId,forkPointMessageId:null};default:{let t=e.lineage.kind;throw Error(`Unknown lineage kind: ${String(t)}`)}}}async function T(e,t){let{events:n}=await e.request(y.getByIds,{sessionId:t.sessionId,eventIds:[t.eventId]});if(!(n.length>0))try{await e.request(y.append,{event:{sessionId:t.sessionId,eventId:t.eventId,timestamp:t.timestamp,type:`session.compacted`,payload:{trigger:t.trigger,preTokens:t.preTokens,summary:t.summary,compressChildSessionId:t.compressChildSessionId}}})}catch(n){let{events:r}=await e.request(y.getByIds,{sessionId:t.sessionId,eventIds:[t.eventId]});if(r.length>0)return;throw n}}const E=new Map,D=`MAKAIO_GLOBSTAR_DIR`,O=`MAKAIO_GLOBSTAR`,k=`MAKAIO_STAR`;function A(e){return e.replace(/[\\/]+/g,`/`).replace(/^\.\/+/,``)}function se(e,t){let n=A(e),r=A(t),a=r.includes(`/`)?n:i(n);if(r.length>200)return!1;if(!r.includes(`*`))return a===r;let o=0;for(let e of r)if(e===`*`&&(o+=1,o>64))return!1;let s=E.get(r);if(s)return E.delete(r),E.set(r,s),s.test(a);let c=r.replace(/\*\*\//g,D).replace(/\*\*/g,O).replace(/\*/g,k).replace(/[.+^${}()|[\]\\]/g,`\\$&`).replaceAll(D,`(?:.*/)?`).replaceAll(O,`.*`).replaceAll(k,`[^/]*`),l=RegExp(`^${c}$`);if(E.size>=512){let e=E.keys().next();e.done||E.delete(e.value)}return E.set(r,l),l.test(a)}async function j(e,t,n=e){let i=[];try{let a=await r.readdir(e,{withFileTypes:!0});for(let r of a){let a=s(e,r.name);if(r.isDirectory()){let e=await j(a,t,n);i.push(...e)}else if(r.isFile()){if(!se(c(n,a).split(u).join(`/`),t))continue;i.push(a)}}}catch{}return i}function ce(e,t,n){if(e!==void 0){if(o(e))return e;if(t&&o(t))return l(a(t),e);if(n&&o(n))return l(n,e)}}function M(e,t,n=!0,r){let i=[];if(n){let n=e.split(`
2
+ `).filter(e=>e.trim());for(let e of n){let n=t.parseRecord(e,r);n&&i.push(n)}}else{let n=t.parseRecord(e,r);n&&i.push(n)}return i}function N(e,n){return e.on(t.scan,async t=>{let{adapterName:i}=t.payload,a=n(i);if(!a){t.setResult({adapterName:i,sessionsFound:0,newSessions:0});return}let{importer:o,logFilePattern:s,adapterName:c}=a,l=o.getLogDirectory();try{await r.access(l)}catch{t.setResult({adapterName:i,sessionsFound:0,newSessions:0});return}let u=s.endsWith(`.jsonl`),d=await j(l,s),f=0,p=0;for(let t of d)try{let n=M(await r.readFile(t,`utf8`),o,u,t);if(n.length===0)continue;let i=C(o.extractSessionContext(n).sessionEvent);f++;let{created:a}=await e.request(b.importUpsert,w(i,c,i.cwd,t,i.startedAt));a&&p++}catch(e){console.warn(`[LogImportRegistry] Failed to process ${t}:`,e instanceof Error?e.message:e)}t.setResult({adapterName:i,sessionsFound:f,newSessions:p})})}async function P(e,t,n,i,a,o){try{let a=await r.stat(i),s=t.extractSessionContext(n),c={adapterSessionId:o,model:s.model,cwd:s.cwd,sessionEvent:s.sessionEvent,startedEvent:s.startedEvent,state:t.serializeState(s.state)};await e.request(re.set,{filePath:i,bytesRead:a.size,lastModified:a.mtime.toISOString(),sessionContext:c})}catch(e){console.warn(`[importFromFileContent] Failed to persist import cursor`,{adapterName:a,adapterSessionId:o,filePath:i,error:e instanceof Error?e.message:String(e),stack:e instanceof Error?e.stack:void 0})}}async function F(e,t,n,r,i){let a=i.find(e=>e.origin===`compact`),o=a?.contentText??null,s=r.timestamp??a?.timestamp??Date.now();await T(e,{sessionId:t,eventId:`session-compacted:${t}:${n}`,timestamp:s,trigger:r.trigger,preTokens:r.preTokens,summary:o,compressChildSessionId:n})}async function I(e,t,n){for(let r of n)await e.request(ae.upsertByAdapterMessageId,{sessionId:t,turnId:null,adapterMessageId:r.adapterMessageId,role:r.role,contentText:r.contentText,blocks:r.blocks,agentId:r.agentId,adapterSessionId:r.adapterSessionId,timestamp:r.timestamp,...r.origin!==void 0&&{origin:r.origin}})}async function L(e,t,n,r){let i=oe(t,n.model,n.cwd),a=t.messages.length>0?t.messages.reduce((e,t)=>Math.min(e,t.timestamp),1/0):void 0,{sessionId:o}=await e.request(b.importUpsert,w(i,n.adapterName,n.cwd,n.logFilePath,a,n.adapterId));await I(e,o,t.messages),r!==void 0&&t.compaction!==void 0&&await F(e,r,o,t.compaction,t.messages);let s=t.messages.length,c={adapterId:n.adapterId,adapterName:n.adapterName,model:n.model,cwd:n.cwd,logFilePath:null};for(let n of t.children??[]){let t=await L(e,n,c,o);s+=t.messageCount}return await e.request(b.updateImportStatus,{sessionId:o,importStatus:`imported`}),{sessionId:o,messageCount:s}}async function R(e,t,n){let r=C(t.sessionEvent);return L(e,ie(t),{adapterId:n.adapterId,adapterName:n.adapterName,model:r.model,cwd:r.cwd,logFilePath:n.logFilePath})}async function z(e){let{bus:t,importer:n,content:r,isJsonl:i,adapterName:a,adapterId:o,sourceFilePath:s,persistedLogFilePath:c}=e,l=M(r,n,i,s);if(l.length===0)throw Error(`No valid records found`);let u=n.processLogFile(l),d=ce(c,s,C(u.sessionEvent).cwd),{sessionId:f,messageCount:p}=await R(t,u,{adapterId:o,adapterName:a,logFilePath:d});return d!==void 0&&await P(t,n,l,d,a,u.adapterSessionId),{sessionId:f,messageCount:p}}function B(e,n){return e.on(t.uploadFiles,async t=>{let{adapterName:r,files:i}=t.payload,a=n(r);if(!a){t.setResult({adapterName:r,filesProcessed:i.length,sessionsImported:0,errors:i.map(e=>({filename:e.filename,error:`No importer registered for this adapter`}))});return}let{importer:o,logFilePattern:s,adapterName:c,id:l}=a,u=s.endsWith(`.jsonl`),d=0,f=[];for(let t of i)try{await z({bus:e,importer:o,content:Buffer.from(t.contentBase64,`base64`).toString(`utf8`),isJsonl:u,adapterName:c,adapterId:l,sourceFilePath:t.filename}),d++}catch(e){f.push({filename:t.filename,error:e instanceof Error?e.message:String(e)})}t.setResult({adapterName:r,filesProcessed:i.length,sessionsImported:d,errors:f})})}function V(e,n){return e.on(t.importSession,async t=>{let{adapterSessionId:i,adapterName:a}=t.payload,{session:o}=await e.request(b.getByAdapterSessionId,{adapterSessionId:i,source:a});if(!o)throw Error(`Session not found for external ID: ${i}`);if(o.source!==a)throw Error(`Session '${i}' belongs to adapter '${o.source}', not '${a}'`);if(!o.logFilePath)throw Error(`No log file path recorded for session with external ID '${i}'. Re-run a discovery scan to populate the file path.`);let s=n(a);if(!s)throw Error(`No importer registered for adapter '${a}'`);let{importer:c,logFilePattern:l,adapterName:u,id:d}=s,f=l.endsWith(`.jsonl`),{sessionId:p,messageCount:m}=await z({bus:e,importer:c,content:await r.readFile(o.logFilePath,`utf8`),isJsonl:f,adapterName:u,adapterId:d,sourceFilePath:o.logFilePath,persistedLogFilePath:o.logFilePath});t.setResult({sessionId:p,messageCount:m})})}function H(e){return e.hasAdapterContribution?`adapter`:`extension`}function U(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t.registration;return typeof t.id==`string`&&typeof t.displayName==`string`&&typeof t.adapterName==`string`&&!!n&&typeof n==`object`&&typeof n.LogImporterClass==`function`&&typeof n.logFilePattern==`string`&&(n.LogOrchestratorClass===void 0||typeof n.LogOrchestratorClass==`function`)&&(n.LogDiscoveryOrchestratorClass===void 0||typeof n.LogDiscoveryOrchestratorClass==`function`)}function W(e,t,n){return{enabled:n?.enabled??!0,pollIntervalMs:n?.pollIntervalMs,eventsPerSecond:n?.eventsPerSecond,adapterId:e,adapterName:t,checkMakaioManaged:n?.checkMakaioManaged}}function G(e,t,n,r,i){if(!r&&!i)return null;let a=W(e,t,n);return e=>a.enabled?e===`discover`&&i?new i(a):e===`import`&&r?new r(a):null:null}async function le(e,n,r,i){try{let a=await r.requestOptional(t.getMode,{adapterName:n});if(!a.handled)return;let{mode:o}=a.data;if(o===`disabled`)return;await i(e,o)}catch(e){console.warn(`[LogImport] Failed to restore persisted mode for '${n}':`,e)}}async function K(e,t,n){if(!U(e)||n.getImporter(e.id)!==void 0)return;await n.register({id:e.id,adapterName:e.adapterName,displayName:e.displayName,source:H({hasAdapterContribution:!0}),importer:new e.registration.LogImporterClass({adapterId:e.id,adapterName:e.adapterName}),logFilePattern:e.registration.logFilePattern});let r=G(e.id,e.adapterName,e.logImportConfig,e.registration.LogOrchestratorClass,e.registration.LogDiscoveryOrchestratorClass);r&&n.setOrchestratorFactory(e.id,r),await le(e.id,e.adapterName,t,(e,t)=>n.switchMode(e,t))}async function ue(e,t,n){let r=e.on(p.register,async t=>{await K(t.payload.provider,e,n)},{filter:{capabilityId:`log-import`}});for(let r of t?.getProviders(`log-import`)??[])await K(r,e,n);return r}async function q(e,t){let n=e.get(t);if(n)try{n.orchestrator.isRunning()&&await n.orchestrator.stop()}finally{try{await n.orchestrator.dispose()}finally{e.delete(t)}}}async function de(e,t){try{await e.start()}catch(n){try{try{e.isRunning()&&await e.stop()}finally{await e.dispose()}}catch(e){console.warn(`[LogImportRegistry] Failed to clean up orchestrator after start failure for '${t}'.`,e instanceof Error?e.message:String(e))}throw n}}var J=class{bus;capabilityService;registrations=new Map;orchestrators=new Map;cleanupHandlers=[];initialized=!1;constructor(e){this.bus=e?.bus??d,this.capabilityService=e?.capabilityService}async init(){if(this.initialized)return;let e=this.bus.on(t.listImporters,e=>{let t=this.listImporters();e.setResult({importers:t})});this.cleanupHandlers.push(e);let n=N(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(n);let r=B(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(r);let i=V(this.bus,e=>this.getImporterByAdapterName(e));this.cleanupHandlers.push(i);let a=await ue(this.bus,this.capabilityService,this);this.cleanupHandlers.push(a),this.initialized=!0}async register(e){if(this.registrations.has(e.id))throw Error(`Log importer '${e.id}' is already registered`);this.registrations.set(e.id,e)}async unregister(e){if(!this.registrations.has(e))throw Error(`Log importer '${e}' is not registered`);await q(this.orchestrators,e),this.registrations.delete(e)}async startImporter(e){if(!this.registrations.get(e))throw Error(`Log importer '${e}' is not registered`);let t=this.orchestrators.get(e);if(!t)throw Error(`No orchestrator available for '${e}'. Orchestrators must be created and provided by the adapter or extension before starting.`);t.orchestrator.isRunning()||(await t.orchestrator.start(),t.isManaged=!0)}async stopImporter(e){let t=this.orchestrators.get(e);t&&(t.orchestrator.isRunning()&&await t.orchestrator.stop(),t.isManaged=!1)}async switchMode(e,t){let n=this.registrations.get(e);if(!n)throw Error(`Log importer '${e}' is not registered`);if(await q(this.orchestrators,e),t===`disabled`||!n.orchestratorFactory)return;let r=n.orchestratorFactory(t);r&&(await de(r,e),this.orchestrators.set(e,{orchestrator:r,isManaged:!0}))}async startDiscovery(e){return this.switchMode(e,`discover`)}setOrchestratorFactory(e,t){let n=this.registrations.get(e);if(!n)throw Error(`Cannot set orchestrator factory for unregistered importer '${e}'`);this.registrations.set(e,{...n,orchestratorFactory:t})}listImporters(){let e=[];for(let[,t]of this.registrations){let n=this.orchestrators.get(t.id)?.orchestrator.isRunning()??!1;e.push({id:t.id,adapterName:t.adapterName,displayName:t.displayName,source:t.source,logFilePattern:t.logFilePattern,isRunning:n,supportsManualImport:t.supportsManualImport??!0})}return e}getImporter(e){let t=this.registrations.get(e);return t?{...t}:void 0}getImporterByAdapterName(e){for(let t of this.registrations.values())if(t.adapterName===e)return{...t}}detectImporter(e){let t,n=0;for(let r of this.registrations.values()){let i=r.importer.canHandle(e);if(i===!1)continue;let a=i===!0?1:i.confidence;a>n&&(n=a,t=r)}return t}async registerOrchestrator(e,t){if(!this.registrations.has(e))throw Error(`Cannot register orchestrator for unregistered importer '${e}'`);await q(this.orchestrators,e),this.orchestrators.set(e,{orchestrator:t,isManaged:!1})}async destroy(){if(!(!this.initialized&&this.orchestrators.size===0&&this.cleanupHandlers.length===0)){for(let[e]of this.orchestrators)await q(this.orchestrators,e);for(let e of this.cleanupHandlers)e();this.cleanupHandlers.length=0,this.initialized=!1}}};const Y=g(`log-import-registry`),fe={name:Y.name,displayName:`Log Import Registry`,version:`0.1.0`,critical:!0,namespaces:[e],create:e=>new J({bus:e.bus})};function pe(e,t,n){return{enabled:n?.enabled??!0,pollIntervalMs:n?.pollIntervalMs,eventsPerSecond:n?.eventsPerSecond,adapterId:e,adapterName:t,checkMakaioManaged:n?.checkMakaioManaged}}function me(e,t,n){if(!n.LogOrchestratorClass&&!n.LogDiscoveryOrchestratorClass)return null;let r=pe(e,t,n.logImportConfig);return e=>r.enabled?e===`discover`&&n.LogDiscoveryOrchestratorClass?new n.LogDiscoveryOrchestratorClass(r):e===`import`&&n.LogOrchestratorClass?new n.LogOrchestratorClass(r):null:null}function X(){let e=new Map;return{filter:e=>!!e.logImport,processActivated:async(t,n,r)=>{let{logImport:i}=n;if(!i)return;let a=r.getService(Y);if(!a)throw Error(`[LogImportContributionProcessor] LogImportRegistry is not available. Ensure '${Y.name}' is listed as a dependency before activating '${t}'.`);let{adapterName:o,displayName:s,config:c}=i,l=c,u=`package:${t}`,d=H({hasAdapterContribution:!!n.adapters?.length}),f=new l.LogImporterClass({adapterId:u,adapterName:o});await a.register({id:u,adapterName:o,displayName:s,source:d,importer:f,logFilePattern:l.logFilePattern??``,supportsManualImport:l.supportsManualImport});try{let e=me(u,o,l);e&&a.setOrchestratorFactory(u,e)}catch(e){try{await a.unregister(u)}catch(e){console.error(`[LogImportContributionProcessor] Rollback of log importer '${u}' failed:`,e)}throw e}console.info(`[LogImportContributionProcessor] Registered log importer '${o}' from package: ${t}`),e.set(u,async()=>{try{await a.unregister(u)}catch(e){console.error(`[LogImportContributionProcessor] Failed to unregister log importer '${u}' during cleanup:`,e)}})},processStopped:async t=>{let n=`package:${t}`,r=e.get(n);r&&(e.delete(n),await r())}}}const he={linked:`linked`,persisted:`persisted`,finalized:`finalized`},Z=te(`log_import_settings`,e=>({adapterName:e.text(`adapter_name`).primaryKey(),mode:e.textEnum(`mode`,{enum:[`disabled`,`discover`,`import`]}).notNull().default(`disabled`),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()})),ge=Z.sqlite,_e=Z.postgres,Q=_({logImportSettings:ge},{logImportSettings:_e});function $(e){return{adapterName:e.adapterName,mode:e.mode,createdAt:e.createdAt,updatedAt:e.updatedAt}}function ve(e){let{bus:n,db:r}=e,{logImportSettings:i}=v(r,Q);return n.on(t.getMode,async e=>{let{adapterName:t}=e.payload,[n]=await r.select().from(i).where(ne(i.adapterName,t)).limit(1);e.setResult({mode:n?.mode??`disabled`})})}function ye(e){let{bus:n,db:r}=e,{logImportSettings:i}=v(r,Q);return n.on(t.setMode,async e=>{let{adapterName:t,mode:n}=e.payload,a=Date.now();await r.insert(i).values({adapterName:t,mode:n,createdAt:a,updatedAt:a}).onConflictDoUpdate({target:i.adapterName,set:{mode:n,updatedAt:a}}),e.setResult({success:!0})})}function be(e){let{bus:n,db:r}=e,{logImportSettings:i}=v(r,Q);return n.on(t.listSettings,async e=>{let t=await r.select().from(i);e.setResult({settings:t.map($)})})}function xe(e,t,n){let r={bus:e,db:t},i=[ve(r),ye(r),be(r)];return()=>i.forEach(e=>e())}export{he as ImportPhase,e as LogImportNamespace,J as LogImportRegistry,Y as LogImportRegistryToken,t as LogImportSubjects,T as appendSessionCompactedEvent,X as createLogImportContributionProcessor,fe as logImportRegistryPackage,R as persistImportResultTree,xe as registerDrizzleLogImportStorage,$ as rowToSettings};
@@ -1,3 +1,3 @@
1
- import { n as IMPORT_LAST_SCAN_CATEGORY, r as LogImportMode, t as LogImporterInfo } from "../../index-BCKRUuI2.mjs";
1
+ import { n as IMPORT_LAST_SCAN_CATEGORY, r as LogImportMode, t as LogImporterInfo } from "../../index-B2xbnMZe.mjs";
2
2
  import { LogImportSubjects } from "./namespace.mjs";
3
3
  export { IMPORT_LAST_SCAN_CATEGORY, type LogImportMode, LogImportSubjects, type LogImporterInfo };
@@ -74,8 +74,8 @@ declare const LogImportNamespace: _$_makaio_core0.BusNamespaceDefinition<"log-im
74
74
  adapterName: _$zod.ZodString;
75
75
  displayName: _$zod.ZodString;
76
76
  source: _$zod.ZodEnum<{
77
- adapter: "adapter";
78
77
  extension: "extension";
78
+ adapter: "adapter";
79
79
  }>;
80
80
  logFilePattern: _$zod.ZodString;
81
81
  isRunning: _$zod.ZodBoolean;
@@ -234,8 +234,8 @@ declare const LogImportSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fla
234
234
  adapterName: _$zod.ZodString;
235
235
  displayName: _$zod.ZodString;
236
236
  source: _$zod.ZodEnum<{
237
- adapter: "adapter";
238
237
  extension: "extension";
238
+ adapter: "adapter";
239
239
  }>;
240
240
  logFilePattern: _$zod.ZodString;
241
241
  isRunning: _$zod.ZodBoolean;
@@ -90,8 +90,8 @@ declare const LogImportSchemas: {
90
90
  adapterName: z.ZodString;
91
91
  displayName: z.ZodString;
92
92
  source: z.ZodEnum<{
93
- adapter: "adapter";
94
93
  extension: "extension";
94
+ adapter: "adapter";
95
95
  }>;
96
96
  logFilePattern: z.ZodString;
97
97
  isRunning: z.ZodBoolean;
@@ -1 +1 @@
1
- import{a as e,c as t,i as n,l as r,r as i,t as a,u as o}from"../../../handlers-Bev7-xjL.mjs";export{r as registerAbandonHandler,t as registerAttachHandler,e as registerCompressHandler,n as registerForkHandler,i as registerMergeHandler,a as routeToAgents,o as routeToAgentsCore};
1
+ import{a as e,c as t,i as n,l as r,r as i,t as a,u as o}from"../../../handlers-C8EtpSqK.mjs";export{r as registerAbandonHandler,t as registerAttachHandler,e as registerCompressHandler,n as registerForkHandler,i as registerMergeHandler,a as routeToAgents,o as routeToAgentsCore};
@@ -1,10 +1,10 @@
1
- import { $ as registerMemoryAgentStorage, A as registerDrizzleImportCursorStorage, At as buildRecoveryContext, B as SessionPreviewMaps, Bt as AdapterRegistry, C as registerMemoryMessageStorage, Ct as buildTurnInitiator, D as turns, Dt as ensureAgentModel, E as SelectTurn, Et as ensureAgentCwd, F as registerDrizzleSessionEventStorage, Ft as getOrCreateSession, G as SearchSessionRow, H as mapAgentsBySession, Ht as SessionOrchestrator, I as registerMemorySessionEventStorage, It as resolveTargetAgents, J as fetchPreviewBySession, K as fetchAgentsBySession, L as InsertSessionEvent, Lt as extractTextContent, M as EventTransform, Mt as resolveExecutionTarget, N as SessionLogger, Nt as resolveModelCapabilities, O as registerMemoryTurnStorage, Ot as recoverAgent, P as SessionLoggerOptions, Pt as findTurnByAgent, Q as registerDrizzleAgentStorage, R as SelectSessionEvent, Rt as normalizeToBlocks, S as messages, St as SessionContextWindowState, T as InsertTurn, Tt as buildRecoveryContextWithPipeline, U as mapToSession, Ut as registerCoreSessionServiceHandlers, V as fetchSessionPreviewMaps, Vt as ISessionOrchestrator, W as SearchFilters, Wt as MakaioSessionService, X as parseForkTransforms, Y as mapRowToSession, Z as registerFtsSearchHandler, _ as registerDrizzleMessageRoutingStorage, _t as registerGetStatusCountsHandler, a as kindToBranchKind, at as createSessionExtensionContext, b as InsertMessage, bt as AgentContextState, c as registerSpawningToolCallResolver, ct as FallbackRuntimeOptions, d as MakaioSession, dt as normalizeSelectionString, et as registerDrizzleSessionStorage, f as MakaioSessionConfig, ft as resolveAdapterNameById, g as messageRouting, gt as actionRegistry, h as SelectMessageRouting, ht as resetBuiltInActionsRegistration, i as ContextAssemblyResult, it as SessionExtensionContextImpl, j as importCursors, jt as resolveAdapterId, k as registerDrizzleTurnStorage, kt as verifyAndRecoverAgents, l as registerCompressLineageResolver, lt as pickFallbackRuntimeOptions, m as InsertMessageRouting, mt as registerBuiltInActions, n as buildSessionContext, nt as AgentStorageNamespace, o as toSessionLineage, ot as SessionBridge, p as StartTurnOptions, pt as registerListActionsHandler, q as fetchMessageCountsBySession, r as BuildContextOptions, rt as AgentStorageSubjects, s as registerSessionDiscoveredHandler, st as assembleForkContext, t as getFullConversation, tt as registerMemorySessionStorage, u as registerParentResolver, ut as CONNECTOR_SWAP_DEFAULT_PIPELINE, v as MessageRoutingNamespace, vt as registerResumeHandler, w as registerDrizzleMessageStorage, wt as RecoveryConfig, x as SelectMessage, xt as ContextWindowTrackerConfig, y as MessageRoutingSubjects, yt as ContextWindowTracker, z as sessionEvents, zt as TurnContextEnricher } from "../../index-BmV60tMf.mjs";
1
+ import { $ as fetchMessageCountsBySession, A as registerMemoryTurnStorage, At as RecoveryConfig, B as registerMemorySessionEventStorage, Bt as findTurnByAgent, C as messages, Ct as registerGetStatusCountsHandler, D as SelectTurn, Dt as ContextWindowTrackerConfig, E as InsertTurn, Et as AgentContextState, F as importCursorsDual, Ft as verifyAndRecoverAgents, G as getSessionAncestorChain, Gt as TurnContextEnricher, H as SelectSessionEvent, Ht as resolveTargetAgents, I as EventTransform, It as buildRecoveryContext, J as mapAgentsBySession, Jt as SessionOrchestrator, K as SessionPreviewMaps, Kt as AdapterRegistry, L as SessionLogger, Lt as resolveAdapterId, M as EmbeddingIndexManager, Mt as ensureAgentCwd, N as registerDrizzleImportCursorStorage, Nt as ensureAgentModel, O as turns, Ot as SessionContextWindowState, P as importCursors, Pt as recoverAgent, Q as fetchAgentsBySession, R as SessionLoggerOptions, Rt as resolveExecutionTarget, S as SelectMessage, St as actionRegistry, T as registerDrizzleMessageStorage, Tt as ContextWindowTracker, U as sessionEvents, Ut as extractTextContent, V as InsertSessionEvent, Vt as getOrCreateSession, W as sessionEventsDual, Wt as normalizeToBlocks, X as SearchFilters, Xt as MakaioSessionService, Y as mapToSession, Yt as registerCoreSessionServiceHandlers, Z as SearchSessionRow, _ as messageRoutingDual, _t as normalizeSelectionString, a as kindToBranchKind, at as registerMemoryAgentStorage, b as MessageRoutingSubjects, bt as registerBuiltInActions, c as registerSpawningToolCallResolver, ct as AgentStorageNamespace, d as MakaioSession, dt as createSessionExtensionContext, et as fetchPreviewBySession, f as MakaioSessionConfig, ft as SessionBridge, g as messageRouting, gt as CONNECTOR_SWAP_DEFAULT_PIPELINE, h as SelectMessageRouting, ht as pickFallbackRuntimeOptions, i as ContextAssemblyResult, it as registerDrizzleAgentStorage, j as registerDrizzleTurnStorage, jt as buildRecoveryContextWithPipeline, k as turnsDual, kt as buildTurnInitiator, l as registerCompressLineageResolver, lt as AgentStorageSubjects, m as InsertMessageRouting, mt as FallbackRuntimeOptions, n as buildSessionContext, nt as parseForkTransforms, o as toSessionLineage, ot as registerDrizzleSessionStorage, p as StartTurnOptions, pt as assembleForkContext, q as fetchSessionPreviewMaps, qt as ISessionOrchestrator, r as BuildContextOptions, rt as registerFtsSearchHandler, s as registerSessionDiscoveredHandler, st as registerMemorySessionStorage, t as getFullConversation, tt as mapRowToSession, u as registerParentResolver, ut as SessionExtensionContextImpl, v as registerDrizzleMessageRoutingStorage, vt as resolveAdapterNameById, w as registerMemoryMessageStorage, wt as registerResumeHandler, x as InsertMessage, xt as resetBuiltInActionsRegistration, y as MessageRoutingNamespace, yt as registerListActionsHandler, z as registerDrizzleSessionEventStorage, zt as resolveModelCapabilities } from "../../index-BvSyOgTY.mjs";
2
2
  import { a as registerCompressHandler, c as SessionTurnManager, d as Turn, f as TurnConfig, h as TurnStateChange, i as registerForkHandler, l as TurnCompleteCallback, m as TurnResult, n as routeToAgents, o as registerAttachHandler, p as TurnContext, r as registerMergeHandler, s as registerAbandonHandler, t as routeToAgentsCore, u as TurnCompletionResult } from "../../index-C6BhKRnH.mjs";
3
3
  import { r as buildProviderContext } from "../../index-D0SUjZmU.mjs";
4
- import { i as SessionStorageSubjects, r as SessionStorageNamespace } from "../../namespace-ByyuIFpL.mjs";
5
- import { a as agents, o as sessions } from "../../schema-CDL_pyyM.mjs";
6
- import { n as SessionEventStorageSubjects, t as SessionEventStorageNamespace } from "../../namespace-aBIAWxY3.mjs";
7
- import { t as TurnStorageNamespace } from "../../namespace-DBKWNrk7.mjs";
4
+ import { i as SessionStorageSubjects, r as SessionStorageNamespace } from "../../namespace-7tsuJhQ9.mjs";
5
+ import { a as agents, c as sessionsDual, o as agentsDual, s as sessions } from "../../schema-BNrM9LWb.mjs";
6
+ import { n as SessionEventStorageSubjects, t as SessionEventStorageNamespace } from "../../namespace-Ba4bxtHQ.mjs";
7
+ import { t as TurnStorageNamespace } from "../../namespace-DDCjoQUj.mjs";
8
8
  import { n as TurnStorageSubjects } from "../../namespace-D1Iw_d1P.mjs";
9
- import { i as MessageStorageSubjects, r as MessageStorageNamespace } from "../../namespace-BlS_i9KT.mjs";
10
- export { AdapterRegistry, AgentContextState, AgentStorageNamespace, AgentStorageSubjects, BuildContextOptions, CONNECTOR_SWAP_DEFAULT_PIPELINE, ContextAssemblyResult, ContextWindowTracker, ContextWindowTrackerConfig, EventTransform, FallbackRuntimeOptions, ISessionOrchestrator, InsertMessage, InsertMessageRouting, InsertSessionEvent, InsertTurn, MakaioSession, MakaioSessionConfig, MakaioSessionService, MessageRoutingNamespace, MessageRoutingSubjects, MessageStorageNamespace, MessageStorageSubjects, RecoveryConfig, SearchFilters, SearchSessionRow, SelectMessage, SelectMessageRouting, SelectSessionEvent, SelectTurn, SessionBridge, SessionContextWindowState, SessionEventStorageNamespace, SessionEventStorageSubjects, SessionExtensionContextImpl, SessionLogger, SessionLoggerOptions, SessionOrchestrator, SessionPreviewMaps, SessionStorageNamespace, SessionStorageSubjects, SessionTurnManager, StartTurnOptions, Turn, TurnCompleteCallback, TurnCompletionResult, TurnConfig, TurnContext, TurnContextEnricher, TurnResult, TurnStateChange, TurnStorageNamespace, TurnStorageSubjects, actionRegistry, agents, assembleForkContext, buildProviderContext, buildRecoveryContext, buildRecoveryContextWithPipeline, buildSessionContext, buildTurnInitiator, createSessionExtensionContext, ensureAgentCwd, ensureAgentModel, extractTextContent, fetchAgentsBySession, fetchMessageCountsBySession, fetchPreviewBySession, fetchSessionPreviewMaps, findTurnByAgent, getFullConversation, getOrCreateSession, importCursors, kindToBranchKind, mapAgentsBySession, mapRowToSession, mapToSession, messageRouting, messages, normalizeSelectionString, normalizeToBlocks, parseForkTransforms, pickFallbackRuntimeOptions, recoverAgent, registerAbandonHandler, registerAttachHandler, registerBuiltInActions, registerCompressHandler, registerCompressLineageResolver, registerCoreSessionServiceHandlers, registerDrizzleAgentStorage, registerDrizzleImportCursorStorage, registerDrizzleMessageRoutingStorage, registerDrizzleMessageStorage, registerDrizzleSessionEventStorage, registerDrizzleSessionStorage, registerDrizzleTurnStorage, registerForkHandler, registerFtsSearchHandler, registerGetStatusCountsHandler, registerListActionsHandler, registerMemoryAgentStorage, registerMemoryMessageStorage, registerMemorySessionEventStorage, registerMemorySessionStorage, registerMemoryTurnStorage, registerMergeHandler, registerParentResolver, registerResumeHandler, registerSessionDiscoveredHandler, registerSpawningToolCallResolver, resetBuiltInActionsRegistration, resolveAdapterId, resolveAdapterNameById, resolveExecutionTarget, resolveModelCapabilities, resolveTargetAgents, routeToAgents, routeToAgentsCore, sessionEvents, sessions, toSessionLineage, turns, verifyAndRecoverAgents };
9
+ import { i as MessageStorageSubjects, r as MessageStorageNamespace } from "../../namespace-B73Sxj5L.mjs";
10
+ export { AdapterRegistry, AgentContextState, AgentStorageNamespace, AgentStorageSubjects, BuildContextOptions, CONNECTOR_SWAP_DEFAULT_PIPELINE, ContextAssemblyResult, ContextWindowTracker, ContextWindowTrackerConfig, EmbeddingIndexManager, EventTransform, FallbackRuntimeOptions, ISessionOrchestrator, InsertMessage, InsertMessageRouting, InsertSessionEvent, InsertTurn, MakaioSession, MakaioSessionConfig, MakaioSessionService, MessageRoutingNamespace, MessageRoutingSubjects, MessageStorageNamespace, MessageStorageSubjects, RecoveryConfig, SearchFilters, SearchSessionRow, SelectMessage, SelectMessageRouting, SelectSessionEvent, SelectTurn, SessionBridge, SessionContextWindowState, SessionEventStorageNamespace, SessionEventStorageSubjects, SessionExtensionContextImpl, SessionLogger, SessionLoggerOptions, SessionOrchestrator, SessionPreviewMaps, SessionStorageNamespace, SessionStorageSubjects, SessionTurnManager, StartTurnOptions, Turn, TurnCompleteCallback, TurnCompletionResult, TurnConfig, TurnContext, TurnContextEnricher, TurnResult, TurnStateChange, TurnStorageNamespace, TurnStorageSubjects, actionRegistry, agents, agentsDual, assembleForkContext, buildProviderContext, buildRecoveryContext, buildRecoveryContextWithPipeline, buildSessionContext, buildTurnInitiator, createSessionExtensionContext, ensureAgentCwd, ensureAgentModel, extractTextContent, fetchAgentsBySession, fetchMessageCountsBySession, fetchPreviewBySession, fetchSessionPreviewMaps, findTurnByAgent, getFullConversation, getOrCreateSession, getSessionAncestorChain, importCursors, importCursorsDual, kindToBranchKind, mapAgentsBySession, mapRowToSession, mapToSession, messageRouting, messageRoutingDual, messages, normalizeSelectionString, normalizeToBlocks, parseForkTransforms, pickFallbackRuntimeOptions, recoverAgent, registerAbandonHandler, registerAttachHandler, registerBuiltInActions, registerCompressHandler, registerCompressLineageResolver, registerCoreSessionServiceHandlers, registerDrizzleAgentStorage, registerDrizzleImportCursorStorage, registerDrizzleMessageRoutingStorage, registerDrizzleMessageStorage, registerDrizzleSessionEventStorage, registerDrizzleSessionStorage, registerDrizzleTurnStorage, registerForkHandler, registerFtsSearchHandler, registerGetStatusCountsHandler, registerListActionsHandler, registerMemoryAgentStorage, registerMemoryMessageStorage, registerMemorySessionEventStorage, registerMemorySessionStorage, registerMemoryTurnStorage, registerMergeHandler, registerParentResolver, registerResumeHandler, registerSessionDiscoveredHandler, registerSpawningToolCallResolver, resetBuiltInActionsRegistration, resolveAdapterId, resolveAdapterNameById, resolveExecutionTarget, resolveModelCapabilities, resolveTargetAgents, routeToAgents, routeToAgentsCore, sessionEvents, sessionEventsDual, sessions, sessionsDual, toSessionLineage, turns, turnsDual, verifyAndRecoverAgents };
@@ -1 +1 @@
1
- import{agents as e,sessions as t}from"./storage/schema.mjs";import{t as n}from"../../schema-DOnJmAPw.mjs";import{t as r}from"../../schema-DCJyzRHe.mjs";import{n as i,r as a,t as o}from"../../namespace-h0HIuqx0.mjs";import{SessionStorageNamespace as s,SessionStorageSubjects as c}from"./storage/namespace.mjs";import{A as l,C as u,D as d,E as f,F as p,M as m,N as h,O as g,P as _,S as v,T as y,_ as b,a as x,b as S,c as C,d as w,f as T,g as E,h as D,i as O,j as k,k as A,l as j,m as M,n as N,o as P,p as F,r as I,s as L,t as R,u as z,v as B,w as V,x as H,y as U}from"../../handlers-Bev7-xjL.mjs";import{A as W,B as G,C as K,D as q,E as J,F as Y,G as X,H as Z,I as Q,K as $,L as ee,M as te,N as ne,O as re,P as ie,R as ae,S as oe,T as se,U as ce,V as le,W as ue,_ as de,a as fe,b as pe,c as me,d as he,f as ge,g as _e,h as ve,i as ye,j as be,k as xe,l as Se,m as Ce,n as we,o as Te,p as Ee,r as De,s as Oe,t as ke,u as Ae,v as je,w as Me,x as Ne,y as Pe,z as Fe}from"../../session-BnfsJoZi.mjs";import{TurnStorageSubjects as Ie}from"../turn/namespace.mjs";import{TurnStorageNamespace as Le}from"./turns/namespace.mjs";import{MessageStorageNamespace as Re,MessageStorageSubjects as ze}from"./messages/namespace.mjs";import{r as Be}from"../../provider-context-lfG0BpqX.mjs";export{ue as AdapterRegistry,_ as AgentStorageNamespace,p as AgentStorageSubjects,xe as CONNECTOR_SWAP_DEFAULT_PIPELINE,ke as ContextWindowTracker,Te as MakaioSession,X as MakaioSessionService,ee as MessageRoutingNamespace,ae as MessageRoutingSubjects,Re as MessageStorageNamespace,ze as MessageStorageSubjects,q as SessionBridge,o as SessionEventStorageNamespace,i as SessionEventStorageSubjects,se as SessionExtensionContextImpl,Se as SessionLogger,ie as SessionOrchestrator,s as SessionStorageNamespace,c as SessionStorageSubjects,Y as SessionTurnManager,k as Turn,ne as TurnContextEnricher,Le as TurnStorageNamespace,Ie as TurnStorageSubjects,S as actionRegistry,e as agents,N as assembleForkContext,Be as buildProviderContext,B as buildRecoveryContext,F as buildRecoveryContextWithPipeline,H as buildSessionContext,y as buildTurnInitiator,J as createSessionExtensionContext,M as ensureAgentCwd,D as ensureAgentModel,A as extractTextContent,he as fetchAgentsBySession,ge as fetchMessageCountsBySession,Ee as fetchPreviewBySession,je as fetchSessionPreviewMaps,f as findTurnByAgent,U as getFullConversation,d as getOrCreateSession,me as importCursors,K as kindToBranchKind,Pe as mapAgentsBySession,Ce as mapRowToSession,pe as mapToSession,Fe as messageRouting,r as messages,w as normalizeSelectionString,l as normalizeToBlocks,ve as parseForkTransforms,re as pickFallbackRuntimeOptions,E as recoverAgent,j as registerAbandonHandler,C as registerAttachHandler,P as registerBuiltInActions,x as registerCompressHandler,ye as registerCompressLineageResolver,$ as registerCoreSessionServiceHandlers,Ne as registerDrizzleAgentStorage,Oe as registerDrizzleImportCursorStorage,Q as registerDrizzleMessageRoutingStorage,le as registerDrizzleMessageStorage,Z as registerDrizzleSessionEventStorage,de as registerDrizzleSessionStorage,h as registerDrizzleTurnStorage,O as registerForkHandler,Ae as registerFtsSearchHandler,be as registerGetStatusCountsHandler,W as registerListActionsHandler,_e as registerMemoryAgentStorage,G as registerMemoryMessageStorage,ce as registerMemorySessionEventStorage,oe as registerMemorySessionStorage,m as registerMemoryTurnStorage,I as registerMergeHandler,fe as registerParentResolver,te as registerResumeHandler,we as registerSessionDiscoveredHandler,De as registerSpawningToolCallResolver,L as resetBuiltInActionsRegistration,v as resolveAdapterId,T as resolveAdapterNameById,u as resolveExecutionTarget,V as resolveModelCapabilities,g as resolveTargetAgents,R as routeToAgents,z as routeToAgentsCore,a as sessionEvents,t as sessions,Me as toSessionLineage,n as turns,b as verifyAndRecoverAgents};
1
+ import{agents as e,agentsDual as t,sessions as n,sessionsDual as r}from"./storage/schema.mjs";import{n as i,t as a}from"../../schema-BrnYlDwZ.mjs";import{t as o}from"../../schema-BerZmr2q.mjs";import{i as s,n as c,r as l,t as u}from"../../namespace-DwE2g8Wm.mjs";import{SessionStorageNamespace as d,SessionStorageSubjects as f}from"./storage/namespace.mjs";import{A as p,C as m,D as h,E as g,F as _,M as v,N as y,O as b,P as x,S,T as C,_ as w,a as T,b as E,c as D,d as O,f as k,g as A,h as j,i as M,j as N,k as P,l as F,m as I,n as L,o as R,p as z,r as B,s as V,t as H,u as U,v as W,w as G,x as K,y as q}from"../../handlers-C8EtpSqK.mjs";import{A as J,B as Y,C as X,D as Z,E as Q,F as $,G as ee,H as te,I as ne,J as re,K as ie,L as ae,M as oe,N as se,O as ce,P as le,R as ue,S as de,T as fe,U as pe,V as me,W as he,X as ge,Y as _e,_ as ve,a as ye,b as be,c as xe,d as Se,f as Ce,g as we,h as Te,i as Ee,j as De,k as Oe,l as ke,m as Ae,n as je,o as Me,p as Ne,q as Pe,r as Fe,s as Ie,t as Le,u as Re,v as ze,w as Be,x as Ve,y as He,z as Ue}from"../../session-KnewDVxt.mjs";import{TurnStorageSubjects as We}from"../turn/namespace.mjs";import{TurnStorageNamespace as Ge}from"./turns/namespace.mjs";import{MessageStorageNamespace as Ke,MessageStorageSubjects as qe}from"./messages/namespace.mjs";import{r as Je}from"../../provider-context-lfG0BpqX.mjs";export{re as AdapterRegistry,x as AgentStorageNamespace,_ as AgentStorageSubjects,oe as CONNECTOR_SWAP_DEFAULT_PIPELINE,Le as ContextWindowTracker,Ie as EmbeddingIndexManager,Me as MakaioSession,_e as MakaioSessionService,Y as MessageRoutingNamespace,me as MessageRoutingSubjects,Ke as MessageStorageNamespace,qe as MessageStorageSubjects,J as SessionBridge,u as SessionEventStorageNamespace,c as SessionEventStorageSubjects,ce as SessionExtensionContextImpl,Se as SessionLogger,ae as SessionOrchestrator,d as SessionStorageNamespace,f as SessionStorageSubjects,ue as SessionTurnManager,N as Turn,ne as TurnContextEnricher,Ge as TurnStorageNamespace,We as TurnStorageSubjects,E as actionRegistry,e as agents,t as agentsDual,L as assembleForkContext,Je as buildProviderContext,W as buildRecoveryContext,z as buildRecoveryContextWithPipeline,K as buildSessionContext,C as buildTurnInitiator,Oe as createSessionExtensionContext,I as ensureAgentCwd,j as ensureAgentModel,P as extractTextContent,Ae as fetchAgentsBySession,Te as fetchMessageCountsBySession,we as fetchPreviewBySession,Ve as fetchSessionPreviewMaps,g as findTurnByAgent,q as getFullConversation,h as getOrCreateSession,Ce as getSessionAncestorChain,ke as importCursors,Re as importCursorsDual,Q as kindToBranchKind,de as mapAgentsBySession,ve as mapRowToSession,X as mapToSession,te as messageRouting,pe as messageRoutingDual,o as messages,O as normalizeSelectionString,p as normalizeToBlocks,ze as parseForkTransforms,De as pickFallbackRuntimeOptions,A as recoverAgent,F as registerAbandonHandler,D as registerAttachHandler,R as registerBuiltInActions,T as registerCompressHandler,Ee as registerCompressLineageResolver,ge as registerCoreSessionServiceHandlers,Be as registerDrizzleAgentStorage,xe as registerDrizzleImportCursorStorage,Ue as registerDrizzleMessageRoutingStorage,ee as registerDrizzleMessageStorage,ie as registerDrizzleSessionEventStorage,be as registerDrizzleSessionStorage,y as registerDrizzleTurnStorage,M as registerForkHandler,Ne as registerFtsSearchHandler,le as registerGetStatusCountsHandler,se as registerListActionsHandler,He as registerMemoryAgentStorage,he as registerMemoryMessageStorage,Pe as registerMemorySessionEventStorage,fe as registerMemorySessionStorage,v as registerMemoryTurnStorage,B as registerMergeHandler,ye as registerParentResolver,$ as registerResumeHandler,je as registerSessionDiscoveredHandler,Fe as registerSpawningToolCallResolver,V as resetBuiltInActionsRegistration,S as resolveAdapterId,k as resolveAdapterNameById,m as resolveExecutionTarget,G as resolveModelCapabilities,b as resolveTargetAgents,H as routeToAgents,U as routeToAgentsCore,l as sessionEvents,s as sessionEventsDual,n as sessions,r as sessionsDual,Z as toSessionLineage,a as turns,i as turnsDual,w as verifyAndRecoverAgents};
@@ -1,2 +1,2 @@
1
- import { i as MessageStorageSubjects, n as MessagePageCursorSchema, r as MessageStorageNamespace, t as MessagePageCursor } from "../../../namespace-BlS_i9KT.mjs";
1
+ import { i as MessageStorageSubjects, n as MessagePageCursorSchema, r as MessageStorageNamespace, t as MessagePageCursor } from "../../../namespace-B73Sxj5L.mjs";
2
2
  export { MessagePageCursor, MessagePageCursorSchema, MessageStorageNamespace, MessageStorageSubjects };
@@ -1 +1 @@
1
- import{t as e}from"../../../schema-DCJyzRHe.mjs";import{MessagePageCursorSchema as t,MessageStorageNamespace as n,MessageStorageSubjects as r}from"@makaio/framework/contracts";const i={...n,extensions:{drizzle:{messages:e}}};export{t as MessagePageCursorSchema,i as MessageStorageNamespace,r as MessageStorageSubjects};
1
+ import{t as e}from"../../../schema-BerZmr2q.mjs";import{MessagePageCursorSchema as t,MessageStorageNamespace as n,MessageStorageSubjects as r}from"@makaio/framework/contracts";const i={...n,extensions:{drizzle:{messages:e}}};export{t as MessagePageCursorSchema,i as MessageStorageNamespace,r as MessageStorageSubjects};
@@ -1 +1 @@
1
- import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w,y as T}from"../../../orchestrator-shared-FnWrPS09.mjs";export{S as collectTurnCompletedEvents,T as collectTurnStartedEvents,o as collectUserMessageAcknowledgedEvents,w as collectUserMessageCompletedEvents,n as collectUserMessageSentEvents,b as createMockAgent,h as createMockSession,e as emitAdapterInitialized,v as emitAgentAdded,f as emitAgentComplete,a as emitAgentError,C as getStoredEvents,g as registerAgentAddedHandler,y as registerCapturingStartAgentHandler,s as registerCreateSessionHandler,p as registerCwdChangeHandler,x as registerFailingSendMessageHandler,c as registerFailingStartAgentHandler,l as registerGetAgentHandler,_ as registerGetSessionHandler,m as registerModelChangeHandler,d as registerRehydrateAgentHandler,u as registerSendMessageHandler,i as registerStartAgentHandler,r as resetBusHandlers,t as waitForAsync};
1
+ import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w,y as T}from"../../../orchestrator-shared-Dt4WDse7.mjs";export{S as collectTurnCompletedEvents,T as collectTurnStartedEvents,o as collectUserMessageAcknowledgedEvents,w as collectUserMessageCompletedEvents,n as collectUserMessageSentEvents,b as createMockAgent,h as createMockSession,e as emitAdapterInitialized,v as emitAgentAdded,f as emitAgentComplete,a as emitAgentError,C as getStoredEvents,g as registerAgentAddedHandler,y as registerCapturingStartAgentHandler,s as registerCreateSessionHandler,p as registerCwdChangeHandler,x as registerFailingSendMessageHandler,c as registerFailingStartAgentHandler,l as registerGetAgentHandler,_ as registerGetSessionHandler,m as registerModelChangeHandler,d as registerRehydrateAgentHandler,u as registerSendMessageHandler,i as registerStartAgentHandler,r as resetBusHandlers,t as waitForAsync};
@@ -1,2 +1,2 @@
1
- import { n as SessionEventStorageSubjects, t as SessionEventStorageNamespace } from "../../../namespace-aBIAWxY3.mjs";
1
+ import { n as SessionEventStorageSubjects, t as SessionEventStorageNamespace } from "../../../namespace-Ba4bxtHQ.mjs";
2
2
  export { SessionEventStorageNamespace, SessionEventStorageSubjects };
@@ -1 +1 @@
1
- import{n as e,t}from"../../../namespace-h0HIuqx0.mjs";export{t as SessionEventStorageNamespace,e as SessionEventStorageSubjects};
1
+ import{n as e,t}from"../../../namespace-DwE2g8Wm.mjs";export{t as SessionEventStorageNamespace,e as SessionEventStorageSubjects};
@@ -1,2 +1,2 @@
1
- import { a as SessionWithPreview, i as SessionStorageSubjects, n as SessionPreviewDataSchema, o as SessionWithPreviewSchema, r as SessionStorageNamespace, t as SessionPreviewData } from "../../../namespace-ByyuIFpL.mjs";
1
+ import { a as SessionWithPreview, i as SessionStorageSubjects, n as SessionPreviewDataSchema, o as SessionWithPreviewSchema, r as SessionStorageNamespace, t as SessionPreviewData } from "../../../namespace-7tsuJhQ9.mjs";
2
2
  export { SessionPreviewData, SessionPreviewDataSchema, SessionStorageNamespace, SessionStorageSubjects, SessionWithPreview, SessionWithPreviewSchema };
@@ -1,2 +1,2 @@
1
- import { a as agents, i as SelectSession, n as InsertSession, o as sessions, r as SelectAgent, t as InsertAgent } from "../../../schema-CDL_pyyM.mjs";
2
- export { InsertAgent, InsertSession, SelectAgent, SelectSession, agents, sessions };
1
+ import { a as agents, c as sessionsDual, i as SelectSession, n as InsertSession, o as agentsDual, r as SelectAgent, s as sessions, t as InsertAgent } from "../../../schema-BNrM9LWb.mjs";
2
+ export { InsertAgent, InsertSession, SelectAgent, SelectSession, agents, agentsDual, sessions, sessionsDual };
@@ -1 +1 @@
1
- import{check as e,index as t,integer as n,sqliteTable as r,text as i,uniqueIndex as a}from"drizzle-orm/sqlite-core";import{sql as o}from"drizzle-orm";const s=r(`sessions`,{sessionId:i(`session_id`).primaryKey(),createdAt:n(`created_at`).notNull(),lastActivityAt:n(`last_activity_at`).notNull(),status:i(`status`,{enum:[`active`,`closed`,`archived`,`discovered`]}).notNull(),leadAgentId:i(`lead_agent_id`),parentSessionId:i(`parent_session_id`),contextInheritance:i(`context_inheritance`,{enum:[`parent-history`,`none`]}),rootSessionId:i(`root_session_id`),forkPointMessageId:i(`fork_point_message_id`),branchKind:i(`branch_kind`,{enum:[`fork`,`branch`,`subagent`,`compress`,`rewrite`,`coordinator`,`aside`]}),adapterName:i(`adapter_name`),adapterSessionId:i(`adapter_session_id`),adapterId:i(`adapter_id`),clientId:i(`client_id`),clientAccountId:i(`client_account_id`),lastClientIdentityObservation:i(`last_client_identity_observation`),isOrchestrated:n(`is_orchestrated`,{mode:`boolean`}).default(!1),title:i(`title`),summary:i(`summary`),summaryUpdatedAt:n(`summary_updated_at`),isImported:n(`is_imported`,{mode:`boolean`}).default(!1),forkTransforms:i(`fork_transforms`),targetWorkingDirectory:i(`target_working_directory`),executionTargetId:i(`execution_target_id`),approvalPolicyOverride:i(`approval_policy_override`,{enum:[`reject`,`always-ask`,`full-access`]}),spawningToolCallId:i(`spawning_tool_call_id`),source:i(`source`),parentExternalSessionId:i(`parent_external_session_id`),logFilePath:i(`log_file_path`),discoveredAt:n(`discovered_at`),importStatus:i(`import_status`,{enum:[`discovered`,`imported`,`tracking`]})},n=>[a(`uniq_sessions_source_adapter_session_id`).on(n.source,n.adapterSessionId),a(`uniq_sessions_log_file_path`).on(n.logFilePath),t(`sessions_adapter_session_id_idx`).on(n.adapterSessionId),t(`idx_sessions_import_status`).on(n.importStatus),t(`sessions_execution_target_id_idx`).on(n.executionTargetId),e(`sessions_import_status_check`,o`${n.importStatus} IS NULL OR ${n.importStatus} IN ('discovered', 'imported', 'tracking')`),e(`sessions_context_inheritance_check`,o`${n.contextInheritance} IS NULL OR ${n.contextInheritance} IN ('parent-history', 'none')`)]),c=r(`agents`,{agentId:i(`agent_id`).primaryKey(),adapterId:i(`adapter_id`).notNull(),adapterName:i(`adapter_name`).notNull(),sessionId:i(`session_id`).notNull().references(()=>s.sessionId,{onDelete:`cascade`}),adapterSessionId:i(`adapter_session_id`),model:i(`model`),cwd:i(`cwd`),providerConfigId:i(`provider_config_id`),personaId:i(`persona_id`),profileId:i(`profile_id`),harnessId:i(`harness_id`),clientId:i(`client_id`),compressionMode:i(`compression_mode`),role:i(`role`,{enum:[`lead`,`member`]}).notNull(),status:i(`status`,{enum:[`idle`,`active`,`dead`,`disposed`]}).notNull(),createdAt:n(`created_at`).notNull(),lastActivityAt:n(`last_activity_at`).notNull()},e=>[t(`agents_session_id_idx`).on(e.sessionId),t(`agents_adapter_name_idx`).on(e.adapterName),t(`agents_status_idx`).on(e.status),t(`agents_client_id_idx`).on(e.clientId)]);export{c as agents,s as sessions};
1
+ import{check as e,index as t,uniqueIndex as n}from"drizzle-orm/sqlite-core";import{check as r,index as i,uniqueIndex as a}from"drizzle-orm/pg-core";import{defineDualTable as o}from"@makaio/framework/storage/drizzle";import{sql as s}from"drizzle-orm";const c=o(`sessions`,e=>({sessionId:e.text(`session_id`).primaryKey(),createdAt:e.epochMs(`created_at`).notNull(),lastActivityAt:e.epochMs(`last_activity_at`).notNull(),status:e.textEnum(`status`,{enum:[`active`,`closed`,`archived`,`discovered`]}).notNull(),leadAgentId:e.text(`lead_agent_id`),parentSessionId:e.text(`parent_session_id`),contextInheritance:e.textEnum(`context_inheritance`,{enum:[`parent-history`,`none`]}),rootSessionId:e.text(`root_session_id`),forkPointMessageId:e.text(`fork_point_message_id`),branchKind:e.textEnum(`branch_kind`,{enum:[`fork`,`branch`,`subagent`,`compress`,`rewrite`,`coordinator`,`aside`]}),adapterName:e.text(`adapter_name`),adapterSessionId:e.text(`adapter_session_id`),adapterId:e.text(`adapter_id`),clientId:e.text(`client_id`),clientAccountId:e.text(`client_account_id`),lastClientIdentityObservation:e.text(`last_client_identity_observation`),isOrchestrated:e.bool(`is_orchestrated`).default(!1),title:e.text(`title`),summary:e.text(`summary`),summaryUpdatedAt:e.epochMs(`summary_updated_at`),isImported:e.bool(`is_imported`).default(!1),forkTransforms:e.text(`fork_transforms`),targetWorkingDirectory:e.text(`target_working_directory`),executionTargetId:e.text(`execution_target_id`),approvalPolicyOverride:e.textEnum(`approval_policy_override`,{enum:[`reject`,`always-ask`,`full-access`]}),spawningToolCallId:e.text(`spawning_tool_call_id`),source:e.text(`source`),parentExternalSessionId:e.text(`parent_external_session_id`),logFilePath:e.text(`log_file_path`),discoveredAt:e.epochMs(`discovered_at`),importStatus:e.textEnum(`import_status`,{enum:[`discovered`,`imported`,`tracking`]})}),{sqlite:r=>[n(`uniq_sessions_source_adapter_session_id`).on(r.source,r.adapterSessionId),n(`uniq_sessions_log_file_path`).on(r.logFilePath),t(`sessions_adapter_session_id_idx`).on(r.adapterSessionId),t(`idx_sessions_import_status`).on(r.importStatus),t(`sessions_execution_target_id_idx`).on(r.executionTargetId),t(`idx_sessions_parent_session_id`).on(r.parentSessionId),e(`sessions_import_status_check`,s`${r.importStatus} IS NULL OR ${r.importStatus} IN ('discovered', 'imported', 'tracking')`),e(`sessions_context_inheritance_check`,s`${r.contextInheritance} IS NULL OR ${r.contextInheritance} IN ('parent-history', 'none')`)],postgres:e=>[a(`uniq_sessions_source_adapter_session_id`).on(e.source,e.adapterSessionId),a(`uniq_sessions_log_file_path`).on(e.logFilePath),i(`sessions_adapter_session_id_idx`).on(e.adapterSessionId),i(`idx_sessions_import_status`).on(e.importStatus),i(`sessions_execution_target_id_idx`).on(e.executionTargetId),i(`idx_sessions_parent_session_id`).on(e.parentSessionId),r(`sessions_import_status_check`,s`${e.importStatus} IS NULL OR ${e.importStatus} IN ('discovered', 'imported', 'tracking')`),r(`sessions_context_inheritance_check`,s`${e.contextInheritance} IS NULL OR ${e.contextInheritance} IN ('parent-history', 'none')`)]}),l=c.sqlite,u=o(`agents`,e=>({agentId:e.text(`agent_id`).primaryKey(),adapterId:e.text(`adapter_id`).notNull(),adapterName:e.text(`adapter_name`).notNull(),sessionId:e.text(`session_id`).notNull().references(()=>c.columnPair(`sessionId`),{onDelete:`cascade`}),adapterSessionId:e.text(`adapter_session_id`),model:e.text(`model`),cwd:e.text(`cwd`),providerConfigId:e.text(`provider_config_id`),personaId:e.text(`persona_id`),profileId:e.text(`profile_id`),harnessId:e.text(`harness_id`),clientId:e.text(`client_id`),compressionMode:e.text(`compression_mode`),role:e.textEnum(`role`,{enum:[`lead`,`member`]}).notNull(),status:e.textEnum(`status`,{enum:[`idle`,`active`,`dead`,`disposed`]}).notNull(),createdAt:e.epochMs(`created_at`).notNull(),lastActivityAt:e.epochMs(`last_activity_at`).notNull()}),{sqlite:e=>[t(`agents_session_id_idx`).on(e.sessionId),t(`agents_adapter_name_idx`).on(e.adapterName),t(`agents_status_idx`).on(e.status),t(`agents_client_id_idx`).on(e.clientId)],postgres:e=>[i(`agents_session_id_idx`).on(e.sessionId),i(`agents_adapter_name_idx`).on(e.adapterName),i(`agents_status_idx`).on(e.status),i(`agents_client_id_idx`).on(e.clientId)]}),d=u.sqlite;export{d as agents,u as agentsDual,l as sessions,c as sessionsDual};
@@ -1,5 +1,5 @@
1
- import { SQL } from "drizzle-orm";
2
1
  import { MakaioDatabase } from "@makaio/framework/storage/drizzle";
2
+ import { SQL } from "drizzle-orm";
3
3
 
4
4
  //#region services/core/src/session/testing/storage-test-schema.d.ts
5
5
  /**
@@ -12,6 +12,22 @@ declare const SESSION_STORAGE_TEST_SCHEMA_SQL: SQL[];
12
12
  * @param db - Database to initialize
13
13
  */
14
14
  declare function installSessionStorageTestSchema(db: MakaioDatabase): Promise<void>;
15
+ /**
16
+ * SQL statements that install the messages tier of the session-storage test
17
+ * schema: `turns`, `messages` (canonical column set including
18
+ * `adapter_message_id` and a nullable `turn_id`), the content-backed
19
+ * `messages_fts` FTS5 virtual table, and the FTS sync triggers. Mirrors the
20
+ * FTS5 setup the runtime's migration step applies on SQLite.
21
+ */
22
+ declare const MESSAGES_FTS_TEST_SCHEMA_SQL: SQL[];
23
+ /**
24
+ * Install the messages tier of the session-storage test schema on top of
25
+ * {@link installSessionStorageTestSchema} (the `turns` and `messages` tables
26
+ * reference `sessions`). FTS-backed search tests call this before inserting
27
+ * message fixtures; the triggers keep `messages_fts` in sync automatically.
28
+ * @param db - Database to initialize
29
+ */
30
+ declare function installMessagesFtsTestSchema(db: MakaioDatabase): Promise<void>;
15
31
  //#endregion
16
32
  //#region services/core/src/session/testing/index.d.ts
17
33
  /**
@@ -32,4 +48,4 @@ declare function registerMockStorageHandlers(): () => void;
32
48
  */
33
49
  declare function registerMockProviderHandlers(): () => void;
34
50
  //#endregion
35
- export { SESSION_STORAGE_TEST_SCHEMA_SQL, installSessionStorageTestSchema, registerMockProviderHandlers, registerMockStorageHandlers };
51
+ export { MESSAGES_FTS_TEST_SCHEMA_SQL, SESSION_STORAGE_TEST_SCHEMA_SQL, installMessagesFtsTestSchema, installSessionStorageTestSchema, registerMockProviderHandlers, registerMockStorageHandlers };
@@ -1,4 +1,4 @@
1
- import{n as e}from"../../../namespace-h0HIuqx0.mjs";import{SessionStorageSubjects as t}from"../storage/namespace.mjs";import{F as n}from"../../../handlers-Bev7-xjL.mjs";import{R as r}from"../../../session-BnfsJoZi.mjs";import{TurnStorageSubjects as i}from"../../turn/namespace.mjs";import{AdapterRuntimeSubjects as a}from"../../adapter-runtime/namespace.mjs";import{MessageStorageSubjects as o}from"../messages/namespace.mjs";import{n as s}from"../../../namespace-ENv7H7Na.mjs";import{ProviderStorageSubjects as c}from"../../settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as l}from"../../execution-target/namespace.mjs";import{t as u}from"../../../identity-Bmx-8fPa.mjs";import{MakaioBus as d}from"@makaio/framework/bus";import{AdapterSubjects as f}from"@makaio/framework/contracts";import{sql as p}from"drizzle-orm";import{buildStoredCredentialRef as m}from"@makaio/framework/contracts/config";function h(e){let t=new u(e);return{registerHandlers(){let e=[d.on(f.initialized,e=>{t.rememberAdapterId(e.payload.adapterId,e.payload.adapterName)}),d.on(a.resolveId,e=>{let n=t.resolveId(e.payload);e.setResult({adapterId:n})}),d.on(a.resolveName,e=>{let n=t.resolveAdapterName(e.payload.adapterId);if(!n)throw Error(`Adapter not found for adapterId="${e.payload.adapterId}"`);e.setResult({adapterName:n})})];return()=>{for(let t of e)t()}},async registerKnownAdapter(e,n){let r=n??t.resolveId({adapterName:e});await d.emit(f.initialized,{adapterName:e,adapterId:r,capabilities:[]})}}}function g(e){let t=h(e);return{registry:t,unsubscribe:t.registerHandlers()}}const _=[p`
1
+ import{n as e}from"../../../namespace-DwE2g8Wm.mjs";import{SessionStorageSubjects as t}from"../storage/namespace.mjs";import{F as n}from"../../../handlers-C8EtpSqK.mjs";import{V as r}from"../../../session-KnewDVxt.mjs";import{TurnStorageSubjects as i}from"../../turn/namespace.mjs";import{AdapterRuntimeSubjects as a}from"../../adapter-runtime/namespace.mjs";import{MessageStorageSubjects as o}from"../messages/namespace.mjs";import{n as s}from"../../../namespace-ENv7H7Na.mjs";import{ProviderStorageSubjects as c}from"../../settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as l}from"../../execution-target/namespace.mjs";import{t as u}from"../../../identity-Bmx-8fPa.mjs";import{MakaioBus as d}from"@makaio/framework/bus";import{AdapterSubjects as f}from"@makaio/framework/contracts";import{getRawSqlExecutor as p}from"@makaio/framework/storage/drizzle";import{sql as m}from"drizzle-orm";import{buildStoredCredentialRef as h}from"@makaio/framework/contracts/config";function g(e){let t=new u(e);return{registerHandlers(){let e=[d.on(f.initialized,e=>{t.rememberAdapterId(e.payload.adapterId,e.payload.adapterName)}),d.on(a.resolveId,e=>{let n=t.resolveId(e.payload);e.setResult({adapterId:n})}),d.on(a.resolveName,e=>{let n=t.resolveAdapterName(e.payload.adapterId);if(!n)throw Error(`Adapter not found for adapterId="${e.payload.adapterId}"`);e.setResult({adapterName:n})})];return()=>{for(let t of e)t()}},async registerKnownAdapter(e,n){let r=n??t.resolveId({adapterName:e});await d.emit(f.initialized,{adapterName:e,adapterId:r,capabilities:[]})}}}function _(e){let t=g(e);return{registry:t,unsubscribe:t.registerHandlers()}}const v=[m`
2
2
  CREATE TABLE IF NOT EXISTS sessions (
3
3
  session_id TEXT PRIMARY KEY,
4
4
  created_at INTEGER NOT NULL,
@@ -42,7 +42,7 @@ import{n as e}from"../../../namespace-h0HIuqx0.mjs";import{SessionStorageSubject
42
42
  OR import_status IN ('discovered', 'imported', 'tracking')
43
43
  )
44
44
  )
45
- `,p`CREATE UNIQUE INDEX IF NOT EXISTS uniq_sessions_source_adapter_session_id ON sessions(source, adapter_session_id)`,p`CREATE UNIQUE INDEX IF NOT EXISTS uniq_sessions_log_file_path ON sessions(log_file_path)`,p`CREATE INDEX IF NOT EXISTS sessions_adapter_session_id_idx ON sessions(adapter_session_id)`,p`CREATE INDEX IF NOT EXISTS idx_sessions_import_status ON sessions(import_status)`,p`CREATE INDEX IF NOT EXISTS sessions_execution_target_id_idx ON sessions(execution_target_id)`,p`
45
+ `,m`CREATE UNIQUE INDEX IF NOT EXISTS uniq_sessions_source_adapter_session_id ON sessions(source, adapter_session_id)`,m`CREATE UNIQUE INDEX IF NOT EXISTS uniq_sessions_log_file_path ON sessions(log_file_path)`,m`CREATE INDEX IF NOT EXISTS sessions_adapter_session_id_idx ON sessions(adapter_session_id)`,m`CREATE INDEX IF NOT EXISTS idx_sessions_import_status ON sessions(import_status)`,m`CREATE INDEX IF NOT EXISTS sessions_execution_target_id_idx ON sessions(execution_target_id)`,m`
46
46
  CREATE TABLE IF NOT EXISTS agents (
47
47
  agent_id TEXT PRIMARY KEY NOT NULL,
48
48
  adapter_id TEXT NOT NULL,
@@ -62,4 +62,53 @@ import{n as e}from"../../../namespace-h0HIuqx0.mjs";import{SessionStorageSubject
62
62
  created_at INTEGER NOT NULL,
63
63
  last_activity_at INTEGER NOT NULL
64
64
  )
65
- `,p`CREATE INDEX IF NOT EXISTS agents_session_id_idx ON agents(session_id)`,p`CREATE INDEX IF NOT EXISTS agents_adapter_name_idx ON agents(adapter_name)`,p`CREATE INDEX IF NOT EXISTS agents_status_idx ON agents(status)`,p`CREATE INDEX IF NOT EXISTS agents_client_id_idx ON agents(client_id)`];async function v(e){for(let t of _)await e.run(t)}function y(){let e=[];return x(e),S(e),C(e),w(e),T(e),E(e),()=>e.forEach(e=>e())}function b(){let e=[];return D(e),O(e),()=>e.forEach(e=>e())}function x(e){let t=new Map,n=new Map;e.push(d.on(i.create,e=>{let{sessionId:r}=e.payload,i=(t.get(r)??0)+1;t.set(r,i);let a=e.payload.turnId??crypto.randomUUID(),o=Date.now();n.set(a,{sessionId:r,turnNumber:i,startedAt:o}),e.setResult({turn:{turnId:a,sessionId:r,turnNumber:i,startedAt:o,status:`active`}})})),e.push(d.on(i.complete,e=>{let t=n.get(e.payload.turnId);if(!t)throw Error(`Mock turn ${e.payload.turnId} was not created before completion`);e.setResult({turn:{turnId:e.payload.turnId,sessionId:t.sessionId,turnNumber:t.turnNumber,startedAt:t.startedAt,completedAt:Date.now(),status:e.payload.status,error:e.payload.error,usage:e.payload.usage},transitioned:!0})})),e.push(d.on(i.set,e=>{let{turn:r}=e.payload;n.set(r.turnId,{sessionId:r.sessionId,turnNumber:r.turnNumber,startedAt:r.startedAt}),t.set(r.sessionId,Math.max(t.get(r.sessionId)??0,r.turnNumber)),e.setResult({turn:r})})),e.push(d.on(i.getBySession,e=>{e.setResult({turns:[]})}))}function S(e){e.push(d.on(o.append,e=>{let{message:t}=e.payload;e.setResult({message:{messageId:t.messageId??`msg-${crypto.randomUUID().slice(0,8)}`,turnId:t.turnId,sessionId:t.sessionId,role:t.role,contentText:t.contentText,blocks:t.blocks,agentId:t.agentId,adapterSessionId:t.adapterSessionId,adapterMessageId:t.adapterMessageId,timestamp:t.timestamp,editOf:t.editOf}})})),e.push(d.on(o.getByTurn,e=>{e.setResult({messages:[]})})),e.push(d.on(o.getBySession,e=>{e.setResult({messages:[],nextCursor:null})}))}function C(e){e.push(d.on(r.record,e=>{e.setResult({success:!0})})),e.push(d.on(r.getByMessage,e=>{e.setResult({routing:[]})}))}function w(e){e.push(g(`test-machine`).unsubscribe)}function T(e){e.push(d.on(n.set,e=>{e.setResult({success:!0})})),e.push(d.on(n.get,e=>{e.setResult({agent:null})})),e.push(d.on(n.listBySession,e=>{e.setResult({agents:[]})}))}function E(n){n.push(d.on(t.get,e=>{e.setResult({session:{sessionId:e.payload.sessionId,createdAt:Date.now(),lastActivityAt:Date.now(),status:`active`,agents:[]}})})),n.push(d.on(e.getEvents,e=>{e.setResult({events:[],nextCursor:null,totalCount:0})})),n.push(d.on(o.get,e=>{e.setResult({message:null})})),n.push(d.on(t.update,e=>{e.setResult({success:!0})}))}function D(e){e.push(d.on(l.resolve,e=>{e.setResult({executionTarget:{id:`system:local`,name:`Local`,description:`Default local process execution`,type:`local`,scope:`default`,enabled:!0,createdAt:0,updatedAt:0}})}))}function O(e){e.push(d.on(s.getProviderConfig,e=>{e.setResult({config:{id:e.payload.id,definitionId:`test-provider`,name:`Test Provider`,modelFilterMode:`show-all`,isDefault:!1,enabled:!0,isSentinel:!1,hasCredentials:!0}})})),e.push(d.on(s.buildProviderContext,e=>{e.setResult({context:{providerConfigId:e.payload.providerConfigId,definitionId:`test-provider`,credentialRefs:{apiKey:m(e.payload.providerConfigId,`apiKey`)},credentialEnvVars:{apiKey:`API_KEY`}}})})),e.push(d.on(c.get,e=>{e.setResult({provider:{id:e.payload.id,packageName:`@makaio/test-provider`,name:`Test Provider`,availableModels:[],defaultModelFilterMode:`show-all`,enabled:!0,createdAt:0,updatedAt:0}})}))}export{_ as SESSION_STORAGE_TEST_SCHEMA_SQL,v as installSessionStorageTestSchema,b as registerMockProviderHandlers,y as registerMockStorageHandlers};
65
+ `,m`CREATE INDEX IF NOT EXISTS agents_session_id_idx ON agents(session_id)`,m`CREATE INDEX IF NOT EXISTS agents_adapter_name_idx ON agents(adapter_name)`,m`CREATE INDEX IF NOT EXISTS agents_status_idx ON agents(status)`,m`CREATE INDEX IF NOT EXISTS agents_client_id_idx ON agents(client_id)`];async function y(e){let t=p(e);for(let e of v)await t.run(e)}const b=[m`
66
+ CREATE TABLE IF NOT EXISTS turns (
67
+ turn_id TEXT PRIMARY KEY,
68
+ session_id TEXT NOT NULL REFERENCES sessions(session_id) ON DELETE CASCADE,
69
+ started_at INTEGER NOT NULL,
70
+ completed_at INTEGER,
71
+ status TEXT NOT NULL CHECK (status IN ('active', 'completed', 'error')),
72
+ error TEXT
73
+ )
74
+ `,m`
75
+ CREATE TABLE IF NOT EXISTS messages (
76
+ message_id TEXT PRIMARY KEY,
77
+ turn_id TEXT REFERENCES turns(turn_id) ON DELETE CASCADE,
78
+ session_id TEXT NOT NULL REFERENCES sessions(session_id) ON DELETE CASCADE,
79
+ role TEXT NOT NULL CHECK (role IN ('user', 'assistant')),
80
+ content_text TEXT NOT NULL,
81
+ blocks TEXT NOT NULL DEFAULT '[]',
82
+ agent_id TEXT,
83
+ adapter_session_id TEXT,
84
+ adapter_message_id TEXT,
85
+ timestamp INTEGER NOT NULL,
86
+ edit_of TEXT,
87
+ origin TEXT
88
+ )
89
+ `,m`
90
+ CREATE VIRTUAL TABLE IF NOT EXISTS messages_fts USING fts5(
91
+ session_id,
92
+ content_text,
93
+ content='messages',
94
+ content_rowid='rowid',
95
+ tokenize='porter unicode61'
96
+ )
97
+ `,m`
98
+ CREATE TRIGGER IF NOT EXISTS messages_ai AFTER INSERT ON messages BEGIN
99
+ INSERT INTO messages_fts(rowid, session_id, content_text)
100
+ VALUES (NEW.rowid, NEW.session_id, NEW.content_text);
101
+ END
102
+ `,m`
103
+ CREATE TRIGGER IF NOT EXISTS messages_ad AFTER DELETE ON messages BEGIN
104
+ INSERT INTO messages_fts(messages_fts, rowid, session_id, content_text)
105
+ VALUES('delete', OLD.rowid, OLD.session_id, OLD.content_text);
106
+ END
107
+ `,m`
108
+ CREATE TRIGGER IF NOT EXISTS messages_au AFTER UPDATE ON messages BEGIN
109
+ INSERT INTO messages_fts(messages_fts, rowid, session_id, content_text)
110
+ VALUES('delete', OLD.rowid, OLD.session_id, OLD.content_text);
111
+ INSERT INTO messages_fts(rowid, session_id, content_text)
112
+ VALUES (NEW.rowid, NEW.session_id, NEW.content_text);
113
+ END
114
+ `];async function x(e){let t=p(e);for(let e of b)await t.run(e)}function S(){let e=[];return w(e),T(e),E(e),D(e),O(e),k(e),()=>e.forEach(e=>e())}function C(){let e=[];return A(e),j(e),()=>e.forEach(e=>e())}function w(e){let t=new Map,n=new Map;e.push(d.on(i.create,e=>{let{sessionId:r}=e.payload,i=(t.get(r)??0)+1;t.set(r,i);let a=e.payload.turnId??crypto.randomUUID(),o=Date.now();n.set(a,{sessionId:r,turnNumber:i,startedAt:o}),e.setResult({turn:{turnId:a,sessionId:r,turnNumber:i,startedAt:o,status:`active`}})})),e.push(d.on(i.complete,e=>{let t=n.get(e.payload.turnId);if(!t)throw Error(`Mock turn ${e.payload.turnId} was not created before completion`);e.setResult({turn:{turnId:e.payload.turnId,sessionId:t.sessionId,turnNumber:t.turnNumber,startedAt:t.startedAt,completedAt:Date.now(),status:e.payload.status,error:e.payload.error,usage:e.payload.usage},transitioned:!0})})),e.push(d.on(i.set,e=>{let{turn:r}=e.payload;n.set(r.turnId,{sessionId:r.sessionId,turnNumber:r.turnNumber,startedAt:r.startedAt}),t.set(r.sessionId,Math.max(t.get(r.sessionId)??0,r.turnNumber)),e.setResult({turn:r})})),e.push(d.on(i.getBySession,e=>{e.setResult({turns:[]})}))}function T(e){e.push(d.on(o.append,e=>{let{message:t}=e.payload;e.setResult({message:{messageId:t.messageId??`msg-${crypto.randomUUID().slice(0,8)}`,turnId:t.turnId,sessionId:t.sessionId,role:t.role,contentText:t.contentText,blocks:t.blocks,agentId:t.agentId,adapterSessionId:t.adapterSessionId,adapterMessageId:t.adapterMessageId,timestamp:t.timestamp,editOf:t.editOf}})})),e.push(d.on(o.getByTurn,e=>{e.setResult({messages:[]})})),e.push(d.on(o.getBySession,e=>{e.setResult({messages:[],nextCursor:null})}))}function E(e){e.push(d.on(r.record,e=>{e.setResult({success:!0})})),e.push(d.on(r.getByMessage,e=>{e.setResult({routing:[]})}))}function D(e){e.push(_(`test-machine`).unsubscribe)}function O(e){e.push(d.on(n.set,e=>{e.setResult({success:!0})})),e.push(d.on(n.get,e=>{e.setResult({agent:null})})),e.push(d.on(n.listBySession,e=>{e.setResult({agents:[]})}))}function k(n){n.push(d.on(t.get,e=>{e.setResult({session:{sessionId:e.payload.sessionId,createdAt:Date.now(),lastActivityAt:Date.now(),status:`active`,agents:[]}})})),n.push(d.on(e.getEvents,e=>{e.setResult({events:[],nextCursor:null,totalCount:0})})),n.push(d.on(o.get,e=>{e.setResult({message:null})})),n.push(d.on(t.update,e=>{e.setResult({success:!0})}))}function A(e){e.push(d.on(l.resolve,e=>{e.setResult({executionTarget:{id:`system:local`,name:`Local`,description:`Default local process execution`,type:`local`,scope:`default`,enabled:!0,createdAt:0,updatedAt:0}})}))}function j(e){e.push(d.on(s.getProviderConfig,e=>{e.setResult({config:{id:e.payload.id,definitionId:`test-provider`,name:`Test Provider`,modelFilterMode:`show-all`,isDefault:!1,enabled:!0,isSentinel:!1,hasCredentials:!0}})})),e.push(d.on(s.buildProviderContext,e=>{e.setResult({context:{providerConfigId:e.payload.providerConfigId,definitionId:`test-provider`,credentialRefs:{apiKey:h(e.payload.providerConfigId,`apiKey`)},credentialEnvVars:{apiKey:`API_KEY`}}})})),e.push(d.on(c.get,e=>{e.setResult({provider:{id:e.payload.id,packageName:`@makaio/test-provider`,name:`Test Provider`,availableModels:[],defaultModelFilterMode:`show-all`,enabled:!0,createdAt:0,updatedAt:0}})}))}export{b as MESSAGES_FTS_TEST_SCHEMA_SQL,v as SESSION_STORAGE_TEST_SCHEMA_SQL,x as installMessagesFtsTestSchema,y as installSessionStorageTestSchema,C as registerMockProviderHandlers,S as registerMockStorageHandlers};
@@ -1 +1 @@
1
- import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w,y as T}from"../../../orchestrator-shared-FnWrPS09.mjs";export{S as collectTurnCompletedEvents,T as collectTurnStartedEvents,o as collectUserMessageAcknowledgedEvents,w as collectUserMessageCompletedEvents,n as collectUserMessageSentEvents,b as createMockAgent,h as createMockSession,e as emitAdapterInitialized,v as emitAgentAdded,f as emitAgentComplete,a as emitAgentError,C as getStoredEvents,g as registerAgentAddedHandler,y as registerCapturingStartAgentHandler,s as registerCreateSessionHandler,p as registerCwdChangeHandler,x as registerFailingSendMessageHandler,c as registerFailingStartAgentHandler,l as registerGetAgentHandler,_ as registerGetSessionHandler,m as registerModelChangeHandler,d as registerRehydrateAgentHandler,u as registerSendMessageHandler,i as registerStartAgentHandler,r as resetBusHandlers,t as waitForAsync};
1
+ import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w,y as T}from"../../../orchestrator-shared-Dt4WDse7.mjs";export{S as collectTurnCompletedEvents,T as collectTurnStartedEvents,o as collectUserMessageAcknowledgedEvents,w as collectUserMessageCompletedEvents,n as collectUserMessageSentEvents,b as createMockAgent,h as createMockSession,e as emitAdapterInitialized,v as emitAgentAdded,f as emitAgentComplete,a as emitAgentError,C as getStoredEvents,g as registerAgentAddedHandler,y as registerCapturingStartAgentHandler,s as registerCreateSessionHandler,p as registerCwdChangeHandler,x as registerFailingSendMessageHandler,c as registerFailingStartAgentHandler,l as registerGetAgentHandler,_ as registerGetSessionHandler,m as registerModelChangeHandler,d as registerRehydrateAgentHandler,u as registerSendMessageHandler,i as registerStartAgentHandler,r as resetBusHandlers,t as waitForAsync};
@@ -1,2 +1,2 @@
1
- import { t as TurnStorageNamespace } from "../../../namespace-DBKWNrk7.mjs";
1
+ import { t as TurnStorageNamespace } from "../../../namespace-DDCjoQUj.mjs";
2
2
  export { TurnStorageNamespace };
@@ -1 +1 @@
1
- import{t as e}from"../../../schema-DOnJmAPw.mjs";import{TurnStorageNamespace as t}from"../../turn/namespace.mjs";const n={...t,extensions:{drizzle:{turns:e}}};export{n as TurnStorageNamespace};
1
+ import{t as e}from"../../../schema-BrnYlDwZ.mjs";import{TurnStorageNamespace as t}from"../../turn/namespace.mjs";const n={...t,extensions:{drizzle:{turns:e}}};export{n as TurnStorageNamespace};
@@ -518,18 +518,18 @@ declare const SubagentTemplateSettingsNamespace: _$_makaio_core0.BusNamespaceDef
518
518
  create: {
519
519
  request: _$zod.ZodObject<{
520
520
  name: _$zod.ZodString;
521
+ adapterName: _$zod.ZodString;
522
+ providerConfigId: _$zod.ZodOptional<_$zod.ZodString>;
523
+ model: _$zod.ZodOptional<_$zod.ZodString>;
524
+ enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
521
525
  contextMode: _$zod.ZodDefault<_$zod.ZodEnum<{
522
526
  fork: "fork";
523
527
  fresh: "fresh";
524
528
  }>>;
525
- adapterName: _$zod.ZodString;
526
- providerConfigId: _$zod.ZodOptional<_$zod.ZodString>;
527
- model: _$zod.ZodOptional<_$zod.ZodString>;
528
- systemPrompt: _$zod.ZodOptional<_$zod.ZodString>;
529
- allowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
530
529
  disallowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
531
530
  allowedDirectories: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
532
- enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
531
+ systemPrompt: _$zod.ZodOptional<_$zod.ZodString>;
532
+ allowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
533
533
  }, _$zod_v4_core0.$strip>;
534
534
  response: _$zod.ZodObject<{
535
535
  id: _$zod.ZodString;
@@ -609,18 +609,18 @@ declare const SubagentTemplateSettingsSubjects: _$_makaio_core0.BusSubjects<_$_m
609
609
  create: {
610
610
  request: _$zod.ZodObject<{
611
611
  name: _$zod.ZodString;
612
+ adapterName: _$zod.ZodString;
613
+ providerConfigId: _$zod.ZodOptional<_$zod.ZodString>;
614
+ model: _$zod.ZodOptional<_$zod.ZodString>;
615
+ enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
612
616
  contextMode: _$zod.ZodDefault<_$zod.ZodEnum<{
613
617
  fork: "fork";
614
618
  fresh: "fresh";
615
619
  }>>;
616
- adapterName: _$zod.ZodString;
617
- providerConfigId: _$zod.ZodOptional<_$zod.ZodString>;
618
- model: _$zod.ZodOptional<_$zod.ZodString>;
619
- systemPrompt: _$zod.ZodOptional<_$zod.ZodString>;
620
- allowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
621
620
  disallowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
622
621
  allowedDirectories: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
623
- enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
622
+ systemPrompt: _$zod.ZodOptional<_$zod.ZodString>;
623
+ allowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
624
624
  }, _$zod_v4_core0.$strip>;
625
625
  response: _$zod.ZodObject<{
626
626
  id: _$zod.ZodString;
@@ -1,3 +1,3 @@
1
- import { _ as SubagentTemplateUpdate, a as SubagentTemplateInstance, c as SubagentTemplateInstanceStatusSchema, d as SubagentTemplateSettingsSchemas, f as SubagentTemplateSpawnRequest, g as SubagentTemplateSummarySchema, h as SubagentTemplateSummary, i as SubagentTemplateCreateSchema, l as SubagentTemplateKernelSchemas, m as SubagentTemplateSpawnedEventSchema, n as SubagentTemplateCompletedEventSchema, o as SubagentTemplateInstanceSchema, p as SubagentTemplateSpawnRequestSchema, r as SubagentTemplateCreate, s as SubagentTemplateInstanceStatus, t as SubagentTemplate, u as SubagentTemplateSchema, v as SubagentTemplateUpdateSchema } from "../../schemas-Exixg77V2.mjs";
1
+ import { _ as SubagentTemplateUpdate, a as SubagentTemplateInstance, c as SubagentTemplateInstanceStatusSchema, d as SubagentTemplateSettingsSchemas, f as SubagentTemplateSpawnRequest, g as SubagentTemplateSummarySchema, h as SubagentTemplateSummary, i as SubagentTemplateCreateSchema, l as SubagentTemplateKernelSchemas, m as SubagentTemplateSpawnedEventSchema, n as SubagentTemplateCompletedEventSchema, o as SubagentTemplateInstanceSchema, p as SubagentTemplateSpawnRequestSchema, r as SubagentTemplateCreate, s as SubagentTemplateInstanceStatus, t as SubagentTemplate, u as SubagentTemplateSchema, v as SubagentTemplateUpdateSchema } from "../../schemas-DAFYpgHk2.mjs";
2
2
  import { n as SubagentTemplateSubjects, t as SubagentTemplateKernelNamespace } from "../../namespace-B60mn8J-2.mjs";
3
3
  export { type SubagentTemplate, SubagentTemplateCompletedEventSchema, type SubagentTemplateCreate, SubagentTemplateCreateSchema, type SubagentTemplateInstance, SubagentTemplateInstanceSchema, type SubagentTemplateInstanceStatus, SubagentTemplateInstanceStatusSchema, SubagentTemplateKernelNamespace, SubagentTemplateKernelSchemas, SubagentTemplateSchema, SubagentTemplateSettingsSchemas, type SubagentTemplateSpawnRequest, SubagentTemplateSpawnRequestSchema, SubagentTemplateSpawnedEventSchema, SubagentTemplateSubjects, type SubagentTemplateSummary, SubagentTemplateSummarySchema, type SubagentTemplateUpdate, SubagentTemplateUpdateSchema };
@@ -1,2 +1,2 @@
1
- import { _ as SubagentTemplateUpdate, a as SubagentTemplateInstance, c as SubagentTemplateInstanceStatusSchema, d as SubagentTemplateSettingsSchemas, f as SubagentTemplateSpawnRequest, g as SubagentTemplateSummarySchema, h as SubagentTemplateSummary, i as SubagentTemplateCreateSchema, l as SubagentTemplateKernelSchemas, m as SubagentTemplateSpawnedEventSchema, n as SubagentTemplateCompletedEventSchema, o as SubagentTemplateInstanceSchema, p as SubagentTemplateSpawnRequestSchema, r as SubagentTemplateCreate, s as SubagentTemplateInstanceStatus, t as SubagentTemplate, u as SubagentTemplateSchema, v as SubagentTemplateUpdateSchema } from "../../schemas-Exixg77V2.mjs";
1
+ import { _ as SubagentTemplateUpdate, a as SubagentTemplateInstance, c as SubagentTemplateInstanceStatusSchema, d as SubagentTemplateSettingsSchemas, f as SubagentTemplateSpawnRequest, g as SubagentTemplateSummarySchema, h as SubagentTemplateSummary, i as SubagentTemplateCreateSchema, l as SubagentTemplateKernelSchemas, m as SubagentTemplateSpawnedEventSchema, n as SubagentTemplateCompletedEventSchema, o as SubagentTemplateInstanceSchema, p as SubagentTemplateSpawnRequestSchema, r as SubagentTemplateCreate, s as SubagentTemplateInstanceStatus, t as SubagentTemplate, u as SubagentTemplateSchema, v as SubagentTemplateUpdateSchema } from "../../schemas-DAFYpgHk2.mjs";
2
2
  export { SubagentTemplate, SubagentTemplateCompletedEventSchema, SubagentTemplateCreate, SubagentTemplateCreateSchema, SubagentTemplateInstance, SubagentTemplateInstanceSchema, SubagentTemplateInstanceStatus, SubagentTemplateInstanceStatusSchema, SubagentTemplateKernelSchemas, SubagentTemplateSchema, SubagentTemplateSettingsSchemas, SubagentTemplateSpawnRequest, SubagentTemplateSpawnRequestSchema, SubagentTemplateSpawnedEventSchema, SubagentTemplateSummary, SubagentTemplateSummarySchema, SubagentTemplateUpdate, SubagentTemplateUpdateSchema };
@@ -1 +1 @@
1
- import{t as e}from"../../tool-approval-service-BgNcJvKx.mjs";export{e as ToolApprovalService};
1
+ import{t as e}from"../../tool-approval-service-Cb2F1yT6.mjs";export{e as ToolApprovalService};
@@ -1 +1 @@
1
- import{B as e,n as t,r as n,t as r}from"../../tools-DC4KrqI1.mjs";export{r as FILE_ACCESS_RULES_KEY,e as ToolRegistry,n as createToolContributionProcessor,t as extractToolFilePath};
1
+ import{B as e,n as t,r as n,t as r}from"../../tools-D5DVHC-R.mjs";export{r as FILE_ACCESS_RULES_KEY,e as ToolRegistry,n as createToolContributionProcessor,t as extractToolFilePath};