@inf-monkeys-tech/monkeys 1.0.0

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 (188) hide show
  1. package/README.md +38 -0
  2. package/lib/contracts/artifact.d.ts +112 -0
  3. package/lib/contracts/artifact.d.ts.map +1 -0
  4. package/lib/contracts/artifact.js +60 -0
  5. package/lib/contracts/artifact.js.map +1 -0
  6. package/lib/contracts/capability.d.ts +347 -0
  7. package/lib/contracts/capability.d.ts.map +1 -0
  8. package/lib/contracts/capability.js +135 -0
  9. package/lib/contracts/capability.js.map +1 -0
  10. package/lib/contracts/common.d.ts +32 -0
  11. package/lib/contracts/common.d.ts.map +1 -0
  12. package/lib/contracts/common.js +46 -0
  13. package/lib/contracts/common.js.map +1 -0
  14. package/lib/contracts/context.d.ts +213 -0
  15. package/lib/contracts/context.d.ts.map +1 -0
  16. package/lib/contracts/context.js +96 -0
  17. package/lib/contracts/context.js.map +1 -0
  18. package/lib/contracts/continuity.d.ts +142 -0
  19. package/lib/contracts/continuity.d.ts.map +1 -0
  20. package/lib/contracts/continuity.js +66 -0
  21. package/lib/contracts/continuity.js.map +1 -0
  22. package/lib/contracts/data.d.ts +135 -0
  23. package/lib/contracts/data.d.ts.map +1 -0
  24. package/lib/contracts/data.js +85 -0
  25. package/lib/contracts/data.js.map +1 -0
  26. package/lib/contracts/dtcg-format.schema.json +1759 -0
  27. package/lib/contracts/index.d.ts +14 -0
  28. package/lib/contracts/index.d.ts.map +1 -0
  29. package/lib/contracts/index.js +30 -0
  30. package/lib/contracts/index.js.map +1 -0
  31. package/lib/contracts/page.d.ts +482 -0
  32. package/lib/contracts/page.d.ts.map +1 -0
  33. package/lib/contracts/page.js +307 -0
  34. package/lib/contracts/page.js.map +1 -0
  35. package/lib/contracts/render.d.ts +1032 -0
  36. package/lib/contracts/render.d.ts.map +1 -0
  37. package/lib/contracts/render.js +386 -0
  38. package/lib/contracts/render.js.map +1 -0
  39. package/lib/contracts/semantic.d.ts +477 -0
  40. package/lib/contracts/semantic.d.ts.map +1 -0
  41. package/lib/contracts/semantic.js +111 -0
  42. package/lib/contracts/semantic.js.map +1 -0
  43. package/lib/contracts/tenant.d.ts +2495 -0
  44. package/lib/contracts/tenant.d.ts.map +1 -0
  45. package/lib/contracts/tenant.js +573 -0
  46. package/lib/contracts/tenant.js.map +1 -0
  47. package/lib/contracts/theme.d.ts +30 -0
  48. package/lib/contracts/theme.d.ts.map +1 -0
  49. package/lib/contracts/theme.js +55 -0
  50. package/lib/contracts/theme.js.map +1 -0
  51. package/lib/contracts/trend.d.ts +577 -0
  52. package/lib/contracts/trend.d.ts.map +1 -0
  53. package/lib/contracts/trend.js +276 -0
  54. package/lib/contracts/trend.js.map +1 -0
  55. package/lib/contracts/workflow-definition.d.ts +661 -0
  56. package/lib/contracts/workflow-definition.d.ts.map +1 -0
  57. package/lib/contracts/workflow-definition.js +337 -0
  58. package/lib/contracts/workflow-definition.js.map +1 -0
  59. package/lib/index.d.ts +7 -0
  60. package/lib/index.d.ts.map +1 -0
  61. package/lib/index.js +34 -0
  62. package/lib/index.js.map +1 -0
  63. package/lib/json-schema/agent-runtime-event.schema.json +104 -0
  64. package/lib/json-schema/application-handoff.schema.json +377 -0
  65. package/lib/json-schema/application-run.schema.json +302 -0
  66. package/lib/json-schema/artifact-manifest.schema.json +375 -0
  67. package/lib/json-schema/body-relation-record.schema.json +177 -0
  68. package/lib/json-schema/brand-body.schema.json +140 -0
  69. package/lib/json-schema/brand-genetics-profile.schema.json +169 -0
  70. package/lib/json-schema/capability-manifest.schema.json +412 -0
  71. package/lib/json-schema/capability-registry.schema.json +474 -0
  72. package/lib/json-schema/change-impact-graph.schema.json +274 -0
  73. package/lib/json-schema/completion-event.schema.json +321 -0
  74. package/lib/json-schema/completion-header.schema.json +276 -0
  75. package/lib/json-schema/concept-definition.schema.json +101 -0
  76. package/lib/json-schema/conductor-workflow-definition.schema.json +404 -0
  77. package/lib/json-schema/data-continuity-envelope.schema.json +269 -0
  78. package/lib/json-schema/domain-command-definition.schema.json +121 -0
  79. package/lib/json-schema/domain-command.schema.json +204 -0
  80. package/lib/json-schema/domain-event.schema.json +161 -0
  81. package/lib/json-schema/execution-link.schema.json +190 -0
  82. package/lib/json-schema/expiring-access-grant.schema.json +127 -0
  83. package/lib/json-schema/hotword-body.schema.json +186 -0
  84. package/lib/json-schema/index.json +56 -0
  85. package/lib/json-schema/lineage-record.schema.json +370 -0
  86. package/lib/json-schema/ontology-definition.schema.json +91 -0
  87. package/lib/json-schema/output-record.schema.json +157 -0
  88. package/lib/json-schema/overlay-node.schema.json +892 -0
  89. package/lib/json-schema/page-definition.schema.json +527 -0
  90. package/lib/json-schema/page-runtime-descriptor.schema.json +720 -0
  91. package/lib/json-schema/page-runtime-projection.schema.json +464 -0
  92. package/lib/json-schema/product-body.schema.json +178 -0
  93. package/lib/json-schema/product-declaration.schema.json +1410 -0
  94. package/lib/json-schema/projection-spec.schema.json +151 -0
  95. package/lib/json-schema/radar-action-record.schema.json +144 -0
  96. package/lib/json-schema/radar-analysis-run.schema.json +424 -0
  97. package/lib/json-schema/radar-opportunity-matrix.schema.json +155 -0
  98. package/lib/json-schema/radar-panorama.schema.json +235 -0
  99. package/lib/json-schema/radar-query-body.schema.json +101 -0
  100. package/lib/json-schema/radar-score-model-body.schema.json +88 -0
  101. package/lib/json-schema/radar-score-projection.schema.json +184 -0
  102. package/lib/json-schema/radar-selection.schema.json +134 -0
  103. package/lib/json-schema/radar-writeback-record.schema.json +124 -0
  104. package/lib/json-schema/render-node.schema.json +776 -0
  105. package/lib/json-schema/render-tree.schema.json +815 -0
  106. package/lib/json-schema/request-scope.schema.json +193 -0
  107. package/lib/json-schema/saved-radar-query.schema.json +123 -0
  108. package/lib/json-schema/tenant-product-config.schema.json +2720 -0
  109. package/lib/json-schema/tenant-runtime-config.schema.json +2654 -0
  110. package/lib/json-schema/theme-tokens.schema.json +1836 -0
  111. package/lib/json-schema/trend-ingest-run.schema.json +73 -0
  112. package/lib/json-schema/trend-metric-snapshot.schema.json +126 -0
  113. package/lib/json-schema/trend-source-record.schema.json +206 -0
  114. package/lib/json-schema/view-provider-descriptor.schema.json +317 -0
  115. package/lib/json-schema/workflow-definition.schema.json +2174 -0
  116. package/lib/runtime/capability-registry.d.ts +28 -0
  117. package/lib/runtime/capability-registry.d.ts.map +1 -0
  118. package/lib/runtime/capability-registry.js +147 -0
  119. package/lib/runtime/capability-registry.js.map +1 -0
  120. package/lib/runtime/declaration-compiler.d.ts +44 -0
  121. package/lib/runtime/declaration-compiler.d.ts.map +1 -0
  122. package/lib/runtime/declaration-compiler.js +323 -0
  123. package/lib/runtime/declaration-compiler.js.map +1 -0
  124. package/lib/runtime/index.d.ts +12 -0
  125. package/lib/runtime/index.d.ts.map +1 -0
  126. package/lib/runtime/index.js +28 -0
  127. package/lib/runtime/index.js.map +1 -0
  128. package/lib/runtime/page-compiler.d.ts +36 -0
  129. package/lib/runtime/page-compiler.d.ts.map +1 -0
  130. package/lib/runtime/page-compiler.js +220 -0
  131. package/lib/runtime/page-compiler.js.map +1 -0
  132. package/lib/runtime/product-runtime.d.ts +37 -0
  133. package/lib/runtime/product-runtime.d.ts.map +1 -0
  134. package/lib/runtime/product-runtime.js +80 -0
  135. package/lib/runtime/product-runtime.js.map +1 -0
  136. package/lib/runtime/render-tree-compiler.d.ts +11 -0
  137. package/lib/runtime/render-tree-compiler.d.ts.map +1 -0
  138. package/lib/runtime/render-tree-compiler.js +85 -0
  139. package/lib/runtime/render-tree-compiler.js.map +1 -0
  140. package/lib/runtime/tenant-config.d.ts +13 -0
  141. package/lib/runtime/tenant-config.d.ts.map +1 -0
  142. package/lib/runtime/tenant-config.js +31 -0
  143. package/lib/runtime/tenant-config.js.map +1 -0
  144. package/lib/runtime/tenant-runtime-bindings.d.ts +21 -0
  145. package/lib/runtime/tenant-runtime-bindings.d.ts.map +1 -0
  146. package/lib/runtime/tenant-runtime-bindings.js +50 -0
  147. package/lib/runtime/tenant-runtime-bindings.js.map +1 -0
  148. package/lib/runtime/theme-tokens.d.ts +2 -0
  149. package/lib/runtime/theme-tokens.d.ts.map +1 -0
  150. package/lib/runtime/theme-tokens.js +13 -0
  151. package/lib/runtime/theme-tokens.js.map +1 -0
  152. package/lib/runtime/view-provider-registry.d.ts +23 -0
  153. package/lib/runtime/view-provider-registry.d.ts.map +1 -0
  154. package/lib/runtime/view-provider-registry.js +150 -0
  155. package/lib/runtime/view-provider-registry.js.map +1 -0
  156. package/lib/runtime/view-render-model.d.ts +28 -0
  157. package/lib/runtime/view-render-model.d.ts.map +1 -0
  158. package/lib/runtime/view-render-model.js +125 -0
  159. package/lib/runtime/view-render-model.js.map +1 -0
  160. package/lib/runtime/workflow-compiler.d.ts +29 -0
  161. package/lib/runtime/workflow-compiler.d.ts.map +1 -0
  162. package/lib/runtime/workflow-compiler.js +100 -0
  163. package/lib/runtime/workflow-compiler.js.map +1 -0
  164. package/lib/schemas/index.d.ts +4461 -0
  165. package/lib/schemas/index.d.ts.map +1 -0
  166. package/lib/schemas/index.js +187 -0
  167. package/lib/schemas/index.js.map +1 -0
  168. package/lib/theme-tokens/core.d.ts +65 -0
  169. package/lib/theme-tokens/core.d.ts.map +1 -0
  170. package/lib/theme-tokens/core.js +490 -0
  171. package/lib/theme-tokens/core.js.map +1 -0
  172. package/lib/types/i18n.d.ts +19 -0
  173. package/lib/types/i18n.d.ts.map +1 -0
  174. package/lib/types/i18n.js +3 -0
  175. package/lib/types/i18n.js.map +1 -0
  176. package/lib/types/index.d.ts +4 -0
  177. package/lib/types/index.d.ts.map +1 -0
  178. package/lib/types/index.js +20 -0
  179. package/lib/types/index.js.map +1 -0
  180. package/lib/types/tool.d.ts +123 -0
  181. package/lib/types/tool.d.ts.map +1 -0
  182. package/lib/types/tool.js +20 -0
  183. package/lib/types/tool.js.map +1 -0
  184. package/lib/types/workflow.d.ts +80 -0
  185. package/lib/types/workflow.d.ts.map +1 -0
  186. package/lib/types/workflow.js +23 -0
  187. package/lib/types/workflow.js.map +1 -0
  188. package/package.json +58 -0
