@makaio/framework 1.0.0-dev-1790783144258 → 1.0.0-dev-1791396836202

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 (94) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/adapters/claude/index.d.mts +20 -20
  3. package/dist/artifact-BbNQHNDL.mjs +1 -0
  4. package/dist/bus/index.mjs +1 -1
  5. package/dist/bus-CtT6XeB_.mjs +9 -0
  6. package/dist/contracts/adapter/index.d.mts +1 -1
  7. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  8. package/dist/contracts/artifact/index.d.mts +3 -3
  9. package/dist/contracts/artifact/index.mjs +1 -1
  10. package/dist/contracts/automation-trigger/index.d.mts +1 -1
  11. package/dist/contracts/capabilities/index.d.mts +1 -1
  12. package/dist/contracts/client/index.d.mts +2 -2
  13. package/dist/contracts/extension/index.d.mts +4 -4
  14. package/dist/contracts/harness/index.d.mts +1 -1
  15. package/dist/contracts/index.d.mts +58 -58
  16. package/dist/contracts/index.mjs +1 -1
  17. package/dist/contracts/materialization/index.d.mts +2 -2
  18. package/dist/contracts/materialization/index.mjs +1 -1
  19. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  20. package/dist/contracts/reaction/index.d.mts +1 -1
  21. package/dist/contracts/worker/index.d.mts +1 -1
  22. package/dist/contracts/worker/index.mjs +1 -1
  23. package/dist/contracts/workflow/index.d.mts +2 -2
  24. package/dist/contracts/workflow/index.mjs +1 -1
  25. package/dist/{contribution-CsDOPiDo.d.mts → contribution-CCVRsaNB.d.mts} +1 -1
  26. package/dist/{extension-context-BY9o1ITm.d.mts → extension-context-BWrjVPXR.d.mts} +3 -3
  27. package/dist/{framework-packages-blqho6Nk.mjs → framework-packages-CdpSqDeo.mjs} +1 -1
  28. package/dist/{hook-responses-Xxq6QAL2.d.mts → hook-responses-v6EA_7WC.d.mts} +1 -1
  29. package/dist/{index-D9Ome4qp.d.mts → index-BXaNt9GP.d.mts} +1 -1
  30. package/dist/{index-DWWP2cUb.d.mts → index-Bt6KIvVk.d.mts} +1 -1
  31. package/dist/{index-PymaxRkQ2.d.mts → index-CFet5T7v2.d.mts} +6 -6
  32. package/dist/{index-VG-C-ZHN.d.mts → index-CgcMrxhm.d.mts} +16 -16
  33. package/dist/{index-Dnc0PaTv2.d.mts → index-ChwEMUbc2.d.mts} +12 -12
  34. package/dist/{index-OA1A-NWE.d.mts → index-CjM6Fi-N.d.mts} +1 -1
  35. package/dist/{index-DMFFSC7x.d.mts → index-Cxx1aoPR.d.mts} +1 -1
  36. package/dist/{index-D_Zdnh0U.d.mts → index-D5eIy_qx.d.mts} +7 -7
  37. package/dist/{index-CDezXPm9.d.mts → index-DBkmFhrn.d.mts} +411 -289
  38. package/dist/{index-C9X6ei7S.d.mts → index-DneUbrTU.d.mts} +4 -4
  39. package/dist/{index-CnVhfLrY.d.mts → index-DnsMV2xK.d.mts} +57 -57
  40. package/dist/{index-Fmdwbgei.d.mts → index-HsD17NLG.d.mts} +1 -1
  41. package/dist/{index-BrnOW7-5.d.mts → index-Rd9Teoza.d.mts} +1 -1
  42. package/dist/{index-Fo4ALycy.d.mts → index-y6zuCdvH.d.mts} +26 -26
  43. package/dist/kernel/extension/index.d.mts +2 -2
  44. package/dist/kernel/index.d.mts +2 -2
  45. package/dist/kernel/observability/index.d.mts +1 -1
  46. package/dist/{materialization-BzSgnv2R.mjs → materialization-C1qlFBV2.mjs} +1 -1
  47. package/dist/{namespace-BH9U2C1O.d.mts → namespace-ChJ-C9m_.d.mts} +2 -2
  48. package/dist/package.json +1 -1
  49. package/dist/packages-BOM7wECe.mjs +1 -0
  50. package/dist/{packages-Fy4a6vQy.d.mts → packages-g6BtlUF9.d.mts} +9 -6
  51. package/dist/{schemas-JPaSXxNr.d.mts → schemas-BBMHnFq8.d.mts} +4 -4
  52. package/dist/{schemas-CEc_v3dl.d.mts → schemas-DKaUrczB.d.mts} +2 -2
  53. package/dist/{schemas-DyTbvDp-.d.mts → schemas-DnrIc9g7.d.mts} +50 -11
  54. package/dist/{schemas-BYEgjPst2.d.mts → schemas-DrrpHMbF2.d.mts} +7 -7
  55. package/dist/{schemas-CiJpGURT.d.mts → schemas-Y3EJu698.d.mts} +2 -2
  56. package/dist/{schemas-BvDsO8Is.mjs → schemas-uNzmiLso.mjs} +1 -1
  57. package/dist/services/context-rules/index.d.mts +3 -3
  58. package/dist/services/execution-target/index.d.mts +2 -2
  59. package/dist/services/execution-target/namespace.d.mts +1 -1
  60. package/dist/services/execution-target/schemas.d.mts +1 -1
  61. package/dist/services/filesystem/namespace.d.mts +6 -6
  62. package/dist/services/filesystem/schemas.d.mts +3 -3
  63. package/dist/services/git/namespace.d.mts +2 -2
  64. package/dist/services/git/schemas.d.mts +2 -2
  65. package/dist/services/index.d.mts +18 -18
  66. package/dist/services/index.mjs +1 -1
  67. package/dist/services/materialization/index.d.mts +1 -1
  68. package/dist/services/materialization/index.mjs +1 -1
  69. package/dist/services/preferences/index.d.mts +2 -2
  70. package/dist/services/preferences/schemas.d.mts +1 -1
  71. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  72. package/dist/services/session/handlers/index.d.mts +1 -1
  73. package/dist/services/session/index.d.mts +2 -2
  74. package/dist/services/settings/namespace.d.mts +2 -2
  75. package/dist/services/subagent-template/index.d.mts +1 -1
  76. package/dist/services/subagent-template/schemas.d.mts +1 -1
  77. package/dist/services/tools/index.mjs +1 -1
  78. package/dist/services/workflow-transitions/index.mjs +1 -1
  79. package/dist/{session-lineage-DZr5w2-z.d.mts → session-lineage-Bjh0Ccu7.d.mts} +1 -1
  80. package/dist/{storage-namespace-Cl8qtHDu.d.mts → storage-namespace-DoxNJ9Cg.d.mts} +10 -10
  81. package/dist/{tools-Cbuj-ClQ.mjs → tools-EK2HiPee.mjs} +1 -1
  82. package/dist/{transition-CzxHvafT.d.mts → transition-yohyGRmc.d.mts} +1 -1
  83. package/dist/ui-kernel/index.d.mts +4 -4
  84. package/dist/ui-kernel/pages/namespace.d.mts +4 -4
  85. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  86. package/dist/{view-builder-BLdSezFD.d.mts → view-builder-BjVjGZAI.d.mts} +2 -2
  87. package/dist/{worker-toBnRJ0A.mjs → worker-DulBFC0P.mjs} +1 -1
  88. package/dist/{workflow-BDDB6EJi.mjs → workflow-Dvv_8Xu6.mjs} +1 -1
  89. package/dist/workflow-engine/index.d.mts +31 -31
  90. package/dist/{workflow-transitions-CvT6P03B.mjs → workflow-transitions-ztq90FUj.mjs} +1 -1
  91. package/package.json +1 -1
  92. package/dist/artifact-XE82Q2bH.mjs +0 -1
  93. package/dist/bus-B-ksy7YX.mjs +0 -9
  94. package/dist/packages-CZ2x-Ver.mjs +0 -1
@@ -1,4 +1,4 @@
1
- import { x as ArtifactRevision$1 } from "./schemas-DyTbvDp-.mjs";
1
+ import { x as ArtifactRevision$1 } from "./schemas-DnrIc9g7.mjs";
2
2
  import { a as JsonObjectContractSchema, l as JsonValue$1 } from "./json-value-B2gMynW3.mjs";
3
3
  import { n as AutomationTriggerBinding$1, o as AutomationTriggerParams, u as DefinedAutomationTrigger } from "./definition-i4PufQpo.mjs";
4
4
  import { z } from "zod";
@@ -890,8 +890,8 @@ declare const WorkflowFrameStateSchema$1: z.ZodObject<{
890
890
  cancelled: "cancelled";
891
891
  failed: "failed";
892
892
  running: "running";
893
- skipped: "skipped";
894
893
  waiting: "waiting";
894
+ skipped: "skipped";
895
895
  }>;
896
896
  attempt: z.ZodDefault<z.ZodNumber>;
897
897
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -906,8 +906,8 @@ type WorkflowFrameState$1 = z.infer<typeof WorkflowFrameStateSchema$1>;
906
906
  declare const WorkflowGateStatusSchema: z.ZodEnum<{
907
907
  cancelled: "cancelled";
908
908
  rejected: "rejected";
909
- resumed: "resumed";
910
909
  waiting: "waiting";
910
+ resumed: "resumed";
911
911
  "timed-out": "timed-out";
912
912
  }>;
913
913
  type WorkflowGateStatus = z.infer<typeof WorkflowGateStatusSchema>;
