@x12i/memorix-service 3.0.5 → 3.1.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 (132) hide show
  1. package/README.md +8 -1
  2. package/dist/ai-services/client.d.ts +31 -0
  3. package/dist/ai-services/client.d.ts.map +1 -0
  4. package/dist/ai-services/client.js +104 -0
  5. package/dist/ai-services/client.js.map +1 -0
  6. package/dist/ai-services/config.d.ts +17 -0
  7. package/dist/ai-services/config.d.ts.map +1 -0
  8. package/dist/ai-services/config.js +44 -0
  9. package/dist/ai-services/config.js.map +1 -0
  10. package/dist/ai-services/normalize-output.d.ts +23 -0
  11. package/dist/ai-services/normalize-output.d.ts.map +1 -0
  12. package/dist/ai-services/normalize-output.js +148 -0
  13. package/dist/ai-services/normalize-output.js.map +1 -0
  14. package/dist/ai-services/skill-execution.d.ts +23 -0
  15. package/dist/ai-services/skill-execution.d.ts.map +1 -0
  16. package/dist/ai-services/skill-execution.js +54 -0
  17. package/dist/ai-services/skill-execution.js.map +1 -0
  18. package/dist/ai-services/types.d.ts +62 -0
  19. package/dist/ai-services/types.d.ts.map +1 -0
  20. package/dist/ai-services/types.js +3 -0
  21. package/dist/ai-services/types.js.map +1 -0
  22. package/dist/app.d.ts.map +1 -1
  23. package/dist/app.js +37 -6
  24. package/dist/app.js.map +1 -1
  25. package/dist/assist/ask.d.ts +35 -0
  26. package/dist/assist/ask.d.ts.map +1 -0
  27. package/dist/assist/ask.js +346 -0
  28. package/dist/assist/ask.js.map +1 -0
  29. package/dist/assist/facts.d.ts +5 -0
  30. package/dist/assist/facts.d.ts.map +1 -0
  31. package/dist/assist/facts.js +237 -0
  32. package/dist/assist/facts.js.map +1 -0
  33. package/dist/assist/merge-ask-proposal.d.ts +9 -0
  34. package/dist/assist/merge-ask-proposal.d.ts.map +1 -0
  35. package/dist/assist/merge-ask-proposal.js +57 -0
  36. package/dist/assist/merge-ask-proposal.js.map +1 -0
  37. package/dist/assist/types.d.ts +60 -0
  38. package/dist/assist/types.d.ts.map +1 -0
  39. package/dist/assist/types.js +57 -0
  40. package/dist/assist/types.js.map +1 -0
  41. package/dist/assist/validate.d.ts +4 -0
  42. package/dist/assist/validate.d.ts.map +1 -0
  43. package/dist/assist/validate.js +319 -0
  44. package/dist/assist/validate.js.map +1 -0
  45. package/dist/cli.js +29 -6
  46. package/dist/cli.js.map +1 -1
  47. package/dist/index.d.ts +1 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +1 -0
  50. package/dist/index.js.map +1 -1
  51. package/dist/isolation.d.ts +1 -1
  52. package/dist/isolation.d.ts.map +1 -1
  53. package/dist/journey/collect.js +2 -2
  54. package/dist/journey/collect.js.map +1 -1
  55. package/dist/journey/coverage.js +3 -3
  56. package/dist/journey/coverage.js.map +1 -1
  57. package/dist/known-packs.d.ts +1 -1
  58. package/dist/known-packs.d.ts.map +1 -1
  59. package/dist/known-packs.js +1 -1
  60. package/dist/known-packs.js.map +1 -1
  61. package/dist/live.d.ts +2 -1
  62. package/dist/live.d.ts.map +1 -1
  63. package/dist/live.js +239 -2
  64. package/dist/live.js.map +1 -1
  65. package/dist/magit/magit-pack-service.d.ts +167 -0
  66. package/dist/magit/magit-pack-service.d.ts.map +1 -0
  67. package/dist/magit/magit-pack-service.js +699 -0
  68. package/dist/magit/magit-pack-service.js.map +1 -0
  69. package/dist/magit/pack-to-patchset.d.ts +45 -0
  70. package/dist/magit/pack-to-patchset.d.ts.map +1 -0
  71. package/dist/magit/pack-to-patchset.js +196 -0
  72. package/dist/magit/pack-to-patchset.js.map +1 -0
  73. package/dist/magit/package-catalog-bridge.d.ts +58 -0
  74. package/dist/magit/package-catalog-bridge.d.ts.map +1 -0
  75. package/dist/magit/package-catalog-bridge.js +220 -0
  76. package/dist/magit/package-catalog-bridge.js.map +1 -0
  77. package/dist/magit/proposal-to-pack.d.ts +22 -0
  78. package/dist/magit/proposal-to-pack.d.ts.map +1 -0
  79. package/dist/magit/proposal-to-pack.js +68 -0
  80. package/dist/magit/proposal-to-pack.js.map +1 -0
  81. package/dist/mongo-metadata-store.d.ts.map +1 -1
  82. package/dist/mongo-metadata-store.js +11 -3
  83. package/dist/mongo-metadata-store.js.map +1 -1
  84. package/dist/openapi/openapi.json +665 -1
  85. package/dist/org-sources.d.ts +14 -0
  86. package/dist/org-sources.d.ts.map +1 -0
  87. package/dist/org-sources.js +31 -0
  88. package/dist/org-sources.js.map +1 -0
  89. package/dist/pipeline-compile.d.ts +51 -0
  90. package/dist/pipeline-compile.d.ts.map +1 -0
  91. package/dist/pipeline-compile.js +203 -0
  92. package/dist/pipeline-compile.js.map +1 -0
  93. package/dist/platform.d.ts +22 -1
  94. package/dist/platform.d.ts.map +1 -1
  95. package/dist/platform.js +150 -21
  96. package/dist/platform.js.map +1 -1
  97. package/dist/routes/ai-services.d.ts +4 -0
  98. package/dist/routes/ai-services.d.ts.map +1 -0
  99. package/dist/routes/ai-services.js +239 -0
  100. package/dist/routes/ai-services.js.map +1 -0
  101. package/dist/routes/assist.d.ts +4 -0
  102. package/dist/routes/assist.d.ts.map +1 -0
  103. package/dist/routes/assist.js +75 -0
  104. package/dist/routes/assist.js.map +1 -0
  105. package/dist/routes/connector-invocations.js +2 -2
  106. package/dist/routes/data-journey.js +11 -11
  107. package/dist/routes/data-journey.js.map +1 -1
  108. package/dist/routes/intelligence.d.ts.map +1 -1
  109. package/dist/routes/intelligence.js +19 -1
  110. package/dist/routes/intelligence.js.map +1 -1
  111. package/dist/routes/memory.d.ts.map +1 -1
  112. package/dist/routes/memory.js +343 -41
  113. package/dist/routes/memory.js.map +1 -1
  114. package/dist/routes/metadata.d.ts.map +1 -1
  115. package/dist/routes/metadata.js +800 -8
  116. package/dist/routes/metadata.js.map +1 -1
  117. package/dist/routes/pipelines.d.ts.map +1 -1
  118. package/dist/routes/pipelines.js +28 -3
  119. package/dist/routes/pipelines.js.map +1 -1
  120. package/dist/routes/relationships.d.ts.map +1 -1
  121. package/dist/routes/relationships.js +29 -0
  122. package/dist/routes/relationships.js.map +1 -1
  123. package/dist/routes/simulation.d.ts +7 -0
  124. package/dist/routes/simulation.d.ts.map +1 -0
  125. package/dist/routes/simulation.js +22 -0
  126. package/dist/routes/simulation.js.map +1 -0
  127. package/dist/simulation.d.ts +26 -0
  128. package/dist/simulation.d.ts.map +1 -0
  129. package/dist/simulation.js +46 -0
  130. package/dist/simulation.js.map +1 -0
  131. package/openapi/openapi.json +665 -1
  132. package/package.json +19 -10
