@x12i/catalox 3.5.1 → 3.7.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 +155 -10
- package/dist/src/adapters/api/api-adapter.d.ts.map +1 -1
- package/dist/src/adapters/api/api-adapter.js +1 -0
- package/dist/src/adapters/api/api-adapter.js.map +1 -1
- package/dist/src/adapters/mongo/mongo-adapter.d.ts.map +1 -1
- package/dist/src/adapters/mongo/mongo-adapter.js +1 -0
- package/dist/src/adapters/mongo/mongo-adapter.js.map +1 -1
- package/dist/src/catalox/catalog-discovery.d.ts.map +1 -1
- package/dist/src/catalox/catalog-discovery.js +8 -6
- package/dist/src/catalox/catalog-discovery.js.map +1 -1
- package/dist/src/catalox/catalog-lifecycle.d.ts.map +1 -1
- package/dist/src/catalox/catalog-lifecycle.js +26 -19
- package/dist/src/catalox/catalog-lifecycle.js.map +1 -1
- package/dist/src/catalox/catalox-bound.d.ts +48 -1
- package/dist/src/catalox/catalox-bound.d.ts.map +1 -1
- package/dist/src/catalox/catalox-bound.js +24 -0
- package/dist/src/catalox/catalox-bound.js.map +1 -1
- package/dist/src/catalox/catalox.d.ts +94 -2
- package/dist/src/catalox/catalox.d.ts.map +1 -1
- package/dist/src/catalox/catalox.js +596 -75
- package/dist/src/catalox/catalox.js.map +1 -1
- package/dist/src/catalox/create-catalox.d.ts +4 -0
- package/dist/src/catalox/create-catalox.d.ts.map +1 -1
- package/dist/src/catalox/create-catalox.js +15 -0
- package/dist/src/catalox/create-catalox.js.map +1 -1
- package/dist/src/catalox/native-catalog-merge.d.ts.map +1 -1
- package/dist/src/catalox/native-catalog-merge.js +12 -11
- package/dist/src/catalox/native-catalog-merge.js.map +1 -1
- package/dist/src/contracts/agents.d.ts +19 -0
- package/dist/src/contracts/agents.d.ts.map +1 -0
- package/dist/src/contracts/agents.js +2 -0
- package/dist/src/contracts/agents.js.map +1 -0
- package/dist/src/contracts/catalog-types.d.ts +19 -0
- package/dist/src/contracts/catalog-types.d.ts.map +1 -0
- package/dist/src/contracts/catalog-types.js +2 -0
- package/dist/src/contracts/catalog-types.js.map +1 -0
- package/dist/src/contracts/catalogs.d.ts +26 -6
- package/dist/src/contracts/catalogs.d.ts.map +1 -1
- package/dist/src/contracts/catalogs.js.map +1 -1
- package/dist/src/contracts/descriptors.d.ts +11 -0
- package/dist/src/contracts/descriptors.d.ts.map +1 -1
- package/dist/src/contracts/design-objects.d.ts +38 -0
- package/dist/src/contracts/design-objects.d.ts.map +1 -0
- package/dist/src/contracts/design-objects.js +2 -0
- package/dist/src/contracts/design-objects.js.map +1 -0
- package/dist/src/contracts/discovery.d.ts +7 -8
- package/dist/src/contracts/discovery.d.ts.map +1 -1
- package/dist/src/contracts/domains.d.ts +19 -0
- package/dist/src/contracts/domains.d.ts.map +1 -0
- package/dist/src/contracts/domains.js +2 -0
- package/dist/src/contracts/domains.js.map +1 -0
- package/dist/src/contracts/ids.d.ts +2 -0
- package/dist/src/contracts/ids.d.ts.map +1 -1
- package/dist/src/contracts/index.d.ts +11 -5
- package/dist/src/contracts/index.d.ts.map +1 -1
- package/dist/src/contracts/index.js +1 -0
- package/dist/src/contracts/index.js.map +1 -1
- package/dist/src/contracts/inputs.d.ts +19 -0
- package/dist/src/contracts/inputs.d.ts.map +1 -1
- package/dist/src/contracts/items.d.ts +9 -7
- package/dist/src/contracts/items.d.ts.map +1 -1
- package/dist/src/contracts/presentation-binding.d.ts +116 -0
- package/dist/src/contracts/presentation-binding.d.ts.map +1 -0
- package/dist/src/contracts/presentation-binding.js +215 -0
- package/dist/src/contracts/presentation-binding.js.map +1 -0
- package/dist/src/contracts/presentation.d.ts +76 -0
- package/dist/src/contracts/presentation.d.ts.map +1 -1
- package/dist/src/contracts/references.d.ts +40 -0
- package/dist/src/contracts/references.d.ts.map +1 -1
- package/dist/src/contracts/render-map.d.ts +12 -0
- package/dist/src/contracts/render-map.d.ts.map +1 -1
- package/dist/src/firebase/agent-store.d.ts +18 -0
- package/dist/src/firebase/agent-store.d.ts.map +1 -0
- package/dist/src/firebase/agent-store.js +47 -0
- package/dist/src/firebase/agent-store.js.map +1 -0
- package/dist/src/firebase/catalog-type-store.d.ts +22 -0
- package/dist/src/firebase/catalog-type-store.d.ts.map +1 -0
- package/dist/src/firebase/catalog-type-store.js +51 -0
- package/dist/src/firebase/catalog-type-store.js.map +1 -0
- package/dist/src/firebase/definition-store.d.ts +4 -18
- package/dist/src/firebase/definition-store.d.ts.map +1 -1
- package/dist/src/firebase/definition-store.js.map +1 -1
- package/dist/src/firebase/design-object-store.d.ts +15 -0
- package/dist/src/firebase/design-object-store.d.ts.map +1 -0
- package/dist/src/firebase/design-object-store.js +51 -0
- package/dist/src/firebase/design-object-store.js.map +1 -0
- package/dist/src/firebase/domain-store.d.ts +18 -0
- package/dist/src/firebase/domain-store.d.ts.map +1 -0
- package/dist/src/firebase/domain-store.js +47 -0
- package/dist/src/firebase/domain-store.js.map +1 -0
- package/dist/src/firebase/index.d.ts +2 -0
- package/dist/src/firebase/index.d.ts.map +1 -1
- package/dist/src/firebase/index.js +2 -0
- package/dist/src/firebase/index.js.map +1 -1
- package/dist/src/firebase/presentation-profile-store.d.ts +18 -0
- package/dist/src/firebase/presentation-profile-store.d.ts.map +1 -0
- package/dist/src/firebase/presentation-profile-store.js +44 -0
- package/dist/src/firebase/presentation-profile-store.js.map +1 -0
- package/dist/src/firebase/reference-store.d.ts +1 -0
- package/dist/src/firebase/reference-store.d.ts.map +1 -1
- package/dist/src/firebase/reference-store.js +7 -0
- package/dist/src/firebase/reference-store.js.map +1 -1
- package/dist/src/migrations/backfill-catalog-model.d.ts +29 -0
- package/dist/src/migrations/backfill-catalog-model.d.ts.map +1 -0
- package/dist/src/migrations/backfill-catalog-model.js +124 -0
- package/dist/src/migrations/backfill-catalog-model.js.map +1 -0
- package/dist/src/migrations/migrate-native-catalog-layout.js +4 -4
- package/dist/src/migrations/migrate-native-catalog-layout.js.map +1 -1
- package/dist/src/validation/index.d.ts +2 -2
- package/dist/src/validation/index.d.ts.map +1 -1
- package/dist/src/validation/index.js +2 -2
- package/dist/src/validation/index.js.map +1 -1
- package/dist/src/validation/ui-spec-schema.d.ts +5 -0
- package/dist/src/validation/ui-spec-schema.d.ts.map +1 -1
- package/dist/src/validation/ui-spec-schema.js +139 -0
- package/dist/src/validation/ui-spec-schema.js.map +1 -1
- package/dist/src/validation/ui-spec-validate.d.ts +3 -0
- package/dist/src/validation/ui-spec-validate.d.ts.map +1 -1
- package/dist/src/validation/ui-spec-validate.js +13 -1
- package/dist/src/validation/ui-spec-validate.js.map +1 -1
- package/package.json +2 -2
|
@@ -57,7 +57,6 @@ export type UnifiedCatalogItem<TData = Record<string, unknown>> = {
|
|
|
57
57
|
sourceType?: "firebase" | "mongo" | "api";
|
|
58
58
|
title?: string;
|
|
59
59
|
subtitle?: string;
|
|
60
|
-
status?: string;
|
|
61
60
|
sourceRef?: {
|
|
62
61
|
adapterId?: string;
|
|
63
62
|
sourceRecordId?: string;
|
|
@@ -66,13 +65,15 @@ export type UnifiedCatalogItem<TData = Record<string, unknown>> = {
|
|
|
66
65
|
endpoint?: string;
|
|
67
66
|
};
|
|
68
67
|
data: TData;
|
|
69
|
-
metadata
|
|
68
|
+
metadata: Record<string, unknown> & {
|
|
69
|
+
/** Optional association tags for host runtimes. */
|
|
70
|
+
domainIds?: string[];
|
|
71
|
+
agentIds?: string[];
|
|
72
|
+
};
|
|
70
73
|
state?: {
|
|
71
74
|
validationStatus?: "valid" | "invalid" | "unknown";
|
|
72
75
|
syncStatus?: "idle" | "success" | "error" | "stale";
|
|
73
76
|
};
|
|
74
|
-
createdAt?: string;
|
|
75
|
-
updatedAt?: string;
|
|
76
77
|
};
|
|
77
78
|
export type NativeCatalogItemRecord = {
|
|
78
79
|
itemId: ItemId;
|
|
@@ -85,9 +86,10 @@ export type NativeCatalogItemRecord = {
|
|
|
85
86
|
updatedBy?: string;
|
|
86
87
|
indexed?: Record<string, unknown>;
|
|
87
88
|
data: Record<string, unknown>;
|
|
88
|
-
metadata
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
metadata: Record<string, unknown> & {
|
|
90
|
+
domainIds?: string[];
|
|
91
|
+
agentIds?: string[];
|
|
92
|
+
};
|
|
91
93
|
};
|
|
92
94
|
export type SnapshotCatalogItemRecord = {
|
|
93
95
|
itemId: ItemId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../../src/contracts/items.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEzD,8DAA8D;AAC9D,MAAM,MAAM,0BAA0B,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/E;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,6BAA6B,CAAC,CAAC;AAEzD,MAAM,MAAM,kBAAkB,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../../src/contracts/items.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { CatalogDescriptor } from "./descriptors.js";
|
|
2
|
+
import type { CatalogPresentationSpec } from "./presentation.js";
|
|
3
|
+
import type { CatalogCustomRenderer, CustomRendererEntry } from "./render-map.js";
|
|
4
|
+
import type { CatalogDesignObjectRecord, CatalogDesignRef, CatalogDesignScope } from "./design-objects.js";
|
|
5
|
+
import type { CatalogRendererMode, CatalogRendererRole, CatalogRendererSnippetRecord } from "./renderer-snippets.js";
|
|
6
|
+
export type CatalogPresentationStrategy = "native-auto" | "template" | "custom-renderer";
|
|
7
|
+
export type CatalogPresentationScope = {
|
|
8
|
+
catalogId?: string;
|
|
9
|
+
catalogType?: string;
|
|
10
|
+
};
|
|
11
|
+
export type CatalogPresentationProfileRecord = {
|
|
12
|
+
profileId: string;
|
|
13
|
+
scope: CatalogPresentationScope;
|
|
14
|
+
/**
|
|
15
|
+
* Declarative presentation hints. If present, can override/augment descriptor presentationSpec.
|
|
16
|
+
*/
|
|
17
|
+
presentationSpec?: CatalogPresentationSpec;
|
|
18
|
+
/**
|
|
19
|
+
* Optional template assignment defaults (host-defined). Stored on the profile so multiple catalogs
|
|
20
|
+
* can share a template selection without copying it into every descriptor.
|
|
21
|
+
*/
|
|
22
|
+
templates?: CatalogPresentationSpec["templates"];
|
|
23
|
+
/**
|
|
24
|
+
* Optional custom renderer defaults shared across catalogs.
|
|
25
|
+
*/
|
|
26
|
+
customRenderer?: CatalogCustomRenderer;
|
|
27
|
+
/**
|
|
28
|
+
* Optional design refs (tokens/branding/content) that apply under this scope.
|
|
29
|
+
*/
|
|
30
|
+
designRefs?: CatalogDesignRef[];
|
|
31
|
+
metadata?: Record<string, unknown>;
|
|
32
|
+
createdAt?: string;
|
|
33
|
+
updatedAt?: string;
|
|
34
|
+
};
|
|
35
|
+
export type ResolveCatalogPresentationBindingInput = {
|
|
36
|
+
descriptor: CatalogDescriptor | null;
|
|
37
|
+
/**
|
|
38
|
+
* Optional presentation profiles; caller can provide a catalog-scoped profile and/or type-scoped profile.
|
|
39
|
+
*/
|
|
40
|
+
profiles?: CatalogPresentationProfileRecord[];
|
|
41
|
+
role: Exclude<CatalogRendererRole, "core">;
|
|
42
|
+
mode?: CatalogRendererMode;
|
|
43
|
+
/**
|
|
44
|
+
* Current list-like display context. Used when selecting templates for list/grid/cards.
|
|
45
|
+
*/
|
|
46
|
+
displayContext?: "grid" | "list" | "cards" | "form";
|
|
47
|
+
/**
|
|
48
|
+
* Optional snippet record resolved by the caller (Catalox can fetch it when wired).
|
|
49
|
+
* This is metadata only; evaluation is a host concern.
|
|
50
|
+
*/
|
|
51
|
+
snippet?: CatalogRendererSnippetRecord | null;
|
|
52
|
+
/**
|
|
53
|
+
* Optional design objects available to match/merge.
|
|
54
|
+
*/
|
|
55
|
+
designObjects?: CatalogDesignObjectRecord[];
|
|
56
|
+
/**
|
|
57
|
+
* Runtime scope used to select design objects, if requested.
|
|
58
|
+
*/
|
|
59
|
+
designScope?: CatalogDesignScope;
|
|
60
|
+
};
|
|
61
|
+
export type ResolvedCatalogPresentationBinding = {
|
|
62
|
+
strategy: CatalogPresentationStrategy;
|
|
63
|
+
/**
|
|
64
|
+
* The effective presentation spec to use for native automatic or as a supplement to templates/custom renderers.
|
|
65
|
+
*/
|
|
66
|
+
presentationSpec?: CatalogPresentationSpec;
|
|
67
|
+
/**
|
|
68
|
+
* The resolved template assignment, when strategy is "template".
|
|
69
|
+
*/
|
|
70
|
+
template?: {
|
|
71
|
+
templateId: string;
|
|
72
|
+
props?: Record<string, unknown>;
|
|
73
|
+
designRefs?: CatalogDesignRef[];
|
|
74
|
+
metadata?: Record<string, unknown>;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* The resolved custom renderer entry, when strategy is "custom-renderer".
|
|
78
|
+
*/
|
|
79
|
+
customRenderer?: {
|
|
80
|
+
entry: CustomRendererEntry;
|
|
81
|
+
snippet?: CatalogRendererSnippetRecord | null;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Merged opaque design payload and provenance.
|
|
85
|
+
*/
|
|
86
|
+
design?: {
|
|
87
|
+
merged: Record<string, unknown>;
|
|
88
|
+
contributingDesignIds: string[];
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Helpful debug info for hosts (non-authoritative).
|
|
92
|
+
*/
|
|
93
|
+
debug?: {
|
|
94
|
+
fromCatalogId?: string;
|
|
95
|
+
fromCatalogType?: string;
|
|
96
|
+
usedProfileIds?: string[];
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Lightweight helper to merge JSON objects in order (later wins).
|
|
101
|
+
* This is intentionally shallow; hosts can implement deep merge if they want.
|
|
102
|
+
*/
|
|
103
|
+
export declare function mergeDesignObjects(objects: CatalogDesignObjectRecord[]): {
|
|
104
|
+
merged: Record<string, unknown>;
|
|
105
|
+
contributingDesignIds: string[];
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Resolve a catalog presentation binding for a given role/mode without rendering anything.
|
|
109
|
+
*
|
|
110
|
+
* Precedence:
|
|
111
|
+
* - catalog-scoped profiles override catalog-type-scoped profiles
|
|
112
|
+
* - `customRenderer` wins over templates, templates win over native-auto
|
|
113
|
+
* - design refs are applied (explicit refs first), then optionally scope-matched design objects
|
|
114
|
+
*/
|
|
115
|
+
export declare function resolveCatalogPresentationBinding(input: ResolveCatalogPresentationBindingInput): ResolvedCatalogPresentationBinding;
|
|
116
|
+
//# sourceMappingURL=presentation-binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-binding.d.ts","sourceRoot":"","sources":["../../../src/contracts/presentation-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { resolveCustomRendererEntry } from "./custom-renderer-resolve.js";
|
|
2
|
+
function isNonEmptyString(v) {
|
|
3
|
+
return typeof v === "string" && v.trim().length > 0;
|
|
4
|
+
}
|
|
5
|
+
function scopeMatches(target, candidate) {
|
|
6
|
+
if (!target)
|
|
7
|
+
return true;
|
|
8
|
+
if (!candidate)
|
|
9
|
+
return false;
|
|
10
|
+
// Every axis provided in target must match candidate.
|
|
11
|
+
if (target.storeId != null && String(candidate.storeId ?? "") !== String(target.storeId))
|
|
12
|
+
return false;
|
|
13
|
+
if (target.appId != null && String(candidate.appId ?? "") !== String(target.appId))
|
|
14
|
+
return false;
|
|
15
|
+
if (target.accountId != null && String(candidate.accountId ?? "") !== String(target.accountId))
|
|
16
|
+
return false;
|
|
17
|
+
if (target.agentId != null && String(candidate.agentId ?? "") !== String(target.agentId))
|
|
18
|
+
return false;
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
function scopeSpecificity(s) {
|
|
22
|
+
if (!s)
|
|
23
|
+
return 0;
|
|
24
|
+
return Number(Boolean(s.storeId)) + Number(Boolean(s.appId)) + Number(Boolean(s.accountId)) + Number(Boolean(s.agentId));
|
|
25
|
+
}
|
|
26
|
+
function dedupeByDesignId(objs) {
|
|
27
|
+
const seen = new Set();
|
|
28
|
+
const out = [];
|
|
29
|
+
for (const o of objs) {
|
|
30
|
+
const id = String(o?.designId ?? "");
|
|
31
|
+
if (!id)
|
|
32
|
+
continue;
|
|
33
|
+
if (seen.has(id))
|
|
34
|
+
continue;
|
|
35
|
+
seen.add(id);
|
|
36
|
+
out.push(o);
|
|
37
|
+
}
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
40
|
+
function pickTemplateAssignment(params) {
|
|
41
|
+
const templates = params.templates ?? [];
|
|
42
|
+
if (!templates.length)
|
|
43
|
+
return null;
|
|
44
|
+
// Merge semantics: core -> role -> role+mode, optionally filtering by displayContext when provided.
|
|
45
|
+
const candidates = templates.filter((t) => {
|
|
46
|
+
if (!t || typeof t !== "object")
|
|
47
|
+
return false;
|
|
48
|
+
if (!isNonEmptyString(t.templateId))
|
|
49
|
+
return false;
|
|
50
|
+
if (params.displayContext && t.displayContext && String(t.displayContext) !== String(params.displayContext))
|
|
51
|
+
return false;
|
|
52
|
+
return true;
|
|
53
|
+
});
|
|
54
|
+
const core = candidates.find((t) => t.role === "core" && t.mode == null);
|
|
55
|
+
const roleOnly = candidates.find((t) => t.role === params.role && t.mode == null);
|
|
56
|
+
const roleMode = params.mode ? candidates.find((t) => t.role === params.role && t.mode === params.mode) : undefined;
|
|
57
|
+
if (!core && !roleOnly && !roleMode)
|
|
58
|
+
return null;
|
|
59
|
+
const merge = (base, override) => {
|
|
60
|
+
const out = { ...base, ...override };
|
|
61
|
+
// Merge props/designRefs shallowly (later wins but retains previous keys).
|
|
62
|
+
if (base?.props || override?.props)
|
|
63
|
+
out.props = { ...(base?.props ?? {}), ...(override?.props ?? {}) };
|
|
64
|
+
if (base?.designRefs || override?.designRefs)
|
|
65
|
+
out.designRefs = [...(base?.designRefs ?? []), ...(override?.designRefs ?? [])];
|
|
66
|
+
return out;
|
|
67
|
+
};
|
|
68
|
+
let out = { templateId: "", props: undefined, designRefs: undefined, metadata: undefined };
|
|
69
|
+
if (core)
|
|
70
|
+
out = merge(out, core);
|
|
71
|
+
if (roleOnly)
|
|
72
|
+
out = merge(out, roleOnly);
|
|
73
|
+
if (roleMode)
|
|
74
|
+
out = merge(out, roleMode);
|
|
75
|
+
if (!isNonEmptyString(out.templateId))
|
|
76
|
+
return null;
|
|
77
|
+
return { templateId: out.templateId, props: out.props, designRefs: out.designRefs, metadata: out.metadata };
|
|
78
|
+
}
|
|
79
|
+
function deriveNativeAutoPresentationSpec(descriptor) {
|
|
80
|
+
// v1: use explicit presentationSpec when present; derivation can be evolved later.
|
|
81
|
+
return descriptor?.presentationSpec;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Lightweight helper to merge JSON objects in order (later wins).
|
|
85
|
+
* This is intentionally shallow; hosts can implement deep merge if they want.
|
|
86
|
+
*/
|
|
87
|
+
export function mergeDesignObjects(objects) {
|
|
88
|
+
const merged = {};
|
|
89
|
+
const contributingDesignIds = [];
|
|
90
|
+
for (const o of objects) {
|
|
91
|
+
if (!o || typeof o !== "object")
|
|
92
|
+
continue;
|
|
93
|
+
if (!o.designId)
|
|
94
|
+
continue;
|
|
95
|
+
contributingDesignIds.push(String(o.designId));
|
|
96
|
+
Object.assign(merged, o.design ?? {});
|
|
97
|
+
}
|
|
98
|
+
return { merged, contributingDesignIds };
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Resolve a catalog presentation binding for a given role/mode without rendering anything.
|
|
102
|
+
*
|
|
103
|
+
* Precedence:
|
|
104
|
+
* - catalog-scoped profiles override catalog-type-scoped profiles
|
|
105
|
+
* - `customRenderer` wins over templates, templates win over native-auto
|
|
106
|
+
* - design refs are applied (explicit refs first), then optionally scope-matched design objects
|
|
107
|
+
*/
|
|
108
|
+
export function resolveCatalogPresentationBinding(input) {
|
|
109
|
+
const descriptor = input.descriptor ?? null;
|
|
110
|
+
const catalogId = descriptor?.catalogId ? String(descriptor.catalogId) : undefined;
|
|
111
|
+
const catalogType = descriptor?.catalogType ? String(descriptor.catalogType) : undefined;
|
|
112
|
+
const profiles = input.profiles ?? [];
|
|
113
|
+
const catalogProfiles = catalogId ? profiles.filter((p) => p?.scope?.catalogId && String(p.scope.catalogId) === catalogId) : [];
|
|
114
|
+
const typeProfiles = catalogType ? profiles.filter((p) => p?.scope?.catalogType && String(p.scope.catalogType) === catalogType) : [];
|
|
115
|
+
const usedProfiles = [...catalogProfiles, ...typeProfiles];
|
|
116
|
+
const mergedCustomRenderer = (() => {
|
|
117
|
+
const fromProfiles = usedProfiles.map((p) => p.customRenderer).filter(Boolean);
|
|
118
|
+
const fromDescriptor = descriptor?.customRenderer;
|
|
119
|
+
const renderers = [];
|
|
120
|
+
for (const cr of [...fromProfiles, ...(fromDescriptor ? [fromDescriptor] : [])]) {
|
|
121
|
+
for (const e of cr.renderers ?? [])
|
|
122
|
+
renderers.push(e);
|
|
123
|
+
}
|
|
124
|
+
return renderers.length ? { renderers } : null;
|
|
125
|
+
})();
|
|
126
|
+
const mergedTemplates = (() => {
|
|
127
|
+
const out = [];
|
|
128
|
+
for (const p of usedProfiles)
|
|
129
|
+
for (const t of (p.templates ?? []))
|
|
130
|
+
out.push(t);
|
|
131
|
+
const dTemplates = (descriptor?.presentationSpec?.templates ?? []);
|
|
132
|
+
for (const t of dTemplates)
|
|
133
|
+
out.push(t);
|
|
134
|
+
return out.length ? out : undefined;
|
|
135
|
+
})();
|
|
136
|
+
const presentationSpec = (() => {
|
|
137
|
+
// Profile can override/augment; v1 chooses descriptor.spec if present else first profile.spec.
|
|
138
|
+
const d = descriptor?.presentationSpec;
|
|
139
|
+
if (d)
|
|
140
|
+
return d;
|
|
141
|
+
const p = usedProfiles.find((x) => x.presentationSpec)?.presentationSpec;
|
|
142
|
+
return p;
|
|
143
|
+
})();
|
|
144
|
+
const resolvedCustom = resolveCustomRendererEntry({
|
|
145
|
+
customRenderer: mergedCustomRenderer ?? undefined,
|
|
146
|
+
role: input.role,
|
|
147
|
+
...(input.mode ? { mode: input.mode } : {}),
|
|
148
|
+
});
|
|
149
|
+
const resolvedTemplate = !resolvedCustom
|
|
150
|
+
? pickTemplateAssignment({
|
|
151
|
+
templates: mergedTemplates,
|
|
152
|
+
role: input.role,
|
|
153
|
+
...(input.mode ? { mode: input.mode } : {}),
|
|
154
|
+
...(input.displayContext ? { displayContext: input.displayContext } : {}),
|
|
155
|
+
})
|
|
156
|
+
: null;
|
|
157
|
+
const strategy = resolvedCustom ? "custom-renderer" : resolvedTemplate ? "template" : "native-auto";
|
|
158
|
+
// Design resolution
|
|
159
|
+
const allDesignRefs = [
|
|
160
|
+
...(usedProfiles.flatMap((p) => p.designRefs ?? []) ?? []),
|
|
161
|
+
...(descriptor?.presentationSpec?.designRefs ?? []),
|
|
162
|
+
...(resolvedTemplate?.designRefs ?? []),
|
|
163
|
+
].filter(Boolean);
|
|
164
|
+
const availableDesigns = (input.designObjects ?? []).filter((d) => d && typeof d === "object" && d.design && typeof d.design === "object" && !Array.isArray(d.design));
|
|
165
|
+
const explicitlyPicked = dedupeByDesignId(allDesignRefs
|
|
166
|
+
.map((r) => {
|
|
167
|
+
if (!r?.designId)
|
|
168
|
+
return null;
|
|
169
|
+
const id = String(r.designId);
|
|
170
|
+
return availableDesigns.find((d) => String(d.designId) === id) ?? null;
|
|
171
|
+
})
|
|
172
|
+
.filter(Boolean));
|
|
173
|
+
const scopePicked = (() => {
|
|
174
|
+
if (!input.designScope)
|
|
175
|
+
return [];
|
|
176
|
+
// Match designs by runtime scope and sort by specificity (broad -> specific) so specific overrides last.
|
|
177
|
+
const matches = availableDesigns.filter((d) => scopeMatches(input.designScope, d.scope));
|
|
178
|
+
matches.sort((a, b) => scopeSpecificity(a.scope) - scopeSpecificity(b.scope));
|
|
179
|
+
return dedupeByDesignId(matches);
|
|
180
|
+
})();
|
|
181
|
+
const contributing = dedupeByDesignId([...explicitlyPicked, ...scopePicked]);
|
|
182
|
+
const design = contributing.length ? mergeDesignObjects(contributing) : undefined;
|
|
183
|
+
return {
|
|
184
|
+
strategy,
|
|
185
|
+
...(() => {
|
|
186
|
+
const spec = strategy === "native-auto" ? deriveNativeAutoPresentationSpec(descriptor) ?? presentationSpec : presentationSpec;
|
|
187
|
+
return spec != null ? { presentationSpec: spec } : {};
|
|
188
|
+
})(),
|
|
189
|
+
...(resolvedTemplate
|
|
190
|
+
? {
|
|
191
|
+
template: {
|
|
192
|
+
templateId: resolvedTemplate.templateId,
|
|
193
|
+
...(resolvedTemplate.props ? { props: resolvedTemplate.props } : {}),
|
|
194
|
+
...(resolvedTemplate.designRefs ? { designRefs: resolvedTemplate.designRefs } : {}),
|
|
195
|
+
...(resolvedTemplate.metadata ? { metadata: resolvedTemplate.metadata } : {}),
|
|
196
|
+
},
|
|
197
|
+
}
|
|
198
|
+
: {}),
|
|
199
|
+
...(resolvedCustom
|
|
200
|
+
? {
|
|
201
|
+
customRenderer: {
|
|
202
|
+
entry: resolvedCustom,
|
|
203
|
+
...(input.snippet !== undefined ? { snippet: input.snippet } : {}),
|
|
204
|
+
},
|
|
205
|
+
}
|
|
206
|
+
: {}),
|
|
207
|
+
...(design ? { design } : {}),
|
|
208
|
+
debug: {
|
|
209
|
+
...(catalogId ? { fromCatalogId: catalogId } : {}),
|
|
210
|
+
...(catalogType ? { fromCatalogType: catalogType } : {}),
|
|
211
|
+
...(usedProfiles.length ? { usedProfileIds: usedProfiles.map((p) => p.profileId) } : {}),
|
|
212
|
+
},
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=presentation-binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-binding.js","sourceRoot":"","sources":["../../../src/contracts/presentation-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { FieldSource } from "./field-source.js";
|
|
2
|
+
import type { CatalogDesignRef } from "./design-objects.js";
|
|
3
|
+
import type { CatalogRendererMode, CatalogRendererRole } from "./renderer-snippets.js";
|
|
2
4
|
export type CatalogDisplayContext = "grid" | "list" | "cards" | "form";
|
|
3
5
|
export type CatalogUIMode = "view" | "edit";
|
|
4
6
|
export type CatalogPresentationDensity = "compact" | "default" | "comfortable";
|
|
@@ -127,6 +129,36 @@ export type EmptyStateSpec = {
|
|
|
127
129
|
icon?: string;
|
|
128
130
|
metadata?: Record<string, unknown>;
|
|
129
131
|
};
|
|
132
|
+
export type RelationSectionSpec = {
|
|
133
|
+
/**
|
|
134
|
+
* Optional allowlist of relation types to include in this section.
|
|
135
|
+
* If omitted, hosts may show all relations (or those declared on the descriptor).
|
|
136
|
+
*/
|
|
137
|
+
relationTypes?: string[];
|
|
138
|
+
label: string;
|
|
139
|
+
description?: string;
|
|
140
|
+
/**
|
|
141
|
+
* When true, hosts should emphasize this section in create/edit flows.
|
|
142
|
+
* Validation enforcement comes from `CatalogDescriptor.relationRules`.
|
|
143
|
+
*/
|
|
144
|
+
required?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Display hint: show relation count in the section header.
|
|
147
|
+
*/
|
|
148
|
+
showCount?: boolean;
|
|
149
|
+
metadata?: Record<string, unknown>;
|
|
150
|
+
};
|
|
151
|
+
export type RelationsPresentationSpec = {
|
|
152
|
+
/**
|
|
153
|
+
* Optional ordered sections for rendering relations on item/detail surfaces.
|
|
154
|
+
*/
|
|
155
|
+
sections?: RelationSectionSpec[];
|
|
156
|
+
/**
|
|
157
|
+
* Display hint for list/grid/cards surfaces (host-defined).
|
|
158
|
+
*/
|
|
159
|
+
showInSummary?: boolean;
|
|
160
|
+
metadata?: Record<string, unknown>;
|
|
161
|
+
};
|
|
130
162
|
export type CatalogPresentationSpec = {
|
|
131
163
|
/**
|
|
132
164
|
* Per-field rendering + edit semantics (view + edit in one place).
|
|
@@ -144,6 +176,50 @@ export type CatalogPresentationSpec = {
|
|
|
144
176
|
showSearch?: boolean;
|
|
145
177
|
searchFields?: string[];
|
|
146
178
|
emptyState?: EmptyStateSpec;
|
|
179
|
+
/**
|
|
180
|
+
* Optional template assignments (host-defined). This is a declarative, non-code way
|
|
181
|
+
* to select presentation. Rendering is performed by the host presentation layer.
|
|
182
|
+
*/
|
|
183
|
+
templates?: CatalogPresentationTemplateAssignment[];
|
|
184
|
+
/**
|
|
185
|
+
* Optional design references to scoped design objects (tokens/branding/content).
|
|
186
|
+
* Payloads remain opaque to Catalox.
|
|
187
|
+
*/
|
|
188
|
+
designRefs?: CatalogDesignRef[];
|
|
189
|
+
/**
|
|
190
|
+
* Optional declarative presentation hints for item relations (links).
|
|
191
|
+
* Actual enforcement is driven by `CatalogDescriptor.relationRules`.
|
|
192
|
+
*/
|
|
193
|
+
relations?: RelationsPresentationSpec;
|
|
194
|
+
metadata?: Record<string, unknown>;
|
|
195
|
+
};
|
|
196
|
+
export type CatalogPresentationTemplateAssignment = {
|
|
197
|
+
/**
|
|
198
|
+
* Matches the same renderer surface roles as custom renderers.
|
|
199
|
+
* Use "core" to express defaults that hosts may merge.
|
|
200
|
+
*/
|
|
201
|
+
role: CatalogRendererRole;
|
|
202
|
+
/**
|
|
203
|
+
* Optional mode variant. Only meaningful for list/grid/item roles.
|
|
204
|
+
*/
|
|
205
|
+
mode?: CatalogRendererMode;
|
|
206
|
+
/**
|
|
207
|
+
* Optional displayContext override used by list-like surfaces.
|
|
208
|
+
* If omitted, the host decides based on the active map context.
|
|
209
|
+
*/
|
|
210
|
+
displayContext?: Exclude<CatalogDisplayContext, "form">;
|
|
211
|
+
/**
|
|
212
|
+
* Host-owned template identifier (not an import path).
|
|
213
|
+
*/
|
|
214
|
+
templateId: string;
|
|
215
|
+
/**
|
|
216
|
+
* Static JSON props passed to the template by the host.
|
|
217
|
+
*/
|
|
218
|
+
props?: Record<string, unknown>;
|
|
219
|
+
/**
|
|
220
|
+
* Optional design refs specifically for this template assignment.
|
|
221
|
+
*/
|
|
222
|
+
designRefs?: CatalogDesignRef[];
|
|
147
223
|
metadata?: Record<string, unknown>;
|
|
148
224
|
};
|
|
149
225
|
//# sourceMappingURL=presentation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../../src/contracts/presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../../src/contracts/presentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,4 +8,44 @@ export type CatalogItemReference = {
|
|
|
8
8
|
label?: string;
|
|
9
9
|
metadata?: Record<string, unknown>;
|
|
10
10
|
};
|
|
11
|
+
/**
|
|
12
|
+
* Descriptor-level rules for item-to-item relations.
|
|
13
|
+
*
|
|
14
|
+
* These rules describe what relations are allowed/required for items in a catalog.
|
|
15
|
+
* The actual relation instances are stored as `CatalogItemReference` records.
|
|
16
|
+
*/
|
|
17
|
+
export type CatalogRelationDirection = "outbound" | "inbound" | "bidirectional";
|
|
18
|
+
export type CatalogRelationTargetScope = "global" | "account" | "group" | "user" | "app" | "store" | "domain" | "agent";
|
|
19
|
+
export type CatalogRelationRule = {
|
|
20
|
+
/**
|
|
21
|
+
* Stable identifier used to match `CatalogItemReference.relationType`.
|
|
22
|
+
* Keep this stable over time to preserve compatibility.
|
|
23
|
+
*/
|
|
24
|
+
relationType: string;
|
|
25
|
+
label?: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
/**
|
|
28
|
+
* If true, at least one relation of this type must exist for the item.
|
|
29
|
+
* Enforced by validation and creation/update flows.
|
|
30
|
+
*/
|
|
31
|
+
required?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* When false, only one relation of this type is allowed from an item.
|
|
34
|
+
* Default: true.
|
|
35
|
+
*/
|
|
36
|
+
multiple?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Optional constraints on what the relation can point to.
|
|
39
|
+
* If omitted, relation targets are host-defined / unconstrained.
|
|
40
|
+
*/
|
|
41
|
+
targetCatalogIds?: string[];
|
|
42
|
+
targetCatalogTypes?: string[];
|
|
43
|
+
targetScopes?: CatalogRelationTargetScope[];
|
|
44
|
+
/**
|
|
45
|
+
* Presentation semantics for hosts (does not affect storage).
|
|
46
|
+
* Default: "outbound".
|
|
47
|
+
*/
|
|
48
|
+
direction?: CatalogRelationDirection;
|
|
49
|
+
metadata?: Record<string, unknown>;
|
|
50
|
+
};
|
|
11
51
|
//# sourceMappingURL=references.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../src/contracts/references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,SAAS,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,SAAS,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../src/contracts/references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,SAAS,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,SAAS,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,CAAC;AAEhF,MAAM,MAAM,0BAA0B,GAClC,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,KAAK,GACL,OAAO,GACP,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAE5C;;;OAGG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;IAErC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC"}
|
|
@@ -120,6 +120,11 @@ export type CatalogItemReferenceView = {
|
|
|
120
120
|
label?: string;
|
|
121
121
|
metadata?: Record<string, unknown>;
|
|
122
122
|
};
|
|
123
|
+
/**
|
|
124
|
+
* User-facing alias for item relations. This matches the existing `references` payload
|
|
125
|
+
* shape, but uses terminology that better reflects generic graph links.
|
|
126
|
+
*/
|
|
127
|
+
export type CatalogItemRelationView = CatalogItemReferenceView;
|
|
123
128
|
export type CatalogItemValidationView = {
|
|
124
129
|
isValid: boolean;
|
|
125
130
|
fieldErrors: Record<string, string>;
|
|
@@ -138,6 +143,13 @@ export type CatalogItemRenderMap = {
|
|
|
138
143
|
updatedAt?: string;
|
|
139
144
|
};
|
|
140
145
|
resolvedSources: Record<string, ResolvedSourceOption[]>;
|
|
146
|
+
/**
|
|
147
|
+
* Generic item-to-item relations (links) originating from this item.
|
|
148
|
+
*/
|
|
149
|
+
relations?: CatalogItemRelationView[];
|
|
150
|
+
/**
|
|
151
|
+
* Backward-compatible name for `relations`.
|
|
152
|
+
*/
|
|
141
153
|
references?: CatalogItemReferenceView[];
|
|
142
154
|
presentation?: CatalogPresentationSpec;
|
|
143
155
|
capabilities: CatalogCapabilitiesDescriptor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-map.d.ts","sourceRoot":"","sources":["../../../src/contracts/render-map.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render-map.d.ts","sourceRoot":"","sources":["../../../src/contracts/render-map.ts"],"names":[],"mappings":"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"}
|