@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
package/dist/platform.js CHANGED
@@ -7,18 +7,22 @@ import { createInMemoryMetadataStore, createMetadataClient, } from "@x12i/memori
7
7
  import { createMongoContentReader, createMongoContentWriter, createMongoAbstractWriter, createMongoDataPlane, } from "@x12i/memorix-data";
8
8
  import { createMongoRelationshipStore } from "@x12i/memorix-relationship-store";
9
9
  import { createRelationshipEngine, } from "@x12i/memorix-relationships";
10
- import { createMemoryCollector, createMongoMemoryRunStore, createMongoMemoryScheduleStore, createStaticCredentialProvider, createOpxFixtureConnector, createKnowxFixtureConnector, createInMemoryConnectorRegistry, createInMemoryPushEnvelopeStore, tickMemorySchedules, } from "@x12i/memorix-memory";
10
+ import { createMemoryCollector, createMongoMemoryRunStore, createMongoMemoryScheduleStore, createMongoOrgRuntimeSourceStore, createInMemoryOrgRuntimeSourceStore, createStaticCredentialProvider, createOpxRestConnector, createKnowxRestConnector, createInMemoryConnectorRegistry, createInMemoryPushEnvelopeStore, createInMemoryInvocationLedger, createInMemoryDestinationStore, createMemoryDeliverer, tickMemorySchedules, } from "@x12i/memorix-memory";
11
11
  import { createFixtureConnector } from "@x12i/memorix-connector-sdk";
12
12
  import { createGovernedCredentialProvider, } from "@x12i/credorix-client";
13
13
  import { createIntelligenceArtifactPersistence, createMongoRunLedger, } from "@x12i/memorix-intelligence";
14
- import { createMongoRunLedger as createPipelineLedger, createPipelineRuntime, createLivePortRegistry, loadDataRef, } from "@x12i/memorix-pipeline/v2";
14
+ import { createMongoRunLedger as createPipelineLedger, createMemoryRunLedger, createPipelineRuntime, createLivePortRegistry, loadDataRef, tickWork, promoteHeldRuns, } from "@x12i/memorix-pipeline/v2";
15
+ import { createMongoOperationalStores, createMemoryOperationalStores, ensureOperationalIndexes, } from "@x12i/memorix-pipeline-runtime";
15
16
  import { ServiceError } from "./errors.js";
16
- import { memoryPullFetch, serviceInvokePorts } from "./live.js";
17
+ import { memoryPullFetch, serviceInvokePorts, setStepProgressReporter } from "./live.js";
17
18
  import { resolveKnowxWorkerBaseUrl } from "./pipeline-compile.js";
19
+ import { createRemoteOrLocalPort, createRunPipelinePort, createRunxPort, } from "./pipeline-ports.js";
18
20
  import { createMongoMetadataStore, } from "./mongo-metadata-store.js";
19
21
  import { catalogFromMetadataClient, relationshipMetadataResolver, } from "./catalog-bridge.js";
20
22
  import { assertSafeSandboxOrgId, recordCreatedDatabase, } from "./isolation.js";
21
23
  import { createMagitPackService, isMetadataMagitEnabled, resolveMagitRepoRootParent, } from "./magit/magit-pack-service.js";
