@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,239 @@
1
+ import { ServiceError } from "../errors.js";
2
+ import { createAiServicesClient } from "../ai-services/client.js";
3
+ import { resolveAiServiceOriginUrl, resolveConfiguredAiServiceOrigins, } from "../ai-services/config.js";
4
+ const client = createAiServicesClient();
5
+ function originForType(type) {
6
+ const url = resolveAiServiceOriginUrl(type);
7
+ if (!url) {
8
+ throw new ServiceError("AI_SERVICE_NOT_CONFIGURED", `No origin configured for aiServiceType "${type}" (set FUNCX_URL / AI_SKILLS_URL / AI_TASKS_URL / GRAPH_ENGINE_URL)`, 503);
9
+ }
10
+ return url;
11
+ }
12
+ function correlationFrom(req) {
13
+ const header = req.headers["x-correlation-id"];
14
+ if (typeof header === "string" && header.trim())
15
+ return header.trim();
16
+ if (Array.isArray(header) && typeof header[0] === "string" && header[0].trim()) {
17
+ return header[0].trim();
18
+ }
19
+ const body = req.body && typeof req.body === "object" ? req.body : null;
20
+ if (typeof body?.correlationId === "string" && body.correlationId.trim()) {
21
+ return body.correlationId.trim();
22
+ }
23
+ return undefined;
24
+ }
25
+ function throwIfProxyFailed(status, body, code, fallback) {
26
+ if (status >= 200 && status < 300)
27
+ return;
28
+ const errMsg = body &&
29
+ typeof body === "object" &&
30
+ body.error?.message
31
+ ? String(body.error.message)
32
+ : fallback;
33
+ throw new ServiceError(code, errMsg, status >= 400 && status < 600 ? status : 502, body);
34
+ }
35
+ export async function registerAiServicesRoutes(app, _platform) {
36
+ /** List configured origins + live descriptor/health when reachable. */
37
+ app.get("/api/ai-services", async () => {
38
+ const configured = resolveConfiguredAiServiceOrigins();
39
+ const services = await Promise.all(configured.map(async (origin) => {
40
+ if (!origin.url) {
41
+ return {
42
+ aiServiceType: origin.aiServiceType,
43
+ env: origin.env,
44
+ url: null,
45
+ configured: false,
46
+ reachable: false,
47
+ healthOk: false,
48
+ capabilities: null,
49
+ descriptor: null,
50
+ error: null,
51
+ };
52
+ }
53
+ try {
54
+ const health = await client.getHealth(origin.url);
55
+ const descriptor = health.ok
56
+ ? await client.getDescriptor(origin.url)
57
+ : null;
58
+ return {
59
+ aiServiceType: origin.aiServiceType,
60
+ env: origin.env,
61
+ url: origin.url,
62
+ configured: true,
63
+ reachable: health.ok,
64
+ healthOk: health.ok,
65
+ capabilities: descriptor?.capabilities ?? null,
66
+ descriptor,
67
+ error: health.ok ? null : `health HTTP ${health.status}`,
68
+ };
69
+ }
70
+ catch (err) {
71
+ return {
72
+ aiServiceType: origin.aiServiceType,
73
+ env: origin.env,
74
+ url: origin.url,
75
+ configured: true,
76
+ reachable: false,
77
+ healthOk: false,
78
+ capabilities: null,
79
+ descriptor: null,
80
+ error: err instanceof Error ? err.message : String(err),
81
+ };
82
+ }
83
+ }));
84
+ return { ok: true, services };
85
+ });
86
+ app.get("/api/ai-services/:type/items", async (req) => {
87
+ const type = req.params.type?.trim();
88
+ if (!type)
89
+ throw new ServiceError("VALIDATION", "type required", 400);
90
+ const base = originForType(type);
91
+ const q = req.query ?? {};
92
+ const items = await client.listItems(base, {
93
+ q: q.q,
94
+ tag: q.tag,
95
+ limit: q.limit ? Number(q.limit) : undefined,
96
+ cursor: q.cursor,
97
+ });
98
+ return { ok: true, aiServiceType: type, url: base, items };
99
+ });
100
+ app.post("/api/ai-services/:type/items", async (req) => {
101
+ const type = req.params.type?.trim();
102
+ if (!type)
103
+ throw new ServiceError("VALIDATION", "type required", 400);
104
+ const base = originForType(type);
105
+ const { status, body } = await client.request(base, "POST", "/ai-services/v1/items", req.body ?? {}, correlationFrom(req));
106
+ throwIfProxyFailed(status, body, "AI_SERVICE_MUTATION_FAILED", `create HTTP ${status}`);
107
+ return { ok: true, aiServiceType: type, url: base, result: body };
108
+ });
109
+ app.get("/api/ai-services/:type/items/:id", async (req) => {
110
+ const type = req.params.type?.trim();
111
+ const id = req.params.id?.trim();
112
+ if (!type || !id) {
113
+ throw new ServiceError("VALIDATION", "type and id required", 400);
114
+ }
115
+ const base = originForType(type);
116
+ const item = await client.getItem(base, id);
117
+ return { ok: true, aiServiceType: type, url: base, item };
118
+ });
119
+ app.patch("/api/ai-services/:type/items/:id", async (req) => {
120
+ const type = req.params.type?.trim();
121
+ const id = req.params.id?.trim();
122
+ if (!type || !id) {
123
+ throw new ServiceError("VALIDATION", "type and id required", 400);
124
+ }
125
+ const base = originForType(type);
126
+ const { status, body } = await client.request(base, "PATCH", `/ai-services/v1/items/${encodeURIComponent(id)}`, req.body ?? {}, correlationFrom(req));
127
+ throwIfProxyFailed(status, body, "AI_SERVICE_MUTATION_FAILED", `patch HTTP ${status}`);
128
+ return { ok: true, aiServiceType: type, url: base, result: body };
129
+ });
130
+ app.delete("/api/ai-services/:type/items/:id", async (req) => {
131
+ const type = req.params.type?.trim();
132
+ const id = req.params.id?.trim();
133
+ if (!type || !id) {
134
+ throw new ServiceError("VALIDATION", "type and id required", 400);
135
+ }
136
+ const base = originForType(type);
137
+ const { status, body } = await client.request(base, "DELETE", `/ai-services/v1/items/${encodeURIComponent(id)}`, req.body, correlationFrom(req));
138
+ throwIfProxyFailed(status, body, "AI_SERVICE_MUTATION_FAILED", `delete HTTP ${status}`);
139
+ return { ok: true, aiServiceType: type, url: base, result: body };
140
+ });
141
+ app.post("/api/ai-services/:type/items/:id/actions/:action", async (req) => {
142
+ const type = req.params.type?.trim();
143
+ const id = req.params.id?.trim();
144
+ const action = req.params.action?.trim();
145
+ if (!type || !id || !action) {
146
+ throw new ServiceError("VALIDATION", "type, id, and action required", 400);
147
+ }
148
+ const base = originForType(type);
149
+ const { status, body } = await client.request(base, "POST", `/ai-services/v1/items/${encodeURIComponent(id)}/actions/${encodeURIComponent(action)}`, req.body ?? {}, correlationFrom(req));
150
+ throwIfProxyFailed(status, body, "AI_SERVICE_MUTATION_FAILED", `action HTTP ${status}`);
151
+ return { ok: true, aiServiceType: type, url: base, result: body };
152
+ });
153
+ for (const resource of ["content", "variables", "tokens", "references"]) {
154
+ app.get(`/api/ai-services/:type/items/:id/${resource}`, async (req) => {
155
+ const type = req.params.type?.trim();
156
+ const id = req.params.id?.trim();
157
+ if (!type || !id) {
158
+ throw new ServiceError("VALIDATION", "type and id required", 400);
159
+ }
160
+ const base = originForType(type);
161
+ const qs = new URLSearchParams(req.query ?? {}).toString();
162
+ const path = `/ai-services/v1/items/${encodeURIComponent(id)}/${resource}${qs ? `?${qs}` : ""}`;
163
+ const { status, body } = await client.request(base, "GET", path, undefined, correlationFrom(req));
164
+ throwIfProxyFailed(status, body, "AI_SERVICE_MUTATION_FAILED", `get ${resource} HTTP ${status}`);
165
+ return { ok: true, aiServiceType: type, url: base, result: body };
166
+ });
167
+ }
168
+ for (const resource of ["content", "variables"]) {
169
+ app.put(`/api/ai-services/:type/items/:id/${resource}`, async (req) => {
170
+ const type = req.params.type?.trim();
171
+ const id = req.params.id?.trim();
172
+ if (!type || !id) {
173
+ throw new ServiceError("VALIDATION", "type and id required", 400);
174
+ }
175
+ const base = originForType(type);
176
+ const { status, body } = await client.request(base, "PUT", `/ai-services/v1/items/${encodeURIComponent(id)}/${resource}`, req.body ?? {}, correlationFrom(req));
177
+ throwIfProxyFailed(status, body, "AI_SERVICE_MUTATION_FAILED", `put ${resource} HTTP ${status}`);
178
+ return { ok: true, aiServiceType: type, url: base, result: body };
179
+ });
180
+ }
181
+ app.post("/api/ai-services/:type/items/:id/variables/declare", async (req) => {
182
+ const type = req.params.type?.trim();
183
+ const id = req.params.id?.trim();
184
+ if (!type || !id) {
185
+ throw new ServiceError("VALIDATION", "type and id required", 400);
186
+ }
187
+ const base = originForType(type);
188
+ const { status, body } = await client.request(base, "POST", `/ai-services/v1/items/${encodeURIComponent(id)}/variables/declare`, req.body ?? {}, correlationFrom(req));
189
+ throwIfProxyFailed(status, body, "AI_SERVICE_MUTATION_FAILED", `declare HTTP ${status}`);
190
+ return { ok: true, aiServiceType: type, url: base, result: body };
191
+ });
192
+ app.get("/api/ai-services/:type/export", async (req) => {
193
+ const type = req.params.type?.trim();
194
+ if (!type)
195
+ throw new ServiceError("VALIDATION", "type required", 400);
196
+ const base = originForType(type);
197
+ const qs = new URLSearchParams(req.query ?? {}).toString();
198
+ const { status, body } = await client.request(base, "GET", `/ai-services/v1/export${qs ? `?${qs}` : ""}`, undefined, correlationFrom(req));
199
+ throwIfProxyFailed(status, body, "AI_SERVICE_MUTATION_FAILED", `export HTTP ${status}`);
200
+ return { ok: true, aiServiceType: type, url: base, result: body };
201
+ });
202
+ app.post("/api/ai-services/:type/import/preview", async (req) => {
203
+ const type = req.params.type?.trim();
204
+ if (!type)
205
+ throw new ServiceError("VALIDATION", "type required", 400);
206
+ const base = originForType(type);
207
+ const { status, body } = await client.request(base, "POST", "/ai-services/v1/import/preview", req.body ?? {}, correlationFrom(req));
208
+ throwIfProxyFailed(status, body, "AI_SERVICE_MUTATION_FAILED", `import preview HTTP ${status}`);
209
+ return { ok: true, aiServiceType: type, url: base, result: body };
210
+ });
211
+ app.post("/api/ai-services/:type/import", async (req) => {
212
+ const type = req.params.type?.trim();
213
+ if (!type)
214
+ throw new ServiceError("VALIDATION", "type required", 400);
215
+ const base = originForType(type);
216
+ const qs = new URLSearchParams(req.query ?? {}).toString();
217
+ const { status, body } = await client.request(base, "POST", `/ai-services/v1/import${qs ? `?${qs}` : ""}`, req.body ?? {}, correlationFrom(req));
218
+ throwIfProxyFailed(status, body, "AI_SERVICE_MUTATION_FAILED", `import HTTP ${status}`);
219
+ return { ok: true, aiServiceType: type, url: base, result: body };
220
+ });
221
+ /** Proxy invoke for Studio / operators (pipelines also call origins directly). */
222
+ app.post("/api/ai-services/:type/invoke", async (req) => {
223
+ const type = req.params.type?.trim();
224
+ if (!type)
225
+ throw new ServiceError("VALIDATION", "type required", 400);
226
+ const body = (req.body ?? {});
227
+ if (!body.itemId?.trim()) {
228
+ throw new ServiceError("VALIDATION", "itemId required", 400);
229
+ }
230
+ const base = originForType(type);
231
+ const correlationId = correlationFrom(req) || body.correlationId;
232
+ const result = await client.invoke(base, body, correlationId);
233
+ if (result.status < 200 || result.status >= 300) {
234
+ throw new ServiceError("AI_SERVICE_INVOKE_FAILED", result.body.error?.message ?? `invoke HTTP ${result.status}`, result.status >= 400 && result.status < 600 ? result.status : 502, result.body);
235
+ }
236
+ return { ok: true, aiServiceType: type, url: base, result: result.body };
237
+ });
238
+ }
239
+ //# sourceMappingURL=ai-services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-services.js","sourceRoot":"","sources":["../../src/routes/ai-services.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 registerAssistRoutes(app: FastifyInstance, platform: MemorixPlatform): Promise<void>;
4
+ //# sourceMappingURL=assist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assist.d.ts","sourceRoot":"","sources":["../../src/routes/assist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAetD,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CAkFf"}
@@ -0,0 +1,75 @@
1
+ import { validateMetadataPack } from "@x12i/memorix-metadata";
2
+ import { resolveScope } from "../request-scope.js";
3
+ import { ServiceError } from "../errors.js";
4
+ import { askEntity, getAssistStatus } from "../assist/ask.js";
5
+ import { mergeAskProposalIntoPack, proposalHasContent, } from "../assist/merge-ask-proposal.js";
6
+ import { parseAskIntent, parseEntityRef, } from "../assist/types.js";
7
+ import { validateEntity } from "../assist/validate.js";
8
+ export async function registerAssistRoutes(app, platform) {
9
+ /** Capability probe for Studio — no LLM call. */
10
+ app.get("/api/assist/status", async () => {
11
+ return { ok: true, ...getAssistStatus() };
12
+ });
13
+ app.post("/api/assist/validate", async (req) => {
14
+ const scope = resolveScope(req);
15
+ let entity;
16
+ try {
17
+ entity = parseEntityRef(req.body, scope);
18
+ }
19
+ catch (err) {
20
+ throw new ServiceError("VALIDATION", err instanceof Error ? err.message : String(err), 400);
21
+ }
22
+ // Prefer body entity agentIds; fall back to request scope
23
+ if (!entity.agentIds.length)
24
+ entity = { ...entity, agentIds: scope.agentIds };
25
+ const report = validateEntity(platform, entity);
26
+ return { ok: true, report, autoInstall: false };
27
+ });
28
+ app.post("/api/assist/ask", async (req) => {
29
+ const scope = resolveScope(req);
30
+ const body = (req.body ?? {});
31
+ let entity;
32
+ try {
33
+ entity = parseEntityRef(body, scope);
34
+ }
35
+ catch (err) {
36
+ throw new ServiceError("VALIDATION", err instanceof Error ? err.message : String(err), 400);
37
+ }
38
+ if (!entity.agentIds.length)
39
+ entity = { ...entity, agentIds: scope.agentIds };
40
+ const intent = parseAskIntent(body.intent);
41
+ const prompt = typeof body.prompt === "string" ? body.prompt : undefined;
42
+ const result = await askEntity(platform, entity, intent, prompt);
43
+ return { ok: true, result, autoInstall: false };
44
+ });
45
+ /**
46
+ * Build a draft pack from Ask proposal + installed base. Never installs.
47
+ * Used by Studio before validate-draft-pack / stage / install with confirm.
48
+ */
49
+ app.post("/api/assist/draft-pack", async (req) => {
50
+ const scope = resolveScope(req);
51
+ const body = (req.body ?? {});
52
+ const agentId = body.agentId?.trim() || scope.agentIds[0] || "";
53
+ if (!agentId) {
54
+ throw new ServiceError("VALIDATION", "agentId required", 400);
55
+ }
56
+ const proposal = body.proposal ?? {};
57
+ if (!proposalHasContent(proposal)) {
58
+ throw new ServiceError("VALIDATION", "proposal has no metadata arrays to merge", 400);
59
+ }
60
+ const exported = platform.metadata.exportMetadata([agentId]);
61
+ const base = exported.packs[agentId] ?? null;
62
+ const pack = mergeAskProposalIntoPack(base, agentId, proposal);
63
+ const validation = validateMetadataPack(pack);
64
+ return {
65
+ ok: validation.ok,
66
+ scope,
67
+ agentId,
68
+ pack,
69
+ validation,
70
+ autoInstall: false,
71
+ note: "Draft only — install requires POST /api/metadata/install with confirm:true",
72
+ };
73
+ });
74
+ }
75
+ //# sourceMappingURL=assist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assist.js","sourceRoot":"","sources":["../../src/routes/assist.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connector-invocations.d.ts","sourceRoot":"","sources":["../../src/routes/connector-invocations.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAYtD,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CAoPf"}
1
+ {"version":3,"file":"connector-invocations.d.ts","sourceRoot":"","sources":["../../src/routes/connector-invocations.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAStD,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CA6Pf"}
@@ -1,10 +1,6 @@
1
- import { createInMemoryInvocationLedger, } from "@x12i/memorix-memory";
2
1
  import { ServiceError } from "../errors.js";
3
- let ledgerSingleton = null;
4
- function ledger() {
5
- if (!ledgerSingleton)
6
- ledgerSingleton = createInMemoryInvocationLedger();
7
- return ledgerSingleton;
2
+ function ledgerOf(platform) {
3
+ return platform.invocationLedger;
8
4
  }
9
5
  export async function registerConnectorInvocationRoutes(app, platform) {
10
6
  app.post("/api/internal/connector-invocations", async (req, reply) => {
@@ -13,7 +9,8 @@ export async function registerConnectorInvocationRoutes(app, platform) {
13
9
  throw new ServiceError("VALIDATION", "runId, connectorId, orgId, sourceId required", 400);
14
10
  }
15
11
  const expiresAt = new Date(Date.now() + (body.expiresInSeconds ?? 900) * 1000).toISOString();
16
- const grant = ledger().mintGrant({
12
+ const ledger = ledgerOf(platform);
13
+ const grant = ledger.mintGrant({
17
14
  audience: body.audience ?? "connector-host",
18
15
  runId: body.runId,
19
16
  connectorId: body.connectorId,
@@ -32,11 +29,11 @@ export async function registerConnectorInvocationRoutes(app, platform) {
32
29
  ],
33
30
  expiresAt,
34
31
  });
35
- const rec = ledger().register(grant);
32
+ const rec = ledger.register(grant);
36
33
  return reply.code(201).send({ grant, invocation: rec });
37
34
  });
38
35
  app.post("/api/internal/connector-invocations/:invocationId/checkpoint:get", async (req, reply) => {
39
- const rec = requireActive(req.params.invocationId);
36
+ const rec = requireActive(platform, req.params.invocationId);
40
37
  const body = (req.body ?? {});
41
38
  assertOp(rec, "checkpoint:get");
42
39
  assertScope(rec, body);
@@ -44,7 +41,6 @@ export async function registerConnectorInvocationRoutes(app, platform) {
44
41
  orgId: rec.grant.orgId,
45
42
  agentIds: ["*"],
46
43
  });
47
- // Use listCursors and filter — mirrors remote getCheckpoint.
48
44
  const cursors = await ports.memoryRunStore.listCursors({
49
45
  sourceId: rec.grant.sourceId,
50
46
  });
@@ -64,7 +60,7 @@ export async function registerConnectorInvocationRoutes(app, platform) {
64
60
  });
65
61
  });
66
62
  app.post("/api/internal/connector-invocations/:invocationId/pages:commit", async (req, reply) => {
67
- const rec = requireActive(req.params.invocationId);
63
+ const rec = requireActive(platform, req.params.invocationId);
68
64
  assertOp(rec, "pages:commit");
69
65
  const body = (req.body ?? {});
70
66
  assertScope(rec, body);
@@ -90,7 +86,6 @@ export async function registerConnectorInvocationRoutes(app, platform) {
90
86
  fencingToken: rec.fencingToken,
91
87
  pageIdempotencyKey: body.pageIdempotencyKey,
92
88
  pageIndex: body.pageIndex,
93
- // Correlate Phase 4 invocation with Credorix mint / run telemetry.
94
89
  invocationId: rec.invocationId,
95
90
  });
96
91
  return reply.send(receipt);
@@ -104,7 +99,7 @@ export async function registerConnectorInvocationRoutes(app, platform) {
104
99
  }
105
100
  });
106
101
  app.post("/api/internal/connector-invocations/:invocationId/content/stage", async (req, reply) => {
107
- const rec = requireActive(req.params.invocationId);
102
+ const rec = requireActive(platform, req.params.invocationId);
108
103
  assertOp(rec, "content:stage");
109
104
  const body = (req.body ?? {});
110
105
  const stagingId = body.stagingId ??
@@ -132,7 +127,7 @@ export async function registerConnectorInvocationRoutes(app, platform) {
132
127
  });
133
128
  });
134
129
  app.post("/api/internal/connector-invocations/:invocationId/content/finalize", async (req, reply) => {
135
- const rec = requireActive(req.params.invocationId);
130
+ const rec = requireActive(platform, req.params.invocationId);
136
131
  assertOp(rec, "content:finalize");
137
132
  const body = (req.body ?? {});
138
133
  if (!body.stagingId) {
@@ -149,7 +144,7 @@ export async function registerConnectorInvocationRoutes(app, platform) {
149
144
  return reply.send({ ...doc, claimed: claimed || doc.claimed });
150
145
  });
151
146
  app.post("/api/internal/connector-invocations/:invocationId/workflow:event", async (req, reply) => {
152
- const rec = requireActive(req.params.invocationId);
147
+ const rec = requireActive(platform, req.params.invocationId);
153
148
  assertOp(rec, "workflow:event");
154
149
  return reply.send({
155
150
  ok: true,
@@ -159,7 +154,7 @@ export async function registerConnectorInvocationRoutes(app, platform) {
159
154
  });
160
155
  });
161
156
  app.post("/api/internal/connector-invocations/:invocationId/heartbeat", async (req, reply) => {
162
- const rec = ledger().heartbeat(req.params.invocationId);
157
+ const rec = ledgerOf(platform).heartbeat(req.params.invocationId);
163
158
  if (!rec) {
164
159
  throw new ServiceError("NOT_FOUND", "invocation not found or inactive", 404);
165
160
  }
@@ -171,7 +166,7 @@ export async function registerConnectorInvocationRoutes(app, platform) {
171
166
  });
172
167
  });
173
168
  app.get("/api/internal/connector-invocations/:invocationId/status", async (req, reply) => {
174
- const rec = ledger().get(req.params.invocationId);
169
+ const rec = ledgerOf(platform).get(req.params.invocationId);
175
170
  if (!rec)
176
171
  throw new ServiceError("NOT_FOUND", "invocation not found", 404);
177
172
  return reply.send({
@@ -185,11 +180,12 @@ export async function registerConnectorInvocationRoutes(app, platform) {
185
180
  });
186
181
  });
187
182
  }
188
- function requireActive(invocationId) {
189
- const rec = ledger().get(invocationId);
183
+ function requireActive(platform, invocationId) {
184
+ const ledger = ledgerOf(platform);
185
+ const rec = ledger.get(invocationId);
190
186
  if (!rec)
191
187
  throw new ServiceError("NOT_FOUND", "invocation not found", 404);
192
- const verified = ledger().verifyGrant(rec.grant);
188
+ const verified = ledger.verifyGrant(rec.grant);
193
189
  if (!verified.ok) {
194
190
  throw new ServiceError("FORBIDDEN", `grant ${verified.reason}`, 403);
195
191
  }
@@ -199,7 +195,8 @@ function requireActive(invocationId) {
199
195
  return rec;
200
196
  }
201
197
  function assertOp(rec, op) {
202
- if (!rec.grant.operations.includes(op) && !rec.grant.operations.includes("*")) {
198
+ if (!rec.grant.operations.includes(op) &&
199
+ !rec.grant.operations.includes("*")) {
203
200
  throw new ServiceError("FORBIDDEN", `operation ${op} not granted`, 403);
204
201
  }
205
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connector-invocations.js","sourceRoot":"","sources":["../../src/routes/connector-invocations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector-invocations.js","sourceRoot":"","sources":["../../src/routes/connector-invocations.ts"],"names":[],"mappings":"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"}
@@ -67,10 +67,10 @@ export async function registerDataJourneyRoutes(app, platform) {
67
67
  : []),
68
68
  {
69
69
  kind: "fixture",
70
- fixtureName: "procedures-proc-2",
71
- objectType: "procedures",
72
- recordId: "PROC-2",
73
- label: "Golden fixture PROC-2 (procedures)",
70
+ fixtureName: "playbooks-pb-2",
71
+ objectType: "playbooks",
72
+ recordId: "PB-2",
73
+ label: "Golden fixture PB-2 (playbooks)",
74
74
  },
75
75
  ],
76
76
  };
@@ -79,9 +79,9 @@ export async function registerDataJourneyRoutes(app, platform) {
79
79
  const scope = resolveScope(req);
80
80
  const body = (req.body ?? {});
81
81
  if (body.basis?.kind === "fixture" && !body.basis.fixtureName) {
82
- body.basis.fixtureName = "procedures-proc-2";
83
- body.objectType = body.objectType ?? "procedures";
84
- body.basis.recordId = body.basis.recordId ?? "PROC-2";
82
+ body.basis.fixtureName = "playbooks-pb-2";
83
+ body.objectType = body.objectType ?? "playbooks";
84
+ body.basis.recordId = body.basis.recordId ?? "PB-2";
85
85
  }
86
86
  const collected = await collectJourneyObservations(platform, scope, {
87
87
  objectType: body.objectType,
@@ -115,8 +115,8 @@ export async function registerDataJourneyRoutes(app, platform) {
115
115
  const scope = resolveScope(req);
116
116
  const body = (req.body ?? {});
117
117
  if (body.basis?.kind === "fixture" && !body.basis.fixtureName) {
118
- body.basis.fixtureName = "procedures-proc-2";
119
- body.objectType = body.objectType ?? "procedures";
118
+ body.basis.fixtureName = "playbooks-pb-2";
119
+ body.objectType = body.objectType ?? "playbooks";
120
120
  }
121
121
  return queryJourneyMatrix(platform, scope, {
122
122
  ...body,
@@ -128,8 +128,8 @@ export async function registerDataJourneyRoutes(app, platform) {
128
128
  const scope = resolveScope(req);
129
129
  const body = (req.body ?? {});
130
130
  if (body.basis?.kind === "fixture" && !body.basis.fixtureName) {
131
- body.basis.fixtureName = "procedures-proc-2";
132
- body.objectType = body.objectType ?? "procedures";
131
+ body.basis.fixtureName = "playbooks-pb-2";
132
+ body.objectType = body.objectType ?? "playbooks";
133
133
  }
134
134
  const matrix = await queryJourneyMatrix(platform, scope, {
135
135
  ...body,
@@ -1 +1 @@
1
- {"version":3,"file":"data-journey.js","sourceRoot":"","sources":["../../src/routes/data-journey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-journey.js","sourceRoot":"","sources":["../../src/routes/data-journey.ts"],"names":[],"mappings":"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"}