@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.
- package/README.md +8 -1
- 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 +23 -0
- package/dist/ai-services/normalize-output.d.ts.map +1 -0
- package/dist/ai-services/normalize-output.js +148 -0
- package/dist/ai-services/normalize-output.js.map +1 -0
- package/dist/ai-services/skill-execution.d.ts +23 -0
- package/dist/ai-services/skill-execution.d.ts.map +1 -0
- package/dist/ai-services/skill-execution.js +54 -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 +37 -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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/isolation.d.ts +1 -1
- package/dist/isolation.d.ts.map +1 -1
- 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 +2 -1
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +239 -2
- package/dist/live.js.map +1 -1
- package/dist/magit/magit-pack-service.d.ts +167 -0
- package/dist/magit/magit-pack-service.d.ts.map +1 -0
- package/dist/magit/magit-pack-service.js +699 -0
- package/dist/magit/magit-pack-service.js.map +1 -0
- package/dist/magit/pack-to-patchset.d.ts +45 -0
- package/dist/magit/pack-to-patchset.d.ts.map +1 -0
- package/dist/magit/pack-to-patchset.js +196 -0
- package/dist/magit/pack-to-patchset.js.map +1 -0
- 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 +11 -3
- package/dist/mongo-metadata-store.js.map +1 -1
- package/dist/openapi/openapi.json +665 -1
- 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 +51 -0
- package/dist/pipeline-compile.d.ts.map +1 -0
- package/dist/pipeline-compile.js +203 -0
- package/dist/pipeline-compile.js.map +1 -0
- package/dist/platform.d.ts +22 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +150 -21
- 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.js +2 -2
- 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/memory.d.ts.map +1 -1
- package/dist/routes/memory.js +343 -41
- package/dist/routes/memory.js.map +1 -1
- package/dist/routes/metadata.d.ts.map +1 -1
- package/dist/routes/metadata.js +800 -8
- package/dist/routes/metadata.js.map +1 -1
- package/dist/routes/pipelines.d.ts.map +1 -1
- package/dist/routes/pipelines.js +28 -3
- package/dist/routes/pipelines.js.map +1 -1
- package/dist/routes/relationships.d.ts.map +1 -1
- package/dist/routes/relationships.js +29 -0
- 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/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 +665 -1
- package/package.json +19 -10
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { emptyMetadataPack } from "./pack-to-patchset.js";
|
|
2
|
+
const KIND_TO_FIELD = {
|
|
3
|
+
"object-type": "objectTypes",
|
|
4
|
+
"object-types": "objectTypes",
|
|
5
|
+
"abstract-type": "abstractTypes",
|
|
6
|
+
"abstract-types": "abstractTypes",
|
|
7
|
+
"abstract-binding": "abstractTypes",
|
|
8
|
+
"abstract-bindings": "abstractTypes",
|
|
9
|
+
"relationship-definition": "relationshipDefinitions",
|
|
10
|
+
"relationship-definitions": "relationshipDefinitions",
|
|
11
|
+
"source-mapping": "mappings",
|
|
12
|
+
transform: "mappings",
|
|
13
|
+
mappings: "mappings",
|
|
14
|
+
view: "views",
|
|
15
|
+
views: "views",
|
|
16
|
+
pipeline: "pipelines",
|
|
17
|
+
pipelines: "pipelines",
|
|
18
|
+
source: "sources",
|
|
19
|
+
sources: "sources",
|
|
20
|
+
service: "services",
|
|
21
|
+
services: "services",
|
|
22
|
+
schedule: "schedules",
|
|
23
|
+
schedules: "schedules",
|
|
24
|
+
write: "writes",
|
|
25
|
+
writes: "writes",
|
|
26
|
+
agent: "agents",
|
|
27
|
+
agents: "agents",
|
|
28
|
+
"kind-declaration": "kindDeclarations",
|
|
29
|
+
"kind-declarations": "kindDeclarations",
|
|
30
|
+
};
|
|
31
|
+
export function packFieldForProposalKind(metadataKind) {
|
|
32
|
+
return KIND_TO_FIELD[metadataKind] ?? null;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Deep-clone base pack (or empty) and upsert proposal.draft into the mapped kind array.
|
|
36
|
+
*/
|
|
37
|
+
export function mergeProposalIntoPack(base, proposal, agentId) {
|
|
38
|
+
const field = packFieldForProposalKind(proposal.metadataKind);
|
|
39
|
+
if (!field) {
|
|
40
|
+
throw new Error(`unsupported proposal metadataKind for pack staging: ${proposal.metadataKind}`);
|
|
41
|
+
}
|
|
42
|
+
if (!proposal.draft || typeof proposal.draft !== "object" || Array.isArray(proposal.draft)) {
|
|
43
|
+
throw new Error("proposal draft must be a non-null object");
|
|
44
|
+
}
|
|
45
|
+
const draft = { ...proposal.draft };
|
|
46
|
+
const id = (typeof draft.id === "string" && draft.id) ||
|
|
47
|
+
proposal.metadataId?.trim() ||
|
|
48
|
+
"";
|
|
49
|
+
if (!id) {
|
|
50
|
+
throw new Error("proposal draft requires id (or metadataId)");
|
|
51
|
+
}
|
|
52
|
+
draft.id = id;
|
|
53
|
+
const pack = base
|
|
54
|
+
? JSON.parse(JSON.stringify(base))
|
|
55
|
+
: emptyMetadataPack(agentId);
|
|
56
|
+
pack.agentId = agentId;
|
|
57
|
+
pack.format = pack.format || "memorix-metadata/1";
|
|
58
|
+
const arr = pack[field] ?? [];
|
|
59
|
+
const next = [...arr];
|
|
60
|
+
const idx = next.findIndex((row) => row && typeof row === "object" && row.id === id);
|
|
61
|
+
if (idx >= 0)
|
|
62
|
+
next[idx] = draft;
|
|
63
|
+
else
|
|
64
|
+
next.push(draft);
|
|
65
|
+
pack[field] = next;
|
|
66
|
+
return pack;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=proposal-to-pack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-to-pack.js","sourceRoot":"","sources":["../../src/magit/proposal-to-pack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-metadata-store.d.ts","sourceRoot":"","sources":["../src/mongo-metadata-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"mongo-metadata-store.d.ts","sourceRoot":"","sources":["../src/mongo-metadata-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAGV,aAAa,EAEd,MAAM,gCAAgC,CAAC;AAkBxC,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;CACxB,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,EAAE,GAAG,oBAAoB,CAgGrE"}
|
|
@@ -13,8 +13,11 @@ export function createMongoMetadataStore(db) {
|
|
|
13
13
|
const pack = memory.getAgentPack(agentId);
|
|
14
14
|
return {
|
|
15
15
|
_id: agentId,
|
|
16
|
+
agentId,
|
|
16
17
|
checksum: pack.checksum,
|
|
17
18
|
definitions: pack.definitions,
|
|
19
|
+
magitCommit: pack.magitCommit ?? null,
|
|
20
|
+
magitRelease: pack.magitRelease ?? null,
|
|
18
21
|
};
|
|
19
22
|
}));
|
|
20
23
|
}
|
|
@@ -36,8 +39,8 @@ export function createMongoMetadataStore(db) {
|
|
|
36
39
|
getAgentPack(agentId) {
|
|
37
40
|
return memory.getAgentPack(agentId);
|
|
38
41
|
},
|
|
39
|
-
replaceAgentPack(agentId, checksum, definitions, installedAt) {
|
|
40
|
-
memory.replaceAgentPack(agentId, checksum, definitions, installedAt);
|
|
42
|
+
replaceAgentPack(agentId, checksum, definitions, installedAt, lineage) {
|
|
43
|
+
memory.replaceAgentPack(agentId, checksum, definitions, installedAt, lineage);
|
|
41
44
|
enqueueFlush();
|
|
42
45
|
},
|
|
43
46
|
getLedger() {
|
|
@@ -63,7 +66,12 @@ export function createMongoMetadataStore(db) {
|
|
|
63
66
|
.toArray();
|
|
64
67
|
const scratch = createInMemoryMetadataStore();
|
|
65
68
|
for (const doc of agentDocs) {
|
|
66
|
-
|
|
69
|
+
const agentId = doc.agentId || doc._id;
|
|
70
|
+
const lineage = {
|
|
71
|
+
magitCommit: doc.magitCommit ?? null,
|
|
72
|
+
magitRelease: doc.magitRelease ?? null,
|
|
73
|
+
};
|
|
74
|
+
scratch.replaceAgentPack(agentId, doc.checksum, doc.definitions, new Date(0).toISOString(), lineage);
|
|
67
75
|
}
|
|
68
76
|
for (const entry of ledgerDocs) {
|
|
69
77
|
const { _id: _omit, ...rest } = entry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-metadata-store.js","sourceRoot":"","sources":["../src/mongo-metadata-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mongo-metadata-store.js","sourceRoot":"","sources":["../src/mongo-metadata-store.ts"],"names":[],"mappings":"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"}
|