@cosmicdrift/kumiko-framework 0.388.0 → 0.389.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/AGENTS.md +3 -0
- package/agents/examples/golden-path.md +13 -1
- package/agents/examples/lifecycle-hooks.md +55 -2
- package/agents/examples/list-table-options.md +466 -0
- package/agents/examples/pdf-audit-export.md +4 -2
- package/agents/examples/state-machine.md +3 -2
- package/agents/examples/tenant-isolation.md +73 -1
- package/agents/examples.md +1 -0
- package/agents/widgets.md +1 -0
- package/dist/api/api-constants.d.ts +1 -0
- package/dist/api/api-constants.js +2 -0
- package/dist/api/auth-routes-shared.d.ts +2 -0
- package/dist/api/auth-routes-shared.js +5 -0
- package/dist/api/client-error-route.js +2 -3
- package/dist/api/entity-read-access.d.ts +2 -1
- package/dist/api/entity-read-access.js +14 -0
- package/dist/api/export/export-cells-reference.d.ts +9 -0
- package/dist/api/export/export-cells-reference.js +21 -0
- package/dist/api/export/export-cells.d.ts +11 -0
- package/dist/api/export/export-cells.js +136 -0
- package/dist/api/export/export-ciphertext-guard.d.ts +2 -0
- package/dist/api/export/export-ciphertext-guard.js +27 -0
- package/dist/api/export/export-columns.d.ts +29 -0
- package/dist/api/export/export-columns.js +85 -0
- package/dist/api/export/export-errors.d.ts +4 -0
- package/dist/api/export/export-errors.js +14 -0
- package/dist/api/export/export-route.d.ts +4 -0
- package/dist/api/export/export-route.js +74 -0
- package/dist/api/export/export-rows.d.ts +13 -0
- package/dist/api/export/export-rows.js +62 -0
- package/dist/api/export/export-screen.d.ts +12 -0
- package/dist/api/export/export-screen.js +47 -0
- package/dist/api/export/export-xlsx-writer.d.ts +4 -0
- package/dist/api/export/export-xlsx-writer.js +21 -0
- package/dist/api/extra-route.d.ts +4 -0
- package/dist/api/pii-leak-guard.d.ts +3 -0
- package/dist/api/pii-leak-guard.js +3 -2
- package/dist/api/routes.d.ts +16 -0
- package/dist/api/routes.js +2 -2
- package/dist/api/server-extra-routes.js +3 -0
- package/dist/api/server-routes.d.ts +1 -1
- package/dist/api/server-routes.js +8 -2
- package/dist/api/server-wiring.js +2 -0
- package/dist/api/sse-route.d.ts +2 -1
- package/dist/api/sse-route.js +11 -1
- package/dist/config/index.d.ts +3 -1
- package/dist/crypto/pg-kms-adapter.d.ts +1 -0
- package/dist/crypto/pg-kms-adapter.js +12 -18
- package/dist/db/aggregate-sql.d.ts +2 -0
- package/dist/db/aggregate-sql.js +10 -0
- package/dist/db/closed-connection.js +12 -19
- package/dist/db/connection.d.ts +4 -5
- package/dist/db/connection.js +29 -20
- package/dist/db/driver-row-coercion.js +4 -4
- package/dist/db/driver-value-preparation.js +6 -4
- package/dist/db/event-store-executor-read-aggregate-currencies.d.ts +17 -0
- package/dist/db/event-store-executor-read-aggregate-currencies.js +40 -0
- package/dist/db/event-store-executor-read-aggregate.js +36 -5
- package/dist/db/event-store-executor-read-filter.js +6 -3
- package/dist/db/event-store-executor-write-atomic.d.ts +4 -0
- package/dist/db/event-store-executor-write-atomic.js +41 -0
- package/dist/db/event-store-executor-write-steps.d.ts +0 -3
- package/dist/db/event-store-executor-write-steps.js +0 -5
- package/dist/db/event-store-executor-write.js +15 -15
- package/dist/db/event-store-executor.js +2 -1
- package/dist/db/executor-managed-tables.js +1 -1
- package/dist/db/index.d.ts +1 -1
- package/dist/db/index.js +1 -1
- package/dist/db/migrate-runner.js +3 -3
- package/dist/db/pg-error.js +26 -21
- package/dist/db/queries/backfill-pii.js +3 -6
- package/dist/db/queries/database-now.js +2 -1
- package/dist/db/queries/shadow-swap.js +2 -3
- package/dist/db/query.d.ts +14 -0
- package/dist/db/query.js +68 -43
- package/dist/db/reference-data.js +14 -2
- package/dist/db/statement-timeout.js +2 -1
- package/dist/db/tenant-db-upsert.d.ts +5 -0
- package/dist/db/tenant-db-upsert.js +91 -0
- package/dist/db/tenant-db.js +11 -1
- package/dist/engine/boot-validator/bundled-lists-table.d.ts +2 -0
- package/dist/engine/boot-validator/bundled-lists-table.js +36 -0
- package/dist/engine/boot-validator/entity-list-aggregate-options.d.ts +3 -0
- package/dist/engine/boot-validator/entity-list-aggregate-options.js +23 -0
- package/dist/engine/boot-validator/list-bulk-actions.d.ts +3 -0
- package/dist/engine/boot-validator/list-bulk-actions.js +49 -0
- package/dist/engine/boot-validator/list-column-layout.d.ts +8 -0
- package/dist/engine/boot-validator/list-column-layout.js +41 -0
- package/dist/engine/boot-validator/list-table-aggregate-options.d.ts +24 -0
- package/dist/engine/boot-validator/list-table-aggregate-options.js +145 -0
- package/dist/engine/boot-validator/list-table-aggregate-query.d.ts +10 -0
- package/dist/engine/boot-validator/list-table-aggregate-query.js +31 -0
- package/dist/engine/boot-validator/list-table-export-options.d.ts +1 -0
- package/dist/engine/boot-validator/list-table-export-options.js +27 -0
- package/dist/engine/boot-validator/list-table-options.d.ts +3 -0
- package/dist/engine/boot-validator/list-table-options.js +77 -0
- package/dist/engine/boot-validator/list-table-reject-unknown-keys.d.ts +1 -0
- package/dist/engine/boot-validator/list-table-reject-unknown-keys.js +7 -0
- package/dist/engine/boot-validator/projection-list-screens.d.ts +1 -1
- package/dist/engine/boot-validator/projection-list-screens.js +3 -13
- package/dist/engine/boot-validator/related-list-table-rules.d.ts +4 -0
- package/dist/engine/boot-validator/related-list-table-rules.js +42 -0
- package/dist/engine/boot-validator/screens-kind-entity-list.js +7 -0
- package/dist/engine/boot-validator/screens-kind-projection-list.js +4 -0
- package/dist/engine/boot-validator/screens-lists.js +12 -2
- package/dist/engine/build-app-schema.d.ts +2 -1
- package/dist/engine/build-app-schema.js +9 -1
- package/dist/engine/build-config-feature-schema.js +6 -1
- package/dist/engine/define-feature.js +4 -0
- package/dist/engine/feature-ast/extractors/index.d.ts +1 -1
- package/dist/engine/feature-ast/extractors/index.js +1 -1
- package/dist/engine/feature-ast/extractors/round1.d.ts +2 -1
- package/dist/engine/feature-ast/extractors/round1.js +6 -0
- package/dist/engine/feature-ast/index.d.ts +1 -1
- package/dist/engine/feature-ast/parse.js +3 -1
- package/dist/engine/feature-ast/patch.d.ts +2 -0
- package/dist/engine/feature-ast/patch.js +1 -0
- package/dist/engine/feature-ast/pattern-change-schema.d.ts +7 -245
- package/dist/engine/feature-ast/pattern-change-schema.js +9 -163
- package/dist/engine/feature-ast/pattern-id-matchers.js +1 -0
- package/dist/engine/feature-ast/pattern-id-schema.d.ts +251 -0
- package/dist/engine/feature-ast/pattern-id-schema.js +166 -0
- package/dist/engine/feature-ast/patterns.d.ts +5 -1
- package/dist/engine/feature-ast/patterns.js +1 -0
- package/dist/engine/feature-ast/render.js +4 -0
- package/dist/engine/feature-builder-state.d.ts +1 -0
- package/dist/engine/feature-builder-state.js +1 -0
- package/dist/engine/feature-manifest.d.ts +1 -0
- package/dist/engine/feature-manifest.js +1 -0
- package/dist/engine/field-access.d.ts +1 -0
- package/dist/engine/field-access.js +12 -0
- package/dist/engine/index.d.ts +2 -2
- package/dist/engine/index.js +1 -1
- package/dist/engine/pattern-library/library.js +2 -1
- package/dist/engine/pattern-library/static-schemas.d.ts +1 -0
- package/dist/engine/pattern-library/static-schemas.js +9 -0
- package/dist/engine/screen-filter-ops.js +2 -0
- package/dist/engine/strip-disabled-features-from-app-schema.js +7 -3
- package/dist/engine/types/feature.d.ts +1 -0
- package/dist/engine/types/index.d.ts +4 -3
- package/dist/engine/types/screen.d.ts +1 -1
- package/dist/engine/types/screen.js +1 -1
- package/dist/entrypoint/index.d.ts +2 -0
- package/dist/entrypoint/index.js +3 -0
- package/dist/event-store/event-store.d.ts +1 -0
- package/dist/event-store/event-store.js +7 -4
- package/dist/event-store/provenance-append.js +1 -1
- package/dist/files/create-file-ref-from-bytes.js +3 -0
- package/dist/files/create-file-ref.d.ts +3 -0
- package/dist/files/create-file-ref.js +11 -2
- package/dist/files/file-routes.d.ts +2 -0
- package/dist/files/file-routes.js +29 -2
- package/dist/files/provider-resolver.d.ts +1 -0
- package/dist/files/provider-resolver.js +1 -1
- package/dist/files/record-write-check.d.ts +6 -0
- package/dist/files/record-write-check.js +13 -0
- package/dist/files/upload-ledger.d.ts +2 -2
- package/dist/files/upload-ledger.js +4 -4
- package/dist/i18n/required-surface-keys.js +7 -2
- package/dist/internal/testing.js +1 -1
- package/dist/jobs/job-runner-scope.js +6 -6
- package/dist/jobs/job-runner.js +3 -0
- package/dist/observability/escape-hatch-report.js +9 -2
- package/dist/pipeline/after-rollback-sink.d.ts +6 -0
- package/dist/pipeline/after-rollback-sink.js +32 -0
- package/dist/pipeline/dispatch-batch.js +8 -1
- package/dist/pipeline/dispatch-shared.js +4 -0
- package/dist/pipeline/event-dispatcher-delivery.js +3 -1
- package/dist/pipeline/event-dispatcher.d.ts +1 -0
- package/dist/pipeline/event-dispatcher.js +6 -9
- package/dist/pipeline/handler-context-dispatch.d.ts +2 -0
- package/dist/pipeline/handler-context-dispatch.js +13 -1
- package/dist/pipeline/handler-context-events.d.ts +2 -4
- package/dist/pipeline/handler-context-events.js +6 -4
- package/dist/pipeline/system-hooks.d.ts +3 -1
- package/dist/pipeline/system-hooks.js +55 -6
- package/dist/pipeline/write-result-masking.js +13 -10
- package/dist/schema-cli/baseline-command.js +1 -1
- package/dist/schema-cli/status-command.js +1 -1
- package/dist/search/reindex-entity.js +15 -5
- package/dist/ui-types/index.d.ts +2 -2
- package/dist/ui-types/index.js +1 -1
- package/dist/upgrade-changelog.d.ts +2 -0
- package/dist/upgrade-changelog.js +14 -0
- package/dist/upgrade-cli.d.ts +3 -12
- package/dist/upgrade-cli.js +22 -76
- package/dist/upgrade-marker-parse.d.ts +32 -0
- package/dist/upgrade-marker-parse.js +73 -0
- package/package.json +9 -6
- package/src/changes.json +245 -0
- package/src/scripts/codemod/codemod-support.ts +1 -1
- package/src/scripts/codemod/db-factory.ts +1 -1
- package/dist/engine/provider-plugin-context.d.ts +0 -3
- package/dist/engine/provider-plugin-context.js +0 -28
|
@@ -2,6 +2,9 @@ import { REFERENCE_LOOKUP_SOURCES } from "../../ui-types/list-row-meta.js";
|
|
|
2
2
|
import { parseRefTarget } from "../parse-ref-target.js";
|
|
3
3
|
import { qualifyEntityName } from "../qualified-name.js";
|
|
4
4
|
import { explicitListScreenId, normalizeListColumn, resolveNavParentScreen, } from "../screen-helpers.js";
|
|
5
|
+
import { validateListBulkActions } from "./list-bulk-actions.js";
|
|
6
|
+
import { validateListTableOptions } from "./list-table-options.js";
|
|
7
|
+
import { validateRelatedListGroupingRules } from "./related-list-table-rules.js";
|
|
5
8
|
import { assertWriteHandlerRegistered, isRowClickAction, rejectRedirectOnListRowAction, resolveRowActionNavigateTarget, validateClientActionName, validateDrawerTargetAction, validateRowActionNavigateParams, } from "./screens-actions.js";
|
|
6
9
|
// validateScreenHasNavArea runs once per screen; the index is built once per
|
|
7
10
|
// featureMap (immutable during boot) instead of re-scanning every feature each call.
|
|
@@ -70,6 +73,14 @@ export function validateScreenHasNavArea(feature, screenId, screen, featureMap)
|
|
|
70
73
|
}
|
|
71
74
|
// Shared by projectionDetail relatedList sections and entityList.expandableRow:
|
|
72
75
|
// both render a relatedList whose rows come from an arbitrary query.
|
|
76
|
+
function validateRelatedListTableAndBulk(args) {
|
|
77
|
+
const { featureName, where, section } = args;
|
|
78
|
+
validateRelatedListGroupingRules(`[Feature ${featureName}] ${where}`, section, args.screenType === "entityList expandableRow");
|
|
79
|
+
validateListTableOptions(`[Feature ${featureName}] ${where}`, section.table, section.columns);
|
|
80
|
+
if (section.rowActions !== undefined)
|
|
81
|
+
validateRelatedListRowActions(args, section.rowActions);
|
|
82
|
+
validateListBulkActions(`[Feature ${featureName}] ${where}`, section.bulkActions, section.rowActions);
|
|
83
|
+
}
|
|
73
84
|
export function validateRelatedListSection(args) {
|
|
74
85
|
const { featureName, featureMap, where, section } = args;
|
|
75
86
|
if (!section.query || typeof section.query !== "string") {
|
|
@@ -93,8 +104,7 @@ export function validateRelatedListSection(args) {
|
|
|
93
104
|
`detailFor: "${targetEntity}". Add detailFor: "${targetEntity}" to the screen that shows it.`);
|
|
94
105
|
}
|
|
95
106
|
}
|
|
96
|
-
|
|
97
|
-
validateRelatedListRowActions(args, section.rowActions);
|
|
107
|
+
validateRelatedListTableAndBulk(args);
|
|
98
108
|
if (section.defaultSort !== undefined)
|
|
99
109
|
validateRelatedListDefaultSort(args, section.defaultSort);
|
|
100
110
|
if (section.facets !== undefined) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { AppSchema } from "../ui-types/index.ts";
|
|
1
|
+
import type { AppSchema, WorkspaceSchema } from "../ui-types/index.ts";
|
|
2
2
|
import type { Registry } from "./types/feature.ts";
|
|
3
|
+
export declare function workspaceOwnerOf(definition: WorkspaceSchema["definition"]): string | undefined;
|
|
3
4
|
export type BuildAppSchemaOptions = {
|
|
4
5
|
/** Dev-server authoring hints (Settings-Hub placement). Default off — only
|
|
5
6
|
* `createKumikoServer` opts in; prod boot + unit tests stay silent. */
|
|
@@ -31,6 +31,12 @@ import { isEncryptedAtRest } from "./config-helpers.js";
|
|
|
31
31
|
import { isListQueryWithoutSearchableFields } from "./entity-list-searchability.js";
|
|
32
32
|
import { QnTypes, qualifyEntityName } from "./qualified-name.js";
|
|
33
33
|
const log = createFallbackLogger("kumiko");
|
|
34
|
+
// Workspace ids are only unique per feature, and the schema carries the short id. The owner stays
|
|
35
|
+
// off the serialized schema; the tenant-level feature strip reads it from here by object identity.
|
|
36
|
+
const workspaceOwnerByDefinition = new WeakMap();
|
|
37
|
+
export function workspaceOwnerOf(definition) {
|
|
38
|
+
return workspaceOwnerByDefinition.get(definition);
|
|
39
|
+
}
|
|
34
40
|
export function buildAppSchema(registry, options = {}) {
|
|
35
41
|
const features = [];
|
|
36
42
|
const urlPrefillFieldsByScreenQn = collectUrlPrefillFieldsByScreenQn([
|
|
@@ -74,8 +80,10 @@ export function buildAppSchema(registry, options = {}) {
|
|
|
74
80
|
for (const [featureName, feature] of registry.features) {
|
|
75
81
|
for (const [shortId, definition] of Object.entries(feature.workspaces)) {
|
|
76
82
|
const qualified = `${featureName}:workspace:${shortId}`;
|
|
83
|
+
const projectedDefinition = { ...definition, id: shortId };
|
|
84
|
+
workspaceOwnerByDefinition.set(projectedDefinition, featureName);
|
|
77
85
|
workspaces.push({
|
|
78
|
-
definition:
|
|
86
|
+
definition: projectedDefinition,
|
|
79
87
|
navMembers: registry.getWorkspaceNavs(qualified),
|
|
80
88
|
});
|
|
81
89
|
}
|
|
@@ -656,8 +656,13 @@ function buildScreen(shortId, scope, feature, keys, access, hub, options = {}) {
|
|
|
656
656
|
// feature's group (100% of today's apps — byte-identical output). Only a
|
|
657
657
|
// cross-feature `group` (feature !== ownerFeature) needs the owner prefix,
|
|
658
658
|
// to keep two features sharing a group from clobbering the same shortKey.
|
|
659
|
+
// A selector's option labels hang on its field id in one global key space
|
|
660
|
+
// (`config:entity:__config-edit__:field:<id>:option:<value>`), so two owners
|
|
661
|
+
// whose selector is both named `provider` need distinct ids.
|
|
659
662
|
const fieldId = options.fieldIdOf ??
|
|
660
|
-
((k) =>
|
|
663
|
+
((k) => k.feature === k.ownerFeature && !hub.selectorOptions.has(k.qn)
|
|
664
|
+
? k.shortKey
|
|
665
|
+
: qualifiedFieldId(k));
|
|
661
666
|
const seenFieldIds = new Map();
|
|
662
667
|
for (const k of keys) {
|
|
663
668
|
const id = fieldId(k);
|
|
@@ -77,6 +77,9 @@ export function defineFeature(name, setup, settings) {
|
|
|
77
77
|
}
|
|
78
78
|
state.toggleableDefault = options.default;
|
|
79
79
|
},
|
|
80
|
+
adoptsBundledLists() {
|
|
81
|
+
state.adoptsBundledLists = true;
|
|
82
|
+
},
|
|
80
83
|
uiHints(hints) {
|
|
81
84
|
if (state.uiHints !== undefined) {
|
|
82
85
|
throw new Error(`[Feature ${name}] r.uiHints() called twice — UI hints are declared once`);
|
|
@@ -98,6 +101,7 @@ export function defineFeature(name, setup, settings) {
|
|
|
98
101
|
requiredProjections: state.requiredProjections,
|
|
99
102
|
requiredSteps: state.requiredSteps,
|
|
100
103
|
...(state.toggleableDefault !== undefined && { toggleableDefault: state.toggleableDefault }),
|
|
104
|
+
...(state.adoptsBundledLists && { adoptsBundledLists: true }),
|
|
101
105
|
...(state.uiHints !== undefined && { uiHints: state.uiHints }),
|
|
102
106
|
entities: state.entities,
|
|
103
107
|
entityTables: state.entityTables,
|
|
@@ -5,7 +5,7 @@ export { extractAuthClaims, extractHook, isHookType, readOptionalAccessRule, rea
|
|
|
5
5
|
export { extractHttpRoute, extractJob, isHttpRouteMethod, } from "./jobs-routes.ts";
|
|
6
6
|
export { collectScreenOpaqueProps, extractMultiStreamProjection, extractProjection, extractScreen, readApplyBodies, readScreenStatic, } from "./projections-screens.ts";
|
|
7
7
|
export { findImportBindingForLocalName, resolveModuleFile, } from "./resolve-import.ts";
|
|
8
|
-
export { extractDescribe, extractOptionalRequires, extractReadsConfig, extractRequires, extractSystemScope, extractToggleable, extractUiHints, } from "./round1.ts";
|
|
8
|
+
export { extractAdoptsBundledLists, extractDescribe, extractOptionalRequires, extractReadsConfig, extractRequires, extractSystemScope, extractToggleable, extractUiHints, } from "./round1.ts";
|
|
9
9
|
export { extractEntity, extractNav, extractRelation, extractWorkspace, } from "./round2.ts";
|
|
10
10
|
export { extractClaimKey, extractConfig, extractMetric, extractReferenceData, extractSecret, extractSecretNamespace, extractTranslations, extractUseExtension, isClaimKeyType, type NamedOptionsResult, readNamedOptions, } from "./round3.ts";
|
|
11
11
|
export { extractBootCheck, extractEnvSchema, extractExposesApi, extractExtendsRegistrar, extractStoreTable, extractUsesApi, } from "./round5.ts";
|
|
@@ -5,7 +5,7 @@ export { extractAuthClaims, extractHook, isHookType, readOptionalAccessRule, rea
|
|
|
5
5
|
export { extractHttpRoute, extractJob, isHttpRouteMethod, } from "./jobs-routes.js";
|
|
6
6
|
export { collectScreenOpaqueProps, extractMultiStreamProjection, extractProjection, extractScreen, readApplyBodies, readScreenStatic, } from "./projections-screens.js";
|
|
7
7
|
export { findImportBindingForLocalName, resolveModuleFile, } from "./resolve-import.js";
|
|
8
|
-
export { extractDescribe, extractOptionalRequires, extractReadsConfig, extractRequires, extractSystemScope, extractToggleable, extractUiHints, } from "./round1.js";
|
|
8
|
+
export { extractAdoptsBundledLists, extractDescribe, extractOptionalRequires, extractReadsConfig, extractRequires, extractSystemScope, extractToggleable, extractUiHints, } from "./round1.js";
|
|
9
9
|
export { extractEntity, extractNav, extractRelation, extractWorkspace, } from "./round2.js";
|
|
10
10
|
export { extractClaimKey, extractConfig, extractMetric, extractReferenceData, extractSecret, extractSecretNamespace, extractTranslations, extractUseExtension, isClaimKeyType, readNamedOptions, } from "./round3.js";
|
|
11
11
|
export { extractBootCheck, extractEnvSchema, extractExposesApi, extractExtendsRegistrar, extractStoreTable, extractUsesApi, } from "./round5.js";
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { CallExpression, SourceFile } from "ts-morph";
|
|
2
|
-
import type { DescribePattern, OptionalRequiresPattern, ReadsConfigPattern, RequiresPattern, SystemScopePattern, ToggleablePattern, UiHintsPattern } from "../patterns.ts";
|
|
2
|
+
import type { AdoptsBundledListsPattern, DescribePattern, OptionalRequiresPattern, ReadsConfigPattern, RequiresPattern, SystemScopePattern, ToggleablePattern, UiHintsPattern } from "../patterns.ts";
|
|
3
3
|
import { type ExtractOutput } from "./shared.ts";
|
|
4
4
|
export declare function extractRequires(call: CallExpression, sourceFile: SourceFile): ExtractOutput<RequiresPattern>;
|
|
5
5
|
export declare function extractOptionalRequires(call: CallExpression, sourceFile: SourceFile): ExtractOutput<OptionalRequiresPattern>;
|
|
6
6
|
export declare function extractReadsConfig(call: CallExpression, sourceFile: SourceFile): ExtractOutput<ReadsConfigPattern>;
|
|
7
7
|
export declare function extractSystemScope(call: CallExpression, sourceFile: SourceFile): ExtractOutput<SystemScopePattern>;
|
|
8
|
+
export declare function extractAdoptsBundledLists(call: CallExpression, sourceFile: SourceFile): ExtractOutput<AdoptsBundledListsPattern>;
|
|
8
9
|
export declare function extractUiHints(call: CallExpression, sourceFile: SourceFile): ExtractOutput<UiHintsPattern>;
|
|
9
10
|
export declare function extractDescribe(call: CallExpression, sourceFile: SourceFile): ExtractOutput<DescribePattern>;
|
|
10
11
|
export declare function extractToggleable(call: CallExpression, sourceFile: SourceFile): ExtractOutput<ToggleablePattern>;
|
|
@@ -39,6 +39,12 @@ export function extractSystemScope(call, sourceFile) {
|
|
|
39
39
|
source: sourceLocationFromNode(call, sourceFile),
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
+
export function extractAdoptsBundledLists(call, sourceFile) {
|
|
43
|
+
return ok({
|
|
44
|
+
kind: "adoptsBundledLists",
|
|
45
|
+
source: sourceLocationFromNode(call, sourceFile),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
42
48
|
export function extractUiHints(call, sourceFile) {
|
|
43
49
|
return ok({
|
|
44
50
|
kind: "uiHints",
|
|
@@ -8,7 +8,7 @@ export type { AddAuthClaimsArgs, AddClaimKeyArgs, AddConfigArgs, AddDefineEventA
|
|
|
8
8
|
export { createFeaturePatcher } from "./patcher.ts";
|
|
9
9
|
export type { PatternChangeIssue, PatternChangesParseResult } from "./pattern-change-schema.ts";
|
|
10
10
|
export { parsePatternChanges } from "./pattern-change-schema.ts";
|
|
11
|
-
export type { AuthClaimsPattern, ClaimKeyPattern, ConfigPattern, DefineEventPattern, Editability, EntityPattern, ExtendsRegistrarPattern, FeaturePattern, FeaturePatternKind, HookPattern, HttpRoutePattern, JobPattern, MetricPattern, MultiStreamProjectionPattern, NavPattern, NotificationPattern, OptionalRequiresPattern, ProjectionPattern, QueryHandlerPattern, ReadsConfigPattern, ReferenceDataPattern, RelationPattern, RequiresPattern, ScreenPattern, SecretNamespacePattern, SecretPattern, StreamHandlerPattern, SystemScopePattern, ToggleablePattern, TranslationsPattern, UnknownPattern, UseExtensionPattern, WorkspacePattern, WriteHandlerPattern, } from "./patterns.ts";
|
|
11
|
+
export type { AdoptsBundledListsPattern, AuthClaimsPattern, ClaimKeyPattern, ConfigPattern, DefineEventPattern, Editability, EntityPattern, ExtendsRegistrarPattern, FeaturePattern, FeaturePatternKind, HookPattern, HttpRoutePattern, JobPattern, MetricPattern, MultiStreamProjectionPattern, NavPattern, NotificationPattern, OptionalRequiresPattern, ProjectionPattern, QueryHandlerPattern, ReadsConfigPattern, ReferenceDataPattern, RelationPattern, RequiresPattern, ScreenPattern, SecretNamespacePattern, SecretPattern, StreamHandlerPattern, SystemScopePattern, ToggleablePattern, TranslationsPattern, UnknownPattern, UseExtensionPattern, WorkspacePattern, WriteHandlerPattern, } from "./patterns.ts";
|
|
12
12
|
export { getEditability } from "./patterns.ts";
|
|
13
13
|
export type { RenderFeatureFileInput } from "./render.ts";
|
|
14
14
|
export { FEATURE_FILE_VERSION, renderFeatureFile, renderPattern, renderValue, VERSION_HEADER, } from "./render.ts";
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
// Per-pattern extractors fill in iteratively — each iteration adds
|
|
22
22
|
// one extractor + a focused test.
|
|
23
23
|
import { Project, SyntaxKind } from "ts-morph";
|
|
24
|
-
import { extractAiClassify, extractAiExtract, extractAiGenerate, extractAuthClaims, extractBootCheck, extractClaimKey, extractConfig, extractDefineEvent, extractDescribe, extractEntity, extractEnvSchema, extractExposesApi, extractExtendsRegistrar, extractHook, extractHttpRoute, extractJob, extractMetric, extractMultiStreamProjection, extractNav, extractNotification, extractOptionalRequires, extractProjection, extractQueryHandler, extractReadsConfig, extractReferenceData, extractRelation, extractRequires, extractScreen, extractSecret, extractSecretNamespace, extractStoreTable, extractStreamHandler, extractSystemScope, extractToggleable, extractTranslations, extractTreeActions, extractUiHints, extractUseExtension, extractUsesApi, extractWorkspace, extractWriteHandler, findFunctionLiteral, findImportBindingForLocalName, readObjectPropertyInitializer, resolveModuleFile, resolveSameFileObjectLiteral, } from "./extractors/index.js";
|
|
24
|
+
import { extractAdoptsBundledLists, extractAiClassify, extractAiExtract, extractAiGenerate, extractAuthClaims, extractBootCheck, extractClaimKey, extractConfig, extractDefineEvent, extractDescribe, extractEntity, extractEnvSchema, extractExposesApi, extractExtendsRegistrar, extractHook, extractHttpRoute, extractJob, extractMetric, extractMultiStreamProjection, extractNav, extractNotification, extractOptionalRequires, extractProjection, extractQueryHandler, extractReadsConfig, extractReferenceData, extractRelation, extractRequires, extractScreen, extractSecret, extractSecretNamespace, extractStoreTable, extractStreamHandler, extractSystemScope, extractToggleable, extractTranslations, extractTreeActions, extractUiHints, extractUseExtension, extractUsesApi, extractWorkspace, extractWriteHandler, findFunctionLiteral, findImportBindingForLocalName, readObjectPropertyInitializer, resolveModuleFile, resolveSameFileObjectLiteral, } from "./extractors/index.js";
|
|
25
25
|
import { sourceLocationFromNode } from "./source-location.js";
|
|
26
26
|
/**
|
|
27
27
|
* Parse the given feature file and return all recognised r.* calls
|
|
@@ -397,6 +397,8 @@ function dispatchExtractor(methodName, call, sourceFile) {
|
|
|
397
397
|
return extractDescribe(call, sourceFile);
|
|
398
398
|
case "uiHints":
|
|
399
399
|
return extractUiHints(call, sourceFile);
|
|
400
|
+
case "adoptsBundledLists":
|
|
401
|
+
return extractAdoptsBundledLists(call, sourceFile);
|
|
400
402
|
// Object-literal-based static patterns
|
|
401
403
|
case "entity":
|
|
402
404
|
return extractEntity(call, sourceFile);
|
|
@@ -84,6 +84,10 @@ export declare const PATTERN_SCHEMAS_BY_KIND: {
|
|
|
84
84
|
kind: z.ZodLiteral<"uiHints">;
|
|
85
85
|
source: z.ZodType<SourceLocation, unknown, z.core.$ZodTypeInternals<SourceLocation, unknown>>;
|
|
86
86
|
}, z.core.$strict>;
|
|
87
|
+
adoptsBundledLists: z.ZodObject<{
|
|
88
|
+
kind: z.ZodLiteral<"adoptsBundledLists">;
|
|
89
|
+
source: z.ZodType<SourceLocation, unknown, z.core.$ZodTypeInternals<SourceLocation, unknown>>;
|
|
90
|
+
}, z.core.$strict>;
|
|
87
91
|
metric: z.ZodObject<{
|
|
88
92
|
kind: z.ZodLiteral<"metric">;
|
|
89
93
|
source: z.ZodType<SourceLocation, unknown, z.core.$ZodTypeInternals<SourceLocation, unknown>>;
|
|
@@ -695,6 +699,9 @@ export declare const patternSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
695
699
|
}, z.core.$strict>, z.ZodObject<{
|
|
696
700
|
kind: z.ZodLiteral<"uiHints">;
|
|
697
701
|
source: z.ZodType<SourceLocation, unknown, z.core.$ZodTypeInternals<SourceLocation, unknown>>;
|
|
702
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
703
|
+
kind: z.ZodLiteral<"adoptsBundledLists">;
|
|
704
|
+
source: z.ZodType<SourceLocation, unknown, z.core.$ZodTypeInternals<SourceLocation, unknown>>;
|
|
698
705
|
}, z.core.$strict>, z.ZodObject<{
|
|
699
706
|
kind: z.ZodLiteral<"metric">;
|
|
700
707
|
source: z.ZodType<SourceLocation, unknown, z.core.$ZodTypeInternals<SourceLocation, unknown>>;
|
|
@@ -1228,249 +1235,4 @@ export declare const patternSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
1228
1235
|
source: z.ZodType<SourceLocation, unknown, z.core.$ZodTypeInternals<SourceLocation, unknown>>;
|
|
1229
1236
|
methodName: z.ZodString;
|
|
1230
1237
|
}, z.core.$strict>], "kind">;
|
|
1231
|
-
export declare const PATTERN_ID_SCHEMAS_BY_KIND: {
|
|
1232
|
-
entity: z.ZodObject<{
|
|
1233
|
-
kind: z.ZodLiteral<"entity">;
|
|
1234
|
-
entityName: z.ZodString;
|
|
1235
|
-
}, z.core.$strict>;
|
|
1236
|
-
relation: z.ZodObject<{
|
|
1237
|
-
kind: z.ZodLiteral<"relation">;
|
|
1238
|
-
entityName: z.ZodString;
|
|
1239
|
-
relationName: z.ZodString;
|
|
1240
|
-
}, z.core.$strict>;
|
|
1241
|
-
nav: z.ZodObject<{
|
|
1242
|
-
kind: z.ZodLiteral<"nav">;
|
|
1243
|
-
id: z.ZodString;
|
|
1244
|
-
}, z.core.$strict>;
|
|
1245
|
-
workspace: z.ZodObject<{
|
|
1246
|
-
kind: z.ZodLiteral<"workspace">;
|
|
1247
|
-
id: z.ZodString;
|
|
1248
|
-
}, z.core.$strict>;
|
|
1249
|
-
screen: z.ZodObject<{
|
|
1250
|
-
kind: z.ZodLiteral<"screen">;
|
|
1251
|
-
id: z.ZodString;
|
|
1252
|
-
}, z.core.$strict>;
|
|
1253
|
-
writeHandler: z.ZodObject<{
|
|
1254
|
-
kind: z.ZodLiteral<"writeHandler">;
|
|
1255
|
-
handlerName: z.ZodString;
|
|
1256
|
-
}, z.core.$strict>;
|
|
1257
|
-
queryHandler: z.ZodObject<{
|
|
1258
|
-
kind: z.ZodLiteral<"queryHandler">;
|
|
1259
|
-
handlerName: z.ZodString;
|
|
1260
|
-
}, z.core.$strict>;
|
|
1261
|
-
streamHandler: z.ZodObject<{
|
|
1262
|
-
kind: z.ZodLiteral<"streamHandler">;
|
|
1263
|
-
handlerName: z.ZodString;
|
|
1264
|
-
}, z.core.$strict>;
|
|
1265
|
-
hook: z.ZodObject<{
|
|
1266
|
-
kind: z.ZodLiteral<"hook">;
|
|
1267
|
-
hookType: z.ZodString;
|
|
1268
|
-
target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
1269
|
-
allOf: z.ZodString;
|
|
1270
|
-
}, z.core.$strict>]>;
|
|
1271
|
-
}, z.core.$strict>;
|
|
1272
|
-
metric: z.ZodObject<{
|
|
1273
|
-
kind: z.ZodLiteral<"metric">;
|
|
1274
|
-
shortName: z.ZodString;
|
|
1275
|
-
}, z.core.$strict>;
|
|
1276
|
-
secret: z.ZodObject<{
|
|
1277
|
-
kind: z.ZodLiteral<"secret">;
|
|
1278
|
-
shortName: z.ZodString;
|
|
1279
|
-
}, z.core.$strict>;
|
|
1280
|
-
secretNamespace: z.ZodObject<{
|
|
1281
|
-
kind: z.ZodLiteral<"secretNamespace">;
|
|
1282
|
-
shortName: z.ZodString;
|
|
1283
|
-
}, z.core.$strict>;
|
|
1284
|
-
claimKey: z.ZodObject<{
|
|
1285
|
-
kind: z.ZodLiteral<"claimKey">;
|
|
1286
|
-
shortName: z.ZodString;
|
|
1287
|
-
}, z.core.$strict>;
|
|
1288
|
-
referenceData: z.ZodObject<{
|
|
1289
|
-
kind: z.ZodLiteral<"referenceData">;
|
|
1290
|
-
entityName: z.ZodString;
|
|
1291
|
-
}, z.core.$strict>;
|
|
1292
|
-
useExtension: z.ZodObject<{
|
|
1293
|
-
kind: z.ZodLiteral<"useExtension">;
|
|
1294
|
-
extensionName: z.ZodString;
|
|
1295
|
-
entityName: z.ZodString;
|
|
1296
|
-
}, z.core.$strict>;
|
|
1297
|
-
job: z.ZodObject<{
|
|
1298
|
-
kind: z.ZodLiteral<"job">;
|
|
1299
|
-
jobName: z.ZodString;
|
|
1300
|
-
}, z.core.$strict>;
|
|
1301
|
-
notification: z.ZodObject<{
|
|
1302
|
-
kind: z.ZodLiteral<"notification">;
|
|
1303
|
-
notificationName: z.ZodString;
|
|
1304
|
-
}, z.core.$strict>;
|
|
1305
|
-
httpRoute: z.ZodObject<{
|
|
1306
|
-
kind: z.ZodLiteral<"httpRoute">;
|
|
1307
|
-
method: z.ZodString;
|
|
1308
|
-
path: z.ZodString;
|
|
1309
|
-
}, z.core.$strict>;
|
|
1310
|
-
projection: z.ZodObject<{
|
|
1311
|
-
kind: z.ZodLiteral<"projection">;
|
|
1312
|
-
name: z.ZodString;
|
|
1313
|
-
}, z.core.$strict>;
|
|
1314
|
-
multiStreamProjection: z.ZodObject<{
|
|
1315
|
-
kind: z.ZodLiteral<"multiStreamProjection">;
|
|
1316
|
-
name: z.ZodString;
|
|
1317
|
-
}, z.core.$strict>;
|
|
1318
|
-
defineEvent: z.ZodObject<{
|
|
1319
|
-
kind: z.ZodLiteral<"defineEvent">;
|
|
1320
|
-
eventName: z.ZodString;
|
|
1321
|
-
}, z.core.$strict>;
|
|
1322
|
-
extendsRegistrar: z.ZodObject<{
|
|
1323
|
-
kind: z.ZodLiteral<"extendsRegistrar">;
|
|
1324
|
-
extensionName: z.ZodString;
|
|
1325
|
-
}, z.core.$strict>;
|
|
1326
|
-
"ai.generate": z.ZodObject<{
|
|
1327
|
-
kind: z.ZodLiteral<"ai.generate">;
|
|
1328
|
-
stepKey: z.ZodString;
|
|
1329
|
-
}, z.core.$strict>;
|
|
1330
|
-
"ai.extract": z.ZodObject<{
|
|
1331
|
-
kind: z.ZodLiteral<"ai.extract">;
|
|
1332
|
-
stepKey: z.ZodString;
|
|
1333
|
-
}, z.core.$strict>;
|
|
1334
|
-
"ai.classify": z.ZodObject<{
|
|
1335
|
-
kind: z.ZodLiteral<"ai.classify">;
|
|
1336
|
-
stepKey: z.ZodString;
|
|
1337
|
-
}, z.core.$strict>;
|
|
1338
|
-
requires: z.ZodObject<{
|
|
1339
|
-
kind: z.ZodLiteral<"requires">;
|
|
1340
|
-
}, z.core.$strict>;
|
|
1341
|
-
optionalRequires: z.ZodObject<{
|
|
1342
|
-
kind: z.ZodLiteral<"optionalRequires">;
|
|
1343
|
-
}, z.core.$strict>;
|
|
1344
|
-
readsConfig: z.ZodObject<{
|
|
1345
|
-
kind: z.ZodLiteral<"readsConfig">;
|
|
1346
|
-
}, z.core.$strict>;
|
|
1347
|
-
systemScope: z.ZodObject<{
|
|
1348
|
-
kind: z.ZodLiteral<"systemScope">;
|
|
1349
|
-
}, z.core.$strict>;
|
|
1350
|
-
toggleable: z.ZodObject<{
|
|
1351
|
-
kind: z.ZodLiteral<"toggleable">;
|
|
1352
|
-
}, z.core.$strict>;
|
|
1353
|
-
describe: z.ZodObject<{
|
|
1354
|
-
kind: z.ZodLiteral<"describe">;
|
|
1355
|
-
}, z.core.$strict>;
|
|
1356
|
-
uiHints: z.ZodObject<{
|
|
1357
|
-
kind: z.ZodLiteral<"uiHints">;
|
|
1358
|
-
}, z.core.$strict>;
|
|
1359
|
-
config: z.ZodObject<{
|
|
1360
|
-
kind: z.ZodLiteral<"config">;
|
|
1361
|
-
}, z.core.$strict>;
|
|
1362
|
-
translations: z.ZodObject<{
|
|
1363
|
-
kind: z.ZodLiteral<"translations">;
|
|
1364
|
-
}, z.core.$strict>;
|
|
1365
|
-
authClaims: z.ZodObject<{
|
|
1366
|
-
kind: z.ZodLiteral<"authClaims">;
|
|
1367
|
-
}, z.core.$strict>;
|
|
1368
|
-
treeActions: z.ZodObject<{
|
|
1369
|
-
kind: z.ZodLiteral<"treeActions">;
|
|
1370
|
-
}, z.core.$strict>;
|
|
1371
|
-
};
|
|
1372
|
-
export declare const patternIdSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1373
|
-
kind: z.ZodLiteral<"entity">;
|
|
1374
|
-
entityName: z.ZodString;
|
|
1375
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1376
|
-
kind: z.ZodLiteral<"relation">;
|
|
1377
|
-
entityName: z.ZodString;
|
|
1378
|
-
relationName: z.ZodString;
|
|
1379
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1380
|
-
kind: z.ZodLiteral<"nav">;
|
|
1381
|
-
id: z.ZodString;
|
|
1382
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1383
|
-
kind: z.ZodLiteral<"workspace">;
|
|
1384
|
-
id: z.ZodString;
|
|
1385
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1386
|
-
kind: z.ZodLiteral<"screen">;
|
|
1387
|
-
id: z.ZodString;
|
|
1388
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1389
|
-
kind: z.ZodLiteral<"writeHandler">;
|
|
1390
|
-
handlerName: z.ZodString;
|
|
1391
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1392
|
-
kind: z.ZodLiteral<"queryHandler">;
|
|
1393
|
-
handlerName: z.ZodString;
|
|
1394
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1395
|
-
kind: z.ZodLiteral<"streamHandler">;
|
|
1396
|
-
handlerName: z.ZodString;
|
|
1397
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1398
|
-
kind: z.ZodLiteral<"hook">;
|
|
1399
|
-
hookType: z.ZodString;
|
|
1400
|
-
target: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
1401
|
-
allOf: z.ZodString;
|
|
1402
|
-
}, z.core.$strict>]>;
|
|
1403
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1404
|
-
kind: z.ZodLiteral<"metric">;
|
|
1405
|
-
shortName: z.ZodString;
|
|
1406
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1407
|
-
kind: z.ZodLiteral<"secret">;
|
|
1408
|
-
shortName: z.ZodString;
|
|
1409
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1410
|
-
kind: z.ZodLiteral<"secretNamespace">;
|
|
1411
|
-
shortName: z.ZodString;
|
|
1412
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1413
|
-
kind: z.ZodLiteral<"claimKey">;
|
|
1414
|
-
shortName: z.ZodString;
|
|
1415
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1416
|
-
kind: z.ZodLiteral<"referenceData">;
|
|
1417
|
-
entityName: z.ZodString;
|
|
1418
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1419
|
-
kind: z.ZodLiteral<"useExtension">;
|
|
1420
|
-
extensionName: z.ZodString;
|
|
1421
|
-
entityName: z.ZodString;
|
|
1422
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1423
|
-
kind: z.ZodLiteral<"job">;
|
|
1424
|
-
jobName: z.ZodString;
|
|
1425
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1426
|
-
kind: z.ZodLiteral<"notification">;
|
|
1427
|
-
notificationName: z.ZodString;
|
|
1428
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1429
|
-
kind: z.ZodLiteral<"httpRoute">;
|
|
1430
|
-
method: z.ZodString;
|
|
1431
|
-
path: z.ZodString;
|
|
1432
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1433
|
-
kind: z.ZodLiteral<"projection">;
|
|
1434
|
-
name: z.ZodString;
|
|
1435
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1436
|
-
kind: z.ZodLiteral<"multiStreamProjection">;
|
|
1437
|
-
name: z.ZodString;
|
|
1438
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1439
|
-
kind: z.ZodLiteral<"defineEvent">;
|
|
1440
|
-
eventName: z.ZodString;
|
|
1441
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1442
|
-
kind: z.ZodLiteral<"extendsRegistrar">;
|
|
1443
|
-
extensionName: z.ZodString;
|
|
1444
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1445
|
-
kind: z.ZodLiteral<"ai.generate">;
|
|
1446
|
-
stepKey: z.ZodString;
|
|
1447
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1448
|
-
kind: z.ZodLiteral<"ai.extract">;
|
|
1449
|
-
stepKey: z.ZodString;
|
|
1450
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1451
|
-
kind: z.ZodLiteral<"ai.classify">;
|
|
1452
|
-
stepKey: z.ZodString;
|
|
1453
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1454
|
-
kind: z.ZodLiteral<"requires">;
|
|
1455
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1456
|
-
kind: z.ZodLiteral<"optionalRequires">;
|
|
1457
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1458
|
-
kind: z.ZodLiteral<"readsConfig">;
|
|
1459
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1460
|
-
kind: z.ZodLiteral<"systemScope">;
|
|
1461
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1462
|
-
kind: z.ZodLiteral<"toggleable">;
|
|
1463
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1464
|
-
kind: z.ZodLiteral<"describe">;
|
|
1465
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1466
|
-
kind: z.ZodLiteral<"uiHints">;
|
|
1467
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1468
|
-
kind: z.ZodLiteral<"config">;
|
|
1469
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1470
|
-
kind: z.ZodLiteral<"translations">;
|
|
1471
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1472
|
-
kind: z.ZodLiteral<"authClaims">;
|
|
1473
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
1474
|
-
kind: z.ZodLiteral<"treeActions">;
|
|
1475
|
-
}, z.core.$strict>], "kind">;
|
|
1476
1238
|
export declare function parsePatternChanges(input: unknown): PatternChangesParseResult;
|