@x12i/memorix-service 3.0.6 → 3.2.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 (178) hide show
  1. package/README.md +8 -1
  2. package/dist/ai-services/associate-prep.d.ts +37 -0
  3. package/dist/ai-services/associate-prep.d.ts.map +1 -0
  4. package/dist/ai-services/associate-prep.js +208 -0
  5. package/dist/ai-services/associate-prep.js.map +1 -0
  6. package/dist/ai-services/chunk-markdown.d.ts +22 -0
  7. package/dist/ai-services/chunk-markdown.d.ts.map +1 -0
  8. package/dist/ai-services/chunk-markdown.js +159 -0
  9. package/dist/ai-services/chunk-markdown.js.map +1 -0
  10. package/dist/ai-services/client.d.ts +31 -0
  11. package/dist/ai-services/client.d.ts.map +1 -0
  12. package/dist/ai-services/client.js +104 -0
  13. package/dist/ai-services/client.js.map +1 -0
  14. package/dist/ai-services/config.d.ts +17 -0
  15. package/dist/ai-services/config.d.ts.map +1 -0
  16. package/dist/ai-services/config.js +44 -0
  17. package/dist/ai-services/config.js.map +1 -0
  18. package/dist/ai-services/normalize-output.d.ts +29 -0
  19. package/dist/ai-services/normalize-output.d.ts.map +1 -0
  20. package/dist/ai-services/normalize-output.js +428 -0
  21. package/dist/ai-services/normalize-output.js.map +1 -0
  22. package/dist/ai-services/skill-execution.d.ts +24 -0
  23. package/dist/ai-services/skill-execution.d.ts.map +1 -0
  24. package/dist/ai-services/skill-execution.js +74 -0
  25. package/dist/ai-services/skill-execution.js.map +1 -0
  26. package/dist/ai-services/types.d.ts +62 -0
  27. package/dist/ai-services/types.d.ts.map +1 -0
  28. package/dist/ai-services/types.js +3 -0
  29. package/dist/ai-services/types.js.map +1 -0
  30. package/dist/app.d.ts.map +1 -1
  31. package/dist/app.js +41 -6
  32. package/dist/app.js.map +1 -1
  33. package/dist/assist/ask.d.ts +35 -0
  34. package/dist/assist/ask.d.ts.map +1 -0
  35. package/dist/assist/ask.js +346 -0
  36. package/dist/assist/ask.js.map +1 -0
  37. package/dist/assist/facts.d.ts +5 -0
  38. package/dist/assist/facts.d.ts.map +1 -0
  39. package/dist/assist/facts.js +237 -0
  40. package/dist/assist/facts.js.map +1 -0
  41. package/dist/assist/merge-ask-proposal.d.ts +9 -0
  42. package/dist/assist/merge-ask-proposal.d.ts.map +1 -0
  43. package/dist/assist/merge-ask-proposal.js +57 -0
  44. package/dist/assist/merge-ask-proposal.js.map +1 -0
  45. package/dist/assist/types.d.ts +60 -0
  46. package/dist/assist/types.d.ts.map +1 -0
  47. package/dist/assist/types.js +57 -0
  48. package/dist/assist/types.js.map +1 -0
  49. package/dist/assist/validate.d.ts +4 -0
  50. package/dist/assist/validate.d.ts.map +1 -0
  51. package/dist/assist/validate.js +319 -0
  52. package/dist/assist/validate.js.map +1 -0
  53. package/dist/cli.js +29 -6
  54. package/dist/cli.js.map +1 -1
  55. package/dist/connector-catalog.d.ts +68 -0
  56. package/dist/connector-catalog.d.ts.map +1 -0
  57. package/dist/connector-catalog.js +258 -0
  58. package/dist/connector-catalog.js.map +1 -0
  59. package/dist/connector-role.d.ts +22 -0
  60. package/dist/connector-role.d.ts.map +1 -0
  61. package/dist/connector-role.js +71 -0
  62. package/dist/connector-role.js.map +1 -0
  63. package/dist/destination-runtime.d.ts +8 -0
  64. package/dist/destination-runtime.d.ts.map +1 -0
  65. package/dist/destination-runtime.js +11 -0
  66. package/dist/destination-runtime.js.map +1 -0
  67. package/dist/execution-target.d.ts +141 -0
  68. package/dist/execution-target.d.ts.map +1 -0
  69. package/dist/execution-target.js +853 -0
  70. package/dist/execution-target.js.map +1 -0
  71. package/dist/generic-connectors.d.ts +41 -0
  72. package/dist/generic-connectors.d.ts.map +1 -0
  73. package/dist/generic-connectors.js +158 -0
  74. package/dist/generic-connectors.js.map +1 -0
  75. package/dist/isolation.d.ts +1 -1
  76. package/dist/isolation.d.ts.map +1 -1
  77. package/dist/jobs-scope.d.ts +21 -0
  78. package/dist/jobs-scope.d.ts.map +1 -0
  79. package/dist/jobs-scope.js +83 -0
  80. package/dist/jobs-scope.js.map +1 -0
  81. package/dist/journey/collect.js +2 -2
  82. package/dist/journey/collect.js.map +1 -1
  83. package/dist/journey/coverage.js +3 -3
  84. package/dist/journey/coverage.js.map +1 -1
  85. package/dist/known-packs.d.ts +1 -1
  86. package/dist/known-packs.d.ts.map +1 -1
  87. package/dist/known-packs.js +1 -1
  88. package/dist/known-packs.js.map +1 -1
  89. package/dist/live.d.ts +13 -1
  90. package/dist/live.d.ts.map +1 -1
  91. package/dist/live.js +866 -2
  92. package/dist/live.js.map +1 -1
  93. package/dist/magit/magit-pack-service.d.ts +112 -0
  94. package/dist/magit/magit-pack-service.d.ts.map +1 -1
  95. package/dist/magit/magit-pack-service.js +494 -12
  96. package/dist/magit/magit-pack-service.js.map +1 -1
  97. package/dist/magit/pack-to-patchset.d.ts +20 -1
  98. package/dist/magit/pack-to-patchset.d.ts.map +1 -1
  99. package/dist/magit/pack-to-patchset.js +82 -9
  100. package/dist/magit/pack-to-patchset.js.map +1 -1
  101. package/dist/magit/package-catalog-bridge.d.ts +58 -0
  102. package/dist/magit/package-catalog-bridge.d.ts.map +1 -0
  103. package/dist/magit/package-catalog-bridge.js +220 -0
  104. package/dist/magit/package-catalog-bridge.js.map +1 -0
  105. package/dist/magit/proposal-to-pack.d.ts +22 -0
  106. package/dist/magit/proposal-to-pack.d.ts.map +1 -0
  107. package/dist/magit/proposal-to-pack.js +68 -0
  108. package/dist/magit/proposal-to-pack.js.map +1 -0
  109. package/dist/mongo-metadata-store.d.ts.map +1 -1
  110. package/dist/mongo-metadata-store.js +9 -3
  111. package/dist/mongo-metadata-store.js.map +1 -1
  112. package/dist/openapi/openapi.json +6262 -3139
  113. package/dist/org-sources.d.ts +14 -0
  114. package/dist/org-sources.d.ts.map +1 -0
  115. package/dist/org-sources.js +31 -0
  116. package/dist/org-sources.js.map +1 -0
  117. package/dist/pipeline-compile.d.ts +67 -1
  118. package/dist/pipeline-compile.d.ts.map +1 -1
  119. package/dist/pipeline-compile.js +455 -29
  120. package/dist/pipeline-compile.js.map +1 -1
  121. package/dist/pipeline-invoke.d.ts +63 -0
  122. package/dist/pipeline-invoke.d.ts.map +1 -0
  123. package/dist/pipeline-invoke.js +114 -0
  124. package/dist/pipeline-invoke.js.map +1 -0
  125. package/dist/pipeline-ports.d.ts +13 -0
  126. package/dist/pipeline-ports.d.ts.map +1 -0
  127. package/dist/pipeline-ports.js +104 -0
  128. package/dist/pipeline-ports.js.map +1 -0
  129. package/dist/platform.d.ts +47 -3
  130. package/dist/platform.d.ts.map +1 -1
  131. package/dist/platform.js +309 -26
  132. package/dist/platform.js.map +1 -1
  133. package/dist/routes/ai-services.d.ts +4 -0
  134. package/dist/routes/ai-services.d.ts.map +1 -0
  135. package/dist/routes/ai-services.js +239 -0
  136. package/dist/routes/ai-services.js.map +1 -0
  137. package/dist/routes/assist.d.ts +4 -0
  138. package/dist/routes/assist.d.ts.map +1 -0
  139. package/dist/routes/assist.js +75 -0
  140. package/dist/routes/assist.js.map +1 -0
  141. package/dist/routes/connector-invocations.d.ts.map +1 -1
  142. package/dist/routes/connector-invocations.js +18 -21
  143. package/dist/routes/connector-invocations.js.map +1 -1
  144. package/dist/routes/data-journey.js +11 -11
  145. package/dist/routes/data-journey.js.map +1 -1
  146. package/dist/routes/intelligence.d.ts.map +1 -1
  147. package/dist/routes/intelligence.js +19 -1
  148. package/dist/routes/intelligence.js.map +1 -1
  149. package/dist/routes/jobs.d.ts +4 -0
  150. package/dist/routes/jobs.d.ts.map +1 -0
  151. package/dist/routes/jobs.js +888 -0
  152. package/dist/routes/jobs.js.map +1 -0
  153. package/dist/routes/memory.d.ts.map +1 -1
  154. package/dist/routes/memory.js +278 -80
  155. package/dist/routes/memory.js.map +1 -1
  156. package/dist/routes/metadata.d.ts.map +1 -1
  157. package/dist/routes/metadata.js +770 -21
  158. package/dist/routes/metadata.js.map +1 -1
  159. package/dist/routes/pipelines.d.ts.map +1 -1
  160. package/dist/routes/pipelines.js +98 -22
  161. package/dist/routes/pipelines.js.map +1 -1
  162. package/dist/routes/relationships.d.ts.map +1 -1
  163. package/dist/routes/relationships.js +109 -2
  164. package/dist/routes/relationships.js.map +1 -1
  165. package/dist/routes/simulation.d.ts +7 -0
  166. package/dist/routes/simulation.d.ts.map +1 -0
  167. package/dist/routes/simulation.js +22 -0
  168. package/dist/routes/simulation.js.map +1 -0
  169. package/dist/runx/client.d.ts +18 -0
  170. package/dist/runx/client.d.ts.map +1 -0
  171. package/dist/runx/client.js +59 -0
  172. package/dist/runx/client.js.map +1 -0
  173. package/dist/simulation.d.ts +26 -0
  174. package/dist/simulation.d.ts.map +1 -0
  175. package/dist/simulation.js +46 -0
  176. package/dist/simulation.js.map +1 -0
  177. package/openapi/openapi.json +6262 -3139
  178. package/package.json +18 -8
