@x12i/memorix-service 3.2.0 → 3.3.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 (116) hide show
  1. package/README.md +43 -2
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +4 -0
  4. package/dist/app.js.map +1 -1
  5. package/dist/catalog/catalog-service.d.ts +48 -0
  6. package/dist/catalog/catalog-service.d.ts.map +1 -0
  7. package/dist/catalog/catalog-service.js +397 -0
  8. package/dist/catalog/catalog-service.js.map +1 -0
  9. package/dist/catalog/package-list-source.d.ts +35 -0
  10. package/dist/catalog/package-list-source.d.ts.map +1 -0
  11. package/dist/catalog/package-list-source.js +47 -0
  12. package/dist/catalog/package-list-source.js.map +1 -0
  13. package/dist/catalog/types.d.ts +65 -0
  14. package/dist/catalog/types.d.ts.map +1 -0
  15. package/dist/catalog/types.js +16 -0
  16. package/dist/catalog/types.js.map +1 -0
  17. package/dist/catalog-store-cli.d.ts +20 -0
  18. package/dist/catalog-store-cli.d.ts.map +1 -0
  19. package/dist/catalog-store-cli.js +206 -0
  20. package/dist/catalog-store-cli.js.map +1 -0
  21. package/dist/cli.d.ts +3 -1
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +48 -18
  24. package/dist/cli.js.map +1 -1
  25. package/dist/connector-catalog.d.ts +11 -0
  26. package/dist/connector-catalog.d.ts.map +1 -1
  27. package/dist/connector-catalog.js +28 -0
  28. package/dist/connector-catalog.js.map +1 -1
  29. package/dist/connector-ops/attempt-store.d.ts +5 -0
  30. package/dist/connector-ops/attempt-store.d.ts.map +1 -0
  31. package/dist/connector-ops/attempt-store.js +186 -0
  32. package/dist/connector-ops/attempt-store.js.map +1 -0
  33. package/dist/connector-ops/index.d.ts +5 -0
  34. package/dist/connector-ops/index.d.ts.map +1 -0
  35. package/dist/connector-ops/index.js +5 -0
  36. package/dist/connector-ops/index.js.map +1 -0
  37. package/dist/connector-ops/override-store.d.ts +7 -0
  38. package/dist/connector-ops/override-store.d.ts.map +1 -0
  39. package/dist/connector-ops/override-store.js +123 -0
  40. package/dist/connector-ops/override-store.js.map +1 -0
  41. package/dist/connector-ops/sanitize.d.ts +16 -0
  42. package/dist/connector-ops/sanitize.d.ts.map +1 -0
  43. package/dist/connector-ops/sanitize.js +48 -0
  44. package/dist/connector-ops/sanitize.js.map +1 -0
  45. package/dist/connector-ops/types.d.ts +76 -0
  46. package/dist/connector-ops/types.d.ts.map +1 -0
  47. package/dist/connector-ops/types.js +12 -0
  48. package/dist/connector-ops/types.js.map +1 -0
  49. package/dist/effective-listing.d.ts +11 -0
  50. package/dist/effective-listing.d.ts.map +1 -0
  51. package/dist/effective-listing.js +41 -0
  52. package/dist/effective-listing.js.map +1 -0
  53. package/dist/errors.d.ts +5 -1
  54. package/dist/errors.d.ts.map +1 -1
  55. package/dist/errors.js +10 -3
  56. package/dist/errors.js.map +1 -1
  57. package/dist/execution-target.d.ts +16 -0
  58. package/dist/execution-target.d.ts.map +1 -1
  59. package/dist/execution-target.js +54 -0
  60. package/dist/execution-target.js.map +1 -1
  61. package/dist/generic-connectors.d.ts +7 -5
  62. package/dist/generic-connectors.d.ts.map +1 -1
  63. package/dist/generic-connectors.js +44 -4
  64. package/dist/generic-connectors.js.map +1 -1
  65. package/dist/index.d.ts +3 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +3 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/magit/magit-pack-service.d.ts +262 -0
  70. package/dist/magit/magit-pack-service.d.ts.map +1 -1
  71. package/dist/magit/magit-pack-service.js +585 -9
  72. package/dist/magit/magit-pack-service.js.map +1 -1
  73. package/dist/magit/pack-to-patchset.d.ts +37 -0
  74. package/dist/magit/pack-to-patchset.d.ts.map +1 -1
  75. package/dist/magit/pack-to-patchset.js +75 -0
  76. package/dist/magit/pack-to-patchset.js.map +1 -1
  77. package/dist/magit/package-catalog-bridge.d.ts +3 -13
  78. package/dist/magit/package-catalog-bridge.d.ts.map +1 -1
  79. package/dist/magit/package-catalog-bridge.js +0 -19
  80. package/dist/magit/package-catalog-bridge.js.map +1 -1
  81. package/dist/mgc-packages.d.ts +12 -0
  82. package/dist/mgc-packages.d.ts.map +1 -0
  83. package/dist/mgc-packages.js +12 -0
  84. package/dist/mgc-packages.js.map +1 -0
  85. package/dist/openapi/openapi.json +1716 -137
  86. package/dist/optional-companion-url.d.ts +72 -0
  87. package/dist/optional-companion-url.d.ts.map +1 -0
  88. package/dist/optional-companion-url.js +148 -0
  89. package/dist/optional-companion-url.js.map +1 -0
  90. package/dist/pipeline-compile.d.ts +11 -2
  91. package/dist/pipeline-compile.d.ts.map +1 -1
  92. package/dist/pipeline-compile.js +64 -19
  93. package/dist/pipeline-compile.js.map +1 -1
  94. package/dist/platform.d.ts +11 -0
  95. package/dist/platform.d.ts.map +1 -1
  96. package/dist/platform.js +87 -3
  97. package/dist/platform.js.map +1 -1
  98. package/dist/routes/catalog.d.ts +4 -0
  99. package/dist/routes/catalog.d.ts.map +1 -0
  100. package/dist/routes/catalog.js +103 -0
  101. package/dist/routes/catalog.js.map +1 -0
  102. package/dist/routes/connector-ops.d.ts +12 -0
  103. package/dist/routes/connector-ops.d.ts.map +1 -0
  104. package/dist/routes/connector-ops.js +160 -0
  105. package/dist/routes/connector-ops.js.map +1 -0
  106. package/dist/routes/memory.d.ts.map +1 -1
  107. package/dist/routes/memory.js +14 -2
  108. package/dist/routes/memory.js.map +1 -1
  109. package/dist/routes/metadata.d.ts.map +1 -1
  110. package/dist/routes/metadata.js +146 -66
  111. package/dist/routes/metadata.js.map +1 -1
  112. package/dist/routes/pipelines.d.ts.map +1 -1
  113. package/dist/routes/pipelines.js +3 -2
  114. package/dist/routes/pipelines.js.map +1 -1
  115. package/openapi/openapi.json +1716 -137
  116. package/package.json +34 -6
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Pure helpers for GET /api/metadata/packages ?source= selection.
3
+ * Mirrors packages-list-shape.test.ts contracts.
4
+ */
5
+ export function collapseCatalogVersions(items) {
6
+ const byKey = new Map();
7
+ for (const v of items) {
8
+ const key = `${v.kind}::${v.id}`;
9
+ const prev = byKey.get(key);
10
+ if (prev && prev.createdAt >= v.createdAt)
11
+ continue;
12
+ byKey.set(key, {
13
+ kind: v.kind,
14
+ id: v.id,
15
+ agentId: v.kind === "agent" ? v.id : "",
16
+ version: v.version,
17
+ createdAt: v.createdAt,
18
+ });
19
+ }
20
+ return [...byKey.values()].map(({ kind, id, agentId, version }) => ({
21
+ kind,
22
+ id,
23
+ agentId,
24
+ version,
25
+ }));
26
+ }
27
+ export function selectPackagesBySource(opts) {
28
+ const wantPackable = opts.source === "packable" || opts.source === "all";
29
+ const packable = wantPackable ? opts.packable : [];
30
+ let packages = opts.source === "catalog" || opts.source === "all" ? opts.packages : [];
31
+ if (opts.source === "packable") {
32
+ packages = packable.map((e) => ({
33
+ kind: e.kind,
34
+ id: e.id,
35
+ agentId: e.agentId,
36
+ ...(e.label ? { label: e.label } : {}),
37
+ }));
38
+ }
39
+ return { packages, packable };
40
+ }
41
+ export function parsePackagesSource(raw) {
42
+ const s = (raw ?? "packable").trim().toLowerCase();
43
+ if (s === "catalog" || s === "all")
44
+ return s;
45
+ return "packable";
46
+ }
47
+ //# sourceMappingURL=package-list-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-list-source.js","sourceRoot":"","sources":["../../src/catalog/package-list-source.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH,MAAM,UAAU,uBAAuB,CACrC,KAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,GAAG,EAGlB,CAAC;IACJ,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;YAAE,SAAS;QACpD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YACb,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACvC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI;QACJ,EAAE;QACF,OAAO;QACP,OAAO;KACR,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAItC;IACC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;IACzE,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,IAAI,QAAQ,GACV,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC,CAAC,CAAC;IACN,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAuB;IAEvB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Memorix product catalog domain (M1).
3
+ * Existence of Magit-backed kinds comes from Magit store/flat list;
4
+ * deployments are env-local only — never Magit.
5
+ */
6
+ export type CatalogComponentKind = "agent" | "service" | "connector" | "pipeline" | "runtime-service";
7
+ /** Magit package kinds that listPackagesFR understands for FR-CPS. */
8
+ export declare const MAGIT_CATALOG_KINDS: readonly ["agent", "connector", "service"];
9
+ export type MagitCatalogKind = (typeof MAGIT_CATALOG_KINDS)[number];
10
+ export type CatalogPublisher = {
11
+ id: string;
12
+ appId?: string;
13
+ workspaceId?: string;
14
+ displayName?: string;
15
+ };
16
+ export type CatalogReleaseSummary = {
17
+ version: string;
18
+ checksum: string | null;
19
+ message?: string | null;
20
+ createdAt?: string;
21
+ mode?: "narrow" | "full";
22
+ };
23
+ export type CatalogRelease = CatalogReleaseSummary & {
24
+ packageTypeId: string | null;
25
+ publisher: CatalogPublisher | null;
26
+ kind: CatalogComponentKind;
27
+ id: string;
28
+ magitRef?: string;
29
+ associations?: {
30
+ kind: CatalogComponentKind;
31
+ id: string;
32
+ publisher?: string;
33
+ version?: string;
34
+ }[];
35
+ };
36
+ export type CatalogDeployment = {
37
+ orgId?: string;
38
+ environment?: string;
39
+ status: "installed" | "configured" | "reachable" | "missing" | "degraded";
40
+ installedVersion?: string;
41
+ endpoint?: string;
42
+ lastSeen?: string;
43
+ health?: "up" | "down" | "unknown";
44
+ notes?: string;
45
+ };
46
+ export type CatalogComponent = {
47
+ schema: "memorix-catalog/v1";
48
+ packageTypeId: string | null;
49
+ publisher: CatalogPublisher | null;
50
+ kind: CatalogComponentKind;
51
+ id: string;
52
+ name?: string;
53
+ lifecycle?: "active" | "deprecated";
54
+ associations?: {
55
+ kind: CatalogComponentKind;
56
+ id: string;
57
+ publisher?: string;
58
+ version?: string;
59
+ }[];
60
+ latestRelease?: CatalogReleaseSummary;
61
+ deployments?: CatalogDeployment[];
62
+ };
63
+ export declare function isMagitCatalogKind(kind: string): kind is MagitCatalogKind;
64
+ export declare function isCatalogComponentKind(kind: string): kind is CatalogComponentKind;
65
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/catalog/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,SAAS,GACT,WAAW,GACX,UAAU,GACV,iBAAiB,CAAC;AAEtB,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,4CAA6C,CAAC;AAC9E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG;IACnD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE;QACb,IAAI,EAAE,oBAAoB,CAAC;QAC3B,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IACpC,YAAY,CAAC,EAAE;QACb,IAAI,EAAE,oBAAoB,CAAC;QAC3B,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;IACJ,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACnC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,gBAAgB,CAEzE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,oBAAoB,CAMjF"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Memorix product catalog domain (M1).
3
+ * Existence of Magit-backed kinds comes from Magit store/flat list;
4
+ * deployments are env-local only — never Magit.
5
+ */
6
+ /** Magit package kinds that listPackagesFR understands for FR-CPS. */
7
+ export const MAGIT_CATALOG_KINDS = ["agent", "connector", "service"];
8
+ export function isMagitCatalogKind(kind) {
9
+ return MAGIT_CATALOG_KINDS.includes(kind);
10
+ }
11
+ export function isCatalogComponentKind(kind) {
12
+ return (isMagitCatalogKind(kind) ||
13
+ kind === "pipeline" ||
14
+ kind === "runtime-service");
15
+ }
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/catalog/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,sEAAsE;AACtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAU,CAAC;AA6D9E,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAQ,mBAAyC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,CACL,kBAAkB,CAAC,IAAI,CAAC;QACxB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,iBAAiB,CAC3B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type MagitPackService } from "./magit/magit-pack-service.js";
2
+ export type CatalogStoreIo = {
3
+ log: (line: string) => void;
4
+ error: (line: string) => void;
5
+ };
6
+ export type CatalogStoreDeps = {
7
+ createMagit: () => MagitPackService;
8
+ writeSecretEnvFile: (outPath: string, env: Record<string, string>) => void;
9
+ io: CatalogStoreIo;
10
+ };
11
+ export declare function parseFlag(argv: string[], name: string): string | undefined;
12
+ export declare function hasFlag(argv: string[], name: string): boolean;
13
+ export declare function createDefaultAdminMagit(): MagitPackService;
14
+ export declare function writeSecretEnvFile(outPath: string, env: Record<string, string>): void;
15
+ /**
16
+ * Run catalog-store subcommands. Returns process exit code (0/1/2).
17
+ * Never prints selector values to stdout/stderr.
18
+ */
19
+ export declare function runCatalogStoreCommand(sub: string | undefined, argv: string[], partialDeps?: Partial<CatalogStoreDeps>): Promise<number>;
20
+ //# sourceMappingURL=catalog-store-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-store-cli.d.ts","sourceRoot":"","sources":["../src/catalog-store-cli.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,gBAAgB,CAAC;IACpC,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAC3E,EAAE,EAAE,cAAc,CAAC;CACpB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI1E;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,uBAAuB,IAAI,gBAAgB,CA8C1D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAcrF;AA2BD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,CA4BjB"}
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Testable catalog-store admin CLI core.
3
+ * Selectors are written only to --out (mode 0600); stdout is safe metadata JSON.
4
+ */
5
+ import { chmodSync, mkdirSync, writeFileSync } from "node:fs";
6
+ import { dirname, resolve } from "node:path";
7
+ import { ServiceError } from "./errors.js";
8
+ import { createMagitPackService, isMetadataMagitEnabled, resolveMagitRepoRootParent, resolveMagitStorageTokenEnv, } from "./magit/magit-pack-service.js";
9
+ export function parseFlag(argv, name) {
10
+ const i = argv.indexOf(name);
11
+ if (i < 0)
12
+ return undefined;
13
+ return argv[i + 1];
14
+ }
15
+ export function hasFlag(argv, name) {
16
+ return argv.includes(name);
17
+ }
18
+ export function createDefaultAdminMagit() {
19
+ if (!isMetadataMagitEnabled()) {
20
+ throw new ServiceError("VALIDATION", "METADATA_MAGIT is disabled; enable Magit to run catalog-store commands", 400);
21
+ }
22
+ const mongoUri = process.env.MONGO_URI?.trim();
23
+ if (!mongoUri) {
24
+ throw new ServiceError("VALIDATION", "MONGO_URI is required for catalog-store commands", 400);
25
+ }
26
+ const tokenEnv = resolveMagitStorageTokenEnv();
27
+ if (!process.env[tokenEnv]?.trim()) {
28
+ throw new ServiceError("VALIDATION", `Storage token env ${tokenEnv} is not set (owner/publisher Authix token required)`, 400);
29
+ }
30
+ const metadataDb = process.env.MEMORIX_METADATA_DB?.trim() ||
31
+ process.env.MEMORIX_CATALOX_DB?.trim() ||
32
+ "memorix_metadata";
33
+ return createMagitPackService({
34
+ repoRootParent: resolveMagitRepoRootParent(),
35
+ mongoUrlEnv: "MONGO_URI",
36
+ mongoUri,
37
+ metadataDb,
38
+ storageUrl: process.env.MAGIT_STORAGE_URL?.trim() || undefined,
39
+ storageTokenEnv: tokenEnv,
40
+ log: (msg, extra) => {
41
+ if (extra) {
42
+ const keys = Object.keys(extra).filter((k) => !/selector|token|secret|password/i.test(k));
43
+ console.error(msg, keys.length ? { keys } : "");
44
+ }
45
+ else {
46
+ console.error(msg);
47
+ }
48
+ },
49
+ });
50
+ }
51
+ export function writeSecretEnvFile(outPath, env) {
52
+ const lines = [
53
+ "# Generated by memorix-service catalog-store — DO NOT COMMIT",
54
+ "# mode 0600; contains MAGIT_PACKAGE_STORE_SELECTOR (capability secret)",
55
+ ...Object.entries(env).map(([k, v]) => `${k}=${v}`),
56
+ ];
57
+ const abs = resolve(outPath);
58
+ mkdirSync(dirname(abs), { recursive: true });
59
+ writeFileSync(abs, `${lines.join("\n")}\n`, { encoding: "utf8", mode: 0o600 });
60
+ try {
61
+ chmodSync(abs, 0o600);
62
+ }
63
+ catch {
64
+ // best-effort on platforms that ignore mode
65
+ }
66
+ }
67
+ function defaultDeps(partial) {
68
+ return {
69
+ createMagit: partial?.createMagit ?? createDefaultAdminMagit,
70
+ writeSecretEnvFile: partial?.writeSecretEnvFile ?? writeSecretEnvFile,
71
+ io: partial?.io ?? {
72
+ log: (line) => console.log(line),
73
+ error: (line) => console.error(line),
74
+ },
75
+ };
76
+ }
77
+ function publisherEnv(result) {
78
+ return {
79
+ MAGIT_PACKAGE_TYPE_ID: result.packageTypeId,
80
+ MAGIT_PACKAGE_STORE_SELECTOR: result.storeSelector,
81
+ MAGIT_PACKAGE_PUBLISHER_ID: process.env.MAGIT_PACKAGE_PUBLISHER_ID?.trim() || "memorix",
82
+ MAGIT_PACKAGE_PUBLISHER_APP_ID: process.env.MAGIT_PACKAGE_PUBLISHER_APP_ID?.trim() || "memorix-service",
83
+ };
84
+ }
85
+ /**
86
+ * Run catalog-store subcommands. Returns process exit code (0/1/2).
87
+ * Never prints selector values to stdout/stderr.
88
+ */
89
+ export async function runCatalogStoreCommand(sub, argv, partialDeps) {
90
+ const deps = defaultDeps(partialDeps);
91
+ const { io } = deps;
92
+ try {
93
+ if (sub === "provision")
94
+ return await provision(argv, deps);
95
+ if (sub === "verify")
96
+ return await verify(deps);
97
+ if (sub === "recover")
98
+ return await recover(argv, deps);
99
+ if (sub === "list")
100
+ return await list(deps);
101
+ io.error(`Usage:
102
+ memorix-service catalog-store provision [--out <file>] [--force] [--package-type-id <id>]
103
+ memorix-service catalog-store verify
104
+ memorix-service catalog-store recover --store-id <id> [--out <file>]
105
+ memorix-service catalog-store list
106
+
107
+ Secrets (MAGIT_PACKAGE_STORE_SELECTOR, tokens) are never printed on stdout.
108
+ Provision/recover write selector lines to --out with mode 0600.`);
109
+ return 1;
110
+ }
111
+ catch (err) {
112
+ const message = err instanceof ServiceError
113
+ ? err.message
114
+ : err instanceof Error
115
+ ? err.message
116
+ : String(err);
117
+ io.error(message);
118
+ return 1;
119
+ }
120
+ }
121
+ async function provision(argv, deps) {
122
+ const out = parseFlag(argv, "--out");
123
+ if (!out) {
124
+ deps.io.error("provision requires --out <file> so the selector is never printed on stdout");
125
+ return 2;
126
+ }
127
+ const force = hasFlag(argv, "--force");
128
+ const packageTypeId = parseFlag(argv, "--package-type-id");
129
+ const magitSvc = deps.createMagit();
130
+ const result = await magitSvc.provisionTypedPackageStore({
131
+ packageTypeId: packageTypeId || undefined,
132
+ force,
133
+ });
134
+ deps.writeSecretEnvFile(out, publisherEnv(result));
135
+ const abs = resolve(out);
136
+ deps.io.error(`[catalog-store] wrote secrets to ${abs} (mode 0600)`);
137
+ deps.io.error("[catalog-store] stdout contains no secrets — only next steps");
138
+ deps.io.log(JSON.stringify({
139
+ ok: true,
140
+ action: "provision",
141
+ packageTypeId: result.packageTypeId,
142
+ storeId: result.storeId,
143
+ pushed: result.pushed,
144
+ existingStoreCount: result.existingStoreCount,
145
+ secretsFile: abs,
146
+ next: [
147
+ `Install ${out} into the service secret env (never commit).`,
148
+ "Mint Authix store grants: publisher write + consumer read.",
149
+ "Run: memorix-service catalog-store verify",
150
+ "Optional: node scripts/magit-backfill-pack-catalog.mjs",
151
+ ],
152
+ }, null, 2));
153
+ return 0;
154
+ }
155
+ async function verify(deps) {
156
+ const magitSvc = deps.createMagit();
157
+ const result = await magitSvc.verifyTypedPackageStore();
158
+ deps.io.log(JSON.stringify({
159
+ ok: true,
160
+ action: "verify",
161
+ mode: result.mode,
162
+ packageTypeId: result.packageTypeId,
163
+ reachable: result.reachable,
164
+ selectorConfigured: Boolean(process.env.MAGIT_PACKAGE_STORE_SELECTOR?.trim()),
165
+ }, null, 2));
166
+ return 0;
167
+ }
168
+ async function recover(argv, deps) {
169
+ const storeId = parseFlag(argv, "--store-id");
170
+ if (!storeId) {
171
+ deps.io.error("recover requires --store-id <id>");
172
+ return 2;
173
+ }
174
+ const out = parseFlag(argv, "--out");
175
+ if (!out) {
176
+ deps.io.error("recover requires --out <file> so the new selector is never printed on stdout");
177
+ return 2;
178
+ }
179
+ const magitSvc = deps.createMagit();
180
+ const result = await magitSvc.recoverStoreSelector({ storeId });
181
+ deps.writeSecretEnvFile(out, publisherEnv(result));
182
+ const abs = resolve(out);
183
+ deps.io.error(`[catalog-store] wrote secrets to ${abs} (mode 0600)`);
184
+ deps.io.error("[catalog-store] stdout contains no secrets — only next steps");
185
+ deps.io.log(JSON.stringify({
186
+ ok: true,
187
+ action: "recover",
188
+ packageTypeId: result.packageTypeId,
189
+ storeId: result.storeId,
190
+ pushed: result.pushed,
191
+ secretsFile: abs,
192
+ next: [
193
+ "Rotate installed MAGIT_PACKAGE_STORE_SELECTOR to the new secret file.",
194
+ "Re-mint consumer tokens if they relied on the revoked selector.",
195
+ "Run: memorix-service catalog-store verify",
196
+ ],
197
+ }, null, 2));
198
+ return 0;
199
+ }
200
+ async function list(deps) {
201
+ const magitSvc = deps.createMagit();
202
+ const stores = await magitSvc.listPackageStores();
203
+ deps.io.log(JSON.stringify({ ok: true, action: "list", count: stores.length, stores }, null, 2));
204
+ return 0;
205
+ }
206
+ //# sourceMappingURL=catalog-store-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-store-cli.js","sourceRoot":"","sources":["../src/catalog-store-cli.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ /** Hydrate unset process.env keys from memorix-service/.env (internal URLs + secrets). */
3
+ export declare function loadDotEnv(): void;
4
+ export declare function runCli(argv?: string[]): Promise<number>;
3
5
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAcA,0FAA0F;AAC1F,wBAAgB,UAAU,IAAI,IAAI,CAuBjC;AAOD,wBAAsB,MAAM,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BpF"}
package/dist/cli.js CHANGED
@@ -1,9 +1,18 @@
1
1
  #!/usr/bin/env node
