@makaio/framework 1.0.0-dev-1789609124644 → 1.0.0-dev-1789642522820

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 (71) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{adapter-C4v_gNTI.mjs → adapter-DSRgsh2d.mjs} +1 -1
  3. package/dist/adapters/claude/index.mjs +3 -3
  4. package/dist/bus/index.mjs +1 -1
  5. package/dist/bus-BOGcnhgA.mjs +9 -0
  6. package/dist/client-DqfP7BeX.mjs +1 -0
  7. package/dist/clients/index.d.mts +152 -11
  8. package/dist/clients/index.mjs +1 -1
  9. package/dist/contracts/adapter/index.mjs +1 -1
  10. package/dist/contracts/client/index.d.mts +3 -3
  11. package/dist/contracts/client/index.mjs +1 -1
  12. package/dist/contracts/extension/index.d.mts +2 -2
  13. package/dist/contracts/index.d.mts +15 -15
  14. package/dist/contracts/index.mjs +1 -1
  15. package/dist/contracts/session/index.d.mts +2 -2
  16. package/dist/contracts/session/index.mjs +1 -1
  17. package/dist/contracts/variant/index.d.mts +1 -1
  18. package/dist/drizzle/0040_session_generation.sql +1 -0
  19. package/dist/drizzle/meta/_journal.json +7 -0
  20. package/dist/{framework-packages-Bg4edkkM.mjs → framework-packages-BNFG51Td.mjs} +1 -1
  21. package/dist/{hook-responses-Dq16X3Cb.d.mts → hook-responses-CQ2q0aPE.d.mts} +47 -4
  22. package/dist/{index-7CVumCjj.d.mts → index-BS-Fhlux.d.mts} +42 -7
  23. package/dist/{index-C6e9cwAl2.d.mts → index-CdWxSwhQ2.d.mts} +4 -4
  24. package/dist/{index-iVisrVdC2.d.mts → index-CztxEJrG2.d.mts} +46 -3
  25. package/dist/{index-Bg3WVL8n.d.mts → index-Dn23R_ck.d.mts} +2 -2
  26. package/dist/{index-D_j_T3nS.d.mts → index-Hnsy6XhM.d.mts} +1 -1
  27. package/dist/{index-CRZ1jrxp.d.mts → index-p1l00SGS.d.mts} +86 -7
  28. package/dist/{index-mTaFX2HH2.d.mts → index-zEkS2L862.d.mts} +6 -0
  29. package/dist/kernel/extension/index.d.mts +1 -1
  30. package/dist/kernel/index.d.mts +2 -2
  31. package/dist/kernel/observability/index.d.mts +1 -1
  32. package/dist/{namespace-Cmu-5_P9.d.mts → namespace-BR03HE8G.d.mts} +42 -0
  33. package/dist/{namespace-BEbQb19g.d.mts → namespace-BqfzcRkL.d.mts} +5 -5
  34. package/dist/{orchestrator-shared-CtPB6PAr.mjs → orchestrator-shared-CxO1lfpP.mjs} +1 -1
  35. package/dist/ownership-memory-handler-BOhmmlJj.mjs +1 -0
  36. package/dist/package.json +1 -1
  37. package/dist/{registry-DNMjJ-Oj.mjs → registry-DtaRGU8i.mjs} +1 -0
  38. package/dist/{schema-BA1cHBbc.d.mts → schema-DqKCg5Ec.d.mts} +30 -0
  39. package/dist/{schemas-CaYEFzK_.d.mts → schemas-CFciElld.d.mts} +2 -2
  40. package/dist/schemas-CkxAK13D.mjs +1 -0
  41. package/dist/services/index.d.mts +6 -6
  42. package/dist/services/index.mjs +1 -1
  43. package/dist/services/session/index.d.mts +4 -4
  44. package/dist/services/session/index.mjs +1 -1
  45. package/dist/services/session/messages/namespace.d.mts +1 -1
  46. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  47. package/dist/services/session/storage/namespace.d.mts +1 -1
  48. package/dist/services/session/storage/schema.d.mts +1 -1
  49. package/dist/services/session/storage/schema.mjs +1 -1
  50. package/dist/services/session/testing/index.mjs +2 -1
  51. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  52. package/dist/services/settings/namespace.d.mts +2 -2
  53. package/dist/services/subagent-template/index.d.mts +1 -1
  54. package/dist/services/subagent-template/schemas.d.mts +1 -1
  55. package/dist/services/tool-approval/index.mjs +1 -1
  56. package/dist/services/tools/index.mjs +1 -1
  57. package/dist/services/workflow-transitions/index.mjs +1 -1
  58. package/dist/session-BP5aq2kt.mjs +95 -0
  59. package/dist/{session-BB0s7c2B.mjs → session-BcArFp9M.mjs} +1 -1
  60. package/dist/storage/drizzle/client.mjs +1 -1
  61. package/dist/storage/drizzle/index.mjs +1 -1
  62. package/dist/{tool-approval-service-pbkGcAV8.mjs → tool-approval-service-CXTklh3T.mjs} +1 -1
  63. package/dist/{tools-C5Gy0IQG.mjs → tools-hiFv-jJn.mjs} +1 -1
  64. package/dist/{types-DhbllltK.d.mts → types-D5kqrOad.d.mts} +9 -0
  65. package/dist/{workflow-transitions-C0sg3kar.mjs → workflow-transitions-BalNKTtE.mjs} +1 -1
  66. package/package.json +1 -1
  67. package/dist/bus-BQ64i3DN.mjs +0 -9
  68. package/dist/client-Bg3_IdaF.mjs +0 -1
  69. package/dist/ownership-memory-handler-xex7sLiX.mjs +0 -1
  70. package/dist/schemas-ClkcU_N5.mjs +0 -1
  71. package/dist/session-6UG5udTX.mjs +0 -95
@@ -216,6 +216,23 @@ declare const SessionStorageNamespace$1: {
216
216
  }, {}, {
217
217
  length: number | undefined;
218
218
  }>;
219
+ generation: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
220
+ name: string;
221
+ tableName: "sessions";
222
+ dataType: "number";
223
+ columnType: "SQLiteInteger";
224
+ data: number;
225
+ driverParam: number;
226
+ notNull: true;
227
+ hasDefault: true;
228
+ isPrimaryKey: false;
229
+ isAutoincrement: false;
230
+ hasRuntimeDefault: false;
231
+ enumValues: undefined;
232
+ baseColumn: never;
233
+ identity: undefined;
234
+ generated: undefined;
235
+ }, {}, {}>;
219
236
  adapterName: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
220
237
  name: "adapter_name";
221
238
  tableName: "sessions";
@@ -1260,6 +1277,7 @@ declare const SessionStorageNamespace$1: {
1260
1277
  coordinator: "coordinator";
1261
1278
  aside: "aside";
1262
1279
  }>>;
1280
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
1263
1281
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
1264
1282
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1265
1283
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -1402,6 +1420,7 @@ declare const SessionStorageNamespace$1: {
1402
1420
  coordinator: "coordinator";
1403
1421
  aside: "aside";
1404
1422
  }>>;
1423
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
1405
1424
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
1406
1425
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1407
1426
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -1569,6 +1588,7 @@ declare const SessionStorageNamespace$1: {
1569
1588
  coordinator: "coordinator";
1570
1589
  aside: "aside";
1571
1590
  }>>;
1591
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
1572
1592
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
1573
1593
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1574
1594
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -1751,6 +1771,7 @@ declare const SessionStorageNamespace$1: {
1751
1771
  coordinator: "coordinator";
1752
1772
  aside: "aside";
1753
1773
  }>>;
1774
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
1754
1775
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
1755
1776
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1756
1777
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -1876,6 +1897,7 @@ declare const SessionStorageNamespace$1: {
1876
1897
  metadata: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>>;
1877
1898
  spawningToolCallId: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodString>>;
1878
1899
  machineId: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodString>>;
1900
+ advanceGeneration: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
1879
1901
  identity: _$zod.ZodOptional<_$zod.ZodObject<{
1880
1902
  adapterName: _$zod.ZodString;
1881
1903
  adapterId: _$zod.ZodString;
@@ -1975,6 +1997,7 @@ declare const SessionStorageNamespace$1: {
1975
1997
  coordinator: "coordinator";
1976
1998
  aside: "aside";
1977
1999
  }>>;
2000
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
1978
2001
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
1979
2002
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1980
2003
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -2181,6 +2204,10 @@ declare const SessionStorageNamespace$1: {
2181
2204
  cwd: _$zod.ZodOptional<_$zod.ZodString>;
2182
2205
  logFilePath: _$zod.ZodOptional<_$zod.ZodString>;
2183
2206
  machineId: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodString>>;
2207
+ startMode: _$zod.ZodOptional<_$zod.ZodEnum<{
2208
+ resume: "resume";
2209
+ compact: "compact";
2210
+ }>>;
2184
2211
  }, _$zod_v4_core0.$strip>;
2185
2212
  response: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
2186
2213
  outcome: _$zod.ZodLiteral<"rebound">;
@@ -2267,6 +2294,7 @@ declare const SessionStorageNamespace$1: {
2267
2294
  coordinator: "coordinator";
2268
2295
  aside: "aside";
2269
2296
  }>>;
2297
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
2270
2298
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
2271
2299
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2272
2300
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -2416,6 +2444,7 @@ declare const SessionStorageNamespace$1: {
2416
2444
  coordinator: "coordinator";
2417
2445
  aside: "aside";
2418
2446
  }>>;
2447
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
2419
2448
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
2420
2449
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2421
2450
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -2586,6 +2615,7 @@ declare const SessionStorageNamespace$1: {
2586
2615
  coordinator: "coordinator";
2587
2616
  aside: "aside";
2588
2617
  }>>;
2618
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
2589
2619
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
2590
2620
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2591
2621
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -2728,6 +2758,7 @@ declare const SessionStorageNamespace$1: {
2728
2758
  coordinator: "coordinator";
2729
2759
  aside: "aside";
2730
2760
  }>>;
2761
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
2731
2762
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
2732
2763
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2733
2764
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -2895,6 +2926,7 @@ declare const SessionStorageNamespace$1: {
2895
2926
  coordinator: "coordinator";
2896
2927
  aside: "aside";
2897
2928
  }>>;
2929
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
2898
2930
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
2899
2931
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
2900
2932
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -3077,6 +3109,7 @@ declare const SessionStorageNamespace$1: {
3077
3109
  coordinator: "coordinator";
3078
3110
  aside: "aside";
3079
3111
  }>>;
3112
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
3080
3113
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
3081
3114
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3082
3115
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -3202,6 +3235,7 @@ declare const SessionStorageNamespace$1: {
3202
3235
  metadata: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>>;
3203
3236
  spawningToolCallId: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodString>>;
3204
3237
  machineId: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodString>>;
3238
+ advanceGeneration: _$zod.ZodOptional<_$zod.ZodLiteral<true>>;
3205
3239
  identity: _$zod.ZodOptional<_$zod.ZodObject<{
3206
3240
  adapterName: _$zod.ZodString;
3207
3241
  adapterId: _$zod.ZodString;
@@ -3301,6 +3335,7 @@ declare const SessionStorageNamespace$1: {
3301
3335
  coordinator: "coordinator";
3302
3336
  aside: "aside";
3303
3337
  }>>;
3338
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
3304
3339
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
3305
3340
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3306
3341
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -3507,6 +3542,10 @@ declare const SessionStorageNamespace$1: {
3507
3542
  cwd: _$zod.ZodOptional<_$zod.ZodString>;
3508
3543
  logFilePath: _$zod.ZodOptional<_$zod.ZodString>;
3509
3544
  machineId: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodString>>;
3545
+ startMode: _$zod.ZodOptional<_$zod.ZodEnum<{
3546
+ resume: "resume";
3547
+ compact: "compact";
3548
+ }>>;
3510
3549
  }, _$zod_v4_core0.$strip>;
3511
3550
  response: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
3512
3551
  outcome: _$zod.ZodLiteral<"rebound">;
@@ -3593,6 +3632,7 @@ declare const SessionStorageNamespace$1: {
3593
3632
  coordinator: "coordinator";
3594
3633
  aside: "aside";
3595
3634
  }>>;
3635
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
3596
3636
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
3597
3637
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3598
3638
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -3742,6 +3782,7 @@ declare const SessionStorageNamespace$1: {
3742
3782
  coordinator: "coordinator";
3743
3783
  aside: "aside";
3744
3784
  }>>;
3785
+ generation: _$zod.ZodOptional<_$zod.ZodNumber>;
3745
3786
  adapterName: _$zod.ZodOptional<_$zod.ZodString>;
3746
3787
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
3747
3788
  currentAdapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -3882,6 +3923,7 @@ declare const SessionStorageNamespace$1: {
3882
3923
  rootSessionId?: string | undefined;
3883
3924
  forkPointMessageId?: string | undefined;
3884
3925
  branchKind?: "fork" | "subagent" | "compress" | "branch" | "rewrite" | "coordinator" | "aside" | undefined;
3926
+ generation?: number | undefined;
3885
3927
  adapterName?: string | undefined;
3886
3928
  adapterSessionId?: string | undefined;
3887
3929
  currentAdapterSessionId?: string | undefined;
@@ -335,8 +335,8 @@ declare const MessageStorageNamespace$1: {
335
335
  isError: _$zod.ZodOptional<_$zod.ZodBoolean>;
336
336
  }, _$zod_v4_core0.$strip>], "type">>;
337
337
  agentId: _$zod.ZodOptional<_$zod.ZodString>;
338
- turnId: _$zod.ZodNullable<_$zod.ZodString>;
339
338
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
339
+ turnId: _$zod.ZodNullable<_$zod.ZodString>;
340
340
  timestamp: _$zod.ZodNumber;
341
341
  contentText: _$zod.ZodString;
342
342
  adapterMessageId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -1120,8 +1120,8 @@ declare const MessageStorageNamespace$1: {
1120
1120
  isError: _$zod.ZodOptional<_$zod.ZodBoolean>;
1121
1121
  }, _$zod_v4_core0.$strip>], "type">>;
1122
1122
  agentId: _$zod.ZodOptional<_$zod.ZodString>;
1123
- turnId: _$zod.ZodNullable<_$zod.ZodString>;
1124
1123
  adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1124
+ turnId: _$zod.ZodNullable<_$zod.ZodString>;
1125
1125
  timestamp: _$zod.ZodNumber;
1126
1126
  contentText: _$zod.ZodString;
1127
1127
  adapterMessageId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -2030,17 +2030,17 @@ declare const MessageStorageNamespace$1: {
2030
2030
  })[];
2031
2031
  messageId: string;
2032
2032
  agentId: never;
2033
- turnId: string | null;
2034
2033
  adapterSessionId: never;
2034
+ turnId: string | null;
2035
2035
  timestamp: number;
2036
2036
  limit: never;
2037
2037
  query: string;
2038
2038
  contentText: string;
2039
2039
  adapterMessageId: string;
2040
- after: never;
2041
- order: never;
2042
2040
  emitEvent: never;
2041
+ after: never;
2043
2042
  includeAfter: never;
2043
+ order: never;
2044
2044
  } | undefined;
2045
2045
  };
2046
2046
  //#endregion
