@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.
- package/README.md +8 -1
- package/dist/ai-services/associate-prep.d.ts +37 -0
- package/dist/ai-services/associate-prep.d.ts.map +1 -0
- package/dist/ai-services/associate-prep.js +208 -0
- package/dist/ai-services/associate-prep.js.map +1 -0
- package/dist/ai-services/chunk-markdown.d.ts +22 -0
- package/dist/ai-services/chunk-markdown.d.ts.map +1 -0
- package/dist/ai-services/chunk-markdown.js +159 -0
- package/dist/ai-services/chunk-markdown.js.map +1 -0
- package/dist/ai-services/client.d.ts +31 -0
- package/dist/ai-services/client.d.ts.map +1 -0
- package/dist/ai-services/client.js +104 -0
- package/dist/ai-services/client.js.map +1 -0
- package/dist/ai-services/config.d.ts +17 -0
- package/dist/ai-services/config.d.ts.map +1 -0
- package/dist/ai-services/config.js +44 -0
- package/dist/ai-services/config.js.map +1 -0
- package/dist/ai-services/normalize-output.d.ts +29 -0
- package/dist/ai-services/normalize-output.d.ts.map +1 -0
- package/dist/ai-services/normalize-output.js +428 -0
- package/dist/ai-services/normalize-output.js.map +1 -0
- package/dist/ai-services/skill-execution.d.ts +24 -0
- package/dist/ai-services/skill-execution.d.ts.map +1 -0
- package/dist/ai-services/skill-execution.js +74 -0
- package/dist/ai-services/skill-execution.js.map +1 -0
- package/dist/ai-services/types.d.ts +62 -0
- package/dist/ai-services/types.d.ts.map +1 -0
- package/dist/ai-services/types.js +3 -0
- package/dist/ai-services/types.js.map +1 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +41 -6
- package/dist/app.js.map +1 -1
- package/dist/assist/ask.d.ts +35 -0
- package/dist/assist/ask.d.ts.map +1 -0
- package/dist/assist/ask.js +346 -0
- package/dist/assist/ask.js.map +1 -0
- package/dist/assist/facts.d.ts +5 -0
- package/dist/assist/facts.d.ts.map +1 -0
- package/dist/assist/facts.js +237 -0
- package/dist/assist/facts.js.map +1 -0
- package/dist/assist/merge-ask-proposal.d.ts +9 -0
- package/dist/assist/merge-ask-proposal.d.ts.map +1 -0
- package/dist/assist/merge-ask-proposal.js +57 -0
- package/dist/assist/merge-ask-proposal.js.map +1 -0
- package/dist/assist/types.d.ts +60 -0
- package/dist/assist/types.d.ts.map +1 -0
- package/dist/assist/types.js +57 -0
- package/dist/assist/types.js.map +1 -0
- package/dist/assist/validate.d.ts +4 -0
- package/dist/assist/validate.d.ts.map +1 -0
- package/dist/assist/validate.js +319 -0
- package/dist/assist/validate.js.map +1 -0
- package/dist/cli.js +29 -6
- package/dist/cli.js.map +1 -1
- package/dist/connector-catalog.d.ts +68 -0
- package/dist/connector-catalog.d.ts.map +1 -0
- package/dist/connector-catalog.js +258 -0
- package/dist/connector-catalog.js.map +1 -0
- package/dist/connector-role.d.ts +22 -0
- package/dist/connector-role.d.ts.map +1 -0
- package/dist/connector-role.js +71 -0
- package/dist/connector-role.js.map +1 -0
- package/dist/destination-runtime.d.ts +8 -0
- package/dist/destination-runtime.d.ts.map +1 -0
- package/dist/destination-runtime.js +11 -0
- package/dist/destination-runtime.js.map +1 -0
- package/dist/execution-target.d.ts +141 -0
- package/dist/execution-target.d.ts.map +1 -0
- package/dist/execution-target.js +853 -0
- package/dist/execution-target.js.map +1 -0
- package/dist/generic-connectors.d.ts +41 -0
- package/dist/generic-connectors.d.ts.map +1 -0
- package/dist/generic-connectors.js +158 -0
- package/dist/generic-connectors.js.map +1 -0
- package/dist/isolation.d.ts +1 -1
- package/dist/isolation.d.ts.map +1 -1
- package/dist/jobs-scope.d.ts +21 -0
- package/dist/jobs-scope.d.ts.map +1 -0
- package/dist/jobs-scope.js +83 -0
- package/dist/jobs-scope.js.map +1 -0
- package/dist/journey/collect.js +2 -2
- package/dist/journey/collect.js.map +1 -1
- package/dist/journey/coverage.js +3 -3
- package/dist/journey/coverage.js.map +1 -1
- package/dist/known-packs.d.ts +1 -1
- package/dist/known-packs.d.ts.map +1 -1
- package/dist/known-packs.js +1 -1
- package/dist/known-packs.js.map +1 -1
- package/dist/live.d.ts +13 -1
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +866 -2
- package/dist/live.js.map +1 -1
- package/dist/magit/magit-pack-service.d.ts +112 -0
- package/dist/magit/magit-pack-service.d.ts.map +1 -1
- package/dist/magit/magit-pack-service.js +494 -12
- package/dist/magit/magit-pack-service.js.map +1 -1
- package/dist/magit/pack-to-patchset.d.ts +20 -1
- package/dist/magit/pack-to-patchset.d.ts.map +1 -1
- package/dist/magit/pack-to-patchset.js +82 -9
- package/dist/magit/pack-to-patchset.js.map +1 -1
- package/dist/magit/package-catalog-bridge.d.ts +58 -0
- package/dist/magit/package-catalog-bridge.d.ts.map +1 -0
- package/dist/magit/package-catalog-bridge.js +220 -0
- package/dist/magit/package-catalog-bridge.js.map +1 -0
- package/dist/magit/proposal-to-pack.d.ts +22 -0
- package/dist/magit/proposal-to-pack.d.ts.map +1 -0
- package/dist/magit/proposal-to-pack.js +68 -0
- package/dist/magit/proposal-to-pack.js.map +1 -0
- package/dist/mongo-metadata-store.d.ts.map +1 -1
- package/dist/mongo-metadata-store.js +9 -3
- package/dist/mongo-metadata-store.js.map +1 -1
- package/dist/openapi/openapi.json +6262 -3139
- package/dist/org-sources.d.ts +14 -0
- package/dist/org-sources.d.ts.map +1 -0
- package/dist/org-sources.js +31 -0
- package/dist/org-sources.js.map +1 -0
- package/dist/pipeline-compile.d.ts +67 -1
- package/dist/pipeline-compile.d.ts.map +1 -1
- package/dist/pipeline-compile.js +455 -29
- package/dist/pipeline-compile.js.map +1 -1
- package/dist/pipeline-invoke.d.ts +63 -0
- package/dist/pipeline-invoke.d.ts.map +1 -0
- package/dist/pipeline-invoke.js +114 -0
- package/dist/pipeline-invoke.js.map +1 -0
- package/dist/pipeline-ports.d.ts +13 -0
- package/dist/pipeline-ports.d.ts.map +1 -0
- package/dist/pipeline-ports.js +104 -0
- package/dist/pipeline-ports.js.map +1 -0
- package/dist/platform.d.ts +47 -3
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +309 -26
- package/dist/platform.js.map +1 -1
- package/dist/routes/ai-services.d.ts +4 -0
- package/dist/routes/ai-services.d.ts.map +1 -0
- package/dist/routes/ai-services.js +239 -0
- package/dist/routes/ai-services.js.map +1 -0
- package/dist/routes/assist.d.ts +4 -0
- package/dist/routes/assist.d.ts.map +1 -0
- package/dist/routes/assist.js +75 -0
- package/dist/routes/assist.js.map +1 -0
- package/dist/routes/connector-invocations.d.ts.map +1 -1
- package/dist/routes/connector-invocations.js +18 -21
- package/dist/routes/connector-invocations.js.map +1 -1
- package/dist/routes/data-journey.js +11 -11
- package/dist/routes/data-journey.js.map +1 -1
- package/dist/routes/intelligence.d.ts.map +1 -1
- package/dist/routes/intelligence.js +19 -1
- package/dist/routes/intelligence.js.map +1 -1
- package/dist/routes/jobs.d.ts +4 -0
- package/dist/routes/jobs.d.ts.map +1 -0
- package/dist/routes/jobs.js +888 -0
- package/dist/routes/jobs.js.map +1 -0
- package/dist/routes/memory.d.ts.map +1 -1
- package/dist/routes/memory.js +278 -80
- package/dist/routes/memory.js.map +1 -1
- package/dist/routes/metadata.d.ts.map +1 -1
- package/dist/routes/metadata.js +770 -21
- package/dist/routes/metadata.js.map +1 -1
- package/dist/routes/pipelines.d.ts.map +1 -1
- package/dist/routes/pipelines.js +98 -22
- package/dist/routes/pipelines.js.map +1 -1
- package/dist/routes/relationships.d.ts.map +1 -1
- package/dist/routes/relationships.js +109 -2
- package/dist/routes/relationships.js.map +1 -1
- package/dist/routes/simulation.d.ts +7 -0
- package/dist/routes/simulation.d.ts.map +1 -0
- package/dist/routes/simulation.js +22 -0
- package/dist/routes/simulation.js.map +1 -0
- package/dist/runx/client.d.ts +18 -0
- package/dist/runx/client.d.ts.map +1 -0
- package/dist/runx/client.js +59 -0
- package/dist/runx/client.js.map +1 -0
- package/dist/simulation.d.ts +26 -0
- package/dist/simulation.d.ts.map +1 -0
- package/dist/simulation.js +46 -0
- package/dist/simulation.js.map +1 -0
- package/openapi/openapi.json +6262 -3139
- 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":"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"}
|
|
@@ -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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"}
|