24
+ import { loadGenericConnectorsConfig, } from "./generic-connectors.js";
25
+ import { setPlatformDeliverer } from "./destination-runtime.js";
22
26
  export class PlatformStartupError extends ServiceError {
23
27
  constructor(message) {
24
28
  super("PLATFORM_STARTUP_FAILED", message, 503);
@@ -31,15 +35,27 @@ export async function createMemorixPlatform(deps) {
31
35
  }
32
36
  let client = null;
33
37
  const ledgers = new Map();
38
+ const operationalStoresByOrg = new Map();
34
39
  const intelStores = new Map();
35
40
  const portsCache = new Map();
41
+ const orgRuntimeSourceStores = new Map();
36
42
  let durableMetadata = null;
37
43
  // Global framework connector registry (manifests + runtimes, no secrets).
38
44
  const connectorRegistry = createInMemoryConnectorRegistry({
39
- "conformance-fixture": createFixtureConnector([
45
+ "sdk-conformance": createFixtureConnector([
40
46
  { id: "demo-1", body: { name: "demo" } },
41
47
  ]),
42
48
  });
49
+ const invocationLedger = createInMemoryInvocationLedger();
50
+ const destinationStore = createInMemoryDestinationStore();
51
+ const genericConnectors = loadGenericConnectorsConfig();
52
+ const deliverer = createMemoryDeliverer({
53
+ store: destinationStore,
54
+ remoteHostMap: genericConnectors.remoteHostMap,
55
+ defaultRemoteHostUrl: genericConnectors.targetServiceUrl,
56
+ });
57
+ // Pipeline destination invoke (memorix-destination/1) → platform deliverer.
58
+ setPlatformDeliverer(deliverer);
43
59
  if (deps.mode === "prod") {
44
60
  if (!deps.mongoUri && !deps.client) {
45
61
  throw new PlatformStartupError("prod mode requires durable mongoUri (or injected MongoClient); no in-memory fallback");
@@ -84,16 +100,16 @@ export async function createMemorixPlatform(deps) {
84
100
  if (deps.isolation) {
85
101
  assertSafeSandboxOrgId(deps.isolation.orgId);
86
102
  }
103
+ const durableMetadataDbName = deps.isolation
104
+ ? deps.isolation.isolatedMetadataDb
105
+ : "memorix_platform_metadata";
87
106
  let metadata;
88
107
  if (deps.mode === "prod" || (client && !deps.allowMemoryMetadata)) {
89
- const metaDbName = deps.isolation
90
- ? deps.isolation.isolatedMetadataDb
91
- : "memorix_platform_metadata";
92
108
  if (deps.isolation) {
93
109
  // Touch creates DB; record in ledger
94
- recordCreatedDatabase(deps.isolation, metaDbName);
110
+ recordCreatedDatabase(deps.isolation, durableMetadataDbName);
95
111
  }
96
- const metaDb = client.db(metaDbName);
112
+ const metaDb = client.db(durableMetadataDbName);
97
113
  durableMetadata = createMongoMetadataStore(metaDb);
98
114
  await durableMetadata.hydrate();
99
115
  metadata = createMetadataClient(durableMetadata);
@@ -129,8 +145,61 @@ export async function createMemorixPlatform(deps) {
129
145
  ledgers.set(orgId, ledger);
130
146
  return ledger;
131
147
  }
132
- throw new ServiceError("DURABLE_STORE_REQUIRED", "pipeline ledger requires durable mongo", 503);
148
+ const ledger = createMemoryRunLedger();
149
+ ledgers.set(orgId, ledger);
150
+ return ledger;
151
+ }
152
+ function operationalStoresFor(orgId) {
153
+ const existing = operationalStoresByOrg.get(orgId);
154
+ if (existing)
155
+ return existing;
156
+ if (client) {
157
+ const db = operationalDbFor(orgId);
158
+ void ensureOperationalIndexes(db).catch(() => undefined);
159
+ const stores = createMongoOperationalStores({ db });
160
+ operationalStoresByOrg.set(orgId, stores);
161
+ return stores;
162
+ }
163
+ if (deps.mode === "prod") {
164
+ throw new ServiceError("DURABLE_STORE_REQUIRED", "operational stores require durable mongo", 503);
165
+ }
166
+ const stores = createMemoryOperationalStores();
167
+ operationalStoresByOrg.set(orgId, stores);
168
+ return stores;
169
+ }
170
+ async function listKnownOperationalOrgIds() {
171
+ const known = new Set([
172
+ ...operationalStoresByOrg.keys(),
173
+ ...ledgers.keys(),
174
+ ]);
175
+ if (client) {
176
+ try {
177
+ const dbs = await client.db().admin().listDatabases();
178
+ for (const d of dbs.databases ?? []) {
179
+ const name = d.name ?? "";
180
+ if (!name.endsWith("_operational"))
181
+ continue;
182
+ const orgId = name.slice(0, -"_operational".length);
183
+ if (orgId)
184
+ known.add(orgId);
185
+ }
186
+ }
187
+ catch {
188
+ // Discovery is best-effort; cached org keys still apply.
189
+ }
190
+ }
191
+ return [...known].sort((a, b) => a.localeCompare(b));
133
192
  }
193
+ // KnowX chunked extract reports mid-step progress onto the running attempt.
194
+ setStepProgressReporter(async (orgId, attemptId, progress) => {
195
+ const ledger = pipelineLedgerFor(orgId);
196
+ await ledger.updateAttempt(orgId, attemptId, {
197
+ progress: {
198
+ ...progress,
199
+ updatedAt: new Date().toISOString(),
200
+ },
201
+ });
202
+ });
134
203
  function intelligenceArtifactsFor(orgId) {
135
204
  const existing = intelStores.get(orgId);
136
205
  if (existing)
@@ -146,6 +215,16 @@ export async function createMemorixPlatform(deps) {
146
215
  intelStores.set(orgId, store);
147
216
  return store;
148
217
  }
218
+ function orgRuntimeSourcesFor(orgId) {
219
+ const existing = orgRuntimeSourceStores.get(orgId);
220
+ if (existing)
221
+ return existing;
222
+ const store = client
223
+ ? createMongoOrgRuntimeSourceStore(client, orgId)
224
+ : createInMemoryOrgRuntimeSourceStore(orgId);
225
+ orgRuntimeSourceStores.set(orgId, store);
226
+ return store;
227
+ }
149
228
  function portsFor(scope) {
150
229
  if (!client) {
151
230
  throw new ServiceError("CANONICAL_PORT_MISSING", "Mongo client required for data/relationship/memory/pipeline ports", 503);
@@ -186,6 +265,7 @@ export async function createMemorixPlatform(deps) {
186
265
  });
187
266
  const runStore = createMongoMemoryRunStore(client, scope.orgId);
188
267
  const scheduleStore = createMongoMemoryScheduleStore(client, scope.orgId);
268
+ const orgRuntimeSources = orgRuntimeSourcesFor(scope.orgId);
189
269
  const memory = createMemoryCollector({
190
270
  writer,
191
271
  reader,
@@ -197,27 +277,39 @@ export async function createMemorixPlatform(deps) {
197
277
  "knowx-source-local": { token: "local-acceptance-token" },
198
278
  }),
199
279
  metadata: {
200
- resolveSource(sourceId, agentIds) {
280
+ async resolveSource(sourceId, agentIds) {
201
281
  const def = metadata.getDefinition(agentIds, "sources", sourceId);
202
- return def?.definition ?? null;
282
+ if (def?.definition) {
283
+ return def.definition;
284
+ }
285
+ const orgDoc = await orgRuntimeSources.get(sourceId);
286
+ if (!orgDoc)
287
+ return null;
288
+ if (agentIds.length &&
289
+ orgDoc.agentIds.length &&
290
+ !agentIds.some((a) => orgDoc.agentIds.includes(a))) {
291
+ return null;
292
+ }
293
+ return orgDoc.definition;
203
294
  },
204
295
  },
205
- connectors: {
206
- "opx-fixture": createOpxFixtureConnector({
296
+ frameworkConnectors: {
297
+ "opx-rest": createOpxRestConnector({
207
298
  fetchImpl: memoryPullFetch,
208
299
  }),
209
- "rest-fixture": createOpxFixtureConnector({
300
+ "knowx-rest": createKnowxRestConnector({
210
301
  fetchImpl: memoryPullFetch,
211
302
  }),
212
- },
213
- frameworkConnectors: {
214
- "knowx-fixture": createKnowxFixtureConnector({
215
- fetchImpl: memoryPullFetch,
216
- }),
217
- "conformance-fixture": connectorRegistry.resolveRuntime("conformance-fixture") ??
303
+ "sdk-conformance": connectorRegistry.resolveRuntime("sdk-conformance") ??
218
304
  createFixtureConnector([{ id: "demo-1", body: { name: "demo" } }]),
219
305
  },
220
306
  pushEnvelopeStore: createInMemoryPushEnvelopeStore(),
307
+ invocationLedger,
308
+ remoteHost: {
309
+ remoteHostMap: genericConnectors.remoteHostMap,
310
+ defaultRemoteHostUrl: genericConnectors.sourceServiceUrl,
311
+ remoteConnectorIds: genericConnectors.remoteSourceConnectorIds,
312
+ },
221
313
  ...(credorix
222
314
  ? {
223
315
  credorix: {
@@ -263,7 +355,7 @@ export async function createMemorixPlatform(deps) {
263
355
  }
264
356
  return out;
265
357
  };
266
- const analyzeViaWorker = async (req) => {
358
+ const remoteViaWorker = async (req) => {
267
359
  const c = (req.config ?? {});
268
360
  const endpoint = String(c.endpoint ?? resolveKnowxWorkerBaseUrl()).replace(/\/+$/, "");
269
361
  const flatInputs = await flattenDataRefs((req.inputs ?? {}));
@@ -283,18 +375,41 @@ export async function createMemorixPlatform(deps) {
283
375
  const serviceDefs = (effectiveMeta.effective ?? [])
284
376
  .filter((e) => e.kind === "services")
285
377
  .map((e) => e.definition);
378
+ // Lazy ref so run-pipeline can call startChild on the same runtime.
379
+ const pipelineRef = {};
380
+ const platformForInvoke = {
381
+ metadata,
382
+ portsFor: (s) =>
383
+ // Re-enter the same org ports; cache key matches portsFor.
384
+ portsFor(s),
385
+ };
286
386
  const pipeline = createPipelineRuntime({
287
387
  mode: deps.mode === "prod" ? "prod" : "dev",
288
388
  orgId: scope.orgId,
289
389
  agentIds: scope.agentIds,
290
390
  operationalDb: operationalDbFor(scope.orgId),
291
391
  ledger: pipelineLedgerFor(scope.orgId),
392
+ stores: operationalStoresFor(scope.orgId),
292
393
  ports: {
293
394
  ...portRegistry,
294
- analyze: analyzeViaWorker,
395
+ analyze: createRemoteOrLocalPort(portRegistry.analyze, remoteViaWorker),
396
+ enrich: createRemoteOrLocalPort(portRegistry.enrich, remoteViaWorker),
397
+ decide: createRemoteOrLocalPort(portRegistry.decide, remoteViaWorker),
398
+ narrative: createRemoteOrLocalPort(portRegistry.narrative, remoteViaWorker),
399
+ "run-pipeline": createRunPipelinePort({
400
+ platform: platformForInvoke,
401
+ getRuntime: () => {
402
+ if (!pipelineRef.current) {
403
+ throw new Error("pipeline runtime not ready");
404
+ }
405
+ return pipelineRef.current;
406
+ },
407
+ }),
408
+ runx: createRunxPort(),
295
409
  },
296
410
  metadataServices: { services: serviceDefs },
297
411
  });
412
+ pipelineRef.current = pipeline;
298
413
  const orgPorts = {
299
414
  catalog,
300
415
  reader,
@@ -304,12 +419,16 @@ export async function createMemorixPlatform(deps) {
304
419
  memory,
305
420
  memoryRunStore: runStore,
306
421
  memoryScheduleStore: scheduleStore,
422
+ orgRuntimeSources,
307
423
  pipeline,
424
+ destinations: destinationStore,
425
+ deliverer,
308
426
  };
309
427
  portsCache.set(cacheKey, orgPorts);
310
428
  return orgPorts;
311
429
  }
312
430
  let scheduleTicker = null;
431
+ let jobsWorkTicker = null;
313
432
  function startMemoryScheduleTicker(opts) {
314
433
  if (scheduleTicker) {
315
434
  clearInterval(scheduleTicker);
@@ -376,15 +495,129 @@ export async function createMemorixPlatform(deps) {
376
495
  }
377
496
  };
378
497
  }
498
+ function startJobsWorkTicker(opts) {
499
+ if (jobsWorkTicker) {
500
+ clearInterval(jobsWorkTicker);
501
+ jobsWorkTicker = null;
502
+ }
503
+ const intervalMs = opts?.intervalMs ?? 15_000;
504
+ const tickOnce = async () => {
505
+ try {
506
+ const orgIds = await listKnownOperationalOrgIds();
507
+ for (const orgId of orgIds) {
508
+ const stores = operationalStoresFor(orgId);
509
+ const ledger = pipelineLedgerFor(orgId);
510
+ await promoteHeldRuns({
511
+ ledger,
512
+ orgId,
513
+ queueSettings: stores.queueSettings,
514
+ });
515
+ const due = await stores.workDefinitions.list(orgId, {
516
+ enabled: true,
517
+ dueBefore: new Date().toISOString(),
518
+ limit: 20,
519
+ });
520
+ const byAgents = new Map();
521
+ for (const w of due) {
522
+ const key = w.agentIds.join(",") || "_";
523
+ const list = byAgents.get(key) ?? [];
524
+ list.push(w);
525
+ byAgents.set(key, list);
526
+ }
527
+ for (const [agentKey, works] of byAgents) {
528
+ const agentIds = agentKey === "_"
529
+ ? works[0].agentIds
530
+ : agentKey.split(",").filter(Boolean);
531
+ const listAbstract = async () => ({ items: [] });
532
+ if (client) {
533
+ try {
534
+ const ports = portsFor({ orgId, agentIds });
535
+ // Prefer live abstract list when mongo ports are available.
536
+ void ports;
537
+ }
538
+ catch {
539
+ /* keep empty lister */
540
+ }
541
+ }
542
+ await tickWork({
543
+ orgId,
544
+ agentIds,
545
+ ledger,
546
+ workDefinitions: stores.workDefinitions,
547
+ workEvaluations: stores.workEvaluations,
548
+ batches: stores.batches,
549
+ queueSettings: stores.queueSettings,
550
+ listAbstract: client
551
+ ? async (input) => {
552
+ try {
553
+ const ports = portsFor({ orgId, agentIds });
554
+ const listed = await ports.reader.listAbstract({ orgId, agentIds }, {
555
+ abstractType: input.abstractType,
556
+ filters: input.filters,
557
+ limit: input.limit,
558
+ cursor: input.cursor,
559
+ });
560
+ return {
561
+ items: listed.items.map((item) => ({
562
+ objectType: item.objectType,
563
+ recordId: item.recordId,
564
+ contentType: item.contentType || input.contentType,
565
+ })),
566
+ nextCursor: listed.nextCursor,
567
+ };
568
+ }
569
+ catch {
570
+ return { items: [] };
571
+ }
572
+ }
573
+ : listAbstract,
574
+ resolvePipeline: async (ids, pipelineId) => {
575
+ const def = metadata.getDefinition(ids, "pipelines", pipelineId);
576
+ return def?.definition ?? null;
577
+ },
578
+ resolveScheduleCron: async (scheduleId) => {
579
+ const def = metadata.getDefinition(agentIds, "schedules", scheduleId);
580
+ if (!def?.definition || typeof def.definition !== "object") {
581
+ return null;
582
+ }
583
+ const cron = def.definition.cron;
584
+ return typeof cron === "string" && cron.trim() ? cron.trim() : null;
585
+ },
586
+ });
587
+ }
588
+ }
589
+ }
590
+ catch {
591
+ // Ticker must not crash the service.
592
+ }
593
+ };
594
+ void tickOnce();
595
+ jobsWorkTicker = setInterval(() => void tickOnce(), intervalMs);
596
+ if (typeof jobsWorkTicker.unref === "function")
597
+ jobsWorkTicker.unref();
598
+ return () => {
599
+ if (jobsWorkTicker) {
600
+ clearInterval(jobsWorkTicker);
601
+ jobsWorkTicker = null;
602
+ }
603
+ };
604
+ }
379
605
  const magitMongoUri = deps.mongoUri?.trim() || process.env.MONGO_URI?.trim() || "";
380
- const magit = isMetadataMagitEnabled() && deps.isolation && magitMongoUri
606
+ const magit = isMetadataMagitEnabled() && Boolean(durableMetadata) && magitMongoUri
381
607
  ? createMagitPackService({
382
608
  repoRootParent: resolveMagitRepoRootParent(),
383
609
  mongoUrlEnv: "MONGO_URI",
384
610
  mongoUri: magitMongoUri,
385
- metadataDb: deps.isolation.isolatedMetadataDb,
611
+ metadataDb: durableMetadataDbName,
386
612
  storageUrl: process.env.MAGIT_STORAGE_URL?.trim() || undefined,
387
613
  storageTokenEnv: process.env.MAGIT_STORAGE_TOKEN_ENV?.trim() || "MAGIT_TOKEN",
614
+ log: (msg, extra) => {
615
+ // Platform has no Fastify logger here; use stderr for ops visibility.
616
+ if (extra)
617
+ console.error(msg, extra);
618
+ else
619
+ console.error(msg);
620
+ },
388
621
  })
389
622
  : null;
390
623
  return {
@@ -393,32 +626,82 @@ export async function createMemorixPlatform(deps) {
393
626
  metadata,
394
627
  isolation: deps.isolation ?? null,
395
628
  magit,
629
+ async rehydrateMetadata() {
630
+ if (durableMetadata)
631
+ await durableMetadata.hydrate();
632
+ },
633
+ stampAgentLineage(agentId, lineage) {
634
+ if (!durableMetadata)
635
+ return;
636
+ const pack = durableMetadata.getAgentPack(agentId);
637
+ if (!pack)
638
+ return;
639
+ durableMetadata.replaceAgentPack(agentId, pack.checksum, pack.definitions, new Date().toISOString(), {
640
+ magitCommit: lineage.magitCommit ?? pack.magitCommit,
641
+ magitRelease: lineage.magitRelease ?? pack.magitRelease,
642
+ });
643
+ },
644
+ appendInstallLedger(entry) {
645
+ if (!durableMetadata)
646
+ return;
647
+ durableMetadata.appendLedger(entry);
648
+ },
396
649
  connectorRegistry,
650
+ invocationLedger,
651
+ destinationStore,
652
+ deliverer,
653
+ genericConnectors,
397
654
  credorix,
398
655
  operationalDbFor,
399
656
  metadataDbFor,
400
657
  pipelineLedgerFor,
658
+ operationalStoresFor,
659
+ listKnownOperationalOrgIds,
401
660
  intelligenceArtifactsFor,
402
661
  portsFor,
662
+ orgRuntimeSourcesFor,
403
663
  startMemoryScheduleTicker,
664
+ startJobsWorkTicker,
404
665
  async close() {
405
666
  if (scheduleTicker) {
406
667
  clearInterval(scheduleTicker);
407
668
  scheduleTicker = null;
408
669
  }
670
+ if (jobsWorkTicker) {
671
+ clearInterval(jobsWorkTicker);
672
+ jobsWorkTicker = null;
673
+ }
409
674
  if (durableMetadata)
410
675
  await durableMetadata.drain();
411
676
  if (client && !deps.client)
412
677
  await client.close();
413
678
  },
414
679
  diagnostics(scope) {
680
+ const magitOn = Boolean(magit);
681
+ let magitDisabledReason = null;
682
+ if (!magitOn) {
683
+ if (!isMetadataMagitEnabled())
684
+ magitDisabledReason = "METADATA_MAGIT=0";
685
+ else if (!durableMetadata) {
686
+ magitDisabledReason = "durable Mongo metadata is not configured";
687
+ }
688
+ else if (!magitMongoUri)
689
+ magitDisabledReason = "MONGO_URI is not set";
690
+ else
691
+ magitDisabledReason = "unavailable";
692
+ }
415
693
  return {
416
694
  mode: deps.mode,
417
695
  scope,
418
696
  hasMongo: Boolean(client),
419
697
  durableMetadata: Boolean(durableMetadata),
420
698
  credorix: Boolean(credorix),
421
- magit: Boolean(magit),
699
+ genericConnectors: {
700
+ sourceServiceUrl: genericConnectors.sourceServiceUrl,
701
+ targetServiceUrl: genericConnectors.targetServiceUrl,
702
+ },
703
+ magit: magitOn,
704
+ magitDisabledReason,
422
705
  isolation: deps.isolation
423
706
  ? {
424
707
  orgId: deps.isolation.orgId,
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { FastifyInstance } from "fastify";
2
+ import type { MemorixPlatform } from "../platform.js";
3
+ export declare function registerAiServicesRoutes(app: FastifyInstance, _platform: MemorixPlatform): Promise<void>;
4
+ //# sourceMappingURL=ai-services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-services.d.ts","sourceRoot":"","sources":["../../src/routes/ai-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAyDtD,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,IAAI,CAAC,CA2Tf"}