@makaio/framework 1.0.0-dev-1790165101280 → 1.0.0-dev-1790175294701

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 (96) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/bridge/pty-bridge.cjs +222 -0
  3. package/dist/bus/index.d.mts +1 -1
  4. package/dist/bus/index.mjs +1 -1
  5. package/dist/{bus-D4DBDaoS.mjs → bus-30AlabEz.mjs} +1 -1
  6. package/dist/contracts/adapter/index.d.mts +2 -2
  7. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  8. package/dist/contracts/artifact/index.d.mts +2 -2
  9. package/dist/contracts/automation-trigger/index.d.mts +1 -1
  10. package/dist/contracts/capabilities/index.d.mts +1 -1
  11. package/dist/contracts/client/index.d.mts +2 -2
  12. package/dist/contracts/extension/index.d.mts +4 -4
  13. package/dist/contracts/harness/index.d.mts +1 -1
  14. package/dist/contracts/index.d.mts +86 -86
  15. package/dist/contracts/index.mjs +1 -1
  16. package/dist/contracts/materialization/index.d.mts +2 -2
  17. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  18. package/dist/contracts/reaction/index.d.mts +1 -1
  19. package/dist/contracts/reaction/index.mjs +1 -1
  20. package/dist/contracts/session/index.d.mts +2 -2
  21. package/dist/contracts/skill/index.d.mts +1 -1
  22. package/dist/contracts/worker/index.d.mts +1 -1
  23. package/dist/contracts/workflow/index.d.mts +2 -2
  24. package/dist/{contribution-kpR61mnG.d.mts → contribution-DTb65rRN.d.mts} +1 -1
  25. package/dist/{extension-context-CmhBCbbq.d.mts → extension-context-DH84KOm9.d.mts} +3 -3
  26. package/dist/framework-packages-mquh5_Yw.mjs +1 -0
  27. package/dist/{hook-responses-C3nUIm-6.d.mts → hook-responses-OETFKaAL.d.mts} +1 -1
  28. package/dist/{index-C9Dz8UoK2.d.mts → index-2YW8DTb62.d.mts} +6 -6
  29. package/dist/{index-04uTOEVU.d.mts → index-7pt_bh4z.d.mts} +6 -6
  30. package/dist/{index-D5Lw1UsO.d.mts → index-B1iXL1pW.d.mts} +8 -8
  31. package/dist/{index-CRjWqvy02.d.mts → index-BMr77str2.d.mts} +8 -8
  32. package/dist/{index-xad0YUyF.d.mts → index-BRXETFym.d.mts} +10 -2
  33. package/dist/{index-8HtSFrzb.d.mts → index-BVN64wQx.d.mts} +16 -16
  34. package/dist/{index-D5BLD2Pw.d.mts → index-BgkQiruC.d.mts} +7 -7
  35. package/dist/{index-J6C4thLY.d.mts → index-Bgz81LHZ.d.mts} +1 -1
  36. package/dist/{index-ul45YFff.d.mts → index-BusmMFMN.d.mts} +4 -4
  37. package/dist/{index-BM53WQaQ.d.mts → index-CVRQS5jk.d.mts} +1 -1
  38. package/dist/{index-CFMaXW-s.d.mts → index-Cu8k2ZGe.d.mts} +42 -42
  39. package/dist/{index-BYwt4CNf.d.mts → index-D8V1DhrY.d.mts} +79 -79
  40. package/dist/{index-LCumcYK12.d.mts → index-DIEnLLhi2.d.mts} +37 -37
  41. package/dist/{index-DVo_rb2w2.d.mts → index-DPsQ_cFG2.d.mts} +11 -11
  42. package/dist/{index-BTLbhl35.d.mts → index-DWKSiTxX.d.mts} +27 -27
  43. package/dist/{index-CLwnkYRD.d.mts → index-DxtUM-qd.d.mts} +1 -1
  44. package/dist/{index-CpGWwlRN.d.mts → index-Mk478DlF.d.mts} +8 -8
  45. package/dist/{index-CkE9MwNX.d.mts → index-oE2q0pTG.d.mts} +1 -1
  46. package/dist/{index-aAo9ugCm.d.mts → index-wGlFWRXg.d.mts} +4 -4
  47. package/dist/kernel/extension/index.d.mts +2 -2
  48. package/dist/kernel/index.d.mts +2 -2
  49. package/dist/kernel/observability/index.d.mts +1 -1
  50. package/dist/{namespace-C5tKjqgb.d.mts → namespace-B9iQN3FQ.d.mts} +4 -4
  51. package/dist/{namespace-BEi98VfQ.d.mts → namespace-Bz0ZDWhE.d.mts} +18 -18
  52. package/dist/{namespace-B1FBjHfn.d.mts → namespace-C1-ZAKEG.d.mts} +6 -6
  53. package/dist/{namespace-D6W4Erwp.d.mts → namespace-DAzOxaux.d.mts} +2 -2
  54. package/dist/{namespace-CHSwZhH7.d.mts → namespace-h7gq_v5U.d.mts} +2 -2
  55. package/dist/package.json +1 -1
  56. package/dist/reaction-DVa5lwm5.mjs +1 -0
  57. package/dist/{schemas-BXkSHQaF.d.mts → schemas-BTJvvq9Y.d.mts} +2 -2
  58. package/dist/{schemas-Cb9OJ9va.d.mts → schemas-CBDNnyz4.d.mts} +1 -1
  59. package/dist/{schemas-Bv7ecHxV.d.mts → schemas-Dec5VtBU.d.mts} +8 -8
  60. package/dist/{schemas-BzSB9u68.d.mts → schemas-Dyp3rHZ7.d.mts} +4 -4
  61. package/dist/services/adapter-runtime/index.d.mts +3 -3
  62. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  63. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  64. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  65. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  66. package/dist/services/context-rules/index.d.mts +3 -3
  67. package/dist/services/execution-target/index.d.mts +2 -2
  68. package/dist/services/execution-target/namespace.d.mts +1 -1
  69. package/dist/services/execution-target/schemas.d.mts +1 -1
  70. package/dist/services/filesystem/namespace.d.mts +12 -12
  71. package/dist/services/filesystem/schemas.d.mts +6 -6
  72. package/dist/services/harness/index.d.mts +3 -3
  73. package/dist/services/index.d.mts +64 -31
  74. package/dist/services/index.mjs +1 -1
  75. package/dist/services/provider-context/index.d.mts +1 -1
  76. package/dist/services/session/handlers/index.d.mts +1 -1
  77. package/dist/services/session/index.d.mts +5 -5
  78. package/dist/services/session/messages/namespace.d.mts +1 -1
  79. package/dist/services/session/session-events/namespace.d.mts +1 -1
  80. package/dist/services/settings/namespace.d.mts +8 -8
  81. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  82. package/dist/services/subagent-template/index.d.mts +1 -1
  83. package/dist/services/subagent-template/schemas.d.mts +1 -1
  84. package/dist/services/tools/index.mjs +1 -1
  85. package/dist/services/workflow-transitions/index.mjs +1 -1
  86. package/dist/{session-lineage-CmP7L5g2.d.mts → session-lineage-BQ9NWlt6.d.mts} +1 -1
  87. package/dist/{tools-ByDy0ueE.mjs → tools-K3DWA4Jr.mjs} +1 -1
  88. package/dist/{transition-B0qsutdE.d.mts → transition-CSN6QoMp.d.mts} +1 -1
  89. package/dist/{types-BP_P1izV.d.mts → types-DTpwvvY9.d.mts} +15 -15
  90. package/dist/{view-builder-nKz9DKfE.d.mts → view-builder-cjQZJmTY.d.mts} +7 -7
  91. package/dist/workflow-engine/index.d.mts +16 -16
  92. package/dist/{workflow-transitions-UOXY-VZa.mjs → workflow-transitions-C2BLDE5N.mjs} +1 -1
  93. package/package.json +1 -1
  94. package/dist/framework-packages-C2tvdFmP.mjs +0 -1
  95. package/dist/reaction-C8WbJqLk.mjs +0 -1
  96. package/dist/{schemas-rliUGyrt.d.mts → schemas-CU2NE5Lg.d.mts} +1 -1
@@ -14,8 +14,8 @@ declare const COMPRESS_SESSION_LINEAGE_KIND: "compress";
14
14
  /** Discriminates the relationship of a session to its parent. */
15
15
  declare const SessionLineageKindSchema: z.ZodEnum<{
16
16
  fork: "fork";
17
- subagent: "subagent";
18
17
  root: "root";
18
+ subagent: "subagent";
19
19
  compress: "compress";
20
20
  }>;
21
21
  type SessionLineageKind = z.infer<typeof SessionLineageKindSchema>;
@@ -1 +1 @@
1
- import{l as e}from"./framework-packages-C2tvdFmP.mjs";import{FILE_ACCESS_RULES_KEY as t,extractToolFilePath as n}from"@makaio/framework/tools";function r(){let t=new Map;return{filter:e=>!!e.tools?.createToolsets,async processActivated(n,r,i){let a=i.getService(e);if(!a)throw Error(`ToolRegistry is not available. Ensure toolRegistryPackage is included in the composition root.`);let o=r.tools.createToolsets(i),s=[];try{for(let e of o)await a.register(e),s.push(()=>a.deregister(e.metadata.name))}catch(e){for(let e=s.length-1;e>=0;--e)try{await s[e]()}catch(e){console.error(`[ToolContributionProcessor] Rollback error for "${n}":`,e)}throw e}t.set(n,s)},async processStopped(e){let n=t.get(e);if(n){for(let t=n.length-1;t>=0;--t)try{await n[t]()}catch(t){console.error(`[ToolContributionProcessor] Deregister error for "${e}":`,t)}t.delete(e)}}}}export{n,r,t};
1
+ import{l as e}from"./framework-packages-mquh5_Yw.mjs";import{FILE_ACCESS_RULES_KEY as t,extractToolFilePath as n}from"@makaio/framework/tools";function r(){let t=new Map;return{filter:e=>!!e.tools?.createToolsets,async processActivated(n,r,i){let a=i.getService(e);if(!a)throw Error(`ToolRegistry is not available. Ensure toolRegistryPackage is included in the composition root.`);let o=r.tools.createToolsets(i),s=[];try{for(let e of o)await a.register(e),s.push(()=>a.deregister(e.metadata.name))}catch(e){for(let e=s.length-1;e>=0;--e)try{await s[e]()}catch(e){console.error(`[ToolContributionProcessor] Rollback error for "${n}":`,e)}throw e}t.set(n,s)},async processStopped(e){let n=t.get(e);if(n){for(let t=n.length-1;t>=0;--t)try{await n[t]()}catch(t){console.error(`[ToolContributionProcessor] Deregister error for "${e}":`,t)}t.delete(e)}}}}export{n,r,t};
@@ -1,4 +1,4 @@
1
- import { x as ArtifactRevision$1 } from "./schemas-rliUGyrt.mjs";
1
+ import { x as ArtifactRevision$1 } from "./schemas-CU2NE5Lg.mjs";
2
2
  import { l as JsonValue$1 } from "./json-value--pv1-OHx.mjs";
