@x12i/memorix-descriptors 1.4.2 → 1.5.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 (180) hide show
  1. package/README.md +17 -10
  2. package/dist/admin/create-admin.d.ts +20 -0
  3. package/dist/admin/create-admin.d.ts.map +1 -1
  4. package/dist/admin/create-admin.js +38 -2
  5. package/dist/admin/create-admin.js.map +1 -1
  6. package/dist/catalog/ids.d.ts +7 -0
  7. package/dist/catalog/ids.d.ts.map +1 -1
  8. package/dist/catalog/ids.js +13 -0
  9. package/dist/catalog/ids.js.map +1 -1
  10. package/dist/catalox/client.d.ts.map +1 -1
  11. package/dist/catalox/client.js +26 -1
  12. package/dist/catalox/client.js.map +1 -1
  13. package/dist/cli/index.js +146 -3
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/env/load-env-file.d.ts +7 -0
  16. package/dist/env/load-env-file.d.ts.map +1 -0
  17. package/dist/env/load-env-file.js +74 -0
  18. package/dist/env/load-env-file.js.map +1 -0
  19. package/dist/index.d.ts +9 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +5 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/migration/apply.d.ts +21 -0
  24. package/dist/migration/apply.d.ts.map +1 -0
  25. package/dist/migration/apply.js +102 -0
  26. package/dist/migration/apply.js.map +1 -0
  27. package/dist/migration/backup.d.ts +8 -0
  28. package/dist/migration/backup.d.ts.map +1 -0
  29. package/dist/migration/backup.js +27 -0
  30. package/dist/migration/backup.js.map +1 -0
  31. package/dist/migration/classify.d.ts +6 -0
  32. package/dist/migration/classify.d.ts.map +1 -0
  33. package/dist/migration/classify.js +67 -0
  34. package/dist/migration/classify.js.map +1 -0
  35. package/dist/migration/ensure-canonical-catalogs.d.ts +4 -0
  36. package/dist/migration/ensure-canonical-catalogs.d.ts.map +1 -0
  37. package/dist/migration/ensure-canonical-catalogs.js +101 -0
  38. package/dist/migration/ensure-canonical-catalogs.js.map +1 -0
  39. package/dist/migration/generate-descriptors.d.ts +22 -0
  40. package/dist/migration/generate-descriptors.d.ts.map +1 -0
  41. package/dist/migration/generate-descriptors.js +234 -0
  42. package/dist/migration/generate-descriptors.js.map +1 -0
  43. package/dist/migration/index.d.ts +13 -0
  44. package/dist/migration/index.d.ts.map +1 -0
  45. package/dist/migration/index.js +12 -0
  46. package/dist/migration/index.js.map +1 -0
  47. package/dist/migration/inspect.d.ts +9 -0
  48. package/dist/migration/inspect.d.ts.map +1 -0
  49. package/dist/migration/inspect.js +57 -0
  50. package/dist/migration/inspect.js.map +1 -0
  51. package/dist/migration/load-snapshot.d.ts +15 -0
  52. package/dist/migration/load-snapshot.d.ts.map +1 -0
  53. package/dist/migration/load-snapshot.js +83 -0
  54. package/dist/migration/load-snapshot.js.map +1 -0
  55. package/dist/migration/mongo-inventory.d.ts +20 -0
  56. package/dist/migration/mongo-inventory.d.ts.map +1 -0
  57. package/dist/migration/mongo-inventory.js +95 -0
  58. package/dist/migration/mongo-inventory.js.map +1 -0
  59. package/dist/migration/object-type-specs.d.ts +17 -0
  60. package/dist/migration/object-type-specs.d.ts.map +1 -0
  61. package/dist/migration/object-type-specs.js +58 -0
  62. package/dist/migration/object-type-specs.js.map +1 -0
  63. package/dist/migration/plan.d.ts +4 -0
  64. package/dist/migration/plan.d.ts.map +1 -0
  65. package/dist/migration/plan.js +136 -0
  66. package/dist/migration/plan.js.map +1 -0
  67. package/dist/migration/reset.d.ts +17 -0
  68. package/dist/migration/reset.d.ts.map +1 -0
  69. package/dist/migration/reset.js +73 -0
  70. package/dist/migration/reset.js.map +1 -0
  71. package/dist/migration/types.d.ts +76 -0
  72. package/dist/migration/types.d.ts.map +1 -0
  73. package/dist/migration/types.js +17 -0
  74. package/dist/migration/types.js.map +1 -0
  75. package/dist/migration/validate-plan.d.ts +15 -0
  76. package/dist/migration/validate-plan.d.ts.map +1 -0
  77. package/dist/migration/validate-plan.js +112 -0
  78. package/dist/migration/validate-plan.js.map +1 -0
  79. package/dist/migration/verify.d.ts +15 -0
  80. package/dist/migration/verify.d.ts.map +1 -0
  81. package/dist/migration/verify.js +27 -0
  82. package/dist/migration/verify.js.map +1 -0
  83. package/dist/mutations/common.d.ts +7 -4
  84. package/dist/mutations/common.d.ts.map +1 -1
  85. package/dist/mutations/common.js +54 -3
  86. package/dist/mutations/common.js.map +1 -1
  87. package/dist/mutations/entity.d.ts.map +1 -1
  88. package/dist/mutations/entity.js +5 -1
  89. package/dist/mutations/entity.js.map +1 -1
  90. package/dist/mutations/execute.d.ts.map +1 -1
  91. package/dist/mutations/execute.js +9 -1
  92. package/dist/mutations/execute.js.map +1 -1
  93. package/dist/mutations/item.d.ts.map +1 -1
  94. package/dist/mutations/item.js +5 -1
  95. package/dist/mutations/item.js.map +1 -1
  96. package/dist/mutations/list.js +8 -1
  97. package/dist/mutations/list.js.map +1 -1
  98. package/dist/source/action-drafts.d.ts +17 -0
  99. package/dist/source/action-drafts.d.ts.map +1 -0
  100. package/dist/source/action-drafts.js +191 -0
  101. package/dist/source/action-drafts.js.map +1 -0
  102. package/dist/source/aliases.d.ts +23 -0
  103. package/dist/source/aliases.d.ts.map +1 -0
  104. package/dist/source/aliases.js +60 -0
  105. package/dist/source/aliases.js.map +1 -0
  106. package/dist/source/catalog-health.d.ts +17 -0
  107. package/dist/source/catalog-health.d.ts.map +1 -0
  108. package/dist/source/catalog-health.js +87 -0
  109. package/dist/source/catalog-health.js.map +1 -0
  110. package/dist/source/envelope.d.ts +29 -0
  111. package/dist/source/envelope.d.ts.map +1 -0
  112. package/dist/source/envelope.js +125 -0
  113. package/dist/source/envelope.js.map +1 -0
  114. package/dist/source/graph.d.ts +12 -0
  115. package/dist/source/graph.d.ts.map +1 -0
  116. package/dist/source/graph.js +148 -0
  117. package/dist/source/graph.js.map +1 -0
  118. package/dist/source/guards.d.ts +7 -0
  119. package/dist/source/guards.d.ts.map +1 -0
  120. package/dist/source/guards.js +74 -0
  121. package/dist/source/guards.js.map +1 -0
  122. package/dist/source/index.d.ts +14 -0
  123. package/dist/source/index.d.ts.map +1 -0
  124. package/dist/source/index.js +14 -0
  125. package/dist/source/index.js.map +1 -0
  126. package/dist/source/inspectable.d.ts +11 -0
  127. package/dist/source/inspectable.d.ts.map +1 -0
  128. package/dist/source/inspectable.js +167 -0
  129. package/dist/source/inspectable.js.map +1 -0
  130. package/dist/source/reconcile-source.d.ts +10 -0
  131. package/dist/source/reconcile-source.d.ts.map +1 -0
  132. package/dist/source/reconcile-source.js +40 -0
  133. package/dist/source/reconcile-source.js.map +1 -0
  134. package/dist/source/registry.d.ts +9 -0
  135. package/dist/source/registry.d.ts.map +1 -0
  136. package/dist/source/registry.js +121 -0
  137. package/dist/source/registry.js.map +1 -0
  138. package/dist/source/snapshot.d.ts +15 -0
  139. package/dist/source/snapshot.d.ts.map +1 -0
  140. package/dist/source/snapshot.js +160 -0
  141. package/dist/source/snapshot.js.map +1 -0
  142. package/dist/source/types.d.ts +222 -0
  143. package/dist/source/types.d.ts.map +1 -0
  144. package/dist/source/types.js +2 -0
  145. package/dist/source/types.js.map +1 -0
  146. package/dist/source/validation.d.ts +12 -0
  147. package/dist/source/validation.d.ts.map +1 -0
  148. package/dist/source/validation.js +229 -0
  149. package/dist/source/validation.js.map +1 -0
  150. package/dist/tests/canonical-metadata.test.d.ts +2 -0
  151. package/dist/tests/canonical-metadata.test.d.ts.map +1 -0
  152. package/dist/tests/canonical-metadata.test.js +198 -0
  153. package/dist/tests/canonical-metadata.test.js.map +1 -0
  154. package/dist/tests/source-aware.test.d.ts +2 -0
  155. package/dist/tests/source-aware.test.d.ts.map +1 -0
  156. package/dist/tests/source-aware.test.js +227 -0
  157. package/dist/tests/source-aware.test.js.map +1 -0
  158. package/dist/types/canonical-v2.d.ts +164 -0
  159. package/dist/types/canonical-v2.d.ts.map +1 -0
  160. package/dist/types/canonical-v2.js +6 -0
  161. package/dist/types/canonical-v2.js.map +1 -0
  162. package/dist/types/index.d.ts +25 -2
  163. package/dist/types/index.d.ts.map +1 -1
  164. package/dist/validation/canonical-contamination.d.ts +6 -0
  165. package/dist/validation/canonical-contamination.d.ts.map +1 -0
  166. package/dist/validation/canonical-contamination.js +71 -0
  167. package/dist/validation/canonical-contamination.js.map +1 -0
  168. package/dist/validation/canonical-metadata-validation.d.ts +13 -0
  169. package/dist/validation/canonical-metadata-validation.d.ts.map +1 -0
  170. package/dist/validation/canonical-metadata-validation.js +248 -0
  171. package/dist/validation/canonical-metadata-validation.js.map +1 -0
  172. package/dist/validation/canonical-v2-validation.d.ts +8 -0
  173. package/dist/validation/canonical-v2-validation.d.ts.map +1 -0
  174. package/dist/validation/canonical-v2-validation.js +273 -0
  175. package/dist/validation/canonical-v2-validation.js.map +1 -0
  176. package/docs/MEMORIX-CATALOX-CATALOG-MAP.md +589 -0
  177. package/docs/MEMORIX-CATALOX-CONTRACTS.md +17 -10
  178. package/docs/MEMORIX-DATABASE-CONVENTIONS.md +10 -7
  179. package/docs/MEMORIX-OBJECT-TYPES-AND-TARGETS.md +207 -0
  180. package/package.json +9 -1
