@dereekb/dbx-cli 13.11.18 → 13.12.1
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/firebase-api-manifest/main.js +70 -9
- package/firebase-api-manifest/package.json +1 -1
- package/firestore-indexes/src/firestore-indexes-generate.d.ts +125 -0
- package/firestore-indexes/src/firestore-model-identity-resolver.d.ts +93 -0
- package/firestore-indexes/src/firestore-query-helpers.d.ts +108 -0
- package/firestore-indexes/src/generate-firestore-indexes-cli.d.ts +94 -0
- package/firestore-indexes/src/index.d.ts +7 -0
- package/firestore-indexes/src/model-firebase-index-analyze.d.ts +68 -0
- package/firestore-indexes/src/model-firebase-index-build-manifest.d.ts +123 -0
- package/firestore-indexes/src/model-firebase-index-extract.d.ts +246 -0
- package/firestore-indexes/src/model-firebase-index-runtime.d.ts +126 -0
- package/firestore-indexes/src/model-firebase-index-scan-config-schema.d.ts +58 -0
- package/firestore-indexes/src/model-firebase-index-schema.d.ts +366 -0
- package/generate-firestore-indexes/main.js +1 -1
- package/generate-firestore-indexes/package.json +1 -1
- package/generate-mcp-manifest/main.js +1314 -0
- package/generate-mcp-manifest/package.json +6 -0
- package/generated/firebase-models.generated.d.ts +3 -0
- package/index.cjs.js +45614 -640
- package/index.esm.js +45321 -643
- package/lint-cache/main.js +32 -28
- package/lint-cache/package.json +2 -2
- package/manifest-extract/index.cjs.js +169 -4
- package/manifest-extract/index.esm.js +169 -4
- package/manifest-extract/package.json +1 -1
- package/manifest-extract/src/lib/types.d.ts +26 -1
- package/package.json +14 -10
- package/src/lib/index.d.ts +3 -0
- package/src/lib/manifest/types.d.ts +155 -0
- package/src/lib/mcp-scan/config/config-schema.d.ts +226 -0
- package/src/lib/mcp-scan/config/load-config.d.ts +63 -0
- package/src/lib/mcp-scan/index.d.ts +16 -0
- package/src/lib/mcp-scan/manifest/actions-loader.d.ts +49 -0
- package/src/lib/mcp-scan/manifest/actions-schema.d.ts +328 -0
- package/src/lib/mcp-scan/manifest/core-topics.d.ts +38 -0
- package/src/lib/mcp-scan/manifest/css-utilities-loader.d.ts +55 -0
- package/src/lib/mcp-scan/manifest/css-utilities-schema.d.ts +168 -0
- package/src/lib/mcp-scan/manifest/dbx-docs-ui-examples-loader.d.ts +33 -0
- package/src/lib/mcp-scan/manifest/dbx-docs-ui-examples-schema.d.ts +133 -0
- package/src/lib/mcp-scan/manifest/filters-loader.d.ts +61 -0
- package/src/lib/mcp-scan/manifest/filters-schema.d.ts +190 -0
- package/src/lib/mcp-scan/manifest/forge-fields-loader.d.ts +53 -0
- package/src/lib/mcp-scan/manifest/forge-fields-schema.d.ts +170 -0
- package/src/lib/mcp-scan/manifest/index.d.ts +43 -0
- package/src/lib/mcp-scan/manifest/load-actions-registry.d.ts +38 -0
- package/src/lib/mcp-scan/manifest/load-auth-registry.d.ts +82 -0
- package/src/lib/mcp-scan/manifest/load-css-utilities-registry.d.ts +67 -0
- package/src/lib/mcp-scan/manifest/load-dbx-docs-ui-examples-registry.d.ts +45 -0
- package/src/lib/mcp-scan/manifest/load-filters-registry.d.ts +69 -0
- package/src/lib/mcp-scan/manifest/load-forge-fields-registry.d.ts +70 -0
- package/src/lib/mcp-scan/manifest/load-model-firebase-index-registry.d.ts +61 -0
- package/src/lib/mcp-scan/manifest/load-model-snapshot-fields-registry.d.ts +74 -0
- package/src/lib/mcp-scan/manifest/load-pipes-registry.d.ts +69 -0
- package/src/lib/mcp-scan/manifest/load-registry.d.ts +76 -0
- package/src/lib/mcp-scan/manifest/load-tokens-registry.d.ts +69 -0
- package/src/lib/mcp-scan/manifest/load-ui-components-registry.d.ts +70 -0
- package/src/lib/mcp-scan/manifest/load-utils-registry.d.ts +73 -0
- package/src/lib/mcp-scan/manifest/loader.d.ts +120 -0
- package/src/lib/mcp-scan/manifest/manifest-loader-base.d.ts +130 -0
- package/src/lib/mcp-scan/manifest/model-firebase-index-loader.d.ts +53 -0
- package/src/lib/mcp-scan/manifest/model-snapshot-fields-loader.d.ts +54 -0
- package/src/lib/mcp-scan/manifest/model-snapshot-fields-schema.d.ts +127 -0
- package/src/lib/mcp-scan/manifest/pipes-loader.d.ts +54 -0
- package/src/lib/mcp-scan/manifest/pipes-schema.d.ts +125 -0
- package/src/lib/mcp-scan/manifest/semantic-types-schema.d.ts +108 -0
- package/src/lib/mcp-scan/manifest/tokens-loader.d.ts +55 -0
- package/src/lib/mcp-scan/manifest/tokens-schema.d.ts +116 -0
- package/src/lib/mcp-scan/manifest/ui-components-loader.d.ts +54 -0
- package/src/lib/mcp-scan/manifest/ui-components-schema.d.ts +149 -0
- package/src/lib/mcp-scan/manifest/utils-loader.d.ts +54 -0
- package/src/lib/mcp-scan/manifest/utils-schema.d.ts +120 -0
- package/src/lib/mcp-scan/registry/actions-runtime.d.ts +173 -0
- package/src/lib/mcp-scan/registry/archetypes.d.ts +235 -0
- package/src/lib/mcp-scan/registry/auth-builtin.d.ts +59 -0
- package/src/lib/mcp-scan/registry/auth-runtime.d.ts +343 -0
- package/src/lib/mcp-scan/registry/css-utilities-runtime.d.ts +133 -0
- package/src/lib/mcp-scan/registry/dbx-docs-ui-examples-runtime.d.ts +58 -0
- package/src/lib/mcp-scan/registry/downstream-models-runtime.d.ts +93 -0
- package/src/lib/mcp-scan/registry/filters-runtime.d.ts +128 -0
- package/src/lib/mcp-scan/registry/firebase-models.d.ts +387 -0
- package/src/lib/mcp-scan/registry/forge-fields.d.ts +101 -0
- package/src/lib/mcp-scan/registry/form-fields.d.ts +203 -0
- package/src/lib/mcp-scan/registry/index.d.ts +165 -0
- package/src/lib/mcp-scan/registry/model-snapshot-fields-runtime.d.ts +138 -0
- package/src/lib/mcp-scan/registry/pipes-runtime.d.ts +136 -0
- package/src/lib/mcp-scan/registry/reserved-model-folders.d.ts +29 -0
- package/src/lib/mcp-scan/registry/semantic-types.d.ts +81 -0
- package/src/lib/mcp-scan/registry/tokens-runtime.d.ts +96 -0
- package/src/lib/mcp-scan/registry/ui-components-runtime.d.ts +90 -0
- package/src/lib/mcp-scan/registry/utils-runtime.d.ts +136 -0
- package/src/lib/mcp-scan/scan/_jsdoc-tagged-export/extract-base.d.ts +245 -0
- package/src/lib/mcp-scan/scan/actions-build-manifest.d.ts +58 -0
- package/src/lib/mcp-scan/scan/actions-cli.d.ts +38 -0
- package/src/lib/mcp-scan/scan/actions-extract.d.ts +99 -0
- package/src/lib/mcp-scan/scan/actions-scan-config-schema.d.ts +42 -0
- package/src/lib/mcp-scan/scan/auth-extract.d.ts +127 -0
- package/src/lib/mcp-scan/scan/build-manifest.d.ts +76 -0
- package/src/lib/mcp-scan/scan/cli.d.ts +60 -0
- package/src/lib/mcp-scan/scan/css-utilities-build-manifest.d.ts +76 -0
- package/src/lib/mcp-scan/scan/css-utilities-cli.d.ts +36 -0
- package/src/lib/mcp-scan/scan/css-utilities-extract.d.ts +187 -0
- package/src/lib/mcp-scan/scan/css-utilities-scan-config-schema.d.ts +57 -0
- package/src/lib/mcp-scan/scan/dbx-docs-ui-examples-build-manifest.d.ts +68 -0
- package/src/lib/mcp-scan/scan/dbx-docs-ui-examples-cli.d.ts +20 -0
- package/src/lib/mcp-scan/scan/dbx-docs-ui-examples-extract.d.ts +160 -0
- package/src/lib/mcp-scan/scan/dbx-docs-ui-examples-scan-config-schema.d.ts +56 -0
- package/src/lib/mcp-scan/scan/discover-downstream-packages.d.ts +76 -0
- package/src/lib/mcp-scan/scan/discover-firebase-packages.d.ts +58 -0
- package/src/lib/mcp-scan/scan/extract-models/assemble.d.ts +105 -0
- package/src/lib/mcp-scan/scan/extract-models/collect-inherited.d.ts +22 -0
- package/src/lib/mcp-scan/scan/extract-models/find-converters.d.ts +19 -0
- package/src/lib/mcp-scan/scan/extract-models/find-enums.d.ts +19 -0
- package/src/lib/mcp-scan/scan/extract-models/find-identities.d.ts +25 -0
- package/src/lib/mcp-scan/scan/extract-models/find-interfaces.d.ts +31 -0
- package/src/lib/mcp-scan/scan/extract-models/find-model-groups.d.ts +21 -0
- package/src/lib/mcp-scan/scan/extract-models/find-service-factories.d.ts +19 -0
- package/src/lib/mcp-scan/scan/extract-models/find-sub-object-consts.d.ts +20 -0
- package/src/lib/mcp-scan/scan/extract-models/index.d.ts +74 -0
- package/src/lib/mcp-scan/scan/extract-models/infer-collection-kind.d.ts +22 -0
- package/src/lib/mcp-scan/scan/extract-models/service-factory-constants.d.ts +6 -0
- package/src/lib/mcp-scan/scan/extract-models/types.d.ts +171 -0
- package/src/lib/mcp-scan/scan/extract.d.ts +82 -0
- package/src/lib/mcp-scan/scan/filters-build-manifest.d.ts +78 -0
- package/src/lib/mcp-scan/scan/filters-cli.d.ts +37 -0
- package/src/lib/mcp-scan/scan/filters-extract.d.ts +101 -0
- package/src/lib/mcp-scan/scan/filters-scan-config-schema.d.ts +56 -0
- package/src/lib/mcp-scan/scan/forge-fields-build-manifest.d.ts +78 -0
- package/src/lib/mcp-scan/scan/forge-fields-cli.d.ts +37 -0
- package/src/lib/mcp-scan/scan/forge-fields-extract.d.ts +165 -0
- package/src/lib/mcp-scan/scan/forge-fields-scan-config-schema.d.ts +61 -0
- package/src/lib/mcp-scan/scan/index.d.ts +60 -0
- package/src/lib/mcp-scan/scan/model-firebase-index-cli.d.ts +22 -0
- package/src/lib/mcp-scan/scan/model-firebase-index-dispatcher-credit.d.ts +47 -0
- package/src/lib/mcp-scan/scan/model-firebase-index-reference-scan.d.ts +100 -0
- package/src/lib/mcp-scan/scan/model-snapshot-fields-build-manifest.d.ts +79 -0
- package/src/lib/mcp-scan/scan/model-snapshot-fields-cli.d.ts +37 -0
- package/src/lib/mcp-scan/scan/model-snapshot-fields-extract.d.ts +115 -0
- package/src/lib/mcp-scan/scan/model-snapshot-fields-scan-config-schema.d.ts +59 -0
- package/src/lib/mcp-scan/scan/pipes-build-manifest.d.ts +78 -0
- package/src/lib/mcp-scan/scan/pipes-cli.d.ts +37 -0
- package/src/lib/mcp-scan/scan/pipes-extract.d.ts +90 -0
- package/src/lib/mcp-scan/scan/pipes-scan-config-schema.d.ts +56 -0
- package/src/lib/mcp-scan/scan/scan-angular-io.d.ts +89 -0
- package/src/lib/mcp-scan/scan/scan-cli-base.d.ts +162 -0
- package/src/lib/mcp-scan/scan/scan-config-schema.d.ts +44 -0
- package/src/lib/mcp-scan/scan/ui-components-build-manifest.d.ts +78 -0
- package/src/lib/mcp-scan/scan/ui-components-cli.d.ts +37 -0
- package/src/lib/mcp-scan/scan/ui-components-extract.d.ts +124 -0
- package/src/lib/mcp-scan/scan/ui-components-scan-config-schema.d.ts +62 -0
- package/src/lib/mcp-scan/scan/utils-build-manifest.d.ts +78 -0
- package/src/lib/mcp-scan/scan/utils-cli.d.ts +37 -0
- package/src/lib/mcp-scan/scan/utils-extract.d.ts +103 -0
- package/src/lib/mcp-scan/scan/utils-scan-config-schema.d.ts +57 -0
- package/test/package.json +9 -9
- package/index.cjs.default.js +0 -1
- package/index.cjs.mjs +0 -2
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arktype schemas for the actions manifest format.
|
|
3
|
+
*
|
|
4
|
+
* Manifests are JSON files that catalog the @dereekb/dbx-core action
|
|
5
|
+
* surface — the directive stack that wires a `dbxAction` context, the
|
|
6
|
+
* `ActionContextStore` ComponentStore, and the `DbxActionState` enum
|
|
7
|
+
* members. One manifest per source — bundled `@dereekb/*` packages plus
|
|
8
|
+
* any downstream-app manifests discovered via `dbx-mcp.config.json` —
|
|
9
|
+
* feeds the merged registry that powers the `dbx_action_lookup` MCP tool.
|
|
10
|
+
*
|
|
11
|
+
* Three entry shapes share a slug index but differ in payload:
|
|
12
|
+
*
|
|
13
|
+
* - `directive` — Angular directive that contributes to a dbxAction context
|
|
14
|
+
* - `store` — the canonical NgRx ComponentStore
|
|
15
|
+
* - `state` — a single member of the `DbxActionState` enum
|
|
16
|
+
*
|
|
17
|
+
* The schemas in this module are the *contract* — once a downstream app
|
|
18
|
+
* commits a manifest file, breaking changes here mean every downstream
|
|
19
|
+
* regenerates.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Three roles that share a slug index but differ in payload.
|
|
23
|
+
*/
|
|
24
|
+
export declare const ACTION_ENTRY_ROLES: readonly ["directive", "store", "state"];
|
|
25
|
+
/**
|
|
26
|
+
* Static type for the closed role vocabulary.
|
|
27
|
+
*/
|
|
28
|
+
export type ActionEntryRoleValue = (typeof ACTION_ENTRY_ROLES)[number];
|
|
29
|
+
/**
|
|
30
|
+
* The seven members of `DbxActionState`. Mirrors the source enum — kept as a
|
|
31
|
+
* closed vocabulary so the manifest schema can validate state-entry slugs
|
|
32
|
+
* against the canonical set.
|
|
33
|
+
*/
|
|
34
|
+
export declare const DBX_ACTION_STATE_VALUES: readonly ["IDLE", "DISABLED", "TRIGGERED", "VALUE_READY", "WORKING", "RESOLVED", "REJECTED"];
|
|
35
|
+
/**
|
|
36
|
+
* Static type for the closed state-value vocabulary.
|
|
37
|
+
*/
|
|
38
|
+
export type DbxActionStateValue = (typeof DBX_ACTION_STATE_VALUES)[number];
|
|
39
|
+
/**
|
|
40
|
+
* One input on a directive — alias, property, type, required flag, default,
|
|
41
|
+
* description.
|
|
42
|
+
*/
|
|
43
|
+
export declare const ActionInputEntry: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
44
|
+
alias: string;
|
|
45
|
+
propertyName: string;
|
|
46
|
+
type: string;
|
|
47
|
+
required: boolean;
|
|
48
|
+
description: string;
|
|
49
|
+
defaultValue?: string | undefined;
|
|
50
|
+
}, {}>;
|
|
51
|
+
/**
|
|
52
|
+
* Static type inferred from {@link ActionInputEntry}.
|
|
53
|
+
*/
|
|
54
|
+
export type ActionInputEntry = typeof ActionInputEntry.infer;
|
|
55
|
+
/**
|
|
56
|
+
* One output / event emitter on a directive.
|
|
57
|
+
*/
|
|
58
|
+
export declare const ActionOutputEntry: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
59
|
+
name: string;
|
|
60
|
+
type: string;
|
|
61
|
+
description: string;
|
|
62
|
+
}, {}>;
|
|
63
|
+
/**
|
|
64
|
+
* Static type inferred from {@link ActionOutputEntry}.
|
|
65
|
+
*/
|
|
66
|
+
export type ActionOutputEntry = typeof ActionOutputEntry.infer;
|
|
67
|
+
/**
|
|
68
|
+
* One method on the store. `signature` is the full method signature string
|
|
69
|
+
* (`setIsModified(value: boolean): void`) so callers can render the API
|
|
70
|
+
* surface without reassembling parameter pieces.
|
|
71
|
+
*/
|
|
72
|
+
export declare const ActionStoreMethodEntry: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
73
|
+
name: string;
|
|
74
|
+
signature: string;
|
|
75
|
+
description: string;
|
|
76
|
+
}, {}>;
|
|
77
|
+
/**
|
|
78
|
+
* Static type inferred from {@link ActionStoreMethodEntry}.
|
|
79
|
+
*/
|
|
80
|
+
export type ActionStoreMethodEntry = typeof ActionStoreMethodEntry.infer;
|
|
81
|
+
/**
|
|
82
|
+
* One public observable on the store.
|
|
83
|
+
*/
|
|
84
|
+
export declare const ActionStoreObservableEntry: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
85
|
+
name: string;
|
|
86
|
+
type: string;
|
|
87
|
+
description: string;
|
|
88
|
+
}, {}>;
|
|
89
|
+
/**
|
|
90
|
+
* Static type inferred from {@link ActionStoreObservableEntry}.
|
|
91
|
+
*/
|
|
92
|
+
export type ActionStoreObservableEntry = typeof ActionStoreObservableEntry.infer;
|
|
93
|
+
/**
|
|
94
|
+
* Directive entry. Captures selector + class + DI behavior + the action
|
|
95
|
+
* states the directive reads/writes.
|
|
96
|
+
*/
|
|
97
|
+
export declare const ActionDirectiveEntry: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
98
|
+
role: "directive";
|
|
99
|
+
slug: string;
|
|
100
|
+
selector: string;
|
|
101
|
+
className: string;
|
|
102
|
+
module: string;
|
|
103
|
+
description: string;
|
|
104
|
+
skillRefs: string[];
|
|
105
|
+
inputs: {
|
|
106
|
+
alias: string;
|
|
107
|
+
propertyName: string;
|
|
108
|
+
type: string;
|
|
109
|
+
required: boolean;
|
|
110
|
+
description: string;
|
|
111
|
+
defaultValue?: string | undefined;
|
|
112
|
+
}[];
|
|
113
|
+
outputs: {
|
|
114
|
+
name: string;
|
|
115
|
+
type: string;
|
|
116
|
+
description: string;
|
|
117
|
+
}[];
|
|
118
|
+
producesContext: boolean;
|
|
119
|
+
consumesContext: boolean;
|
|
120
|
+
stateInteraction: ("IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED")[];
|
|
121
|
+
example: string;
|
|
122
|
+
deprecated?: string | boolean | undefined;
|
|
123
|
+
since?: string | undefined;
|
|
124
|
+
}, {}>;
|
|
125
|
+
/**
|
|
126
|
+
* Static type inferred from {@link ActionDirectiveEntry}.
|
|
127
|
+
*/
|
|
128
|
+
export type ActionDirectiveEntry = typeof ActionDirectiveEntry.infer;
|
|
129
|
+
/**
|
|
130
|
+
* Store entry. Captures the class metadata plus the public API surface
|
|
131
|
+
* (methods + observables) and the standard `disabledKey` constants.
|
|
132
|
+
*/
|
|
133
|
+
export declare const ActionStoreEntry: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
134
|
+
role: "store";
|
|
135
|
+
slug: string;
|
|
136
|
+
className: string;
|
|
137
|
+
module: string;
|
|
138
|
+
description: string;
|
|
139
|
+
skillRefs: string[];
|
|
140
|
+
methods: {
|
|
141
|
+
name: string;
|
|
142
|
+
signature: string;
|
|
143
|
+
description: string;
|
|
144
|
+
}[];
|
|
145
|
+
observables: {
|
|
146
|
+
name: string;
|
|
147
|
+
type: string;
|
|
148
|
+
description: string;
|
|
149
|
+
}[];
|
|
150
|
+
disabledKeyDefaults: string[];
|
|
151
|
+
example: string;
|
|
152
|
+
deprecated?: string | boolean | undefined;
|
|
153
|
+
since?: string | undefined;
|
|
154
|
+
}, {}>;
|
|
155
|
+
/**
|
|
156
|
+
* Static type inferred from {@link ActionStoreEntry}.
|
|
157
|
+
*/
|
|
158
|
+
export type ActionStoreEntry = typeof ActionStoreEntry.infer;
|
|
159
|
+
/**
|
|
160
|
+
* State entry. Captures one `DbxActionState` enum member with explicit
|
|
161
|
+
* transition arrows.
|
|
162
|
+
*/
|
|
163
|
+
export declare const ActionStateEntry: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
164
|
+
role: "state";
|
|
165
|
+
slug: string;
|
|
166
|
+
enumName: string;
|
|
167
|
+
stateValue: "IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED";
|
|
168
|
+
literal: string;
|
|
169
|
+
module: string;
|
|
170
|
+
description: string;
|
|
171
|
+
skillRefs: string[];
|
|
172
|
+
transitionsFrom: ("IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED")[];
|
|
173
|
+
transitionsTo: ("IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED")[];
|
|
174
|
+
example: string;
|
|
175
|
+
deprecated?: string | boolean | undefined;
|
|
176
|
+
since?: string | undefined;
|
|
177
|
+
}, {}>;
|
|
178
|
+
/**
|
|
179
|
+
* Static type inferred from {@link ActionStateEntry}.
|
|
180
|
+
*/
|
|
181
|
+
export type ActionStateEntry = typeof ActionStateEntry.infer;
|
|
182
|
+
/**
|
|
183
|
+
* One action manifest entry, discriminated on `role`.
|
|
184
|
+
*/
|
|
185
|
+
export declare const ActionEntry: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
186
|
+
role: "directive";
|
|
187
|
+
slug: string;
|
|
188
|
+
selector: string;
|
|
189
|
+
className: string;
|
|
190
|
+
module: string;
|
|
191
|
+
description: string;
|
|
192
|
+
skillRefs: string[];
|
|
193
|
+
inputs: {
|
|
194
|
+
alias: string;
|
|
195
|
+
propertyName: string;
|
|
196
|
+
type: string;
|
|
197
|
+
required: boolean;
|
|
198
|
+
description: string;
|
|
199
|
+
defaultValue?: string | undefined;
|
|
200
|
+
}[];
|
|
201
|
+
outputs: {
|
|
202
|
+
name: string;
|
|
203
|
+
type: string;
|
|
204
|
+
description: string;
|
|
205
|
+
}[];
|
|
206
|
+
producesContext: boolean;
|
|
207
|
+
consumesContext: boolean;
|
|
208
|
+
stateInteraction: ("IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED")[];
|
|
209
|
+
example: string;
|
|
210
|
+
deprecated?: string | boolean | undefined;
|
|
211
|
+
since?: string | undefined;
|
|
212
|
+
} | {
|
|
213
|
+
role: "store";
|
|
214
|
+
slug: string;
|
|
215
|
+
className: string;
|
|
216
|
+
module: string;
|
|
217
|
+
description: string;
|
|
218
|
+
skillRefs: string[];
|
|
219
|
+
methods: {
|
|
220
|
+
name: string;
|
|
221
|
+
signature: string;
|
|
222
|
+
description: string;
|
|
223
|
+
}[];
|
|
224
|
+
observables: {
|
|
225
|
+
name: string;
|
|
226
|
+
type: string;
|
|
227
|
+
description: string;
|
|
228
|
+
}[];
|
|
229
|
+
disabledKeyDefaults: string[];
|
|
230
|
+
example: string;
|
|
231
|
+
deprecated?: string | boolean | undefined;
|
|
232
|
+
since?: string | undefined;
|
|
233
|
+
} | {
|
|
234
|
+
role: "state";
|
|
235
|
+
slug: string;
|
|
236
|
+
enumName: string;
|
|
237
|
+
stateValue: "IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED";
|
|
238
|
+
literal: string;
|
|
239
|
+
module: string;
|
|
240
|
+
description: string;
|
|
241
|
+
skillRefs: string[];
|
|
242
|
+
transitionsFrom: ("IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED")[];
|
|
243
|
+
transitionsTo: ("IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED")[];
|
|
244
|
+
example: string;
|
|
245
|
+
deprecated?: string | boolean | undefined;
|
|
246
|
+
since?: string | undefined;
|
|
247
|
+
}, {}>;
|
|
248
|
+
/**
|
|
249
|
+
* Static type inferred from {@link ActionEntry}.
|
|
250
|
+
*/
|
|
251
|
+
export type ActionEntry = typeof ActionEntry.infer;
|
|
252
|
+
/**
|
|
253
|
+
* Top-level manifest envelope. One file per source.
|
|
254
|
+
*/
|
|
255
|
+
export declare const ActionManifest: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
256
|
+
version: 1;
|
|
257
|
+
source: string;
|
|
258
|
+
module: string;
|
|
259
|
+
generatedAt: string;
|
|
260
|
+
generator: string;
|
|
261
|
+
entries: ({
|
|
262
|
+
role: "directive";
|
|
263
|
+
slug: string;
|
|
264
|
+
selector: string;
|
|
265
|
+
className: string;
|
|
266
|
+
module: string;
|
|
267
|
+
description: string;
|
|
268
|
+
skillRefs: string[];
|
|
269
|
+
inputs: {
|
|
270
|
+
alias: string;
|
|
271
|
+
propertyName: string;
|
|
272
|
+
type: string;
|
|
273
|
+
required: boolean;
|
|
274
|
+
description: string;
|
|
275
|
+
defaultValue?: string | undefined;
|
|
276
|
+
}[];
|
|
277
|
+
outputs: {
|
|
278
|
+
name: string;
|
|
279
|
+
type: string;
|
|
280
|
+
description: string;
|
|
281
|
+
}[];
|
|
282
|
+
producesContext: boolean;
|
|
283
|
+
consumesContext: boolean;
|
|
284
|
+
stateInteraction: ("IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED")[];
|
|
285
|
+
example: string;
|
|
286
|
+
deprecated?: string | boolean | undefined;
|
|
287
|
+
since?: string | undefined;
|
|
288
|
+
} | {
|
|
289
|
+
role: "store";
|
|
290
|
+
slug: string;
|
|
291
|
+
className: string;
|
|
292
|
+
module: string;
|
|
293
|
+
description: string;
|
|
294
|
+
skillRefs: string[];
|
|
295
|
+
methods: {
|
|
296
|
+
name: string;
|
|
297
|
+
signature: string;
|
|
298
|
+
description: string;
|
|
299
|
+
}[];
|
|
300
|
+
observables: {
|
|
301
|
+
name: string;
|
|
302
|
+
type: string;
|
|
303
|
+
description: string;
|
|
304
|
+
}[];
|
|
305
|
+
disabledKeyDefaults: string[];
|
|
306
|
+
example: string;
|
|
307
|
+
deprecated?: string | boolean | undefined;
|
|
308
|
+
since?: string | undefined;
|
|
309
|
+
} | {
|
|
310
|
+
role: "state";
|
|
311
|
+
slug: string;
|
|
312
|
+
enumName: string;
|
|
313
|
+
stateValue: "IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED";
|
|
314
|
+
literal: string;
|
|
315
|
+
module: string;
|
|
316
|
+
description: string;
|
|
317
|
+
skillRefs: string[];
|
|
318
|
+
transitionsFrom: ("IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED")[];
|
|
319
|
+
transitionsTo: ("IDLE" | "DISABLED" | "TRIGGERED" | "VALUE_READY" | "WORKING" | "RESOLVED" | "REJECTED")[];
|
|
320
|
+
example: string;
|
|
321
|
+
deprecated?: string | boolean | undefined;
|
|
322
|
+
since?: string | undefined;
|
|
323
|
+
})[];
|
|
324
|
+
}, {}>;
|
|
325
|
+
/**
|
|
326
|
+
* Static type inferred from {@link ActionManifest}.
|
|
327
|
+
*/
|
|
328
|
+
export type ActionManifest = typeof ActionManifest.infer;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Closed core topic vocabulary for the semantic-types registry.
|
|
3
|
+
*
|
|
4
|
+
* "Topics" are how the registry indexes a semantic type for cross-package
|
|
5
|
+
* search ("give me everything tagged `date`"). The vocabulary is intentionally
|
|
6
|
+
* small and centrally controlled: bare topics on a manifest entry must be
|
|
7
|
+
* present in this list. Manifests can also declare *namespaced* topics of the
|
|
8
|
+
* form `${manifest.topicNamespace}:<rest>` for source-specific concepts —
|
|
9
|
+
* those bypass this list but are scoped to the declaring manifest.
|
|
10
|
+
*
|
|
11
|
+
* Adding a new core topic is a deliberate code change so the vocab stays
|
|
12
|
+
* consistent across `@dereekb/*` and downstream apps. The set is small on
|
|
13
|
+
* purpose; reach for namespaced topics for app-local concepts.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* The complete list of bare topics any manifest entry may declare.
|
|
17
|
+
*
|
|
18
|
+
* Categories are intentionally broad — narrower buckets belong in namespaced
|
|
19
|
+
* topics (e.g. `dereekb-util:duration`). Order is informational only; lookup
|
|
20
|
+
* code treats this as a Set.
|
|
21
|
+
*/
|
|
22
|
+
export declare const CORE_TOPICS: readonly ["identifier", "time", "duration", "date", "timezone", "numeric", "string", "contact", "geo", "url", "phone", "email", "currency", "measurement", "percent", "enum", "reference"];
|
|
23
|
+
/**
|
|
24
|
+
* Union of every bare topic accepted by manifest entries.
|
|
25
|
+
*/
|
|
26
|
+
export type CoreTopic = (typeof CORE_TOPICS)[number];
|
|
27
|
+
/**
|
|
28
|
+
* Eagerly-computed Set of {@link CORE_TOPICS} for O(1) membership checks.
|
|
29
|
+
* Exposed as `readonly` so callers can't mutate the shared instance.
|
|
30
|
+
*/
|
|
31
|
+
export declare const CORE_TOPICS_SET: ReadonlySet<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Returns whether `topic` is a recognised bare core topic.
|
|
34
|
+
*
|
|
35
|
+
* @param topic - The topic string to test.
|
|
36
|
+
* @returns `true` when `topic` is present in {@link CORE_TOPICS}
|
|
37
|
+
*/
|
|
38
|
+
export declare function isCoreTopic(topic: string): topic is CoreTopic;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loader for CSS-utility-class manifests.
|
|
3
|
+
*
|
|
4
|
+
* Reads one or more manifest files (the bundled
|
|
5
|
+
* `dereekb-dbx-web.css-utilities.mcp.generated.json` plus any downstream
|
|
6
|
+
* manifests discovered via `dbx-mcp.config.json`'s `cssUtilities` cluster
|
|
7
|
+
* block), validates them against {@link CssUtilityManifest}, and merges
|
|
8
|
+
* them into a single lookup-ready registry.
|
|
9
|
+
*
|
|
10
|
+
* The merged-map key combines the manifest's `source` label with the
|
|
11
|
+
* entry's `slug` so the same slug can appear in multiple sources without
|
|
12
|
+
* colliding. Mirrors the tokens loader.
|
|
13
|
+
*/
|
|
14
|
+
import { type CssUtilityEntry } from './css-utilities-schema.js';
|
|
15
|
+
import { type ManifestLoaderWarning, type ManifestReadFile, type ManifestSource } from './manifest-loader-base.js';
|
|
16
|
+
/**
|
|
17
|
+
* One manifest the loader is asked to ingest. `path` must be absolute.
|
|
18
|
+
*/
|
|
19
|
+
export type CssUtilityManifestSource = ManifestSource;
|
|
20
|
+
/**
|
|
21
|
+
* Function shape used by the loader to read manifest contents.
|
|
22
|
+
*/
|
|
23
|
+
export type CssUtilityManifestReadFile = ManifestReadFile;
|
|
24
|
+
/**
|
|
25
|
+
* Discriminated union of all non-fatal events the loader emits.
|
|
26
|
+
*/
|
|
27
|
+
export type CssUtilityLoaderWarning = ManifestLoaderWarning;
|
|
28
|
+
/**
|
|
29
|
+
* Input to {@link loadCssUtilityManifests}.
|
|
30
|
+
*/
|
|
31
|
+
export interface LoadCssUtilityManifestsInput {
|
|
32
|
+
readonly sources: readonly CssUtilityManifestSource[];
|
|
33
|
+
readonly readFile?: CssUtilityManifestReadFile;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Result of {@link loadCssUtilityManifests}. `entries` is the merged lookup
|
|
37
|
+
* map keyed by `${entry.source}::${entry.slug}`; `roleIndex` maps each role
|
|
38
|
+
* to the alphabetically-sorted entry keys claiming it.
|
|
39
|
+
*/
|
|
40
|
+
export interface LoadCssUtilityManifestsResult {
|
|
41
|
+
readonly entries: ReadonlyMap<string, CssUtilityEntry>;
|
|
42
|
+
readonly roleIndex: ReadonlyMap<string, readonly string[]>;
|
|
43
|
+
readonly warnings: readonly CssUtilityLoaderWarning[];
|
|
44
|
+
readonly loadedSources: readonly string[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Loads, validates, and merges the supplied manifest sources into a single
|
|
48
|
+
* registry suitable for the `dbx_css_class_lookup` MCP tool.
|
|
49
|
+
*
|
|
50
|
+
* @param input - Manifest sources plus an optional injected `readFile`
|
|
51
|
+
* @returns Merged entries, role index, deterministic warnings, and the list
|
|
52
|
+
* of source labels that loaded.
|
|
53
|
+
* @throws {Error} When a strict source fails or when zero manifests load successfully.
|
|
54
|
+
*/
|
|
55
|
+
export declare function loadCssUtilityManifests(input: LoadCssUtilityManifestsInput): Promise<LoadCssUtilityManifestsResult>;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arktype schemas for the CSS-utility-class manifest format.
|
|
3
|
+
*
|
|
4
|
+
* Manifests catalog the curated, opt-in utility classes shipped by
|
|
5
|
+
* `@dereekb/dbx-web` (and any downstream apps that opt into the same
|
|
6
|
+
* `cssUtilities.scan[]` pipeline). Each entry maps a single class selector
|
|
7
|
+
* (`.dbx-flex-fill-0`, `.dbx-text-truncate`, …) to its source file/line, the
|
|
8
|
+
* flat property/value declarations the rule emits, and curator-supplied
|
|
9
|
+
* metadata (intent, role, see-also, anti-use, optional parent slug, optional
|
|
10
|
+
* compound-selector context chain).
|
|
11
|
+
*
|
|
12
|
+
* Curation is opt-in: only selectors annotated with `/// @dbx-utility` in the
|
|
13
|
+
* source SCSS make it into the registry. Extension-feature classes are
|
|
14
|
+
* excluded by design so the catalog stays focused on reusable primitives.
|
|
15
|
+
*
|
|
16
|
+
* The optional `parent` slug groups helper utilities under a parent class
|
|
17
|
+
* (e.g. `dbx-list-two-line-item-icon` carries `parent: "dbx-list-two-line-item"`).
|
|
18
|
+
* The runtime registry exposes a `byParent` index and `findChildrenOf(slug)`
|
|
19
|
+
* accessor; the lookup tool hides children from bulk browse/search results
|
|
20
|
+
* by default to keep output focused on top-level primitives.
|
|
21
|
+
*
|
|
22
|
+
* The optional `selectorContext` field captures the full descendant-chain
|
|
23
|
+
* selector when a utility is defined as a compound rule (e.g.
|
|
24
|
+
* `.dbx-list-no-item-padding .dbx-list > .dbx-list-content …`). The first
|
|
25
|
+
* flat class in the chain becomes the canonical `selector` (the host class
|
|
26
|
+
* consumers add to their HTML), and the original compound text is preserved
|
|
27
|
+
* as `selectorContext` so the usage context — "apply this class within a
|
|
28
|
+
* `.dbx-list` context" — is not lost. Flat top-level utilities omit this
|
|
29
|
+
* field.
|
|
30
|
+
*
|
|
31
|
+
* The optional `component` and `scope` fields mark an entry as a
|
|
32
|
+
* component-owned class (e.g. `.dbx-icon-tile` belongs to
|
|
33
|
+
* `DbxIconTileComponent`). Setting `scope: "component-class"` tells the
|
|
34
|
+
* lookup tool to render a "use the component, not the class" hint while
|
|
35
|
+
* still surfacing the rule's CSS variables — useful for understanding
|
|
36
|
+
* how to customize the component via tokens without misapplying the
|
|
37
|
+
* class to arbitrary markup.
|
|
38
|
+
*
|
|
39
|
+
* The optional `tokensRead` / `tokensSet` arrays capture the CSS custom
|
|
40
|
+
* properties this rule reads (via `var(--name, …)`) and sets (via
|
|
41
|
+
* `--name: value` declarations). Both arrays are derived deterministically
|
|
42
|
+
* from the rule's body during extraction. They give consumers a direct
|
|
43
|
+
* "what can I override?" / "what does this override on descendants?" view
|
|
44
|
+
* without re-parsing the source SCSS.
|
|
45
|
+
*
|
|
46
|
+
* The merged registry feeds `dbx_css_class_lookup` — forward (intent →
|
|
47
|
+
* class), reverse (declarations → class), exact-name, and parent-scoped
|
|
48
|
+
* modes share one shape.
|
|
49
|
+
*/
|
|
50
|
+
/**
|
|
51
|
+
* High-level role for a CSS utility class — drives both filtering and the
|
|
52
|
+
* heuristic score weighting inside the equivalency search engine. Roles are
|
|
53
|
+
* intentionally coarse so the curation gate stays low-friction.
|
|
54
|
+
*/
|
|
55
|
+
export declare const CSS_UTILITY_ROLES: readonly ["layout", "flex", "text", "spacing", "state", "interaction", "color", "text-color", "surface", "size", "radius", "misc"];
|
|
56
|
+
/**
|
|
57
|
+
* Static type for the closed CSS-utility-role vocabulary.
|
|
58
|
+
*/
|
|
59
|
+
export type CssUtilityRoleValue = (typeof CSS_UTILITY_ROLES)[number];
|
|
60
|
+
/**
|
|
61
|
+
* Closed vocabulary for the optional `scope` field on a utility entry.
|
|
62
|
+
*
|
|
63
|
+
* - `utility` (default when omitted) — a reusable utility class consumers
|
|
64
|
+
* can apply to any element.
|
|
65
|
+
* - `component-class` — a class that ships as part of an Angular component
|
|
66
|
+
* template. The class is cataloged so its tokens and intent are
|
|
67
|
+
* discoverable, but it should NOT be added to arbitrary elements; use the
|
|
68
|
+
* owning component instead. Pair with `@component <ClassName>` so the
|
|
69
|
+
* lookup tool can name the owner.
|
|
70
|
+
*/
|
|
71
|
+
export declare const CSS_UTILITY_SCOPES: readonly ["utility", "component-class"];
|
|
72
|
+
/**
|
|
73
|
+
* Static type for the closed CSS-utility-scope vocabulary.
|
|
74
|
+
*/
|
|
75
|
+
export type CssUtilityScopeValue = (typeof CSS_UTILITY_SCOPES)[number];
|
|
76
|
+
/**
|
|
77
|
+
* One flat CSS declaration captured from the source rule. Properties are
|
|
78
|
+
* lowercased; values are preserved verbatim so downstream consumers can
|
|
79
|
+
* surface the exact text (handy when the value is a CSS function, var
|
|
80
|
+
* reference, or expression).
|
|
81
|
+
*/
|
|
82
|
+
export declare const CssUtilityDeclaration: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
83
|
+
property: string;
|
|
84
|
+
value: string;
|
|
85
|
+
}, {}>;
|
|
86
|
+
/**
|
|
87
|
+
* Static type inferred from {@link CssUtilityDeclaration}.
|
|
88
|
+
*/
|
|
89
|
+
export type CssUtilityDeclaration = typeof CssUtilityDeclaration.infer;
|
|
90
|
+
/**
|
|
91
|
+
* One CSS-utility-class entry in a manifest. Captures the slug (curator
|
|
92
|
+
* choice; defaults to selector minus leading `.`), the canonical selector,
|
|
93
|
+
* file/line provenance, the flat declarations the rule emits, and any
|
|
94
|
+
* curator-supplied metadata (role, intent, see-also list, anti-use note,
|
|
95
|
+
* `@since` version tag, optional `@parent` slug grouping helper utilities
|
|
96
|
+
* under their parent class).
|
|
97
|
+
*/
|
|
98
|
+
export declare const CssUtilityEntry: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
99
|
+
slug: string;
|
|
100
|
+
selector: string;
|
|
101
|
+
source: string;
|
|
102
|
+
module: string;
|
|
103
|
+
file: string;
|
|
104
|
+
line: number;
|
|
105
|
+
declarations: {
|
|
106
|
+
property: string;
|
|
107
|
+
value: string;
|
|
108
|
+
}[];
|
|
109
|
+
role?: "state" | "text" | "size" | "layout" | "misc" | "flex" | "spacing" | "interaction" | "color" | "text-color" | "surface" | "radius" | undefined;
|
|
110
|
+
intent?: string | undefined;
|
|
111
|
+
seeAlso?: string[] | undefined;
|
|
112
|
+
antiUse?: string | undefined;
|
|
113
|
+
since?: string | undefined;
|
|
114
|
+
parent?: string | undefined;
|
|
115
|
+
selectorContext?: string | undefined;
|
|
116
|
+
component?: string | undefined;
|
|
117
|
+
scope?: "utility" | "component-class" | undefined;
|
|
118
|
+
tokensRead?: string[] | undefined;
|
|
119
|
+
tokensSet?: string[] | undefined;
|
|
120
|
+
}, {}>;
|
|
121
|
+
/**
|
|
122
|
+
* Static type inferred from {@link CssUtilityEntry}.
|
|
123
|
+
*/
|
|
124
|
+
export type CssUtilityEntry = typeof CssUtilityEntry.infer;
|
|
125
|
+
/**
|
|
126
|
+
* Top-level CSS-utility-class manifest envelope. One file per source label
|
|
127
|
+
* (`@dereekb/dbx-web`, `<app-name>`). The loader merges these into a single
|
|
128
|
+
* registry, detecting source-label collisions and entry-key collisions per
|
|
129
|
+
* the existing `loadManifestsBase` pattern.
|
|
130
|
+
*
|
|
131
|
+
* `version` is the schema version. The loader currently accepts only
|
|
132
|
+
* `version: 1`; any other value is rejected (strict) or warn-and-skip
|
|
133
|
+
* (non-strict) per `loadManifestsBase`.
|
|
134
|
+
*/
|
|
135
|
+
export declare const CssUtilityManifest: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
136
|
+
version: 1;
|
|
137
|
+
source: string;
|
|
138
|
+
module: string;
|
|
139
|
+
generatedAt: string;
|
|
140
|
+
generator: string;
|
|
141
|
+
entries: {
|
|
142
|
+
slug: string;
|
|
143
|
+
selector: string;
|
|
144
|
+
source: string;
|
|
145
|
+
module: string;
|
|
146
|
+
file: string;
|
|
147
|
+
line: number;
|
|
148
|
+
declarations: {
|
|
149
|
+
property: string;
|
|
150
|
+
value: string;
|
|
151
|
+
}[];
|
|
152
|
+
role?: "state" | "text" | "size" | "layout" | "misc" | "flex" | "spacing" | "interaction" | "color" | "text-color" | "surface" | "radius" | undefined;
|
|
153
|
+
intent?: string | undefined;
|
|
154
|
+
seeAlso?: string[] | undefined;
|
|
155
|
+
antiUse?: string | undefined;
|
|
156
|
+
since?: string | undefined;
|
|
157
|
+
parent?: string | undefined;
|
|
158
|
+
selectorContext?: string | undefined;
|
|
159
|
+
component?: string | undefined;
|
|
160
|
+
scope?: "utility" | "component-class" | undefined;
|
|
161
|
+
tokensRead?: string[] | undefined;
|
|
162
|
+
tokensSet?: string[] | undefined;
|
|
163
|
+
}[];
|
|
164
|
+
}, {}>;
|
|
165
|
+
/**
|
|
166
|
+
* Static type inferred from {@link CssUtilityManifest}.
|
|
167
|
+
*/
|
|
168
|
+
export type CssUtilityManifest = typeof CssUtilityManifest.infer;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loader for dbx-docs-ui-examples manifests.
|
|
3
|
+
*
|
|
4
|
+
* Reads one or more manifest files (bundled `apps/demo` registry plus any
|
|
5
|
+
* downstream-app manifests discovered via `dbx-mcp.config.json`), validates
|
|
6
|
+
* them against {@link DbxDocsUiExampleManifest}, and merges them into a
|
|
7
|
+
* single lookup-ready registry. Mirrors the `ui-components-loader`
|
|
8
|
+
* structure: keyed by `${entry.module}::${entry.slug}`, indexed by
|
|
9
|
+
* `entry.category`.
|
|
10
|
+
*/
|
|
11
|
+
import { type DbxDocsUiExampleEntry } from './dbx-docs-ui-examples-schema.js';
|
|
12
|
+
import { type ManifestLoaderWarning, type ManifestReadFile, type ManifestSource } from './manifest-loader-base.js';
|
|
13
|
+
export type DbxDocsUiExamplesManifestSource = ManifestSource;
|
|
14
|
+
export type DbxDocsUiExamplesManifestReadFile = ManifestReadFile;
|
|
15
|
+
export type DbxDocsUiExamplesLoaderWarning = ManifestLoaderWarning;
|
|
16
|
+
export interface LoadDbxDocsUiExamplesManifestsInput {
|
|
17
|
+
readonly sources: readonly DbxDocsUiExamplesManifestSource[];
|
|
18
|
+
readonly readFile?: DbxDocsUiExamplesManifestReadFile;
|
|
19
|
+
}
|
|
20
|
+
export interface LoadDbxDocsUiExamplesManifestsResult {
|
|
21
|
+
readonly entries: ReadonlyMap<string, DbxDocsUiExampleEntry>;
|
|
22
|
+
readonly categoryIndex: ReadonlyMap<string, readonly string[]>;
|
|
23
|
+
readonly warnings: readonly DbxDocsUiExamplesLoaderWarning[];
|
|
24
|
+
readonly loadedSources: readonly string[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Loads, validates, and merges the supplied manifest sources into a single
|
|
28
|
+
* registry suitable for the `dbx_ui_examples` / `dbx_ui_search` MCP tools.
|
|
29
|
+
*
|
|
30
|
+
* @param input - Sources to load and an optional `readFile` override for testing.
|
|
31
|
+
* @returns Merged entry map keyed by `${module}::${slug}`, a category index, any warnings, and the list of successfully loaded source labels.
|
|
32
|
+
*/
|
|
33
|
+
export declare function loadDbxDocsUiExamplesManifests(input: LoadDbxDocsUiExamplesManifestsInput): Promise<LoadDbxDocsUiExamplesManifestsResult>;
|