@@ -0,0 +1,258 @@
1
+ import { classifyConnectorRole, } from "./connector-role.js";
2
+ import { fetchGenericConnectorCatalog, } from "./generic-connectors.js";
3
+ const BUILTIN_CONNECTORS = [
4
+ {
5
+ id: "opx-rest",
6
+ displayName: "OpX REST",
7
+ capabilities: { pull: true, cursor: true, simulation: true },
8
+ },
9
+ {
10
+ id: "knowx-rest",
11
+ displayName: "KnowX REST",
12
+ capabilities: { pull: true, cursor: true, simulation: true },
13
+ },
14
+ {
15
+ id: "knowx-folder",
16
+ displayName: "KnowX folder",
17
+ capabilities: { pull: true, simulation: true },
18
+ },
19
+ {
20
+ id: "knowx-managed",
21
+ displayName: "KnowX managed",
22
+ capabilities: {
23
+ pull: true,
24
+ largeContent: true,
25
+ remoteHosting: true,
26
+ validation: true,
27
+ health: true,
28
+ simulation: true,
29
+ },
30
+ },
31
+ ];
32
+ function capsToRecord(caps, fallback = { pull: true }) {
33
+ if (!caps)
34
+ return { ...fallback };
35
+ if (Array.isArray(caps)) {
36
+ const out = {};
37
+ for (const k of caps) {
38
+ if (typeof k === "string" && k.trim())
39
+ out[k.trim()] = true;
40
+ }
41
+ return Object.keys(out).length ? out : { ...fallback };
42
+ }
43
+ const out = {};
44
+ for (const [k, v] of Object.entries(caps)) {
45
+ if (v === true)
46
+ out[k] = true;
47
+ }
48
+ return Object.keys(out).length ? out : { ...fallback };
49
+ }
50
+ function finalizeRow(partial) {
51
+ const { explicitRole, ...rest } = partial;
52
+ const { isSource, isTarget, role } = classifyConnectorRole(rest.capabilities, explicitRole);
53
+ return {
54
+ ...rest,
55
+ capabilityKeys: Object.keys(rest.capabilities).filter((k) => rest.capabilities[k] === true),
56
+ isSource,
57
+ isTarget,
58
+ connectorRole: role,
59
+ };
60
+ }
61
+ function addStub(byId, id, opts) {
62
+ if (byId.has(id))
63
+ return;
64
+ const capabilities = opts.role === "source"
65
+ ? { pull: true, remoteHosting: true }
66
+ : {
67
+ push: true,
68
+ export: true,
69
+ destination: true,
70
+ remoteHosting: true,
71
+ };
72
+ byId.set(id, finalizeRow({
73
+ id,
74
+ version: "0.0.0",
75
+ displayName: id,
76
+ protocol: "memorix-connector/1",
77
+ enabled: true,
78
+ capabilities,
79
+ origin: "generic-connectors",
80
+ hostBaseUrl: opts.hostBaseUrl,
81
+ remoteHosting: true,
82
+ framework: true,
83
+ unavailableReason: opts.unavailableReason,
84
+ explicitRole: opts.role,
85
+ }));
86
+ }
87
+ /**
88
+ * List all connector packages operators may pick (AI-style catalog root).
89
+ * Registry wins over builtins and MGC for the same id.
90
+ * Live MGC catalog supplies role-tagged packages; env id lists are offline stubs only.
91
+ */
92
+ export async function listUnifiedConnectors(input) {
93
+ const byId = new Map();
94
+ const fetchImpl = input.fetchImpl ?? fetch;
95
+ const mgc = input.genericConnectors;
96
+ for (const doc of input.connectorRegistry.list()) {
97
+ const manifest = (doc.manifest ?? {});
98
+ const caps = capsToRecord(manifest.capabilities);
99
+ byId.set(doc.connectorId, finalizeRow({
100
+ id: doc.connectorId,
101
+ version: doc.version ?? "0.0.0",
102
+ displayName: typeof manifest.displayName === "string"
103
+ ? manifest.displayName
104
+ : doc.connectorId,
105
+ protocol: doc.protocol ?? "memorix-connector/1",
106
+ enabled: doc.enabled !== false,
107
+ capabilities: caps,
108
+ origin: "registry",
109
+ remoteHosting: caps.remoteHosting === true,
110
+ framework: true,
111
+ hostBaseUrl: typeof manifest.hostBaseUrl === "string"
112
+ ? manifest.hostBaseUrl
113
+ : undefined,
114
+ explicitRole: manifest.role,
115
+ }));
116
+ }
117
+ for (const b of BUILTIN_CONNECTORS) {
118
+ if (byId.has(b.id))
119
+ continue;
120
+ byId.set(b.id, finalizeRow({
121
+ id: b.id,
122
+ version: "1.0.0",
123
+ displayName: b.displayName,
124
+ protocol: "memorix-connector/1",
125
+ enabled: true,
126
+ capabilities: { ...b.capabilities },
127
+ origin: "builtin",
128
+ remoteHosting: b.capabilities.remoteHosting === true,
129
+ framework: true,
130
+ }));
131
+ }
132
+ // MGC source connectors (live catalog)
133
+ if (mgc.sourceServiceUrl) {
134
+ const rows = await fetchGenericConnectorCatalog(mgc.sourceServiceUrl, fetchImpl, { defaultRole: "source" });
135
+ for (const row of rows) {
136
+ if (byId.has(row.id))
137
+ continue;
138
+ const fallback = row.role === "target"
139
+ ? { push: true, remoteHosting: true }
140
+ : { pull: true, remoteHosting: true };
141
+ const caps = capsToRecord(row.capabilities, fallback);
142
+ caps.remoteHosting = true;
143
+ byId.set(row.id, finalizeRow({
144
+ id: row.id,
145
+ version: row.version,
146
+ displayName: row.displayName ?? row.id,
147
+ protocol: row.protocol ?? "memorix-connector/1",
148
+ enabled: true,
149
+ capabilities: caps,
150
+ origin: "generic-connectors",
151
+ hostBaseUrl: mgc.sourceServiceUrl,
152
+ remoteHosting: true,
153
+ framework: true,
154
+ explicitRole: row.role,
155
+ definitionHash: row.definitionHash,
156
+ }));
157
+ }
158
+ // Offline stubs only when explicitly configured and catalog missed the id
159
+ for (const id of mgc.remoteSourceConnectorIds) {
160
+ addStub(byId, id, {
161
+ hostBaseUrl: mgc.sourceServiceUrl,
162
+ role: "source",
163
+ });
164
+ }
165
+ }
166
+ else {
167
+ for (const id of mgc.remoteSourceConnectorIds) {
168
+ addStub(byId, id, {
169
+ role: "source",
170
+ unavailableReason: "Set MGC_SOURCE_SERVICE_URL to enable",
171
+ });
172
+ }
173
+ }
174
+ // MGC target connectors (live catalog)
175
+ if (mgc.targetServiceUrl) {
176
+ const rows = await fetchGenericConnectorCatalog(mgc.targetServiceUrl, fetchImpl, { defaultRole: "target" });
177
+ for (const row of rows) {
178
+ if (byId.has(row.id)) {
179
+ const existing = byId.get(row.id);
180
+ if (!existing.isTarget) {
181
+ existing.capabilities = {
182
+ ...existing.capabilities,
183
+ push: true,
184
+ export: true,
185
+ destination: true,
186
+ };
187
+ const roles = classifyConnectorRole(existing.capabilities, row.role ?? "target");
188
+ existing.isSource = roles.isSource;
189
+ existing.isTarget = roles.isTarget;
190
+ existing.connectorRole = roles.role;
191
+ existing.capabilityKeys = Object.keys(existing.capabilities);
192
+ }
193
+ if (!existing.hostBaseUrl)
194
+ existing.hostBaseUrl = mgc.targetServiceUrl;
195
+ continue;
196
+ }
197
+ const caps = capsToRecord(row.capabilities, {
198
+ push: true,
199
+ export: true,
200
+ destination: true,
201
+ remoteHosting: true,
202
+ });
203
+ caps.remoteHosting = true;
204
+ byId.set(row.id, finalizeRow({
205
+ id: row.id,
206
+ version: row.version,
207
+ displayName: row.displayName ?? row.id,
208
+ protocol: row.protocol ?? "memorix-connector/1",
209
+ enabled: true,
210
+ capabilities: caps,
211
+ origin: "generic-connectors",
212
+ hostBaseUrl: mgc.targetServiceUrl,
213
+ remoteHosting: true,
214
+ framework: true,
215
+ explicitRole: row.role ?? "target",
216
+ definitionHash: row.definitionHash,
217
+ }));
218
+ }
219
+ for (const id of mgc.remoteTargetConnectorIds) {
220
+ addStub(byId, id, {
221
+ hostBaseUrl: mgc.targetServiceUrl,
222
+ role: "target",
223
+ });
224
+ }
225
+ }
226
+ else {
227
+ for (const id of mgc.remoteTargetConnectorIds) {
228
+ addStub(byId, id, {
229
+ role: "target",
230
+ unavailableReason: "Set MGC_TARGET_SERVICE_URL to enable",
231
+ });
232
+ }
233
+ }
234
+ return [...byId.values()].sort((a, b) => a.id.localeCompare(b.id));
235
+ }
236
+ /** Shape for GET /api/connectors response rows. */
237
+ export function toApiConnectorRow(row) {
238
+ return {
239
+ id: row.id,
240
+ version: row.version,
241
+ protocol: row.protocol,
242
+ enabled: row.enabled,
243
+ framework: row.framework,
244
+ displayName: row.displayName,
245
+ capabilities: row.capabilities,
246
+ connectorRole: row.connectorRole,
247
+ isSource: row.isSource,
248
+ isTarget: row.isTarget,
249
+ origin: row.origin,
250
+ ...(row.hostBaseUrl ? { hostBaseUrl: row.hostBaseUrl } : {}),
251
+ ...(row.remoteHosting ? { remoteHosting: true } : {}),
252
+ ...(row.unavailableReason
253
+ ? { unavailableReason: row.unavailableReason }
254
+ : {}),
255
+ ...(row.definitionHash ? { definitionHash: row.definitionHash } : {}),
256
+ };
257
+ }
258
+ //# sourceMappingURL=connector-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-catalog.js","sourceRoot":"","sources":["../src/connector-catalog.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,4BAA4B,GAE7B,MAAM,yBAAyB,CAAC;AA4BjC,MAAM,kBAAkB,GAInB;IACH;QACE,EAAE,EAAE,UAAU;QACd,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;KAC7D;IACD;QACE,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,YAAY;QACzB,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;KAC7D;IACD;QACE,EAAE,EAAE,cAAc;QAClB,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;KAC/C;IACD;QACE,EAAE,EAAE,eAAe;QACnB,WAAW,EAAE,eAAe;QAC5B,YAAY,EAAE;YACZ,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;SACjB;KACF;CACF,CAAC;AAEF,SAAS,YAAY,CACnB,IAAoD,EACpD,WAAoC,EAAE,IAAI,EAAE,IAAI,EAAE;IAElD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;gBAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC9D,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,WAAW,CAClB,OAGqE;IAErE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC1C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,qBAAqB,CACxD,IAAI,CAAC,YAAY,EACjB,YAAY,CACb,CAAC;IACF,OAAO;QACL,GAAG,IAAI;QACP,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CACrC;QACD,QAAQ;QACR,QAAQ;QACR,aAAa,EAAE,IAAI;KACpB,CAAC;AACJ,CAAC;AAiBD,SAAS,OAAO,CACd,IAAsC,EACtC,EAAU,EACV,IAIC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO;IACzB,MAAM,YAAY,GAChB,IAAI,CAAC,IAAI,KAAK,QAAQ;QACpB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;QACrC,CAAC,CAAC;YACE,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,IAAI;SACpB,CAAC;IACR,IAAI,CAAC,GAAG,CACN,EAAE,EACF,WAAW,CAAC;QACV,EAAE;QACF,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,IAAI;QACb,YAAY;QACZ,MAAM,EAAE,oBAAoB;QAC5B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,YAAY,EAAE,IAAI,CAAC,IAAI;KACxB,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAiC;IAEjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAA+B,CAAC;IACpD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAEpC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;QACjE,MAAM,IAAI,GAAG,YAAY,CACvB,QAAQ,CAAC,YAAmD,CAC7D,CAAC;QACF,IAAI,CAAC,GAAG,CACN,GAAG,CAAC,WAAW,EACf,WAAW,CAAC;YACV,EAAE,EAAE,GAAG,CAAC,WAAW;YACnB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO;YAC/B,WAAW,EACT,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ;gBACtC,CAAC,CAAC,QAAQ,CAAC,WAAW;gBACtB,CAAC,CAAC,GAAG,CAAC,WAAW;YACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,qBAAqB;YAC/C,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK;YAC9B,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,UAAU;YAClB,aAAa,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI;YAC1C,SAAS,EAAE,IAAI;YACf,WAAW,EACT,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ;gBACtC,CAAC,CAAC,QAAQ,CAAC,WAAW;gBACtB,CAAC,CAAC,SAAS;YACf,YAAY,EAAE,QAAQ,CAAC,IAAI;SAC5B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,SAAS;QAC7B,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,EAAE,EACJ,WAAW,CAAC;YACV,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,qBAAqB;YAC/B,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE;YACnC,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC,aAAa,KAAK,IAAI;YACpD,SAAS,EAAE,IAAI;SAChB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAC7C,GAAG,CAAC,gBAAgB,EACpB,SAAS,EACT,EAAE,WAAW,EAAE,QAAQ,EAAE,CAC1B,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC/B,MAAM,QAAQ,GACZ,GAAG,CAAC,IAAI,KAAK,QAAQ;gBACnB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;gBACrC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,GAAG,CACN,GAAG,CAAC,EAAE,EACN,WAAW,CAAC;gBACV,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE;gBACtC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,qBAAqB;gBAC/C,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,oBAAoB;gBAC5B,WAAW,EAAE,GAAG,CAAC,gBAAgB;gBACjC,aAAa,EAAE,IAAI;gBACnB,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,GAAG,CAAC,IAAI;gBACtB,cAAc,EAAE,GAAG,CAAC,cAAc;aACnC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,0EAA0E;QAC1E,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,wBAAwB,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE;gBAChB,WAAW,EAAE,GAAG,CAAC,gBAAgB;gBACjC,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,wBAAwB,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,iBAAiB,EAAE,sCAAsC;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAC7C,GAAG,CAAC,gBAAgB,EACpB,SAAS,EACT,EAAE,WAAW,EAAE,QAAQ,EAAE,CAC1B,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACvB,QAAQ,CAAC,YAAY,GAAG;wBACtB,GAAG,QAAQ,CAAC,YAAY;wBACxB,IAAI,EAAE,IAAI;wBACV,MAAM,EAAE,IAAI;wBACZ,WAAW,EAAE,IAAI;qBAClB,CAAC;oBACF,MAAM,KAAK,GAAG,qBAAqB,CACjC,QAAQ,CAAC,YAAY,EACrB,GAAG,CAAC,IAAI,IAAI,QAAQ,CACrB,CAAC;oBACF,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;oBACnC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;oBACnC,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC;oBACpC,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,WAAW;oBAAE,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,gBAAgB,CAAC;gBACvE,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE;gBAC1C,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,GAAG,CACN,GAAG,CAAC,EAAE,EACN,WAAW,CAAC;gBACV,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,EAAE;gBACtC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,qBAAqB;gBAC/C,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,oBAAoB;gBAC5B,WAAW,EAAE,GAAG,CAAC,gBAAgB;gBACjC,aAAa,EAAE,IAAI;gBACnB,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,GAAG,CAAC,IAAI,IAAI,QAAQ;gBAClC,cAAc,EAAE,GAAG,CAAC,cAAc;aACnC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,wBAAwB,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE;gBAChB,WAAW,EAAE,GAAG,CAAC,gBAAgB;gBACjC,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,wBAAwB,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,iBAAiB,EAAE,sCAAsC;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,iBAAiB,CAAC,GAAwB;IACxD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,GAAG,CAAC,iBAAiB;YACvB,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Leaf helpers for source vs target connector role.
3
+ * Keep free of execution-target / catalog imports to avoid cycles.
4
+ */
5
+ export type ConnectorRole = "source" | "target" | "both";
6
+ /** Normalize capability maps / string lists for source vs target classification. */
7
+ export declare function normalizeCapabilityKeys(capabilities: string[] | Record<string, unknown> | undefined | null): Set<string>;
8
+ /**
9
+ * Parse explicit MGC / catalog `role` (`source` | `target` | `both`).
10
+ * Preferred over capability inference when present (MGC 0.1.2+).
11
+ */
12
+ export declare function parseExplicitConnectorRole(role: unknown): ConnectorRole | null;
13
+ /**
14
+ * Classify connector direction.
15
+ * Prefer explicit `role` (catalog item / well-known); fall back to capabilities.
16
+ */
17
+ export declare function classifyConnectorRole(capabilities: string[] | Record<string, unknown> | undefined | null, explicitRole?: unknown): {
18
+ isSource: boolean;
19
+ isTarget: boolean;
20
+ role: ConnectorRole | null;
21
+ };
22
+ //# sourceMappingURL=connector-role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-role.d.ts","sourceRoot":"","sources":["../src/connector-role.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzD,oFAAoF;AACpF,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,GAClE,GAAG,CAAC,MAAM,CAAC,CAeb;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,OAAO,GACZ,aAAa,GAAG,IAAI,CAMtB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,EACnE,YAAY,CAAC,EAAE,OAAO,GACrB;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAA;CAAE,CA0BtE"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Leaf helpers for source vs target connector role.
3
+ * Keep free of execution-target / catalog imports to avoid cycles.
4
+ */
5
+ const TARGET_CAPABILITY_KEYS = new Set(["push", "export", "destination"]);
6
+ /** Normalize capability maps / string lists for source vs target classification. */
7
+ export function normalizeCapabilityKeys(capabilities) {
8
+ const out = new Set();
9
+ if (!capabilities)
10
+ return out;
11
+ if (Array.isArray(capabilities)) {
12
+ for (const c of capabilities) {
13
+ if (typeof c === "string" && c.trim())
14
+ out.add(c.trim());
15
+ }
16
+ return out;
17
+ }
18
+ if (typeof capabilities === "object") {
19
+ for (const [k, v] of Object.entries(capabilities)) {
20
+ if (v === true)
21
+ out.add(k);
22
+ }
23
+ }
24
+ return out;
25
+ }
26
+ /**
27
+ * Parse explicit MGC / catalog `role` (`source` | `target` | `both`).
28
+ * Preferred over capability inference when present (MGC 0.1.2+).
29
+ */
30
+ export function parseExplicitConnectorRole(role) {
31
+ if (role === "source" || role === "target" || role === "both")
32
+ return role;
33
+ if (typeof role !== "string")
34
+ return null;
35
+ const t = role.trim().toLowerCase();
36
+ if (t === "source" || t === "target" || t === "both")
37
+ return t;
38
+ return null;
39
+ }
40
+ /**
41
+ * Classify connector direction.
42
+ * Prefer explicit `role` (catalog item / well-known); fall back to capabilities.
43
+ */
44
+ export function classifyConnectorRole(capabilities, explicitRole) {
45
+ const fromRole = parseExplicitConnectorRole(explicitRole);
46
+ if (fromRole === "source") {
47
+ return { isSource: true, isTarget: false, role: "source" };
48
+ }
49
+ if (fromRole === "target") {
50
+ return { isSource: false, isTarget: true, role: "target" };
51
+ }
52
+ if (fromRole === "both") {
53
+ return { isSource: true, isTarget: true, role: "both" };
54
+ }
55
+ const keys = normalizeCapabilityKeys(capabilities);
56
+ const hasPull = keys.has("pull");
57
+ const hasTarget = [...TARGET_CAPABILITY_KEYS].some((k) => keys.has(k));
58
+ // Legacy / incomplete manifests: treat as source when not outbound-only.
59
+ const isSource = hasPull || !hasTarget;
60
+ const isTarget = hasTarget;
61
+ if (!isSource && !isTarget) {
62
+ return { isSource: false, isTarget: false, role: null };
63
+ }
64
+ if (isSource && isTarget) {
65
+ return { isSource: true, isTarget: true, role: "both" };
66
+ }
67
+ if (isSource)
68
+ return { isSource: true, isTarget: false, role: "source" };
69
+ return { isSource: false, isTarget: true, role: "target" };
70
+ }
71
+ //# sourceMappingURL=connector-role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-role.js","sourceRoot":"","sources":["../src/connector-role.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Module-level deliverer for pipeline destination invoke (memorix-destination/1).
3
+ * Set at platform boot — avoids importing Mongo/platform into live.ts cycle.
4
+ */
5
+ import type { MemoryDeliverer, MemoryDeliverRequest } from "@x12i/memorix-memory";
6
+ export declare function setPlatformDeliverer(d: MemoryDeliverer | null): void;
7
+ export declare function deliverViaPlatform(request: MemoryDeliverRequest): Promise<Awaited<ReturnType<MemoryDeliverer["deliver"]>>>;
8
+ //# sourceMappingURL=destination-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destination-runtime.d.ts","sourceRoot":"","sources":["../src/destination-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIlF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAEpE;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CACR,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAChD,CAKA"}
@@ -0,0 +1,11 @@
1
+ let deliverer = null;
2
+ export function setPlatformDeliverer(d) {
3
+ deliverer = d;
4
+ }
5
+ export async function deliverViaPlatform(request) {
6
+ if (!deliverer) {
7
+ throw new Error("MEMORY_DELIVERER_UNAVAILABLE: platform deliverer not configured");
8
+ }
9
+ return deliverer.deliver(request);
10
+ }
11
+ //# sourceMappingURL=destination-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destination-runtime.js","sourceRoot":"","sources":["../src/destination-runtime.ts"],"names":[],"mappings":"AAMA,IAAI,SAAS,GAA2B,IAAI,CAAC;AAE7C,MAAM,UAAU,oBAAoB,CAAC,CAAyB;IAC5D,SAAS,GAAG,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA6B;IAI7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Jobs Manager execution targets — pipelines, connectors, services, AI items.
3
+ * Direct (non-pipeline) targets compile into stable synthetic one-step plans.
4
+ */
5
+ import type { PipelineDefinition } from "@x12i/memorix-pipeline/v2";
6
+ import { type ServiceDefSlice } from "./pipeline-compile.js";
7
+ export type ExecutionTargetRef = {
8
+ kind: "pipeline";
9
+ pipelineId: string;
10
+ } | {
11
+ kind: "connector";
12
+ connectorId: string;
13
+ sourceId: string;
14
+ } | {
15
+ kind: "destination";
16
+ connectorId: string;
17
+ destinationId: string;
18
+ } | {
19
+ kind: "service";
20
+ serviceId: string;
21
+ } | {
22
+ kind: "ai-service";
23
+ aiServiceType: string;
24
+ itemId: string;
25
+ } | {
26
+ kind: "runx";
27
+ capabilityId: string;
28
+ };
29
+ export { classifyConnectorRole, normalizeCapabilityKeys, type ConnectorRole, } from "./connector-role.js";
30
+ export type ExecutionTargetCatalogEntry = {
31
+ kind: ExecutionTargetRef["kind"];
32
+ id: string;
33
+ name: string;
34
+ description?: string;
35
+ available: boolean;
36
+ unavailableReason?: string;
37
+ capabilities?: string[];
38
+ /** Concrete target ref to submit on queue/Work APIs. */
39
+ target: ExecutionTargetRef;
40
+ /** Nested options (e.g. sources under a connector, AI items under a type). */
41
+ children?: ExecutionTargetCatalogEntry[];
42
+ meta?: Record<string, unknown>;
43
+ };
44
+ export type ResolveExecutionTargetResult = {
45
+ target: ExecutionTargetRef;
46
+ pipelineId: string;
47
+ compiled: PipelineDefinition;
48
+ label: string;
49
+ };
50
+ export declare function isSyntheticPipelineId(pipelineId: string): boolean;
51
+ export declare function syntheticPipelineId(target: ExecutionTargetRef): string;
52
+ export declare function parseSyntheticPipelineId(pipelineId: string): ExecutionTargetRef | null;
53
+ /** Parse body.executionTarget or legacy body.pipelineId. */
54
+ export declare function parseExecutionTarget(body: unknown): ExecutionTargetRef;
55
+ export declare function buildSyntheticAuthoringDefinition(target: ExecutionTargetRef, opts?: {
56
+ serviceDefs?: ServiceDefSlice[];
57
+ sourceName?: string;
58
+ serviceName?: string;
59
+ itemTitle?: string;
60
+ }): Record<string, unknown>;
61
+ export type ExecutionTargetPlatform = {
62
+ metadata: {
63
+ resolveEffective: (agentIds: string[]) => {
64
+ effective?: Array<{
65
+ kind: string;
66
+ id: string;
67
+ definition: Record<string, unknown>;
68
+ provenance?: unknown;
69
+ }>;
70
+ };
71
+ getDefinition: (agentIds: string[], kind: string, id: string) => {
72
+ definition: unknown;
73
+ } | null | undefined;
74
+ };
75
+ connectorRegistry: {
76
+ list: () => Array<{
77
+ connectorId: string;
78
+ version?: string;
79
+ enabled?: boolean;
80
+ protocol?: string;
81
+ manifest?: Record<string, unknown>;
82
+ }>;
83
+ };
84
+ orgRuntimeSourcesFor: (orgId: string) => {
85
+ list: (opts?: {
86
+ agentIds?: string[];
87
+ origin?: string;
88
+ }) => Promise<Array<{
89
+ sourceId: string;
90
+ definition: Record<string, unknown>;
91
+ agentIds: string[];
92
+ origin?: string;
93
+ }>>;
94
+ };
95
+ /** Optional — destination deliver ET + catalog children. */
96
+ destinationStore?: {
97
+ list: (orgId: string) => Promise<Array<{
98
+ definition: {
99
+ id: string;
100
+ name: string;
101
+ connectorRef: string;
102
+ hostBaseUrl?: string;
103
+ };
104
+ }>>;
105
+ get: (orgId: string, destinationId: string) => Promise<{
106
+ definition: {
107
+ id: string;
108
+ name: string;
109
+ connectorRef: string;
110
+ hostBaseUrl?: string;
111
+ };
112
+ } | null>;
113
+ };
114
+ /** Optional — MGC env for unified catalog. */
115
+ genericConnectors?: import("./generic-connectors.js").GenericConnectorsConfig;
116
+ };
117
+ export declare function resolveExecutionTarget(platform: ExecutionTargetPlatform, opts: {
118
+ agentIds: string[];
119
+ orgId?: string | null;
120
+ target: ExecutionTargetRef;
121
+ }): Promise<ResolveExecutionTargetResult>;
122
+ /** Resolve by pipelineId — installed or synthetic. */
123
+ export declare function resolvePipelineIdAsTarget(platform: ExecutionTargetPlatform, opts: {
124
+ agentIds: string[];
125
+ orgId?: string | null;
126
+ pipelineId: string;
127
+ }): Promise<ResolveExecutionTargetResult>;
128
+ export declare function listExecutionTargets(platform: ExecutionTargetPlatform, opts: {
129
+ agentIds: string[];
130
+ orgId?: string | null;
131
+ }): Promise<{
132
+ pipelines: ExecutionTargetCatalogEntry[];
133
+ /** Alias of sourceConnectors (compat). */
134
+ connectors: ExecutionTargetCatalogEntry[];
135
+ sourceConnectors: ExecutionTargetCatalogEntry[];
136
+ targetConnectors: ExecutionTargetCatalogEntry[];
137
+ services: ExecutionTargetCatalogEntry[];
138
+ aiServices: ExecutionTargetCatalogEntry[];
139
+ runx: ExecutionTargetCatalogEntry[];
140
+ }>;
141
+ //# sourceMappingURL=execution-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-target.d.ts","sourceRoot":"","sources":["../src/execution-target.ts"],"names":[],"mappings":"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"}