@@ -0,0 +1,28 @@
1
+ import type { CapabilityManifest, CapabilityRegistryDocument, CapabilityRegistrySource, CapabilitySourceType } from '../contracts/capability';
2
+ import type { EntityRef } from '../contracts/common';
3
+ import type { WorkflowDefinition } from '../contracts/workflow-definition';
4
+ export interface CapabilityRegistryInputSource extends CapabilityRegistrySource {
5
+ manifests: readonly unknown[];
6
+ }
7
+ export interface CompiledCapabilityRegistry {
8
+ document: CapabilityRegistryDocument;
9
+ manifests: readonly CapabilityManifest[];
10
+ manifestsById: ReadonlyMap<string, CapabilityManifest>;
11
+ sourcesByCapabilityId: ReadonlyMap<string, readonly CapabilityRegistrySource[]>;
12
+ require(reference: EntityRef | string): CapabilityManifest;
13
+ }
14
+ /** Extracts only canonical extensions and fails when a declared Monkeys tool has no manifest. */
15
+ export declare const extractOpenApiCapabilityManifests: (document: unknown) => CapabilityManifest[];
16
+ export declare const createCapabilityRegistrySource: (sourceType: CapabilitySourceType, sourceId: string, ownerRepo: string, manifests: readonly unknown[]) => CapabilityRegistryInputSource;
17
+ export declare const createOpenApiCapabilityRegistrySource: (sourceId: string, ownerRepo: string, document: unknown) => CapabilityRegistryInputSource;
18
+ export interface WorkflowCapabilityManifestOptions {
19
+ ownerRepo: string;
20
+ surfaces: readonly string[];
21
+ slots?: readonly string[];
22
+ variants?: readonly string[];
23
+ tokenRefs?: readonly string[];
24
+ }
25
+ export declare const createWorkflowCapabilityManifest: (input: WorkflowDefinition, options: WorkflowCapabilityManifestOptions) => CapabilityManifest;
26
+ /** Compiles all production declaration sources into one immutable, conflict-free registry. */
27
+ export declare const compileCapabilityRegistry: (sources: readonly CapabilityRegistryInputSource[]) => CompiledCapabilityRegistry;
28
+ //# sourceMappingURL=capability-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-registry.d.ts","sourceRoot":"","sources":["../../src/runtime/capability-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB;IAC7E,SAAS,EAAE,SAAS,OAAO,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACzC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACvD,qBAAqB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC,CAAC;IAChF,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,kBAAkB,CAAC;CAC5D;AAID,iGAAiG;AACjG,eAAO,MAAM,iCAAiC,aAAc,OAAO,KAAG,kBAAkB,EA0BvF,CAAC;AAEF,eAAO,MAAM,8BAA8B,eAC7B,oBAAoB,YACtB,MAAM,aACL,MAAM,aACN,SAAS,OAAO,EAAE,KAC5B,6BAGD,CAAC;AAEH,eAAO,MAAM,qCAAqC,aACtC,MAAM,aACL,MAAM,YACP,OAAO,KAChB,6BAC0G,CAAC;AAE9G,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,gCAAgC,UACpC,kBAAkB,WAChB,iCAAiC,KACzC,kBA2CF,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,yBAAyB,YAC3B,SAAS,6BAA6B,EAAE,KAChD,0BAyDF,CAAC"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compileCapabilityRegistry = exports.createWorkflowCapabilityManifest = exports.createOpenApiCapabilityRegistrySource = exports.createCapabilityRegistrySource = exports.extractOpenApiCapabilityManifests = void 0;
4
+ const capability_1 = require("../contracts/capability");
5
+ const workflow_definition_1 = require("../contracts/workflow-definition");
6
+ const operationMethods = new Set(['get', 'post', 'put', 'patch', 'delete', 'options', 'head']);
7
+ /** Extracts only canonical extensions and fails when a declared Monkeys tool has no manifest. */
8
+ const extractOpenApiCapabilityManifests = (document) => {
9
+ if (!document || typeof document !== 'object' || Array.isArray(document)) {
10
+ throw new TypeError('OpenAPI capability source must be an object.');
11
+ }
12
+ const paths = document.paths;
13
+ if (!paths || typeof paths !== 'object' || Array.isArray(paths)) {
14
+ throw new TypeError('OpenAPI capability source must contain a paths object.');
15
+ }
16
+ const manifests = [];
17
+ for (const [path, pathValue] of Object.entries(paths)) {
18
+ if (!pathValue || typeof pathValue !== 'object' || Array.isArray(pathValue))
19
+ continue;
20
+ for (const [method, operationValue] of Object.entries(pathValue)) {
21
+ if (!operationMethods.has(method.toLowerCase()) || !operationValue || typeof operationValue !== 'object' || Array.isArray(operationValue))
22
+ continue;
23
+ const operation = operationValue;
24
+ const manifest = operation['x-monkeys-capability-manifest'];
25
+ if (manifest === undefined) {
26
+ if (operation['x-monkey-tool-name'] !== undefined) {
27
+ throw new Error(`OpenAPI operation ${method.toUpperCase()} ${path} declares a tool without x-monkeys-capability-manifest.`);
28
+ }
29
+ continue;
30
+ }
31
+ manifests.push(capability_1.CapabilityManifestSchema.parse(manifest));
32
+ }
33
+ }
34
+ return manifests;
35
+ };
36
+ exports.extractOpenApiCapabilityManifests = extractOpenApiCapabilityManifests;
37
+ const createCapabilityRegistrySource = (sourceType, sourceId, ownerRepo, manifests) => ({
38
+ ...capability_1.CapabilityRegistrySourceSchema.parse({ sourceType, sourceId, ownerRepo }),
39
+ manifests,
40
+ });
41
+ exports.createCapabilityRegistrySource = createCapabilityRegistrySource;
42
+ const createOpenApiCapabilityRegistrySource = (sourceId, ownerRepo, document) => (0, exports.createCapabilityRegistrySource)('openapi', sourceId, ownerRepo, (0, exports.extractOpenApiCapabilityManifests)(document));
43
+ exports.createOpenApiCapabilityRegistrySource = createOpenApiCapabilityRegistrySource;
44
+ const createWorkflowCapabilityManifest = (input, options) => {
45
+ const workflow = workflow_definition_1.WorkflowDefinitionSchema.parse(input);
46
+ return capability_1.CapabilityManifestSchema.parse({
47
+ contract: 'CapabilityManifest',
48
+ id: workflow.metadata.id,
49
+ capabilityVersion: String(workflow.metadata.version),
50
+ ownerRepo: options.ownerRepo,
51
+ kind: 'workflow',
52
+ displayName: typeof workflow.metadata.name === 'string'
53
+ ? workflow.metadata.name
54
+ : workflow.metadata.name?.['en-US'] ?? workflow.metadata.name?.['zh-CN'] ?? workflow.metadata.id,
55
+ description: typeof workflow.metadata.description === 'string'
56
+ ? workflow.metadata.description
57
+ : workflow.metadata.description?.['en-US'] ?? workflow.metadata.description?.['zh-CN'],
58
+ ports: workflow.ports,
59
+ runtime: {
60
+ providerBindings: [{
61
+ providerRef: { kind: 'workflow', id: workflow.metadata.id, version: workflow.metadata.version, ownerRepo: options.ownerRepo },
62
+ productContexts: [],
63
+ priority: 0,
64
+ }],
65
+ loading: 'on-activation',
66
+ stateOwner: 'external',
67
+ sideEffects: ['network', 'storage', 'worker'],
68
+ },
69
+ placement: {
70
+ surfaces: options.surfaces,
71
+ slots: options.slots ?? [],
72
+ variants: options.variants ?? [],
73
+ tokenRefs: options.tokenRefs ?? [],
74
+ },
75
+ accessibility: {
76
+ keyboardModel: 'workflow-form',
77
+ focusModel: 'host-managed',
78
+ labelContract: 'workflow-display-name',
79
+ },
80
+ observability: {
81
+ eventNamespace: `workflow.${workflow.metadata.id}`,
82
+ metrics: ['runs', 'duration', 'errors'],
83
+ evidenceRefs: [],
84
+ performanceBudgetMs: workflow.execution.timeoutMs,
85
+ },
86
+ });
87
+ };
88
+ exports.createWorkflowCapabilityManifest = createWorkflowCapabilityManifest;
89
+ /** Compiles all production declaration sources into one immutable, conflict-free registry. */
90
+ const compileCapabilityRegistry = (sources) => {
91
+ const entriesById = new Map();
92
+ const seenSources = new Set();
93
+ for (const sourceInput of sources) {
94
+ const source = capability_1.CapabilityRegistrySourceSchema.parse({
95
+ sourceType: sourceInput.sourceType,
96
+ sourceId: sourceInput.sourceId,
97
+ ownerRepo: sourceInput.ownerRepo,
98
+ });
99
+ const sourceKey = `${source.sourceType}:${source.sourceId}`;
100
+ if (seenSources.has(sourceKey))
101
+ throw new Error(`Duplicate capability source: ${sourceKey}`);
102
+ seenSources.add(sourceKey);
103
+ for (const manifestInput of sourceInput.manifests) {
104
+ const manifest = capability_1.CapabilityManifestSchema.parse(manifestInput);
105
+ if (manifest.ownerRepo !== source.ownerRepo) {
106
+ throw new Error(`Capability ${manifest.id} owner ${manifest.ownerRepo} does not match source owner ${source.ownerRepo}.`);
107
+ }
108
+ const existing = entriesById.get(manifest.id);
109
+ if (!existing) {
110
+ entriesById.set(manifest.id, { manifest, sources: [source] });
111
+ continue;
112
+ }
113
+ if (JSON.stringify(existing.manifest) !== JSON.stringify(manifest)) {
114
+ throw new Error(`Conflicting capability declarations for ${manifest.id}.`);
115
+ }
116
+ existing.sources.push(source);
117
+ }
118
+ }
119
+ const document = capability_1.CapabilityRegistryDocumentSchema.parse({
120
+ contract: 'CapabilityRegistry',
121
+ entries: Array.from(entriesById.values()).sort((left, right) => left.manifest.id.localeCompare(right.manifest.id)),
122
+ });
123
+ const manifests = Object.freeze(document.entries.map((entry) => entry.manifest));
124
+ const manifestsById = new Map(manifests.map((manifest) => [manifest.id, manifest]));
125
+ const sourcesByCapabilityId = new Map(document.entries.map((entry) => [entry.manifest.id, Object.freeze(entry.sources)]));
126
+ return Object.freeze({
127
+ document: Object.freeze(document),
128
+ manifests,
129
+ manifestsById,
130
+ sourcesByCapabilityId,
131
+ require(reference) {
132
+ if (typeof reference !== 'string' && reference.kind !== 'capability') {
133
+ throw new Error(`Expected a capability reference, received ${reference.kind}:${reference.id}.`);
134
+ }
135
+ const id = typeof reference === 'string' ? reference : reference.id;
136
+ const manifest = manifestsById.get(id);
137
+ if (!manifest)
138
+ throw new Error(`Unknown capability: ${id}`);
139
+ if (typeof reference !== 'string' && reference.version !== undefined && String(reference.version) !== manifest.capabilityVersion) {
140
+ throw new Error(`Capability ${id} version ${String(reference.version)} is not active; expected ${manifest.capabilityVersion}.`);
141
+ }
142
+ return manifest;
143
+ },
144
+ });
145
+ };
146
+ exports.compileCapabilityRegistry = compileCapabilityRegistry;
147
+ //# sourceMappingURL=capability-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-registry.js","sourceRoot":"","sources":["../../src/runtime/capability-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { CapabilityManifest } from '../contracts/capability';
2
+ import type { EntityRef } from '../contracts/common';
3
+ import type { PageDefinition } from '../contracts/page';
4
+ import { type ChangeImpactGraph, type DomainCommand, type DomainCommandDefinition, type ProductDeclaration } from '../contracts/semantic';
5
+ export interface CompiledProductDeclaration {
6
+ declaration: ProductDeclaration;
7
+ conceptsById: ReadonlyMap<string, ProductDeclaration['concepts'][number]>;
8
+ ontologiesById: ReadonlyMap<string, ProductDeclaration['ontologies'][number]>;
9
+ projectionsById: ReadonlyMap<string, ProductDeclaration['projections'][number]>;
10
+ commandsByName: ReadonlyMap<string, DomainCommandDefinition>;
11
+ capabilitiesById: ReadonlyMap<string, CapabilityManifest>;
12
+ pagesById: ReadonlyMap<string, PageDefinition>;
13
+ nodes: readonly EntityRef[];
14
+ edges: readonly ChangeImpactGraph['edges'][number][];
15
+ }
16
+ export interface ToolCapabilityPortSource {
17
+ name: string;
18
+ required?: boolean;
19
+ type?: string;
20
+ description?: string;
21
+ }
22
+ export interface ToolCapabilitySource {
23
+ id: string;
24
+ capabilityVersion: string;
25
+ ownerRepo: string;
26
+ displayName: string;
27
+ description?: string;
28
+ inputs?: readonly ToolCapabilityPortSource[];
29
+ outputs?: readonly ToolCapabilityPortSource[];
30
+ sideEffects?: CapabilityManifest['runtime']['sideEffects'];
31
+ }
32
+ export interface OpenApiToolCapabilityPublisherOptions {
33
+ namespace: string;
34
+ ownerRepo: string;
35
+ capabilityVersion: string;
36
+ }
37
+ export declare const compileToolCapabilityManifest: (input: unknown) => CapabilityManifest;
38
+ export declare const createToolCapabilityManifest: (input: ToolCapabilitySource) => CapabilityManifest;
39
+ /** Publishes canonical CapabilityManifest values on every tool operation in an OpenAPI document. */
40
+ export declare const publishOpenApiToolCapabilityManifests: <T extends Record<string, unknown>>(document: T, options: OpenApiToolCapabilityPublisherOptions) => T;
41
+ export declare const compileProductDeclaration: (input: ProductDeclaration) => CompiledProductDeclaration;
42
+ export declare const validateDomainCommand: (input: DomainCommand, definitions: readonly DomainCommandDefinition[], permissionCodes: readonly string[]) => DomainCommand;
43
+ export declare const buildChangeImpactGraph: (previousInput: ProductDeclaration, nextInput: ProductDeclaration, generatedAt?: string) => ChangeImpactGraph;
44
+ //# sourceMappingURL=declaration-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declaration-compiler.d.ts","sourceRoot":"","sources":["../../src/runtime/declaration-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAe/B,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,kBAAkB,CAAC;IAChC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC7D,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC1D,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC/C,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IAC5B,KAAK,EAAE,SAAS,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC7C,OAAO,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC9C,WAAW,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,qCAAqC;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,6BAA6B,UAAW,OAAO,KAAG,kBAO9D,CAAC;AAEF,eAAO,MAAM,4BAA4B,UAAW,oBAAoB,KAAG,kBA4B1E,CAAC;AAyEF,oGAAoG;AACpG,eAAO,MAAM,qCAAqC,gDACtC,CAAC,WACF,qCAAqC,KAC7C,CAiCF,CAAC;AAEF,eAAO,MAAM,yBAAyB,UAAW,kBAAkB,KAAG,0BA0ErE,CAAC;AAEF,eAAO,MAAM,qBAAqB,UACzB,aAAa,eACP,SAAS,uBAAuB,EAAE,mBAC9B,SAAS,MAAM,EAAE,KACjC,aAgBF,CAAC;AAaF,eAAO,MAAM,sBAAsB,kBAClB,kBAAkB,aACtB,kBAAkB,2BAE5B,iBA+CF,CAAC"}
@@ -0,0 +1,323 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildChangeImpactGraph = exports.validateDomainCommand = exports.compileProductDeclaration = exports.publishOpenApiToolCapabilityManifests = exports.createToolCapabilityManifest = exports.compileToolCapabilityManifest = void 0;
4
+ const capability_1 = require("../contracts/capability");
5
+ const semantic_1 = require("../contracts/semantic");
6
+ const uniqueIndex = (values, key, label) => {
7
+ const result = new Map();
8
+ for (const value of values) {
9
+ const id = key(value);
10
+ if (result.has(id))
11
+ throw new Error(`Duplicate ${label}: ${id}`);
12
+ result.set(id, value);
13
+ }
14
+ return result;
15
+ };
16
+ const ref = (kind, id) => ({ kind, id });
17
+ const refKey = (value) => `${value.kind}:${value.id}`;
18
+ const compileToolCapabilityManifest = (input) => {
19
+ const manifest = capability_1.CapabilityManifestSchema.parse(input);
20
+ if (manifest.kind !== 'tool')
21
+ throw new Error(`Capability ${manifest.id} must use kind tool.`);
22
+ if (manifest.runtime.providerBindings.length !== 1 || manifest.runtime.providerBindings[0].providerRef.kind !== 'tool') {
23
+ throw new Error(`Tool capability ${manifest.id} must reference a tool provider.`);
24
+ }
25
+ return Object.freeze(manifest);
26
+ };
27
+ exports.compileToolCapabilityManifest = compileToolCapabilityManifest;
28
+ const createToolCapabilityManifest = (input) => {
29
+ const ports = (direction, values = []) => values.map((value) => ({
30
+ name: String(value.name),
31
+ schemaRef: `schema://tool/${input.id}/${direction}/${String(value.name)}`,
32
+ required: value.required === true,
33
+ multiple: value.type === 'array',
34
+ description: value.description,
35
+ }));
36
+ return (0, exports.compileToolCapabilityManifest)({
37
+ contract: 'CapabilityManifest',
38
+ id: input.id,
39
+ capabilityVersion: input.capabilityVersion,
40
+ ownerRepo: input.ownerRepo,
41
+ kind: 'tool',
42
+ displayName: input.displayName,
43
+ description: input.description,
44
+ ports: { inputs: ports('input', input.inputs), outputs: ports('output', input.outputs) },
45
+ runtime: {
46
+ providerBindings: [{ providerRef: { kind: 'tool', id: input.id }, productContexts: [], priority: 0 }],
47
+ loading: 'on-activation',
48
+ stateOwner: 'provider',
49
+ sideEffects: input.sideEffects ?? ['network'],
50
+ },
51
+ placement: { surfaces: ['agent', 'workflow'], slots: [], variants: [], tokenRefs: [] },
52
+ accessibility: { keyboardModel: 'tool-form', focusModel: 'host-managed', labelContract: 'tool-display-name' },
53
+ observability: { eventNamespace: `tool.${input.id}`, metrics: ['calls', 'duration', 'errors'], evidenceRefs: [] },
54
+ });
55
+ };
56
+ exports.createToolCapabilityManifest = createToolCapabilityManifest;
57
+ const TOOL_HTTP_METHODS = new Set(['get', 'post', 'put', 'patch', 'delete']);
58
+ const normalizeToolIdentifier = (value) => value.replace(/[^a-zA-Z0-9_.-]/g, '_');
59
+ const localizedText = (value, fallback) => {
60
+ if (typeof value === 'string' && value.trim())
61
+ return value;
62
+ if (value && typeof value === 'object') {
63
+ const record = value;
64
+ for (const locale of ['en-US', 'zh-CN']) {
65
+ if (typeof record[locale] === 'string' && String(record[locale]).trim())
66
+ return String(record[locale]);
67
+ }
68
+ }
69
+ return fallback;
70
+ };
71
+ const normalizeToolCapabilityPorts = (value, direction) => {
72
+ if (value === undefined)
73
+ return [];
74
+ if (!Array.isArray(value))
75
+ throw new Error(`Tool ${direction} declaration must be an array.`);
76
+ const normalized = value.map((item, index) => {
77
+ if (!item || typeof item !== 'object' || Array.isArray(item)) {
78
+ throw new Error(`Tool ${direction} declaration at index ${index} must be an object.`);
79
+ }
80
+ const record = item;
81
+ if (typeof record.name !== 'string' || !record.name.trim()) {
82
+ throw new Error(`Tool ${direction} declaration at index ${index} must have a non-empty name.`);
83
+ }
84
+ if (record.required !== undefined && typeof record.required !== 'boolean') {
85
+ throw new Error(`Tool ${direction} ${record.name} required must be a boolean.`);
86
+ }
87
+ if (record.type !== undefined && (typeof record.type !== 'string' || !record.type.trim())) {
88
+ throw new Error(`Tool ${direction} ${record.name} type must be a non-empty string.`);
89
+ }
90
+ const name = record.name.trim();
91
+ const descriptionSource = record.description ?? record.displayName;
92
+ return {
93
+ name,
94
+ required: record.required === true,
95
+ type: typeof record.type === 'string' ? record.type.trim() : undefined,
96
+ description: descriptionSource === undefined
97
+ ? undefined
98
+ : localizedText(descriptionSource, name),
99
+ };
100
+ });
101
+ const portsByName = new Map();
102
+ for (const port of normalized) {
103
+ const existing = portsByName.get(port.name);
104
+ if (!existing) {
105
+ portsByName.set(port.name, port);
106
+ continue;
107
+ }
108
+ // OpenAPI tool forms may declare the same logical field more than once
109
+ // to provide conditional presentation/defaults (for example one code
110
+ // editor per selected language). A capability port is an identity and
111
+ // must remain unique, so collapse presentation-only duplicates while
112
+ // failing closed when their executable contract disagrees.
113
+ if (existing.required !== port.required || existing.type !== port.type) {
114
+ throw new Error(`Tool ${direction} ${port.name} has conflicting duplicate declarations.`);
115
+ }
116
+ }
117
+ return [...portsByName.values()];
118
+ };
119
+ /** Publishes canonical CapabilityManifest values on every tool operation in an OpenAPI document. */
120
+ const publishOpenApiToolCapabilityManifests = (document, options) => {
121
+ const paths = document.paths;
122
+ if (!paths || typeof paths !== 'object')
123
+ throw new Error('OpenAPI document paths are required.');
124
+ for (const pathItem of Object.values(paths)) {
125
+ if (!pathItem || typeof pathItem !== 'object')
126
+ continue;
127
+ for (const [method, operationValue] of Object.entries(pathItem)) {
128
+ if (!TOOL_HTTP_METHODS.has(method.toLowerCase()) || !operationValue || typeof operationValue !== 'object')
129
+ continue;
130
+ const operation = operationValue;
131
+ const declaredName = operation['x-monkey-tool-name'];
132
+ if (typeof declaredName !== 'string' || !declaredName.trim())
133
+ continue;
134
+ const toolName = normalizeToolIdentifier(declaredName);
135
+ const id = `${normalizeToolIdentifier(options.namespace)}_${toolName}`;
136
+ const displayName = localizedText(operation['x-monkey-tool-display-name'] ?? operation.summary, toolName);
137
+ const description = localizedText(operation['x-monkey-tool-description'] ?? operation.description, displayName);
138
+ const inputs = normalizeToolCapabilityPorts(operation['x-monkey-tool-input'], 'input');
139
+ const outputs = normalizeToolCapabilityPorts(operation['x-monkey-tool-output'], 'output');
140
+ operation['x-monkeys-capability-manifest'] = (0, exports.createToolCapabilityManifest)({
141
+ id,
142
+ capabilityVersion: typeof operation['x-monkey-tool-version'] === 'string'
143
+ ? operation['x-monkey-tool-version']
144
+ : options.capabilityVersion,
145
+ ownerRepo: options.ownerRepo,
146
+ displayName,
147
+ description,
148
+ inputs,
149
+ outputs,
150
+ sideEffects: Array.isArray(operation['x-monkey-tool-side-effects'])
151
+ ? operation['x-monkey-tool-side-effects']
152
+ : undefined,
153
+ });
154
+ }
155
+ }
156
+ return document;
157
+ };
158
+ exports.publishOpenApiToolCapabilityManifests = publishOpenApiToolCapabilityManifests;
159
+ const compileProductDeclaration = (input) => {
160
+ const declaration = semantic_1.ProductDeclarationSchema.parse(input);
161
+ const conceptsById = uniqueIndex(declaration.concepts, (value) => value.conceptId, 'concept id');
162
+ const ontologiesById = uniqueIndex(declaration.ontologies, (value) => value.ontologyId, 'ontology id');
163
+ const projectionsById = uniqueIndex(declaration.projections, (value) => value.projectionId, 'projection id');
164
+ const commandsByName = uniqueIndex(declaration.commands, (value) => value.commandName, 'command name');
165
+ const capabilitiesById = uniqueIndex(declaration.capabilities, (value) => value.id, 'capability id');
166
+ const pagesById = uniqueIndex(declaration.pages, (value) => value.pageId, 'page id');
167
+ const nodes = [];
168
+ const edges = [];
169
+ const addNode = (kind, id) => nodes.push(ref(kind, id));
170
+ const addEdge = (from, to, relation) => edges.push({ from, to, relation });
171
+ for (const ontology of declaration.ontologies)
172
+ addNode('ontology', ontology.ontologyId);
173
+ for (const projection of declaration.projections) {
174
+ addNode('projection', projection.projectionId);
175
+ for (const ontologyId of projection.ontologyIds) {
176
+ if (!ontologiesById.has(ontologyId))
177
+ throw new Error(`Projection ${projection.projectionId} references unknown ontology ${ontologyId}.`);
178
+ addEdge(ref('projection', projection.projectionId), ref('ontology', ontologyId), 'uses-ontology');
179
+ }
180
+ }
181
+ for (const command of declaration.commands)
182
+ addNode('command', command.commandName);
183
+ for (const capability of declaration.capabilities)
184
+ addNode('capability', capability.id);
185
+ for (const concept of declaration.concepts) {
186
+ addNode('concept', concept.conceptId);
187
+ if (concept.ontologyId) {
188
+ if (!ontologiesById.has(concept.ontologyId))
189
+ throw new Error(`Concept ${concept.conceptId} references unknown ontology ${concept.ontologyId}.`);
190
+ addEdge(ref('concept', concept.conceptId), ref('ontology', concept.ontologyId), 'uses-ontology');
191
+ }
192
+ for (const capabilityId of concept.capabilityIds) {
193
+ if (!capabilitiesById.has(capabilityId))
194
+ throw new Error(`Concept ${concept.conceptId} references unknown capability ${capabilityId}.`);
195
+ addEdge(ref('concept', concept.conceptId), ref('capability', capabilityId), 'uses-capability');
196
+ }
197
+ for (const commandName of concept.commandNames) {
198
+ if (!commandsByName.has(commandName))
199
+ throw new Error(`Concept ${concept.conceptId} references unknown command ${commandName}.`);
200
+ addEdge(ref('concept', concept.conceptId), ref('command', commandName), 'uses-command');
201
+ }
202
+ for (const relationship of concept.relationships) {
203
+ if (!conceptsById.has(relationship.targetConceptId)) {
204
+ throw new Error(`Concept ${concept.conceptId} references unknown concept ${relationship.targetConceptId}.`);
205
+ }
206
+ addEdge(ref('concept', concept.conceptId), ref('concept', relationship.targetConceptId), 'relates-to-concept');
207
+ }
208
+ }
209
+ for (const page of declaration.pages) {
210
+ addNode('page', page.pageId);
211
+ if (page.binding.ontologyId) {
212
+ if (!ontologiesById.has(page.binding.ontologyId))
213
+ throw new Error(`Page ${page.pageId} references unknown ontology ${page.binding.ontologyId}.`);
214
+ addEdge(ref('page', page.pageId), ref('ontology', page.binding.ontologyId), 'uses-ontology');
215
+ }
216
+ if (page.binding.projectionRef) {
217
+ if (!projectionsById.has(page.binding.projectionRef))
218
+ throw new Error(`Page ${page.pageId} references unknown projection ${page.binding.projectionRef}.`);
219
+ addEdge(ref('page', page.pageId), ref('projection', page.binding.projectionRef), 'uses-projection');
220
+ }
221
+ for (const capabilityRef of [page.capabilityRef, ...page.capabilityRefs].filter(Boolean)) {
222
+ if (!capabilitiesById.has(capabilityRef.id))
223
+ throw new Error(`Page ${page.pageId} references unknown capability ${capabilityRef.id}.`);
224
+ addEdge(ref('page', page.pageId), ref('capability', capabilityRef.id), 'uses-capability');
225
+ }
226
+ }
227
+ uniqueIndex(nodes, refKey, 'declaration node');
228
+ return Object.freeze({
229
+ declaration: Object.freeze(declaration),
230
+ conceptsById,
231
+ ontologiesById,
232
+ projectionsById,
233
+ commandsByName,
234
+ capabilitiesById,
235
+ pagesById,
236
+ nodes: Object.freeze(nodes),
237
+ edges: Object.freeze(edges),
238
+ });
239
+ };
240
+ exports.compileProductDeclaration = compileProductDeclaration;
241
+ const validateDomainCommand = (input, definitions, permissionCodes) => {
242
+ const command = semantic_1.DomainCommandSchema.parse(input);
243
+ const commandsByName = uniqueIndex(definitions.map((definition) => semantic_1.DomainCommandDefinitionSchema.parse(definition)), (definition) => definition.commandName, 'command name');
244
+ const definition = commandsByName.get(command.commandName);
245
+ if (!definition)
246
+ throw new Error(`Unknown domain command: ${command.commandName}`);
247
+ if (!definition.targetKinds.includes(command.targetRef.kind)) {
248
+ throw new Error(`Command ${command.commandName} does not accept target kind ${command.targetRef.kind}.`);
249
+ }
250
+ const granted = new Set(permissionCodes);
251
+ const missing = definition.requiredPermissionCodes.filter((permission) => !granted.has(permission));
252
+ if (missing.length)
253
+ throw new Error(`Command ${command.commandName} requires permissions: ${missing.join(', ')}`);
254
+ return Object.freeze(command);
255
+ };
256
+ exports.validateDomainCommand = validateDomainCommand;
257
+ const declarationValuesByRef = (compiled) => {
258
+ const values = new Map();
259
+ for (const value of compiled.declaration.ontologies)
260
+ values.set(refKey(ref('ontology', value.ontologyId)), value);
261
+ for (const value of compiled.declaration.projections)
262
+ values.set(refKey(ref('projection', value.projectionId)), value);
263
+ for (const value of compiled.declaration.commands)
264
+ values.set(refKey(ref('command', value.commandName)), value);
265
+ for (const value of compiled.declaration.capabilities)
266
+ values.set(refKey(ref('capability', value.id)), value);
267
+ for (const value of compiled.declaration.concepts)
268
+ values.set(refKey(ref('concept', value.conceptId)), value);
269
+ for (const value of compiled.declaration.pages)
270
+ values.set(refKey(ref('page', value.pageId)), value);
271
+ return values;
272
+ };
273
+ const buildChangeImpactGraph = (previousInput, nextInput, generatedAt = new Date().toISOString()) => {
274
+ const previous = (0, exports.compileProductDeclaration)(previousInput);
275
+ const next = (0, exports.compileProductDeclaration)(nextInput);
276
+ const previousValues = declarationValuesByRef(previous);
277
+ const nextValues = declarationValuesByRef(next);
278
+ const changedKeys = new Set();
279
+ for (const key of new Set([...previousValues.keys(), ...nextValues.keys()])) {
280
+ if (JSON.stringify(previousValues.get(key)) !== JSON.stringify(nextValues.get(key)))
281
+ changedKeys.add(key);
282
+ }
283
+ const reverse = new Map();
284
+ for (const edge of [...previous.edges, ...next.edges]) {
285
+ const dependency = refKey(edge.to);
286
+ const dependent = refKey(edge.from);
287
+ const values = reverse.get(dependency) ?? new Set();
288
+ values.add(dependent);
289
+ reverse.set(dependency, values);
290
+ }
291
+ const refs = new Map();
292
+ for (const node of [...previous.nodes, ...next.nodes])
293
+ refs.set(refKey(node), node);
294
+ const impacts = Array.from(changedKeys).sort().map((changedKey) => {
295
+ const affected = new Set();
296
+ const queue = [...(reverse.get(changedKey) ?? [])];
297
+ while (queue.length) {
298
+ const current = queue.shift();
299
+ if (affected.has(current))
300
+ continue;
301
+ affected.add(current);
302
+ queue.push(...(reverse.get(current) ?? []));
303
+ }
304
+ return {
305
+ changedRef: refs.get(changedKey) ?? (() => {
306
+ const separator = changedKey.indexOf(':');
307
+ return ref(changedKey.slice(0, separator), changedKey.slice(separator + 1));
308
+ })(),
309
+ affectedRefs: Array.from(affected).sort().map((key) => refs.get(key)),
310
+ reasons: affected.size ? ['dependency'] : ['direct-change'],
311
+ };
312
+ });
313
+ return semantic_1.ChangeImpactGraphSchema.parse({
314
+ contract: 'ChangeImpactGraph',
315
+ declarationId: next.declaration.declarationId,
316
+ nodes: Array.from(refs.values()).sort((left, right) => refKey(left).localeCompare(refKey(right))),
317
+ edges: next.edges,
318
+ impacts,
319
+ generatedAt,
320
+ });
321
+ };
322
+ exports.buildChangeImpactGraph = buildChangeImpactGraph;
323
+ //# sourceMappingURL=declaration-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declaration-compiler.js","sourceRoot":"","sources":["../../src/runtime/declaration-compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export * from './capability-registry';
2
+ export * from './declaration-compiler';
3
+ export * from './page-compiler';
4
+ export * from './product-runtime';
5
+ export * from './render-tree-compiler';
6
+ export * from './tenant-config';
7
+ export * from './tenant-runtime-bindings';
8
+ export * from './theme-tokens';
9
+ export * from './view-provider-registry';
10
+ export * from './view-render-model';
11
+ export * from './workflow-compiler';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}