2
+ /**
3
+ * memorix-service CLI.
4
+ *
5
+ * memorix-service serve
6
+ * memorix-service catalog-store provision|verify|recover|list
7
+ */
2
8
  import { readFileSync } from "node:fs";
3
9
  import { resolve } from "node:path";
10
+ import { pathToFileURL } from "node:url";
4
11
  import { startMemorixServiceHttp } from "./app.js";
12
+ import { ServiceError } from "./errors.js";
13
+ import { runCatalogStoreCommand } from "./catalog-store-cli.js";
5
14
  /** Hydrate unset process.env keys from memorix-service/.env (internal URLs + secrets). */
6
- function loadDotEnv() {
15
+ export function loadDotEnv() {
7
16
  try {
8
17
  const text = readFileSync(resolve(process.cwd(), "./.env"), "utf8");
9
18
  for (const raw of text.split(/\r?\n/)) {
@@ -36,24 +45,45 @@ function loadMongoUri() {
36
45
  return process.env.MONGO_URI.trim();
37
46
  return undefined;
38
47
  }
39
- async function main() {
40
- const cmd = process.argv[2] ?? "serve";
41
- if (cmd !== "serve") {
42
- console.error("Usage: memorix-service serve");
43
- process.exit(1);
44
- }
48
+ export async function runCli(argv = process.argv.slice(2)) {
45
49
  loadDotEnv();
46
- const mode = (process.env.MEMORIX_SERVICE_MODE ?? "prod");
47
- const mongoUri = loadMongoUri();
48
- const { port, host } = await startMemorixServiceHttp({
49
- mode,
50
- mongoUri,
51
- logger: true,
50
+ const cmd = argv[0] ?? "serve";
51
+ if (cmd === "serve") {
52
+ const mode = (process.env.MEMORIX_SERVICE_MODE ?? "prod");
53
+ const mongoUri = loadMongoUri();
54
+ const { port, host } = await startMemorixServiceHttp({
55
+ mode,
56
+ mongoUri,
57
+ logger: true,
58
+ });
59
+ console.log(`memorix-service listening on http://${host}:${port} (mode=${mode})`);
60
+ return 0;
61
+ }
62
+ if (cmd === "catalog-store") {
63
+ return runCatalogStoreCommand(argv[1], argv.slice(2));
64
+ }
65
+ console.error(`Usage:
66
+ memorix-service serve
67
+ memorix-service catalog-store provision [--out <file>] [--force] [--package-type-id <id>]
68
+ memorix-service catalog-store verify
69
+ memorix-service catalog-store recover --store-id <id> [--out <file>]
70
+ memorix-service catalog-store list`);
71
+ return 1;
72
+ }
73
+ const entry = process.argv[1] ? pathToFileURL(resolve(process.argv[1])).href : "";
74
+ const isMain = entry !== "" && import.meta.url === entry;
75
+ if (isMain) {
76
+ runCli().then((code) => {
77
+ if (code !== 0)
78
+ process.exit(code);
79
+ }, (err) => {
80
+ const message = err instanceof ServiceError
81
+ ? err.message
82
+ : err instanceof Error
83
+ ? err.message
84
+ : String(err);
85
+ console.error(message);
86
+ process.exit(1);
52
87
  });
53
- console.log(`memorix-service listening on http://${host}:${port} (mode=${mode})`);
54
88
  }
55
- main().catch((err) => {
56
- console.error(err);
57
- process.exit(1);
58
- });
59
89
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,12 @@ export type UnifiedConnectorRow = {
26
26
  /** Host missing for generic remote entries. */
27
27
  unavailableReason?: string;
28
28
  definitionHash?: string;
29
+ /** Optional description from MGC catalog (keyless / public API intent). */
30
+ description?: string;
31
+ purpose?: string;
32
+ classification?: string;
33
+ tags?: string[];
34
+ usageModel?: "stream" | "service";
29
35
  };
30
36
  export type ListUnifiedConnectorsInput = {
31
37
  connectorRegistry: ConnectorRegistry | {
@@ -49,6 +55,11 @@ export type ListUnifiedConnectorsInput = {
49
55
  export declare function listUnifiedConnectors(input: ListUnifiedConnectorsInput): Promise<UnifiedConnectorRow[]>;
50
56
  /** Shape for GET /api/connectors response rows. */
51
57
  export declare function toApiConnectorRow(row: UnifiedConnectorRow): {
58
+ usageModel?: "service" | "stream" | undefined;
59
+ tags?: string[] | undefined;
60
+ classification?: string | undefined;
61
+ purpose?: string | undefined;
62
+ description?: string | undefined;
52
63
  definitionHash?: string | undefined;
53
64
  unavailableReason?: string | undefined;
54
65
  remoteHosting?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"connector-catalog.d.ts","sourceRoot":"","sources":["../src/connector-catalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,sBAAsB,GAC9B,UAAU,GACV,SAAS,GACT,oBAAoB,CAAC;AAEzB,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AA6EF,MAAM,MAAM,0BAA0B,GAAG;IACvC,iBAAiB,EAAE,iBAAiB,GAAG;QACrC,IAAI,EAAE,MAAM,KAAK,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACpC,CAAC,CAAC;KACJ,CAAC;IACF,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B,CAAC;AAwCF;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA2KhC;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB;;;;;;;;;;;;;;;;EAoBzD"}
1
+ {"version":3,"file":"connector-catalog.d.ts","sourceRoot":"","sources":["../src/connector-catalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,sBAAsB,GAC9B,UAAU,GACV,SAAS,GACT,oBAAoB,CAAC;AAEzB,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACnC,CAAC;AA6EF,MAAM,MAAM,0BAA0B,GAAG;IACvC,iBAAiB,EAAE,iBAAiB,GAAG;QACrC,IAAI,EAAE,MAAM,KAAK,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACpC,CAAC,CAAC;KACJ,CAAC;IACF,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B,CAAC;AAwCF;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAgMhC;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAyBzD"}
@@ -153,6 +153,11 @@ export async function listUnifiedConnectors(input) {
153
153
  framework: true,
154
154
  explicitRole: row.role,
155
155
  definitionHash: row.definitionHash,
156
+ ...(row.description ? { description: row.description } : {}),
157
+ ...(row.purpose ? { purpose: row.purpose } : {}),
158
+ ...(row.classification ? { classification: row.classification } : {}),
159
+ ...(row.tags?.length ? { tags: row.tags } : {}),
160
+ ...(row.usageModel ? { usageModel: row.usageModel } : {}),
156
161
  }));
157
162
  }
158
163
  // Offline stubs only when explicitly configured and catalog missed the id
@@ -192,6 +197,19 @@ export async function listUnifiedConnectors(input) {
192
197
  }
193
198
  if (!existing.hostBaseUrl)
194
199
  existing.hostBaseUrl = mgc.targetServiceUrl;
200
+ if (row.description && !existing.description) {
201
+ existing.description = row.description;
202
+ }
203
+ if (row.purpose && !existing.purpose)
204
+ existing.purpose = row.purpose;
205
+ if (row.classification && !existing.classification) {
206
+ existing.classification = row.classification;
207
+ }
208
+ if (row.tags?.length && !existing.tags?.length)
209
+ existing.tags = row.tags;
210
+ if (row.usageModel && !existing.usageModel) {
211
+ existing.usageModel = row.usageModel;
212
+ }
195
213
  continue;
196
214
  }
197
215
  const caps = capsToRecord(row.capabilities, {
@@ -214,6 +232,11 @@ export async function listUnifiedConnectors(input) {
214
232
  framework: true,
215
233
  explicitRole: row.role ?? "target",
216
234
  definitionHash: row.definitionHash,
235
+ ...(row.description ? { description: row.description } : {}),
236
+ ...(row.purpose ? { purpose: row.purpose } : {}),
237
+ ...(row.classification ? { classification: row.classification } : {}),
238
+ ...(row.tags?.length ? { tags: row.tags } : {}),
239
+ ...(row.usageModel ? { usageModel: row.usageModel } : {}),
217
240
  }));
218
241
  }
219
242
  for (const id of mgc.remoteTargetConnectorIds) {
@@ -253,6 +276,11 @@ export function toApiConnectorRow(row) {
253
276
  ? { unavailableReason: row.unavailableReason }
254
277
  : {}),
255
278
  ...(row.definitionHash ? { definitionHash: row.definitionHash } : {}),
279
+ ...(row.description ? { description: row.description } : {}),
280
+ ...(row.purpose ? { purpose: row.purpose } : {}),
281
+ ...(row.classification ? { classification: row.classification } : {}),
282
+ ...(row.tags?.length ? { tags: row.tags } : {}),
283
+ ...(row.usageModel ? { usageModel: row.usageModel } : {}),
256
284
  };
257
285
  }
258
286
  //# sourceMappingURL=connector-catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector-catalog.js","sourceRoot":"","sources":["../src/connector-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector-catalog.js","sourceRoot":"","sources":["../src/connector-catalog.ts"],"names":[],"mappings":"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"}