@@ -0,0 +1,191 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { buildAddContentTypeDraftFromCollection, buildDescriptorDraftFromOrphanCollection, buildFixCollectionBindingDraft, buildIgnoreCollectionDraft, } from "../reconcile/drafts.js";
3
+ import { buildDerivedGraphSourceRef, nowIso } from "./envelope.js";
4
+ function draftActionFromSuggested(suggestedAction) {
5
+ switch (suggestedAction) {
6
+ case "registerEntityDescriptor":
7
+ return "register-object-type";
8
+ case "addContentType":
9
+ return "add-content-type";
10
+ case "updateContentType":
11
+ return "fix-collection-binding";
12
+ case "ignoreCollection":
13
+ return "ignore-collection";
14
+ case "manualReview":
15
+ return "manual-review";
16
+ default:
17
+ return "manual-review";
18
+ }
19
+ }
20
+ function proposedMutationFromDraft(draft) {
21
+ switch (draft.suggestedAction) {
22
+ case "registerEntityDescriptor":
23
+ return { method: "registerEntityDescriptor", input: draft.draft };
24
+ case "addContentType":
25
+ return { method: "addContentType", input: draft.draft };
26
+ case "updateContentType":
27
+ return { method: "updateContentType", input: draft.draft };
28
+ case "ignoreCollection":
29
+ return { method: "ignoreCollection", input: draft.draft };
30
+ default:
31
+ return { method: "registerEntityDescriptor", input: draft.draft };
32
+ }
33
+ }
34
+ function requiredUserInputsFromDraft(draft) {
35
+ if (draft.suggestedAction !== "manualReview") {
36
+ return undefined;
37
+ }
38
+ const inputs = [];
39
+ if (!draft.draft.entityName && !draft.draft.objectType) {
40
+ inputs.push({
41
+ key: "objectType",
42
+ label: "Object type",
43
+ reason: "Collection name could not be safely parsed.",
44
+ required: true,
45
+ });
46
+ }
47
+ if (draft.warnings.some((w) => w.includes("does not match"))) {
48
+ inputs.push({
49
+ key: "confirmObjectType",
50
+ label: "Confirm object type",
51
+ reason: "Parsed object type does not match the expected entity.",
52
+ required: true,
53
+ });
54
+ }
55
+ return inputs.length > 0 ? inputs : undefined;
56
+ }
57
+ export function toDescriptorActionDraft(draft, options = {}) {
58
+ const loadedAt = nowIso();
59
+ const source = buildDerivedGraphSourceRef("reconcile-draft-builder", loadedAt);
60
+ source.sourceClass = "runtime-projection";
61
+ source.canonicalStatus = "derived";
62
+ source.collectionName = options.targetCollection;
63
+ source.databaseName = options.target;
64
+ return {
65
+ draftId: randomUUID(),
66
+ action: draftActionFromSuggested(draft.suggestedAction),
67
+ status: "draft",
68
+ source,
69
+ proposedMutation: proposedMutationFromDraft(draft),
70
+ explanation: draft.suggestedAction === "manualReview"
71
+ ? "Manual review required before applying this change."
72
+ : `Suggested ${draft.suggestedAction} based on inventory reconcile.`,
73
+ warnings: draft.warnings.map((message, index) => ({
74
+ code: `DRAFT_WARNING_${index + 1}`,
75
+ message,
76
+ })),
77
+ requiredUserInputs: requiredUserInputsFromDraft(draft),
78
+ dryRunAvailable: draft.suggestedAction !== "manualReview",
79
+ };
80
+ }
81
+ export function buildDescriptorActionDraftFromOrphanCollection(input) {
82
+ const draft = buildDescriptorDraftFromOrphanCollection(input);
83
+ return toDescriptorActionDraft(draft, {
84
+ targetCollection: input.collectionName,
85
+ target: input.target,
86
+ });
87
+ }
88
+ export function buildAddContentTypeActionDraft(input, snapshot) {
89
+ const draft = buildAddContentTypeDraftFromCollection(input, snapshot);
90
+ return toDescriptorActionDraft(draft, {
91
+ targetCollection: input.collectionName,
92
+ target: input.target,
93
+ });
94
+ }
95
+ export function buildFixCollectionBindingActionDraft(input, snapshot, env) {
96
+ const draft = buildFixCollectionBindingDraft(input, snapshot, env);
97
+ return toDescriptorActionDraft(draft, {
98
+ targetCollection: input.collectionName,
99
+ });
100
+ }
101
+ export function buildIgnoreCollectionActionDraft(input) {
102
+ const draft = buildIgnoreCollectionDraft(input);
103
+ return toDescriptorActionDraft(draft, {
104
+ targetCollection: input.collectionName,
105
+ target: input.target,
106
+ });
107
+ }
108
+ export function buildDescriptorActionDraftForSuggestion(suggestion, snapshot, env = process.env) {
109
+ let draft = null;
110
+ switch (suggestion.kind) {
111
+ case "create-descriptor-for-orphan":
112
+ draft = buildDescriptorDraftFromOrphanCollection({
113
+ target: suggestion.target,
114
+ collectionName: suggestion.collection,
115
+ });
116
+ break;
117
+ case "add-content-type-for-orphan":
118
+ draft = buildAddContentTypeDraftFromCollection({
119
+ entityName: suggestion.parsedObject ?? "",
120
+ collectionName: suggestion.collection,
121
+ target: suggestion.target,
122
+ }, snapshot);
123
+ break;
124
+ case "fix-collection-binding":
125
+ draft = buildFixCollectionBindingDraft({
126
+ entityName: suggestion.entityName,
127
+ contentTypeKey: suggestion.contentType,
128
+ collectionName: suggestion.actualCollection,
129
+ }, snapshot, env);
130
+ break;
131
+ case "ignore-collection":
132
+ draft = buildIgnoreCollectionDraft({
133
+ target: suggestion.target,
134
+ collectionName: suggestion.collectionName,
135
+ reason: "not-memorix",
136
+ });
137
+ break;
138
+ default:
139
+ return null;
140
+ }
141
+ return toDescriptorActionDraft(draft);
142
+ }
143
+ export async function applyDescriptorActionDraft(ctx, draft, options = {}) {
144
+ const { applyReconcileDraft } = await import("../reconcile/apply.js");
145
+ const { assertSourceEditable, createSourceNotEditableError } = await import("./guards.js");
146
+ const { mutationFailure } = await import("../mutations/common.js");
147
+ try {
148
+ assertSourceEditable(draft.source);
149
+ if (draft.targetSource) {
150
+ assertSourceEditable(draft.targetSource);
151
+ }
152
+ }
153
+ catch (err) {
154
+ const sourceError = createSourceNotEditableError(err && typeof err === "object" && "source" in err
155
+ ? err.source
156
+ : draft.source);
157
+ return mutationFailure([
158
+ {
159
+ code: sourceError.code,
160
+ message: sourceError.message,
161
+ source: sourceError.source,
162
+ },
163
+ ], options);
164
+ }
165
+ const legacyDraft = {
166
+ suggestedAction: draft.action === "register-object-type"
167
+ ? "registerEntityDescriptor"
168
+ : draft.action === "add-content-type"
169
+ ? "addContentType"
170
+ : draft.action === "fix-collection-binding"
171
+ ? "updateContentType"
172
+ : draft.action === "ignore-collection"
173
+ ? "ignoreCollection"
174
+ : "manualReview",
175
+ draft: draft.proposedMutation.input && typeof draft.proposedMutation.input === "object"
176
+ ? draft.proposedMutation.input
177
+ : {},
178
+ warnings: draft.warnings.map((w) => w.message),
179
+ };
180
+ if (draft.requiredUserInputs?.some((input) => input.required)) {
181
+ const { mutationFailure } = await import("../mutations/common.js");
182
+ return mutationFailure([
183
+ {
184
+ code: "REQUIRED_USER_INPUTS",
185
+ message: "Draft has unresolved required user inputs.",
186
+ },
187
+ ], options);
188
+ }
189
+ return applyReconcileDraft(ctx, legacyDraft, options);
190
+ }
191
+ //# sourceMappingURL=action-drafts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-drafts.js","sourceRoot":"","sources":["../../src/source/action-drafts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { MemorixCompletionMapping, MemorixEntityDescriptor, MemorixItemDescriptor, MemorixListDescriptor, MemorixSliceDescriptor } from "../types/index.js";
2
+ export declare function withObjectTypeAliases<T extends Record<string, unknown>>(descriptor: T): T & {
3
+ objectType?: string;
4
+ objectName?: string;
5
+ };
6
+ export declare function withEntityDescriptorAliases(descriptor: MemorixEntityDescriptor): MemorixEntityDescriptor & {
7
+ objectType: string;
8
+ objectName: string;
9
+ };
10
+ export declare function withListDescriptorAliases(descriptor: MemorixListDescriptor): MemorixListDescriptor & {
11
+ objectType?: string;
12
+ };
13
+ export declare function withItemDescriptorAliases(descriptor: MemorixItemDescriptor): MemorixItemDescriptor & {
14
+ objectType: string;
15
+ };
16
+ export declare function withSliceDescriptorAliases(descriptor: MemorixSliceDescriptor): MemorixSliceDescriptor & {
17
+ objectType: string;
18
+ entity?: string;
19
+ };
20
+ export declare function withCompletionMappingAliases(mapping: MemorixCompletionMapping): MemorixCompletionMapping & {
21
+ objectType: string;
22
+ };
23
+ //# sourceMappingURL=aliases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../../src/source/aliases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,UAAU,EAAE,CAAC,GACZ,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBlD;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,uBAAuB,GAClC,uBAAuB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAMtE;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,qBAAqB,GAChC,qBAAqB,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBjD;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,qBAAqB,GAChC,qBAAqB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAKhD;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,sBAAsB,GACjC,sBAAsB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAMlE;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,wBAAwB,GAChC,wBAAwB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAKnD"}
@@ -0,0 +1,60 @@
1
+ export function withObjectTypeAliases(descriptor) {
2
+ const entityName = typeof descriptor.entityName === "string"
3
+ ? descriptor.entityName
4
+ : typeof descriptor.entity === "string"
5
+ ? descriptor.entity
6
+ : typeof descriptor.entityType === "string"
7
+ ? descriptor.entityType
8
+ : undefined;
9
+ if (!entityName) {
10
+ return descriptor;
11
+ }
12
+ return {
13
+ ...descriptor,
14
+ objectType: entityName,
15
+ ...(typeof descriptor.entityName === "string"
16
+ ? { objectName: descriptor.entityName }
17
+ : {}),
18
+ };
19
+ }
20
+ export function withEntityDescriptorAliases(descriptor) {
21
+ return {
22
+ ...descriptor,
23
+ objectType: descriptor.entityName,
24
+ objectName: descriptor.entityName,
25
+ };
26
+ }
27
+ export function withListDescriptorAliases(descriptor) {
28
+ const entityRef = "entity" in descriptor && typeof descriptor.entity === "string"
29
+ ? descriptor.entity
30
+ : "entityName" in descriptor && typeof descriptor.entityName === "string"
31
+ ? descriptor.entityName
32
+ : undefined;
33
+ if (!entityRef) {
34
+ return descriptor;
35
+ }
36
+ return {
37
+ ...descriptor,
38
+ objectType: entityRef,
39
+ };
40
+ }
41
+ export function withItemDescriptorAliases(descriptor) {
42
+ return {
43
+ ...descriptor,
44
+ objectType: descriptor.entity,
45
+ };
46
+ }
47
+ export function withSliceDescriptorAliases(descriptor) {
48
+ return {
49
+ ...descriptor,
50
+ entity: descriptor.entityName,
51
+ objectType: descriptor.entityName,
52
+ };
53
+ }
54
+ export function withCompletionMappingAliases(mapping) {
55
+ return {
56
+ ...mapping,
57
+ objectType: mapping.entityType,
58
+ };
59
+ }
60
+ //# sourceMappingURL=aliases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliases.js","sourceRoot":"","sources":["../../src/source/aliases.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,qBAAqB,CACnC,UAAa;IAEb,MAAM,UAAU,GACd,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ;QACvC,CAAC,CAAC,UAAU,CAAC,UAAU;QACvB,CAAC,CAAC,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ;YACrC,CAAC,CAAC,UAAU,CAAC,MAAM;YACnB,CAAC,CAAC,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ;gBACzC,CAAC,CAAC,UAAU,CAAC,UAAU;gBACvB,CAAC,CAAC,SAAS,CAAC;IAEpB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,UAA8D,CAAC;IACxE,CAAC;IAED,OAAO;QACL,GAAG,UAAU;QACb,UAAU,EAAE,UAAU;QACtB,GAAG,CAAC,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ;YAC3C,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE;YACvC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,UAAmC;IAEnC,OAAO;QACL,GAAG,UAAU;QACb,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,UAAU,EAAE,UAAU,CAAC,UAAU;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAAiC;IAEjC,MAAM,SAAS,GACb,QAAQ,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ;QAC7D,CAAC,CAAC,UAAU,CAAC,MAAM;QACnB,CAAC,CAAC,YAAY,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ;YACvE,CAAC,CAAC,UAAU,CAAC,UAAU;YACvB,CAAC,CAAC,SAAS,CAAC;IAElB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO;QACL,GAAG,UAAU;QACb,UAAU,EAAE,SAAS;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAAiC;IAEjC,OAAO;QACL,GAAG,UAAU;QACb,UAAU,EAAE,UAAU,CAAC,MAAM;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAAkC;IAElC,OAAO;QACL,GAAG,UAAU;QACb,MAAM,EAAE,UAAU,CAAC,UAAU;QAC7B,UAAU,EAAE,UAAU,CAAC,UAAU;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAiC;IAEjC,OAAO;QACL,GAAG,OAAO;QACV,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { CataloxBoundClient } from "../catalox/client.js";
2
+ import type { SourceAwareCatalogHealth } from "./types.js";
3
+ export type CatalogProbeResult = {
4
+ exists: boolean;
5
+ readable: boolean;
6
+ items: Array<{
7
+ id: string;
8
+ data: Record<string, unknown>;
9
+ }>;
10
+ error?: {
11
+ code: string;
12
+ message: string;
13
+ };
14
+ };
15
+ export declare function probeCatalogItems(catalox: CataloxBoundClient, catalogId: string): Promise<CatalogProbeResult>;
16
+ export declare function buildCatalogHealth(catalogId: string, probe: CatalogProbeResult): SourceAwareCatalogHealth;
17
+ //# sourceMappingURL=catalog-health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-health.d.ts","sourceRoot":"","sources":["../../src/source/catalog-health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAY3D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAmE7B;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,kBAAkB,GACxB,wBAAwB,CAa1B"}
@@ -0,0 +1,87 @@
1
+ import { MEMORIX_COMPLETION_MAPPINGS_CATALOG } from "../catalog/ids.js";
2
+ import { resolveCatalogRegistryEntry } from "./registry.js";
3
+ function isCatalogNotFoundError(err) {
4
+ const message = err instanceof Error ? err.message : String(err);
5
+ return message.includes("Catalog not found");
6
+ }
7
+ function isCatalogAdapterError(err) {
8
+ const message = err instanceof Error ? err.message : String(err);
9
+ return message.includes("Catalog adapter error");
10
+ }
11
+ export async function probeCatalogItems(catalox, catalogId) {
12
+ const items = [];
13
+ let offset = 0;
14
+ const limit = 200;
15
+ for (;;) {
16
+ let page;
17
+ try {
18
+ page = await catalox.listCatalogItems(catalogId, { limit, offset });
19
+ }
20
+ catch (err) {
21
+ if (isCatalogNotFoundError(err)) {
22
+ return { exists: false, readable: false, items: [] };
23
+ }
24
+ if (catalogId === MEMORIX_COMPLETION_MAPPINGS_CATALOG &&
25
+ isCatalogAdapterError(err)) {
26
+ return {
27
+ exists: true,
28
+ readable: false,
29
+ items: [],
30
+ error: {
31
+ code: "CATALOG_LIST_FAILED",
32
+ message: "Catalog exists but items could not be listed.",
33
+ },
34
+ };
35
+ }
36
+ return {
37
+ exists: true,
38
+ readable: false,
39
+ items: [],
40
+ error: {
41
+ code: "CATALOG_LIST_FAILED",
42
+ message: err instanceof Error ? err.message : String(err),
43
+ },
44
+ };
45
+ }
46
+ if (page.listOutcome === "mapping_blocked") {
47
+ return {
48
+ exists: true,
49
+ readable: false,
50
+ items: [],
51
+ error: {
52
+ code: "CATALOG_LIST_BLOCKED",
53
+ message: "Catalog listing blocked by mapping configuration.",
54
+ },
55
+ };
56
+ }
57
+ for (const item of page.items) {
58
+ items.push({
59
+ id: String(item.itemId),
60
+ data: (item.data ?? {}),
61
+ });
62
+ }
63
+ if (!page.nextCursor && page.items.length < limit) {
64
+ break;
65
+ }
66
+ offset += page.items.length;
67
+ if (page.items.length === 0) {
68
+ break;
69
+ }
70
+ }
71
+ return { exists: true, readable: true, items };
72
+ }
73
+ export function buildCatalogHealth(catalogId, probe) {
74
+ const entry = resolveCatalogRegistryEntry(catalogId);
75
+ return {
76
+ catalogId,
77
+ sourceClass: entry.sourceClass,
78
+ canonicalStatus: entry.canonicalStatus,
79
+ descriptorKind: entry.descriptorKind,
80
+ exists: probe.exists,
81
+ readable: probe.readable,
82
+ itemCount: probe.readable ? probe.items.length : undefined,
83
+ error: probe.error,
84
+ editable: entry.editable,
85
+ };
86
+ }
87
+ //# sourceMappingURL=catalog-health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-health.js","sourceRoot":"","sources":["../../src/source/catalog-health.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { MemorixTarget } from "../types/index.js";
2
+ import type { MemorixDescriptorKind, MemorixSourceRef, SourceAware } from "./types.js";
3
+ export declare function nowIso(): string;
4
+ export declare function buildCatalogItemSourceRef(options: {
5
+ catalogId: string;
6
+ itemId: string;
7
+ appId?: string;
8
+ loadedAt?: string;
9
+ objectType?: string;
10
+ entityName?: string;
11
+ target?: MemorixTarget;
12
+ contentType?: string;
13
+ descriptorKind?: MemorixDescriptorKind;
14
+ }): MemorixSourceRef;
15
+ export declare function buildObjectTypeSourceRef(itemId: string, appId?: string, loadedAt?: string, objectType?: string, target?: MemorixTarget): MemorixSourceRef;
16
+ export declare function buildListSourceRef(itemId: string, appId?: string, loadedAt?: string, objectType?: string, kind?: "list" | "slice"): MemorixSourceRef;
17
+ export declare function buildItemSourceRef(itemId: string, appId?: string, loadedAt?: string, objectType?: string): MemorixSourceRef;
18
+ export declare function buildMappingSourceRef(itemId: string, appId?: string, loadedAt?: string, objectType?: string, target?: MemorixTarget): MemorixSourceRef;
19
+ export declare function buildInventoryPolicySourceRef(appId?: string, loadedAt?: string): MemorixSourceRef;
20
+ export declare function buildDerivedGraphSourceRef(generatedBy?: string, loadedAt?: string): MemorixSourceRef;
21
+ export declare function buildLocalUiStateSourceRef(loadedAt?: string, trustWarning?: string): MemorixSourceRef;
22
+ export declare function buildUnknownSourceRef(loadedAt?: string, trustWarning?: string): MemorixSourceRef;
23
+ export declare function wrapSourceAware<T>(data: T, source: MemorixSourceRef): SourceAware<T>;
24
+ export declare function sourceRefForCataloxWrite(write: {
25
+ catalogId: string;
26
+ itemId: string;
27
+ action: string;
28
+ }, appId?: string, loadedAt?: string): MemorixSourceRef;
29
+ //# sourceMappingURL=envelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/source/envelope.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC,GAAG,gBAAgB,CAmBnB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,aAAa,GACrB,gBAAgB,CAYlB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GACtB,gBAAgB,CAUlB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,gBAAgB,CAUlB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,aAAa,GACrB,gBAAgB,CAWlB;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,gBAAgB,CAQlB;AAED,wBAAgB,0BAA0B,CACxC,WAAW,SAAwB,EACnC,QAAQ,CAAC,EAAE,MAAM,GAChB,gBAAgB,CAYlB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,gBAAgB,CAUlB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,gBAAgB,CAUlB;AAED,wBAAgB,eAAe,CAAC,CAAC,EAC/B,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,gBAAgB,GACvB,WAAW,CAAC,CAAC,CAAC,CAEhB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC5D,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,gBAAgB,CAOlB"}
@@ -0,0 +1,125 @@
1
+ import { MEMORIX_COMPLETION_MAPPINGS_CATALOG, MEMORIX_INVENTORY_POLICIES_CATALOG, MEMORIX_INVENTORY_POLICY_ITEM_ID, MEMORIX_ITEM_DESCRIPTORS_CATALOG, MEMORIX_LIST_DESCRIPTORS_CATALOG, MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG, } from "../catalog/ids.js";
2
+ import { resolveCatalogRegistryEntry, } from "./registry.js";
3
+ export function nowIso() {
4
+ return new Date().toISOString();
5
+ }
6
+ export function buildCatalogItemSourceRef(options) {
7
+ const loadedAt = options.loadedAt ?? nowIso();
8
+ const entry = resolveCatalogRegistryEntry(options.catalogId);
9
+ return {
10
+ sourceClass: entry.sourceClass,
11
+ canonicalStatus: entry.canonicalStatus,
12
+ appId: options.appId,
13
+ catalogId: options.catalogId,
14
+ itemId: options.itemId,
15
+ firestoreCollection: options.catalogId,
16
+ descriptorKind: options.descriptorKind ?? entry.descriptorKind,
17
+ objectType: options.objectType,
18
+ entityName: options.entityName ?? options.objectType,
19
+ target: options.target,
20
+ contentType: options.contentType,
21
+ loadedAt,
22
+ editable: entry.editable,
23
+ trustWarning: entry.trustWarning,
24
+ };
25
+ }
26
+ export function buildObjectTypeSourceRef(itemId, appId, loadedAt, objectType, target) {
27
+ const ot = objectType ?? itemId;
28
+ return buildCatalogItemSourceRef({
29
+ catalogId: MEMORIX_OBJECT_TYPE_DESCRIPTORS_CATALOG,
30
+ itemId,
31
+ appId,
32
+ loadedAt,
33
+ objectType: ot,
34
+ entityName: ot,
35
+ target,
36
+ descriptorKind: "object-type",
37
+ });
38
+ }
39
+ export function buildListSourceRef(itemId, appId, loadedAt, objectType, kind) {
40
+ return buildCatalogItemSourceRef({
41
+ catalogId: MEMORIX_LIST_DESCRIPTORS_CATALOG,
42
+ itemId,
43
+ appId,
44
+ loadedAt,
45
+ objectType,
46
+ entityName: objectType,
47
+ descriptorKind: kind === "slice" ? "slice" : "list",
48
+ });
49
+ }
50
+ export function buildItemSourceRef(itemId, appId, loadedAt, objectType) {
51
+ return buildCatalogItemSourceRef({
52
+ catalogId: MEMORIX_ITEM_DESCRIPTORS_CATALOG,
53
+ itemId,
54
+ appId,
55
+ loadedAt,
56
+ objectType,
57
+ entityName: objectType,
58
+ descriptorKind: "item",
59
+ });
60
+ }
61
+ export function buildMappingSourceRef(itemId, appId, loadedAt, objectType, target) {
62
+ return buildCatalogItemSourceRef({
63
+ catalogId: MEMORIX_COMPLETION_MAPPINGS_CATALOG,
64
+ itemId,
65
+ appId,
66
+ loadedAt,
67
+ objectType,
68
+ entityName: objectType,
69
+ target,
70
+ descriptorKind: "completion-mapping",
71
+ });
72
+ }
73
+ export function buildInventoryPolicySourceRef(appId, loadedAt) {
74
+ return buildCatalogItemSourceRef({
75
+ catalogId: MEMORIX_INVENTORY_POLICIES_CATALOG,
76
+ itemId: MEMORIX_INVENTORY_POLICY_ITEM_ID,
77
+ appId,
78
+ loadedAt,
79
+ descriptorKind: "inventory-policy",
80
+ });
81
+ }
82
+ export function buildDerivedGraphSourceRef(generatedBy = "memorix-descriptors", loadedAt) {
83
+ const at = loadedAt ?? nowIso();
84
+ return {
85
+ sourceClass: "runtime-projection",
86
+ canonicalStatus: "derived",
87
+ loadedAt: at,
88
+ generatedAt: at,
89
+ generatedBy,
90
+ editable: "not-editable",
91
+ trustWarning: "Derived descriptor graph projection. Not canonical Catalox metadata.",
92
+ };
93
+ }
94
+ export function buildLocalUiStateSourceRef(loadedAt, trustWarning) {
95
+ return {
96
+ sourceClass: "local-ui-state",
97
+ canonicalStatus: "local",
98
+ loadedAt: loadedAt ?? nowIso(),
99
+ editable: "not-editable",
100
+ trustWarning: trustWarning ??
101
+ "Local Explorer UI state. Not canonical descriptor metadata.",
102
+ };
103
+ }
104
+ export function buildUnknownSourceRef(loadedAt, trustWarning) {
105
+ return {
106
+ sourceClass: "unknown-source",
107
+ canonicalStatus: "unknown",
108
+ loadedAt: loadedAt ?? nowIso(),
109
+ editable: "not-editable",
110
+ trustWarning: trustWarning ??
111
+ "Source cannot be proven as descriptor catalog metadata.",
112
+ };
113
+ }
114
+ export function wrapSourceAware(data, source) {
115
+ return { data, source };
116
+ }
117
+ export function sourceRefForCataloxWrite(write, appId, loadedAt) {
118
+ return buildCatalogItemSourceRef({
119
+ catalogId: write.catalogId,
120
+ itemId: write.itemId,
121
+ appId,
122
+ loadedAt,
123
+ });
124
+ }
125
+ //# sourceMappingURL=envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/source/envelope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { CataloxBoundClient } from "../catalox/client.js";
2
+ import type { SourceAwareDescriptorGraph } from "./types.js";
3
+ import { type ValidateSourceAwareMemorixDescriptorsOptions } from "./validation.js";
4
+ export type GetSourceAwareDescriptorGraphOptions = {
5
+ appId?: string;
6
+ includeSourceRefs?: boolean;
7
+ includeValidation?: boolean;
8
+ includeReferences?: boolean;
9
+ };
10
+ export declare function getSourceAwareDescriptorGraph(catalox: CataloxBoundClient, options?: GetSourceAwareDescriptorGraphOptions): Promise<SourceAwareDescriptorGraph>;
11
+ export type { ValidateSourceAwareMemorixDescriptorsOptions };
12
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/source/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAY/D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAEL,KAAK,4CAA4C,EAClD,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,oCAAoC,GAAG;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAgDF,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,oCAAyC,GACjD,OAAO,CAAC,0BAA0B,CAAC,CAqHrC;AAED,YAAY,EAAE,4CAA4C,EAAE,CAAC"}