@@ -1 +1 @@
1
- import{n as e}from"./namespace-CMntzAPI.mjs";import"./ownership-memory-handler-xex7sLiX.mjs";import{t}from"./caller-owned-adapter-stub-D8RZEdRn.mjs";import{AdapterSubjects as n,AgentSubjects as r,SessionSubjects as i}from"@makaio/framework/contracts";import{MakaioBus as a}from"@makaio/framework/bus";function o(){a.__resetHandlers?.()}function s(e=10){return new Promise(t=>setTimeout(t,e))}function c(e,t){let n=Date.now();return{agentId:e,adapterId:`adapter-${e}`,adapterName:`test-adapter`,sessionId:t?.sessionId??`test-session`,role:`member`,status:`idle`,createdAt:n,lastActivityAt:n,...t}}async function l(e,t=e,r=`test-machine`){await a.emit(n.initialized,{adapterName:e,adapterId:t,machineId:r,ownerInstanceId:`owner-${t}`,capabilities:[]})}async function u(t){return(await a.request(e.getEvents,{sessionId:t})).events}function d(e,t,n){let r=[];return n.push(a.on(e,(e=>{let n=e.payload;r.push(t(n))}))),{received:r,clear:()=>{r.length=0}}}function f(e){return d(i.turn.started,e=>({sessionId:e.sessionId,turnId:e.turnId,turnNumber:e.turnNumber,messageId:e.messageId,agentIds:[...e.agentIds],initiator:e.initiator,ingestionMarker:e.ingestionMarker}),e)}function p(e){return d(i.turn.completed,e=>({sessionId:e.sessionId,turnId:e.turnId,turnNumber:e.turnNumber,success:e.success,error:e.error,initiator:e.initiator,ingestionMarker:e.ingestionMarker}),e)}function m(e){return d(i.user_message.sent,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,content:e.content,agentIds:[...e.agentIds],origin:e.origin}),e)}function h(e){return d(i.user_message.acknowledged,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,agentId:e.agentId}),e)}function g(e){return d(i.user_message.completed,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,agentId:e.agentId,outcome:e.outcome,error:e.error}),e)}function _(e,t){return c(e,{runtimeOwner:{machineId:`test-machine`,instanceId:`test-runtime-owner`},...t})}function v(e){let t=Date.now();return{sessionId:e.sessionId,createdAt:t,lastActivityAt:t,status:e.status??`active`,agents:e.agents??[],leadAgentId:e.leadAgentId,targetWorkingDirectory:e.targetWorkingDirectory}}function y(e){return a.on(i.create,t=>{let n=t.payload.sessionId??`session-${crypto.randomUUID().slice(0,8)}`;e.set(n,v({sessionId:n,agents:[]})),t.setResult({sessionId:n})})}function b(e){return a.on(i.agent.added,t=>{let n=e.get(t.payload.sessionId);if(!n)return;let r=n.agents.length===0,i=t.payload.role??(r?`lead`:`member`);r&&(n.adapterSessionId=t.payload.adapterSessionId,n.adapterName=t.payload.adapterName,n.adapterId=t.payload.adapterId);let a=Date.now();n.agents.push({agentId:t.payload.agentId,adapterId:t.payload.adapterId,adapterName:t.payload.adapterName,sessionId:t.payload.sessionId,role:i,status:`idle`,createdAt:a,lastActivityAt:a}),i===`lead`&&(n.leadAgentId=t.payload.agentId),n.lastActivityAt=Date.now()})}function x(e){return a.on(i.get,t=>{t.setResult({session:e.get(t.payload.sessionId)??null})})}function S(e){return a.on(n.getAgent,t=>{for(let n of e.values()){let e=n.agents.find(e=>e.agentId===t.payload.agentId);if(e){t.setResult({agent:{agentId:e.agentId,sessionId:n.sessionId,adapterSessionId:``}});return}}t.setResult({agent:null})})}function C(){return a.on(n.rehydrateAgent,e=>{e.setResult({success:!0,...t(e.payload)})})}function w(e=`/previous/cwd`){return a.on(r.cwd.change,t=>{t.setResult({success:!0,previousCwd:e})})}function T(){return a.on(r.model.change,e=>{e.setResult({success:!0,swapped:!1})})}function E(e){return a.on(n.startAgent,n=>{let{adapterId:r,initialMessage:i}=n.payload,a=n.payload.sessionId??`session-${crypto.randomUUID().slice(0,8)}`,o=n.payload.agentId??`agent-${crypto.randomUUID().slice(0,8)}`,s=i?`msg-${crypto.randomUUID().slice(0,8)}`:void 0,c=`adapter-session-${a}`;e?.({adapterId:r,sessionId:a,initialMessage:i}),n.setResult({success:!0,agentId:o,adapterId:r,adapterSessionId:c,sessionId:a,...t(n.payload),...s&&{messageId:s}}),M({sessionId:a,agentId:o,adapterId:r,adapterSessionId:c})})}function D(e){return a.on(n.startAgent,t=>{t.setResult({success:!1,dispatch:`not-dispatched`,message:e})})}function O(e){return a.on(r.sendMessage,t=>{let{agentId:n,adapterId:r,message:i,messageId:a,sessionContext:o,responseSchema:s}=t.payload,c=a??`msg-${crypto.randomUUID().slice(0,8)}`;e?.({agentId:n,adapterId:r,message:i,messageId:c,sessionContext:o,responseSchema:s}),t.setResult({messageId:c})})}function k(e,t){return a.on(r.sendMessage,n=>{if(e.has(n.payload.agentId))throw Error(t);n.setResult({messageId:n.payload.messageId??`generated-id`})})}async function A(e){await a.emit(r.complete,{agentId:e.agentId,adapterId:`adapter-${e.agentId}`,adapterName:`test-adapter`,adapterSessionId:`adapter-session-${e.agentId}`,messageId:e.messageId,turnId:e.turnId})}async function j(e){await a.emit(r.complete,{agentId:e.agentId,adapterId:`adapter-${e.agentId}`,adapterName:`test-adapter`,adapterSessionId:`adapter-session-${e.agentId}`,messageId:e.messageId,turnId:e.turnId,outcome:`error`,error:e.error})}function M(e){setImmediate(()=>{a.emit(i.agent.added,{sessionId:e.sessionId,agentId:e.agentId,adapterId:e.adapterId,adapterName:e.adapterId,adapterSessionId:e.adapterSessionId,role:e.role})})}function N(e,r){let i=new Map,o=a.on(n.startAgent,n=>{r.payload=n.payload;let a=n.payload.agentId??`agent-${crypto.randomUUID().slice(0,8)}`,o=n.payload.initialMessage?`msg-${crypto.randomUUID().slice(0,8)}`:void 0,s=`adapter-session-${e}`;i.set(a,{agentId:a,sessionId:e,adapterSessionId:s,adapterId:n.payload.adapterId}),n.setResult({success:!0,agentId:a,adapterId:n.payload.adapterId,adapterSessionId:s,sessionId:e,...t(n.payload),...o&&{messageId:o}}),M({sessionId:e,agentId:a,adapterId:n.payload.adapterId,adapterSessionId:s})}),s=a.on(n.getAgent,e=>{let t=i.get(e.payload.agentId);e.setResult({agent:t?{agentId:t.agentId,sessionId:t.sessionId,adapterSessionId:t.adapterSessionId}:null})});return()=>{o(),s()}}export{l as C,s as E,m as S,o as T,E as _,j as a,h as b,y as c,D as d,S as f,O as g,C as h,A as i,w as l,T as m,v as n,b as o,x as p,M as r,N as s,_ as t,k as u,p as v,u as w,g as x,f as y};
1
+ import{n as e}from"./namespace-CMntzAPI.mjs";import"./ownership-memory-handler-BOhmmlJj.mjs";import{t}from"./caller-owned-adapter-stub-D8RZEdRn.mjs";import{AdapterSubjects as n,AgentSubjects as r,SessionSubjects as i}from"@makaio/framework/contracts";import{MakaioBus as a}from"@makaio/framework/bus";function o(){a.__resetHandlers?.()}function s(e=10){return new Promise(t=>setTimeout(t,e))}function c(e,t){let n=Date.now();return{agentId:e,adapterId:`adapter-${e}`,adapterName:`test-adapter`,sessionId:t?.sessionId??`test-session`,role:`member`,status:`idle`,createdAt:n,lastActivityAt:n,...t}}async function l(e,t=e,r=`test-machine`){await a.emit(n.initialized,{adapterName:e,adapterId:t,machineId:r,ownerInstanceId:`owner-${t}`,capabilities:[]})}async function u(t){return(await a.request(e.getEvents,{sessionId:t})).events}function d(e,t,n){let r=[];return n.push(a.on(e,(e=>{let n=e.payload;r.push(t(n))}))),{received:r,clear:()=>{r.length=0}}}function f(e){return d(i.turn.started,e=>({sessionId:e.sessionId,turnId:e.turnId,turnNumber:e.turnNumber,messageId:e.messageId,agentIds:[...e.agentIds],initiator:e.initiator,ingestionMarker:e.ingestionMarker}),e)}function p(e){return d(i.turn.completed,e=>({sessionId:e.sessionId,turnId:e.turnId,turnNumber:e.turnNumber,success:e.success,error:e.error,initiator:e.initiator,ingestionMarker:e.ingestionMarker}),e)}function m(e){return d(i.user_message.sent,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,content:e.content,agentIds:[...e.agentIds],origin:e.origin}),e)}function h(e){return d(i.user_message.acknowledged,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,agentId:e.agentId}),e)}function g(e){return d(i.user_message.completed,e=>({sessionId:e.sessionId,turnId:e.turnId,messageId:e.messageId,agentId:e.agentId,outcome:e.outcome,error:e.error}),e)}function _(e,t){return c(e,{runtimeOwner:{machineId:`test-machine`,instanceId:`test-runtime-owner`},...t})}function v(e){let t=Date.now();return{sessionId:e.sessionId,createdAt:t,lastActivityAt:t,status:e.status??`active`,agents:e.agents??[],leadAgentId:e.leadAgentId,targetWorkingDirectory:e.targetWorkingDirectory}}function y(e){return a.on(i.create,t=>{let n=t.payload.sessionId??`session-${crypto.randomUUID().slice(0,8)}`;e.set(n,v({sessionId:n,agents:[]})),t.setResult({sessionId:n})})}function b(e){return a.on(i.agent.added,t=>{let n=e.get(t.payload.sessionId);if(!n)return;let r=n.agents.length===0,i=t.payload.role??(r?`lead`:`member`);r&&(n.adapterSessionId=t.payload.adapterSessionId,n.adapterName=t.payload.adapterName,n.adapterId=t.payload.adapterId);let a=Date.now();n.agents.push({agentId:t.payload.agentId,adapterId:t.payload.adapterId,adapterName:t.payload.adapterName,sessionId:t.payload.sessionId,role:i,status:`idle`,createdAt:a,lastActivityAt:a}),i===`lead`&&(n.leadAgentId=t.payload.agentId),n.lastActivityAt=Date.now()})}function x(e){return a.on(i.get,t=>{t.setResult({session:e.get(t.payload.sessionId)??null})})}function S(e){return a.on(n.getAgent,t=>{for(let n of e.values()){let e=n.agents.find(e=>e.agentId===t.payload.agentId);if(e){t.setResult({agent:{agentId:e.agentId,sessionId:n.sessionId,adapterSessionId:``}});return}}t.setResult({agent:null})})}function C(){return a.on(n.rehydrateAgent,e=>{e.setResult({success:!0,...t(e.payload)})})}function w(e=`/previous/cwd`){return a.on(r.cwd.change,t=>{t.setResult({success:!0,previousCwd:e})})}function T(){return a.on(r.model.change,e=>{e.setResult({success:!0,swapped:!1})})}function E(e){return a.on(n.startAgent,n=>{let{adapterId:r,initialMessage:i}=n.payload,a=n.payload.sessionId??`session-${crypto.randomUUID().slice(0,8)}`,o=n.payload.agentId??`agent-${crypto.randomUUID().slice(0,8)}`,s=i?`msg-${crypto.randomUUID().slice(0,8)}`:void 0,c=`adapter-session-${a}`;e?.({adapterId:r,sessionId:a,initialMessage:i}),n.setResult({success:!0,agentId:o,adapterId:r,adapterSessionId:c,sessionId:a,...t(n.payload),...s&&{messageId:s}}),M({sessionId:a,agentId:o,adapterId:r,adapterSessionId:c})})}function D(e){return a.on(n.startAgent,t=>{t.setResult({success:!1,dispatch:`not-dispatched`,message:e})})}function O(e){return a.on(r.sendMessage,t=>{let{agentId:n,adapterId:r,message:i,messageId:a,sessionContext:o,responseSchema:s}=t.payload,c=a??`msg-${crypto.randomUUID().slice(0,8)}`;e?.({agentId:n,adapterId:r,message:i,messageId:c,sessionContext:o,responseSchema:s}),t.setResult({messageId:c})})}function k(e,t){return a.on(r.sendMessage,n=>{if(e.has(n.payload.agentId))throw Error(t);n.setResult({messageId:n.payload.messageId??`generated-id`})})}async function A(e){await a.emit(r.complete,{agentId:e.agentId,adapterId:`adapter-${e.agentId}`,adapterName:`test-adapter`,adapterSessionId:`adapter-session-${e.agentId}`,messageId:e.messageId,turnId:e.turnId})}async function j(e){await a.emit(r.complete,{agentId:e.agentId,adapterId:`adapter-${e.agentId}`,adapterName:`test-adapter`,adapterSessionId:`adapter-session-${e.agentId}`,messageId:e.messageId,turnId:e.turnId,outcome:`error`,error:e.error})}function M(e){setImmediate(()=>{a.emit(i.agent.added,{sessionId:e.sessionId,agentId:e.agentId,adapterId:e.adapterId,adapterName:e.adapterId,adapterSessionId:e.adapterSessionId,role:e.role})})}function N(e,r){let i=new Map,o=a.on(n.startAgent,n=>{r.payload=n.payload;let a=n.payload.agentId??`agent-${crypto.randomUUID().slice(0,8)}`,o=n.payload.initialMessage?`msg-${crypto.randomUUID().slice(0,8)}`:void 0,s=`adapter-session-${e}`;i.set(a,{agentId:a,sessionId:e,adapterSessionId:s,adapterId:n.payload.adapterId}),n.setResult({success:!0,agentId:a,adapterId:n.payload.adapterId,adapterSessionId:s,sessionId:e,...t(n.payload),...o&&{messageId:o}}),M({sessionId:e,agentId:a,adapterId:n.payload.adapterId,adapterSessionId:s})}),s=a.on(n.getAgent,e=>{let t=i.get(e.payload.agentId);e.setResult({agent:t?{agentId:t.agentId,sessionId:t.sessionId,adapterSessionId:t.adapterSessionId}:null})});return()=>{o(),s()}}export{l as C,s as E,m as S,o as T,E as _,j as a,h as b,y as c,D as d,S as f,O as g,C as h,A as i,w as l,T as m,v as n,b as o,x as p,M as r,N as s,_ as t,k as u,p as v,u as w,g as x,f as y};
@@ -0,0 +1 @@
1
+ import{a as e,t}from"./ownership-recovery-guard-C9h8K1jo.mjs";import{SessionStorageSubjects as n}from"./services/session/storage/namespace.mjs";import{SessionOwnershipSettleMovementRequestSchema as r,SessionOwnershipStorageSubjects as i,SessionStorageSetRequestSchema as a,SessionStorageUpdateSchema as o,SessionSubjects as s,resolveResumableAdapterSessionId as c}from"@makaio/framework/contracts";import{isInactiveSafeLeadDesignationMutation as l,normalizeSessionOwnershipClaimRequest as u}from"@makaio/framework/contracts/session";function d(){return{sessions:new Map,agents:new Map,claims:new Map,runtimeInstances:new Map}}function f(e,t){for(let[n,r]of e.claims)t(r)&&e.claims.delete(n)}function ee(e,t){let n=e?.clientAccountId??null,r=t.clientAccountId??null;return!r||n===r?null:{previousClientAccountId:n,clientAccountId:r}}function p(e,t){let n=t.lastClientIdentityObservation;if(t.clientAccountId!==void 0&&!n)throw Error(`Session "${t.sessionId}" cannot persist clientAccountId without lastClientIdentityObservation`);if(t.clientAccountId!==void 0&&t.clientId===void 0)throw Error(`Session "${t.sessionId}" cannot persist clientAccountId without clientId`);if(n&&t.clientId!==void 0&&t.clientId!==n.clientId)throw Error(`Session "${t.sessionId}" cannot persist clientId "${t.clientId}" because lastClientIdentityObservation belongs to "${n.clientId}"`)}function m(e,t,n){let r=ee(t,n);if(!r)return;let i=n.lastClientIdentityObservation;if(!i)return;let a={sessionId:n.sessionId,clientId:i.clientId,previousClientAccountId:r.previousClientAccountId,clientAccountId:r.clientAccountId,source:i.source,observedAt:i.observedAt,lastClientIdentityObservation:structuredClone(i)};queueMicrotask(()=>{Promise.resolve().then(()=>e.emit(s.clientAccount.changed,a)).catch(e=>{console.error(`[SessionStorage] Failed to emit session.clientAccount.changed:`,e)})})}function h(e){switch(e){case`fork`:return`fork`;case`subagent`:return`subagent`;case`compress`:return`compress`;case`root`:return;default:return}}function te(e){switch(e.kind){case`root`:return{kind:`root`,parentAdapterSessionId:null,forkPointMessageId:null};case`fork`:return{kind:`fork`,parentAdapterSessionId:e.parentAdapterSessionId,forkPointMessageId:e.forkPointMessageId};case`subagent`:return{kind:`subagent`,parentAdapterSessionId:e.parentAdapterSessionId,forkPointMessageId:null};case`compress`:return{kind:`compress`,parentAdapterSessionId:e.parentAdapterSessionId,forkPointMessageId:null};default:return e.kind}}function g(){let e=0;return()=>{let t=Date.now();return e=t>e?t:e+1,e}}function _(e){return e.activation===`live`?`active`:`discovered`}const ne=g();function re(e,t){return e===`imported`||t===`imported`?`imported`:e===`tracking`||t===`tracking`?`tracking`:e??t??`discovered`}function v(e,t,n){n!==void 0&&(e[t]=n)}function ie(e){return e.status===`closed`||e.status===`archived`||e.status===`active`&&e.isImported===!0}function ae(e,t,n){if(!ie(e)){if(n===`live`){e.status===`discovered`&&(e.status=`active`);return}t===`discovered`&&(e.status=`discovered`)}}function oe(e,t,n){let r=e.startedAt??n,i=h(e.kind);return{sessionId:t,createdAt:r,lastActivityAt:r,agents:[],status:_(e),branchKind:i,generation:0,adapterName:e.source,adapterSessionId:e.externalSessionId,adapterId:e.adapterId,clientId:e.clientId,isOrchestrated:!1,isImported:!0,title:e.title??void 0,targetWorkingDirectory:e.cwd??void 0,source:e.source,parentExternalSessionId:e.parentAdapterSessionId??void 0,logFilePath:e.logFilePath??void 0,discoveredAt:n,importStatus:e.importStatus??`discovered`,forkPointMessageId:e.forkPointMessageId??void 0,metadata:e.metadata,lastClientIdentityObservation:e.lastClientIdentityObservation,isSidechain:e.isSidechain,machineId:e.machineId??void 0}}function se(e,t,n){let r=re(e.importStatus,t.importStatus);ae(e,r,t.activation),e.isImported=!0,e.importStatus=r,e.adapterName??=t.source,e.adapterSessionId??=t.externalSessionId,e.source??=t.source,e.discoveredAt??=n}function ce(e,t){t.logFilePath!==void 0&&t.logFilePath!==null&&(e.logFilePath??=t.logFilePath),t.cwd!==null&&(e.targetWorkingDirectory=t.cwd),t.title!==void 0&&t.title!==null&&(e.title=t.title),e.forkPointMessageId===void 0&&t.forkPointMessageId!==null&&(e.forkPointMessageId=t.forkPointMessageId),e.parentExternalSessionId===void 0&&t.parentAdapterSessionId!==null&&(e.parentExternalSessionId=t.parentAdapterSessionId);let n=h(t.kind);n!==void 0&&e.branchKind===void 0&&(e.branchKind=n),v(e,`adapterId`,t.adapterId),v(e,`clientId`,t.clientId),t.metadata!==void 0&&(e.metadata={...t.metadata,...e.metadata??{}}),v(e,`isSidechain`,t.isSidechain),v(e,`lastClientIdentityObservation`,t.lastClientIdentityObservation),t.machineId===null?e.machineId=void 0:t.machineId!==void 0&&(e.machineId??=t.machineId)}function y(e,t,n){t.startedAt!==void 0&&((n===void 0||e.createdAt===n)&&(e.createdAt=t.startedAt),(n===void 0||e.lastActivityAt===n)&&(e.lastActivityAt=t.startedAt))}function le(e,t,n){let r=e.discoveredAt;se(e,t,n),ce(e,t),y(e,t,r)}function b(e,t){if(t.parentExternalSessionId===void 0)return;let n=t.source??t.adapterName,r=Array.from(e.values()).find(e=>e.adapterSessionId===t.parentExternalSessionId&&(e.source??e.adapterName)===n);r&&(t.parentSessionId=r.sessionId,t.rootSessionId=r.rootSessionId??r.sessionId)}function ue(e,t,n){if(n){e.emit(s.created,{sessionId:t.sessionId,parentSessionId:t.parentSessionId??null,branchKind:t.branchKind??null,createdAt:t.createdAt}).catch(e=>console.error(`[SessionStorage] Failed to emit session.created:`,e));return}e.emit(s.updated,{sessionId:t.sessionId,changedProperties:[`source`,`targetWorkingDirectory`,`title`]}).catch(e=>console.error(`[SessionStorage] Failed to emit session.updated:`,e))}function de(e){let t=0,n=0,r=0;for(let i of e)i.importStatus===`imported`&&(t+=1),i.importStatus===`tracking`&&(n+=1),i.importStatus===`discovered`&&(r+=1);return{total:e.length,imported:t,tracking:n,discovered:r}}function x(e,t,n){return Array.from(e.values()).find(e=>e.adapterSessionId===n&&e.source===t)}function fe(e,t){let n=[];return t.cwd!==void 0&&(e.targetWorkingDirectory=t.cwd,n.push(`targetWorkingDirectory`)),t.logFilePath!==void 0&&(e.logFilePath=t.logFilePath,n.push(`logFilePath`)),t.machineId!==void 0&&(e.machineId=t.machineId??void 0,n.push(`machineId`)),t.startMode===`compact`&&(e.generation=(e.generation??0)+1,n.push(`generation`)),n}function pe(e,t,n){e.emit(s.importStatusChanged,{sessionId:t.sessionId,importStatus:n}).catch(e=>console.error(`[SessionStorage] Failed to emit session.importStatusChanged:`,e));let r=t.source??t.adapterName;n!==`imported`||t.adapterSessionId===void 0||r===void 0||e.emit(s.import.completed,{sessionId:t.sessionId,adapterSessionId:t.adapterSessionId,source:r}).catch(e=>console.error(`[SessionStorage] Failed to emit session.import.completed:`,e))}function me(e,t){return e.on(n.rebindObserved,n=>{let r=n.payload,i=x(t,r.source,r.externalSessionId);if(!i){n.setResult({outcome:`not-found`});return}let a=fe(i,r);n.setResult({outcome:`rebound`,sessionId:i.sessionId}),a.length>0&&e.emit(s.updated,{sessionId:i.sessionId,changedProperties:a}).catch(e=>console.error(`[SessionStorage] Failed to emit session.updated:`,e))})}function he(e){let{bus:t,store:r,cloneSession:i,populateAgents:a}=e;return[t.on(n.importUpsert,e=>{let n=structuredClone(e.payload),i=x(r,n.source,n.externalSessionId),a=ne(),o=i===void 0,s=i??oe(n,crypto.randomUUID(),a);i?(le(i,n,a),i.parentExternalSessionId!==void 0&&i.parentSessionId===void 0&&b(r,i)):(r.set(s.sessionId,s),b(r,s)),ue(t,s,o),e.setResult({sessionId:s.sessionId,created:o})}),me(t,r),t.on(n.getByLogFilePath,async e=>{let n=Array.from(r.values()).find(t=>t.logFilePath===e.payload.logFilePath);if(!n){e.setResult({session:null});return}let o=await a(t,n.sessionId);e.setResult({session:{...i(n),agents:o}})}),t.on(n.listImported,async e=>{let{source:n,importStatus:o}=e.payload,s=Array.from(r.values()).filter(e=>e.isImported===!0).filter(e=>n===void 0||e.source===n).filter(e=>o===void 0||e.importStatus===o).sort((e,t)=>t.createdAt-e.createdAt),c=await Promise.all(s.map(async e=>({...i(e),agents:await a(t,e.sessionId)})));e.setResult({sessions:c})}),t.on(n.countBySource,e=>{let t=Array.from(r.values()).filter(t=>t.isImported===!0&&t.source===e.payload.source);e.setResult(de(t))}),t.on(n.updateImportStatus,e=>{let n=r.get(e.payload.sessionId),i=e.payload.importStatus;if(!n||n.importStatus===i){e.setResult({success:!1});return}n.importStatus=i,i===`imported`&&n.status===`discovered`&&(n.status=`active`),e.setResult({success:!0}),pe(t,n,i)})]}function S(e,t){e.emit(s.updated,{sessionId:t,changedProperties:[`generation`]}).catch(e=>console.error(`[SessionStorage] Failed to emit session.updated:`,e))}function C(e,t){let n=t.expectIdentityOpenForLead;return n===void 0?!1:e.adapterName!==void 0||e.adapterId!==void 0?!0:(e.leadAgentId??null)!==n}function w(e,t){let n=t.reconcileAdapterSession;if(n===void 0)return!1;if(e.adapterSessionId!==void 0||e.leadAgentId!==n.agentId)return!0;let r=e.adapterName===void 0&&e.adapterId===void 0,i=e.adapterName===n.adapterName&&e.adapterId===n.adapterId;return!r&&!i}async function T(t,n){let r=await t.requestOptional(e.listBySession,{sessionId:n});return r.handled?r.data.agents:[]}function E(e){return structuredClone(e)}function D(e,t,n){n!==void 0&&(e[t]=n)}function O(e,t,n){n!==void 0&&(e[t]=n??void 0)}function k(e,t){let n=e;return t.status!==`all`&&(n=n.filter(e=>e.status===t.status)),t.executionTargetId!==void 0&&(n=n.filter(e=>e.executionTargetId===t.executionTargetId)),n}function A(e,t){e.currentAdapterSessionId=t?.currentAdapterSessionId,e.currentAdapterSessionIdState=t?.currentAdapterSessionIdState??`inherited`,t!==null&&(e.leadAgentId=t.leadAgentId),e.generation=t?.generation??e.generation??0}function j(e,t){D(e,`status`,t.status),t.parentSessionId!==void 0&&(e.parentSessionId=t.parentSessionId??void 0),D(e,`contextInheritance`,t.contextInheritance),D(e,`rootSessionId`,t.rootSessionId),D(e,`forkPointMessageId`,t.forkPointMessageId),D(e,`branchKind`,t.branchKind),D(e,`isOrchestrated`,t.isOrchestrated),D(e,`clientId`,t.clientId),D(e,`clientAccountId`,t.clientAccountId),D(e,`lastClientIdentityObservation`,t.lastClientIdentityObservation),D(e,`title`,t.title),D(e,`targetWorkingDirectory`,t.targetWorkingDirectory),D(e,`createdAt`,t.createdAt),D(e,`lastActivityAt`,t.lastActivityAt),D(e,`machineId`,t.machineId),t.identity!==void 0&&(e.adapterName=t.identity.adapterName,e.adapterId=t.identity.adapterId,D(e,`adapterSessionId`,t.identity.adapterSessionId)),t.reconcileAdapterSession!==void 0&&(e.adapterName=t.reconcileAdapterSession.adapterName,e.adapterId=t.reconcileAdapterSession.adapterId,e.adapterSessionId=t.reconcileAdapterSession.adapterSessionId,e.lastActivityAt=t.reconcileAdapterSession.lastActivityAt),O(e,`executionTargetId`,t.executionTargetId),O(e,`approvalPolicyOverride`,t.approvalPolicyOverride),O(e,`metadata`,t.metadata),t.spawningToolCallId===null?e.spawningToolCallId=void 0:t.spawningToolCallId!==void 0&&e.spawningToolCallId===void 0&&(e.spawningToolCallId=t.spawningToolCallId),t.advanceGeneration===!0&&(e.generation=(e.generation??0)+1)}function M(e,t){return e.on(n.list,async n=>{let{status:r=`all`,limit:i,offset:a=0,includePreview:o=!1,executionTargetId:s}=n.payload,c=k(Array.from(t.values()),{status:r,executionTargetId:s});c.sort((e,t)=>t.lastActivityAt-e.lastActivityAt);let l=c.length;i!==void 0&&(c=c.slice(a,a+i));let u=await Promise.all(c.map(async t=>({...E(t),agents:await T(e,t.sessionId)}))),d=o?u.map(e=>({...e,preview:{messageCount:0,firstUserMessage:null}})):u;n.setResult({sessions:d,total:l})})}function N(e,t){return e.on(n.update,async n=>{let r=structuredClone(o.request.parse(n.payload)),i=t.get(r.sessionId);if(!i){n.setResult({success:!1,clientAccountChanged:!1});return}if(r.expectedStatus!==void 0&&!r.expectedStatus.includes(i.status)){n.setResult({success:!1,clientAccountChanged:!1});return}if(C(i,r)){n.setResult({success:!1,clientAccountChanged:!1});return}if(w(i,r)){n.setResult({success:!1,clientAccountChanged:!1});return}let a=E(i);p(a,{sessionId:i.sessionId,clientId:r.clientId??i.clientId,clientAccountId:r.clientAccountId??i.clientAccountId,lastClientIdentityObservation:r.lastClientIdentityObservation??i.lastClientIdentityObservation}),j(i,r),n.setResult({success:!0,clientAccountChanged:(a.clientAccountId??null)!==(i.clientAccountId??null)}),m(e,a,E(i)),r.advanceGeneration===!0&&S(e,r.sessionId)})}function P(e,t=d()){let r=t.sessions,i=[];return i.push(e.on(n.get,async t=>{let n=r.get(t.payload.sessionId);if(!n){t.setResult({session:null});return}let i=await T(e,t.payload.sessionId);t.setResult({session:{...E(n),agents:i}})})),i.push(e.on(n.set,async t=>{let{sessionId:n,session:i,ifAbsent:o}=a.parse(t.payload);if(o&&r.has(n)){t.setResult({success:!1,clientAccountChanged:!1});return}let s=structuredClone(i),c=r.get(n)??null,l=c?E(c):null;A(s,l),p(c,s),r.set(n,s),t.setResult({success:!0,clientAccountChanged:(l?.clientAccountId??null)!==(s.clientAccountId??null)}),m(e,l,E(s))})),i.push(e.on(n.delete,async e=>{let n=new Set;for(let[r,i]of t.agents)i.sessionId===e.payload.sessionId&&(n.add(r),t.agents.delete(r));f(t,t=>t.sessionId===e.payload.sessionId||n.has(t.agentId)),r.delete(e.payload.sessionId),e.setResult({success:!0}),await e.next()})),i.push(M(e,r)),i.push(e.on(n.getChildren,e=>{let{sessionId:t}=e.payload,n=Array.from(r.values()),i=n.filter(e=>e.parentSessionId===t),a=new Set(n.map(e=>e.parentSessionId).filter(e=>!!e)),o=i.map(e=>({sessionId:e.sessionId,title:e.title??null,forkPointMessageId:e.forkPointMessageId??null,branchKind:e.branchKind??null,messageCount:0,hasChildren:a.has(e.sessionId),spawningToolCallId:e.spawningToolCallId}));e.setResult({children:o})})),i.push(e.on(n.getStatusCounts,e=>{e.payload;let t=Array.from(r.values()),n=t.filter(e=>e.status===`active`).length,i=t.filter(e=>e.status===`closed`).length,a=t.filter(e=>e.status===`archived`).length,o=t.filter(e=>e.status===`discovered`).length;e.setResult({all:n+i+a+o,active:n,closed:i,archived:a,discovered:o})})),i.push(N(e,r)),i.push(F(e,r)),i.push(...he({bus:e,store:r,populateAgents:T,cloneSession:E})),()=>i.forEach(e=>e())}function F(t,r){return t.on(n.getByAdapterSessionId,async n=>{let{adapterSessionId:i,source:a,adapterName:o}=n.payload,s=Array.from(r.values()).filter(e=>e.adapterSessionId!==void 0&&e.adapterSessionId===i&&(a===void 0||e.source===a)&&(o===void 0||e.adapterName===o)),c=s[0];if(s.length!==1||c===void 0){n.setResult({session:null});return}let l=await t.requestOptional(e.listBySession,{sessionId:c.sessionId}),u=l.handled?l.data.agents:[];n.setResult({session:{...E(c),agents:u}})})}function I(e){return structuredClone(e)}function L(e,t){let{adapterId:n,runtimeOwner:r,adapterSessionId:i,cwd:a,model:o,allowedDirectories:s,providerConfigId:c}=t;return n===void 0&&r===void 0&&i===void 0&&a===void 0&&o===void 0&&s===void 0&&c===void 0?!1:(n!==void 0&&(e.adapterId=n),r!==void 0&&(e.runtimeOwner=structuredClone(r)),i!==void 0&&(e.adapterSessionId=i),a!==void 0&&(e.cwd=a),o!==void 0&&(e.model=o),s!==void 0&&(e.allowedDirectories=s),c===null?delete e.providerConfigId:c!==void 0&&(e.providerConfigId=c),!0)}function R(e){return{status:e.status,recoveryAttemptId:e.recoveryAttemptId,adapterSessionId:e.adapterSessionId,runtimeOwner:structuredClone(e.runtimeOwner),currentAdapterSessionId:e.currentAdapterSessionId,currentAdapterSessionIdState:e.currentAdapterSessionIdState,revision:e.revision,currencyFence:e.currencyFence}}function ge(e,t,n){let r=e.get(t),i=r===void 0?void 0:R(r);e.set(t,{...structuredClone(n),status:i?.status===`disposed`?`disposed`:n.status,recoveryAttemptId:i===void 0?n.recoveryAttemptId:i.recoveryAttemptId,adapterSessionId:i===void 0?n.adapterSessionId:i.adapterSessionId,runtimeOwner:i===void 0?structuredClone(n.runtimeOwner):i.runtimeOwner,currentAdapterSessionId:i?.currentAdapterSessionId,currentAdapterSessionIdState:i?.currentAdapterSessionIdState??`inherited`,revision:i?.revision??0,currencyFence:i?.currencyFence??0})}function z(e,t,n){let r=e.get(t);return r===void 0?!1:n(r)}function _e(e,t,n,r){let i=e.get(t);return i===void 0?{success:!1,transitioned:!1}:i.status===`disposed`||r!==void 0&&!r.includes(i.status)?{success:!0,transitioned:!1}:(i.status=n,i.lastActivityAt=Date.now(),{success:!0,transitioned:!0})}function ve(e,t){return f(e,e=>e.agentId===t),e.agents.delete(t)}function ye(t,n=d()){let r=n.agents,i=[];return i.push(t.on(e.get,e=>{let t=r.get(e.payload.agentId);e.setResult({agent:t===void 0?null:I(t)})})),i.push(t.on(e.set,e=>{ge(r,e.payload.agentId,e.payload.agent),e.setResult({success:!0})})),i.push(t.on(e.delete,e=>{e.setResult({success:ve(n,e.payload.agentId)})})),i.push(t.on(e.listByAdapter,e=>{let{adapterName:t,status:n}=e.payload,i=Array.from(r.values()).filter(e=>e.adapterName===t);n&&n!==`all`&&(i=i.filter(e=>e.status===n)),e.setResult({agents:i.map(I)})})),i.push(t.on(e.listBySession,e=>{let t=Array.from(r.values()).filter(t=>t.sessionId===e.payload.sessionId);e.setResult({agents:t.map(I)})})),i.push(t.on(e.updateStatus,e=>{let{agentId:t,status:n,expectedStatus:i}=e.payload;e.setResult(_e(r,t,n,i))})),i.push(t.on(e.updateActivity,e=>{let t=z(r,e.payload.agentId,t=>(t.lastActivityAt=e.payload.lastActivityAt,!0));e.setResult({success:t})})),i.push(t.on(e.updateRuntime,e=>{let{agentId:t,adapterId:n,runtimeOwner:i,adapterSessionId:a,cwd:o,model:s,allowedDirectories:c,providerConfigId:l}=structuredClone(e.payload),u=z(r,t,e=>L(e,{adapterId:n,runtimeOwner:i,adapterSessionId:a,cwd:o,model:s,allowedDirectories:c,providerConfigId:l})?(e.lastActivityAt=Date.now(),!0):!1);e.setResult({success:u})})),()=>i.forEach(e=>e())}function B(e,t,n,r){for(let i of e.values())if(i.machineId===t&&i.adapterId===n&&i.providerSessionId===r)return i}function V(e,t){for(let n of e.values())if(n.claimToken===t)return n}function be(e,t){let n=0;for(let r of e.values())r.agentId===t&&r.fence>n&&(n=r.fence);return n}function H(e,t,n){let r=e.agents.get(t)?.currencyFence??0;return 1+Math.max(n,r,be(e.claims,t))}function U(e,t){return`${e.length}:${e}${t}`}function W(e,t,n,r){let i=U(t,n),a=e.runtimeInstances.get(i);if(a!==void 0)return a;let o=1;for(let t of e.runtimeInstances.values())t.machineId===n&&t.incarnation>=o&&(o=t.incarnation+1);let s={instanceId:t,machineId:n,incarnation:o,startedAt:r,retiredAt:null};return e.runtimeInstances.set(i,structuredClone(s)),s}function G(e,t,n){if(n.ownerInstanceId===null)return!1;if(t.supersededClaimToken===n.claimToken||n.status===`held`&&n.agentId===t.agentId&&n.ownerInstanceId===t.ownerInstanceId)return!0;let r=e.runtimeInstances.get(U(n.ownerInstanceId,n.machineId));if(r?.retiredAt!==null&&r?.retiredAt!==void 0)return!0;if(t.topology===`machine-exclusive`){let n=e.runtimeInstances.get(U(t.ownerInstanceId,t.machineId));if(n!==void 0&&r!==void 0&&n.incarnation>r.incarnation)return!0}return!1}function K(e,t){let n=e.currentAdapterSessionIdState??`inherited`;if(n!==`inherited`)return{currentAdapterSessionId:e.currentAdapterSessionId,currentAdapterSessionIdState:n};let r=e.adapterSessionId??null;return r===t?{currentAdapterSessionId:void 0,currentAdapterSessionIdState:`inherited`}:r===null?{currentAdapterSessionId:void 0,currentAdapterSessionIdState:`moved`}:{currentAdapterSessionId:r,currentAdapterSessionIdState:`confirmed`}}function xe(e,t){if(t===`confirmed`!=(e!==null))throw Error(`Currency pairing invariant violated: confirmed ↔ id !== null (state="${t}", id=${e===null?`null`:`present`})`)}function q(e){return{adapterSessionId:e.adapterSessionId??null,currentAdapterSessionId:e.currentAdapterSessionId??null,currentAdapterSessionIdState:e.currentAdapterSessionIdState??`inherited`}}function J(e,t,n){if(t.recoveryGuard!==void 0&&e!==void 0&&(n.outcome===`claimed`||n.outcome===`idempotent`)){let r=t.recoveryAttemptId;if(r===void 0)throw Error(`guarded recovery claim requires recoveryAttemptId`);let i={status:e.status,adapterId:e.adapterId,...e.runtimeOwner===void 0?{}:{binding:{adapterId:e.adapterId,ownerMachineId:e.runtimeOwner.machineId,ownerInstanceId:e.runtimeOwner.instanceId}},...e.recoveryAttemptId===void 0?{}:{recoveryAttemptId:e.recoveryAttemptId}};if(e.status=`starting`,e.adapterId=t.adapterId,t.ownerInstance===void 0)throw Error(`guarded recovery claim requires ownerInstance`);return e.runtimeOwner={machineId:t.machineId,instanceId:t.ownerInstance.instanceId},e.recoveryAttemptId=r,e.lastActivityAt=Date.now(),{...n,recovery:{attemptId:r,preimage:i}}}return n}function Y(e,t,n){let r=e.sessions.get(t.sessionId);if(r===void 0)return{kind:`refused`,result:{outcome:`not-found`,missing:`session`}};if(r.status!==`active`&&(r.status!==`closed`||!l(t)))return{kind:`refused`,result:{outcome:`session-not-active`,status:r.status}};let i=r.leadAgentId??null,a=t.designateLead;if(a===void 0)return{kind:`ok`,leadDesignated:!1,previousLeadAgentId:i};let o=a.clear===!0,s=o?null:n.agentId;if(!o&&n.status===`disposed`)return{kind:`refused`,result:{outcome:`agent-disposed`}};if(!o&&i===n.agentId)return{kind:`ok`,leadDesignated:!1,previousLeadAgentId:i};if(i!==a.expectedLeadAgentId)return{kind:`conflict`,currentLeadAgentId:i};if(r.leadAgentId=s??void 0,!o){let e=K(n,r.adapterSessionId??null);r.currentAdapterSessionId=e.currentAdapterSessionId,r.currentAdapterSessionIdState=e.currentAdapterSessionIdState}return{kind:`ok`,leadDesignated:!0,previousLeadAgentId:i}}function X(e,t,n){if(!e.sessions.has(t.sessionId))return{kind:`refused`,result:{outcome:`not-found`,missing:`session`}};let r=e.agents.get(t.agentId);if(r===void 0||r.sessionId!==t.sessionId)return{kind:`refused`,result:{outcome:`not-found`,missing:`agent`}};if(r.status===`disposed`)return{kind:`refused`,result:{outcome:`agent-disposed`}};let i=V(e.claims,t.claimToken);if(i!==void 0&&i.claimId!==n?.claimId)throw Error(`UNIQUE constraint failed: adapter_session_claims.claim_token (uniq_adapter_session_claims_token): "${t.claimToken}" is already in use`);return{kind:`ok`,agent:r}}function Z(e,t,n){return{outcome:e,claim:t===null?null:structuredClone(t),leadDesignated:n.leadDesignated,previousLeadAgentId:n.previousLeadAgentId}}function Se(e,t){let n=X(e,t);if(n.kind===`refused`)return n.result;let r=Date.now(),i=crypto.randomUUID(),a={claimId:i,machineId:t.machineId,adapterId:t.adapterId,adapterName:t.adapterName,providerSessionId:t.providerSessionId,sessionId:t.sessionId,agentId:t.agentId,ownerInstanceId:t.ownerInstance.instanceId,claimToken:t.claimToken,fence:H(e,t.agentId,0),status:`held`,claimedAt:r,updatedAt:r};e.claims.set(i,structuredClone(a));let o=Y(e,t,n.agent);return o.kind===`ok`?Z(`claimed`,a,o):(e.claims.delete(i),o.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:o.currentLeadAgentId}:o.result)}function Ce(e,t,n){let r=X(e,t,n);if(r.kind===`refused`)return r.result;let i=Date.now(),a={...n,claimToken:t.claimToken,fence:H(e,t.agentId,n.fence),agentId:t.agentId,sessionId:t.sessionId,adapterName:t.adapterName,ownerInstanceId:t.ownerInstance.instanceId,status:`held`,claimedAt:i,updatedAt:i};e.claims.set(n.claimId,structuredClone(a));let o=Y(e,t,r.agent);return o.kind===`ok`?Z(`claimed`,a,o):(e.claims.set(n.claimId,structuredClone(n)),o.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:o.currentLeadAgentId}:o.result)}function we(e,t,n){if(n.status!==`held`)return{outcome:`already-claimed`,holder:structuredClone(n)};let r=X(e,t,n);if(r.kind===`refused`)return r.result;let i=Y(e,t,r.agent);return i.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:i.currentLeadAgentId}:i.kind===`refused`?i.result:Z(`idempotent`,n,i)}function Te(e,t){let n=e.agents.get(t.agentId);if(n===void 0||n.sessionId!==t.sessionId)return{outcome:`not-found`,missing:`agent`};if(n.status===`disposed`&&t.designateLead?.clear!==!0)return{outcome:`agent-disposed`};let r=Y(e,t,n);return r.kind===`conflict`?{outcome:`lead-conflict`,currentLeadAgentId:r.currentLeadAgentId}:r.kind===`refused`?r.result:Z(`claimed`,null,r)}function Ee(e,t,n,r,i){let a=t.ownerInstance;if(a===void 0)throw Error(`keyed session ownership claim requires ownerInstance`);let o=U(a.instanceId,t.machineId),s=e.runtimeInstances.has(o);W(e,a.instanceId,t.machineId,Date.now());let c={...t,providerSessionId:n,ownerInstance:a};if(i===void 0){let n=Se(e,c);return!s&&n.outcome!==`claimed`&&e.runtimeInstances.delete(o),J(r,t,n)}if(i.claimToken===c.claimToken){if(i.agentId===c.agentId&&i.sessionId===c.sessionId){let n=we(e,c,i);return s||e.runtimeInstances.delete(o),J(r,t,n)}return s||e.runtimeInstances.delete(o),{outcome:`already-claimed`,holder:structuredClone(i)}}if(G(e,{machineId:c.machineId,agentId:c.agentId,ownerInstanceId:c.ownerInstance.instanceId,topology:c.topology,supersededClaimToken:c.supersedes?.claimToken},i)){let n=Ce(e,c,i);return!s&&n.outcome!==`claimed`&&e.runtimeInstances.delete(o),J(r,t,n)}return s||e.runtimeInstances.delete(o),{outcome:`already-claimed`,holder:structuredClone(i)}}function De(e,t,n){let r=t.ownerInstance,i=t.recoveryGuard===void 0||r===void 0?void 0:U(r.instanceId,t.machineId),a=i===void 0||e.runtimeInstances.has(i);i!==void 0&&r!==void 0&&W(e,r.instanceId,t.machineId,Date.now());let o=Te(e,t);return i!==void 0&&!a&&o.outcome!==`claimed`&&e.runtimeInstances.delete(i),J(n,t,o)}function Oe(e,n){let r=u(n),{providerSessionId:i}=r,a=e.agents.get(r.agentId),o=i===null?void 0:B(e.claims,r.machineId,r.adapterId,i);if(r.recoveryGuard!==void 0&&a!==void 0){let e=t(r,{status:a.status,adapterId:a.adapterId,runtimeOwner:a.runtimeOwner,recoveryAttemptId:a.recoveryAttemptId,revision:a.revision??0,currencyFence:a.currencyFence??0,currency:q(a)},o??null);if(e!==void 0)return e}return i===null?De(e,r,a):Ee(e,r,i,a,o)}function ke(e,t,n){let{agentId:r,claimToken:i,fence:a,expectedRevision:o,target:s}=n,c=t.revision??0,l=t.currencyFence??0;if(t.status===`disposed`)return{outcome:`agent-disposed`};let u=V(e.claims,i);if(u===void 0||u.agentId!==r||u.sessionId!==t.sessionId||u.status!==`held`||u.fence!==a)return{outcome:`not-owner`};if(a<l)return{outcome:`superseded`,currentFence:l};let d=q(t);if(d.currentAdapterSessionId===s.currentAdapterSessionId&&d.currentAdapterSessionIdState===s.currentAdapterSessionIdState&&l===a)return{outcome:`idempotent`,revision:c,currency:d,sessionSnapshotUpdated:!1};if(c!==o)return{outcome:`currency-changed`,revision:c,currency:d}}function Q(e,t,n){let r=ke(e,t,n);if(r!==void 0)return r;let{agentId:i,fence:a,expectedRevision:o,target:s}=n;xe(s.currentAdapterSessionId,s.currentAdapterSessionIdState);let c=t.adapterSessionId??null;t.currentAdapterSessionId=s.currentAdapterSessionId??void 0,t.currentAdapterSessionIdState=s.currentAdapterSessionIdState,t.currencyFence=a,t.revision=o+1,t.lastActivityAt=Date.now();let l=e.sessions.get(t.sessionId),u=!1;if(l!==void 0&&l.leadAgentId===i){let e=K(t,l.adapterSessionId??null);l.currentAdapterSessionId=e.currentAdapterSessionId,l.currentAdapterSessionIdState=e.currentAdapterSessionIdState,u=!0}return{outcome:`settled`,revision:o+1,currency:{adapterSessionId:c,...s},sessionSnapshotUpdated:u}}function Ae(e,t,n){let r=V(e.claims,t);if(!(r===void 0||r.claimId===n))throw Error(`UNIQUE constraint failed: adapter_session_claims.claim_token (uniq_adapter_session_claims_token): "${t}" is already in use`)}function je(e,t){if(!(t===void 0||t.agentId!==e.agentId||t.status!==`held`||t.ownerInstanceId!==null&&t.ownerInstanceId!==e.ownerInstance.instanceId))return{generation:t,rollback:()=>{}}}function Me(e,t,n){if(t.ownerInstanceId!==null)return t;let r={...t,ownerInstanceId:n};return e.claims.set(r.claimId,structuredClone(r)),r}function Ne(e,t,n){let{machineId:r,adapterId:i,agentId:a}=t,o=B(e.claims,r,i,n),s,c,l=je(t,o);if(l!==void 0)s=l.generation,c=l.rollback;else if(o!==void 0&&!G(e,{machineId:r,agentId:a,ownerInstanceId:t.ownerInstance.instanceId,topology:t.topology},o))return{outcome:`already-claimed`,holder:structuredClone(o)};else{let l=Date.now(),u=o?.claimId??crypto.randomUUID();Ae(e,t.movement.claimToken,u),s={claimId:u,machineId:r,adapterId:i,adapterName:t.adapterName,providerSessionId:n,sessionId:t.sessionId,agentId:a,ownerInstanceId:t.ownerInstance.instanceId,claimToken:t.movement.claimToken,fence:H(e,a,o?.fence??0),status:`held`,claimedAt:l,updatedAt:l},e.claims.set(u,structuredClone(s)),c=o===void 0?()=>{e.claims.delete(u)}:()=>{e.claims.set(u,structuredClone(o))}}let u=t.movement.kind===`confirmed`?Array.from(e.claims.values()).filter(e=>e.agentId===a&&e.status===`held`&&e.claimId!==s.claimId):[];for(let t of u)e.claims.delete(t.claimId);return{generation:s,releasedProviderSessionIds:u.map(e=>e.providerSessionId),rollback:()=>{for(let t of u)e.claims.set(t.claimId,structuredClone(t));c()}}}function Pe(e,t){if(e.kind===`confirmed`)return{providerSessionId:e.providerSessionId,currency:{currentAdapterSessionId:e.providerSessionId,currentAdapterSessionIdState:`confirmed`}};let n=c(q(t));return n===null?null:{providerSessionId:n,currency:{currentAdapterSessionId:null,currentAdapterSessionIdState:`moved`}}}function $(e,t){return e.on(i.read,e=>{let{agentId:n}=e.payload,r=t.agents.get(n);if(r===void 0){e.setResult({ownership:null});return}let i=Array.from(t.claims.values()).filter(e=>e.agentId===n).sort((e,t)=>e.fence-t.fence||e.claimId.localeCompare(t.claimId));e.setResult({ownership:{agentId:n,sessionId:r.sessionId,currency:q(r),revision:r.revision??0,currencyFence:r.currencyFence??0,claims:i.map(e=>structuredClone(e))}})})}function Fe(e,t){return e.on(i.settleCurrency,e=>{let n=t.agents.get(e.payload.agentId);if(n===void 0){e.setResult({outcome:`not-found`});return}e.setResult(Q(t,n,e.payload))})}function Ie(e,t){return e.on(i.finalizeRecovery,e=>{let{agentId:n,attemptId:r,binding:i,action:a}=e.payload,o=t.agents.get(n);if(o===void 0||o.status!==`starting`||o.recoveryAttemptId!==r||o.adapterId!==i.adapterId||o.runtimeOwner?.machineId!==i.ownerMachineId||o.runtimeOwner?.instanceId!==i.ownerInstanceId){e.setResult({applied:!1});return}a.kind===`rollback`?(o.status=a.preimage.status,o.adapterId=a.preimage.adapterId,o.runtimeOwner=a.preimage.binding===void 0?void 0:{machineId:a.preimage.binding.ownerMachineId,instanceId:a.preimage.binding.ownerInstanceId},o.recoveryAttemptId=a.preimage.recoveryAttemptId):(o.status=a.kind===`succeeded`?`idle`:`dead`,o.recoveryAttemptId=void 0),o.lastActivityAt=Date.now(),e.setResult({applied:!0})})}function Le(e,t){return e.on(i.settleMovement,e=>{let n=r.parse(e.payload),i=n.ownerInstance;if(i===void 0)throw Error(`session ownership movement requires ownerInstance`);let a=U(i.instanceId,n.machineId),o=t.runtimeInstances.has(a);W(t,i.instanceId,n.machineId,Date.now());let s={...n,ownerInstance:i},c=t.agents.get(n.agentId);if(c===void 0||c.sessionId!==n.sessionId){o||t.runtimeInstances.delete(a),e.setResult({outcome:`not-found`});return}if(c.status===`disposed`){o||t.runtimeInstances.delete(a),e.setResult({outcome:`agent-disposed`});return}let l=Pe(s.movement,c);if(l===null){o||t.runtimeInstances.delete(a),e.setResult({outcome:`idempotent`,revision:c.revision??0,currency:q(c),sessionSnapshotUpdated:!1,claim:null});return}let u=Ne(t,s,l.providerSessionId);if(!(`generation`in u)){o||t.runtimeInstances.delete(a),e.setResult(u);return}let d=Q(t,c,{agentId:n.agentId,claimToken:u.generation.claimToken,fence:u.generation.fence,expectedRevision:n.expectedRevision,target:l.currency});if(d.outcome!==`settled`){u.rollback(),o||t.runtimeInstances.delete(a),e.setResult(d.outcome===`idempotent`?{...d,claim:structuredClone(u.generation)}:d);return}let f=Me(t,u.generation,i.instanceId);e.setResult({outcome:`settled`,revision:d.revision,currency:d.currency,sessionSnapshotUpdated:d.sessionSnapshotUpdated,releasedProviderSessionIds:u.releasedProviderSessionIds,claim:structuredClone(f)})})}function Re(e,t){return e.on(i.releaseAgentClaims,e=>{let{agentId:n,claimToken:r,disposition:i}=e.payload,a=Array.from(t.claims.values()).filter(e=>e.agentId===n&&(r===void 0||e.claimToken===r));if(i===`released`){for(let e of a)t.claims.delete(e.claimId);e.setResult({releasedProviderSessionIds:a.map(e=>e.providerSessionId),markedClaims:[],claimTokenNotFound:r!==void 0&&a.length===0});return}let o=Date.now(),s=a.map(e=>{let n={...e,status:i,updatedAt:o};return t.claims.set(e.claimId,structuredClone(n)),n});e.setResult({releasedProviderSessionIds:[],markedClaims:s,claimTokenNotFound:r!==void 0&&a.length===0})})}function ze(e,t){return e.on(i.release,e=>{let{agentId:n,claimToken:r,disposition:i}=e.payload,a=V(t.claims,r);if(a===void 0){e.setResult({outcome:`not-found`});return}if(a.agentId!==n){e.setResult({outcome:`not-owner`,holder:structuredClone(a)});return}if(i===`released`){t.claims.delete(a.claimId),e.setResult({outcome:`released`});return}let o={...a,status:i,updatedAt:Date.now()};t.claims.set(a.claimId,structuredClone(o)),e.setResult({outcome:`marked`,claim:structuredClone(o)})})}function Be(e,t){return e.on(i.listClaims,e=>{let{machineId:n,adapterId:r,providerSessionId:i,statuses:a}=e.payload,o=Array.from(t.claims.values()).filter(e=>e.machineId===n&&(r===void 0||e.adapterId===r)&&(i===void 0||e.providerSessionId===i)&&(a===void 0||a.includes(e.status)));o.sort((e,t)=>e.claimedAt-t.claimedAt||e.claimId.localeCompare(t.claimId)),e.setResult({claims:o.map(e=>structuredClone(e))})})}function Ve(e,t){return e.on(i.retireInstance,e=>{let n=Date.now(),r=0;for(let[i,a]of t.runtimeInstances)a.instanceId!==e.payload.instanceId||a.retiredAt!==null||(t.runtimeInstances.set(i,{...a,retiredAt:n}),r+=1);e.setResult({retiredMachines:r})})}function He(e,t){return e.on(i.getRuntimeInstance,e=>{let n=t.runtimeInstances.get(U(e.payload.instanceId,e.payload.machineId));e.setResult({instance:n===void 0?null:structuredClone(n)})})}function Ue(e,t=d()){let n=[$(e,t),Ie(e,t),e.on(i.claim,e=>{e.setResult(Oe(t,e.payload))}),Fe(e,t),Le(e,t),ze(e,t),Re(e,t),Be(e,t),Ve(e,t),He(e,t)];return()=>{for(let e=n.length-1;e>=0;--e)n[e]?.()}}export{C as a,g as c,p as d,m as f,w as i,h as l,ye as n,S as o,d as p,P as r,_ as s,Ue as t,te as u};
package/dist/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@makaio/framework",
3
- "version": "1.0.0-dev-1789609124644",
3
+ "version": "1.0.0-dev-1789642522820",
4
4
  "type": "module"