3
3
  import { z } from "zod";
4
4
  import * as _$_makaio_contracts0 from "@makaio/framework/contracts";
@@ -1148,8 +1148,8 @@ declare const SessionSnapshotSchema: z.ZodObject<{
1148
1148
  type: z.ZodLiteral<"locality.degraded">;
1149
1149
  payload: z.ZodDiscriminatedUnion<[z.ZodObject<{
1150
1150
  intent: z.ZodEnum<{
1151
- resume: "resume";
1152
1151
  fork: "fork";
1152
+ resume: "resume";
1153
1153
  }>;
1154
1154
  verdictKind: z.ZodLiteral<"degrade">;
1155
1155
  reason: z.ZodEnum<{
@@ -1174,8 +1174,8 @@ declare const SessionSnapshotSchema: z.ZodObject<{
1174
1174
  turnId: z.ZodOptional<z.ZodString>;
1175
1175
  }, z.core.$strip>, z.ZodObject<{
1176
1176
  intent: z.ZodEnum<{
1177
- resume: "resume";
1178
1177
  fork: "fork";
1178
+ resume: "resume";
1179
1179
  }>;
1180
1180
  verdictKind: z.ZodLiteral<"foreign">;
1181
1181
  foreignMachineId: z.ZodString;
@@ -1555,8 +1555,8 @@ type Turn$1 = z.infer<typeof TurnSchema$1>;
1555
1555
  */
1556
1556
  declare const MessageRoutingStatusSchema: z.ZodEnum<{
1557
1557
  completed: "completed";
1558
- sent: "sent";
1559
1558
  acknowledged: "acknowledged";
1559
+ sent: "sent";
1560
1560
  }>;
1561
1561
  type MessageRoutingStatus = z.infer<typeof MessageRoutingStatusSchema>;
1562
1562
  /**
@@ -1567,8 +1567,8 @@ declare const MessageRoutingSchema$1: z.ZodObject<{
1567
1567
  agentId: z.ZodString;
1568
1568
  status: z.ZodEnum<{
1569
1569
  completed: "completed";
1570
- sent: "sent";
1571
1570
  acknowledged: "acknowledged";
1571
+ sent: "sent";
1572
1572
  }>;
1573
1573
  timestamp: z.ZodNumber;
1574
1574
  error: z.ZodOptional<z.ZodString>;
@@ -4274,8 +4274,8 @@ declare const MakaioSessionEventSchema: z.ZodUnion<readonly [z.ZodDiscriminatedU
4274
4274
  type: z.ZodLiteral<"locality.degraded">;
4275
4275
  payload: z.ZodDiscriminatedUnion<[z.ZodObject<{
4276
4276
  intent: z.ZodEnum<{
4277
- resume: "resume";
4278
4277
  fork: "fork";
4278
+ resume: "resume";
4279
4279
  }>;
4280
4280
  verdictKind: z.ZodLiteral<"degrade">;
4281
4281
  reason: z.ZodEnum<{
@@ -4300,8 +4300,8 @@ declare const MakaioSessionEventSchema: z.ZodUnion<readonly [z.ZodDiscriminatedU
4300
4300
  turnId: z.ZodOptional<z.ZodString>;
4301
4301
  }, z.core.$strip>, z.ZodObject<{
4302
4302
  intent: z.ZodEnum<{
4303
- resume: "resume";
4304
4303
  fork: "fork";
4304
+ resume: "resume";
4305
4305
  }>;
4306
4306
  verdictKind: z.ZodLiteral<"foreign">;
4307
4307
  foreignMachineId: z.ZodString;
@@ -10992,8 +10992,8 @@ declare const SessionSchemas: {
10992
10992
  type: _$zod.ZodLiteral<"locality.degraded">;
10993
10993
  payload: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
10994
10994
  intent: _$zod.ZodEnum<{
10995
- resume: "resume";
10996
10995
  fork: "fork";
10996
+ resume: "resume";
10997
10997
  }>;
10998
10998
  verdictKind: _$zod.ZodLiteral<"degrade">;
10999
10999
  reason: _$zod.ZodEnum<{
@@ -11018,8 +11018,8 @@ declare const SessionSchemas: {
11018
11018
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
11019
11019
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
11020
11020
  intent: _$zod.ZodEnum<{
11021
- resume: "resume";
11022
11021
  fork: "fork";
11022
+ resume: "resume";
11023
11023
  }>;
11024
11024
  verdictKind: _$zod.ZodLiteral<"foreign">;
11025
11025
  foreignMachineId: _$zod.ZodString;
@@ -11665,8 +11665,8 @@ declare const SessionSchemas: {
11665
11665
  type: _$zod.ZodLiteral<"locality.degraded">;
11666
11666
  payload: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
11667
11667
  intent: _$zod.ZodEnum<{
11668
- resume: "resume";
11669
11668
  fork: "fork";
11669
+ resume: "resume";
11670
11670
  }>;
11671
11671
  verdictKind: _$zod.ZodLiteral<"degrade">;
11672
11672
  reason: _$zod.ZodEnum<{
@@ -11691,8 +11691,8 @@ declare const SessionSchemas: {
11691
11691
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
11692
11692
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
11693
11693
  intent: _$zod.ZodEnum<{
11694
- resume: "resume";
11695
11694
  fork: "fork";
11695
+ resume: "resume";
11696
11696
  }>;
11697
11697
  verdictKind: _$zod.ZodLiteral<"foreign">;
11698
11698
  foreignMachineId: _$zod.ZodString;
@@ -11795,8 +11795,8 @@ declare const SessionSchemas: {
11795
11795
  timestamp: _$zod.ZodNumber;
11796
11796
  }, _$zod_v4_core0.$strip>, _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
11797
11797
  intent: _$zod.ZodEnum<{
11798
- resume: "resume";
11799
11798
  fork: "fork";
11799
+ resume: "resume";
11800
11800
  }>;
11801
11801
  verdictKind: _$zod.ZodLiteral<"degrade">;
11802
11802
  reason: _$zod.ZodEnum<{
@@ -11821,8 +11821,8 @@ declare const SessionSchemas: {
11821
11821
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
11822
11822
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
11823
11823
  intent: _$zod.ZodEnum<{
11824
- resume: "resume";
11825
11824
  fork: "fork";
11825
+ resume: "resume";
11826
11826
  }>;
11827
11827
  verdictKind: _$zod.ZodLiteral<"foreign">;
11828
11828
  foreignMachineId: _$zod.ZodString;
@@ -11840,8 +11840,8 @@ declare const SessionSchemas: {
11840
11840
  maxTokens: _$zod.ZodNumber;
11841
11841
  percentage: _$zod.ZodNumber;
11842
11842
  level: _$zod.ZodEnum<{
11843
- ok: "ok";
11844
11843
  warn: "warn";
11844
+ ok: "ok";
11845
11845
  critical: "critical";
11846
11846
  }>;
11847
11847
  lastUpdatedAt: _$zod.ZodNumber;
@@ -12181,8 +12181,8 @@ declare const SessionSchemas: {
12181
12181
  type: _$zod.ZodLiteral<"locality.degraded">;
12182
12182
  payload: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
12183
12183
  intent: _$zod.ZodEnum<{
12184
- resume: "resume";
12185
12184
  fork: "fork";
12185
+ resume: "resume";
12186
12186
  }>;
12187
12187
  verdictKind: _$zod.ZodLiteral<"degrade">;
12188
12188
  reason: _$zod.ZodEnum<{
@@ -12207,8 +12207,8 @@ declare const SessionSchemas: {
12207
12207
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
12208
12208
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
12209
12209
  intent: _$zod.ZodEnum<{
12210
- resume: "resume";
12211
12210
  fork: "fork";
12211
+ resume: "resume";
12212
12212
  }>;
12213
12213
  verdictKind: _$zod.ZodLiteral<"foreign">;
12214
12214
  foreignMachineId: _$zod.ZodString;
@@ -1,4 +1,4 @@
1
- import { p as ArtifactRelation, x as ArtifactRevision$1 } from "./schemas-rliUGyrt.mjs";
1
+ import { p as ArtifactRelation, x as ArtifactRevision$1 } from "./schemas-CU2NE5Lg.mjs";
2
2
  import { z } from "zod";
3
3
  import * as _$_makaio_contracts0 from "@makaio/framework/contracts";
4
4
 
@@ -110,8 +110,8 @@ declare const ProjectedFieldSchema: z.ZodObject<{
110
110
  }>>;
111
111
  fromLevel: z.ZodOptional<z.ZodEnum<{
112
112
  link: "link";
113
- summary: "summary";
114
113
  full: "full";
114
+ summary: "summary";
115
115
  }>>;
116
116
  viewRole: z.ZodOptional<z.ZodEnum<{
117
117
  title: "title";
@@ -156,8 +156,8 @@ declare const ArtifactProjectionPolicySchema: z.ZodObject<{
156
156
  }>>;
157
157
  fromLevel: z.ZodOptional<z.ZodEnum<{
158
158
  link: "link";
159
- summary: "summary";
160
159
  full: "full";
160
+ summary: "summary";
161
161
  }>>;
162
162
  viewRole: z.ZodOptional<z.ZodEnum<{
163
163
  title: "title";
@@ -171,8 +171,8 @@ declare const ArtifactProjectionPolicySchema: z.ZodObject<{
171
171
  hostRelation: z.ZodString;
172
172
  as: z.ZodOptional<z.ZodEnum<{
173
173
  link: "link";
174
- summary: "summary";
175
174
  full: "full";
175
+ summary: "summary";
176
176
  }>>;
177
177
  }, z.core.$strip>, z.ZodObject<{
178
178
  kind: z.ZodLiteral<"entry">;
@@ -273,8 +273,8 @@ declare function defineSurfaceBinding(options: DefineSurfaceBindingOptions): Sur
273
273
  */
274
274
  declare const ArtifactViewLevelSchema: z.ZodEnum<{
275
275
  link: "link";
276
- summary: "summary";
277
276
  full: "full";
277
+ summary: "summary";
278
278
  }>;
279
279
  /** Artifact view detail level. */
280
280
  type ArtifactViewLevel$1 = z.infer<typeof ArtifactViewLevelSchema>;
@@ -695,8 +695,8 @@ declare const ArtifactViewParamsSchema: z.ZodType<Record<string, unknown>, Recor
695
695
  declare const ArtifactViewRequestSchema: z.ZodObject<{
696
696
  level: z.ZodEnum<{
697
697
  link: "link";
698
- summary: "summary";
699
698
  full: "full";
699
+ summary: "summary";
700
700
  }>;
701
701
  params: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
702
702
  }, z.core.$strip>;
@@ -726,8 +726,8 @@ declare const ArtifactViewAffordanceDeclarationSchema: z.ZodDiscriminatedUnion<[
726
726
  hostRelation: z.ZodString;
727
727
  as: z.ZodOptional<z.ZodEnum<{
728
728
  link: "link";
729
- summary: "summary";
730
729
  full: "full";
730
+ summary: "summary";
731
731
  }>>;
732
732
  }, z.core.$strip>, z.ZodObject<{
733
733
  kind: z.ZodLiteral<"entry">;
@@ -1182,10 +1182,10 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1182
1182
  frameId: z.ZodString;
1183
1183
  nodeId: z.ZodString;
1184
1184
  nodeType: z.ZodEnum<{
1185
+ sequence: "sequence";
1185
1186
  station: "station";
1186
1187
  "delegate-agent": "delegate-agent";
1187
1188
  "delegate-role": "delegate-role";
1188
- sequence: "sequence";
1189
1189
  parallel: "parallel";
1190
1190
  gate: "gate";
1191
1191
  iterate: "iterate";
@@ -1227,10 +1227,10 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1227
1227
  frameId: z.ZodString;
1228
1228
  nodeId: z.ZodString;
1229
1229
  nodeType: z.ZodEnum<{
1230
+ sequence: "sequence";
1230
1231
  station: "station";
1231
1232
  "delegate-agent": "delegate-agent";
1232
1233
  "delegate-role": "delegate-role";
1233
- sequence: "sequence";
1234
1234
  parallel: "parallel";
1235
1235
  gate: "gate";
1236
1236
  iterate: "iterate";
@@ -1586,10 +1586,10 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1586
1586
  frameId: z.ZodString;
1587
1587
  nodeId: z.ZodString;
1588
1588
  nodeType: z.ZodEnum<{
1589
+ sequence: "sequence";
1589
1590
  station: "station";
1590
1591
  "delegate-agent": "delegate-agent";
1591
1592
  "delegate-role": "delegate-role";
1592
- sequence: "sequence";
1593
1593
  parallel: "parallel";
1594
1594
  gate: "gate";
1595
1595
  iterate: "iterate";
@@ -1632,10 +1632,10 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1632
1632
  frameId: z.ZodString;
1633
1633
  nodeId: z.ZodString;
1634
1634
  nodeType: z.ZodEnum<{
1635
+ sequence: "sequence";
1635
1636
  station: "station";
1636
1637
  "delegate-agent": "delegate-agent";
1637
1638
  "delegate-role": "delegate-role";
1638
- sequence: "sequence";
1639
1639
  parallel: "parallel";
1640
1640
  gate: "gate";
1641
1641
  iterate: "iterate";
@@ -1675,10 +1675,10 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1675
1675
  frameId: z.ZodString;
1676
1676
  nodeId: z.ZodString;
1677
1677
  nodeType: z.ZodEnum<{
1678
+ sequence: "sequence";
1678
1679
  station: "station";
1679
1680
  "delegate-agent": "delegate-agent";
1680
1681
  "delegate-role": "delegate-role";
1681
- sequence: "sequence";
1682
1682
  parallel: "parallel";
1683
1683
  gate: "gate";
1684
1684
  iterate: "iterate";
@@ -3334,7 +3334,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
3334
3334
  tableName: "workflow_execution_frames";
3335
3335
  dataType: "string";
3336
3336
  columnType: "SQLiteText";
3337
- data: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
3337
+ data: "sequence" | "station" | "delegate-agent" | "delegate-role" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
3338
3338
  driverParam: string;
3339
3339
  notNull: true;
3340
3340
  hasDefault: false;
@@ -3347,7 +3347,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
3347
3347
  generated: undefined;
3348
3348
  }, {}, {
3349
3349
  length: number | undefined;
3350
- $type: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
3350
+ $type: "sequence" | "station" | "delegate-agent" | "delegate-role" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
3351
3351
  }>;
3352
3352
  path: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
3353
3353
  name: string;
@@ -5167,7 +5167,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
5167
5167
  tableName: "worklog_frame_entries";
5168
5168
  dataType: "string";
5169
5169
  columnType: "SQLiteText";
5170
- data: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
5170
+ data: "sequence" | "station" | "delegate-agent" | "delegate-role" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
5171
5171
  driverParam: string;
5172
5172
  notNull: true;
5173
5173
  hasDefault: false;
@@ -5180,7 +5180,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
5180
5180
  generated: undefined;
5181
5181
  }, {}, {
5182
5182
  length: number | undefined;
5183
- $type: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
5183
+ $type: "sequence" | "station" | "delegate-agent" | "delegate-role" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
5184
5184
  }>;
5185
5185
  path: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
5186
5186
  name: string;
@@ -6040,7 +6040,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
6040
6040
  tableName: "workflow_finalizations";
6041
6041
  dataType: "string";
6042
6042
  columnType: "SQLiteText";
6043
- data: "failed" | "acknowledged" | "claimed";
6043
+ data: "acknowledged" | "failed" | "claimed";
6044
6044
  driverParam: string;
6045
6045
  notNull: true;
6046
6046
  hasDefault: false;
@@ -6831,10 +6831,10 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6831
6831
  frameId: z.ZodString;
6832
6832
  nodeId: z.ZodString;
6833
6833
  nodeType: z.ZodEnum<{
6834
+ sequence: "sequence";
6834
6835
  station: "station";
6835
6836
  "delegate-agent": "delegate-agent";
6836
6837
  "delegate-role": "delegate-role";
6837
- sequence: "sequence";
6838
6838
  parallel: "parallel";
6839
6839
  gate: "gate";
6840
6840
  iterate: "iterate";
@@ -6876,10 +6876,10 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6876
6876
  frameId: z.ZodString;
6877
6877
  nodeId: z.ZodString;
6878
6878
  nodeType: z.ZodEnum<{
6879
+ sequence: "sequence";
6879
6880
  station: "station";
6880
6881
  "delegate-agent": "delegate-agent";
6881
6882
  "delegate-role": "delegate-role";
6882
- sequence: "sequence";
6883
6883
  parallel: "parallel";
6884
6884
  gate: "gate";
6885
6885
  iterate: "iterate";
@@ -7235,10 +7235,10 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
7235
7235
  frameId: z.ZodString;
7236
7236
  nodeId: z.ZodString;
7237
7237
  nodeType: z.ZodEnum<{
7238
+ sequence: "sequence";
7238
7239
  station: "station";
7239
7240
  "delegate-agent": "delegate-agent";
7240
7241
  "delegate-role": "delegate-role";
7241
- sequence: "sequence";
7242
7242
  parallel: "parallel";
7243
7243
  gate: "gate";
7244
7244
  iterate: "iterate";
@@ -7281,10 +7281,10 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
7281
7281
  frameId: z.ZodString;
7282
7282
  nodeId: z.ZodString;
7283
7283
  nodeType: z.ZodEnum<{
7284
+ sequence: "sequence";
7284
7285
  station: "station";
7285
7286
  "delegate-agent": "delegate-agent";
7286
7287
  "delegate-role": "delegate-role";
7287
- sequence: "sequence";
7288
7288
  parallel: "parallel";
7289
7289
  gate: "gate";
7290
7290
  iterate: "iterate";
@@ -7324,10 +7324,10 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
7324
7324
  frameId: z.ZodString;
7325
7325
  nodeId: z.ZodString;
7326
7326
  nodeType: z.ZodEnum<{
7327
+ sequence: "sequence";
7327
7328
  station: "station";
7328
7329
  "delegate-agent": "delegate-agent";
7329
7330
  "delegate-role": "delegate-role";
7330
- sequence: "sequence";
7331
7331
  parallel: "parallel";
7332
7332
  gate: "gate";
7333
7333
  iterate: "iterate";
@@ -8489,7 +8489,7 @@ declare const worklogFrameEntriesDual: _$_makaio_storage_drizzle0.DualTable<"wor
8489
8489
  /** Unique frame identifier within the execution. */frameId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"frame_id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"frame_id", [string, ...string[]]>>>>; /** Execution this frame belongs to. */
8490
8490
  executionId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_id", [string, ...string[]]>>>; /** Node identifier from the workflow definition. */
8491
8491
  nodeId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"node_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"node_id", [string, ...string[]]>>>; /** Node type discriminant. */
8492
- nodeType: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"node_type", [string, ...string[]], number | undefined>>, "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop">, _$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"node_type", [string, ...string[]]>>, "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop">>;
8492
+ nodeType: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"node_type", [string, ...string[]], number | undefined>>, "sequence" | "station" | "delegate-agent" | "delegate-role" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop">, _$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"node_type", [string, ...string[]]>>, "sequence" | "station" | "delegate-agent" | "delegate-role" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop">>;
8493
8493
  /**
8494
8494
  * Ordered path of frame IDs from the root frame to this frame (inclusive).
8495
8495
  * Stored as a JSON array for tree correlation.
@@ -1 +1 @@
1
- import{u as e}from"./framework-packages-C2tvdFmP.mjs";function t(){let t=new Map;return{filter:e=>!!(e.transitionRules?.rules?.length||e.transitionActions?.actions),async processActivated(i,a,o){let s=o.getService(e);if(!s)throw Error(`TransitionContributionProcessor: TransitionPipelineService is not available — ensure '${e.name}' is started before extensions with transitionRules or transitionActions.`);let c=a.transitionRules?.rules??[],l=a.transitionActions?.actions,u=c.length>0,d=l!==void 0;u&&n(i,c),d&&r(i,l);let f=!1,p=!1;try{u&&(s.ruleRegistry.register(i,c),f=!0),d&&(s.actionRegistry.register(i,l),p=!0)}catch(e){throw f&&s.ruleRegistry.deregister(i),p&&s.actionRegistry.deregister(i),e}t.set(i,()=>{u&&s.ruleRegistry.deregister(i),d&&s.actionRegistry.deregister(i)})},async processStopped(e){let n=t.get(e);if(n){try{n()}catch(t){console.error(`[TransitionContributionProcessor] Deregister error for "${e}":`,t)}t.delete(e)}}}}function n(e,t){let n=`${e}.`;for(let e of t)if(!e.id.startsWith(n))throw Error(`TransitionContributionProcessor: rule '${e.id}' must be namespaced by extension '${n}'`)}function r(e,t){let n=`${e}.`;for(let e of Object.keys(t))if(!e.startsWith(n))throw Error(`TransitionContributionProcessor: action type '${e}' must be namespaced by extension '${n}'`)}export{t};
1
+ import{u as e}from"./framework-packages-mquh5_Yw.mjs";function t(){let t=new Map;return{filter:e=>!!(e.transitionRules?.rules?.length||e.transitionActions?.actions),async processActivated(i,a,o){let s=o.getService(e);if(!s)throw Error(`TransitionContributionProcessor: TransitionPipelineService is not available — ensure '${e.name}' is started before extensions with transitionRules or transitionActions.`);let c=a.transitionRules?.rules??[],l=a.transitionActions?.actions,u=c.length>0,d=l!==void 0;u&&n(i,c),d&&r(i,l);let f=!1,p=!1;try{u&&(s.ruleRegistry.register(i,c),f=!0),d&&(s.actionRegistry.register(i,l),p=!0)}catch(e){throw f&&s.ruleRegistry.deregister(i),p&&s.actionRegistry.deregister(i),e}t.set(i,()=>{u&&s.ruleRegistry.deregister(i),d&&s.actionRegistry.deregister(i)})},async processStopped(e){let n=t.get(e);if(n){try{n()}catch(t){console.error(`[TransitionContributionProcessor] Deregister error for "${e}":`,t)}t.delete(e)}}}}function n(e,t){let n=`${e}.`;for(let e of t)if(!e.id.startsWith(n))throw Error(`TransitionContributionProcessor: rule '${e.id}' must be namespaced by extension '${n}'`)}function r(e,t){let n=`${e}.`;for(let e of Object.keys(t))if(!e.startsWith(n))throw Error(`TransitionContributionProcessor: action type '${e}' must be namespaced by extension '${n}'`)}export{t};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makaio/framework",
3
- "version": "1.0.0-dev-1790165101280",
3
+ "version": "1.0.0-dev-1790175294701",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/makaio-ai/makaio-framework.git",
@@ -1 +0,0 @@
1
- import{wt as e,x as t}from"./handlers-mjky_fP2.mjs";import{SessionStorageSubjects as n}from"./services/session/storage/namespace.mjs";import{E as r,I as i,J as a,N as o,U as s,a as c,b as l,c as u,d,et as ee,i as te,k as ne,n as re,nt as ie,r as ae}from"./session-D38UuGGX.mjs";import{r as f,t as oe}from"./namespace-J87EeVTm.mjs";import{_ as se,a as ce,c as le,o as ue,s as de}from"./packages-vF9F4M41.mjs";import{n as fe}from"./package-BCKYMTYG.mjs";import"./services/adapter-subsystem/index.mjs";import{i as pe,s as me}from"./model-registry-CeDu27XL.mjs";import{d as he,f as ge,n as _e}from"./package-BwlW7N32.mjs";import{t as ve}from"./tool-approval-service-vG2mEC9p.mjs";import{t as ye}from"./tray-menu-service-BRrnoqaY.mjs";import{r as p,t as be}from"./handler-Cc1MhaR4.mjs";import{r as xe}from"./package-BSz4hbav.mjs";import{t as Se}from"./filesystem-service-CIaAqTRi.mjs";import{z as m}from"zod";import{createHash as Ce}from"node:crypto";import{getErrorString as h}from"@makaio/framework/utils";import{MakaioError as we,createMakaioContext as Te}from"@makaio/framework/core";import{AdapterSubjects as Ee,ArtifactSubjects as g,CanonicalModelSubjects as De,DEFAULT_HARNESSES as Oe,HarnessDefinitionCreateSchema as ke,HarnessSubjects as _,JsonValueSchema as Ae,ReactionDescriptorSchema as je,ToolSubjects as v,TransitionRuleDefinitionSchema as Me,WorkflowBlocksSubjects as y,WorkflowSubjects as Ne,dep as b,extensionToken as x,validateToolAdapterIdentity as Pe,zodSchemaToJsonRecord as S}from"@makaio/framework/contracts";import{MakaioBus as C}from"@makaio/framework/bus";import{BaseService as w}from"@makaio/framework/service-base";import{registerDrizzleHandlers as T}from"@makaio/framework/storage/drizzle";import{slugifyProviderConfigName as E}from"@makaio/framework/contracts/config";import{ClientAccountIdentifierSchema as Fe,ClientSessionAccountObserveSchema as Ie,ClientSubjects as D}from"@makaio/framework/contracts/client";import{FacetSubjects as O}from"@makaio/framework/contracts/facet";import{FILE_ACCESS_RULES_KEY as Le,ToolErrorCodes as k,errorToToolResult as Re,toolError as A,toolSuccess as ze}from"@makaio/framework/tools";import{ConditionSchema as Be,evaluate as Ve}from"@makaio/framework/rules";import{evaluateSync as He}from"@makaio/framework/expression";import{GitService as Ue}from"@makaio/framework/git";var j=class extends Error{reason;hookId;constructor(e,t){super(`Artifact write rejected by hook '${t}': ${e}`),this.reason=e,this.hookId=t,this.name=`ArtifactLifecycleHookRejectedError`}};function M(e,t){return e?!(e.kind!==void 0&&e.kind!==`*`&&e.kind!==t.kind||e.schemaVersion!==void 0&&e.schemaVersion!==t.schemaVersion):!0}function N(e){return e.priority??0}function We(e,t,n){return e.filter(e=>e.event===t&&M(e.filter,n)).sort((e,t)=>N(t)-N(e))}function Ge(e,t,n){return e.filter(e=>e.event===t&&M(e.filter,n)).sort((e,t)=>N(t)-N(e))}function Ke(e,t){return{...e,...`data`in t?{data:t.data}:{},...`relations`in t?{relations:t.relations}:{},...`evidence`in t?{evidence:t.evidence}:{},...`confidence`in t?{confidence:t.confidence}:{},...`representations`in t?{representations:t.representations}:{},...`actor`in t?{actor:t.actor}:{}}}function qe(e,t){let{evidence:n,confidence:r,representations:i,...a}=e;return{...a,data:t.data,relations:[...t.relations],...t.evidence===void 0?{}:{evidence:t.evidence},...t.confidence===void 0?{}:{confidence:t.confidence},...t.representations===void 0?{}:{representations:t.representations},actor:t.actor}}var P=class extends w{registrations=new Map;constructor(e){super(e)}async onInit(){}onDestroy(){this.registrations.clear()}registerHooks(e,t){let n=[...t];this.registrations.set(e,n);let r=!1;return()=>{r||(r=!0,this.registrations.get(e)===n&&this.registrations.delete(e))}}allHooks(){let e=[];for(let t of this.registrations.values())e.push(...t);return e}async runBeforeCreate(e){return this.runBeforeHooks(`beforeCreate`,e)}async runBeforeRevise(e){return this.runBeforeHooks(`beforeRevise`,e)}async runBeforeHooks(e,t){let{draft:n,previous:r,kindRegistration:i}=t,a=We(this.allHooks(),e,n),o=new Map,s={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,data:n.data,relations:n.relations,...n.evidence===void 0?{}:{evidence:n.evidence},...n.confidence===void 0?{}:{confidence:n.confidence},...n.representations===void 0?{}:{representations:n.representations},actor:n.actor},c=!1;for(let t of a){let n,a={event:e,get draft(){return s},previous:r,kindRegistration:i,bus:this.bus,meta:o,rejectCreation(e){n={reason:e}},skipMaterialization(){c=!0},updateDraft(e){s=Ke(s,e)}};if(await t.handler(a),n)throw new j(n.reason,t.id)}return{draft:qe(n,s),skipMaterialization:c,meta:o}}async runAfterCreate(e){await this.runAfterHooks(`afterCreate`,`created`,e)}async runAfterRevise(e){await this.runAfterHooks(`afterRevise`,`revised`,e)}async runAfterStatusChanged(e){await this.runAfterHooks(`afterStatusChanged`,`status-changed`,e)}async runAfterObservationAdded(e){await this.runAfterHooks(`afterObservationAdded`,`observation-added`,e)}async runAfterHooks(e,t,n){let{artifact:r,previous:i,observation:a,kindRegistration:o,skipDefaultProjection:s,meta:c}=n,l=Ge(this.allHooks(),e,r),u=this.bus,d=!1;for(let n of l){if(s&&(n.priority??0)<0||d&&(n.priority??0)<0)continue;let l={event:e,semanticEvent:t,artifact:r,previous:i?{refClass:`artifact`,id:i.id,revision:i.revision,kind:i.kind}:void 0,observation:a,kindRegistration:o,bus:u,meta:c,preventDefault(){d=!0},async resolveRelations(e){let t=r.relations.filter(t=>t.type===e).map(e=>e.target),n=[];for(let e of t){let t=e;if(t.refClass===`artifact`){let e=t,{artifact:r}=await u.request(g.resolve,{ref:e});r&&n.push(r)}}return n}};try{await n.handler(l)}catch(t){console.error(`[ArtifactLifecycleHookRegistry] Hook '${n.id}' threw during '${e}':`,t)}}}};function F(e){return structuredClone(e)}var I=class extends w{namespaces=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(O.namespace.register,e=>{this.registerNamespace(e.payload),e.setResult({registered:!0})}),this.registerHandler(O.namespace.list,e=>{let{namespace:t}=e.payload,n=[...this.namespaces.values()].filter(e=>!t||e.namespace===t).map(F);e.setResult({namespaces:n})})}registerNamespace(e){let t=this.namespaces.get(e.namespace);if(t){if(JSON.stringify(t)!==JSON.stringify(e))throw Error(`Facet namespace '${e.namespace}' is already registered with a different definition`);return}this.namespaces.set(e.namespace,F(e)),this.bus.emit(O.namespace.changed,{namespace:e.namespace})}deregisterNamespace(e){this.namespaces.delete(e)&&this.bus.emit(O.namespace.changed,{namespace:e})}getNamespace(e){let t=this.namespaces.get(e);return t?F(t):void 0}onDestroy(){this.namespaces.clear()}},L=class extends we{code;suggestions;constructor(e,t,n){super(e),this.code=t,this.suggestions=n}},R=class{deps;constructor(e){this.deps=e}async resolve(e,t){switch(e.kind){case`bare`:return this.resolveBare(e.model);case`qualified`:return this.resolveQualified(e.segment1,e.segment2,e.model)}}async resolveBare(e){let t=await this.deps.resolveDefaultModelTarget(e);switch(t.kind){case`resolved`:return{kind:`adapter`,adapterName:t.target.adapterName,providerConfigId:t.target.providerConfigId,model:t.target.model};case`ambiguous`:throw new L(`Model "${e}" is available via multiple providers. Use a qualified reference to select one.`,`ambiguous-model`,t.matches.map(e=>e.qualifiedName));case`not-found`:throw new L(`Model "${e}" was not found in any enabled adapter's registry.`,`model-not-found`)}}async resolveQualified(e,t,n){return t===void 0?this.resolveQualifiedOneSegment(e,n):this.resolveQualifiedTwoSegments(e,t,n)}async resolveQualifiedTwoSegments(e,t,n){let r=await this.deps.listEnabledAdapterNames();if(!r.includes(e))throw new L(`Adapter "${e}" is not enabled or does not exist.`,`adapter-not-found`);return{kind:`adapter`,adapterName:e,providerConfigId:await this.resolveProviderSegment(t,e,r),model:n}}async resolveQualifiedOneSegment(e,t){let n=await this.deps.listEnabledAdapterNames();if(n.includes(e)){let n=await this.deps.getDefaultBinding(e);if(!n)throw new L(`Adapter "${e}" has no enabled provider binding. Configure or enable a provider binding first.`,`no-binding`);return{kind:`adapter`,adapterName:e,providerConfigId:n.providerConfigId,model:t}}let r=await this.deps.findProviderConfigByName(e);if(r)return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t};let i=await this.deps.findProviderDefinition(e,n);if(i){let r=await this.deps.findDefaultConfigForDefinition(i.id);if(!r)throw new L(`Provider definition "${e}" exists but has no configured provider config. Create a provider config first.`,`provider-not-found`);return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t}}throw new L(`"${e}" does not match any enabled adapter name, provider config name, or provider definition ID.`,`adapter-not-found`)}async resolveProviderSegment(e,t,n){let r=await this.deps.findProviderConfigByName(e);if(r)return await this.requireBindingForAdapterAndConfig(t,r.id,e),r.id;let i=await this.deps.findProviderDefinition(e,n);if(i){let n=await this.deps.findConfigForDefinitionAndAdapter(i.id,t);if(!n)throw new L(`Provider definition "${e}" has no enabled config bound to adapter "${t}". Create a provider config and binding first.`,`no-binding`);return n.id}throw new L(`"${e}" does not match any provider config name or provider definition ID.`,`provider-not-found`)}async requireBindingForAdapterAndConfig(e,t,n){if(!(await this.deps.listBindingsForConfig(t)).some(t=>t.adapterName===e))throw new L(`No binding exists between adapter "${e}" and provider "${n}". Create a binding first.`,`no-binding`)}async pickBindingForConfig(e,t){let n=(await this.deps.listBindingsForConfig(e)).filter(e=>t.includes(e.adapterName));if(n.length===0)throw new L(`Provider config "${e}" has no bindings to enabled adapters. Bind it to an enabled adapter first.`,`no-binding`);return n.find(e=>e.isDefault)??n[0]}},z=class e extends w{constructor(e=C){super(e)}async onInit(){await this.bus.request(f.ensureReady,{});let e=new R(this.createDeps());this.registerHandler(De.resolve,async t=>{let n=await e.resolve(t.payload.parsed,t.payload.context);t.setResult(n)})}createDeps(){let e=this.bus,t=async()=>{let{adapters:t}=await e.request(f.listAdapters,{});return t.filter(e=>e.enabled).map(e=>e.name)},n=async t=>{let[n,r]=await Promise.all([e.request(f.getDefaultBinding,{adapterName:t}),this.listEnabledProviderConfigIds()]);if(n.binding&&r.has(n.binding.providerConfigId))return n.binding;let{bindings:i}=await e.request(f.listBindings,{adapterName:t}),a=i.filter(e=>r.has(e.providerConfigId));return a.find(e=>e.isDefault)??a[0]},r=async t=>{let{definitions:n}=await e.request(f.getProviderDefinitionsByAdapter,{adapterName:t});return n},i=async t=>{let{bindings:n}=await e.request(f.listBindingsByConfig,{providerConfigId:t});return n},a=async t=>{let{configs:n}=await e.request(f.listProviderConfigs,{enabled:!0}),r=E(t);return n.find(e=>E(e.name)===r)},o=this.buildFindProviderDefinition(t,r),s=async t=>{let{configs:n}=await e.request(f.listProviderConfigsByDefinition,{definitionId:t}),r=n.filter(e=>e.enabled);return r.find(e=>e.isDefault)??r[0]},c=async(t,n)=>{let{config:r}=await e.request(f.findConfigForDefinitionAndAdapter,{definitionId:t,adapterName:n});return r?{id:r.id}:void 0};return{listEnabledAdapterNames:t,getDefaultBinding:n,findProviderConfigByName:a,findProviderDefinition:o,listBindingsForConfig:i,findDefaultConfigForDefinition:s,findConfigForDefinitionAndAdapter:c,resolveDefaultModelTarget:this.buildResolveDefaultModelTarget(t,r,c)}}buildFindProviderDefinition(e,t){return async(n,r)=>{let i=r??await e();for(let e of i){let r=(await t(e)).find(e=>e.id===n);if(r)return r}}}buildResolveDefaultModelTarget(t,n,r){let i=this.bus;return async a=>{let o=await t(),s=await Promise.all(o.map(async e=>({adapterName:e,definitions:await n(e)}))),c=Array.from(new Set(s.flatMap(({definitions:e})=>e.map(e=>e.id))));if(c.length===0)return{kind:`not-found`};let{matches:l}=await i.request(me.checkModelInProviders,{providerIds:c,model:a}),u=(await Promise.all(s.map(({adapterName:e,definitions:t})=>this.collectAdapterCandidates(e,t,a,l,r)))).flat();return e.buildResolution(u)}}async collectAdapterCandidates(e,t,n,r,i){let a=t.filter(e=>e.id in r),o=await Promise.all(a.map(t=>i(t.id,e)));return a.flatMap((t,r)=>{let i=o[r];return i?[{adapterName:e,definitionId:t.id,providerConfigId:i.id,qualifiedName:`${e}/${t.id}::${n}`,model:n}]:[]})}static buildResolution(e){let t=Array.from(new Map(e.map(e=>[this.routeKey(e),e])).values());if(t.length===0)return{kind:`not-found`};if(t.length>1)return{kind:`ambiguous`,matches:t.map(({adapterName:e,definitionId:t,qualifiedName:n})=>({adapterName:e,definitionId:t,qualifiedName:n}))};let[n]=t;return{kind:`resolved`,target:{adapterName:n.adapterName,providerConfigId:n.providerConfigId,definitionId:n.definitionId,model:n.model}}}static routeKey(e){return`${e.adapterName}\0${e.definitionId}\0${e.providerConfigId}`}async listEnabledProviderConfigIds(){let{configs:e}=await this.bus.request(f.listProviderConfigs,{enabled:!0});return new Set(e.map(e=>e.id))}};const B={name:`makaio.canonical-model`,displayName:`Canonical Model`,version:`0.1.0`,dependencies:[b(oe)],critical:!1,create:e=>new z(e.bus)};var V=class extends w{definitionsByExtension=new Map;definitionsByKind=new Map;constructor(e){super(e)}onInit(){}onDestroy(){this.definitionsByExtension.clear(),this.definitionsByKind.clear()}register(e,t){let n=this.validateBatch(e,t),r=new Map(this.definitionsByExtension);n.length===0?r.delete(e):r.set(e,n);let i=new Map;for(let e of r.values())for(let t of e)i.set(t.descriptor.kind,t);this.definitionsByExtension=r,this.definitionsByKind=i}deregister(e){this.definitionsByExtension.has(e)&&this.register(e,[])}listDescriptors(){return Array.from(this.definitionsByKind.values(),({descriptor:e})=>structuredClone(e))}async invoke(e,t,n){let r=crypto.randomUUID(),i=this.definitionsByKind.get(e);if(!i)return this.failure(e,r,n.correlationId,`Reaction kind '${e}' is not registered`);if(n.hostSignal?.aborted)return this.failure(e,r,n.correlationId,`Reaction '${e}' host signal already aborted`);let a=Ye(n.deadlineEpochMs);if(a!==void 0&&a<=Date.now())return this.failure(e,r,n.correlationId,`Reaction '${e}' deadline already passed`);let o=Xe(n.hostSignal,a),s=Ze(r,o.controller.signal,n);try{let n;try{n=await i.parameterSchema.safeParseAsync(t)}catch(t){return this.failure(e,r,s.correlationId,`Parameter validation for Reaction '${e}' threw: ${h(t)}`,t)}return n.success?(a!==void 0&&H(o.controller,a),o.controller.signal.aborted?this.failure(e,r,s.correlationId,`Reaction '${e}' cancelled before handler entry: ${h(o.controller.signal.reason)}`,o.controller.signal.reason):(await i.handler(n.data,s),{success:!0})):this.failure(e,r,s.correlationId,`Invalid parameters for Reaction '${e}': ${n.error.message}`)}catch(t){return this.logFailure(e,r,s.correlationId,`Reaction '${e}' handler threw`,t),{success:!1,error:{message:h(t)}}}finally{o.release()}}failure(e,t,n,r,i){return this.logFailure(e,t,n,r,i),{success:!1,error:{message:r}}}logFailure(e,t,n,r,i){let a=n===void 0?``:` (correlationId: ${n})`;console.error(`[ReactionRegistry] Reaction '${e}' invocation '${t}' failed${a}: ${r}`,...i===void 0?[]:[i])}validateBatch(e,t){let n=`${e}.`,r=new Set,i=new Set(this.definitionsByExtension.get(e)?.map(e=>e.descriptor.kind)),a=[];for(let o of t){if(!o.kind.startsWith(n)||o.kind.length===n.length)throw Error(`Reaction '${o.kind}' must be namespaced by extension '${n}'`);if(r.has(o.kind))throw Error(`Reaction kind collision: '${o.kind}' appears twice in batch from '${e}'`);if(this.definitionsByKind.has(o.kind)&&!i.has(o.kind))throw Error(`Reaction kind collision: '${o.kind}' is already registered`);r.add(o.kind);let t=je.parse(o.toDescriptor());if(t.kind!==o.kind)throw Error(`Reaction descriptor kind '${t.kind}' does not match definition kind '${o.kind}'`);a.push({parameterSchema:o.parameterSchema,handler:o.handler,descriptor:t})}return a}};const Je=()=>{};function Ye(e){return e!==void 0&&Number.isFinite(e)?e:void 0}function Xe(e,t){let n=new AbortController;if(e===void 0&&t===void 0)return{controller:n,release:Je};let r=[];if(e){let t=()=>{n.abort(e.reason)};e.addEventListener(`abort`,t,{once:!0}),r.push(()=>{e.removeEventListener(`abort`,t)})}if(t!==void 0){let e,i=()=>{if(H(n,t)){e=void 0;return}let r=t-Date.now();e=setTimeout(i,Math.min(r,2147483647)),e.unref?.()};i(),r.push(()=>{clearTimeout(e)})}return{controller:n,release:()=>{for(let e of r)e()}}}function H(e,t){return t>Date.now()?!1:(e.abort(Error(`Reaction invocation deadline reached (deadlineEpochMs: ${t})`)),!0)}function Ze(e,t,n){return Object.freeze({invocationId:e,ruleRef:n.ruleRef,eventKind:n.eventKind,eventPayload:n.eventPayload,hostContext:n.hostContext,correlationId:n.correlationId,signal:t,deadlineEpochMs:n.deadlineEpochMs})}const U=x(`reaction-registry`),W={name:U.name,displayName:`Reaction Registry`,version:`0.1.0`,critical:!0,create:e=>new V(e.bus)};function Qe(e){let t=Pe({adapterId:e?.adapterId,adapterName:e?.adapterName,contextOverrides:{adapterId:e?.contextOverrides?.adapterId,adapterName:e?.contextOverrides?.adapterName}}),n=t.issues[0];return n?A(k.VALIDATION_FAILED,n.message):ze(t.effectiveIdentity)}function $e(e){let t=e?.allowedDirectories;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}async function et(e,t,n,r){let i=new Map;for(let e of t)i.set(e.name,await r(e.name));let a=t.filter(e=>{let t=i.get(e.name);return!t?.allowedAdapters||t.allowedAdapters.length===0?!0:t.allowedAdapters.includes(n)}),o=new Set(a.map(e=>e.name));return{filteredTools:e.filter(e=>!(!o.has(e.toolsetName)||i.get(e.toolsetName)?.disabledTools?.includes(e.name))),filteredToolsets:a}}function tt(){return`exec_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var G=class{bus;toolsets=new Map;tools=new Map;cleanupHandlers=[];handlerPriority;policyProvider;fileAccessRuleProvider;revision=0;constructor(e){this.bus=e?.bus??C,this.handlerPriority=e?.handlerPriority??0,this.policyProvider=e?.policyProvider,this.fileAccessRuleProvider=e?.fileAccessRuleProvider,this.registerHandlers()}registerHandlers(){let e=this.bus.on(v.list,async e=>{let{toolsetName:t,adapterId:n,adapterName:r}=e.payload,{tools:i,toolsets:a}=await this.listToolsWithToolsets({toolsetName:t,adapterId:n,adapterName:r});e.setResult({tools:i,toolsets:a})},{priority:this.handlerPriority});this.cleanupHandlers.push(e);let t=this.bus.on(v.execute,async e=>{let{toolName:t,input:n,adapterId:r,adapterName:i,contextOverrides:a}=e.payload,o=await this.execute(t,n,{contextOverrides:a,adapterId:r,adapterName:i});e.setResult(o)},{priority:this.handlerPriority});this.cleanupHandlers.push(t)}async register(e){if(this.toolsets.has(e.metadata.name))throw Error(`Toolset '${e.metadata.name}' is already registered`);let t=[],n=[];for(let[,r]of Object.entries(e.tools)){let i=r.metadata.name;if(this.tools.has(i))throw Error(`Tool '${i}' is already registered (from toolset '${this.tools.get(i).toolsetName}')`);n.push({tool:r,toolsetName:e.metadata.name}),t.push(i)}this.toolsets.set(e.metadata.name,e);for(let e=0;e<n.length;e+=1)this.tools.set(t[e],n[e]);await this.emitRegistryChanged(`toolset-registered`,e.metadata.name).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${v.registryChanged.subject} for '${e.metadata.name}':`,t)),await this.bus.emit(v.registered,{toolsetName:e.metadata.name,toolsetVersion:e.metadata.version,toolNames:t}).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${v.registered.subject} for '${e.metadata.name}':`,t))}async deregister(e){let t=this.toolsets.get(e);if(!t)throw Error(`Toolset '${e}' is not registered`);for(let e of Object.values(t.tools))this.tools.delete(e.metadata.name);this.toolsets.delete(e),await this.emitRegistryChanged(`toolset-unregistered`,e).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${v.registryChanged.subject} for '${e}':`,t))}async emitRegistryChanged(e,t){this.revision+=1,await this.bus.emit(v.registryChanged,{revision:this.revision,reason:e,toolsetName:t})}async execute(e,t,n){let r=this.tools.get(e);if(!r)return A(k.TOOL_NOT_FOUND,`Tool '${e}' not found`);let i=Qe(n);if(!i.success)return i;let{tool:a,toolsetName:o}=r,s=await this.checkPolicy(o,e,i.data.adapterId,i.data.adapterName);if(s)return s;let c=tt(),l=Date.now();await this.bus.emit(v.started,{toolName:e,toolsetName:o,executionId:c,timestamp:l});try{let r=a.inputSchema.safeParse(t);if(!r.success){let t=A(k.VALIDATION_FAILED,`Input validation failed`,{issues:r.error.issues});return await this.bus.emit(v.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:t.error}),t}let s=await this.buildExecutionContext(n,i.data),u=await a.execute(r.data,s);return u.success?await this.bus.emit(v.completed,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),durationMs:Date.now()-l}):await this.bus.emit(v.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:u.error}),u}catch(t){let n=Re(t);return await this.bus.emit(v.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:n.error}),n}}async buildExecutionContext(e,t){let n=e?.contextOverrides?.constraints;if(this.fileAccessRuleProvider){let t=e?.contextOverrides?.cwd??process.cwd(),r=$e(n),i=await this.fileAccessRuleProvider(t,r);n={...n,[Le]:i}}let r=Te({...e?.contextOverrides,constraints:n}),i=e?.contextOverrides;return{...r,bus:this.bus,sessionId:i?.sessionId,agentId:i?.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:i?.adapterSessionId,turnId:i?.turnId,turnContext:i?.turnContext,toolCallId:i?.toolCallId}}async checkPolicy(e,t,n,r){if(!this.policyProvider)return null;let i=await this.policyProvider(e);if(!i)return null;if(i.disabledTools?.includes(t))return A(k.PERMISSION_DENIED,`Tool '${t}' is disabled`,{toolsetName:e,toolName:t});if(i.allowedAdapters&&i.allowedAdapters.length>0){let t=r??n;if(!t||!i.allowedAdapters.includes(t))return A(k.PERMISSION_DENIED,`Adapter not allowed for toolset '${e}'`,{toolsetName:e,adapterId:n,adapterName:r,allowedAdapters:i.allowedAdapters})}return null}listTools(e){let t=[];for(let[,n]of this.tools){if(e?.toolsetName&&n.toolsetName!==e.toolsetName)continue;let{$schema:r,...i}=m.toJSONSchema(n.tool.inputSchema);t.push({name:n.tool.metadata.name,description:n.tool.metadata.description,toolsetName:n.toolsetName,annotations:n.tool.metadata.annotations,inputSchema:i})}return t}listToolsets(){let e=[];for(let[,t]of this.toolsets){let n={name:t.metadata.name,description:t.metadata.description,version:t.metadata.version,toolCount:Object.keys(t.tools).length};if(t.configSchema){let{$schema:e,...r}=m.toJSONSchema(t.configSchema);n.configSchema=r}e.push(n)}return e}async listToolsWithToolsets(e){let t=this.listTools(e),n=this.listToolsets(),r=e?.toolsetName?n.filter(t=>t.name===e.toolsetName):n,i=e?.adapterName??e?.adapterId;if(this.policyProvider&&i){let{filteredTools:e,filteredToolsets:n}=await et(t,r,i,this.policyProvider);return{tools:e,toolsets:n}}return{tools:t,toolsets:r}}getTool(e){return this.tools.get(e)?.tool}getToolset(e){return this.toolsets.get(e)}dispose(){for(let e of this.cleanupHandlers)e();this.cleanupHandlers.length=0}destroy(){this.dispose()}},nt=class extends w{stepsByExtension=new Map;revision=0;cache=null;constructor(e){super(e)}onInit(){this.registerHandler(y.list,e=>{e.setResult({steps:this.listSteps()})})}async register(e,t){let n=[],r=this.snapshotExtensionState(e),i=new Set;for(let e of this.stepsByExtension.values())for(let t of e)i.add(t.metadata.name);for(let r of t.steps??[])this.assertExtensionNamespace(e,r.metadata),this.assertNoCollision(r.metadata,i),i.add(r.metadata.name),n.push({metadata:{...r.metadata,extensionName:e},configSchema:S(r.configSchema),inputSchema:S(r.inputSchema),outputSchema:S(r.outputSchema),runs:structuredClone(r.runs)});if(n.length!==0){this.stepsByExtension.set(e,n),this.revision+=1;try{await this.emitChanged(e,`registered`)}catch(t){throw this.restoreExtensionState(e,r),t}}}async deregister(e){let t=this.snapshotExtensionState(e);if(this.stepsByExtension.delete(e)){this.revision+=1;try{await this.emitChanged(e,`deregistered`)}catch(n){throw this.restoreExtensionState(e,t),n}}}listSteps(){return this.getCache().steps.map(rt)}async emitChanged(e,t){await this.bus.emit(y.changed,{extensionName:e,revision:this.revision,reason:t})}getCache(){return(!this.cache||this.cache.revision!==this.revision)&&(this.cache={revision:this.revision,steps:[...this.stepsByExtension.values()].flat()}),this.cache}snapshotExtensionState(e){return{steps:this.stepsByExtension.get(e),revision:this.revision,cache:this.cache}}restoreExtensionState(e,t){t.steps?this.stepsByExtension.set(e,t.steps):this.stepsByExtension.delete(e),this.revision=t.revision,this.cache=t.cache}assertNoCollision(e,t){if(t.has(e.name))throw Error(`Workflow block name collision: '${e.name}' is already registered`)}assertExtensionNamespace(e,t){let n=`${e}.`;if(!t.name.startsWith(n))throw Error(`Workflow block '${t.name}' must be namespaced by extension '${n}'`)}};function rt(e){return{metadata:it(e.metadata),configSchema:structuredClone(e.configSchema),inputSchema:structuredClone(e.inputSchema),outputSchema:structuredClone(e.outputSchema),runs:structuredClone(e.runs)}}function it(e){return e.categories?{...e,categories:[...e.categories]}:{...e}}const K=`workflow.start`;function at(e){return()=>({async execute(t,n){let{input:r={}}=t,{workflowId:i}=r;if(typeof i!=`string`||i.length===0)throw Error(`[TransitionActionRegistry] 'workflow.start' action requires a non-empty 'input.workflowId' string`);await e.request(Ne.start,{workflowId:i,input:ot(r,n),config:r.config,artifactRef:r.artifactRef,scope:r.scope,triggerPayload:{_transitionRuleId:n._transition.ruleId,_transitionDepth:n._transition.depth,_transitionEventType:n._transition.eventType}})}})}function ot(e,t){let n=e.inputExpression;if(typeof n!=`string`)return e.input;let r=He(n,st(t)),i=Ae.safeParse(r);if(!i.success)throw Error(`[TransitionActionRegistry] 'workflow.start' inputExpression for rule '${t._transition.ruleId}' must resolve to a JSON value`);return i.data}function st(e){let t={...e};return{...t,ctx:t}}var ct=class{factories=new Map;factoriesBySource=new Map;constructor(e){this.factories.set(K,at(e)),this.factoriesBySource.set(`__builtin__`,[K])}register(e,t){let n=Object.keys(t);if(n.length!==0){if(this.factoriesBySource.has(e))throw Error(`TransitionActionRegistry: duplicate source '${e}'`);for(let t of n)if(this.factories.has(t))throw Error(`TransitionActionRegistry: duplicate action type '${t}' from source '${e}'`);for(let e of n)this.factories.set(e,t[e]);this.factoriesBySource.set(e,n)}}deregister(e){if(e===`__builtin__`)return;let t=this.factoriesBySource.get(e);if(t){for(let e of t)this.factories.delete(e);this.factoriesBySource.delete(e)}}async dispatch(e,t){let n=this.factories.get(e.type);if(!n)throw Error(`TransitionActionRegistry: unknown action type '${e.type}'. Registered types: ${[...this.factories.keys()].join(`, `)}`);await n().execute(e,t)}has(e){return this.factories.has(e)}listTypes(){return[...this.factories.keys()]}},lt=class{rulesBySource=new Map;rulesByEventType=new Map;ruleIdSet=new Set;register(e,t){if(t.length===0)return;if(this.rulesBySource.has(e))throw Error(`TransitionRuleRegistry: duplicate source '${e}'`);let n=new Set,r=[];for(let i of t){let t=Me.parse(i);if(n.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' within source '${e}'`);if(this.ruleIdSet.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' from source '${e}'`);n.add(t.id),r.push({rule:t,condition:t.when===void 0?void 0:Be.parse(t.when)})}for(let e of r){let{rule:t}=e;this.ruleIdSet.add(t.id);let n=this.rulesByEventType.get(t.on)??[];n.push(e),this.rulesByEventType.set(t.on,n)}this.rulesBySource.set(e,r)}deregister(e){let t=this.rulesBySource.get(e);if(t){for(let{rule:e}of t){this.ruleIdSet.delete(e.id);let t=this.rulesByEventType.get(e.on);if(t){let n=t.filter(t=>t.rule.id!==e.id);n.length>0?this.rulesByEventType.set(e.on,n):this.rulesByEventType.delete(e.on)}}this.rulesBySource.delete(e)}}getRulesForEvent(e){let t=this.rulesByEventType.get(e);return t?t.filter(e=>e.rule.enabled):[]}snapshotSource(e){let t=this.rulesBySource.get(e);if(t)return{ruleIds:t.map(e=>e.rule.id)}}},ut=class extends w{ruleRegistry;actionRegistry;depthMap=new Map;constructor(e){super(e),this.ruleRegistry=new lt,this.actionRegistry=new ct(e)}onInit(){this.registerHandler(g.created,async e=>{await this.handleArtifactEvent(`artifact.created`,{artifact:e.payload.artifact})}),this.registerHandler(g.revised,async e=>{let t=await this.resolvePreviousRevisedArtifact(e.payload.previous);await this.handleArtifactEvent(`artifact.revised`,{artifact:e.payload.artifact,previous:e.payload.previous,...t===void 0?{}:{previousArtifact:t}})}),this.registerHandler(g.status.changed,async e=>{let t=await this.resolveStatusChangedArtifact(e.payload.artifact);t!==void 0&&await this.handleArtifactEvent(`artifact.status.changed`,{artifact:t,path:e.payload.path,previous:e.payload.previous,current:e.payload.current})})}async handleArtifactEvent(e,t){let n=this.artifactKey(t.artifact),r=this.readDepth(n);if(r>=10){console.warn(`[TransitionPipelineService] Transition depth limit (10) reached for event '${e}' on artifact '${n}'. Loop protection active — skipping rule evaluation.`);return}let i=this.ruleRegistry.getRulesForEvent(e);if(i.length!==0)for(let a of i)await this.evaluateAndDispatch(a,e,t,n,r)}async resolveStatusChangedArtifact(e){let t=await this.bus.requestOptional(g.resolve,{ref:e});if(!t.handled){console.warn(`[TransitionPipelineService] No artifact resolver is registered for status transition on artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}if(t.data.artifact===null){console.warn(`[TransitionPipelineService] Could not resolve status transition artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}return t.data.artifact}async resolvePreviousRevisedArtifact(e){let t=await this.bus.requestOptional(g.resolve,{ref:e});if(!(!t.handled||t.data.artifact===null))return t.data.artifact}async evaluateAndDispatch(e,t,n,r,i){let{rule:a,condition:o}=e,s={...n,_transition:{ruleId:a.id,eventType:t,depth:i+1}};if(o!==void 0){let e={...s},t;try{t=Ve(o,e)}catch(e){console.error(`[TransitionPipelineService] Condition evaluation error for rule '${a.id}':`,e);return}if(!t)return}try{await this.actionRegistry.dispatch(a.action,s),a.action.type===`workflow.start`&&this.incrementDepth(r)}catch(e){console.error(`[TransitionPipelineService] Action dispatch error for rule '${a.id}' (action type '${a.action.type}'):`,e)}}artifactKey(e){return`${typeof e.kind==`string`?e.kind:`unknown`}:${typeof e.id==`string`?e.id:`unknown`}`}readDepth(e){let t=this.depthMap.get(e);return t===void 0?0:Date.now()>t.expiresAt?(this.depthMap.delete(e),0):t.count}incrementDepth(e){let t=this.depthMap.get(e);this.depthMap.set(e,{count:t===void 0?1:t.count+1,expiresAt:Date.now()+6e4})}};function dt(e){return async t=>{let n=await ft(e,t);if(!n)return{handled:!1,sessionId:null,clientAccountId:null,changed:!1};let{sessionId:r}=n,{observation:i,accountObserveRequest:a}=pt(t),o=await e.requestOptional(D.account.observe,a);if(!o.handled)return{handled:!1,sessionId:r,clientAccountId:null,changed:!1};let{clientAccountId:s}=o.data;return{handled:!0,sessionId:r,clientAccountId:s,changed:await bt(e,r,i,s)}}}async function ft(e,t){switch(t.locator.kind){case`session`:{let{session:r}=await e.request(n.get,{sessionId:t.locator.sessionId});return r?{sessionId:r.sessionId,session:r}:null}case`adapter-session`:{let{session:r}=await e.request(n.getByAdapterSessionId,{adapterSessionId:t.locator.adapterSessionId});return r?{sessionId:r.sessionId,session:r}:null}case`both`:{let[{session:r},{session:i}]=await Promise.all([e.request(n.get,{sessionId:t.locator.sessionId}),e.request(n.getByAdapterSessionId,{adapterSessionId:t.locator.adapterSessionId})]);if(!r&&!i)return null;if(!r||!i)throw Error(`Session locator mismatch: sessionId "${t.locator.sessionId}" and adapterSessionId "${t.locator.adapterSessionId}" must both resolve the same session`);if(r.sessionId!==i.sessionId)throw Error(`Session locator mismatch: sessionId "${t.locator.sessionId}" and adapterSessionId "${t.locator.adapterSessionId}" resolve to different sessions`);return{sessionId:r.sessionId,session:r}}}}function pt(e){let t={clientId:e.clientId,source:e.source,kind:e.kind,observedAt:e.observedAt,payload:vt(e.payload)};return{observation:t,accountObserveRequest:mt(t)}}function mt(e){let t=e.payload,n=ht(t),r=gt(t);if(r.length>0)return{clientId:e.clientId,observedAt:e.observedAt,displayLabel:_t(t,n),identifiers:r};throw Error(`client.session.account.observe for "${e.clientId}" requires canonical client account identifiers`)}function ht(e){return yt(e.accountInfo)??e}function gt(e){let t=e.identifiers;if(!Array.isArray(t))return[];try{return m.array(Fe).min(1).parse(t)}catch(e){throw Error(`client.session.account.observe received malformed canonical client account identifiers`,{cause:e})}}function _t(e,t){return q(e.displayLabel)??q(t.displayLabel)??q(t.email)??q(t.label)}function vt(e){return structuredClone(e)}function yt(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function q(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function bt(e,t,r,i){let a=await e.request(n.update,{sessionId:t,clientId:r.clientId,clientAccountId:i,lastClientIdentityObservation:r});if(!a.success)throw Error(`Failed to update session "${t}" with client account linkage`);return a.clientAccountChanged??!1}const xt=x(`session-storage`).name;var St=class extends w{constructor(e=C){super(e)}onInit(){let e=dt(this.bus);this.registerHandler(D.session.account.observe,async t=>{t.setResult(await e(Ie.request.parse(t.payload)))})}};const Ct={name:`makaio.session-client-account-linking`,displayName:`Session Client Account Linking`,version:`0.1.0`,dependencies:[b(xt),b(`makaio.clients-core`)],critical:!1,create:e=>new St(e.bus)},wt={name:`framework-shell`,displayName:`Shell`,version:`0.1.0`,surface:`interactive`,windows:[{id:`main`,style:`utility`,width:1e3,height:700,singleton:!0}]};async function Tt(e){let{harnesses:t}=await e.request(p.list,{}),n=new Set(t.map(e=>e.id));for(let t of Oe){if(n.has(t.id))continue;let r={...t};await e.request(p.set,{harness:r})}}function J(e,t,n){return e??t??n}var Et=class extends w{static storage={drizzle:be};constructor(e=C){super(e)}async onInit(){await Tt(this.bus),this.registerHandlers()}registerHandlers(){this.registerHandler(_.get,async e=>{let t=await this.loadHarness(e.payload);if(!t)throw Error(`Harness not found`);e.setResult(t)}),this.registerHandler(_.list,async e=>{let{harnesses:t}=await this.bus.request(p.list,e.payload);e.setResult({harnesses:t})}),this.registerHandler(_.set,async e=>{let t=await this.upsertHarness(e.payload);e.setResult({id:t})}),this.registerHandler(_.delete,async e=>{let{deleted:t}=await this.bus.request(p.delete,{id:e.payload.id});e.setResult({success:t})}),this.registerHandler(_.getDefault,async e=>{let t=await this.getDefaultHarness(e.payload.adapterName,e.payload.clientId);e.setResult(t)}),this.registerHandler(_.resolve,async e=>{let{adapterName:t,clientId:n,personaHarnessId:r,profileHarnessId:i}=e.payload;if(r){let i=await this.resolveAndValidateHarness(r,t,`persona`,n);e.setResult(i);return}if(i){let r=await this.resolveAndValidateHarness(i,t,`profile`,n);e.setResult(r);return}let a=await this.getDefaultHarness(t,n);e.setResult(a)}),this.registerHandler(_.getSchema,({setResult:e})=>{let{$schema:t,...n}=m.toJSONSchema(ke);e({schema:n,uiConfig:{editMode:`fullPage`,hiddenFields:[`isDefault`]}})})}async upsertHarness(e){let t=await this.resolveHarnessId(e.name,e.adapterName,e.clientId),n=await this.loadHarness({id:t,adapterName:e.adapterName,clientId:e.clientId}),r=this.mergeHarnessPayload(t,e,n);return r.adapterName&&await this.validateNativeTools(r.adapterName,r.nativeTools),await this.bus.request(p.set,{harness:r}),t}mergeHarnessPayload(e,t,n){let r={enabled:[],disabled:[]};return{id:e,name:t.name,description:J(t.description,n?.description,void 0),adapterName:t.adapterName,clientId:J(t.clientId,n?.clientId,void 0),env:J(t.env,n?.env,void 0),credentials:J(t.credentials,n?.credentials,void 0),cwd:J(t.cwd,n?.cwd,void 0),approvalPolicy:J(t.approvalPolicy,n?.approvalPolicy,`always-ask`),nativeTools:J(t.nativeTools,n?.nativeTools,r),registryTools:J(t.registryTools,n?.registryTools,r),skills:J(t.skills,n?.skills,void 0),toolCapabilityMap:t.toolCapabilityMap??n?.toolCapabilityMap,capabilityOverrides:t.capabilityOverrides??n?.capabilityOverrides,toolApprovalOverrides:t.toolApprovalOverrides??n?.toolApprovalOverrides,isDefault:J(t.isDefault,n?.isDefault,!1),enabled:J(t.enabled,n?.enabled,!0)}}async resolveHarnessId(e,t,n){let r=n??t,{harnesses:i}=await this.bus.request(p.list,{name:e}),a=i.find(t=>t.name===e&&(t.clientId??t.adapterName)===r);if(a)return a.id;let o=i.find(t=>t.name===e&&(t.clientId??t.adapterName)!==r);if(o){let t=o.clientId?`client '${o.clientId}'`:`adapter '${o.adapterName}'`;throw Error(`Harness "${e}" already exists with scope ${t}; cannot change scope to ${r??`(none)`}`)}return this.createStableHarnessId(e,r)}async loadHarness(e){if(e.id){let{harness:t}=await this.bus.request(p.get,{id:e.id});return t&&(!e.adapterName||t.adapterName===e.adapterName)&&(!e.clientId||t.clientId===e.clientId)?t:null}if(!e.name)return null;let{harnesses:t}=await this.bus.request(p.list,{name:e.name,adapterName:e.adapterName,clientId:e.clientId});return e.clientId?t.find(t=>t.clientId===e.clientId)??null:e.adapterName?t.find(t=>t.adapterName===e.adapterName)??null:t[0]??null}async getDefaultHarness(e,t){if(t){let{harnesses:e}=await this.bus.request(p.list,{clientId:t}),n=e.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=e.find(e=>e.enabled);if(r)return r}if(e){let{harnesses:t}=await this.bus.request(p.list,{adapterName:e}),n=t.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=t.find(e=>e.enabled);if(r)return r}let n=t?e?`client '${t}' or adapter '${e}'`:`client '${t}'`:`adapter '${e}'`;throw Error(`No harness available for ${n}`)}assertHarnessAdapterMatch(e,t,n,r){if(e.adapterName&&t&&e.adapterName!==t)throw Error(`Resolved ${n} harness adapter mismatch: expected "${t}", got "${e.adapterName}"`);if(e.clientId&&r&&e.clientId!==r)throw Error(`Resolved ${n} harness client mismatch: expected "${r}", got "${e.clientId}"`)}assertHarnessEnabled(e,t){if(!e.enabled)throw Error(`Resolved ${t} harness is disabled: ${e.id}`)}async validateNativeTools(e,t){let n=await this.bus.requestOptional(Ee.getCapabilities,{adapterName:e});if(!n.handled)return;let r=new Set(n.data.nativeTools),i=[...t.enabled,...t.disabled].filter(e=>!r.has(e));if(i.length>0)throw Error(`Tool '${i[0]}' not found in adapter '${e}' native tools. Declared tools: ${[...r].join(`, `)}`)}createStableHarnessId(e,t){return`harness-${Ce(`sha256`).update(`${t??``}\0${e}`).digest(`hex`).slice(0,24)}`}async resolveAndValidateHarness(e,t,n,r){let i=await this.loadHarness({id:e});if(!i)throw Error(`${n===`persona`?`Persona`:`Profile`} harness not found: ${e}`);return this.assertHarnessAdapterMatch(i,t,n,r),this.assertHarnessEnabled(i,n),i}};const Dt={name:`makaio.harness`,displayName:`Harness`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T(be)},create:e=>new Et(e.bus)},Y=x(`session-storage`),X=x(`session-bridge`),Z=x(`session`),Ot=x(`session-orchestrator`),kt=x(`observed-session-ingestion`),Q=x(`tool-registry`),At=x(`tool-approval`),jt=x(`tray-menu`),Mt=x(`model-registry`),Nt=x(`workflow-block-registry`),Pt=x(`transition-pipeline`),Ft=x(`filesystem`),It=x(`git`),Lt=x(`artifact-lifecycle-hook-registry`),Rt=x(`facet-namespace-registry`),zt={name:Lt.name,displayName:`Artifact Lifecycle Hook Registry`,version:`0.1.0`,critical:!0,create:e=>new P(e.bus)},Bt={name:Rt.name,displayName:`Facet Namespace Registry`,version:`0.1.0`,critical:!0,create:e=>new I(e.bus)},$={name:Y.name,displayName:`Session Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T((n,i)=>{let s=[],d=e=>{for(let t=s.length-1;t>=0;--t)try{s[t]?.()}catch(t){console.warn(`[sessionStoragePackage] cleanup failed during ${e}:`,t)}s.length=0};try{s.push(ne(n,i)),s.push(e(n,i)),s.push(ee(n,i)),s.push(a(n,i)),s.push(t(n,i)),s.push(o(n,i)),s.push(r(n,i)),s.push(u(n,i)),s.push(l(n,i)),s.push(c(n,i)),s.push(te(n)),s.push(ae(n)),s.push(re(n))}catch(e){throw d(`rollback`),e}return()=>{d(`shutdown`)}})}},Vt={name:X.name,displayName:`Session Bridge`,version:`0.1.0`,dependencies:[b(Y.name)],critical:!0,create:e=>new i(e.bus)},Ht={name:Z.name,displayName:`Session`,version:`0.1.0`,dependencies:[b(X.name)],critical:!0,create:e=>new ie(e.bus,{machineId:e.machineId,topology:`shared-machine`})},Ut={name:Ot.name,displayName:`Session Orchestrator`,version:`0.1.0`,dependencies:[b(Z.name),b(B.name)],critical:!0,runtimeOwnership:{sessionOrchestrator:!0},create:e=>new s(e.bus,e.machineId)},Wt={name:kt.name,displayName:`Observed-Session Ingestion`,version:`0.1.0`,dependencies:[b(X.name)],critical:!1,create:e=>new d(e.bus)},Gt={name:Q.name,displayName:`Tool Registry`,version:`0.1.0`,critical:!0,create:e=>new G({bus:e.bus})},Kt={name:At.name,displayName:`Tool Approval`,version:`0.1.0`,dependencies:[b(Q.name)],critical:!0,create:e=>new ve(e.bus)},qt={name:jt.name,displayName:`Tray Menu`,version:`0.1.0`,critical:!0,create:e=>new ye(e.bus)},Jt={name:Nt.name,displayName:`Workflow Block Registry`,version:`0.1.0`,critical:!0,create:e=>new nt(e.bus)},Yt={name:Pt.name,displayName:`Transition Pipeline`,version:`0.1.0`,critical:!0,create:e=>new ut(e.bus)},Xt={name:Ft.name,displayName:`Filesystem`,version:`0.1.0`,critical:!0,create:e=>new Se(e.bus,e.machineId)},Zt={name:It.name,displayName:`Git`,version:`0.1.0`,dependencies:[b(Ft.name)],critical:!0,create:e=>new Ue(e.bus)};function Qt(e){return{name:Mt.name,displayName:`Model Registry`,version:`0.1.0`,critical:!0,create:t=>new pe({bus:t.bus,fetcher:e})}}const $t=[se,zt,Bt,le,de,ce,ue,$,Vt,Ct,Ht,Ut,Wt,xe,Gt,Kt,qt,fe,Dt,B,wt,Jt,W,ge,he,_e,Yt,Zt,Xt];export{nt as A,P as B,Yt as C,lt as D,ut as E,B as F,z as I,R as L,U as M,W as N,ct as O,V as P,L as R,Gt as S,Jt as T,j as V,Vt as _,Ot as a,$ as b,At as c,jt as d,Nt as f,$t as g,Bt as h,X as i,G as j,K as k,Q as l,Qt as m,Rt as n,Y as o,zt as p,Mt as r,Z as s,Lt as t,Pt as u,Ut as v,qt as w,Kt as x,Ht as y,I as z};
@@ -1 +0,0 @@
1
- import{a as e}from"./json-value-DM-EjTC1.mjs";import{t}from"./zod-json-schema-ZUmGtQhT.mjs";import{z as n}from"zod";const r=n.object({kind:n.string().min(1),description:n.string().min(1),parameterSchema:e}),i=n.discriminatedUnion(`success`,[n.object({success:n.literal(!0)}),n.object({success:n.literal(!1),error:n.object({message:n.string()})})]);function a(e){return e}function o(e){let{kind:n,description:i,parameterSchema:a,handler:o}=e,s=r.parse({kind:n,description:i,parameterSchema:t(a,`input`)});return{kind:n,description:i,parameterSchema:a,handler:o,toDescriptor:()=>structuredClone(s)}}export{i,a as n,r,o as t};
@@ -691,8 +691,8 @@ declare const RelationTypeRegistrationSchema: z.ZodObject<{
691
691
  targetKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
692
692
  targetRefClasses: z.ZodOptional<z.ZodArray<z.ZodEnum<{
693
693
  local: "local";
694
- artifact: "artifact";
695
694
  evidence: "evidence";
695
+ artifact: "artifact";
696
696
  entity: "entity";
697
697
  }>>>;
698
698
  }, z.core.$strip>;