package/dist/live.js CHANGED
@@ -2,10 +2,14 @@
2
2
  * Shared in-memory live-view ring for memorix-service (no DB).
3
3
  * Inbound: Fastify hooks via @x12i/core-service / api-live-view.
4
4
  * Worker/outbound: Memory HTTP pulls + createServiceInvokePorts remoteFetch.
5
+ * AI-services/v1 invoke when portConfig.invokeProtocol === "ai-services/1".
5
6
  */
6
7
  import { createTrafficRing, createInstrumentedFetch, } from "@x12i/api-live-view";
7
8
  import { createServiceInvokePorts, } from "@x12i/memorix-pipeline/v2";
8
9
  import { issueCallbackGrant } from "./callback-grant.js";
10
+ import { createAiServicesClient } from "./ai-services/client.js";
11
+ import { normalizeAiServiceStepOutput } from "./ai-services/normalize-output.js";
12
+ import { defaultSkillExecutionForItem } from "./ai-services/skill-execution.js";
9
13
  export const memorixLiveRing = createTrafficRing();
10
14
  /** Outbound Memory connector pulls (opx-source, REST fixtures). */
11
15
  export const memoryPullFetch = createInstrumentedFetch(memorixLiveRing, {
@@ -28,8 +32,206 @@ function resolveAccess(raw) {
28
32
  return [];
29
33
  return raw.filter((a) => a === "explore" || a === "checkpoints" || a === "raw");
30
34
  }
31
- /** Helpers for in-process / remote service invoke with worker-lane recording. */
32
- export const serviceInvokePorts = createServiceInvokePorts({
35
+ const aiClient = createAiServicesClient({ fetchImpl: pipelineWorkerFetch });
36
+ async function fetchExistingKnowxForAssociate(memorix) {
37
+ const objectTypes = ["content", "people", "work-items"];
38
+ const out = [];
39
+ const headers = {
40
+ "x-memorix-org-id": memorix.orgId,
41
+ "x-memorix-agent-ids": memorix.agentIds.join(","),
42
+ };
43
+ if (memorix.grant)
44
+ headers["x-memorix-invocation-grant"] = memorix.grant;
45
+ for (const objectType of objectTypes) {
46
+ try {
47
+ const url = `${memorix.baseUrl}/api/data/content?objectType=${encodeURIComponent(objectType)}&contentType=knowx&limit=200`;
48
+ const res = await pipelineWorkerFetch(url, { headers });
49
+ if (!res.ok)
50
+ continue;
51
+ const body = (await res.json());
52
+ if (Array.isArray(body.records))
53
+ out.push(...body.records);
54
+ }
55
+ catch {
56
+ /* best-effort */
57
+ }
58
+ }
59
+ return out;
60
+ }
61
+ /** Collect knowxDrafts from top-level or nested pipeline step envelopes. */
62
+ function collectKnowxDrafts(inputs) {
63
+ const bags = [inputs.knowxDrafts, inputs.drafts];
64
+ for (const value of Object.values(inputs)) {
65
+ if (!value || typeof value !== "object")
66
+ continue;
67
+ const o = value;
68
+ bags.push(o.knowxDrafts, o.drafts);
69
+ for (const key of ["value", "body", "data", "output", "result"]) {
70
+ const nested = o[key];
71
+ if (nested && typeof nested === "object") {
72
+ const n = nested;
73
+ bags.push(n.knowxDrafts, n.drafts);
74
+ }
75
+ }
76
+ }
77
+ const out = [];
78
+ const seen = new Set();
79
+ for (const bag of bags) {
80
+ if (!Array.isArray(bag))
81
+ continue;
82
+ for (const raw of bag) {
83
+ if (!raw || typeof raw !== "object")
84
+ continue;
85
+ const id = String(raw.recordId ?? "").trim();
86
+ if (id && seen.has(id))
87
+ continue;
88
+ if (id)
89
+ seen.add(id);
90
+ out.push(raw);
91
+ }
92
+ }
93
+ return out;
94
+ }
95
+ /** Shape KnowX skill input + stamp templateTokens.input for Rendrix {{input}}. */
96
+ function prepareKnowxSkillInvoke(itemId, serviceId, inputs, execution) {
97
+ const isExtract = serviceId === "knowx-extract" || itemId === "knowx.extract";
98
+ const isAssociate = serviceId === "knowx-associate-knowledge" ||
99
+ itemId === "knowx.associate-knowledge";
100
+ let skillInput = inputs;
101
+ if (isAssociate) {
102
+ const drafts = collectKnowxDrafts(inputs);
103
+ skillInput = {
104
+ knowxDrafts: drafts.length ? drafts : inputs.knowxDrafts,
105
+ existingKnowx: inputs.existingKnowx ?? [],
106
+ };
107
+ }
108
+ else if (isExtract) {
109
+ skillInput = {
110
+ text: inputs.text,
111
+ knowledgeSource: inputs.knowledgeSource,
112
+ contentId: inputs.contentId,
113
+ contentIds: inputs.contentIds,
114
+ contentDrafts: inputs.contentDrafts,
115
+ };
116
+ }
117
+ let inputJson;
118
+ try {
119
+ inputJson = JSON.stringify(skillInput);
120
+ }
121
+ catch {
122
+ inputJson = "{}";
123
+ }
124
+ const priorTokens = execution.templateTokens && typeof execution.templateTokens === "object"
125
+ ? execution.templateTokens
126
+ : {};
127
+ return {
128
+ input: skillInput,
129
+ execution: {
130
+ ...execution,
131
+ templateTokens: {
132
+ ...priorTokens,
133
+ input: inputJson,
134
+ },
135
+ },
136
+ };
137
+ }
138
+ async function invokeAiServiceRemote(req, memorix) {
139
+ const c = (req.config ?? {});
140
+ const endpoint = String(c.endpoint ?? "").replace(/\/+$/, "");
141
+ const itemId = String(c.itemId ?? "").trim();
142
+ const serviceId = String(c.serviceId ?? "").trim();
143
+ const aiServiceType = String(c.aiServiceType ?? "").trim();
144
+ if (!endpoint) {
145
+ return {
146
+ status: "failed",
147
+ retryable: false,
148
+ error: { code: "REMOTE_ENDPOINT_MISSING", message: "endpoint required" },
149
+ };
150
+ }
151
+ if (!itemId) {
152
+ return {
153
+ status: "failed",
154
+ retryable: false,
155
+ error: { code: "AI_ITEM_MISSING", message: "itemId required" },
156
+ };
157
+ }
158
+ const correlationId = `${req.runId}:${req.stepId}:${req.attempt}`;
159
+ const inputs = {
160
+ ...(req.inputs && typeof req.inputs === "object"
161
+ ? req.inputs
162
+ : {}),
163
+ };
164
+ // Associate skills have no memorix-capability explore callback — push catalog.
165
+ if ((serviceId === "knowx-associate-knowledge" ||
166
+ itemId === "knowx.associate-knowledge") &&
167
+ memorix &&
168
+ inputs.existingKnowx === undefined) {
169
+ const existing = await fetchExistingKnowxForAssociate(memorix);
170
+ if (existing.length)
171
+ inputs.existingKnowx = existing;
172
+ }
173
+ const configExec = c.execution && typeof c.execution === "object"
174
+ ? c.execution
175
+ : {};
176
+ const skillDefaults = aiServiceType === "skill"
177
+ ? defaultSkillExecutionForItem(itemId, {
178
+ runId: req.runId,
179
+ stepId: req.stepId,
180
+ })
181
+ : undefined;
182
+ let execution = {
183
+ ...skillDefaults,
184
+ ...configExec,
185
+ };
186
+ let invokeInput = inputs;
187
+ if (aiServiceType === "skill" &&
188
+ (itemId.startsWith("knowx.") || serviceId.startsWith("knowx-"))) {
189
+ const prepared = prepareKnowxSkillInvoke(itemId, serviceId, inputs, execution);
190
+ invokeInput = prepared.input;
191
+ execution = prepared.execution;
192
+ }
193
+ try {
194
+ const { status, body } = await aiClient.invoke(endpoint, {
195
+ itemId,
196
+ input: invokeInput,
197
+ execution: Object.keys(execution).length ? execution : undefined,
198
+ correlationId,
199
+ }, correlationId);
200
+ if (status < 200 || status >= 300 || body.ok === false) {
201
+ return {
202
+ status: "failed",
203
+ retryable: Boolean(body.error?.retryable),
204
+ error: {
205
+ code: body.error?.code ?? "AI_SERVICE_INVOKE_FAILED",
206
+ message: body.error?.message ?? `HTTP ${status}`,
207
+ },
208
+ };
209
+ }
210
+ const normalized = normalizeAiServiceStepOutput(body, { itemId, serviceId });
211
+ if (!normalized.ok) {
212
+ return {
213
+ status: "failed",
214
+ retryable: false,
215
+ error: { code: normalized.code, message: normalized.message },
216
+ };
217
+ }
218
+ return {
219
+ status: "succeeded",
220
+ output: normalized.output,
221
+ };
222
+ }
223
+ catch (err) {
224
+ return {
225
+ status: "failed",
226
+ retryable: true,
227
+ error: {
228
+ code: "REMOTE_UNREACHABLE",
229
+ message: err instanceof Error ? err.message : String(err),
230
+ },
231
+ };
232
+ }
233
+ }
234
+ const baseServiceInvokePorts = createServiceInvokePorts({
33
235
  remoteFetch: pipelineWorkerFetch,
34
236
  buildMemorixContext: (req) => {
35
237
  const fromConfig = resolveAccess(req.config?.memorixAccess);
@@ -55,4 +257,39 @@ export const serviceInvokePorts = createServiceInvokePorts({
55
257
  };
56
258
  },
57
259
  });
260
+ /** Helpers for in-process / remote service invoke with worker-lane recording. */
261
+ export const serviceInvokePorts = {
262
+ invokeInProcess: baseServiceInvokePorts.invokeInProcess,
263
+ invokeRemote: async (req) => {
264
+ const c = (req.config ?? {});
265
+ if (c.invokeProtocol === "ai-services/1" ||
266
+ (typeof c.aiServiceType === "string" &&
267
+ c.aiServiceType &&
268
+ typeof c.itemId === "string" &&
269
+ c.itemId)) {
270
+ const fromConfig = resolveAccess(c.memorixAccess);
271
+ const fromInputs = resolveAccess(req.inputs?.memorixAccess);
272
+ const access = fromConfig.length ? fromConfig : fromInputs;
273
+ const grant = issueCallbackGrant({
274
+ orgId: req.scope.orgId,
275
+ agentIds: [...req.scope.agentIds],
276
+ access,
277
+ runId: req.runId,
278
+ stepId: req.stepId,
279
+ });
280
+ const memorix = {
281
+ baseUrl: resolveMemorixPublicBaseUrl(),
282
+ orgId: req.scope.orgId,
283
+ agentIds: [...req.scope.agentIds],
284
+ runId: req.runId,
285
+ stepId: req.stepId,
286
+ correlationId: `${req.runId}:${req.stepId}:${req.attempt}`,
287
+ access,
288
+ grant,
289
+ };
290
+ return invokeAiServiceRemote(req, memorix);
291
+ }
292
+ return baseServiceInvokePorts.invokeRemote(req);
293
+ },
294
+ };
58
295
  //# sourceMappingURL=live.js.map
package/dist/live.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"live.js","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,GAGzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;AAEnD,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAC,eAAe,EAAE;IACtE,MAAM,EAAE,aAAa;CACtB,CAAC,CAAC;AAEH,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,eAAe,EAAE;IAC1E,MAAM,EAAE,iBAAiB;CAC1B,CAAC,CAAC;AAEH,SAAS,2BAA2B;IAClC,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,CAAC;IACjD,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;IAChE,OAAO,oBAAoB,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,CAAC,EAA6B,EAAE,CAC/B,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,KAAK,CACxD,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;IACzD,WAAW,EAAE,mBAAmB;IAChC,mBAAmB,EAAE,CAAC,GAAG,EAAwB,EAAE;QACjD,MAAM,UAAU,GAAG,aAAa,CAC7B,GAAG,CAAC,MAAkD,EAAE,aAAa,CACvE,CAAC;QACF,MAAM,UAAU,GAAG,aAAa,CAC7B,GAAG,CAAC,MAAkD,EAAE,aAAa,CACvE,CAAC;QACF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAC3D,MAAM,aAAa,GAAG,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,kBAAkB,CAAC;YAC/B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK;YACtB,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;YACjC,MAAM;YACN,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,2BAA2B,EAAE;YACtC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK;YACtB,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;YACjC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,aAAa;YACb,MAAM;YACN,KAAK;SACN,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ import type { MetadataPack } from "@x12i/memorix-metadata";
2
+ import { type ProposalLike } from "./proposal-to-pack.js";
3
+ export type MagitActor = {
4
+ subject: string;
5
+ scopes?: string[];
6
+ };
7
+ export type PackVersionSummary = {
8
+ commit: string;
9
+ agentId: string;
10
+ checksum: string | null;
11
+ message: string | null;
12
+ createdAt: string;
13
+ source: "save-version" | "head";
14
+ reused?: boolean;
15
+ };
16
+ export type PackDiffChange = "added" | "removed" | "changed";
17
+ export type PackDiffFieldChange = {
18
+ path: string;
19
+ change: PackDiffChange;
20
+ };
21
+ export type PackDiffRow = {
22
+ kind: string;
23
+ id: string;
24
+ change: PackDiffChange;
25
+ labels?: string[];
26
+ fields?: PackDiffFieldChange[];
27
+ };
28
+ export type PackDiffResult = {
29
+ agentId: string;
30
+ from: string;
31
+ to: string;
32
+ changes: PackDiffRow[];
33
+ };
34
+ export type MemorixReleaseRecord = {
35
+ name: string;
36
+ commit: string;
37
+ agentIds: string[];
38
+ createdAt: string;
39
+ actor?: string;
40
+ message?: string;
41
+ };
42
+ export type PublishPlanResult = {
43
+ release: string;
44
+ commit: string;
45
+ agentIds: string[];
46
+ planHash: string;
47
+ summary: {
48
+ toInsert: number;
49
+ toUpdate: number;
50
+ wouldDelete: number;
51
+ };
52
+ changes: PackDiffRow[];
53
+ };
54
+ export type MagitPackServiceConfig = {
55
+ /** Parent directory; each org gets `${repoRootParent}/${orgId}`. */
56
+ repoRootParent: string;
57
+ /** Env var name Magit reads for Mongo (default MONGO_URI). */
58
+ mongoUrlEnv: string;
59
+ /** URI written into process.env[mongoUrlEnv] before Magit source ops. */
60
+ mongoUri: string;
61
+ /** Metadata DB name for this isolation session / org. */
62
+ metadataDb: string;
63
+ storageUrl?: string;
64
+ storageTokenEnv?: string;
65
+ /** Optional logger for Magit progress ticks. */
66
+ log?: (msg: string, extra?: Record<string, unknown>) => void;
67
+ };
68
+ /**
69
+ * Magit is on by default when durable Mongo is configured (platform gates that).
70
+ * Set METADATA_MAGIT=0 / false / off to disable.
71
+ */
72
+ export declare function isMetadataMagitEnabled(): boolean;
73
+ export declare function resolveMagitRepoRootParent(): string;
74
+ export declare class MagitPackService {
75
+ private readonly cfg;
76
+ private readonly ensured;
77
+ constructor(cfg: MagitPackServiceConfig);
78
+ private progress;
79
+ repoRootFor(orgId: string): string;
80
+ ensureRepo(orgId: string): Promise<void>;
81
+ saveVersion(orgId: string, pack: MetadataPack, opts: {
82
+ message: string;
83
+ actor?: MagitActor;
84
+ }): Promise<{
85
+ commit: string;
86
+ checksum: string;
87
+ reused: boolean;
88
+ }>;
89
+ /**
90
+ * Advance Magit HEAD / main to a proposal commit so subsequent proposePatchset
91
+ * calls with base HEAD inherit prior agent records.
92
+ */
93
+ private pinPackTip;
94
+ /**
95
+ * Merge proposal draft into base pack and save a Magit version (not live).
96
+ */
97
+ importProposal(orgId: string, opts: {
98
+ agentId: string;
99
+ proposal: ProposalLike;
100
+ basePack?: MetadataPack | null;
101
+ actor?: MagitActor;
102
+ }): Promise<{
103
+ commit: string;
104
+ checksum: string;
105
+ reused: boolean;
106
+ pack: MetadataPack;
107
+ }>;
108
+ /**
109
+ * Snapshot a live pack as the initial Magit commit for legacy checksum-only installs.
110
+ */
111
+ backfillLineage(orgId: string, pack: MetadataPack, opts?: {
112
+ actor?: MagitActor;
113
+ }): Promise<{
114
+ commit: string;
115
+ checksum: string;
116
+ reused: boolean;
117
+ }>;
118
+ history(orgId: string, agentId: string, opts?: {
119
+ maxCount?: number;
120
+ }): Promise<PackVersionSummary[]>;
121
+ diff(orgId: string, agentId: string, opts: {
122
+ from: string;
123
+ to: string;
124
+ }): Promise<PackDiffResult>;
125
+ /** Reconstruct pack without org-source hygiene (used to emit Magit deletes). */
126
+ private packAtCommitRaw;
127
+ packAtCommit(orgId: string, agentId: string, commit: string): Promise<{
128
+ pack: MetadataPack;
129
+ checksum: string;
130
+ commit: string;
131
+ }>;
132
+ /**
133
+ * Apply a Magit commit into live metadata Mongo (transform driver).
134
+ * Caller must rehydrate the Memorix metadata store afterward.
135
+ */
136
+ applyCommit(orgId: string, opts: {
137
+ commit: string;
138
+ agentId?: string;
139
+ }): Promise<{
140
+ commit: string;
141
+ summary: {
142
+ recordsUpserted: number;
143
+ recordsDeleted: number;
144
+ };
145
+ }>;
146
+ publishPlan(orgId: string, opts: {
147
+ release: string;
148
+ commit: string;
149
+ agentIds: string[];
150
+ }): Promise<PublishPlanResult>;
151
+ recordRelease(orgId: string, release: MemorixReleaseRecord): Promise<MemorixReleaseRecord>;
152
+ listReleases(orgId: string): MemorixReleaseRecord[];
153
+ private releasesPath;
154
+ private readReleases;
155
+ private resolveSeedCommit;
156
+ private resolveCommitRef;
157
+ private collectDiffRows;
158
+ /**
159
+ * Snapshot a temporary seed agent so HEAD carries `memorix_metadata_agents`,
160
+ * then remove the seed from live Mongo (saveVersion must stay non-live).
161
+ */
162
+ private seedAgentsCollectionCommit;
163
+ private ensureMongoEnv;
164
+ private mapError;
165
+ }
166
+ export declare function createMagitPackService(cfg: MagitPackServiceConfig): MagitPackService;
167
+ //# sourceMappingURL=magit-pack-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magit-pack-service.d.ts","sourceRoot":"","sources":["../../src/magit/magit-pack-service.ts"],"names":[],"mappings":"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"}