@@ -928,8 +928,8 @@ declare const WorkflowGateInstanceSchema$1: z.ZodObject<{
928
928
  status: z.ZodEnum<{
929
929
  cancelled: "cancelled";
930
930
  rejected: "rejected";
931
- resumed: "resumed";
932
931
  waiting: "waiting";
932
+ resumed: "resumed";
933
933
  "timed-out": "timed-out";
934
934
  }>;
935
935
  autoAction: z.ZodEnum<{
@@ -1279,8 +1279,8 @@ declare const GateInstanceListQuerySchema$1: z.ZodObject<{
1279
1279
  status: z.ZodOptional<z.ZodEnum<{
1280
1280
  cancelled: "cancelled";
1281
1281
  rejected: "rejected";
1282
- resumed: "resumed";
1283
1282
  waiting: "waiting";
1283
+ resumed: "resumed";
1284
1284
  "timed-out": "timed-out";
1285
1285
  }>>;
1286
1286
  limit: z.ZodDefault<z.ZodNumber>;
@@ -4032,8 +4032,8 @@ declare const WorkflowSchemas: {
4032
4032
  status: z.ZodOptional<z.ZodEnum<{
4033
4033
  cancelled: "cancelled";
4034
4034
  rejected: "rejected";
4035
- resumed: "resumed";
4036
4035
  waiting: "waiting";
4036
+ resumed: "resumed";
4037
4037
  "timed-out": "timed-out";
4038
4038
  }>>;
4039
4039
  limit: z.ZodDefault<z.ZodNumber>;
@@ -4049,8 +4049,8 @@ declare const WorkflowSchemas: {
4049
4049
  status: z.ZodEnum<{
4050
4050
  cancelled: "cancelled";
4051
4051
  rejected: "rejected";
4052
- resumed: "resumed";
4053
4052
  waiting: "waiting";
4053
+ resumed: "resumed";
4054
4054
  "timed-out": "timed-out";
4055
4055
  }>;
4056
4056
  autoAction: z.ZodEnum<{
@@ -4147,8 +4147,8 @@ declare const WorkflowSchemas: {
4147
4147
  cancelled: "cancelled";
4148
4148
  failed: "failed";
4149
4149
  running: "running";
4150
- skipped: "skipped";
4151
4150
  waiting: "waiting";
4151
+ skipped: "skipped";
4152
4152
  }>;
4153
4153
  attempt: z.ZodDefault<z.ZodNumber>;
4154
4154
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -4708,8 +4708,8 @@ declare const WorkflowSchemas: {
4708
4708
  "exit-and-resume": "exit-and-resume";
4709
4709
  }>>;
4710
4710
  terminalAuthority: z.ZodOptional<z.ZodEnum<{
4711
- authority: "authority";
4712
4711
  worker: "worker";
4712
+ authority: "authority";
4713
4713
  }>>;
4714
4714
  materializationSpec: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
4715
4715
  kind: z.ZodLiteral<"local-directory">;
@@ -5129,8 +5129,8 @@ declare const WorkflowSchemas: {
5129
5129
  cancelled: "cancelled";
5130
5130
  failed: "failed";
5131
5131
  running: "running";
5132
- skipped: "skipped";
5133
5132
  waiting: "waiting";
5133
+ skipped: "skipped";
5134
5134
  }>;
5135
5135
  attempt: z.ZodNumber;
5136
5136
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -7014,8 +7014,8 @@ declare const WorkflowNamespace$1: _$_makaio_core0.BusNamespaceDefinition<"workf
7014
7014
  status: z.ZodOptional<z.ZodEnum<{
7015
7015
  cancelled: "cancelled";
7016
7016
  rejected: "rejected";
7017
- resumed: "resumed";
7018
7017
  waiting: "waiting";
7018
+ resumed: "resumed";
7019
7019
  "timed-out": "timed-out";
7020
7020
  }>>;
7021
7021
  limit: z.ZodDefault<z.ZodNumber>;
@@ -7031,8 +7031,8 @@ declare const WorkflowNamespace$1: _$_makaio_core0.BusNamespaceDefinition<"workf
7031
7031
  status: z.ZodEnum<{
7032
7032
  cancelled: "cancelled";
7033
7033
  rejected: "rejected";
7034
- resumed: "resumed";
7035
7034
  waiting: "waiting";
7035
+ resumed: "resumed";
7036
7036
  "timed-out": "timed-out";
7037
7037
  }>;
7038
7038
  autoAction: z.ZodEnum<{
@@ -7129,8 +7129,8 @@ declare const WorkflowNamespace$1: _$_makaio_core0.BusNamespaceDefinition<"workf
7129
7129
  cancelled: "cancelled";
7130
7130
  failed: "failed";
7131
7131
  running: "running";
7132
- skipped: "skipped";
7133
7132
  waiting: "waiting";
7133
+ skipped: "skipped";
7134
7134
  }>;
7135
7135
  attempt: z.ZodDefault<z.ZodNumber>;
7136
7136
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -7690,8 +7690,8 @@ declare const WorkflowNamespace$1: _$_makaio_core0.BusNamespaceDefinition<"workf
7690
7690
  "exit-and-resume": "exit-and-resume";
7691
7691
  }>>;
7692
7692
  terminalAuthority: z.ZodOptional<z.ZodEnum<{
7693
- authority: "authority";
7694
7693
  worker: "worker";
7694
+ authority: "authority";
7695
7695
  }>>;
7696
7696
  materializationSpec: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
7697
7697
  kind: z.ZodLiteral<"local-directory">;
@@ -8111,8 +8111,8 @@ declare const WorkflowNamespace$1: _$_makaio_core0.BusNamespaceDefinition<"workf
8111
8111
  cancelled: "cancelled";
8112
8112
  failed: "failed";
8113
8113
  running: "running";
8114
- skipped: "skipped";
8115
8114
  waiting: "waiting";
8115
+ skipped: "skipped";
8116
8116
  }>;
8117
8117
  attempt: z.ZodNumber;
8118
8118
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -9996,8 +9996,8 @@ declare const WorkflowSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fl
9996
9996
  status: z.ZodOptional<z.ZodEnum<{
9997
9997
  cancelled: "cancelled";
9998
9998
  rejected: "rejected";
9999
- resumed: "resumed";
10000
9999
  waiting: "waiting";
10000
+ resumed: "resumed";
10001
10001
  "timed-out": "timed-out";
10002
10002
  }>>;
10003
10003
  limit: z.ZodDefault<z.ZodNumber>;
@@ -10013,8 +10013,8 @@ declare const WorkflowSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fl
10013
10013
  status: z.ZodEnum<{
10014
10014
  cancelled: "cancelled";
10015
10015
  rejected: "rejected";
10016
- resumed: "resumed";
10017
10016
  waiting: "waiting";
10017
+ resumed: "resumed";
10018
10018
  "timed-out": "timed-out";
10019
10019
  }>;
10020
10020
  autoAction: z.ZodEnum<{
@@ -10111,8 +10111,8 @@ declare const WorkflowSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fl
10111
10111
  cancelled: "cancelled";
10112
10112
  failed: "failed";
10113
10113
  running: "running";
10114
- skipped: "skipped";
10115
10114
  waiting: "waiting";
10115
+ skipped: "skipped";
10116
10116
  }>;
10117
10117
  attempt: z.ZodDefault<z.ZodNumber>;
10118
10118
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -10672,8 +10672,8 @@ declare const WorkflowSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fl
10672
10672
  "exit-and-resume": "exit-and-resume";
10673
10673
  }>>;
10674
10674
  terminalAuthority: z.ZodOptional<z.ZodEnum<{
10675
- authority: "authority";
10676
10675
  worker: "worker";
10676
+ authority: "authority";
10677
10677
  }>>;
10678
10678
  materializationSpec: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
10679
10679
  kind: z.ZodLiteral<"local-directory">;
@@ -11093,8 +11093,8 @@ declare const WorkflowSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fl
11093
11093
  cancelled: "cancelled";
11094
11094
  failed: "failed";
11095
11095
  running: "running";
11096
- skipped: "skipped";
11097
11096
  waiting: "waiting";
11097
+ skipped: "skipped";
11098
11098
  }>;
11099
11099
  attempt: z.ZodNumber;
11100
11100
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -11459,8 +11459,8 @@ declare const WorkflowRunContextSchema$1: z.ZodObject<{
11459
11459
  "exit-and-resume": "exit-and-resume";
11460
11460
  }>>;
11461
11461
  terminalAuthority: z.ZodOptional<z.ZodEnum<{
11462
- authority: "authority";
11463
11462
  worker: "worker";
11463
+ authority: "authority";
11464
11464
  }>>;
11465
11465
  materializationSpec: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
11466
11466
  kind: z.ZodLiteral<"local-directory">;
@@ -11845,8 +11845,8 @@ declare const ExecutionAttemptControlReportSchema$1: z.ZodObject<{
11845
11845
  }, z.core.$strict>;
11846
11846
  /** Correlation refusals do not invalidate the durable Attempt-wide Cancel. */
11847
11847
  declare const ExecutionAttemptControlRefusalReasonSchema: z.ZodEnum<{
11848
- conflict: "conflict";
11849
11848
  "not-found": "not-found";
11849
+ conflict: "conflict";
11850
11850
  "stale-generation": "stale-generation";
11851
11851
  "cancel-mismatch": "cancel-mismatch";
11852
11852
  "operation-mismatch": "operation-mismatch";
@@ -11859,8 +11859,8 @@ declare const ExecutionAttemptControlReportResponseSchema: z.ZodDiscriminatedUni
11859
11859
  }, z.core.$strict>, z.ZodObject<{
11860
11860
  decision: z.ZodLiteral<"refused">;
11861
11861
  reason: z.ZodEnum<{
11862
- conflict: "conflict";
11863
11862
  "not-found": "not-found";
11863
+ conflict: "conflict";
11864
11864
  "stale-generation": "stale-generation";
11865
11865
  "cancel-mismatch": "cancel-mismatch";
11866
11866
  "operation-mismatch": "operation-mismatch";
@@ -12111,8 +12111,8 @@ declare const WorkflowWorkerConfigSchema$1: z.ZodObject<{
12111
12111
  "exit-and-resume": "exit-and-resume";
12112
12112
  }>>;
12113
12113
  terminalAuthority: z.ZodOptional<z.ZodEnum<{
12114
- authority: "authority";
12115
12114
  worker: "worker";
12115
+ authority: "authority";
12116
12116
  }>>;
12117
12117
  materializationSpec: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
12118
12118
  kind: z.ZodLiteral<"local-directory">;
@@ -12751,8 +12751,8 @@ declare const WorkLogFrameEntrySchema$1: z.ZodObject<{
12751
12751
  cancelled: "cancelled";
12752
12752
  failed: "failed";
12753
12753
  running: "running";
12754
- skipped: "skipped";
12755
12754
  waiting: "waiting";
12755
+ skipped: "skipped";
12756
12756
  }>;
12757
12757
  attempt: z.ZodNumber;
12758
12758
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -12805,8 +12805,8 @@ declare const WorkLogGateEventSchema: z.ZodObject<{
12805
12805
  status: z.ZodEnum<{
12806
12806
  cancelled: "cancelled";
12807
12807
  rejected: "rejected";
12808
- resumed: "resumed";
12809
12808
  waiting: "waiting";
12809
+ resumed: "resumed";
12810
12810
  "timed-out": "timed-out";
12811
12811
  }>;
12812
12812
  prompt: z.ZodOptional<z.ZodString>;
@@ -1,3 +1,3 @@
1
- import { d as TransitionOutcome } from "../../index-VG-C-ZHN.mjs";
2
- import { a as SetEnabledResult, c as ContributionProcessor, d as InstalledExtensionCatalogSource, f as KernelExtensionContext, h as RuntimeEnvironment, i as ExtensionCoordinator, l as ExtensionCoordinatorOptions, m as RuntimeCapability, n as coalesceExtensionOverrides, o as ExtensionConfigResolution, p as KernelMakaioExtension, r as filterEligibleExtensions, s as ExtensionOperatorConfigError, t as resolveInstalledExtensionRecord, u as ExtensionRuntimeSurface } from "../../index-OA1A-NWE.mjs";
1
+ import { d as TransitionOutcome } from "../../index-CgcMrxhm.mjs";
2
+ import { a as SetEnabledResult, c as ContributionProcessor, d as InstalledExtensionCatalogSource, f as KernelExtensionContext, h as RuntimeEnvironment, i as ExtensionCoordinator, l as ExtensionCoordinatorOptions, m as RuntimeCapability, n as coalesceExtensionOverrides, o as ExtensionConfigResolution, p as KernelMakaioExtension, r as filterEligibleExtensions, s as ExtensionOperatorConfigError, t as resolveInstalledExtensionRecord, u as ExtensionRuntimeSurface } from "../../index-CjM6Fi-N.mjs";
3
3
  export { ContributionProcessor, ExtensionConfigResolution, ExtensionCoordinator, ExtensionCoordinatorOptions, ExtensionOperatorConfigError, ExtensionRuntimeSurface, InstalledExtensionCatalogSource, KernelExtensionContext, KernelMakaioExtension, RuntimeCapability, RuntimeEnvironment, SetEnabledResult, TransitionOutcome, coalesceExtensionOverrides, filterEligibleExtensions, resolveInstalledExtensionRecord };
@@ -1,5 +1,5 @@
1
- import { C as ServiceInfoSchema, S as ServiceInfo, _ as ComponentStateSchema, a as InstalledExtensionRecord, c as ExtensionSubjects, d as TransitionOutcome, g as ComponentState, l as SetEnabledReason, m as ComponentInfo, n as InstalledExtensionCatalogEntrySchema, o as InstalledExtensionRecordSchema, r as InstalledExtensionOrigin, s as ExtensionNamespace, t as InstalledExtensionCatalogEntry, v as ExtensionInfo, y as ExtensionInfoSchema } from "../index-VG-C-ZHN.mjs";
2
- import { a as SetEnabledResult, c as ContributionProcessor, d as InstalledExtensionCatalogSource, f as KernelExtensionContext, h as RuntimeEnvironment, i as ExtensionCoordinator, m as RuntimeCapability, n as coalesceExtensionOverrides, o as ExtensionConfigResolution, p as KernelMakaioExtension, r as filterEligibleExtensions, s as ExtensionOperatorConfigError, t as resolveInstalledExtensionRecord, u as ExtensionRuntimeSurface } from "../index-OA1A-NWE.mjs";
1
+ import { C as ServiceInfoSchema, S as ServiceInfo, _ as ComponentStateSchema, a as InstalledExtensionRecord, c as ExtensionSubjects, d as TransitionOutcome, g as ComponentState, l as SetEnabledReason, m as ComponentInfo, n as InstalledExtensionCatalogEntrySchema, o as InstalledExtensionRecordSchema, r as InstalledExtensionOrigin, s as ExtensionNamespace, t as InstalledExtensionCatalogEntry, v as ExtensionInfo, y as ExtensionInfoSchema } from "../index-CgcMrxhm.mjs";
2
+ import { a as SetEnabledResult, c as ContributionProcessor, d as InstalledExtensionCatalogSource, f as KernelExtensionContext, h as RuntimeEnvironment, i as ExtensionCoordinator, m as RuntimeCapability, n as coalesceExtensionOverrides, o as ExtensionConfigResolution, p as KernelMakaioExtension, r as filterEligibleExtensions, s as ExtensionOperatorConfigError, t as resolveInstalledExtensionRecord, u as ExtensionRuntimeSurface } from "../index-CjM6Fi-N.mjs";
3
3
  import { i as WindowStyle, n as WindowRegistration, r as WindowRegistry, t as STYLE_DEFAULTS } from "../window-registry-DqVHgb6Y.mjs";
4
4
  import { n as KernelSubjects, r as KernelSchemas, t as KernelNamespace } from "../index-DJZZS_H0.mjs";
5
5
  import { a as MachineIdentity, c as StorageProvider, i as IdentityProvider, n as NoTransportProvider, o as TransportProvider, r as MemoryStorageProvider, s as StorageCleanup, t as EphemeralIdentityProvider } from "../index-Cc5kDe9y.mjs";
@@ -1,2 +1,2 @@
1
- import { C as ServiceInfoSchema, S as ServiceInfo, _ as ComponentStateSchema, a as InstalledExtensionRecord, b as ExtensionWarningEntry, c as ExtensionSubjects, d as TransitionOutcome, f as TransitionOutcomeSchema, g as ComponentState, h as ComponentInfoSchema, i as InstalledExtensionOriginSchema, l as SetEnabledReason, m as ComponentInfo, n as InstalledExtensionCatalogEntrySchema, o as InstalledExtensionRecordSchema, p as ComponentIdentitySchema, r as InstalledExtensionOrigin, s as ExtensionNamespace, t as InstalledExtensionCatalogEntry, u as SetEnabledReasonSchema, v as ExtensionInfo, x as ExtensionWarningEntrySchema, y as ExtensionInfoSchema } from "../../index-VG-C-ZHN.mjs";
1
+ import { C as ServiceInfoSchema, S as ServiceInfo, _ as ComponentStateSchema, a as InstalledExtensionRecord, b as ExtensionWarningEntry, c as ExtensionSubjects, d as TransitionOutcome, f as TransitionOutcomeSchema, g as ComponentState, h as ComponentInfoSchema, i as InstalledExtensionOriginSchema, l as SetEnabledReason, m as ComponentInfo, n as InstalledExtensionCatalogEntrySchema, o as InstalledExtensionRecordSchema, p as ComponentIdentitySchema, r as InstalledExtensionOrigin, s as ExtensionNamespace, t as InstalledExtensionCatalogEntry, u as SetEnabledReasonSchema, v as ExtensionInfo, x as ExtensionWarningEntrySchema, y as ExtensionInfoSchema } from "../../index-CgcMrxhm.mjs";
2
2
  export { ComponentIdentitySchema, ComponentInfo, ComponentInfoSchema, ComponentState, ComponentStateSchema, ExtensionInfo, ExtensionInfoSchema, ExtensionNamespace, ExtensionSubjects, ExtensionWarningEntry, ExtensionWarningEntrySchema, InstalledExtensionCatalogEntry, InstalledExtensionCatalogEntrySchema, InstalledExtensionOrigin, InstalledExtensionOriginSchema, InstalledExtensionRecord, InstalledExtensionRecordSchema, ServiceInfo, ServiceInfoSchema, SetEnabledReason, SetEnabledReasonSchema, TransitionOutcome, TransitionOutcomeSchema };
@@ -1,4 +1,4 @@
1
- import{n as e,o as t}from"./json-value-DM-EjTC1.mjs";import{c as n,w as r}from"./schemas-BvDsO8Is.mjs";import{z as i}from"zod";import{createBusNamespace as a}from"@makaio/framework/core";const o=i.enum([`link`,`summary`,`full`]),s=i.object({artifactId:i.string().min(1).optional(),url:i.string().min(1).optional(),label:i.string().min(1),sourceLocalId:n.shape.sourceLocalId}),c=i.object({id:i.string().min(1),kind:i.string().min(1),revision:i.string().min(1),status:i.string().min(1).optional()}),l=i.object({breadcrumbs:i.array(s),related:i.array(s)}),u=i.object({dashboard:i.string().min(1).optional(),materialized:i.string().min(1).optional()}),d=i.object({type:i.literal(`summary`),title:i.string().min(1),text:i.string().min(1)}),f=i.object({type:i.literal(`properties`),title:i.string().min(1),rows:i.array(i.object({label:i.string().min(1),value:i.string()}))}),p=i.object({type:i.literal(`table`),title:i.string().min(1),columns:i.array(i.string().min(1)),rows:i.array(i.object({cells:i.array(i.string()),link:s.optional()}))}),m=i.object({type:i.literal(`relations`),title:i.string().min(1),groups:i.array(i.object({type:i.string().min(1),items:i.array(s)}))}),h=i.object({type:i.literal(`evidence`),title:i.string().min(1),items:i.array(i.object({kind:i.string().min(1),id:i.string().min(1),locator:i.string().min(1).optional()}))}),g=i.object({type:i.literal(`raw`),title:i.string().min(1),json:t}),_=i.object({type:i.literal(`code`),title:i.string().min(1),language:i.string().min(1),content:i.string()}),v=i.object({type:i.literal(`diagram`),title:i.string().min(1),notation:i.literal(`mermaid`),source:i.string().min(1)}),y=i.discriminatedUnion(`type`,[d,f,p,m,h,g,_,v]),b=i.object({title:i.string().min(1),artifact:c,navigation:l,sections:i.array(y),links:u}),x=e,S=i.object({level:o,params:x.optional()}),C=i.object({kind:i.literal(`entry`),via:i.string().min(1).optional(),collection:i.string().min(1).optional()});function w(e){return(t,n)=>{t.via!==void 0==(t.collection!==void 0)&&n.addIssue({code:i.ZodIssueCode.custom,message:`Entry ${e} must have exactly one of via or collection`})}}const T=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`own-view`)}),i.object({kind:i.literal(`inline`),hostRelation:i.string().min(1),as:o.optional()}),C.extend({title:i.string().min(1).optional(),hostRelation:i.string().min(1).optional()}).superRefine(w(`affordance`))]),E=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`own-view`)}),i.object({kind:i.literal(`inline`),hostRelation:i.string().min(1)}),C.superRefine(w(`request`))]);function D(e){return e}const O=i.enum([`title`,`summary`]),k=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`label`),prefix:i.string().min(1).optional()}),i.object({kind:i.literal(`field`),name:i.string().min(1),fieldId:i.string().min(1).optional()}),i.object({kind:i.literal(`issue-type`),name:i.string().min(1),typeId:i.string().min(1).optional()}),i.object({kind:i.literal(`body-fragment`),slot:i.string().min(1)}),i.object({kind:i.literal(`comment`),template:i.string().min(1)})]),A=i.object({id:i.string().min(1),provider:i.string().min(1),namespace:i.string().min(1),target:k,appliesTo:i.array(i.enum([`workpiece`,`artifact`,`surface`])).min(1),valueMapping:i.record(i.string(),i.string()).optional(),description:i.string().min(1).optional(),params:e.optional()}),j=i.enum([`status`,`workflow`,`priority`]),M=i.object({path:i.string().min(1),semantic:j.optional(),fromLevel:o.optional(),viewRole:O.optional()}),N=i.object({mode:i.enum([`none`,`surface`,`comment`]),defaultRole:i.enum([`workpiece`,`artifact`]).optional(),semanticEvents:i.array(i.enum([`created`,`revised`,`status-changed`,`observation-added`])).optional(),projectedFields:i.array(M).optional(),affordances:i.array(T).optional()}).superRefine((e,t)=>{if(!e.projectedFields)return;let n=0,r=0;for(let t of e.projectedFields)t.viewRole===`title`&&n++,t.viewRole===`summary`&&r++;n>1&&t.addIssue({code:i.ZodIssueCode.custom,path:[`projectedFields`],message:`At most one projected field may declare viewRole: title`}),r>1&&t.addIssue({code:i.ZodIssueCode.custom,path:[`projectedFields`],message:`At most one projected field may declare viewRole: summary`})}),P=i.object({artifactId:i.string().min(1),provider:i.string().min(1),externalId:i.string().min(1),externalUrl:i.string().optional(),surfaceRole:i.enum([`workpiece`,`artifact`]),lastSyncedRevision:i.string().optional(),metadata:i.record(i.string(),i.unknown()).optional()}),F=S.extend({ref:r,affordance:E}),I=i.discriminatedUnion(`status`,[i.object({status:i.literal(`ok`),view:b,builderVersion:i.number().int().positive(),sourceRevision:i.string().min(1)}),i.object({status:i.literal(`artifact-not-found`),view:i.null()}),i.object({status:i.literal(`not-rendered`),view:i.null()})]),L={"surfaceBinding.register":{request:A,response:i.object({registered:i.boolean()})},"surfaceBinding.list":{request:i.object({id:i.string().min(1).optional(),provider:i.string().min(1).optional(),namespace:i.string().min(1).optional()}),response:i.object({bindings:i.array(A)})},"surfaceBinding.changed":i.object({id:i.string().min(1),provider:i.string().min(1)}),"ref.changed":i.object({artifactId:i.string().min(1),provider:i.string().min(1),externalId:i.string().min(1),operation:i.enum([`upserted`,`deleted`]),origin:i.enum([`factory`,`external`]).optional()}),"capability.resolved":i.object({provider:i.string().min(1),surface:i.string().min(1),capabilities:i.record(i.string().min(1),i.boolean()),degraded:i.boolean()}),"artifact.view.resolve":{request:F,response:I}},R=a(`materialization`,L),ee=R.subjects;function z(e){return{id:e.id,toRegistration:()=>({id:e.id,provider:e.provider,namespace:e.namespace,target:structuredClone(e.target),appliesTo:[...e.appliesTo],...e.valueMapping===void 0?{}:{valueMapping:{...e.valueMapping}},...e.description===void 0?{}:{description:e.description},...e.params===void 0?{}:{params:structuredClone(e.params)}})}}const B=8;function V(e){let t=0,n=0;for(let r=0;r<e.length;r++)e[r]==="`"?(n++,n>t&&(t=n)):n=0;let r=Math.max(3,t+1);return"`".repeat(r)}function H(e){return e.replace(/`/g,``)}function U(e){return e.replace(/\]/g,`\\]`)}function W(e){let t=``;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n),i=e[n];t+=r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||i===`-`?i:`%${r.toString(16).toUpperCase().padStart(4,`0`)}`}return t}function G(e){return e.replace(/\(/g,`%28`).replace(/\)/g,`%29`)}function K(e){let t=e.sourceLocalId?W(e.sourceLocalId):void 0,n=t?`${e.label} (from part: ${t})`:e.label;return e.url?`[${U(n)}](${G(e.url)})`:t?`${e.label} (from part: ${U(t)})`:n}function q(e){let t=[];if(e.breadcrumbs.length>0&&t.push(`**Breadcrumbs:** ${e.breadcrumbs.map(K).join(` › `)}`),e.related.length>0){t.length>0&&t.push(``),t.push(`**Related:**`);for(let n of e.related)t.push(`- ${K(n)}`)}return t}function J(e){return e.replace(/\|/g,`\\|`).replace(/[\r\n]+/g,` `)}function Y(e){return[`### ${e.title}`,``,e.text]}function X(e){let t=[`### ${e.title}`,``];for(let n of e.rows)n.value.length>0?t.push(`**${n.label}:** ${n.value}`):t.push(`**${n.label}:**`);return t}function Z(e){let t=[`### ${e.title}`,``],n=e.rows.some(e=>e.link!==void 0),r=e.columns.map(J);n&&r.push(``);let i=r.length;t.push(`| ${r.join(` | `)} |`),t.push(`| ${r.map(()=>`---`).join(` | `)} |`);for(let r of e.rows){let e=r.cells.map(J);for(n&&e.push(r.link?J(K(r.link)):``);e.length<i;)e.push(``);t.push(`| ${e.join(` | `)} |`)}return t}function Q(e){let t=[`### ${e.title}`,``];for(let n of e.groups){t.push(`**${n.type}**`,``);for(let e of n.items)t.push(`- ${K(e)}`);t.push(``)}return t}function te(e){let t=[`### ${e.title}`,``];for(let n of e.items){let e=n.locator?` (${n.locator})`:``;t.push(`- **${n.kind}:** ${n.id}${e}`)}return t}function $(e,t,n){let r=V(t);return[`### ${e}`,``,`${r}${H(n)}`,t,r]}function ne(e){return $(e.title,JSON.stringify(e.json,null,2),`json`)}function re(e){return $(e.title,e.content,e.language)}function ie(e){return $(e.title,e.source,e.notation)}function ae(e){switch(e.type){case`summary`:return Y(e);case`properties`:return X(e);case`table`:return Z(e);case`relations`:return Q(e);case`evidence`:return te(e);case`raw`:return ne(e);case`code`:return re(e);case`diagram`:return ie(e)}}function oe(e,t={}){let n=[];t.includeTitle!==!1&&n.push([`## ${e.title}`]);let r=q(e.navigation);r.length>0&&n.push(r);for(let t of e.sections)n.push(ae(t));return n.map(e=>e.join(`
1
+ import{n as e,o as t}from"./json-value-DM-EjTC1.mjs";import{T as n,c as r}from"./schemas-uNzmiLso.mjs";import{z as i}from"zod";import{createBusNamespace as a}from"@makaio/framework/core";const o=i.enum([`link`,`summary`,`full`]),s=i.object({artifactId:i.string().min(1).optional(),url:i.string().min(1).optional(),label:i.string().min(1),sourceLocalId:r.shape.sourceLocalId}),c=i.object({id:i.string().min(1),kind:i.string().min(1),revision:i.string().min(1),status:i.string().min(1).optional()}),l=i.object({breadcrumbs:i.array(s),related:i.array(s)}),u=i.object({dashboard:i.string().min(1).optional(),materialized:i.string().min(1).optional()}),d=i.object({type:i.literal(`summary`),title:i.string().min(1),text:i.string().min(1)}),f=i.object({type:i.literal(`properties`),title:i.string().min(1),rows:i.array(i.object({label:i.string().min(1),value:i.string()}))}),p=i.object({type:i.literal(`table`),title:i.string().min(1),columns:i.array(i.string().min(1)),rows:i.array(i.object({cells:i.array(i.string()),link:s.optional()}))}),m=i.object({type:i.literal(`relations`),title:i.string().min(1),groups:i.array(i.object({type:i.string().min(1),items:i.array(s)}))}),h=i.object({type:i.literal(`evidence`),title:i.string().min(1),items:i.array(i.object({kind:i.string().min(1),id:i.string().min(1),locator:i.string().min(1).optional()}))}),g=i.object({type:i.literal(`raw`),title:i.string().min(1),json:t}),_=i.object({type:i.literal(`code`),title:i.string().min(1),language:i.string().min(1),content:i.string()}),v=i.object({type:i.literal(`diagram`),title:i.string().min(1),notation:i.literal(`mermaid`),source:i.string().min(1)}),y=i.discriminatedUnion(`type`,[d,f,p,m,h,g,_,v]),b=i.object({title:i.string().min(1),artifact:c,navigation:l,sections:i.array(y),links:u}),x=e,S=i.object({level:o,params:x.optional()}),C=i.object({kind:i.literal(`entry`),via:i.string().min(1).optional(),collection:i.string().min(1).optional()});function w(e){return(t,n)=>{t.via!==void 0==(t.collection!==void 0)&&n.addIssue({code:i.ZodIssueCode.custom,message:`Entry ${e} must have exactly one of via or collection`})}}const T=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`own-view`)}),i.object({kind:i.literal(`inline`),hostRelation:i.string().min(1),as:o.optional()}),C.extend({title:i.string().min(1).optional(),hostRelation:i.string().min(1).optional()}).superRefine(w(`affordance`))]),E=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`own-view`)}),i.object({kind:i.literal(`inline`),hostRelation:i.string().min(1)}),C.superRefine(w(`request`))]);function D(e){return e}const O=i.enum([`title`,`summary`]),k=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`label`),prefix:i.string().min(1).optional()}),i.object({kind:i.literal(`field`),name:i.string().min(1),fieldId:i.string().min(1).optional()}),i.object({kind:i.literal(`issue-type`),name:i.string().min(1),typeId:i.string().min(1).optional()}),i.object({kind:i.literal(`body-fragment`),slot:i.string().min(1)}),i.object({kind:i.literal(`comment`),template:i.string().min(1)})]),A=i.object({id:i.string().min(1),provider:i.string().min(1),namespace:i.string().min(1),target:k,appliesTo:i.array(i.enum([`workpiece`,`artifact`,`surface`])).min(1),valueMapping:i.record(i.string(),i.string()).optional(),description:i.string().min(1).optional(),params:e.optional()}),j=i.enum([`status`,`workflow`,`priority`]),M=i.object({path:i.string().min(1),semantic:j.optional(),fromLevel:o.optional(),viewRole:O.optional()}),N=i.object({mode:i.enum([`none`,`surface`,`comment`]),defaultRole:i.enum([`workpiece`,`artifact`]).optional(),semanticEvents:i.array(i.enum([`created`,`revised`,`status-changed`,`observation-added`])).optional(),projectedFields:i.array(M).optional(),affordances:i.array(T).optional()}).superRefine((e,t)=>{if(!e.projectedFields)return;let n=0,r=0;for(let t of e.projectedFields)t.viewRole===`title`&&n++,t.viewRole===`summary`&&r++;n>1&&t.addIssue({code:i.ZodIssueCode.custom,path:[`projectedFields`],message:`At most one projected field may declare viewRole: title`}),r>1&&t.addIssue({code:i.ZodIssueCode.custom,path:[`projectedFields`],message:`At most one projected field may declare viewRole: summary`})}),P=i.object({artifactId:i.string().min(1),provider:i.string().min(1),externalId:i.string().min(1),externalUrl:i.string().optional(),surfaceRole:i.enum([`workpiece`,`artifact`]),lastSyncedRevision:i.string().optional(),metadata:i.record(i.string(),i.unknown()).optional()}),F=S.extend({ref:n,affordance:E}),I=i.discriminatedUnion(`status`,[i.object({status:i.literal(`ok`),view:b,builderVersion:i.number().int().positive(),sourceRevision:i.string().min(1)}),i.object({status:i.literal(`artifact-not-found`),view:i.null()}),i.object({status:i.literal(`not-rendered`),view:i.null()})]),L={"surfaceBinding.register":{request:A,response:i.object({registered:i.boolean()})},"surfaceBinding.list":{request:i.object({id:i.string().min(1).optional(),provider:i.string().min(1).optional(),namespace:i.string().min(1).optional()}),response:i.object({bindings:i.array(A)})},"surfaceBinding.changed":i.object({id:i.string().min(1),provider:i.string().min(1)}),"ref.changed":i.object({artifactId:i.string().min(1),provider:i.string().min(1),externalId:i.string().min(1),operation:i.enum([`upserted`,`deleted`]),origin:i.enum([`factory`,`external`]).optional()}),"capability.resolved":i.object({provider:i.string().min(1),surface:i.string().min(1),capabilities:i.record(i.string().min(1),i.boolean()),degraded:i.boolean()}),"artifact.view.resolve":{request:F,response:I}},R=a(`materialization`,L),ee=R.subjects;function z(e){return{id:e.id,toRegistration:()=>({id:e.id,provider:e.provider,namespace:e.namespace,target:structuredClone(e.target),appliesTo:[...e.appliesTo],...e.valueMapping===void 0?{}:{valueMapping:{...e.valueMapping}},...e.description===void 0?{}:{description:e.description},...e.params===void 0?{}:{params:structuredClone(e.params)}})}}const B=8;function V(e){let t=0,n=0;for(let r=0;r<e.length;r++)e[r]==="`"?(n++,n>t&&(t=n)):n=0;let r=Math.max(3,t+1);return"`".repeat(r)}function H(e){return e.replace(/`/g,``)}function U(e){return e.replace(/\]/g,`\\]`)}function W(e){let t=``;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n),i=e[n];t+=r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||i===`-`?i:`%${r.toString(16).toUpperCase().padStart(4,`0`)}`}return t}function G(e){return e.replace(/\(/g,`%28`).replace(/\)/g,`%29`)}function K(e){let t=e.sourceLocalId?W(e.sourceLocalId):void 0,n=t?`${e.label} (from part: ${t})`:e.label;return e.url?`[${U(n)}](${G(e.url)})`:t?`${e.label} (from part: ${U(t)})`:n}function q(e){let t=[];if(e.breadcrumbs.length>0&&t.push(`**Breadcrumbs:** ${e.breadcrumbs.map(K).join(` › `)}`),e.related.length>0){t.length>0&&t.push(``),t.push(`**Related:**`);for(let n of e.related)t.push(`- ${K(n)}`)}return t}function J(e){return e.replace(/\|/g,`\\|`).replace(/[\r\n]+/g,` `)}function Y(e){return[`### ${e.title}`,``,e.text]}function X(e){let t=[`### ${e.title}`,``];for(let n of e.rows)n.value.length>0?t.push(`**${n.label}:** ${n.value}`):t.push(`**${n.label}:**`);return t}function Z(e){let t=[`### ${e.title}`,``],n=e.rows.some(e=>e.link!==void 0),r=e.columns.map(J);n&&r.push(``);let i=r.length;t.push(`| ${r.join(` | `)} |`),t.push(`| ${r.map(()=>`---`).join(` | `)} |`);for(let r of e.rows){let e=r.cells.map(J);for(n&&e.push(r.link?J(K(r.link)):``);e.length<i;)e.push(``);t.push(`| ${e.join(` | `)} |`)}return t}function Q(e){let t=[`### ${e.title}`,``];for(let n of e.groups){t.push(`**${n.type}**`,``);for(let e of n.items)t.push(`- ${K(e)}`);t.push(``)}return t}function te(e){let t=[`### ${e.title}`,``];for(let n of e.items){let e=n.locator?` (${n.locator})`:``;t.push(`- **${n.kind}:** ${n.id}${e}`)}return t}function $(e,t,n){let r=V(t);return[`### ${e}`,``,`${r}${H(n)}`,t,r]}function ne(e){return $(e.title,JSON.stringify(e.json,null,2),`json`)}function re(e){return $(e.title,e.content,e.language)}function ie(e){return $(e.title,e.source,e.notation)}function ae(e){switch(e.type){case`summary`:return Y(e);case`properties`:return X(e);case`table`:return Z(e);case`relations`:return Q(e);case`evidence`:return te(e);case`raw`:return ne(e);case`code`:return re(e);case`diagram`:return ie(e)}}function oe(e,t={}){let n=[];t.includeTitle!==!1&&n.push([`## ${e.title}`]);let r=q(e.navigation);r.length>0&&n.push(r);for(let t of e.sections)n.push(ae(t));return n.map(e=>e.join(`
2
2
  `)).join(`
3
3
 
4
4
  `)}export{g as A,h as C,b as D,s as E,p as F,y as M,d as N,l as O,u as P,v as S,o as T,E as _,I as a,D as b,ee as c,M as d,j as f,T as g,k as h,F as i,m as j,f as k,P as l,A as m,oe as n,R as o,O as p,z as r,L as s,B as t,N as u,x as v,c as w,_ as x,S as y};
@@ -67,8 +67,8 @@ declare const ExecutionTargetNamespace: _$_makaio_core0.BusNamespaceDefinition<"
67
67
  name: _$zod.ZodString;
68
68
  image: _$zod.ZodOptional<_$zod.ZodString>;
69
69
  enabled: _$zod.ZodBoolean;
70
- scope: _$zod.ZodString;
71
70
  busUrl: _$zod.ZodOptional<_$zod.ZodString>;
71
+ scope: _$zod.ZodString;
72
72
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
73
73
  type: _$zod.ZodLiteral<"container-isolated">;
74
74
  id: _$zod.ZodString;
@@ -338,8 +338,8 @@ declare const ExecutionTargetSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
338
338
  name: _$zod.ZodString;
339
339
  image: _$zod.ZodOptional<_$zod.ZodString>;
340
340
  enabled: _$zod.ZodBoolean;
341
- scope: _$zod.ZodString;
342
341
  busUrl: _$zod.ZodOptional<_$zod.ZodString>;
342
+ scope: _$zod.ZodString;
343
343
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
344
344
  type: _$zod.ZodLiteral<"container-isolated">;
345
345
  id: _$zod.ZodString;
package/dist/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@makaio/framework",
3
- "version": "1.0.0-dev-1790783144258",
3
+ "version": "1.0.0-dev-1791396836202",
4
4
  "type": "module"
5
5
  }
@@ -0,0 +1 @@
1
+ import{canonicalStringify as e}from"@makaio/framework/utils";import{ArtifactKindRegistrationSchema as t,ArtifactSubjects as n,ArtifactViewModelSchema as r,ArtifactViewResolveRequestSchema as i,MaterializationSubjects as a,dep as o,extensionToken as s,mergeRelationTypeRegistrations as c,normalizeRelationTypeRegistration as l}from"@makaio/framework/contracts";import{BaseService as u}from"@makaio/framework/service-base";import{compileArtifactDataSchema as d,readArtifactTitle as f}from"@makaio/framework/contracts/artifact";import{MaterializationSubjects as p}from"@makaio/framework/contracts/materialization";function m(e){try{d(e)}catch(t){throw Error(`Invalid data schema for artifact kind '${e.kind}' version '${e.schemaVersion}': ${t instanceof Error?t.message:String(t)}`,{cause:t})}}const h=[{type:`supersedes`,symmetry:`asymmetric`},{type:`contradicts`,symmetry:`symmetric`},{type:`derives_from`,symmetry:`asymmetric`},{type:`responds_to`,symmetry:`asymmetric`},{type:`contains`,symmetry:`asymmetric`},{type:`refines`,symmetry:`asymmetric`},{type:`scopes`,symmetry:`asymmetric`},{type:`references`,symmetry:`asymmetric`},{type:`evidenced_by`,symmetry:`asymmetric`}],g={extension:0,"factory-repo":1,"target-repo":2},_={source:`extension`,ownerKey:`extension:bus`};function v(e){return`${e.source}:${e.ownerKey}`}function y(e,t){return e.source===t.source&&e.ownerKey===t.ownerKey}function b(e){return structuredClone(e)}function x(e,t){return`${e}@${t}`}var S=class extends u{kinds=new Map;kindContributions=new Map;nextKindContributionOrder=0;relationTypes=new Map;constructor(e){super(e)}async onInit(){for(let e of h)this.relationTypes.set(e.type,l(e));this.registerHandler(n.kind.register,e=>{this.registerKind(e.payload),e.setResult({registered:!0})}),this.registerHandler(n.kind.list,e=>{let{kind:t}=e.payload,n=[...this.kinds.values()].filter(e=>!t||e.kind===t).map(b);e.setResult({kinds:n})}),this.registerHandler(n[`relation-type`].register,e=>{this.storeRelationType(e.payload),e.setResult({registered:!0})}),this.registerHandler(n[`relation-type`].list,e=>{let{type:t}=e.payload,n=[...this.relationTypes.values()].filter(e=>!t||e.type===t).map(b);e.setResult({relationTypes:n})})}compareKindContributions(e,t){let n=g[e.owner.source]-g[t.owner.source];return n===0?e.owner.source===`extension`?t.order-e.order:e.order-t.order:n}findSameTierRepoConflict(e,t,n){return[...e.values()].find(e=>!y(e.owner,t)&&e.owner.source===t.source&&t.source!==`extension`&&e.order<=n)}recomputeKindWinner(e){let t=this.kindContributions.get(e),r=this.kinds.get(e);if(t===void 0||t.size===0){this.kindContributions.delete(e),this.kinds.delete(e),this.emitKindChangedFromKey(e,r);return}let i;for(let e of t.values())(i===void 0||this.compareKindContributions(e,i)<0)&&(i=e);let a=i;this.kinds.set(e,b(a.registration)),JSON.stringify(r)!==JSON.stringify(a.registration)&&this.bus.emit(n.kind.changed,{kind:a.registration.kind,schemaVersion:a.registration.schemaVersion})}emitKindChangedFromKey(e,t){t!==void 0&&this.bus.emit(n.kind.changed,{kind:t.kind,schemaVersion:t.schemaVersion})}registerKind(e,n=_){e=t.parse(e),m(e);let r=x(e.kind,e.schemaVersion),i=this.kindContributions.get(r)??new Map,a=v(n),o=i.get(a),s=n.source===`extension`?this.nextKindContributionOrder:o?.order??this.nextKindContributionOrder,c=this.findSameTierRepoConflict(i,n,s);if(c!==void 0){console.warn(`[ArtifactSchemaRegistry] Artifact kind '${r}' is already registered by '${c.owner.ownerKey}' at the same priority; keeping the existing owner.`);return}i.set(a,{owner:n,registration:b(e),order:n.source===`extension`||o===void 0?this.nextKindContributionOrder++:o.order}),this.kindContributions.set(r,i),this.recomputeKindWinner(r)}deregisterKind(e,t,n=_){let r=x(e,t),i=this.kindContributions.get(r);i!==void 0&&(i.delete(v(n)),this.recomputeKindWinner(r))}replaceKindRegistrationsForOwner(e,n){let r=n.map(e=>t.parse(e));for(let e of r)m(e);let i=new Set,a=v(e),o=new Map;for(let[e,t]of this.kindContributions.entries()){let n=t.get(a);n!==void 0&&(o.set(e,n.order),t.delete(a),i.add(e))}for(let t of r){let n=x(t.kind,t.schemaVersion),r=this.kindContributions.get(n)??new Map,s=e.source===`extension`?void 0:o.get(n),c=s??this.nextKindContributionOrder,l=this.findSameTierRepoConflict(r,e,c);if(l!==void 0){console.warn(`[ArtifactSchemaRegistry] Artifact kind '${n}' is already registered by '${l.owner.ownerKey}' at the same priority; keeping the existing owner.`);continue}r.set(a,{owner:e,registration:b(t),order:s??this.nextKindContributionOrder++}),this.kindContributions.set(n,r),i.add(n)}for(let e of i)this.recomputeKindWinner(e)}storeRelationType(e){let t=this.relationTypes.get(e.type);this.relationTypes.set(e.type,t?c(t,e):l(e))}getKind(e,t){let n=this.kinds.get(x(e,t));return n?b(n):void 0}getRelationType(e){let t=this.relationTypes.get(e);return t?b(t):void 0}onDestroy(){this.kinds.clear(),this.kindContributions.clear(),this.relationTypes.clear(),this.nextKindContributionOrder=0}};const C=s(`artifact-schema-registry`),w={name:C.name,displayName:`Artifact Schema Registry`,version:`0.1.0`,critical:!0,create:e=>new S(e.bus)};function T(e,t){return JSON.stringify([e,t])}function E(e){return Object.freeze({kind:e.kind,schemaVersion:e.schemaVersion,version:e.version,build:e.build})}var D=class extends Error{key;incomingOwner;existingOwner;constructor(e,t,n){let r=t===n?`Duplicate builder key '${e}' within owner '${t}'`:`Builder key '${e}' from owner '${t}' collides with owner '${n}'`;super(r),this.key=e,this.incomingOwner=t,this.existingOwner=n,this.name=`ArtifactViewBuilderCollisionError`}},O=class{owners=new Map;globalIndex=new Map;getBuilder(e,t){return this.globalIndex.get(T(e,t))?.builder}replaceBuildersForOwner(e,t){for(let n of t)if(!Number.isInteger(n.version)||n.version<1)throw Error(`Builder for '${T(n.kind,n.schemaVersion)}' from owner '${e}' has non-positive version ${String(n.version)}`);let n=new Map;for(let r of t){let t=T(r.kind,r.schemaVersion);if(n.has(t))throw new D(t,e,e);n.set(t,E(r))}for(let t of n.keys()){let n=this.globalIndex.get(t);if(n&&n.owner!==e)throw new D(t,e,n.owner)}n.size===0?this.owners.delete(e):this.owners.set(e,[...n.values()]),this.rebuildGlobalIndex()}removeBuildersForOwner(e){this.owners.has(e)&&(this.owners.delete(e),this.rebuildGlobalIndex())}getBuildersForOwner(e){let t=this.owners.get(e);if(t)return[...t]}clear(){this.owners.clear(),this.globalIndex.clear()}destroy(){this.clear()}rebuildGlobalIndex(){let e=new Map;for(let[t,n]of this.owners)for(let r of n){let n=T(r.kind,r.schemaVersion);e.set(n,{owner:t,builder:r})}this.globalIndex=e}};const k=5;function A(e){if(e.target.refClass===`artifact`)return{artifactId:e.target.id,label:`[${e.target.kind}] ${e.target.id}`,...e.sourceLocalId===void 0?{}:{sourceLocalId:e.sourceLocalId}}}function j(e){let t=new Map;for(let n of e){let e=A(n);if(!e)continue;let r=t.get(n.type)??[];r.push(e),t.set(n.type,r)}if(t.size!==0)return{type:`relations`,title:`Relations`,groups:[...t.entries()].map(([e,t])=>({type:e,items:t}))}}function M(e){let t=[],n=new Set;for(let r of e){let e=A(r);if(!e)continue;let i=JSON.stringify([e.artifactId,e.sourceLocalId]);n.has(i)||(n.add(i),t.push(e))}return{breadcrumbs:[],related:t}}function N(e){if(!e.confidence?.basis)return;let t=[];for(let n of e.confidence.basis){let e=n.evidenceRef;e?.refClass===`evidence`&&t.push({kind:e.kind,id:e.id,...e.locator?{locator:e.locator}:{}})}if(t.length!==0)return{type:`evidence`,title:`Evidence`,items:t}}function P(e,t,n){let r=[];if(n===`full`){let t=j(e.relations);t&&r.push(t);let n=N(e);n&&r.push(n)}return{title:f(e.data,t.titlePath),artifact:{id:e.id,kind:e.kind,revision:e.revision},navigation:M(e.relations),sections:r,links:{}}}var F=class extends u{schemaRegistry;builderRegistry;constructor(e,t,n){super(e),this.schemaRegistry=t,this.builderRegistry=n}async onInit(){this.registerHandler(a.artifact.view.resolve,async e=>{let{ref:t,level:n,affordance:r,params:a}=i.parse(e.payload),o=await this.resolve(t,n,r,a);e.setResult(o)})}async resolve(e,t,i,a){let o=await this.bus.requestOptional(n.resolve,{ref:e});if(!o.handled||o.data.artifact===null)return{status:`artifact-not-found`,view:null};let s=o.data.artifact,c=this.schemaRegistry.getKind(s.kind,s.schemaVersion);if(c===void 0)return{status:`not-rendered`,view:null};let l=this.builderRegistry.getBuilder(s.kind,s.schemaVersion);if(l===void 0)return{status:`not-rendered`,view:null};let u=P(s,c,t),d=u.sections,f=u.navigation,p=l.version,m=await l.build({artifact:s,level:t,affordance:i,params:a,genericSections:u.sections,genericNavigation:u.navigation,relations:s.relations});if(m!==void 0){if(`render`in m&&m.render===!1)return{status:`not-rendered`,view:null};`sections`in m&&(d=m.sections??d),`navigation`in m&&(f=m.navigation??f)}let h={title:u.title,artifact:u.artifact,navigation:f,sections:[...d],links:u.links};return{status:`ok`,view:r.parse(h),builderVersion:p,sourceRevision:e.revision}}};function I(e){return structuredClone(e)}var L=class extends u{bindings=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(p.surfaceBinding.register,e=>{this.registerBinding(e.payload),e.setResult({registered:!0})}),this.registerHandler(p.surfaceBinding.list,e=>{let{id:t,provider:n,namespace:r}=e.payload,i=[...this.bindings.values()].filter(e=>(!t||e.id===t)&&(!n||e.provider===n)&&(!r||e.namespace===r)).map(I);e.setResult({bindings:i})})}registerBinding(t){let n=this.bindings.get(t.id);if(n){if(e(n)!==e(t))throw Error(`Surface binding '${t.id}' is already registered with a different definition`);return}this.bindings.set(t.id,I(t)),this.bus.emit(p.surfaceBinding.changed,{id:t.id,provider:t.provider})}deregisterBinding(e){let t=this.bindings.get(e);t&&(this.bindings.delete(e),this.bus.emit(p.surfaceBinding.changed,{id:e,provider:t.provider}))}getBinding(e){let t=this.bindings.get(e);return t?I(t):void 0}onDestroy(){this.bindings.clear()}},R=class{queues=new Map;activeLeases=new Map;pendingAcquisitions=new Set;authorizedRequests=new Map;consumedAuthorizedRequestIds=new Set;acceptingAcquisitions=!0;destroyPromise;destroy(){return this.acceptingAcquisitions=!1,this.destroyPromise??=this.drain(),this.destroyPromise}acquire(e){if(!this.acceptingAcquisitions)return Promise.reject(Error(`Materialization operation coordinator is destroyed`));let t=this.acquireAdmitted(e);return this.pendingAcquisitions.add(t),t.then(()=>this.pendingAcquisitions.delete(t),()=>this.pendingAcquisitions.delete(t)),t}async acquireAdmitted(e){let t=z(e),n=new Set,r=[];for(let e of B(t))r.push(await this.acquireKey(e)),n.add(e);let i={id:crypto.randomUUID(),scope:t},a,o=new Promise(e=>{a=e});return this.activeLeases.set(i.id,{lease:i,heldKeys:n,releases:r,settled:o,settle:a,released:!1}),i}release(e){let t=this.requireActiveLease(e);t.released=!0,this.activeLeases.delete(e.id);for(let e of t.releases.reverse())e();t.settle()}async extend(e,t){let n=this.requireActiveLease(e),r=z(t);if(r.artifactId!==e.scope.artifactId)throw Error(`A materialization operation lease cannot be extended to another artifact`);let i=B(r).filter(e=>!n.heldKeys.has(e)),a=[...n.heldKeys].filter(e=>e.startsWith(`provider:`)).at(-1);if(a&&i.some(e=>H(e,a)<0))throw Error(`Materialization operation lease extension violates lock ordering`);for(let e of i)n.releases.push(await this.acquireKey(e)),n.heldKeys.add(e)}async runExclusive(e,t,n,r){let i=z(e);if(n){if(this.consumedAuthorizedRequestIds.has(n))throw Error(`Materialization operation authorization has already been consumed`);let e=this.authorizedRequests.get(n);if(e){this.authorizedRequests.delete(n),this.consumedAuthorizedRequestIds.add(n);let a=this.activeLeases.get(e.leaseId);if(!r?.local||!a||e.scopeKey!==U(i))throw Error(`Materialization operation authorization does not match this scope`);return t(a.lease)}}let a=await this.acquire(i);try{return await t(a)}finally{this.release(a)}}async runAuthorizedRequest(e,t,n){let r=this.requireActiveLease(e),i=z(t);if(!B(i).every(e=>r.heldKeys.has(e)))throw Error(`Materialization operation authorization requires a lease for the full scope`);let a=crypto.randomUUID();this.authorizedRequests.set(a,{leaseId:e.id,scopeKey:U(i)});try{return await n(a)}finally{this.authorizedRequests.delete(a),this.consumedAuthorizedRequestIds.delete(a)}}requireActiveLease(e){let t=this.activeLeases.get(e.id);if(!t||t.released||t.lease!==e)throw Error(`Materialization operation lease is no longer active`);return t}async acquireKey(e){let t=this.queues.get(e)??Promise.resolve(),n,r=new Promise(e=>{n=e}),i=t.then(()=>r);return this.queues.set(e,i),await t,()=>{n(),this.queues.get(e)===i&&this.queues.delete(e)}}async drain(){for(;this.pendingAcquisitions.size>0||this.activeLeases.size>0;)await Promise.allSettled([...this.pendingAcquisitions,...[...this.activeLeases.values()].map(e=>e.settled)])}};function z(e){if(!e.artifactId)throw Error(`Materialization operation scope requires an artifactId`);let t=[...new Map((e.providerObjects??[]).map(e=>[V(e),e])).values()].sort((e,t)=>H(V(e),V(t)));return t.length>0?{artifactId:e.artifactId,providerObjects:t}:{artifactId:e.artifactId}}function B(e){return[`artifact:${e.artifactId}`,...(e.providerObjects??[]).map(V)]}function V(e){if(!e.provider||!e.externalId)throw Error(`Materialization provider objects require provider and externalId`);return`provider:${JSON.stringify([e.provider,e.externalId])}`}function H(e,t){return e===t?0:e<t?-1:1}function U(e){return JSON.stringify(B(e))}const W=s(`surface-binding-registry`),G=s(`artifact-view-builder-registry`),K=s(`artifact-view-service`),q=s(`materialization-operation-coordinator`),J={name:q.name,displayName:`Materialization Operation Coordinator`,version:`0.1.0`,critical:!0,create:()=>new R},Y={name:W.name,displayName:`Surface Binding Registry`,version:`0.1.0`,critical:!0,create:e=>new L(e.bus)},X={name:G.name,displayName:`Artifact View Builder Registry`,version:`0.1.0`,critical:!0,create:()=>new O},Z={name:K.name,displayName:`Artifact View Service`,version:`0.1.0`,critical:!0,dependencies:[o(C.name),o(G.name)],create:e=>{let t=e.getService(C),n=e.getService(G);if(t===void 0)throw Error(`ArtifactSchemaRegistry is not available for ArtifactViewService`);if(n===void 0)throw Error(`ArtifactViewBuilderRegistry is not available for ArtifactViewService`);return new F(e.bus,t,n)}};export{w as _,X as a,Y as c,F as d,k as f,C as g,O as h,W as i,R as l,D as m,K as n,Z as o,P as p,q as r,J as s,G as t,L as u,S as v};
@@ -1,5 +1,5 @@
1
1
  import * as _$_makaio_contracts0 from "@makaio/framework/contracts";
2
- import { ArtifactKindRegistration, ExtensionServiceLifecycle, MakaioNodeExtension, RelationTypeRegistration } from "@makaio/framework/contracts";
2
+ import { ArtifactKindRegistration, ExtensionServiceLifecycle, MakaioNodeExtension, NormalizedRelationTypeRegistration } from "@makaio/framework/contracts";
3
3
  import { IMakaioBus } from "@makaio/framework/bus";
4
4
  import { BaseService } from "@makaio/framework/service-base";
5
5
  import { ArtifactViewBuilder, SurfaceBindingRegistration } from "@makaio/framework/contracts/materialization";
@@ -63,6 +63,7 @@ declare class ArtifactSchemaRegistry extends BaseService {
63
63
  private readonly kindContributions;
64
64
  /** Monotone counter for contribution insertion order. */
65
65
  private nextKindContributionOrder;
66
+ /** Relation types by name, stored in normal form (shorthand folded into `endpoints`). */
66
67
  private readonly relationTypes;
67
68
  /**
68
69
  * @param bus - Bus instance used for handler registration and event emission.
@@ -153,10 +154,12 @@ declare class ArtifactSchemaRegistry extends BaseService {
153
154
  /**
154
155
  * Store a relation type registration.
155
156
  *
156
- * An identical re-registration (same type and symmetry) is silently accepted.
157
- * A registration that differs only in symmetry is rejected with an error.
157
+ * Contributions for the same type from several modules are merged: their endpoint
158
+ * entries are unioned and the result is kept in normal form. An identical
159
+ * re-registration merges to the same normal form.
160
+ * Conflicts on per-type properties (`symmetry`, differing `implication`) throw.
158
161
  * @param registration - Relation type registration payload received from the bus RPC.
159
- * @throws If a conflicting registration for the same type already exists.
162
+ * @throws RelationTypeConflictError If a conflicting registration for the same type already exists.
160
163
  */
161
164
  private storeRelationType;
162
165
  /**
@@ -169,9 +172,9 @@ declare class ArtifactSchemaRegistry extends BaseService {
169
172
  /**
170
173
  * Look up a relation type registration by type string.
171
174
  * @param type - Relation type string.
172
- * @returns The registration record, or `undefined` if not found.
175
+ * @returns The registration record in normal form, or `undefined` if not found.
173
176
  */
174
- getRelationType(type: string): RelationTypeRegistration | undefined;
177
+ getRelationType(type: string): NormalizedRelationTypeRegistration | undefined;
175
178
  /**
176
179
  * Service teardown hook.
177
180
  *
@@ -10,8 +10,8 @@ import { UiNavigationLevel } from "@makaio/framework/contracts";
10
10
  */
11
11
  declare const SurfaceIdSchema: z.ZodEnum<{
12
12
  tray: "tray";
13
- web: "web";
14
13
  mobile: "mobile";
14
+ web: "web";
15
15
  electron: "electron";
16
16
  electrobun: "electrobun";
17
17
  }>;
@@ -101,8 +101,8 @@ declare const PageMetadataSchema: z.ZodObject<{
101
101
  level: z.ZodCustom<UiNavigationLevel, UiNavigationLevel>;
102
102
  surfaces: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodEnum<{
103
103
  tray: "tray";
104
- web: "web";
105
104
  mobile: "mobile";
105
+ web: "web";
106
106
  electron: "electron";
107
107
  electrobun: "electrobun";
108
108
  }>>]>>;
@@ -127,8 +127,8 @@ declare const PageSchemas: {
127
127
  readonly request: z.ZodObject<{
128
128
  surface: z.ZodOptional<z.ZodEnum<{
129
129
  tray: "tray";
130
- web: "web";
131
130
  mobile: "mobile";
131
+ web: "web";
132
132
  electron: "electron";
133
133
  electrobun: "electrobun";
134
134
  }>>;
@@ -147,8 +147,8 @@ declare const PageSchemas: {
147
147
  level: z.ZodCustom<UiNavigationLevel, UiNavigationLevel>;
148
148
  surfaces: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodEnum<{
149
149
  tray: "tray";
150
- web: "web";
151
150
  mobile: "mobile";
151
+ web: "web";
152
152
  electron: "electron";
153
153
  electrobun: "electrobun";
154
154
  }>>]>>;
@@ -102,8 +102,8 @@ declare const ExecutionTargetInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
102
102
  name: z.ZodString;
103
103
  image: z.ZodOptional<z.ZodString>;
104
104
  enabled: z.ZodBoolean;
105
- scope: z.ZodString;
106
105
  busUrl: z.ZodOptional<z.ZodString>;
106
+ scope: z.ZodString;
107
107
  }, z.core.$strip>, z.ZodObject<{
108
108
  type: z.ZodLiteral<"container-isolated">;
109
109
  id: z.ZodString;
@@ -205,8 +205,8 @@ declare const ExecutionTargetSchemas: {
205
205
  name: z.ZodString;
206
206
  image: z.ZodOptional<z.ZodString>;
207
207
  enabled: z.ZodBoolean;
208
- scope: z.ZodString;
209
208
  busUrl: z.ZodOptional<z.ZodString>;
209
+ scope: z.ZodString;
210
210
  }, z.core.$strip>, z.ZodObject<{
211
211
  type: z.ZodLiteral<"container-isolated">;
212
212
  id: z.ZodString;
@@ -695,27 +695,62 @@ declare const ArtifactRevisionSchema: z.ZodObject<{
695
695
  timestamp: z.ZodNumber;
696
696
  createdAt: z.ZodOptional<z.ZodNumber>;
697
697
  }, z.core.$strip>;
698
+ /** Reference classes a relation target may belong to. */
699
+ declare const RelationTargetRefClassSchema: z.ZodEnum<{
700
+ local: "local";
701
+ evidence: "evidence";
702
+ artifact: "artifact";
703
+ entity: "entity";
704
+ }>;
705
+ /**
706
+ * One permitted endpoint pair of a relation type.
707
+ * An omitted list is open. A present list is an allowlist, so an empty list permits nothing.
708
+ */
709
+ declare const RelationEndpointSchema: z.ZodObject<{
710
+ sourceKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
711
+ targetKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
712
+ targetRefClasses: z.ZodOptional<z.ZodArray<z.ZodEnum<{
713
+ local: "local";
714
+ evidence: "evidence";
715
+ artifact: "artifact";
716
+ entity: "entity";
717
+ }>>>;
718
+ }, z.core.$strip>;
698
719
  /**
699
720
  * Registration record for a named relation type.
700
721
  *
701
- * Relation type registrations declare the semantics and valid endpoints
702
- * for a given relation `type` string.
722
+ * A registration declares the verb (`type`, `symmetry`, `implication`) and the
723
+ * endpoint pairs it may connect. `symmetry` and `implication` describe the verb
724
+ * as a whole, not an individual pair. Pairs are declared either through
725
+ * `endpoints` (a list of permitted pairs) or through the shorthand fields
726
+ * `sourceKinds`, `targetKinds` and `targetRefClasses`, which stand for exactly
727
+ * one endpoint. The two forms are mutually exclusive.
703
728
  */
704
729
  declare const RelationTypeRegistrationSchema: z.ZodObject<{
705
- type: z.ZodString;
706
- symmetry: z.ZodEnum<{
707
- asymmetric: "asymmetric";
708
- symmetric: "symmetric";
709
- }>;
710
- implication: z.ZodOptional<z.ZodString>;
730
+ endpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
731
+ sourceKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
732
+ targetKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
733
+ targetRefClasses: z.ZodOptional<z.ZodArray<z.ZodEnum<{
734
+ local: "local";
735
+ evidence: "evidence";
736
+ artifact: "artifact";
737
+ entity: "entity";
738
+ }>>>;
739
+ }, z.core.$strip>>>;
711
740
  sourceKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
712
741
  targetKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
713
742
  targetRefClasses: z.ZodOptional<z.ZodArray<z.ZodEnum<{
714
743
  local: "local";
715
- artifact: "artifact";
716
744
  evidence: "evidence";
745
+ artifact: "artifact";
717
746
  entity: "entity";
718
747
  }>>>;
748
+ type: z.ZodString;
749
+ symmetry: z.ZodEnum<{
750
+ asymmetric: "asymmetric";
751
+ symmetric: "symmetric";
752
+ }>;
753
+ implication: z.ZodOptional<z.ZodString>;
719
754
  }, z.core.$strip>;
720
755
  /**
721
756
  * Query parameters for retrieving artifact revisions from the store.
@@ -1134,7 +1169,11 @@ type ArtifactRevision$1<TData extends Record<string, unknown> = Record<string, u
1134
1169
  data: TData;
1135
1170
  };
1136
1171
  /** Registration record for a named relation type. */
1137
- type RelationTypeRegistration$1 = z.infer<typeof RelationTypeRegistrationSchema>;
1172
+ type RelationTypeRegistration = z.infer<typeof RelationTypeRegistrationSchema>;
1173
+ /** Reference classes a relation target may belong to. */
1174
+ type RelationTargetRefClass = z.infer<typeof RelationTargetRefClassSchema>;
1175
+ /** One permitted endpoint pair of a relation type. */
1176
+ type RelationEndpoint = z.infer<typeof RelationEndpointSchema>;
1138
1177
  /** Query parameters for retrieving artifact revisions from the store. */
1139
1178
  type ArtifactQueryRequest = z.infer<typeof ArtifactQueryRequestSchema>;
1140
1179
  /** Request to compare two artifact revisions. */
@@ -1142,4 +1181,4 @@ type ArtifactCompareRequest = z.infer<typeof ArtifactCompareRequestSchema>;
1142
1181
  /** Result of comparing two artifact revisions. */
1143
1182
  type ArtifactCompareResponse = z.infer<typeof ArtifactCompareResponseSchema>;
1144
1183
  //#endregion
1145
- export { ArtifactPartAreaSchema as $, ConfidenceMetadata as A, ARTIFACT_CATEGORY_LIFECYCLE_STATES as B, ArtifactScope as C, ConfidenceBasisSchema as D, ConfidenceBasis as E, EvidenceRefSchema as F, ArtifactEvidenceRequirementsSchema as G, ArtifactCategorySchema as H, LocalRef as I, ArtifactKindView as J, ArtifactKindRegistration$1 as K, LocalRefSchema as L, EntityRef as M, EntityRefSchema as N, ConfidenceLevel as O, EvidenceRef as P, ArtifactPartArea as Q, RelationTypeRegistration$1 as R, ArtifactRevisionSchema as S, ArtifactStatusPathSchema as T, ArtifactDataPathSchema as U, ArtifactCategory as V, ArtifactEvidenceRequirements as W, ArtifactLifecycleState as X, ArtifactKindViewSchema as Y, ArtifactLifecycleStateSchema as Z, ArtifactRelationTarget as _, ArtifactCompareResponse as a, ArtifactUniquenessRule as at, ArtifactRepresentationsSchema as b, ArtifactObservationSchema as c, ArtifactRef$1 as ct, ArtifactQueryScope as d, ArtifactRelationRequirement as et, ArtifactQueryScopeSchema as f, ArtifactRelationSchema as g, ArtifactRelationQueryTargetSchema as h, ArtifactCompareRequestSchema as i, ArtifactSchemaVersionSchema as it, ConfidenceMetadataSchema as j, ConfidenceLevelSchema as k, ArtifactQueryRequest as l, ArtifactRefSchema as lt, ArtifactRelationQueryTarget as m, ArtifactActorSchema as n, ArtifactRelationRequirementConditionSchema as nt, ArtifactCompareResponseSchema as o, ArtifactUniquenessRuleSchema as ot, ArtifactRelation as p, ArtifactKindRegistrationSchema$1 as q, ArtifactCompareRequest as r, ArtifactRelationRequirementSchema as rt, ArtifactObservation$1 as s, ArtifactUniquenessSelectorSchema as st, ArtifactActor as t, ArtifactRelationRequirementCondition as tt, ArtifactQueryRequestSchema as u, ArtifactRelationTargetSchema as v, ArtifactScopeSchema as w, ArtifactRevision$1 as x, ArtifactRepresentations as y, RelationTypeRegistrationSchema as z };
1184
+ export { ArtifactLifecycleState as $, ConfidenceMetadata as A, RelationTargetRefClass as B, ArtifactScope as C, ConfidenceBasisSchema as D, ConfidenceBasis as E, EvidenceRefSchema as F, ArtifactCategorySchema as G, RelationTypeRegistrationSchema as H, LocalRef as I, ArtifactEvidenceRequirementsSchema as J, ArtifactDataPathSchema as K, LocalRefSchema as L, EntityRef as M, EntityRefSchema as N, ConfidenceLevel as O, EvidenceRef as P, ArtifactKindViewSchema as Q, RelationEndpoint as R, ArtifactRevisionSchema as S, ArtifactStatusPathSchema as T, ARTIFACT_CATEGORY_LIFECYCLE_STATES as U, RelationTypeRegistration as V, ArtifactCategory as W, ArtifactKindRegistrationSchema$1 as X, ArtifactKindRegistration$1 as Y, ArtifactKindView as Z, ArtifactRelationTarget as _, ArtifactCompareResponse as a, ArtifactRelationRequirementConditionSchema as at, ArtifactRepresentationsSchema as b, ArtifactObservationSchema as c, ArtifactUniquenessRule as ct, ArtifactQueryScope as d, ArtifactRef$1 as dt, ArtifactLifecycleStateSchema as et, ArtifactQueryScopeSchema as f, ArtifactRefSchema as ft, ArtifactRelationSchema as g, ArtifactRelationQueryTargetSchema as h, ArtifactCompareRequestSchema as i, ArtifactRelationRequirementCondition as it, ConfidenceMetadataSchema as j, ConfidenceLevelSchema as k, ArtifactQueryRequest as l, ArtifactUniquenessRuleSchema as lt, ArtifactRelationQueryTarget as m, ArtifactActorSchema as n, ArtifactPartAreaSchema as nt, ArtifactCompareResponseSchema as o, ArtifactRelationRequirementSchema as ot, ArtifactRelation as p, ArtifactEvidenceRequirements as q, ArtifactCompareRequest as r, ArtifactRelationRequirement as rt, ArtifactObservation$1 as s, ArtifactSchemaVersionSchema as st, ArtifactActor as t, ArtifactPartArea as tt, ArtifactQueryRequestSchema as u, ArtifactUniquenessSelectorSchema as ut, ArtifactRelationTargetSchema as v, ArtifactScopeSchema as w, ArtifactRevision$1 as x, ArtifactRepresentations as y, RelationEndpointSchema as z };