5
5
  }
@@ -108,6 +108,7 @@ import{fileURLToPath as e}from"node:url";import{isBunRuntime as t}from"@makaio/f
108
108
  s.root_session_id,
109
109
  s.fork_point_message_id,
110
110
  s.branch_kind,
111
+ s.generation,
111
112
  s.adapter_name,
112
113
  s.adapter_session_id,
113
114
  s.adapter_id,
@@ -77,6 +77,19 @@ declare const sessionsDual: _$_makaio_storage_drizzle0.DualTable<"sessions", {
77
77
  * Null for root sessions (not created from another session).
78
78
  */
79
79
  branchKind: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"branch_kind", ["fork", "branch", "subagent", "compress", "rewrite", "coordinator", "aside"], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"branch_kind", ["fork", "branch", "subagent", "compress", "rewrite", "coordinator", "aside"]>>;
80
+ /**
81
+ * Count of provider compactions observed on this conversation.
82
+ *
83
+ * Advanced by `storage:session.rebindObserved` when the continuation
84
+ * reports `startMode: 'compact'`; a `resume` leaves it untouched.
85
+ *
86
+ * Defaulted to 0 so pre-existing rows and every other write path read as
87
+ * "never compacted" without a backfill pass — the same treatment
88
+ * `current_adapter_session_id_state` gets above. 0 is the honest value for
89
+ * a row nobody watched compact, and it keeps "generation" counting
90
+ * compactions rather than being an off-by-one session counter.
91
+ */
92
+ generation: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>>, _$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgIntegerBuilderInitial<string>>>>;
80
93
  /**
81
94
  * Adapter type name (e.g., 'claude-code', 'codex-mcp').
82
95
  * Identifies the source adapter for native imports.
@@ -421,6 +434,23 @@ declare const sessions: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
421
434
  }, {}, {
422
435
  length: number | undefined;
423
436
  }>;
437
+ generation: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
438
+ name: string;
439
+ tableName: "sessions";
440
+ dataType: "number";
441
+ columnType: "SQLiteInteger";
442
+ data: number;
443
+ driverParam: number;
444
+ notNull: true;
445
+ hasDefault: true;
446
+ isPrimaryKey: false;
447
+ isAutoincrement: false;
448
+ hasRuntimeDefault: false;
449
+ enumValues: undefined;
450
+ baseColumn: never;
451
+ identity: undefined;
452
+ generated: undefined;
453
+ }, {}, {}>;
424
454
  adapterName: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
425
455
  name: "adapter_name";
426
456
  tableName: "sessions";
@@ -45,9 +45,9 @@ type SubagentTemplateSummary = z.infer<typeof SubagentTemplateSummarySchema>;
45
45
  declare const SubagentTemplateCreateSchema: z.ZodObject<{
46
46
  name: z.ZodString;
47
47
  enabled: z.ZodDefault<z.ZodBoolean>;
48
+ model: z.ZodOptional<z.ZodString>;
48
49
  providerConfigId: z.ZodOptional<z.ZodString>;
49
50
  adapterName: z.ZodString;
50
- model: z.ZodOptional<z.ZodString>;
51
51
  systemPrompt: z.ZodOptional<z.ZodString>;
52
52
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
53
53
  disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -130,9 +130,9 @@ declare const SubagentTemplateSettingsSchemas: {
130
130
  request: z.ZodObject<{
131
131
  name: z.ZodString;
132
132
  enabled: z.ZodDefault<z.ZodBoolean>;
133
+ model: z.ZodOptional<z.ZodString>;
133
134
  providerConfigId: z.ZodOptional<z.ZodString>;
134
135
  adapterName: z.ZodString;
135
- model: z.ZodOptional<z.ZodString>;
136
136
  systemPrompt: z.ZodOptional<z.ZodString>;
137
137
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
138
138
  disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -0,0 +1 @@
1
+ import{n as e,o as t}from"./json-value-DM-EjTC1.mjs";import{a as n,s as r}from"./visibility-DCcfB817.mjs";import"./model-BPKGygMv.mjs";import{c as ee,f as te,i as ne,o as i,p as a,r as re,s as ie}from"./shared-Gb3kTtHs.mjs";import{a as ae,f as oe,i as se,n as ce,r as le,t as ue,u as de}from"./compression-CPrVeC42.mjs";import{t as o}from"./provider-context-DFTB8rsU.mjs";import{t as fe}from"./schemas-BmoFWBdh.mjs";import{r as pe}from"./profile-1fvMljlJ.mjs";import{i as me}from"./account-identity-C-v4mHq3.mjs";import{t as he}from"./storage-namespace-definition-BUpCw171.mjs";import{SessionLineageSchema as ge}from"./contracts/adapter/schemas/session-lineage.mjs";import{z as s}from"zod";import{localSubject as _e,observability as c}from"@makaio/framework/core";const l=s.object({adapterId:s.string(),adapterName:s.string()}),ve=s.object({cwd:s.string().optional(),allowedTools:s.array(s.string()).optional(),disallowedTools:s.array(s.string()).optional(),allowedDirectories:s.array(s.string()).optional(),systemPrompt:te.optional()}),ye={request:s.object({adapterName:s.string().optional(),adapterId:s.string().optional()}).refine(e=>e.adapterName||e.adapterId,{message:`Either adapterName or adapterId must be provided`}),response:s.object({capabilities:s.array(s.string()),nativeTools:s.array(s.string())})},u=s.enum([`lead`,`member`]),d=s.enum([`fork`,`branch`,`subagent`,`compress`,`rewrite`,`coordinator`,`aside`]),f=s.enum([`parent-history`,`none`]),p=s.enum([`inherited`,`moved`,`confirmed`]),m=s.enum([`discovered`,`imported`,`tracking`]),be=s.object({sessionId:s.string(),title:s.string().nullable(),forkPointMessageId:s.string().nullable(),branchKind:d.nullable(),messageCount:s.number(),hasChildren:s.boolean(),spawningToolCallId:s.string().optional()}),xe=s.object({fromMessageId:s.string(),toMessageId:s.string(),policy:s.enum([`verbatim`,`summarize`,`exclude`]),stripReasoning:s.boolean().optional(),stripToolOutputs:s.boolean().optional(),overrides:s.record(s.string(),s.literal(`exclude`)).optional(),summaryText:s.string().optional()}),h=s.object({removedMessageIds:s.array(s.string()).optional(),appliedPipeline:s.array(s.object({actionId:s.string(),options:s.record(s.string(),s.unknown()).optional()})).optional(),segments:s.array(xe).optional()}),Se=s.object({parentSessionId:s.string(),childSessionId:s.string(),summary:s.string().optional(),source:s.enum([`extension`,`user`,`system`]).optional(),extensionId:s.string().optional()}),Ce=s.object({success:s.boolean(),handoff:s.string().optional()}),we=s.object({parentSessionId:s.string(),childSessionId:s.string(),source:s.enum([`extension`,`user`,`system`]).optional(),extensionId:s.string().optional()}),Te=s.object({success:s.boolean()}),Ee=s.object({sessionId:s.string()}),De=s.object({children:s.array(be)}),Oe=s.object({parentSessionId:s.string(),childSessionId:s.string(),reason:s.string()}),ke=s.object({parentSessionId:s.string(),childSessionId:s.string(),forkPoint:s.string().optional()}),Ae=s.object({parentSessionId:s.string(),childSessionId:s.string()}),je=s.object({parentSessionId:s.string(),childSessionId:s.string(),handoff:s.string()}),Me=s.object({sessionId:s.string(),parentSessionId:s.string().optional()}),Ne=s.object({parentSessionId:s.string(),childSessionId:s.string(),result:s.unknown()}),Pe=s.object({sessionId:s.string(),reason:s.string(),source:s.enum([`extension`,`user`,`system`]).optional(),extensionId:s.string().optional()}),Fe=s.object({sessionId:s.string(),pipeline:s.array(s.object({actionId:s.string(),options:s.record(s.string(),s.unknown()).optional()}))}),Ie=s.object({eventId:s.string(),contextJson:s.record(s.string(),s.unknown()),tokensBefore:s.number(),tokensAfter:s.number().optional()}),Le=s.object({sessionId:s.string(),childSessionId:s.string(),parentSessionId:s.string(),kind:d,forkPointMessageId:s.string().optional(),transforms:h.optional()}),Re=s.object({sessionId:s.string(),childSessionId:s.string(),parentSessionId:s.string(),resultJson:s.string().optional(),resultMessageId:s.string().optional()}),ze=s.object({sessionId:s.string(),summaryJson:s.string(),tokensBefore:s.number().optional(),tokensAfter:s.number().optional(),compressedMessageIds:s.array(s.string()).optional()}),Be=s.object({sessionId:s.string(),parentSessionId:s.string().nullable(),branchKind:d.nullable(),createdAt:s.number(),originWindowId:s.string().optional()}),Ve=s.object({sessionId:s.string(),changedProperties:s.array(s.string())}),He={merge:{request:Se,response:Ce},abandon:{request:we,response:Te},getChildren:{request:Ee,response:De},forking:Oe,forked:ke,merging:Ae,merged:je,abandoned:Me,childCompleted:Ne,compressionRequested:Pe,"branch.created":Le,"branch.merged":Re,squash:ze,created:Be,updated:Ve,compress:{request:Fe,response:Ie}},g=s.enum([`adapter-unsupported`,`adapter-mismatch`,`no-adapter-session`,`missing-machine-id`,`machine-mismatch`,`cwd-mismatch`,`transforms-present`,`compression-present`,`connector-swap`,`mid-history-unsupported`,`hybrid-imported-orchestrated`,`native-attempt-failed`,`agent-already-started`,`fork-point-unresolvable`,`adapter-session-moved`]),Ue=s.discriminatedUnion(`kind`,[s.object({kind:s.literal(`native`)}),s.object({kind:s.literal(`degrade`),reason:g}),s.object({kind:s.literal(`foreign`),machineId:s.string()})]),We=s.object({sourceSessionId:s.string(),sourceAdapterSessionId:s.string(),forkPointMessageId:s.string().optional(),targetWorkingDirectory:s.string().optional()}),_=s.string().regex(/^[\u0020-\u007e]*$/u,`Correlation identifiers must contain only printable ASCII characters`).trim().min(1).max(512),Ge=s.object({sessionId:_.optional(),turnId:_.optional(),messageId:_.optional(),executionId:_.optional(),frameId:_.optional()}).strict(),Ke=[`auto`,`systemPrompt`,`fullPrefix`],v=s.object({messageHistory:s.array(ee).optional(),hasNewTransforms:s.boolean().optional(),hasCompression:s.boolean().optional(),extractedContext:s.unknown().optional(),isFirstTurn:s.boolean().optional(),hasConnectorSwap:s.boolean().optional(),cacheStrategy:s.enum(Ke).optional(),turnContext:s.record(s.string(),t).optional(),requestCorrelation:Ge.optional(),nativeLocality:Ue.optional(),nativeFork:We.optional()}),qe=ne,Je=s.enum([`user`,`assistant`]),y=s.enum([`voice`,`text`,`compact`]),Ye=s.object({messageId:s.string(),turnId:s.string().nullable(),sessionId:s.string(),role:Je,contentText:s.string(),blocks:s.array(qe),agentId:s.string().optional(),adapterSessionId:s.string().optional(),adapterMessageId:s.string().optional(),timestamp:s.number(),editOf:s.string().optional(),origin:y.optional()}),Xe=s.enum([`active`,`completed`,`error`]),b=s.object({inputTokens:s.number(),cachedInputTokens:s.number().optional(),outputTokens:s.number(),cost:s.number().optional()}),x=s.object({total:b,byAgent:s.record(s.string(),b).optional()}),S=s.object({source:s.enum([`user`,`extension`,`system`]),sourceId:s.string().optional()}),Ze=s.object({turnId:s.string(),sessionId:s.string(),turnNumber:s.number().int().min(1),startedAt:s.number(),completedAt:s.number().optional(),status:Xe,error:s.string().optional(),usage:x.optional(),initiator:S.optional()}),Qe=s.enum([`sent`,`acknowledged`,`completed`]),$e=s.object({messageId:s.string(),agentId:s.string(),status:Qe,timestamp:s.number(),error:s.string().optional()}),C=s.enum([`starting`,`idle`,`active`,`dead`,`disposed`]),w=s.object({agentId:s.string(),adapterId:s.string(),adapterName:s.string(),sessionId:s.string(),runtimeOwner:s.object({machineId:s.string(),instanceId:s.string()}).optional(),recoveryAttemptId:s.string().optional(),adapterSessionId:s.string().optional(),currentAdapterSessionId:s.string().optional(),currentAdapterSessionIdState:p.optional(),revision:s.number().int().nonnegative().optional(),currencyFence:s.number().int().nonnegative().optional(),model:s.string().optional(),cwd:s.string().optional(),allowedDirectories:s.array(s.string()).optional(),providerConfigId:s.string().optional(),personaId:s.string().optional(),profileId:s.string().optional(),harnessId:s.string().optional(),clientId:s.string().optional(),compressionMode:ue.optional(),role:u,status:C,createdAt:s.number(),lastActivityAt:s.number()}),T=s.record(s.string(),t),E=s.object({sessionId:s.string(),createdAt:s.number(),lastActivityAt:s.number(),agents:s.array(w),status:s.enum([`active`,`closed`,`archived`,`discovered`]),leadAgentId:s.string().optional(),parentSessionId:s.string().optional(),contextInheritance:f.optional(),rootSessionId:s.string().optional(),forkPointMessageId:s.string().optional(),branchKind:d.optional(),generation:s.number().int().nonnegative().optional(),adapterName:s.string().optional(),adapterSessionId:s.string().optional(),currentAdapterSessionId:s.string().optional(),currentAdapterSessionIdState:p.optional(),adapterId:s.string().optional(),clientId:s.string().optional(),clientAccountId:s.string().optional(),lastClientIdentityObservation:me.optional(),isOrchestrated:s.boolean().optional(),title:s.string().optional(),summary:s.string().optional(),summaryUpdatedAt:s.number().optional(),isImported:s.boolean().optional(),forkTransforms:h.optional(),targetWorkingDirectory:s.string().optional(),executionTargetId:s.string().optional(),spawningToolCallId:s.string().optional(),approvalPolicyOverride:fe.nullable().optional(),metadata:T.optional(),source:s.string().optional(),parentExternalSessionId:s.string().optional(),logFilePath:s.string().optional(),discoveredAt:s.number().optional(),importStatus:m.optional(),isSidechain:s.boolean().optional(),machineId:s.string().nullable().optional()}),et=s.object({messageCount:s.number(),firstUserMessage:s.string().nullable()}),D=E.extend({preview:et.optional()}),O=s.enum([`live`,`backfill`]),k=s.object({sessionId:s.string(),turnId:s.string(),turnNumber:s.number().int().min(1)}),A=k.extend({messageId:s.string()}),tt=k.extend({success:s.boolean(),error:s.string().optional(),usage:x.optional(),initiator:S.optional(),ingestionMarker:O.optional()}),nt=se.safeExtend({kind:s.string().regex(/^(?!(?:adapter|canonical-model)$).+$/)}),rt=s.union([le,ce,nt]),it=le.extend({providerContext:o.optional()}),at=s.object({sessionId:s.string(),agent:it,harnessId:s.string().optional(),initialMessage:i.optional(),responseSchema:a.optional(),source:s.enum([`extension`,`user`,`system`]).optional(),extensionId:s.string().optional(),assertInitialMessageAdmission:s.unknown().optional(),role:s.enum([`lead`,`member`]).optional()}),ot=s.object({agentId:s.string(),adapterSessionId:s.string().optional(),role:s.enum([`lead`,`member`]),messageId:s.string().optional(),turnId:s.string().optional()}),j={sendMessage:{request:s.object({sessionId:s.string(),message:i,agent:rt.optional(),agentIds:s.union([s.array(s.string()),s.literal(`all`)]).optional(),deliveryMode:s.enum([`enqueue`]).optional(),turnId:s.string().optional(),sessionContext:v.optional(),responseSchema:a.optional(),source:s.enum([`extension`,`user`,`system`]).optional(),extensionId:s.string().optional(),originWindowId:s.string().optional(),skipConnectorSwapWarning:s.boolean().optional(),origin:y.optional()}),response:s.object({messageId:s.string(),turnId:s.string(),sessionId:s.string(),deferredAgentIds:s.array(s.string()).optional()})},"agent.attach":{request:s.object({sessionId:s.string(),agent:rt,initialMessage:i.optional(),responseSchema:a.optional(),source:s.enum([`extension`,`user`,`system`]).optional(),extensionId:s.string().optional(),role:s.enum([`lead`,`member`]).optional()}),response:s.object({agentId:s.string(),adapterSessionId:s.string().optional(),role:s.enum([`lead`,`member`]),messageId:s.string().optional(),turnId:s.string().optional()})},"agent.attachResolved":_e({request:at,response:ot}),"turn.started":k.extend({messageId:s.string(),agentIds:s.array(s.string()),initiator:S.optional(),ingestionMarker:O.optional()}),"turn.assistantPersistenceSettled":_e(s.object({sessionId:s.string(),turnId:s.string(),messageId:s.string(),agentId:s.string()})),"turn.completed":tt,"turn.await":{request:s.object({sessionId:s.string(),turnId:s.string(),timeoutMs:s.number().int().positive()}),response:s.object({completion:tt})},"user_message.sent":A.extend({content:i,agentIds:s.array(s.string()),source:s.enum([`extension`,`user`,`system`]).optional(),origin:y.optional()}),"user_message.acknowledged":A.extend({agentId:s.string()}),"user_message.completed":A.extend({agentId:s.string(),outcome:ie,supersededBy:s.string().optional(),mergedInto:s.string().optional(),error:s.string().optional()}),fork:{request:s.object({sourceSessionId:s.string(),fromMessageId:s.string().optional(),name:s.string().optional(),branchKind:s.enum([`fork`,`branch`,`aside`]).optional(),transforms:h.optional(),targetWorkingDirectory:s.string().optional(),metadata:T.optional(),existingSessionId:s.string().optional()}),response:s.object({sessionId:s.string()})}},st=s.discriminatedUnion(`success`,[s.object({agentId:s.string(),adapterId:s.string(),success:s.literal(!0)}),s.object({agentId:s.string(),adapterId:s.string(),success:s.literal(!1),error:s.string()})]),ct=s.object({sessionId:s.string().optional(),parentSessionId:s.string().optional(),contextInheritance:f.optional(),forkPointMessageId:s.string().optional(),branchKind:d.optional(),forkTransforms:h.optional(),title:s.string().optional(),targetWorkingDirectory:s.string().optional(),executionTargetId:s.string().optional(),metadata:T.optional(),spawningToolCallId:s.string().optional(),originWindowId:s.string().optional(),machineId:s.string().nullable().optional()});function lt(e,t){e.spawningToolCallId&&e.branchKind!==`subagent`&&t.addIssue({code:s.ZodIssueCode.custom,path:[`spawningToolCallId`],message:`spawningToolCallId is only valid for subagent sessions`})}const ut={list:{request:c.schema(s.object({status:s.enum([`active`,`closed`,`archived`,`discovered`,`all`]).optional(),limit:s.number().int().min(1).optional(),offset:c.hidden(s.number().int().min(0).optional()),includePreview:s.boolean().optional(),executionTargetId:s.string().optional()}),{traceAll:!0}),response:s.object({sessions:s.array(D),total:s.number()})},search:{request:s.object({query:s.string(),limit:s.number().int().min(1).optional(),status:s.enum([`active`,`closed`,`archived`,`discovered`,`all`]).optional(),isImported:s.boolean().optional()}),response:s.object({sessions:s.array(D),total:s.number()})},get:{request:s.object({sessionId:s.string()}),response:s.object({session:E.nullable()})},create:{request:ct.superRefine(lt),response:s.object({sessionId:s.string()})},close:{request:s.object({sessionId:s.string()}),response:s.object({success:s.boolean()})},resume:{request:s.object({sessionId:s.string()}),response:s.object({success:s.boolean()})},restartAgents:{request:s.object({sessionId:s.string(),machineId:s.string().optional()}),response:s.object({sessionId:s.string(),results:s.array(st)})},archive:{request:s.object({sessionId:s.string()}),response:s.object({success:s.boolean()})},purge:{request:s.object({sessionId:s.string()}),response:s.object({success:s.boolean(),eventsDeleted:s.number().optional(),error:s.string().optional()})},update:{request:s.object({sessionId:s.string(),executionTargetId:s.string().nullable().optional(),approvalPolicyOverride:fe.nullable().optional(),title:s.string().optional(),metadata:T.nullable().optional()}),response:s.object({success:s.boolean()})},getByAdapterSessionId:{request:s.object({adapterSessionId:s.string()}),response:s.object({session:E.nullable()})},getStatusCounts:{request:s.object({}),response:s.object({all:s.number(),active:s.number(),closed:s.number(),archived:s.number(),discovered:s.number()})}},M=s.object({sessionId:s.string(),eventId:s.string(),timestamp:s.number()}),dt=s.discriminatedUnion(`type`,[M.extend({type:s.literal(`agent.added`),payload:s.object({sessionId:s.string(),adapterSessionId:s.string().optional(),agentId:s.string(),adapterId:s.string(),adapterName:s.string(),role:s.enum([`lead`,`member`]).optional(),model:s.string().optional(),cwd:s.string().optional()})}),M.extend({type:s.literal(`user_message.sent`),payload:j[`user_message.sent`]}),M.extend({type:s.literal(`user_message.acknowledged`),payload:j[`user_message.acknowledged`]}),M.extend({type:s.literal(`user_message.completed`),payload:j[`user_message.completed`]}),M.extend({type:s.literal(`turn.started`),payload:j[`turn.started`]}),M.extend({type:s.literal(`turn.completed`),payload:j[`turn.completed`]}),M.extend({type:s.literal(`message`),payload:s.object({messageId:s.string(),turnId:s.string().nullable(),role:s.enum([`user`,`assistant`])})}),M.extend({type:s.literal(`branch.created`),payload:s.object({childSessionId:s.string(),parentSessionId:s.string(),kind:d,forkPointMessageId:s.string().optional()})}),M.extend({type:s.literal(`branch.merged`),payload:s.object({childSessionId:s.string(),parentSessionId:s.string(),resultJson:s.string().optional(),resultMessageId:s.string().optional()})}),M.extend({type:s.literal(`squash`),payload:s.object({summaryJson:s.string(),tokensBefore:s.number().optional(),tokensAfter:s.number().optional(),compressedMessageIds:s.array(s.string()).optional()})}),M.extend({type:s.literal(`locality.degraded`),payload:s.discriminatedUnion(`verdictKind`,[s.object({intent:s.enum([`resume`,`fork`]),verdictKind:s.literal(`degrade`),reason:g,agentId:s.string().optional(),adapterId:s.string().optional(),turnId:s.string().optional()}),s.object({intent:s.enum([`resume`,`fork`]),verdictKind:s.literal(`foreign`),foreignMachineId:s.string(),agentId:s.string().optional(),adapterId:s.string().optional(),turnId:s.string().optional()})])})]),ft=[`message`,`agent.added`,`turn.started`,`turn.completed`,`user_message.sent`,`user_message.acknowledged`,`user_message.completed`,`branch.created`,`branch.merged`,`squash`,`locality.degraded`],pt=ft,mt=M.extend({type:s.string().refine(e=>!ft.includes(e),{message:`Plugin session event type must not shadow a core event type.`}),payload:s.record(s.string(),s.unknown())}),N=s.union([dt,mt]),ht=s.string(),gt=s.object({sessionId:s.string().min(1),clientId:s.string().min(1),previousClientAccountId:s.string().min(1).nullable(),clientAccountId:s.string().min(1),source:s.string().min(1),observedAt:s.number().int().finite().nonnegative(),lastClientIdentityObservation:me}),_t=s.object({sessionId:s.string(),importStatus:m}),vt={"agent.added":s.object({sessionId:s.string(),adapterSessionId:s.string().optional(),agentId:s.string(),adapterId:s.string(),adapterName:s.string(),role:u.optional(),model:s.string().optional(),cwd:s.string().optional()}),"agent.removed":s.object({sessionId:s.string(),agentId:s.string()}),closed:s.object({sessionId:s.string(),reason:s.string().optional()}),resumed:s.object({sessionId:s.string()}),archived:s.object({sessionId:s.string()}),purged:s.object({sessionId:s.string()}),compressed:s.object({sessionId:s.string(),eventId:s.string()}),"clientAccount.changed":gt,"connectorSwap.editRequested":s.object({sessionId:s.string(),agentId:s.string(),previousCwd:s.string().optional(),newCwd:s.string().optional(),previousModel:s.string().optional(),newModel:s.string().optional()}),"locality.degraded":s.intersection(s.object({sessionId:s.string(),eventId:s.string(),timestamp:s.number()}),s.discriminatedUnion(`verdictKind`,[s.object({intent:s.enum([`resume`,`fork`]),verdictKind:s.literal(`degrade`),reason:g,agentId:s.string().optional(),adapterId:s.string().optional(),turnId:s.string().optional()}),s.object({intent:s.enum([`resume`,`fork`]),verdictKind:s.literal(`foreign`),foreignMachineId:s.string(),agentId:s.string().optional(),adapterId:s.string().optional(),turnId:s.string().optional()})])),getContextWindowState:{request:s.object({sessionId:s.string()}),response:s.object({state:s.object({currentTokens:s.number(),maxTokens:s.number(),percentage:s.number(),level:s.enum([`ok`,`warn`,`critical`]),lastUpdatedAt:s.number()}).nullable()})},importStatusChanged:_t,"import.completed":s.object({sessionId:s.string(),adapterSessionId:s.string(),source:s.string()}),event:N},P=s.object({includeEvents:s.boolean().default(!1),includeToolOutputs:s.boolean().default(!1),includeAncestors:s.boolean().default(!0),includeChildren:s.boolean().default(!1)}),yt=`1.0`,F=s.object({version:s.literal(`1.0`),exportedAt:s.number(),options:P,sessions:s.array(E),agents:s.array(w),messages:s.array(Ye),turns:s.array(Ze),events:s.array(N).optional()});function bt(e){return F.parse(e)}function xt(e){let t=F.safeParse(e);return t.success?{success:!0,data:t.data}:{success:!1,error:t.error}}const St={"snapshot.export":{request:s.object({sessionId:s.string(),options:P.optional()}),response:s.object({snapshot:F})},"snapshot.import":{request:s.object({snapshot:F,onConflict:s.enum([`fail`,`skip`,`overwrite`]).default(`fail`)}),response:s.object({imported:s.array(s.string()),skipped:s.array(s.string()),errors:s.array(s.object({sessionId:s.string(),error:s.string()}))})},"snapshot.validate":{request:s.object({snapshot:s.unknown()}),response:s.object({valid:s.boolean(),errors:s.array(s.string())})}},Ct={resolveAgentConfig:{request:s.object({selection:ae,projectId:s.string().optional()}),response:s.object({adapterName:s.string(),model:s.string().optional(),providerConfigId:s.string().optional(),reasoningEffort:n.optional(),supportedReasoningLevels:r.optional(),systemPrompt:te.optional(),allowedTools:s.array(s.string()).optional(),disallowedTools:s.array(s.string()).optional(),allowedDirectories:s.array(s.string()).optional()})}},wt={resolveSystemPrompt:{request:s.object({sessionId:s.string(),personaId:s.string().optional(),profileId:s.string().optional()}),response:s.object({systemPrompt:s.string(),personaName:s.string().optional(),profileName:s.string().optional()})}},Tt={enrichContext:{request:s.object({sessionId:s.string()}),response:s.record(s.string(),s.unknown())}};function Et(e){return e.providerSessionId===null&&e.ownerInstance===void 0&&e.recoveryGuard===void 0&&e.recoveryAttemptId===void 0&&e.supersedes===void 0}function I(e){return e.designateLead?.clear===!0&&e.designateLead.restore!==!0&&e.designateLead.expectedLeadAgentId===e.agentId&&Et(e)}function L(e){return e.designateLead?.restore===!0&&e.designateLead.clear!==!0&&e.designateLead.expectedLeadAgentId!==null&&e.designateLead.expectedLeadAgentId!==e.agentId&&Et(e)}function Dt(e){return I(e)||L(e)}function Ot(e){let t=e.designateLead;if(t?.clear===!0&&t.restore===!0)return`a lead designation cannot be both cleared and restored`;if(t?.clear===!0&&!I(e))return`a lead clear must be a keyless, unguarded relinquishment`;if(t?.restore===!0&&!L(e))return`a lead restore must be a keyless, unguarded restoration`}function kt(e,t){let n=Ot(e);n!==void 0&&t.addIssue({code:s.ZodIssueCode.custom,path:[`designateLead`],message:n}),e.recoveryGuard!==void 0&&e.designateLead!==void 0&&t.addIssue({code:s.ZodIssueCode.custom,path:[`designateLead`],message:`a guarded recovery claim cannot designate the session lead`})}function At(e,t){let{currentAdapterSessionId:n,currentAdapterSessionIdState:r}=e;r===`confirmed`!=(n!==null)&&t.addIssue({code:s.ZodIssueCode.custom,path:[`currentAdapterSessionId`],message:`currentAdapterSessionId must be a string exactly when currentAdapterSessionIdState is 'confirmed'`})}const jt=s.object({currentAdapterSessionId:s.string().nullable(),currentAdapterSessionIdState:p}).superRefine(At),R=s.object({adapterSessionId:s.string().nullable(),currentAdapterSessionId:s.string().nullable(),currentAdapterSessionIdState:p}).superRefine(At);function Mt(e){switch(e.currentAdapterSessionIdState){case`inherited`:return e.adapterSessionId;case`confirmed`:return e.currentAdapterSessionId;case`moved`:return null}}const z=s.enum([`held`,`releasing`,`abandoned`]),B=s.object({adapterId:s.string(),ownerMachineId:s.string(),ownerInstanceId:s.string()}),V=s.object({status:C,adapterId:s.string(),binding:B.optional(),recoveryAttemptId:s.string().optional()}).superRefine((e,t)=>{e.binding!==void 0&&e.binding.adapterId!==e.adapterId&&t.addIssue({code:s.ZodIssueCode.custom,path:[`binding`,`adapterId`],message:`binding.adapterId must equal the preimage adapterId`})}),H=s.object({attemptId:s.string(),preimage:V}),Nt=s.discriminatedUnion(`kind`,[s.object({kind:s.literal(`rollback`),preimage:V}),s.object({kind:s.literal(`succeeded`)}),s.object({kind:s.literal(`failed`)})]),Pt=s.object({agentId:s.string(),attemptId:s.string(),binding:B,action:Nt}),Ft=s.object({applied:s.boolean()}),U=s.object({claimId:s.string(),claimToken:s.string(),fence:s.number().int().positive(),ownerInstanceId:s.string().nullable(),status:z}),W=s.object({expectedStatus:C,expectedPreimage:V,expectedRevision:s.number().int().nonnegative(),expectedCurrencyFence:s.number().int().nonnegative(),expectedCurrency:R,ownerGeneration:U.nullable()}).superRefine((e,t)=>{e.expectedPreimage.status!==e.expectedStatus&&t.addIssue({code:s.ZodIssueCode.custom,path:[`expectedPreimage`,`status`],message:`expectedPreimage.status must equal expectedStatus`})}),G=s.object({machineId:s.string(),adapterId:s.string(),providerSessionId:s.string()}),K=G.extend({claimId:s.string(),adapterName:s.string(),sessionId:s.string(),agentId:s.string(),ownerInstanceId:s.string().nullable(),claimToken:s.string(),fence:s.number().int().positive(),status:z,claimedAt:s.number().int().nonnegative(),updatedAt:s.number().int().nonnegative()}),It=s.object({instanceId:s.string(),machineId:s.string(),incarnation:s.number().int().positive(),startedAt:s.number().int().nonnegative(),retiredAt:s.number().int().nonnegative().nullable()}),q=s.object({instanceId:s.string()}),J=s.enum([`machine-exclusive`,`shared-machine`]),Lt=s.object({agentId:s.string(),sessionId:s.string(),currency:R,revision:s.number().int().nonnegative(),currencyFence:s.number().int().nonnegative(),claims:s.array(K)}),Y=G.extend({providerSessionId:s.string().nullable(),adapterName:s.string(),ownerInstance:q.optional(),topology:J.default(`shared-machine`),recoveryGuard:W.optional(),recoveryAttemptId:s.string().optional(),sessionId:s.string(),agentId:s.string(),claimToken:s.string(),supersedes:s.object({claimToken:s.string()}).optional(),designateLead:s.object({expectedLeadAgentId:s.string().nullable(),clear:s.literal(!0).optional(),restore:s.literal(!0).optional()}).optional()}).superRefine((e,t)=>{kt(e,t),e.providerSessionId!==null&&e.ownerInstance===void 0&&t.addIssue({code:s.ZodIssueCode.custom,path:[`ownerInstance`],message:`ownerInstance is required when providerSessionId is not null`}),e.recoveryGuard!==void 0&&e.ownerInstance===void 0&&t.addIssue({code:s.ZodIssueCode.custom,path:[`ownerInstance`],message:`ownerInstance is required when recoveryGuard is present`}),e.recoveryGuard!==void 0&&e.recoveryAttemptId===void 0&&t.addIssue({code:s.ZodIssueCode.custom,path:[`recoveryAttemptId`],message:`recoveryAttemptId is required when recoveryGuard is present`}),e.recoveryGuard===void 0&&e.recoveryAttemptId!==void 0&&t.addIssue({code:s.ZodIssueCode.custom,path:[`recoveryGuard`],message:`recoveryGuard is required when recoveryAttemptId is present`})});function Rt(e){return Y.parse(e)}const zt=s.object({outcome:s.literal(`currency-changed`),revision:s.number().int().nonnegative(),currencyFence:s.number().int().nonnegative(),currency:R}),Bt=s.object({outcome:s.literal(`recovery-conflict`),status:C,ownerGeneration:U.nullable()}),Vt=s.discriminatedUnion(`outcome`,[s.object({outcome:s.literal(`claimed`),claim:K.nullable(),recovery:H.optional(),leadDesignated:s.boolean(),previousLeadAgentId:s.string().nullable()}),s.object({outcome:s.literal(`idempotent`),claim:K.nullable(),recovery:H.optional(),leadDesignated:s.boolean(),previousLeadAgentId:s.string().nullable()}),s.object({outcome:s.literal(`already-claimed`),holder:K}),s.object({outcome:s.literal(`agent-disposed`)}),s.object({outcome:s.literal(`session-not-active`),status:s.enum([`closed`,`archived`,`discovered`])}),s.object({outcome:s.literal(`lead-conflict`),currentLeadAgentId:s.string().nullable()}),s.object({outcome:s.literal(`not-found`),missing:s.enum([`session`,`agent`])}),zt,Bt]),Ht=s.object({agentId:s.string(),claimToken:s.string(),fence:s.number().int().positive(),expectedRevision:s.number().int().nonnegative(),target:jt}),Ut=s.discriminatedUnion(`outcome`,[s.object({outcome:s.literal(`settled`),revision:s.number().int().nonnegative(),currency:R,sessionSnapshotUpdated:s.boolean()}),s.object({outcome:s.literal(`idempotent`),revision:s.number().int().nonnegative(),currency:R,sessionSnapshotUpdated:s.literal(!1)}),s.object({outcome:s.literal(`superseded`),currentFence:s.number().int().nonnegative()}),s.object({outcome:s.literal(`currency-changed`),revision:s.number().int().nonnegative(),currency:R}),s.object({outcome:s.literal(`not-owner`)}),s.object({outcome:s.literal(`agent-disposed`)}),s.object({outcome:s.literal(`not-found`)})]),Wt=s.discriminatedUnion(`kind`,[s.object({kind:s.literal(`confirmed`),providerSessionId:s.string(),claimToken:s.string()}),s.object({kind:s.literal(`demote`),claimToken:s.string()})]),Gt=s.object({machineId:s.string(),adapterId:s.string(),adapterName:s.string(),ownerInstance:q.optional(),topology:J.default(`shared-machine`),sessionId:s.string(),agentId:s.string(),expectedRevision:s.number().int().nonnegative(),movement:Wt}).superRefine((e,t)=>{e.ownerInstance===void 0&&t.addIssue({code:s.ZodIssueCode.custom,path:[`ownerInstance`],message:`ownerInstance is required for settleMovement`})}),X=s.discriminatedUnion(`outcome`,[s.object({outcome:s.literal(`settled`),revision:s.number().int().nonnegative(),currency:R,sessionSnapshotUpdated:s.boolean(),releasedProviderSessionIds:s.array(s.string()),claim:K}),s.object({outcome:s.literal(`idempotent`),revision:s.number().int().nonnegative(),currency:R,sessionSnapshotUpdated:s.literal(!1),claim:K.nullable()}),s.object({outcome:s.literal(`already-claimed`),holder:K}),s.object({outcome:s.literal(`superseded`),currentFence:s.number().int().nonnegative()}),s.object({outcome:s.literal(`currency-changed`),revision:s.number().int().nonnegative(),currency:R}),s.object({outcome:s.literal(`not-owner`)}),s.object({outcome:s.literal(`agent-disposed`)}),s.object({outcome:s.literal(`not-found`)})]),Z=s.enum([`released`,`releasing`,`abandoned`]),Kt=s.object({agentId:s.string(),claimToken:s.string(),disposition:Z}),qt=s.discriminatedUnion(`outcome`,[s.object({outcome:s.literal(`released`)}),s.object({outcome:s.literal(`marked`),claim:K}),s.object({outcome:s.literal(`not-owner`),holder:K}),s.object({outcome:s.literal(`not-found`)})]),Jt=s.object({agentId:s.string(),claimToken:s.string().optional(),disposition:Z}),Q=s.object({releasedProviderSessionIds:s.array(s.string()),markedClaims:s.array(K),claimTokenNotFound:s.boolean()}),Yt=s.object({machineId:s.string(),adapterId:s.string().optional(),providerSessionId:s.string().optional(),statuses:s.array(z).nonempty().optional()}),Xt=he(`sessionOwnership`,{schemas:{read:{request:s.object({agentId:s.string()}),response:s.object({ownership:Lt.nullable()})},claim:{request:Y,response:Vt},finalizeRecovery:{request:Pt,response:Ft},settleCurrency:{request:Ht,response:Ut},settleMovement:{request:Gt,response:X},release:{request:Kt,response:qt},releaseAgentClaims:{request:Jt,response:Q},listClaims:{request:Yt,response:s.object({claims:s.array(K)})},retireInstance:{request:s.object({instanceId:s.string()}),response:s.object({retiredMachines:s.number().int().nonnegative()})},getRuntimeInstance:{request:s.object({instanceId:s.string(),machineId:s.string()}),response:s.object({instance:It.nullable()})}}}),Zt=Xt.subjects,$=s.object({sessionId:s.string(),agentId:s.string(),adapterId:s.string(),adapterName:s.string(),ownerInstanceId:s.string(),machineId:s.string().optional()}),Qt=$.extend({role:u,resumeProviderSessionId:s.string().nullable(),claimToken:s.string(),recoveryGuard:W.optional(),recoveryAttemptId:s.string().optional(),expectedLeadAgentId:s.string().nullable().optional()}).superRefine((e,t)=>{e.role===`lead`&&e.expectedLeadAgentId===void 0&&t.addIssue({code:s.ZodIssueCode.custom,path:[`expectedLeadAgentId`],message:`expectedLeadAgentId is required when role is 'lead'`}),e.recoveryGuard!==void 0&&e.role!==`member`&&t.addIssue({code:s.ZodIssueCode.custom,path:[`recoveryGuard`],message:`recoveryGuard is only valid when role is 'member'`}),e.recoveryGuard===void 0!=(e.recoveryAttemptId===void 0)&&t.addIssue({code:s.ZodIssueCode.custom,path:[`recoveryAttemptId`],message:`recoveryAttemptId is required exactly for a guarded recovery reservation`})});function $t(e){return Qt.parse(e)}const en=s.object({agentId:s.string(),sessionId:s.string(),adapterId:s.string(),ownerInstanceId:s.string(),leadDesignated:s.boolean(),previousLeadAgentId:s.string().nullable(),recovery:H.optional()}),tn=s.union([en.extend({machineId:s.string(),claim:K}),en.extend({machineId:s.string().optional(),claim:s.null()})]),nn=s.discriminatedUnion(`outcome`,[s.object({outcome:s.literal(`reserved`),reservation:tn}),s.object({outcome:s.literal(`occupied`),holder:K}),s.object({outcome:s.literal(`lead-conflict`),currentLeadAgentId:s.string().nullable()}),s.object({outcome:s.literal(`agent-disposed`)}),s.object({outcome:s.literal(`session-not-active`),status:s.enum([`closed`,`archived`,`discovered`])}),s.object({outcome:s.literal(`not-found`),missing:s.enum([`session`,`agent`])}),s.object({outcome:s.literal(`machine-identity-unavailable`)}),zt,Bt]),rn=s.discriminatedUnion(`confirmed`,[s.object({confirmed:s.literal(!0),providerSessionId:s.string()}),s.object({confirmed:s.literal(!1)})]),an=$.extend({movement:rn,claimToken:s.string().optional()}),on=s.discriminatedUnion(`outcome`,[...X.options,s.object({outcome:s.literal(`machine-identity-unavailable`)})]),sn=s.object({agentId:s.string(),claimToken:s.string().optional(),disposition:Z}),cn=s.enum([`agent-gone`,`agent-disposed`,`adapter-instance-gone`,`owner-instance-retired`]),ln=s.object({claim:K,verdict:s.enum([`abandoned`,`retained`,`vanished`]),reason:cn.optional()}),un=s.discriminatedUnion(`outcome`,[s.object({outcome:s.literal(`reconciled`),machineId:s.string(),claims:s.array(ln)}),s.object({outcome:s.literal(`skipped`),reason:s.literal(`machine-identity-unavailable`)})]),dn=s.object({sessionId:s.string(),startMode:s.enum([`resume`,`compact`])}),fn=s.discriminatedUnion(`outcome`,[s.object({outcome:s.literal(`reopened`),sessionId:s.string()}),s.object({outcome:s.literal(`unchanged`),sessionId:s.string()}),s.object({outcome:s.literal(`not-found`)}),s.object({outcome:s.literal(`unresolved`),sessionId:s.string()})]),pn={"ownership.reserveStart":{request:Qt,response:nn},"ownership.settleMovement":{request:an,response:on},"ownership.release":{request:sn,response:Q},"ownership.reconcile":{request:s.object({}),response:un},"ownership.continuation":{request:dn,response:fn}},mn={...ut,...vt,...St,...He,...j,...Ct,...wt,...Tt,...pn},hn=s.enum([`not-dispatched`,`dispatch-uncertain`]),gn=s.object({adapterId:s.string(),ownerInstanceId:s.string().optional(),agentId:s.string().optional(),harnessId:s.string().optional(),clientId:s.string().optional(),clientProfileName:pe.optional(),initialMessage:i.optional(),responseSchema:a.optional(),model:s.string().optional(),reasoningEffort:n.optional(),adapterConfig:e.optional(),env:s.record(s.string(),s.string()).optional(),role:u,sessionContext:v.optional(),mcpSessionContext:s.union([oe,de]).optional(),providerContext:o.optional(),ephemeral:s.boolean().optional()}).merge(ve),_n={request:s.union([gn.extend({mode:s.literal(`fork`),sessionId:s.string(),sourceSessionId:s.string(),sourceAdapterSessionId:s.string(),forkPointMessageId:s.string().optional(),targetWorkingDirectory:s.string().optional()}),gn.extend({mode:s.literal(`resume`),sessionId:s.string(),adapterSessionId:s.string()}),gn.extend({mode:s.literal(`create`).optional(),sessionId:s.string().optional()})]).superRefine((e,t)=>{let n=e.mode??`create`;e.ephemeral&&n!==`create`&&t.addIssue({code:s.ZodIssueCode.custom,path:[`ephemeral`],message:`ephemeral is only supported for create mode`}),e.ephemeral&&e.initialMessage===void 0&&t.addIssue({code:s.ZodIssueCode.custom,path:[`initialMessage`],message:`ephemeral startAgent requires initialMessage`})}),response:s.discriminatedUnion(`success`,[s.object({success:s.literal(!0),agentId:s.string(),adapterId:s.string(),ownerInstanceId:s.string(),adapterSessionId:s.string().optional(),sessionId:s.string(),messageId:s.string().optional(),settlementAckToken:s.string().optional()}),s.object({success:s.literal(!1),message:s.string(),dispatch:hn})])},vn={request:s.object({adapterId:s.string(),prompt:s.string(),model:s.string().optional(),systemPrompt:s.string().optional(),responseSchema:a.optional(),providerContext:o.optional()}),response:s.object({text:s.string(),usage:s.object({inputTokens:s.number(),outputTokens:s.number()}).optional()})},yn={request:s.object({adapterId:s.string()}),response:s.object({agents:s.array(s.object({agentId:s.string(),sessionId:s.string(),adapterSessionId:s.string().optional()}))})},bn={request:s.object({adapterId:s.string(),ownerInstanceId:s.string(),agentId:s.string()}),response:s.object({agent:s.object({agentId:s.string(),sessionId:s.string(),adapterSessionId:s.string().optional()}).nullable()})},xn=s.enum([`exited`,`closed`,`released`,`detached`,`unknown`]),Sn=[`exited`,`closed`,`released`];function Cn(e){return Sn.some(t=>t===e)}const wn=s.object({evidence:xn,detail:s.string().optional()});function Tn(e){let t=-1,n=!1;for(let r of e){if(r===`unknown`)return`unknown`;if(r===`detached`){n=!0;continue}let e=Sn.indexOf(r);e>t&&(t=e)}return n?`detached`:Sn[t]??`released`}function En(e){let t=Tn(e.map(e=>e.evidence)),n=e.filter(e=>!Cn(e.evidence)).map(e=>e.detail).filter(e=>e!==void 0);return{evidence:t,...n.length>0&&{detail:n.join(`; `)}}}const Dn={request:s.object({adapterId:s.string(),ownerInstanceId:s.string(),agentId:s.string(),teardown:s.enum([`connector-only`]).optional()}),response:s.object({success:s.boolean(),evidence:xn,detail:s.string().optional()})},On={request:s.object({adapterId:s.string(),ownerInstanceId:s.string().optional(),agentId:s.string(),cwd:s.string().optional(),model:s.string().optional(),resumeAdapterSessionId:s.string().optional(),callerOwnsAgentRow:s.literal(!0).optional()}),response:s.discriminatedUnion(`success`,[s.object({success:s.literal(!0),ownerInstanceId:s.string().optional(),adapterSessionId:s.string().optional(),settlementAckToken:s.string().optional()}),s.object({success:s.literal(!1),message:s.string(),dispatch:s.literal(`not-dispatched`)})])},kn=s.enum([`not-hosted`,`stale-token`,`teardown-in-flight`,`status-refused`]),An={request:s.object({adapterId:s.string(),ownerInstanceId:s.string(),agentId:s.string(),settlementAckToken:s.string(),recovery:s.literal(!0).optional()}),response:s.discriminatedUnion(`acknowledged`,[s.object({acknowledged:s.literal(!0)}),s.object({acknowledged:s.literal(!1),reason:kn})])},jn={request:s.object({adapterName:s.string()}),response:s.object({found:s.boolean(),adapterName:s.string(),jsonSchema:s.record(s.string(),s.unknown()).nullable()})},Mn=l.extend({agentId:s.string(),sessionId:s.string(),adapterSessionId:s.string().optional()}),Nn=l.extend({adapterSessionId:s.string().optional(),sessionId:s.string(),model:s.string()}),Pn=l.extend({sessionId:s.string(),adapterSessionId:s.string().optional(),totalInputTokens:s.number(),totalOutputTokens:s.number(),totalCalls:s.number()}),Fn=l.extend({agentId:s.string(),sessionId:s.string(),adapterSessionId:s.string(),reason:s.string().optional()}),In=l.extend({message:s.string(),timestamp:s.number(),level:s.enum([`debug`,`info`,`warn`,`error`]).optional()}),Ln=l.extend({error:s.string(),sessionId:s.string().optional(),errorCategory:re.optional()}),Rn=l.extend({machineId:s.string(),ownerInstanceId:s.string(),capabilities:s.array(s.string()),nativeTools:s.array(s.string()).optional()}),zn=l.extend({machineId:s.string(),ownerInstanceId:s.string()}),Bn=l.extend({provider:s.string(),quotaType:s.string(),limit:s.number(),used:s.number(),overage:s.number(),resetDate:s.string()}),Vn=s.object({agentId:c.attribute(s.string(),`makaio.agent.id`),adapterId:c.attribute(s.string(),`makaio.adapter.id`),adapterName:c.attribute(s.string(),`makaio.adapter.name`),sessionId:c.attribute(s.string(),`makaio.session.id`).optional(),adapterSessionId:c.attribute(s.string(),`makaio.adapter.session_id`).optional(),messageId:c.attribute(s.string(),`makaio.message.id`).optional(),turnId:c.attribute(s.string(),`makaio.turn.id`).optional(),clientId:c.attribute(s.string(),`makaio.client.id`).optional(),providerConfigId:c.attribute(s.string(),`makaio.provider.config_id`).optional(),occurredAt:c.attribute(s.number(),`event.occurred_at`).optional()}),Hn=s.object({model:s.string().nullable(),cwd:s.string().nullable()}),Un=[`fresh`,`resume`,`fork`,`rotation`],Wn=s.enum(Un),Gn=Vn.merge(Hn).extend({startMode:Wn}),Kn=l.merge(Hn).extend({adapterSessionId:s.string(),title:s.string().optional(),logFilePath:s.string().nullable().optional(),startedAt:s.number().finite().optional(),machineId:s.string().nullable().optional()}).and(ge);export{Y as $,qe as $t,mn as A,Tt as At,nn as B,N as Bt,En as C,f as Cn,jt as Ct,vn as D,I as Dt,yn as E,Dt as Et,un as F,P as Ft,Z as G,E as Gt,an as H,ht as Ht,ln as I,xt as It,Lt as J,D as Jt,G as K,et as Kt,sn as L,bt as Lt,fn as M,Ct as Mt,$ as N,yt as Nt,hn as O,L as Ot,cn as P,F as Pt,It as Q,Qe as Qt,tn as R,gt as Rt,Tn as S,m as Sn,R as St,bn as T,ve as Tn,Ot as Tt,on as U,ct as Ut,rn as V,pt as Vt,$t as W,O as Wt,q as X,w as Xt,Wt as Y,C as Yt,J as Z,$e as Zt,kn as _,Ve as _n,U as _t,Vn as a,Xe as an,qt as at,wn as b,u as bn,Nt as bt,Rn as c,Ke as cn,Gt as ct,Fn as d,We as dn,Zt as dt,y as en,Vt as et,Pn as f,g as fn,Rt as ft,An as g,Be as gn,W as gt,jn as h,xe as hn,Ft as ht,Gn as i,Ze as in,Kt as it,dn as j,wt as jt,_n as k,kt,Ln as l,v as ln,X as lt,Mn as m,h as mn,Pt as mt,Un as n,Ye as nn,Jt as nt,Bn as o,x as on,Ht as ot,Nn as p,Ue as pn,B as pt,K as q,T as qt,Wn as r,S as rn,Q as rt,zn as s,b as sn,Ut as st,Kn as t,Je as tn,Yt as tt,In as u,Ge as un,Xt as ut,On as v,be as vn,V as vt,Cn as w,ye as wn,Mt as wt,xn as x,d as xn,z as xt,Dn as y,p as yn,H as yt,Qt as z,_t as zt};
@@ -15,15 +15,15 @@ import { a as ContextRuleInput, n as ContextRuleAction, t as ContextRule } from
15
15
  import { a as ExecutionTargetInputSchema, c as ExecutionTargetResolveRequest, d as ExecutionTargetSchemas, f as ExecutionTargetType, i as ExecutionTargetInput, l as ExecutionTargetResolveRequestSchema, m as LocalExecutionTargetSchema, n as ContainerLocalExecutionTargetSchema, o as ExecutionTargetListQuery, p as ExecutionTargetTypeSchema, r as ExecutionTarget, s as ExecutionTargetListQuerySchema, t as ContainerIsolatedExecutionTargetSchema, u as ExecutionTargetSchema } from "../schemas-CEJe8O6P.mjs";
16
16
  import { n as ExecutionTargetSubjects, t as ExecutionTargetNamespace } from "../namespace-DM5vykb7.mjs";
17
17
  import { A as ContainerRuntimeSchema, B as SpawnRequest, C as ContainerIsolatedSpawnRequest, D as ContainerLocalWorkflowSpawnRequest, E as ContainerLocalSpawnRequestSchema, F as ContainerState, G as StatusRequestSchema, H as SpawnResponse, I as ContainerStateSchema, J as StopRequest, K as StatusResponse, L as ContainerStopped, N as ContainerStarted, O as ContainerLocalWorkflowSpawnRequestSchema, P as ContainerStartedSchema, R as ContainerStoppedSchema, S as ContainerDestroyedSchema, T as ContainerLocalSpawnRequest, U as SpawnResponseSchema, V as SpawnRequestSchema, W as StatusRequest, X as StopResponse, Y as StopRequestSchema, Z as StopResponseSchema, a as DockerSubjects, b as ContainerCreatedSchema, i as DockerNamespace, k as ContainerRuntime, n as ContainerSpawnSubjects, q as StatusResponseSchema, t as ContainerSpawnNamespace, w as ContainerIsolatedSpawnRequestSchema, x as ContainerDestroyed, y as ContainerCreated } from "../index-nkix3hP7.mjs";
18
- import { $t as resolveAdapterNameById, A as registerDrizzleMessageStorage, Bn as resolveTargetAgents, Bt as AgentStorageNamespace, C as registerDrizzleMessageRoutingStorage, Cn as ensureAgentCwd, Ct as fetchAgentsBySession, D as SelectMessage, Dt as parseForkTransforms, E as InsertMessage, En as verifyAndRecoverAgents, Et as mapRowToSession, F as registerMemoryTurnStorage, Ft as registerMemoryAgentStorage, Gn as ISessionOrchestrator, Gt as assembleForkContext, Hn as normalizeToBlocks, Ht as SessionExtensionContextImpl, I as registerDrizzleTurnStorage, It as registerDrizzleSessionStorage, Jt as CONNECTOR_SWAP_DEFAULT_PIPELINE, Kn as SessionOrchestrator, Kt as FallbackRuntimeOptions, L as EmbeddingIndexManager, Lt as registerMemorySessionStorage, M as SelectTurn, Mt as registerDrizzleSessionOwnershipStorage, N as turns, Nt as registerMemorySessionOwnershipStorage, O as messages, On as buildRecoveryContext, Ot as registerFtsSearchHandler, Pt as registerDrizzleAgentStorage, Qt as normalizeSelectionString, R as registerDrizzleImportCursorStorage, Rn as findTurnByAgent, Rt as SessionStorageMemoryState, Sn as buildRecoveryContextWithPipeline, St as SearchSessionRow, T as MessageRoutingSubjects, Tn as recoverAgent, Tt as fetchPreviewBySession, Un as TurnContextEnricher, Ut as createSessionExtensionContext, Vn as extractTextContent, Vt as AgentStorageSubjects, Wn as AdapterRegistry, Wt as SessionBridge, _ as MakaioSessionConfig, _t as SessionPreviewMaps, an as registerResumeHandler, b as SelectMessageRouting, bn as RecoveryConfig, bt as mapToSession, c as BuildContextOptions, cn as ContextWindowTrackerConfig, dt as registerMemorySessionEventStorage, en as registerListActionsHandler, ft as InsertSessionEvent, g as MakaioSession, h as registerParentResolver, in as registerGetStatusCountsHandler, j as InsertTurn, k as registerMemoryMessageStorage, l as ContextAssemblyResult, ln as SessionContextWindowState, m as registerCompressLineageResolver, mt as sessionEvents, nn as resetBuiltInActionsRegistration, nt as EventTransform, o as getFullConversation, on as ContextWindowTracker, p as registerSpawningToolCallResolver, pt as SelectSessionEvent, qn as registerCoreSessionServiceHandlers, qt as pickFallbackRuntimeOptions, rn as actionRegistry, rr as MakaioSessionService, s as buildSessionContext, sn as AgentContextState, tn as registerBuiltInActions, u as kindToBranchKind, ut as registerDrizzleSessionEventStorage, v as StartTurnOptions, vn as buildTurnInitiator, vt as fetchSessionPreviewMaps, w as MessageRoutingNamespace, wn as ensureAgentModel, wt as fetchMessageCountsBySession, x as messageRouting, xn as VerifiedAgents, xt as SearchFilters, y as InsertMessageRouting, yn as AgentRecoveryOutcome, yt as mapAgentsBySession, z as importCursors, zn as getOrCreateSession, zt as createSessionStorageMemoryState } from "../index-7CVumCjj.mjs";
18
+ import { $t as resolveAdapterNameById, A as registerDrizzleMessageStorage, Bn as resolveTargetAgents, Bt as AgentStorageNamespace, C as registerDrizzleMessageRoutingStorage, Cn as ensureAgentCwd, Ct as fetchAgentsBySession, D as SelectMessage, Dt as parseForkTransforms, E as InsertMessage, En as verifyAndRecoverAgents, Et as mapRowToSession, F as registerMemoryTurnStorage, Ft as registerMemoryAgentStorage, Gn as ISessionOrchestrator, Gt as assembleForkContext, Hn as normalizeToBlocks, Ht as SessionExtensionContextImpl, I as registerDrizzleTurnStorage, It as registerDrizzleSessionStorage, Jt as CONNECTOR_SWAP_DEFAULT_PIPELINE, Kn as SessionOrchestrator, Kt as FallbackRuntimeOptions, L as EmbeddingIndexManager, Lt as registerMemorySessionStorage, M as SelectTurn, Mt as registerDrizzleSessionOwnershipStorage, N as turns, Nt as registerMemorySessionOwnershipStorage, O as messages, On as buildRecoveryContext, Ot as registerFtsSearchHandler, Pt as registerDrizzleAgentStorage, Qt as normalizeSelectionString, R as registerDrizzleImportCursorStorage, Rn as findTurnByAgent, Rt as SessionStorageMemoryState, Sn as buildRecoveryContextWithPipeline, St as SearchSessionRow, T as MessageRoutingSubjects, Tn as recoverAgent, Tt as fetchPreviewBySession, Un as TurnContextEnricher, Ut as createSessionExtensionContext, Vn as extractTextContent, Vt as AgentStorageSubjects, Wn as AdapterRegistry, Wt as SessionBridge, _ as MakaioSessionConfig, _t as SessionPreviewMaps, an as registerResumeHandler, b as SelectMessageRouting, bn as RecoveryConfig, bt as mapToSession, c as BuildContextOptions, cn as ContextWindowTrackerConfig, dt as registerMemorySessionEventStorage, en as registerListActionsHandler, ft as InsertSessionEvent, g as MakaioSession, h as registerParentResolver, in as registerGetStatusCountsHandler, j as InsertTurn, k as registerMemoryMessageStorage, l as ContextAssemblyResult, ln as SessionContextWindowState, m as registerCompressLineageResolver, mt as sessionEvents, nn as resetBuiltInActionsRegistration, nt as EventTransform, o as getFullConversation, on as ContextWindowTracker, p as registerSpawningToolCallResolver, pt as SelectSessionEvent, qn as registerCoreSessionServiceHandlers, qt as pickFallbackRuntimeOptions, rn as actionRegistry, rr as MakaioSessionService, s as buildSessionContext, sn as AgentContextState, tn as registerBuiltInActions, u as kindToBranchKind, ut as registerDrizzleSessionEventStorage, v as StartTurnOptions, vn as buildTurnInitiator, vt as fetchSessionPreviewMaps, w as MessageRoutingNamespace, wn as ensureAgentModel, wt as fetchMessageCountsBySession, x as messageRouting, xn as VerifiedAgents, xt as SearchFilters, y as InsertMessageRouting, yn as AgentRecoveryOutcome, yt as mapAgentsBySession, z as importCursors, zn as getOrCreateSession, zt as createSessionStorageMemoryState } from "../index-BS-Fhlux.mjs";
19
19
  import { C as SessionTurnManager, D as TurnPairStateChange, E as TurnContext, O as TurnPairTerminalOutcome, T as TurnConfig, b as resolveExecutionTarget, c as registerMergeHandler, d as registerAttachHandler, f as registerAbandonHandler, k as TurnResult, l as registerForkHandler, n as routeToAgents, p as SessionStartError, t as routeToAgentsCore, u as registerCompressHandler, v as resolveAdapterId, w as Turn, x as resolveModelCapabilities } from "../index-U--ajOHy.mjs";
20
20
  import { a as activateProviderContext, c as RuntimeProviderContextResolutionErrorCode, l as resolveRuntimeProviderContext, n as ProviderContextActivationErrorCode, s as RuntimeProviderContextResolutionError, t as ProviderContextActivationError } from "../index-B4pPwpKk.mjs";
21
- import { i as SessionStorageSubjects, r as SessionStorageNamespace } from "../namespace-Cmu-5_P9.mjs";
22
- import { g as sessions, u as agents } from "../schema-BA1cHBbc.mjs";
21
+ import { i as SessionStorageSubjects, r as SessionStorageNamespace } from "../namespace-BR03HE8G.mjs";
22
+ import { g as sessions, u as agents } from "../schema-DqKCg5Ec.mjs";
23
23
  import { n as SessionEventStorageSubjects, t as SessionEventStorageNamespace } from "../namespace-DlOQmhgX.mjs";
24
24
  import { t as TurnStorageNamespace } from "../namespace-s0e215xO.mjs";
25
25
  import { n as TurnStorageSubjects } from "../namespace-BCVKdu-U.mjs";
26
- import { i as MessageStorageSubjects, r as MessageStorageNamespace } from "../namespace-BEbQb19g.mjs";
26
+ import { i as MessageStorageSubjects, r as MessageStorageNamespace } from "../namespace-BqfzcRkL.mjs";
27
27
  import { v as ArtifactSchemaRegistry } from "../packages-B98-WETs.mjs";
28
28
  import { a as createToolContributionProcessor, c as ToolRegistryOptions, d as ToolsetPolicy, f as ToolsetPolicyProvider, l as ToolsWithToolsetsResult, o as ToolRegistry, s as ListToolsFilter, u as ToolsetInfo } from "../index-DAaQ--ki.mjs";
29
29
  import { a as WORKFLOW_START_ACTION_TYPE, i as TransitionActionRegistry, n as TransitionPipelineService, r as TransitionRuleRegistry, t as createTransitionContributionProcessor } from "../index-B78CRVi9.mjs";
@@ -35,7 +35,7 @@ import { C as ModelRegistrySchemas, S as ModelRegistrySchema, T as ProviderModel
35
35
  import { a as InternalPendingRequest, c as SubagentServiceToken, d as SubagentFailureFinalizationError, f as SubagentFailureFinalizationErrorCode, i as InputResolver, l as createSubagentServicePackage, n as TrackOptions, o as SpawnOptions, p as SubagentService, r as AwaitResult, s as TrackedSubagent, t as SubagentManager, u as subagentServicePackage } from "../index-DfU8s_xP.mjs";
36
36
  import { a as PreferenceValueSchema, i as PreferenceKeySchema, n as PreferenceItemSchema, o as PreferencesSchemas, r as PreferenceKey, t as PreferenceItem } from "../schemas-Ca5RILd-2.mjs";
37
37
  import { n as PreferencesSubjects, t as PreferencesNamespace } from "../storage-namespace-IvLOIP7j.mjs";
38
- 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-CaYEFzK_.mjs";
38
+ 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-CFciElld.mjs";
39
39
  import { n as SubagentTemplateSubjects, t as SubagentTemplateKernelNamespace } from "../namespace-rJ3ycPMg.mjs";
40
40
  import * as _$zod from "zod";
41
41
  import * as _$_makaio_core0 from "@makaio/framework/core";
@@ -7712,9 +7712,9 @@ declare const FrameworkServicesCoreNamespaces: readonly [_$_makaio_core0.BusName
7712
7712
  request: _$zod.ZodObject<{
7713
7713
  name: _$zod.ZodString;
7714
7714
  enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
7715
+ model: _$zod.ZodOptional<_$zod.ZodString>;
7715
7716
  providerConfigId: _$zod.ZodOptional<_$zod.ZodString>;
7716
7717
  adapterName: _$zod.ZodString;
7717
- model: _$zod.ZodOptional<_$zod.ZodString>;
7718
7718
  systemPrompt: _$zod.ZodOptional<_$zod.ZodString>;
7719
7719
  allowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
7720
7720
  disallowedTools: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;