From 073c89a4aa7a67901de1a84cd87489956003b617 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 9 Aug 2026 14:25:12 +0000 Subject: [PATCH] test(spec): export-surface pins compare a build-time baseline instead of running tsc (#4796) Seventeen pin tests across thirteen files each built their own ts.createProgram over all sixteen entry points inside a vitest case to answer one question: which source declaration does entry X export under name Y? That resolution is now a checked-in artifact, packages/spec/export-origins/.json, and the pins compare against it. Measured on this container over the 18 affected files: aggregate test time 76.3s -> 23.3s, of which the 17 pins were 55.5s -> 0.07s. The pool grew by one full compilation per retirement PR (12 files when #4796 was filed, 18 now), and at ~3.4s per case against vitest's 5s default it rode the timeout line, ejecting six unrelated PRs from the merge queue in one night. Freshness is guarded twice, independently: check:export-origins recomputes from source and byte-compares (wired into check:generated and into lint.yml's required TypeScript Type Check job), and the pins carry a compiler-free runtime cross-check so pnpm test alone is not blind to a doctored artifact. Every retired assertion has a successor that fails under the same condition; two are strictly tighter, because the old pins matched a declaration's line number as \d+ and the successors assert the declaring file exactly. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01WkUFF5wo3ceX4fEpXdty3k --- .changeset/export-origins-baseline.md | 19 + .gitattributes | 1 + .github/workflows/lint.yml | 22 + packages/spec/export-origins/ai.json | 176 +++ packages/spec/export-origins/api.json | 998 ++++++++++++++++++ packages/spec/export-origins/automation.json | 245 +++++ packages/spec/export-origins/cloud.json | 246 +++++ packages/spec/export-origins/contracts.json | 299 ++++++ packages/spec/export-origins/data.json | 673 ++++++++++++ packages/spec/export-origins/identity.json | 110 ++ packages/spec/export-origins/integration.json | 83 ++ packages/spec/export-origins/kernel.json | 542 ++++++++++ packages/spec/export-origins/qa.json | 22 + packages/spec/export-origins/root.json | 182 ++++ packages/spec/export-origins/security.json | 84 ++ packages/spec/export-origins/shared.json | 122 +++ packages/spec/export-origins/studio.json | 80 ++ packages/spec/export-origins/system.json | 819 ++++++++++++++ packages/spec/export-origins/ui.json | 406 +++++++ packages/spec/package.json | 2 + packages/spec/scripts/build-export-origins.ts | 418 ++++++++ packages/spec/scripts/check-generated.ts | 10 + packages/spec/scripts/export-origins.test.ts | 201 ++++ .../spec/scripts/lib/export-origins-layout.ts | 87 ++ .../scripts/lib/export-origins-testkit.ts | 250 +++++ packages/spec/src/api/rest-server.test.ts | 58 +- .../spec/src/automation/state-machine.test.ts | 100 +- .../src/automation/sync-retirement.test.ts | 92 +- packages/spec/src/cloud/tenant.test.ts | 125 +-- .../spec/src/integration/connector.test.ts | 131 +-- .../activation-events-retirement.test.ts | 66 +- .../package-dependency-dual-source.test.ts | 83 +- .../kernel/plugin-runtime-retirement.test.ts | 65 +- .../studio/action-location-retirement.test.ts | 88 +- .../src/system/environment-artifact.test.ts | 118 +-- packages/spec/src/system/notification.test.ts | 101 +- .../ui/interaction-config-retirement.test.ts | 59 +- .../ui/notification-embed-retirement.test.ts | 64 +- packages/spec/src/ui/view.test.ts | 133 +-- .../src/ui/widget-i18n-retirement.test.ts | 59 +- packages/spec/test-typecheck-debt.json | 1 - packages/spec/tsconfig.test.json | 10 + packages/spec/vitest.config.ts | 19 +- scripts/regen-artifacts.mjs | 6 + 44 files changed, 6466 insertions(+), 1009 deletions(-) create mode 100644 .changeset/export-origins-baseline.md create mode 100644 packages/spec/export-origins/ai.json create mode 100644 packages/spec/export-origins/api.json create mode 100644 packages/spec/export-origins/automation.json create mode 100644 packages/spec/export-origins/cloud.json create mode 100644 packages/spec/export-origins/contracts.json create mode 100644 packages/spec/export-origins/data.json create mode 100644 packages/spec/export-origins/identity.json create mode 100644 packages/spec/export-origins/integration.json create mode 100644 packages/spec/export-origins/kernel.json create mode 100644 packages/spec/export-origins/qa.json create mode 100644 packages/spec/export-origins/root.json create mode 100644 packages/spec/export-origins/security.json create mode 100644 packages/spec/export-origins/shared.json create mode 100644 packages/spec/export-origins/studio.json create mode 100644 packages/spec/export-origins/system.json create mode 100644 packages/spec/export-origins/ui.json create mode 100644 packages/spec/scripts/build-export-origins.ts create mode 100644 packages/spec/scripts/export-origins.test.ts create mode 100644 packages/spec/scripts/lib/export-origins-layout.ts create mode 100644 packages/spec/scripts/lib/export-origins-testkit.ts diff --git a/.changeset/export-origins-baseline.md b/.changeset/export-origins-baseline.md new file mode 100644 index 0000000000..373c8a2918 --- /dev/null +++ b/.changeset/export-origins-baseline.md @@ -0,0 +1,19 @@ +--- +'@objectstack/spec': patch +--- + +The export-surface pins compare a build-time baseline instead of running `tsc` (#4796). + +Seventeen pin tests across thirteen files answered the same question — "which source declaration does entry point X export under name Y?" — and each answered it by building its **own** `ts.createProgram` over all sixteen entry points and running `getTypeChecker()` inside a vitest `it()`. That resolution is now a checked-in artifact, `packages/spec/export-origins/.json`, and the pins compare against it. + +**The cost this removes was measured, not estimated.** On this container the thirteen affected files spent **76.3s** of aggregate test time, of which the seventeen compiler cases were **55.2s** — and the pool grew by one full compilation per retirement PR (the card counted 12 files; there were 18 by the time this was written). It was also non-deterministic in the way that matters: at ~3.4s per case against vitest's 5s default, a loaded merge-queue runner pushed them over the line six times in one night, each time ejecting a PR that had never touched `packages/spec`. Two stop-the-bleed laps raised the timeout (#4856, then #4864); neither saved a millisecond of compilation, because the compilation was never the cause — it was the material. + +**A comparison is only as good as the thing compared, so freshness is guarded twice, independently.** `check:export-origins` recomputes from source and compares bytes; it runs inside `check:generated`, hence inside lint.yml's required `TypeScript Type Check` job, so a stale or hand-edited artifact is CI-red. And the pins carry a second guard that needs no compiler at all: every origin whose kind survives to runtime is cross-checked against the entry's real namespace object, so `pnpm test` on its own is not blind to a doctored artifact either. Type-only exports are erased at runtime and are covered by the first guard, which covers everything — two gates that fail for different reasons beat one gate that has to be believed. + +**Every pin's claim has a successor that fails under the same condition**, and two of them are strictly tighter rather than equal: the retired pins asserted a declaration's position as `:` with the line matched as `\d+`, i.e. never, so the successors assert the declaring file exactly. The artifact deliberately records no line number — recording one would rewrite it on every edit that shifts a line in any `.zod.ts`, turning a comparison baseline into the repo's next merge-conflict magnet. For the same reason the ten `./contracts` exports that resolve into `ai` / `@ai-sdk/provider-utils` have their pnpm-store version and peer-hash segments normalised away. + +Sharded per entry point, following `api-surface/` and for its reason (#5837): retirement PRs rewrite whichever entries they touched, and the merge queue rebuilds server-side where no custom merge driver runs, so two PRs retiring names on different entries must touch disjoint files. + +**Two `createProgram` cases are deliberately left as they are.** `data/driver.test.ts` and `ui/app.test.ts` compile a single file to assert that a retired key is *unwritable in the authored type* — a different fact from export origin, which no export-surface baseline can carry. `contracts/sharing-service.test.ts` parses one file with `createSourceFile` to read TSDoc; that is a syntactic parse with no program and no checker, and costs nothing. Naming them here rather than leaving the reader to wonder why `grep typescript` still finds hits. + +No runtime or published-surface change: this is a test and tooling change plus one new generated artifact. diff --git a/.gitattributes b/.gitattributes index a1a2c45814..650e181131 100644 --- a/.gitattributes +++ b/.gitattributes @@ -49,6 +49,7 @@ packages/spec/authorable-surface.base.json merge=os-regen packages/spec/authorable-defaults/** merge=os-regen packages/spec/json-schema.manifest/** merge=os-regen packages/spec/api-surface/** merge=os-regen +packages/spec/export-origins/** merge=os-regen packages/spec/api-surface-signatures.json merge=os-regen docs/protocol-upgrade-guide.md merge=os-regen docs/audits/2026-07-unknown-key-strictness-ledger.counts.md merge=os-regen diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 1e57745244..20a5edd234 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -891,6 +891,28 @@ jobs: - name: Check the protocol upgrade guide is regenerated with the ADR-0087 registries run: pnpm --filter @objectstack/spec check:upgrade-guide + # The #4796 declaration-origin baseline. `export-origins/` records which + # SOURCE DECLARATION every public entry point exports under every name, and + # seventeen export-surface pin tests compare against it instead of each + # building their own `ts.createProgram` inside a vitest case (~55s of + # compilation per CI lap, and a non-deterministic timeout that ejected six + # unrelated PRs from the merge queue in one night). + # + # A comparison is only as good as the thing compared, so THIS STEP IS WHAT + # THOSE PINS MEAN. Without it a hand-edited or stale artifact would let + # every one of them report success over a fiction — the dormant-gate shape + # #4642 named. It belongs in this job for the same reason `check:docs` + # does: no paths filter, required status check, so it cannot go dormant on + # exactly the spec-only PRs that move the export surface. + # + # Reads `src/` via tsx and needs no build, so it runs before the workspace + # build and fails in ~3s. The self-test in front of it pins the resolver's + # own two edges (a re-export must read as ONE declaration; two declarations + # sharing a name must NOT) — a broken resolver would otherwise write a + # confidently wrong baseline and this step would agree with it. + - name: Check the export-origins baseline resolves as recorded + run: pnpm --filter @objectstack/spec check:export-origins + # The authorable KEY surface — what a metadata author may write, which for # this platform is the third-party API. `api-surface/` records exported # names and `api-surface-signatures.json` hashes factory types as TypeScript diff --git a/packages/spec/export-origins/ai.json b/packages/spec/export-origins/ai.json new file mode 100644 index 0000000000..c339364e93 --- /dev/null +++ b/packages/spec/export-origins/ai.json @@ -0,0 +1,176 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./ai", + "exports": { + "AIModelConfigSchema": "src/ai/agent.zod.ts#AIModelConfigSchema (const)", + "AIUsageRecord": "src/ai/usage.zod.ts#AIUsageRecord (type)", + "AIUsageRecordSchema": "src/ai/usage.zod.ts#AIUsageRecordSchema (const)", + "Agent": "src/ai/agent.zod.ts#Agent (type)", + "AgentParsed": "src/ai/agent.zod.ts#AgentParsed (type)", + "AgentSchema": "src/ai/agent.zod.ts#AgentSchema (const)", + "BlueprintApp": "src/ai/solution-blueprint.zod.ts#BlueprintApp (type)", + "BlueprintAppParsed": "src/ai/solution-blueprint.zod.ts#BlueprintAppParsed (type)", + "BlueprintAppSchema": "src/ai/solution-blueprint.zod.ts#BlueprintAppSchema (const)", + "BlueprintCondition": "src/ai/solution-blueprint.zod.ts#BlueprintCondition (type)", + "BlueprintConditionSchema": "src/ai/solution-blueprint.zod.ts#BlueprintConditionSchema (const)", + "BlueprintDashboard": "src/ai/solution-blueprint.zod.ts#BlueprintDashboard (type)", + "BlueprintDashboardSchema": "src/ai/solution-blueprint.zod.ts#BlueprintDashboardSchema (const)", + "BlueprintField": "src/ai/solution-blueprint.zod.ts#BlueprintField (type)", + "BlueprintFieldSchema": "src/ai/solution-blueprint.zod.ts#BlueprintFieldSchema (const)", + "BlueprintNavItem": "src/ai/solution-blueprint.zod.ts#BlueprintNavItem (type)", + "BlueprintNavItemParsed": "src/ai/solution-blueprint.zod.ts#BlueprintNavItemParsed (type)", + "BlueprintNavItemSchema": "src/ai/solution-blueprint.zod.ts#BlueprintNavItemSchema (const)", + "BlueprintObject": "src/ai/solution-blueprint.zod.ts#BlueprintObject (type)", + "BlueprintObjectSchema": "src/ai/solution-blueprint.zod.ts#BlueprintObjectSchema (const)", + "BlueprintSeed": "src/ai/solution-blueprint.zod.ts#BlueprintSeed (type)", + "BlueprintSeedSchema": "src/ai/solution-blueprint.zod.ts#BlueprintSeedSchema (const)", + "BlueprintSummaryOperations": "src/ai/solution-blueprint.zod.ts#BlueprintSummaryOperations (type)", + "BlueprintSummaryOperationsSchema": "src/ai/solution-blueprint.zod.ts#BlueprintSummaryOperationsSchema (const)", + "BlueprintView": "src/ai/solution-blueprint.zod.ts#BlueprintView (type)", + "BlueprintViewParsed": "src/ai/solution-blueprint.zod.ts#BlueprintViewParsed (type)", + "BlueprintViewSchema": "src/ai/solution-blueprint.zod.ts#BlueprintViewSchema (const)", + "BlueprintWidgetCondition": "src/ai/solution-blueprint.zod.ts#BlueprintWidgetCondition (type)", + "BlueprintWidgetConditionSchema": "src/ai/solution-blueprint.zod.ts#BlueprintWidgetConditionSchema (const)", + "CodeContentSchema": "src/ai/conversation.zod.ts#CodeContentSchema (const)", + "ConversationAnalytics": "src/ai/conversation.zod.ts#ConversationAnalytics (type)", + "ConversationAnalyticsParsed": "src/ai/conversation.zod.ts#ConversationAnalyticsParsed (type)", + "ConversationAnalyticsSchema": "src/ai/conversation.zod.ts#ConversationAnalyticsSchema (const)", + "ConversationContext": "src/ai/conversation.zod.ts#ConversationContext (type)", + "ConversationContextSchema": "src/ai/conversation.zod.ts#ConversationContextSchema (const)", + "ConversationMessage": "src/ai/conversation.zod.ts#ConversationMessage (type)", + "ConversationMessageParsed": "src/ai/conversation.zod.ts#ConversationMessageParsed (type)", + "ConversationMessageSchema": "src/ai/conversation.zod.ts#ConversationMessageSchema (const)", + "ConversationSession": "src/ai/conversation.zod.ts#ConversationSession (type)", + "ConversationSessionParsed": "src/ai/conversation.zod.ts#ConversationSessionParsed (type)", + "ConversationSessionSchema": "src/ai/conversation.zod.ts#ConversationSessionSchema (const)", + "ConversationSummary": "src/ai/conversation.zod.ts#ConversationSummary (type)", + "ConversationSummarySchema": "src/ai/conversation.zod.ts#ConversationSummarySchema (const)", + "EmbeddingModel": "src/ai/embedding.zod.ts#EmbeddingModel (type)", + "EmbeddingModelSchema": "src/ai/embedding.zod.ts#EmbeddingModelSchema (const)", + "FileContent": "src/ai/conversation.zod.ts#FileContent (type)", + "FileContentSchema": "src/ai/conversation.zod.ts#FileContentSchema (const)", + "FileKnowledgeSource": "src/ai/knowledge-source.zod.ts#FileKnowledgeSource (type)", + "FileKnowledgeSourceSchema": "src/ai/knowledge-source.zod.ts#FileKnowledgeSourceSchema (const)", + "FunctionCall": "src/ai/conversation.zod.ts#FunctionCall (type)", + "FunctionCallSchema": "src/ai/conversation.zod.ts#FunctionCallSchema (const)", + "HttpKnowledgeSource": "src/ai/knowledge-source.zod.ts#HttpKnowledgeSource (type)", + "HttpKnowledgeSourceSchema": "src/ai/knowledge-source.zod.ts#HttpKnowledgeSourceSchema (const)", + "ImageContentSchema": "src/ai/conversation.zod.ts#ImageContentSchema (const)", + "KnowledgeChunk": "src/ai/knowledge-document.zod.ts#KnowledgeChunk (type)", + "KnowledgeChunkSchema": "src/ai/knowledge-document.zod.ts#KnowledgeChunkSchema (const)", + "KnowledgeDocument": "src/ai/knowledge-document.zod.ts#KnowledgeDocument (type)", + "KnowledgeDocumentSchema": "src/ai/knowledge-document.zod.ts#KnowledgeDocumentSchema (const)", + "KnowledgeHit": "src/ai/knowledge-document.zod.ts#KnowledgeHit (type)", + "KnowledgeHitSchema": "src/ai/knowledge-document.zod.ts#KnowledgeHitSchema (const)", + "KnowledgeRefreshPolicy": "src/ai/knowledge-source.zod.ts#KnowledgeRefreshPolicy (type)", + "KnowledgeRefreshPolicySchema": "src/ai/knowledge-source.zod.ts#KnowledgeRefreshPolicySchema (const)", + "KnowledgeSource": "src/ai/knowledge-source.zod.ts#KnowledgeSource (type)", + "KnowledgeSourceKind": "src/ai/knowledge-source.zod.ts#KnowledgeSourceKind (type)", + "KnowledgeSourceKindSchema": "src/ai/knowledge-source.zod.ts#KnowledgeSourceKindSchema (const)", + "KnowledgeSourceSchema": "src/ai/knowledge-source.zod.ts#KnowledgeSourceSchema (const)", + "MCPApprovalPolicy": "src/ai/mcp.zod.ts#MCPApprovalPolicy (type)", + "MCPApprovalPolicySchema": "src/ai/mcp.zod.ts#MCPApprovalPolicySchema (const)", + "MCPServerRef": "src/ai/mcp.zod.ts#MCPServerRef (type)", + "MCPServerRefParsed": "src/ai/mcp.zod.ts#MCPServerRefParsed (type)", + "MCPServerRefSchema": "src/ai/mcp.zod.ts#MCPServerRefSchema (const)", + "MCPToolBinding": "src/ai/mcp.zod.ts#MCPToolBinding (type)", + "MCPToolBindingParsed": "src/ai/mcp.zod.ts#MCPToolBindingParsed (type)", + "MCPToolBindingSchema": "src/ai/mcp.zod.ts#MCPToolBindingSchema (const)", + "MCPTransport": "src/ai/mcp.zod.ts#MCPTransport (type)", + "MCPTransportSchema": "src/ai/mcp.zod.ts#MCPTransportSchema (const)", + "MCP_AGENT_PERMISSION_SETS": "src/ai/mcp.zod.ts#MCP_AGENT_PERMISSION_SETS (const)", + "MCP_AGENT_PERMISSION_SET_READ": "src/ai/mcp.zod.ts#MCP_AGENT_PERMISSION_SET_READ (const)", + "MCP_AGENT_PERMISSION_SET_RESTRICTED": "src/ai/mcp.zod.ts#MCP_AGENT_PERMISSION_SET_RESTRICTED (const)", + "MCP_AGENT_PERMISSION_SET_WRITE": "src/ai/mcp.zod.ts#MCP_AGENT_PERMISSION_SET_WRITE (const)", + "MCP_OAUTH_SCOPES": "src/ai/mcp.zod.ts#MCP_OAUTH_SCOPES (const)", + "MCP_OAUTH_SCOPE_ACTIONS": "src/ai/mcp.zod.ts#MCP_OAUTH_SCOPE_ACTIONS (const)", + "MCP_OAUTH_SCOPE_DATA_READ": "src/ai/mcp.zod.ts#MCP_OAUTH_SCOPE_DATA_READ (const)", + "MCP_OAUTH_SCOPE_DATA_WRITE": "src/ai/mcp.zod.ts#MCP_OAUTH_SCOPE_DATA_WRITE (const)", + "McpOauthScope": "src/ai/mcp.zod.ts#McpOauthScope (type)", + "MessageContent": "src/ai/conversation.zod.ts#MessageContent (type)", + "MessageContentParsed": "src/ai/conversation.zod.ts#MessageContentParsed (type)", + "MessageContentSchema": "src/ai/conversation.zod.ts#MessageContentSchema (const)", + "MessageContentType": "src/ai/conversation.zod.ts#MessageContentType (type)", + "MessageContentTypeSchema": "src/ai/conversation.zod.ts#MessageContentTypeSchema (const)", + "MessagePruningEvent": "src/ai/conversation.zod.ts#MessagePruningEvent (type)", + "MessagePruningEventSchema": "src/ai/conversation.zod.ts#MessagePruningEventSchema (const)", + "MessageRole": "src/ai/conversation.zod.ts#MessageRole (type)", + "MessageRoleSchema": "src/ai/conversation.zod.ts#MessageRoleSchema (const)", + "ModelCapability": "src/ai/model-registry.zod.ts#ModelCapability (type)", + "ModelCapabilityParsed": "src/ai/model-registry.zod.ts#ModelCapabilityParsed (type)", + "ModelCapabilitySchema": "src/ai/model-registry.zod.ts#ModelCapabilitySchema (const)", + "ModelConfig": "src/ai/model-registry.zod.ts#ModelConfig (type)", + "ModelConfigParsed": "src/ai/model-registry.zod.ts#ModelConfigParsed (type)", + "ModelConfigSchema": "src/ai/model-registry.zod.ts#ModelConfigSchema (const)", + "ModelLimits": "src/ai/model-registry.zod.ts#ModelLimits (type)", + "ModelLimitsSchema": "src/ai/model-registry.zod.ts#ModelLimitsSchema (const)", + "ModelPricing": "src/ai/model-registry.zod.ts#ModelPricing (type)", + "ModelPricingParsed": "src/ai/model-registry.zod.ts#ModelPricingParsed (type)", + "ModelPricingSchema": "src/ai/model-registry.zod.ts#ModelPricingSchema (const)", + "ModelProvider": "src/ai/model-registry.zod.ts#ModelProvider (type)", + "ModelProviderSchema": "src/ai/model-registry.zod.ts#ModelProviderSchema (const)", + "ModelRegistry": "src/ai/model-registry.zod.ts#ModelRegistry (type)", + "ModelRegistryEntry": "src/ai/model-registry.zod.ts#ModelRegistryEntry (type)", + "ModelRegistryEntryParsed": "src/ai/model-registry.zod.ts#ModelRegistryEntryParsed (type)", + "ModelRegistryEntrySchema": "src/ai/model-registry.zod.ts#ModelRegistryEntrySchema (const)", + "ModelRegistryParsed": "src/ai/model-registry.zod.ts#ModelRegistryParsed (type)", + "ModelRegistrySchema": "src/ai/model-registry.zod.ts#ModelRegistrySchema (const)", + "ModelSelectionCriteria": "src/ai/model-registry.zod.ts#ModelSelectionCriteria (type)", + "ModelSelectionCriteriaParsed": "src/ai/model-registry.zod.ts#ModelSelectionCriteriaParsed (type)", + "ModelSelectionCriteriaSchema": "src/ai/model-registry.zod.ts#ModelSelectionCriteriaSchema (const)", + "ObjectKnowledgeSource": "src/ai/knowledge-source.zod.ts#ObjectKnowledgeSource (type)", + "ObjectKnowledgeSourceSchema": "src/ai/knowledge-source.zod.ts#ObjectKnowledgeSourceSchema (const)", + "PromptTemplate": "src/ai/model-registry.zod.ts#PromptTemplate (type)", + "PromptTemplateParsed": "src/ai/model-registry.zod.ts#PromptTemplateParsed (type)", + "PromptTemplateSchema": "src/ai/model-registry.zod.ts#PromptTemplateSchema (const)", + "PromptVariable": "src/ai/model-registry.zod.ts#PromptVariable (type)", + "PromptVariableParsed": "src/ai/model-registry.zod.ts#PromptVariableParsed (type)", + "PromptVariableSchema": "src/ai/model-registry.zod.ts#PromptVariableSchema (const)", + "Skill": "src/ai/skill.zod.ts#Skill (type)", + "SkillParsed": "src/ai/skill.zod.ts#SkillParsed (type)", + "SkillSchema": "src/ai/skill.zod.ts#SkillSchema (const)", + "SkillTriggerCondition": "src/ai/skill.zod.ts#SkillTriggerCondition (type)", + "SkillTriggerConditionSchema": "src/ai/skill.zod.ts#SkillTriggerConditionSchema (const)", + "SolutionBlueprint": "src/ai/solution-blueprint.zod.ts#SolutionBlueprint (type)", + "SolutionBlueprintParsed": "src/ai/solution-blueprint.zod.ts#SolutionBlueprintParsed (type)", + "SolutionBlueprintSchema": "src/ai/solution-blueprint.zod.ts#SolutionBlueprintSchema (const)", + "SolutionBlueprintStrict": "src/ai/solution-blueprint.zod.ts#SolutionBlueprintStrict (type)", + "SolutionBlueprintStrictSchema": "src/ai/solution-blueprint.zod.ts#SolutionBlueprintStrictSchema (const)", + "StructuredOutputConfig": "src/ai/agent.zod.ts#StructuredOutputConfig (type)", + "StructuredOutputConfigParsed": "src/ai/agent.zod.ts#StructuredOutputConfigParsed (type)", + "StructuredOutputConfigSchema": "src/ai/agent.zod.ts#StructuredOutputConfigSchema (const)", + "StructuredOutputFormat": "src/ai/agent.zod.ts#StructuredOutputFormat (type)", + "StructuredOutputFormatSchema": "src/ai/agent.zod.ts#StructuredOutputFormatSchema (const)", + "TextContent": "src/ai/conversation.zod.ts#TextContent (type)", + "TextContentSchema": "src/ai/conversation.zod.ts#TextContentSchema (const)", + "TokenBudgetConfig": "src/ai/conversation.zod.ts#TokenBudgetConfig (type)", + "TokenBudgetConfigParsed": "src/ai/conversation.zod.ts#TokenBudgetConfigParsed (type)", + "TokenBudgetConfigSchema": "src/ai/conversation.zod.ts#TokenBudgetConfigSchema (const)", + "TokenBudgetStrategy": "src/ai/conversation.zod.ts#TokenBudgetStrategy (type)", + "TokenBudgetStrategySchema": "src/ai/conversation.zod.ts#TokenBudgetStrategySchema (const)", + "TokenUsage": "src/ai/usage.zod.ts#TokenUsage (type)", + "TokenUsageSchema": "src/ai/usage.zod.ts#TokenUsageSchema (const)", + "TokenUsageStats": "src/ai/conversation.zod.ts#TokenUsageStats (type)", + "TokenUsageStatsParsed": "src/ai/conversation.zod.ts#TokenUsageStatsParsed (type)", + "TokenUsageStatsSchema": "src/ai/conversation.zod.ts#TokenUsageStatsSchema (const)", + "Tool": "src/ai/tool.zod.ts#Tool (type)", + "ToolCall": "src/ai/conversation.zod.ts#ToolCall (type)", + "ToolCallParsed": "src/ai/conversation.zod.ts#ToolCallParsed (type)", + "ToolCallSchema": "src/ai/conversation.zod.ts#ToolCallSchema (const)", + "ToolSchema": "src/ai/tool.zod.ts#ToolSchema (const)", + "TransformPipelineStep": "src/ai/agent.zod.ts#TransformPipelineStep (type)", + "TransformPipelineStepSchema": "src/ai/agent.zod.ts#TransformPipelineStepSchema (const)", + "VectorStore": "src/ai/embedding.zod.ts#VectorStore (type)", + "VectorStoreProvider": "src/ai/embedding.zod.ts#VectorStoreProvider (type)", + "VectorStoreProviderSchema": "src/ai/embedding.zod.ts#VectorStoreProviderSchema (const)", + "VectorStoreSchema": "src/ai/embedding.zod.ts#VectorStoreSchema (const)", + "agentForm": "src/ai/agent.form.ts#agentForm (const)", + "defineAgent": "src/ai/agent.zod.ts#defineAgent (function)", + "defineSkill": "src/ai/skill.zod.ts#defineSkill (function)", + "defineSolutionBlueprint": "src/ai/solution-blueprint.zod.ts#defineSolutionBlueprint (function)", + "defineTool": "src/ai/tool.zod.ts#defineTool (function)", + "scopesToAgentPermissionSets": "src/ai/mcp.zod.ts#scopesToAgentPermissionSets (function)", + "skillForm": "src/ai/skill.form.ts#skillForm (const)", + "toolForm": "src/ai/tool.form.ts#toolForm (const)" + } +} diff --git a/packages/spec/export-origins/api.json b/packages/spec/export-origins/api.json new file mode 100644 index 0000000000..c8897be47b --- /dev/null +++ b/packages/spec/export-origins/api.json @@ -0,0 +1,998 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./api", + "exports": { + "AckMessage": "src/api/websocket.zod.ts#AckMessage (type)", + "AckMessageSchema": "src/api/websocket.zod.ts#AckMessageSchema (const)", + "AiAgentCapabilities": "src/api/protocol.zod.ts#AiAgentCapabilities (type)", + "AiAgentCapabilitiesSchema": "src/api/protocol.zod.ts#AiAgentCapabilitiesSchema (const)", + "AiAgentChatRequest": "src/api/protocol.zod.ts#AiAgentChatRequest (type)", + "AiAgentChatRequestSchema": "src/api/protocol.zod.ts#AiAgentChatRequestSchema (const)", + "AiAgentSummary": "src/api/protocol.zod.ts#AiAgentSummary (type)", + "AiAgentSummarySchema": "src/api/protocol.zod.ts#AiAgentSummarySchema (const)", + "AiAgentsResponse": "src/api/protocol.zod.ts#AiAgentsResponse (type)", + "AiAgentsResponseSchema": "src/api/protocol.zod.ts#AiAgentsResponseSchema (const)", + "AiChatRequest": "src/api/protocol.zod.ts#AiChatRequest (type)", + "AiChatRequestSchema": "src/api/protocol.zod.ts#AiChatRequestSchema (const)", + "AiChatResponse": "src/api/protocol.zod.ts#AiChatResponse (type)", + "AiChatResponseSchema": "src/api/protocol.zod.ts#AiChatResponseSchema (const)", + "AiCompleteRequest": "src/api/protocol.zod.ts#AiCompleteRequest (type)", + "AiCompleteRequestSchema": "src/api/protocol.zod.ts#AiCompleteRequestSchema (const)", + "AiConversation": "src/api/protocol.zod.ts#AiConversation (type)", + "AiConversationSchema": "src/api/protocol.zod.ts#AiConversationSchema (const)", + "AiMessage": "src/api/protocol.zod.ts#AiMessage (type)", + "AiMessageSchema": "src/api/protocol.zod.ts#AiMessageSchema (const)", + "AiModelsResponse": "src/api/protocol.zod.ts#AiModelsResponse (type)", + "AiModelsResponseSchema": "src/api/protocol.zod.ts#AiModelsResponseSchema (const)", + "AiPendingAction": "src/api/protocol.zod.ts#AiPendingAction (type)", + "AiPendingActionSchema": "src/api/protocol.zod.ts#AiPendingActionSchema (const)", + "AiPendingActionStatus": "src/api/protocol.zod.ts#AiPendingActionStatus (type)", + "AiPendingActionStatusSchema": "src/api/protocol.zod.ts#AiPendingActionStatusSchema (const)", + "AiStreamChunk": "src/api/protocol.zod.ts#AiStreamChunk (type)", + "AiStreamChunkSchema": "src/api/protocol.zod.ts#AiStreamChunkSchema (const)", + "AnalyticsEndpoint": "src/api/analytics.zod.ts#AnalyticsEndpoint (type)", + "AnalyticsMetadataResponse": "src/api/analytics.zod.ts#AnalyticsMetadataResponse (type)", + "AnalyticsMetadataResponseParsed": "src/api/analytics.zod.ts#AnalyticsMetadataResponseParsed (type)", + "AnalyticsMetadataResponseSchema": "src/api/analytics.zod.ts#AnalyticsMetadataResponseSchema (const)", + "AnalyticsProtocol": "src/api/protocol.zod.ts#AnalyticsProtocol (interface)", + "AnalyticsQueryRequest": "src/api/analytics.zod.ts#AnalyticsQueryRequest (type)", + "AnalyticsQueryRequestSchema": "src/api/analytics.zod.ts#AnalyticsQueryRequestSchema (const)", + "AnalyticsResultResponseSchema": "src/api/analytics.zod.ts#AnalyticsResultResponseSchema (const)", + "AnalyticsSqlResponse": "src/api/analytics.zod.ts#AnalyticsSqlResponse (type)", + "AnalyticsSqlResponseParsed": "src/api/analytics.zod.ts#AnalyticsSqlResponseParsed (type)", + "AnalyticsSqlResponseSchema": "src/api/analytics.zod.ts#AnalyticsSqlResponseSchema (const)", + "ApiChangelogEntry": "src/api/documentation.zod.ts#ApiChangelogEntry (type)", + "ApiChangelogEntryParsed": "src/api/documentation.zod.ts#ApiChangelogEntryParsed (type)", + "ApiChangelogEntrySchema": "src/api/documentation.zod.ts#ApiChangelogEntrySchema (const)", + "ApiDocumentationConfig": "src/api/documentation.zod.ts#ApiDocumentationConfig (type)", + "ApiDocumentationConfigParsed": "src/api/documentation.zod.ts#ApiDocumentationConfigParsed (type)", + "ApiDocumentationConfigSchema": "src/api/documentation.zod.ts#ApiDocumentationConfigSchema (const)", + "ApiEndpoint": "src/api/endpoint.zod.ts#ApiEndpoint (type)", + "ApiEndpointParsed": "src/api/endpoint.zod.ts#ApiEndpointParsed (type)", + "ApiEndpointSchema": "src/api/endpoint.zod.ts#ApiEndpointSchema (const)", + "ApiError": "src/api/contract.zod.ts#ApiError (type)", + "ApiErrorParsed": "src/api/contract.zod.ts#ApiErrorParsed (type)", + "ApiErrorSchema": "src/api/contract.zod.ts#ApiErrorSchema (const)", + "ApiMapping": "src/api/endpoint.zod.ts#ApiMapping (type)", + "ApiMappingSchema": "src/api/endpoint.zod.ts#ApiMappingSchema (const)", + "ApiRoutes": "src/api/discovery.zod.ts#ApiRoutes (type)", + "ApiRoutesSchema": "src/api/discovery.zod.ts#ApiRoutesSchema (const)", + "ApiTestCollection": "src/api/documentation.zod.ts#ApiTestCollection (type)", + "ApiTestCollectionParsed": "src/api/documentation.zod.ts#ApiTestCollectionParsed (type)", + "ApiTestCollectionSchema": "src/api/documentation.zod.ts#ApiTestCollectionSchema (const)", + "ApiTestRequest": "src/api/documentation.zod.ts#ApiTestRequest (type)", + "ApiTestRequestParsed": "src/api/documentation.zod.ts#ApiTestRequestParsed (type)", + "ApiTestRequestSchema": "src/api/documentation.zod.ts#ApiTestRequestSchema (const)", + "ApiTestingUiConfig": "src/api/documentation.zod.ts#ApiTestingUiConfig (type)", + "ApiTestingUiConfigParsed": "src/api/documentation.zod.ts#ApiTestingUiConfigParsed (type)", + "ApiTestingUiConfigSchema": "src/api/documentation.zod.ts#ApiTestingUiConfigSchema (const)", + "ApiTestingUiType": "src/api/documentation.zod.ts#ApiTestingUiType (type)", + "AppDefinitionResponse": "src/api/metadata.zod.ts#AppDefinitionResponse (type)", + "AppDefinitionResponseParsed": "src/api/metadata.zod.ts#AppDefinitionResponseParsed (type)", + "AppDefinitionResponseSchema": "src/api/metadata.zod.ts#AppDefinitionResponseSchema (const)", + "ApproveAiPendingActionResponse": "src/api/protocol.zod.ts#ApproveAiPendingActionResponse (type)", + "ApproveAiPendingActionResponseSchema": "src/api/protocol.zod.ts#ApproveAiPendingActionResponseSchema (const)", + "AuthEndpoint": "src/api/auth-endpoints.zod.ts#AuthEndpoint (type)", + "AuthEndpointAlias": "src/api/auth-endpoints.zod.ts#AuthEndpointAlias (type)", + "AuthEndpointAliases": "src/api/auth-endpoints.zod.ts#AuthEndpointAliases (const)", + "AuthEndpointPath": "src/api/auth-endpoints.zod.ts#AuthEndpointPath (type)", + "AuthEndpointPaths": "src/api/auth-endpoints.zod.ts#AuthEndpointPaths (const)", + "AuthEndpointSchema": "src/api/auth-endpoints.zod.ts#AuthEndpointSchema (const)", + "AuthFeaturesConfig": "src/api/auth-endpoints.zod.ts#AuthFeaturesConfig (type)", + "AuthFeaturesConfigParsed": "src/api/auth-endpoints.zod.ts#AuthFeaturesConfigParsed (type)", + "AuthFeaturesConfigSchema": "src/api/auth-endpoints.zod.ts#AuthFeaturesConfigSchema (const)", + "AuthProvider": "src/api/auth.zod.ts#AuthProvider (type)", + "AuthProviderInfo": "src/api/auth-endpoints.zod.ts#AuthProviderInfo (type)", + "AuthProviderInfoParsed": "src/api/auth-endpoints.zod.ts#AuthProviderInfoParsed (type)", + "AuthProviderInfoSchema": "src/api/auth-endpoints.zod.ts#AuthProviderInfoSchema (const)", + "AutomationActionsResponse": "src/api/protocol.zod.ts#AutomationActionsResponse (type)", + "AutomationActionsResponseParsed": "src/api/protocol.zod.ts#AutomationActionsResponseParsed (type)", + "AutomationActionsResponseSchema": "src/api/protocol.zod.ts#AutomationActionsResponseSchema (const)", + "AutomationApiContracts": "src/api/automation-api.zod.ts#AutomationApiContracts (const)", + "AutomationApiErrorCode": "src/api/automation-api.zod.ts#AutomationApiErrorCode (type)", + "AutomationFlowPathParams": "src/api/automation-api.zod.ts#AutomationFlowPathParams (type)", + "AutomationFlowPathParamsSchema": "src/api/automation-api.zod.ts#AutomationFlowPathParamsSchema (const)", + "AutomationProtocol": "src/api/protocol.zod.ts#AutomationProtocol (interface)", + "AutomationRunPathParams": "src/api/automation-api.zod.ts#AutomationRunPathParams (type)", + "AutomationRunPathParamsSchema": "src/api/automation-api.zod.ts#AutomationRunPathParamsSchema (const)", + "AutomationTriggerRequest": "src/api/protocol.zod.ts#AutomationTriggerRequest (type)", + "AutomationTriggerRequestSchema": "src/api/protocol.zod.ts#AutomationTriggerRequestSchema (const)", + "AutomationTriggerResponse": "src/api/protocol.zod.ts#AutomationTriggerResponse (type)", + "AutomationTriggerResponseSchema": "src/api/protocol.zod.ts#AutomationTriggerResponseSchema (const)", + "BasePresence": "src/api/realtime-shared.zod.ts#BasePresence (type)", + "BasePresenceSchema": "src/api/realtime-shared.zod.ts#BasePresenceSchema (const)", + "BaseResponse": "src/api/contract.zod.ts#BaseResponse (type)", + "BaseResponseParsed": "src/api/contract.zod.ts#BaseResponseParsed (type)", + "BaseResponseSchema": "src/api/contract.zod.ts#BaseResponseSchema (const)", + "BatchApiContracts": "src/api/batch.zod.ts#BatchApiContracts (const)", + "BatchConfig": "src/api/batch.zod.ts#BatchConfig (type)", + "BatchConfigParsed": "src/api/batch.zod.ts#BatchConfigParsed (type)", + "BatchConfigSchema": "src/api/batch.zod.ts#BatchConfigSchema (const)", + "BatchDataRequest": "src/api/protocol.zod.ts#BatchDataRequest (type)", + "BatchDataRequestParsed": "src/api/protocol.zod.ts#BatchDataRequestParsed (type)", + "BatchDataRequestSchema": "src/api/protocol.zod.ts#BatchDataRequestSchema (const)", + "BatchDataResponse": "src/api/protocol.zod.ts#BatchDataResponse (type)", + "BatchDataResponseParsed": "src/api/protocol.zod.ts#BatchDataResponseParsed (type)", + "BatchDataResponseSchema": "src/api/protocol.zod.ts#BatchDataResponseSchema (const)", + "BatchEndpointsConfig": "src/api/rest-server.zod.ts#BatchEndpointsConfig (type)", + "BatchEndpointsConfigParsed": "src/api/rest-server.zod.ts#BatchEndpointsConfigParsed (type)", + "BatchEndpointsConfigSchema": "src/api/rest-server.zod.ts#BatchEndpointsConfigSchema (const)", + "BatchLoadingStrategy": "src/api/contract.zod.ts#BatchLoadingStrategy (type)", + "BatchLoadingStrategyParsed": "src/api/contract.zod.ts#BatchLoadingStrategyParsed (type)", + "BatchLoadingStrategySchema": "src/api/contract.zod.ts#BatchLoadingStrategySchema (const)", + "BatchOperationResult": "src/api/batch.zod.ts#BatchOperationResult (type)", + "BatchOperationResultParsed": "src/api/batch.zod.ts#BatchOperationResultParsed (type)", + "BatchOperationResultSchema": "src/api/batch.zod.ts#BatchOperationResultSchema (const)", + "BatchOperationType": "src/api/batch.zod.ts#BatchOperationType (type)", + "BatchOptions": "src/api/batch.zod.ts#BatchOptions (type)", + "BatchOptionsParsed": "src/api/batch.zod.ts#BatchOptionsParsed (type)", + "BatchOptionsSchema": "src/api/batch.zod.ts#BatchOptionsSchema (const)", + "BatchRecord": "src/api/batch.zod.ts#BatchRecord (type)", + "BatchRecordSchema": "src/api/batch.zod.ts#BatchRecordSchema (const)", + "BatchUpdateRequest": "src/api/batch.zod.ts#BatchUpdateRequest (type)", + "BatchUpdateRequestParsed": "src/api/batch.zod.ts#BatchUpdateRequestParsed (type)", + "BatchUpdateRequestSchema": "src/api/batch.zod.ts#BatchUpdateRequestSchema (const)", + "BatchUpdateResponse": "src/api/batch.zod.ts#BatchUpdateResponse (type)", + "BatchUpdateResponseParsed": "src/api/batch.zod.ts#BatchUpdateResponseParsed (type)", + "BatchUpdateResponseSchema": "src/api/batch.zod.ts#BatchUpdateResponseSchema (const)", + "BulkDataEvent": "src/api/events.zod.ts#BulkDataEvent (type)", + "BulkDataEventSchema": "src/api/events.zod.ts#BulkDataEventSchema (const)", + "BulkDataEventType": "src/api/events.zod.ts#BulkDataEventType (type)", + "BulkRequest": "src/api/contract.zod.ts#BulkRequest (type)", + "BulkRequestParsed": "src/api/contract.zod.ts#BulkRequestParsed (type)", + "BulkRequestSchema": "src/api/contract.zod.ts#BulkRequestSchema (const)", + "BulkResponse": "src/api/contract.zod.ts#BulkResponse (type)", + "BulkResponseParsed": "src/api/contract.zod.ts#BulkResponseParsed (type)", + "BulkResponseSchema": "src/api/contract.zod.ts#BulkResponseSchema (const)", + "CacheControl": "src/api/http-cache.zod.ts#CacheControl (type)", + "CacheControlSchema": "src/api/http-cache.zod.ts#CacheControlSchema (const)", + "CacheDirective": "src/api/http-cache.zod.ts#CacheDirective (type)", + "CacheInvalidationRequest": "src/api/http-cache.zod.ts#CacheInvalidationRequest (type)", + "CacheInvalidationRequestParsed": "src/api/http-cache.zod.ts#CacheInvalidationRequestParsed (type)", + "CacheInvalidationRequestSchema": "src/api/http-cache.zod.ts#CacheInvalidationRequestSchema (const)", + "CacheInvalidationResponse": "src/api/http-cache.zod.ts#CacheInvalidationResponse (type)", + "CacheInvalidationResponseSchema": "src/api/http-cache.zod.ts#CacheInvalidationResponseSchema (const)", + "CacheInvalidationTarget": "src/api/http-cache.zod.ts#CacheInvalidationTarget (type)", + "CapabilityDescriptor": "src/api/discovery.zod.ts#CapabilityDescriptor (type)", + "CapabilityDescriptorSchema": "src/api/discovery.zod.ts#CapabilityDescriptorSchema (const)", + "CheckPermissionRequest": "src/api/protocol.zod.ts#CheckPermissionRequest (type)", + "CheckPermissionRequestSchema": "src/api/protocol.zod.ts#CheckPermissionRequestSchema (const)", + "CheckPermissionResponse": "src/api/protocol.zod.ts#CheckPermissionResponse (type)", + "CheckPermissionResponseSchema": "src/api/protocol.zod.ts#CheckPermissionResponseSchema (const)", + "CodeGenerationTemplate": "src/api/documentation.zod.ts#CodeGenerationTemplate (type)", + "CodeGenerationTemplateSchema": "src/api/documentation.zod.ts#CodeGenerationTemplateSchema (const)", + "CompleteChunkedUploadRequest": "src/api/storage.zod.ts#CompleteChunkedUploadRequest (type)", + "CompleteChunkedUploadRequestSchema": "src/api/storage.zod.ts#CompleteChunkedUploadRequestSchema (const)", + "CompleteChunkedUploadResponse": "src/api/storage.zod.ts#CompleteChunkedUploadResponse (type)", + "CompleteChunkedUploadResponseParsed": "src/api/storage.zod.ts#CompleteChunkedUploadResponseParsed (type)", + "CompleteChunkedUploadResponseSchema": "src/api/storage.zod.ts#CompleteChunkedUploadResponseSchema (const)", + "CompleteUploadRequest": "src/api/storage.zod.ts#CompleteUploadRequest (type)", + "CompleteUploadRequestSchema": "src/api/storage.zod.ts#CompleteUploadRequestSchema (const)", + "ConceptListResponse": "src/api/metadata.zod.ts#ConceptListResponse (type)", + "ConceptListResponseParsed": "src/api/metadata.zod.ts#ConceptListResponseParsed (type)", + "ConceptListResponseSchema": "src/api/metadata.zod.ts#ConceptListResponseSchema (const)", + "ConflictResolutionStrategy": "src/api/router.zod.ts#ConflictResolutionStrategy (type)", + "CreateAiConversationRequest": "src/api/protocol.zod.ts#CreateAiConversationRequest (type)", + "CreateAiConversationRequestSchema": "src/api/protocol.zod.ts#CreateAiConversationRequestSchema (const)", + "CreateDataRequest": "src/api/protocol.zod.ts#CreateDataRequest (type)", + "CreateDataRequestSchema": "src/api/protocol.zod.ts#CreateDataRequestSchema (const)", + "CreateDataResponse": "src/api/protocol.zod.ts#CreateDataResponse (type)", + "CreateDataResponseSchema": "src/api/protocol.zod.ts#CreateDataResponseSchema (const)", + "CreateExportJobRequest": "src/api/export.zod.ts#CreateExportJobRequest (type)", + "CreateExportJobRequestParsed": "src/api/export.zod.ts#CreateExportJobRequestParsed (type)", + "CreateExportJobRequestSchema": "src/api/export.zod.ts#CreateExportJobRequestSchema (const)", + "CreateExportJobResponse": "src/api/export.zod.ts#CreateExportJobResponse (type)", + "CreateExportJobResponseParsed": "src/api/export.zod.ts#CreateExportJobResponseParsed (type)", + "CreateExportJobResponseSchema": "src/api/export.zod.ts#CreateExportJobResponseSchema (const)", + "CreateFlowRequest": "src/api/automation-api.zod.ts#CreateFlowRequest (type)", + "CreateFlowRequestParsed": "src/api/automation-api.zod.ts#CreateFlowRequestParsed (type)", + "CreateFlowRequestSchema": "src/api/automation-api.zod.ts#CreateFlowRequestSchema (const)", + "CreateFlowResponse": "src/api/automation-api.zod.ts#CreateFlowResponse (type)", + "CreateFlowResponseParsed": "src/api/automation-api.zod.ts#CreateFlowResponseParsed (type)", + "CreateFlowResponseSchema": "src/api/automation-api.zod.ts#CreateFlowResponseSchema (const)", + "CreateImportJobRequest": "src/api/export.zod.ts#CreateImportJobRequest (type)", + "CreateImportJobRequestParsed": "src/api/export.zod.ts#CreateImportJobRequestParsed (type)", + "CreateImportJobRequestSchema": "src/api/export.zod.ts#CreateImportJobRequestSchema (const)", + "CreateImportJobResponse": "src/api/export.zod.ts#CreateImportJobResponse (type)", + "CreateImportJobResponseSchema": "src/api/export.zod.ts#CreateImportJobResponseSchema (const)", + "CreateManyDataRequest": "src/api/protocol.zod.ts#CreateManyDataRequest (type)", + "CreateManyDataRequestSchema": "src/api/protocol.zod.ts#CreateManyDataRequestSchema (const)", + "CreateManyDataResponse": "src/api/protocol.zod.ts#CreateManyDataResponse (type)", + "CreateManyDataResponseSchema": "src/api/protocol.zod.ts#CreateManyDataResponseSchema (const)", + "CreateRequest": "src/api/contract.zod.ts#CreateRequest (type)", + "CreateRequestSchema": "src/api/contract.zod.ts#CreateRequestSchema (const)", + "CrossObjectBatchDroppedFields": "src/api/batch.zod.ts#CrossObjectBatchDroppedFields (type)", + "CrossObjectBatchDroppedFieldsSchema": "src/api/batch.zod.ts#CrossObjectBatchDroppedFieldsSchema (const)", + "CrossObjectBatchOperation": "src/api/batch.zod.ts#CrossObjectBatchOperation (type)", + "CrossObjectBatchOperationParsed": "src/api/batch.zod.ts#CrossObjectBatchOperationParsed (type)", + "CrossObjectBatchOperationSchema": "src/api/batch.zod.ts#CrossObjectBatchOperationSchema (const)", + "CrossObjectBatchRequest": "src/api/batch.zod.ts#CrossObjectBatchRequest (type)", + "CrossObjectBatchRequestParsed": "src/api/batch.zod.ts#CrossObjectBatchRequestParsed (type)", + "CrossObjectBatchRequestSchema": "src/api/batch.zod.ts#CrossObjectBatchRequestSchema (const)", + "CrossObjectBatchResponse": "src/api/batch.zod.ts#CrossObjectBatchResponse (type)", + "CrossObjectBatchResponseSchema": "src/api/batch.zod.ts#CrossObjectBatchResponseSchema (const)", + "CrudEndpointPattern": "src/api/rest-server.zod.ts#CrudEndpointPattern (type)", + "CrudEndpointPatternSchema": "src/api/rest-server.zod.ts#CrudEndpointPatternSchema (const)", + "CrudEndpointsConfig": "src/api/rest-server.zod.ts#CrudEndpointsConfig (type)", + "CrudEndpointsConfigParsed": "src/api/rest-server.zod.ts#CrudEndpointsConfigParsed (type)", + "CrudEndpointsConfigSchema": "src/api/rest-server.zod.ts#CrudEndpointsConfigSchema (const)", + "CrudOperation": "src/api/rest-server.zod.ts#CrudOperation (type)", + "CursorMessage": "src/api/websocket.zod.ts#CursorMessage (type)", + "CursorMessageSchema": "src/api/websocket.zod.ts#CursorMessageSchema (const)", + "CursorPosition": "src/api/websocket.zod.ts#CursorPosition (type)", + "CursorPositionSchema": "src/api/websocket.zod.ts#CursorPositionSchema (const)", + "DEFAULT_ANALYTICS_ROUTES": "src/api/plugin-rest-api.zod.ts#DEFAULT_ANALYTICS_ROUTES (const)", + "DEFAULT_AUTOMATION_ROUTES": "src/api/plugin-rest-api.zod.ts#DEFAULT_AUTOMATION_ROUTES (const)", + "DEFAULT_BATCH_ROUTES": "src/api/plugin-rest-api.zod.ts#DEFAULT_BATCH_ROUTES (const)", + "DEFAULT_DATA_CRUD_ROUTES": "src/api/plugin-rest-api.zod.ts#DEFAULT_DATA_CRUD_ROUTES (const)", + "DEFAULT_DISCOVERY_ROUTES": "src/api/plugin-rest-api.zod.ts#DEFAULT_DISCOVERY_ROUTES (const)", + "DEFAULT_I18N_ROUTES": "src/api/plugin-rest-api.zod.ts#DEFAULT_I18N_ROUTES (const)", + "DEFAULT_METADATA_ROUTES": "src/api/plugin-rest-api.zod.ts#DEFAULT_METADATA_ROUTES (const)", + "DEFAULT_NOTIFICATION_ROUTES": "src/api/plugin-rest-api.zod.ts#DEFAULT_NOTIFICATION_ROUTES (const)", + "DEFAULT_VERSIONING_CONFIG": "src/api/versioning.zod.ts#DEFAULT_VERSIONING_CONFIG (const)", + "DataEvent": "src/api/events.zod.ts#DataEvent (type)", + "DataEventSchema": "src/api/events.zod.ts#DataEventSchema (const)", + "DataEventType": "src/api/events.zod.ts#DataEventType (type)", + "DataLoaderConfig": "src/api/contract.zod.ts#DataLoaderConfig (type)", + "DataLoaderConfigParsed": "src/api/contract.zod.ts#DataLoaderConfigParsed (type)", + "DataLoaderConfigSchema": "src/api/contract.zod.ts#DataLoaderConfigSchema (const)", + "DataProtocol": "src/api/protocol.zod.ts#DataProtocol (interface)", + "DeduplicationStrategy": "src/api/export.zod.ts#DeduplicationStrategy (type)", + "DeleteDataRequest": "src/api/protocol.zod.ts#DeleteDataRequest (type)", + "DeleteDataRequestSchema": "src/api/protocol.zod.ts#DeleteDataRequestSchema (const)", + "DeleteDataResponse": "src/api/protocol.zod.ts#DeleteDataResponse (type)", + "DeleteDataResponseSchema": "src/api/protocol.zod.ts#DeleteDataResponseSchema (const)", + "DeleteFlowRequest": "src/api/automation-api.zod.ts#DeleteFlowRequest (type)", + "DeleteFlowRequestSchema": "src/api/automation-api.zod.ts#DeleteFlowRequestSchema (const)", + "DeleteFlowResponse": "src/api/automation-api.zod.ts#DeleteFlowResponse (type)", + "DeleteFlowResponseParsed": "src/api/automation-api.zod.ts#DeleteFlowResponseParsed (type)", + "DeleteFlowResponseSchema": "src/api/automation-api.zod.ts#DeleteFlowResponseSchema (const)", + "DeleteManyDataRequest": "src/api/protocol.zod.ts#DeleteManyDataRequest (type)", + "DeleteManyDataRequestParsed": "src/api/protocol.zod.ts#DeleteManyDataRequestParsed (type)", + "DeleteManyDataRequestSchema": "src/api/protocol.zod.ts#DeleteManyDataRequestSchema (const)", + "DeleteManyDataResponse": "src/api/protocol.zod.ts#DeleteManyDataResponse (type)", + "DeleteManyDataResponseParsed": "src/api/protocol.zod.ts#DeleteManyDataResponseParsed (type)", + "DeleteManyDataResponseSchema": "src/api/protocol.zod.ts#DeleteManyDataResponseSchema (const)", + "DeleteManyRequest": "src/api/batch.zod.ts#DeleteManyRequest (type)", + "DeleteManyRequestParsed": "src/api/batch.zod.ts#DeleteManyRequestParsed (type)", + "DeleteManyRequestSchema": "src/api/batch.zod.ts#DeleteManyRequestSchema (const)", + "DeleteMetaItemRequest": "src/api/protocol.zod.ts#DeleteMetaItemRequest (type)", + "DeleteMetaItemRequestSchema": "src/api/protocol.zod.ts#DeleteMetaItemRequestSchema (const)", + "DeleteMetaItemResponse": "src/api/protocol.zod.ts#DeleteMetaItemResponse (type)", + "DeleteMetaItemResponseSchema": "src/api/protocol.zod.ts#DeleteMetaItemResponseSchema (const)", + "DeleteResponse": "src/api/contract.zod.ts#DeleteResponse (type)", + "DeleteResponseParsed": "src/api/contract.zod.ts#DeleteResponseParsed (type)", + "DeleteResponseSchema": "src/api/contract.zod.ts#DeleteResponseSchema (const)", + "DeviceRequestResponse": "src/api/auth-endpoints.zod.ts#DeviceRequestResponse (type)", + "DeviceRequestResponseParsed": "src/api/auth-endpoints.zod.ts#DeviceRequestResponseParsed (type)", + "DeviceRequestResponseSchema": "src/api/auth-endpoints.zod.ts#DeviceRequestResponseSchema (const)", + "DeviceTokenResponse": "src/api/auth-endpoints.zod.ts#DeviceTokenResponse (type)", + "DeviceTokenResponseSchema": "src/api/auth-endpoints.zod.ts#DeviceTokenResponseSchema (const)", + "DisablePackageRequest": "src/kernel/package-registry.zod.ts#DisablePackageRequest (type)", + "DisablePackageRequestSchema": "src/kernel/package-registry.zod.ts#DisablePackageRequestSchema (const)", + "DisablePackageResponse": "src/kernel/package-registry.zod.ts#DisablePackageResponse (type)", + "DisablePackageResponseSchema": "src/kernel/package-registry.zod.ts#DisablePackageResponseSchema (const)", + "DiscoveryEnvironment": "src/api/discovery.zod.ts#DiscoveryEnvironment (type)", + "DiscoveryEnvironmentSchema": "src/api/discovery.zod.ts#DiscoveryEnvironmentSchema (const)", + "DiscoveryResponse": "src/api/discovery.zod.ts#DiscoveryResponse (type)", + "DiscoverySchema": "src/api/discovery.zod.ts#DiscoverySchema (const)", + "DispatcherConfig": "src/api/dispatcher.zod.ts#DispatcherConfig (type)", + "DispatcherConfigParsed": "src/api/dispatcher.zod.ts#DispatcherConfigParsed (type)", + "DispatcherConfigSchema": "src/api/dispatcher.zod.ts#DispatcherConfigSchema (const)", + "DispatcherErrorCode": "src/api/dispatcher.zod.ts#DispatcherErrorCode (type)", + "DispatcherErrorResponse": "src/api/dispatcher.zod.ts#DispatcherErrorResponse (type)", + "DispatcherErrorResponseSchema": "src/api/dispatcher.zod.ts#DispatcherErrorResponseSchema (const)", + "DispatcherRoute": "src/api/dispatcher.zod.ts#DispatcherRoute (type)", + "DispatcherRouteParsed": "src/api/dispatcher.zod.ts#DispatcherRouteParsed (type)", + "DispatcherRouteSchema": "src/api/dispatcher.zod.ts#DispatcherRouteSchema (const)", + "DocumentState": "src/api/websocket.zod.ts#DocumentState (type)", + "DocumentStateSchema": "src/api/websocket.zod.ts#DocumentStateSchema (const)", + "ERROR_CODE_LEDGER": "src/api/error-code-ledger.zod.ts#ERROR_CODE_LEDGER (const)", + "ETag": "src/api/http-cache.zod.ts#ETag (type)", + "ETagParsed": "src/api/http-cache.zod.ts#ETagParsed (type)", + "ETagSchema": "src/api/http-cache.zod.ts#ETagSchema (const)", + "EditMessage": "src/api/websocket.zod.ts#EditMessage (type)", + "EditMessageSchema": "src/api/websocket.zod.ts#EditMessageSchema (const)", + "EditOperation": "src/api/websocket.zod.ts#EditOperation (type)", + "EditOperationSchema": "src/api/websocket.zod.ts#EditOperationSchema (const)", + "EditOperationType": "src/api/websocket.zod.ts#EditOperationType (type)", + "EmailPasswordConfigPublic": "src/api/auth-endpoints.zod.ts#EmailPasswordConfigPublic (type)", + "EmailPasswordConfigPublicSchema": "src/api/auth-endpoints.zod.ts#EmailPasswordConfigPublicSchema (const)", + "EnablePackageRequest": "src/kernel/package-registry.zod.ts#EnablePackageRequest (type)", + "EnablePackageRequestSchema": "src/kernel/package-registry.zod.ts#EnablePackageRequestSchema (const)", + "EnablePackageResponse": "src/kernel/package-registry.zod.ts#EnablePackageResponse (type)", + "EnablePackageResponseSchema": "src/kernel/package-registry.zod.ts#EnablePackageResponseSchema (const)", + "EndpointGateIdentity": "src/api/endpoint-publish-gate.ts#EndpointGateIdentity (interface)", + "EndpointGateIssue": "src/api/endpoint-publish-gate.ts#EndpointGateIssue (interface)", + "EndpointMapping": "src/api/auth-endpoints.zod.ts#EndpointMapping (const)", + "EndpointMappingKey": "src/api/auth-endpoints.zod.ts#EndpointMappingKey (type)", + "EndpointRegistry": "src/api/rest-server.zod.ts#EndpointRegistry (type)", + "EndpointRegistrySchema": "src/api/rest-server.zod.ts#EndpointRegistrySchema (const)", + "EnhancedApiError": "src/api/errors.zod.ts#EnhancedApiError (type)", + "EnhancedApiErrorParsed": "src/api/errors.zod.ts#EnhancedApiErrorParsed (type)", + "EnhancedApiErrorSchema": "src/api/errors.zod.ts#EnhancedApiErrorSchema (const)", + "ErrorCategory": "src/api/errors.zod.ts#ErrorCategory (type)", + "ErrorCode": "src/api/error-code-ledger.zod.ts#ErrorCode (type)", + "ErrorHandlingConfig": "src/api/plugin-rest-api.zod.ts#ErrorHandlingConfig (type)", + "ErrorHandlingConfigParsed": "src/api/plugin-rest-api.zod.ts#ErrorHandlingConfigParsed (type)", + "ErrorHandlingConfigSchema": "src/api/plugin-rest-api.zod.ts#ErrorHandlingConfigSchema (const)", + "ErrorHttpStatusMap": "src/api/errors.zod.ts#ErrorHttpStatusMap (const)", + "ErrorMessage": "src/api/websocket.zod.ts#ErrorMessage (type)", + "ErrorMessageSchema": "src/api/websocket.zod.ts#ErrorMessageSchema (const)", + "ErrorResponse": "src/api/errors.zod.ts#ErrorResponse (type)", + "ErrorResponseParsed": "src/api/errors.zod.ts#ErrorResponseParsed (type)", + "ErrorResponseSchema": "src/api/errors.zod.ts#ErrorResponseSchema (const)", + "EventMessage": "src/api/websocket.zod.ts#EventMessage (type)", + "EventMessageSchema": "src/api/websocket.zod.ts#EventMessageSchema (const)", + "EventPattern": "src/api/websocket.zod.ts#EventPattern (type)", + "EventPatternSchema": "src/api/websocket.zod.ts#EventPatternSchema (const)", + "EventSubscription": "src/api/websocket.zod.ts#EventSubscription (type)", + "EventSubscriptionSchema": "src/api/websocket.zod.ts#EventSubscriptionSchema (const)", + "ExportApiContracts": "src/api/export.zod.ts#ExportApiContracts (const)", + "ExportFormat": "src/api/export.zod.ts#ExportFormat (type)", + "ExportImportTemplate": "src/api/export.zod.ts#ExportImportTemplate (type)", + "ExportImportTemplateParsed": "src/api/export.zod.ts#ExportImportTemplateParsed (type)", + "ExportImportTemplateSchema": "src/api/export.zod.ts#ExportImportTemplateSchema (const)", + "ExportJobProgress": "src/api/export.zod.ts#ExportJobProgress (type)", + "ExportJobProgressParsed": "src/api/export.zod.ts#ExportJobProgressParsed (type)", + "ExportJobProgressSchema": "src/api/export.zod.ts#ExportJobProgressSchema (const)", + "ExportJobStatus": "src/api/export.zod.ts#ExportJobStatus (type)", + "ExportJobSummary": "src/api/export.zod.ts#ExportJobSummary (type)", + "ExportJobSummarySchema": "src/api/export.zod.ts#ExportJobSummarySchema (const)", + "ExportRequest": "src/api/contract.zod.ts#ExportRequest (type)", + "ExportRequestParsed": "src/api/contract.zod.ts#ExportRequestParsed (type)", + "ExportRequestSchema": "src/api/contract.zod.ts#ExportRequestSchema (const)", + "FieldError": "src/api/errors.zod.ts#FieldError (type)", + "FieldErrorCode": "src/api/errors.zod.ts#FieldErrorCode (type)", + "FieldErrorSchema": "src/api/errors.zod.ts#FieldErrorSchema (const)", + "FieldMappingEntry": "src/api/export.zod.ts#FieldMappingEntry (type)", + "FieldMappingEntryParsed": "src/api/export.zod.ts#FieldMappingEntryParsed (type)", + "FieldMappingEntrySchema": "src/api/export.zod.ts#FieldMappingEntrySchema (const)", + "FileDownloadUrlResponse": "src/api/storage.zod.ts#FileDownloadUrlResponse (type)", + "FileDownloadUrlResponseParsed": "src/api/storage.zod.ts#FileDownloadUrlResponseParsed (type)", + "FileDownloadUrlResponseSchema": "src/api/storage.zod.ts#FileDownloadUrlResponseSchema (const)", + "FileTypeValidation": "src/api/storage.zod.ts#FileTypeValidation (type)", + "FileTypeValidationSchema": "src/api/storage.zod.ts#FileTypeValidationSchema (const)", + "FileUploadResponse": "src/api/storage.zod.ts#FileUploadResponse (type)", + "FileUploadResponseParsed": "src/api/storage.zod.ts#FileUploadResponseParsed (type)", + "FileUploadResponseSchema": "src/api/storage.zod.ts#FileUploadResponseSchema (const)", + "FindDataRequest": "src/api/protocol.zod.ts#FindDataRequest (type)", + "FindDataRequestParsed": "src/api/protocol.zod.ts#FindDataRequestParsed (type)", + "FindDataRequestSchema": "src/api/protocol.zod.ts#FindDataRequestSchema (const)", + "FindDataResponse": "src/api/protocol.zod.ts#FindDataResponse (type)", + "FindDataResponseSchema": "src/api/protocol.zod.ts#FindDataResponseSchema (const)", + "FlowSummary": "src/api/automation-api.zod.ts#FlowSummary (type)", + "FlowSummarySchema": "src/api/automation-api.zod.ts#FlowSummarySchema (const)", + "GeneratedApiDocumentation": "src/api/documentation.zod.ts#GeneratedApiDocumentation (type)", + "GeneratedApiDocumentationParsed": "src/api/documentation.zod.ts#GeneratedApiDocumentationParsed (type)", + "GeneratedApiDocumentationSchema": "src/api/documentation.zod.ts#GeneratedApiDocumentationSchema (const)", + "GeneratedEndpoint": "src/api/rest-server.zod.ts#GeneratedEndpoint (type)", + "GeneratedEndpointSchema": "src/api/rest-server.zod.ts#GeneratedEndpointSchema (const)", + "GetAnalyticsMetaRequest": "src/api/analytics.zod.ts#GetAnalyticsMetaRequest (type)", + "GetAnalyticsMetaRequestSchema": "src/api/analytics.zod.ts#GetAnalyticsMetaRequestSchema (const)", + "GetAuthConfigResponse": "src/api/auth-endpoints.zod.ts#GetAuthConfigResponse (type)", + "GetAuthConfigResponseParsed": "src/api/auth-endpoints.zod.ts#GetAuthConfigResponseParsed (type)", + "GetAuthConfigResponseSchema": "src/api/auth-endpoints.zod.ts#GetAuthConfigResponseSchema (const)", + "GetDataRequest": "src/api/protocol.zod.ts#GetDataRequest (type)", + "GetDataRequestSchema": "src/api/protocol.zod.ts#GetDataRequestSchema (const)", + "GetDataResponse": "src/api/protocol.zod.ts#GetDataResponse (type)", + "GetDataResponseSchema": "src/api/protocol.zod.ts#GetDataResponseSchema (const)", + "GetDiscoveryRequest": "src/api/protocol.zod.ts#GetDiscoveryRequest (type)", + "GetDiscoveryRequestSchema": "src/api/protocol.zod.ts#GetDiscoveryRequestSchema (const)", + "GetDiscoveryResponse": "src/api/protocol.zod.ts#GetDiscoveryResponse (type)", + "GetDiscoveryResponseSchema": "src/api/protocol.zod.ts#GetDiscoveryResponseSchema (const)", + "GetEffectivePermissionsRequest": "src/api/protocol.zod.ts#GetEffectivePermissionsRequest (type)", + "GetEffectivePermissionsRequestSchema": "src/api/protocol.zod.ts#GetEffectivePermissionsRequestSchema (const)", + "GetEffectivePermissionsResponse": "src/api/protocol.zod.ts#GetEffectivePermissionsResponse (type)", + "GetEffectivePermissionsResponseSchema": "src/api/protocol.zod.ts#GetEffectivePermissionsResponseSchema (const)", + "GetExportJobDownloadRequest": "src/api/export.zod.ts#GetExportJobDownloadRequest (type)", + "GetExportJobDownloadRequestSchema": "src/api/export.zod.ts#GetExportJobDownloadRequestSchema (const)", + "GetExportJobDownloadResponse": "src/api/export.zod.ts#GetExportJobDownloadResponse (type)", + "GetExportJobDownloadResponseParsed": "src/api/export.zod.ts#GetExportJobDownloadResponseParsed (type)", + "GetExportJobDownloadResponseSchema": "src/api/export.zod.ts#GetExportJobDownloadResponseSchema (const)", + "GetFieldLabelsRequest": "src/api/protocol.zod.ts#GetFieldLabelsRequest (type)", + "GetFieldLabelsRequestSchema": "src/api/protocol.zod.ts#GetFieldLabelsRequestSchema (const)", + "GetFieldLabelsResponse": "src/api/protocol.zod.ts#GetFieldLabelsResponse (type)", + "GetFieldLabelsResponseSchema": "src/api/protocol.zod.ts#GetFieldLabelsResponseSchema (const)", + "GetFlowRequest": "src/api/automation-api.zod.ts#GetFlowRequest (type)", + "GetFlowRequestSchema": "src/api/automation-api.zod.ts#GetFlowRequestSchema (const)", + "GetFlowResponse": "src/api/automation-api.zod.ts#GetFlowResponse (type)", + "GetFlowResponseParsed": "src/api/automation-api.zod.ts#GetFlowResponseParsed (type)", + "GetFlowResponseSchema": "src/api/automation-api.zod.ts#GetFlowResponseSchema (const)", + "GetInstalledPackageRequest": "src/api/package-api.zod.ts#GetInstalledPackageRequest (type)", + "GetInstalledPackageRequestSchema": "src/api/package-api.zod.ts#GetInstalledPackageRequestSchema (const)", + "GetInstalledPackageResponse": "src/api/package-api.zod.ts#GetInstalledPackageResponse (type)", + "GetInstalledPackageResponseParsed": "src/api/package-api.zod.ts#GetInstalledPackageResponseParsed (type)", + "GetInstalledPackageResponseSchema": "src/api/package-api.zod.ts#GetInstalledPackageResponseSchema (const)", + "GetLocalesRequest": "src/api/protocol.zod.ts#GetLocalesRequest (type)", + "GetLocalesRequestSchema": "src/api/protocol.zod.ts#GetLocalesRequestSchema (const)", + "GetLocalesResponse": "src/api/protocol.zod.ts#GetLocalesResponse (type)", + "GetLocalesResponseParsed": "src/api/protocol.zod.ts#GetLocalesResponseParsed (type)", + "GetLocalesResponseSchema": "src/api/protocol.zod.ts#GetLocalesResponseSchema (const)", + "GetMetaItemCachedRequest": "src/api/protocol.zod.ts#GetMetaItemCachedRequest (type)", + "GetMetaItemCachedRequestSchema": "src/api/protocol.zod.ts#GetMetaItemCachedRequestSchema (const)", + "GetMetaItemCachedResponse": "src/api/protocol.zod.ts#GetMetaItemCachedResponse (type)", + "GetMetaItemCachedResponseParsed": "src/api/protocol.zod.ts#GetMetaItemCachedResponseParsed (type)", + "GetMetaItemCachedResponseSchema": "src/api/protocol.zod.ts#GetMetaItemCachedResponseSchema (const)", + "GetMetaItemLayeredResponse": "src/api/protocol.zod.ts#GetMetaItemLayeredResponse (type)", + "GetMetaItemLayeredResponseSchema": "src/api/protocol.zod.ts#GetMetaItemLayeredResponseSchema (const)", + "GetMetaItemRequest": "src/api/protocol.zod.ts#GetMetaItemRequest (type)", + "GetMetaItemRequestSchema": "src/api/protocol.zod.ts#GetMetaItemRequestSchema (const)", + "GetMetaItemResponse": "src/api/protocol.zod.ts#GetMetaItemResponse (type)", + "GetMetaItemResponseSchema": "src/api/protocol.zod.ts#GetMetaItemResponseSchema (const)", + "GetMetaItemsRequest": "src/api/protocol.zod.ts#GetMetaItemsRequest (type)", + "GetMetaItemsRequestSchema": "src/api/protocol.zod.ts#GetMetaItemsRequestSchema (const)", + "GetMetaItemsResponse": "src/api/protocol.zod.ts#GetMetaItemsResponse (type)", + "GetMetaItemsResponseSchema": "src/api/protocol.zod.ts#GetMetaItemsResponseSchema (const)", + "GetMetaTypesRequest": "src/api/protocol.zod.ts#GetMetaTypesRequest (type)", + "GetMetaTypesRequestSchema": "src/api/protocol.zod.ts#GetMetaTypesRequestSchema (const)", + "GetMetaTypesResponse": "src/api/protocol.zod.ts#GetMetaTypesResponse (type)", + "GetMetaTypesResponseSchema": "src/api/protocol.zod.ts#GetMetaTypesResponseSchema (const)", + "GetNotificationPreferencesRequest": "src/api/protocol.zod.ts#GetNotificationPreferencesRequest (type)", + "GetNotificationPreferencesRequestSchema": "src/api/protocol.zod.ts#GetNotificationPreferencesRequestSchema (const)", + "GetNotificationPreferencesResponse": "src/api/protocol.zod.ts#GetNotificationPreferencesResponse (type)", + "GetNotificationPreferencesResponseParsed": "src/api/protocol.zod.ts#GetNotificationPreferencesResponseParsed (type)", + "GetNotificationPreferencesResponseSchema": "src/api/protocol.zod.ts#GetNotificationPreferencesResponseSchema (const)", + "GetObjectPermissionsRequest": "src/api/protocol.zod.ts#GetObjectPermissionsRequest (type)", + "GetObjectPermissionsRequestSchema": "src/api/protocol.zod.ts#GetObjectPermissionsRequestSchema (const)", + "GetObjectPermissionsResponse": "src/api/protocol.zod.ts#GetObjectPermissionsResponse (type)", + "GetObjectPermissionsResponseParsed": "src/api/protocol.zod.ts#GetObjectPermissionsResponseParsed (type)", + "GetObjectPermissionsResponseSchema": "src/api/protocol.zod.ts#GetObjectPermissionsResponseSchema (const)", + "GetPackageRequest": "src/kernel/package-registry.zod.ts#GetPackageRequest (type)", + "GetPackageRequestSchema": "src/kernel/package-registry.zod.ts#GetPackageRequestSchema (const)", + "GetPackageResponse": "src/kernel/package-registry.zod.ts#GetPackageResponse (type)", + "GetPackageResponseSchema": "src/kernel/package-registry.zod.ts#GetPackageResponseSchema (const)", + "GetPresenceRequest": "src/api/protocol.zod.ts#GetPresenceRequest (type)", + "GetPresenceRequestSchema": "src/api/protocol.zod.ts#GetPresenceRequestSchema (const)", + "GetPresenceResponse": "src/api/protocol.zod.ts#GetPresenceResponse (type)", + "GetPresenceResponseSchema": "src/api/protocol.zod.ts#GetPresenceResponseSchema (const)", + "GetPresignedUrlRequest": "src/api/storage.zod.ts#GetPresignedUrlRequest (type)", + "GetPresignedUrlRequestParsed": "src/api/storage.zod.ts#GetPresignedUrlRequestParsed (type)", + "GetPresignedUrlRequestSchema": "src/api/storage.zod.ts#GetPresignedUrlRequestSchema (const)", + "GetRunRequest": "src/api/automation-api.zod.ts#GetRunRequest (type)", + "GetRunRequestSchema": "src/api/automation-api.zod.ts#GetRunRequestSchema (const)", + "GetRunResponse": "src/api/automation-api.zod.ts#GetRunResponse (type)", + "GetRunResponseParsed": "src/api/automation-api.zod.ts#GetRunResponseParsed (type)", + "GetRunResponseSchema": "src/api/automation-api.zod.ts#GetRunResponseSchema (const)", + "GetTranslationsRequest": "src/api/protocol.zod.ts#GetTranslationsRequest (type)", + "GetTranslationsRequestSchema": "src/api/protocol.zod.ts#GetTranslationsRequestSchema (const)", + "GetTranslationsResponse": "src/api/protocol.zod.ts#GetTranslationsResponse (type)", + "GetTranslationsResponseSchema": "src/api/protocol.zod.ts#GetTranslationsResponseSchema (const)", + "GetUiViewRequest": "src/api/protocol.zod.ts#GetUiViewRequest (type)", + "GetUiViewRequestSchema": "src/api/protocol.zod.ts#GetUiViewRequestSchema (const)", + "GetUiViewResponse": "src/api/protocol.zod.ts#GetUiViewResponse (type)", + "GetUiViewResponseParsed": "src/api/protocol.zod.ts#GetUiViewResponseParsed (type)", + "GetUiViewResponseSchema": "src/api/protocol.zod.ts#GetUiViewResponseSchema (const)", + "HandlerStatus": "src/api/plugin-rest-api.zod.ts#HandlerStatus (type)", + "HandlerStatusSchema": "src/api/plugin-rest-api.zod.ts#HandlerStatusSchema (const)", + "HttpFindQueryParamsSchema": "src/api/protocol.zod.ts#HttpFindQueryParamsSchema (const)", + "HttpMethod": "src/shared/http.zod.ts#HttpMethod (type)", + "HttpStatusErrorCodeMap": "src/api/errors.zod.ts#HttpStatusErrorCodeMap (const)", + "I18nProtocol": "src/api/protocol.zod.ts#I18nProtocol (interface)", + "IMPORT_JOB_MAX_ROWS": "src/api/export.zod.ts#IMPORT_JOB_MAX_ROWS (const)", + "IdRequest": "src/api/contract.zod.ts#IdRequest (type)", + "IdRequestSchema": "src/api/contract.zod.ts#IdRequestSchema (const)", + "ImportJobApiContracts": "src/api/export.zod.ts#ImportJobApiContracts (const)", + "ImportJobProgress": "src/api/export.zod.ts#ImportJobProgress (type)", + "ImportJobProgressSchema": "src/api/export.zod.ts#ImportJobProgressSchema (const)", + "ImportJobResults": "src/api/export.zod.ts#ImportJobResults (type)", + "ImportJobResultsSchema": "src/api/export.zod.ts#ImportJobResultsSchema (const)", + "ImportJobStatus": "src/api/export.zod.ts#ImportJobStatus (type)", + "ImportJobSummary": "src/api/export.zod.ts#ImportJobSummary (type)", + "ImportJobSummarySchema": "src/api/export.zod.ts#ImportJobSummarySchema (const)", + "ImportMapping": "src/api/export.zod.ts#ImportMapping (type)", + "ImportMappingParsed": "src/api/export.zod.ts#ImportMappingParsed (type)", + "ImportMappingSchema": "src/api/export.zod.ts#ImportMappingSchema (const)", + "ImportRequest": "src/api/export.zod.ts#ImportRequest (type)", + "ImportRequestParsed": "src/api/export.zod.ts#ImportRequestParsed (type)", + "ImportRequestSchema": "src/api/export.zod.ts#ImportRequestSchema (const)", + "ImportResponse": "src/api/export.zod.ts#ImportResponse (type)", + "ImportResponseSchema": "src/api/export.zod.ts#ImportResponseSchema (const)", + "ImportRowResult": "src/api/export.zod.ts#ImportRowResult (type)", + "ImportRowResultSchema": "src/api/export.zod.ts#ImportRowResultSchema (const)", + "ImportValidationConfig": "src/api/export.zod.ts#ImportValidationConfig (type)", + "ImportValidationConfigParsed": "src/api/export.zod.ts#ImportValidationConfigParsed (type)", + "ImportValidationConfigSchema": "src/api/export.zod.ts#ImportValidationConfigSchema (const)", + "ImportValidationMode": "src/api/export.zod.ts#ImportValidationMode (type)", + "ImportValidationResult": "src/api/export.zod.ts#ImportValidationResult (type)", + "ImportValidationResultParsed": "src/api/export.zod.ts#ImportValidationResultParsed (type)", + "ImportValidationResultSchema": "src/api/export.zod.ts#ImportValidationResultSchema (const)", + "ImportWriteMode": "src/api/export.zod.ts#ImportWriteMode (type)", + "InitiateChunkedUploadRequest": "src/api/storage.zod.ts#InitiateChunkedUploadRequest (type)", + "InitiateChunkedUploadRequestParsed": "src/api/storage.zod.ts#InitiateChunkedUploadRequestParsed (type)", + "InitiateChunkedUploadRequestSchema": "src/api/storage.zod.ts#InitiateChunkedUploadRequestSchema (const)", + "InitiateChunkedUploadResponse": "src/api/storage.zod.ts#InitiateChunkedUploadResponse (type)", + "InitiateChunkedUploadResponseParsed": "src/api/storage.zod.ts#InitiateChunkedUploadResponseParsed (type)", + "InitiateChunkedUploadResponseSchema": "src/api/storage.zod.ts#InitiateChunkedUploadResponseSchema (const)", + "InstallPackageRequest": "src/kernel/package-registry.zod.ts#InstallPackageRequest (type)", + "InstallPackageRequestSchema": "src/kernel/package-registry.zod.ts#InstallPackageRequestSchema (const)", + "InstallPackageResponse": "src/kernel/package-registry.zod.ts#InstallPackageResponse (type)", + "InstallPackageResponseSchema": "src/kernel/package-registry.zod.ts#InstallPackageResponseSchema (const)", + "InstalledPackage": "src/kernel/package-registry.zod.ts#InstalledPackage (type)", + "ListAiConversationsRequest": "src/api/protocol.zod.ts#ListAiConversationsRequest (type)", + "ListAiConversationsRequestSchema": "src/api/protocol.zod.ts#ListAiConversationsRequestSchema (const)", + "ListAiConversationsResponse": "src/api/protocol.zod.ts#ListAiConversationsResponse (type)", + "ListAiConversationsResponseSchema": "src/api/protocol.zod.ts#ListAiConversationsResponseSchema (const)", + "ListAiPendingActionsRequest": "src/api/protocol.zod.ts#ListAiPendingActionsRequest (type)", + "ListAiPendingActionsRequestSchema": "src/api/protocol.zod.ts#ListAiPendingActionsRequestSchema (const)", + "ListAiPendingActionsResponse": "src/api/protocol.zod.ts#ListAiPendingActionsResponse (type)", + "ListAiPendingActionsResponseSchema": "src/api/protocol.zod.ts#ListAiPendingActionsResponseSchema (const)", + "ListExportJobsRequest": "src/api/export.zod.ts#ListExportJobsRequest (type)", + "ListExportJobsRequestParsed": "src/api/export.zod.ts#ListExportJobsRequestParsed (type)", + "ListExportJobsRequestSchema": "src/api/export.zod.ts#ListExportJobsRequestSchema (const)", + "ListExportJobsResponse": "src/api/export.zod.ts#ListExportJobsResponse (type)", + "ListExportJobsResponseParsed": "src/api/export.zod.ts#ListExportJobsResponseParsed (type)", + "ListExportJobsResponseSchema": "src/api/export.zod.ts#ListExportJobsResponseSchema (const)", + "ListFlowsRequest": "src/api/automation-api.zod.ts#ListFlowsRequest (type)", + "ListFlowsRequestParsed": "src/api/automation-api.zod.ts#ListFlowsRequestParsed (type)", + "ListFlowsRequestSchema": "src/api/automation-api.zod.ts#ListFlowsRequestSchema (const)", + "ListFlowsResponse": "src/api/automation-api.zod.ts#ListFlowsResponse (type)", + "ListFlowsResponseParsed": "src/api/automation-api.zod.ts#ListFlowsResponseParsed (type)", + "ListFlowsResponseSchema": "src/api/automation-api.zod.ts#ListFlowsResponseSchema (const)", + "ListImportJobsRequest": "src/api/export.zod.ts#ListImportJobsRequest (type)", + "ListImportJobsRequestParsed": "src/api/export.zod.ts#ListImportJobsRequestParsed (type)", + "ListImportJobsRequestSchema": "src/api/export.zod.ts#ListImportJobsRequestSchema (const)", + "ListImportJobsResponse": "src/api/export.zod.ts#ListImportJobsResponse (type)", + "ListImportJobsResponseSchema": "src/api/export.zod.ts#ListImportJobsResponseSchema (const)", + "ListInstalledPackagesRequest": "src/api/package-api.zod.ts#ListInstalledPackagesRequest (type)", + "ListInstalledPackagesRequestParsed": "src/api/package-api.zod.ts#ListInstalledPackagesRequestParsed (type)", + "ListInstalledPackagesRequestSchema": "src/api/package-api.zod.ts#ListInstalledPackagesRequestSchema (const)", + "ListInstalledPackagesResponse": "src/api/package-api.zod.ts#ListInstalledPackagesResponse (type)", + "ListInstalledPackagesResponseParsed": "src/api/package-api.zod.ts#ListInstalledPackagesResponseParsed (type)", + "ListInstalledPackagesResponseSchema": "src/api/package-api.zod.ts#ListInstalledPackagesResponseSchema (const)", + "ListNotificationsRequest": "src/api/protocol.zod.ts#ListNotificationsRequest (type)", + "ListNotificationsRequestParsed": "src/api/protocol.zod.ts#ListNotificationsRequestParsed (type)", + "ListNotificationsRequestSchema": "src/api/protocol.zod.ts#ListNotificationsRequestSchema (const)", + "ListNotificationsResponse": "src/api/protocol.zod.ts#ListNotificationsResponse (type)", + "ListNotificationsResponseParsed": "src/api/protocol.zod.ts#ListNotificationsResponseParsed (type)", + "ListNotificationsResponseSchema": "src/api/protocol.zod.ts#ListNotificationsResponseSchema (const)", + "ListPackagesRequest": "src/kernel/package-registry.zod.ts#ListPackagesRequest (type)", + "ListPackagesRequestSchema": "src/kernel/package-registry.zod.ts#ListPackagesRequestSchema (const)", + "ListPackagesResponse": "src/kernel/package-registry.zod.ts#ListPackagesResponse (type)", + "ListPackagesResponseSchema": "src/kernel/package-registry.zod.ts#ListPackagesResponseSchema (const)", + "ListRecordResponse": "src/api/contract.zod.ts#ListRecordResponse (type)", + "ListRecordResponseParsed": "src/api/contract.zod.ts#ListRecordResponseParsed (type)", + "ListRecordResponseSchema": "src/api/contract.zod.ts#ListRecordResponseSchema (const)", + "ListRunsRequest": "src/api/automation-api.zod.ts#ListRunsRequest (type)", + "ListRunsRequestParsed": "src/api/automation-api.zod.ts#ListRunsRequestParsed (type)", + "ListRunsRequestSchema": "src/api/automation-api.zod.ts#ListRunsRequestSchema (const)", + "ListRunsResponse": "src/api/automation-api.zod.ts#ListRunsResponse (type)", + "ListRunsResponseParsed": "src/api/automation-api.zod.ts#ListRunsResponseParsed (type)", + "ListRunsResponseSchema": "src/api/automation-api.zod.ts#ListRunsResponseSchema (const)", + "LoginRequest": "src/api/auth.zod.ts#LoginRequest (type)", + "LoginRequestParsed": "src/api/auth.zod.ts#LoginRequestParsed (type)", + "LoginRequestSchema": "src/api/auth.zod.ts#LoginRequestSchema (const)", + "LoginType": "src/api/auth.zod.ts#LoginType (type)", + "MarkAllNotificationsReadRequest": "src/api/protocol.zod.ts#MarkAllNotificationsReadRequest (type)", + "MarkAllNotificationsReadRequestSchema": "src/api/protocol.zod.ts#MarkAllNotificationsReadRequestSchema (const)", + "MarkAllNotificationsReadResponse": "src/api/protocol.zod.ts#MarkAllNotificationsReadResponse (type)", + "MarkAllNotificationsReadResponseSchema": "src/api/protocol.zod.ts#MarkAllNotificationsReadResponseSchema (const)", + "MarkNotificationsReadRequest": "src/api/protocol.zod.ts#MarkNotificationsReadRequest (type)", + "MarkNotificationsReadRequestSchema": "src/api/protocol.zod.ts#MarkNotificationsReadRequestSchema (const)", + "MarkNotificationsReadResponse": "src/api/protocol.zod.ts#MarkNotificationsReadResponse (type)", + "MarkNotificationsReadResponseSchema": "src/api/protocol.zod.ts#MarkNotificationsReadResponseSchema (const)", + "MetadataBulkRegisterRequest": "src/api/metadata.zod.ts#MetadataBulkRegisterRequest (type)", + "MetadataBulkRegisterRequestParsed": "src/api/metadata.zod.ts#MetadataBulkRegisterRequestParsed (type)", + "MetadataBulkRegisterRequestSchema": "src/api/metadata.zod.ts#MetadataBulkRegisterRequestSchema (const)", + "MetadataBulkResponse": "src/api/metadata.zod.ts#MetadataBulkResponse (type)", + "MetadataBulkResponseParsed": "src/api/metadata.zod.ts#MetadataBulkResponseParsed (type)", + "MetadataBulkResponseSchema": "src/api/metadata.zod.ts#MetadataBulkResponseSchema (const)", + "MetadataBulkUnregisterRequest": "src/api/metadata.zod.ts#MetadataBulkUnregisterRequest (type)", + "MetadataBulkUnregisterRequestSchema": "src/api/metadata.zod.ts#MetadataBulkUnregisterRequestSchema (const)", + "MetadataCacheApi": "src/api/http-cache.zod.ts#MetadataCacheApi (const)", + "MetadataCacheRequest": "src/api/http-cache.zod.ts#MetadataCacheRequest (type)", + "MetadataCacheRequestSchema": "src/api/http-cache.zod.ts#MetadataCacheRequestSchema (const)", + "MetadataCacheResponse": "src/api/http-cache.zod.ts#MetadataCacheResponse (type)", + "MetadataCacheResponseParsed": "src/api/http-cache.zod.ts#MetadataCacheResponseParsed (type)", + "MetadataCacheResponseSchema": "src/api/http-cache.zod.ts#MetadataCacheResponseSchema (const)", + "MetadataDeleteResponse": "src/api/metadata.zod.ts#MetadataDeleteResponse (type)", + "MetadataDeleteResponseParsed": "src/api/metadata.zod.ts#MetadataDeleteResponseParsed (type)", + "MetadataDeleteResponseSchema": "src/api/metadata.zod.ts#MetadataDeleteResponseSchema (const)", + "MetadataDependenciesResponse": "src/api/metadata.zod.ts#MetadataDependenciesResponse (type)", + "MetadataDependenciesResponseParsed": "src/api/metadata.zod.ts#MetadataDependenciesResponseParsed (type)", + "MetadataDependenciesResponseSchema": "src/api/metadata.zod.ts#MetadataDependenciesResponseSchema (const)", + "MetadataDependentsResponse": "src/api/metadata.zod.ts#MetadataDependentsResponse (type)", + "MetadataDependentsResponseParsed": "src/api/metadata.zod.ts#MetadataDependentsResponseParsed (type)", + "MetadataDependentsResponseSchema": "src/api/metadata.zod.ts#MetadataDependentsResponseSchema (const)", + "MetadataEffectiveResponse": "src/api/metadata.zod.ts#MetadataEffectiveResponse (type)", + "MetadataEffectiveResponseParsed": "src/api/metadata.zod.ts#MetadataEffectiveResponseParsed (type)", + "MetadataEffectiveResponseSchema": "src/api/metadata.zod.ts#MetadataEffectiveResponseSchema (const)", + "MetadataEndpointsConfig": "src/api/rest-server.zod.ts#MetadataEndpointsConfig (type)", + "MetadataEndpointsConfigParsed": "src/api/rest-server.zod.ts#MetadataEndpointsConfigParsed (type)", + "MetadataEndpointsConfigSchema": "src/api/rest-server.zod.ts#MetadataEndpointsConfigSchema (const)", + "MetadataEvent": "src/api/events.zod.ts#MetadataEvent (type)", + "MetadataEventSchema": "src/api/events.zod.ts#MetadataEventSchema (const)", + "MetadataEventSubject": "src/api/events.zod.ts#MetadataEventSubject (type)", + "MetadataEventType": "src/api/events.zod.ts#MetadataEventType (type)", + "MetadataExistsResponse": "src/api/metadata.zod.ts#MetadataExistsResponse (type)", + "MetadataExistsResponseParsed": "src/api/metadata.zod.ts#MetadataExistsResponseParsed (type)", + "MetadataExistsResponseSchema": "src/api/metadata.zod.ts#MetadataExistsResponseSchema (const)", + "MetadataExportRequestSchema": "src/api/metadata.zod.ts#MetadataExportRequestSchema (const)", + "MetadataExportResponse": "src/api/metadata.zod.ts#MetadataExportResponse (type)", + "MetadataExportResponseParsed": "src/api/metadata.zod.ts#MetadataExportResponseParsed (type)", + "MetadataExportResponseSchema": "src/api/metadata.zod.ts#MetadataExportResponseSchema (const)", + "MetadataImportRequestSchema": "src/api/metadata.zod.ts#MetadataImportRequestSchema (const)", + "MetadataImportResponse": "src/api/metadata.zod.ts#MetadataImportResponse (type)", + "MetadataImportResponseParsed": "src/api/metadata.zod.ts#MetadataImportResponseParsed (type)", + "MetadataImportResponseSchema": "src/api/metadata.zod.ts#MetadataImportResponseSchema (const)", + "MetadataItemResponse": "src/api/metadata.zod.ts#MetadataItemResponse (type)", + "MetadataItemResponseParsed": "src/api/metadata.zod.ts#MetadataItemResponseParsed (type)", + "MetadataItemResponseSchema": "src/api/metadata.zod.ts#MetadataItemResponseSchema (const)", + "MetadataListResponse": "src/api/metadata.zod.ts#MetadataListResponse (type)", + "MetadataListResponseParsed": "src/api/metadata.zod.ts#MetadataListResponseParsed (type)", + "MetadataListResponseSchema": "src/api/metadata.zod.ts#MetadataListResponseSchema (const)", + "MetadataNamesResponse": "src/api/metadata.zod.ts#MetadataNamesResponse (type)", + "MetadataNamesResponseParsed": "src/api/metadata.zod.ts#MetadataNamesResponseParsed (type)", + "MetadataNamesResponseSchema": "src/api/metadata.zod.ts#MetadataNamesResponseSchema (const)", + "MetadataOverlayResponse": "src/api/metadata.zod.ts#MetadataOverlayResponse (type)", + "MetadataOverlayResponseParsed": "src/api/metadata.zod.ts#MetadataOverlayResponseParsed (type)", + "MetadataOverlayResponseSchema": "src/api/metadata.zod.ts#MetadataOverlayResponseSchema (const)", + "MetadataOverlaySaveRequestSchema": "src/api/metadata.zod.ts#MetadataOverlaySaveRequestSchema (const)", + "MetadataProtocol": "src/api/protocol.zod.ts#MetadataProtocol (interface)", + "MetadataQueryRequestSchema": "src/api/metadata.zod.ts#MetadataQueryRequestSchema (const)", + "MetadataQueryResponse": "src/api/metadata.zod.ts#MetadataQueryResponse (type)", + "MetadataQueryResponseParsed": "src/api/metadata.zod.ts#MetadataQueryResponseParsed (type)", + "MetadataQueryResponseSchema": "src/api/metadata.zod.ts#MetadataQueryResponseSchema (const)", + "MetadataRegisterRequest": "src/api/metadata.zod.ts#MetadataRegisterRequest (type)", + "MetadataRegisterRequestSchema": "src/api/metadata.zod.ts#MetadataRegisterRequestSchema (const)", + "MetadataTypeInfoResponse": "src/api/metadata.zod.ts#MetadataTypeInfoResponse (type)", + "MetadataTypeInfoResponseParsed": "src/api/metadata.zod.ts#MetadataTypeInfoResponseParsed (type)", + "MetadataTypeInfoResponseSchema": "src/api/metadata.zod.ts#MetadataTypeInfoResponseSchema (const)", + "MetadataTypesResponse": "src/api/metadata.zod.ts#MetadataTypesResponse (type)", + "MetadataTypesResponseParsed": "src/api/metadata.zod.ts#MetadataTypesResponseParsed (type)", + "MetadataTypesResponseSchema": "src/api/metadata.zod.ts#MetadataTypesResponseSchema (const)", + "MetadataValidateRequest": "src/api/metadata.zod.ts#MetadataValidateRequest (type)", + "MetadataValidateRequestSchema": "src/api/metadata.zod.ts#MetadataValidateRequestSchema (const)", + "MetadataValidateResponse": "src/api/metadata.zod.ts#MetadataValidateResponse (type)", + "MetadataValidateResponseParsed": "src/api/metadata.zod.ts#MetadataValidateResponseParsed (type)", + "MetadataValidateResponseSchema": "src/api/metadata.zod.ts#MetadataValidateResponseSchema (const)", + "ModificationResult": "src/api/contract.zod.ts#ModificationResult (type)", + "ModificationResultParsed": "src/api/contract.zod.ts#ModificationResultParsed (type)", + "ModificationResultSchema": "src/api/contract.zod.ts#ModificationResultSchema (const)", + "Notification": "src/api/protocol.zod.ts#Notification (type)", + "NotificationParsed": "src/api/protocol.zod.ts#NotificationParsed (type)", + "NotificationPreferences": "src/api/protocol.zod.ts#NotificationPreferences (type)", + "NotificationPreferencesParsed": "src/api/protocol.zod.ts#NotificationPreferencesParsed (type)", + "NotificationPreferencesSchema": "src/api/protocol.zod.ts#NotificationPreferencesSchema (const)", + "NotificationProtocol": "src/api/protocol.zod.ts#NotificationProtocol (interface)", + "NotificationSchema": "src/api/protocol.zod.ts#NotificationSchema (const)", + "OData": "src/api/odata.zod.ts#OData (const)", + "ODataConfig": "src/api/odata.zod.ts#ODataConfig (type)", + "ODataConfigParsed": "src/api/odata.zod.ts#ODataConfigParsed (type)", + "ODataConfigSchema": "src/api/odata.zod.ts#ODataConfigSchema (const)", + "ODataError": "src/api/odata.zod.ts#ODataError (type)", + "ODataErrorSchema": "src/api/odata.zod.ts#ODataErrorSchema (const)", + "ODataFilterFunction": "src/api/odata.zod.ts#ODataFilterFunction (type)", + "ODataFilterFunctionSchema": "src/api/odata.zod.ts#ODataFilterFunctionSchema (const)", + "ODataMetadata": "src/api/odata.zod.ts#ODataMetadata (type)", + "ODataMetadataParsed": "src/api/odata.zod.ts#ODataMetadataParsed (type)", + "ODataMetadataSchema": "src/api/odata.zod.ts#ODataMetadataSchema (const)", + "ODataQuery": "src/api/odata.zod.ts#ODataQuery (type)", + "ODataQueryAdapter": "src/api/query-adapter.zod.ts#ODataQueryAdapter (type)", + "ODataQueryAdapterParsed": "src/api/query-adapter.zod.ts#ODataQueryAdapterParsed (type)", + "ODataQueryAdapterSchema": "src/api/query-adapter.zod.ts#ODataQueryAdapterSchema (const)", + "ODataQuerySchema": "src/api/odata.zod.ts#ODataQuerySchema (const)", + "ODataResponse": "src/api/odata.zod.ts#ODataResponse (type)", + "ODataResponseSchema": "src/api/odata.zod.ts#ODataResponseSchema (const)", + "ObjectDefinitionResponse": "src/api/metadata.zod.ts#ObjectDefinitionResponse (type)", + "ObjectDefinitionResponseParsed": "src/api/metadata.zod.ts#ObjectDefinitionResponseParsed (type)", + "ObjectDefinitionResponseSchema": "src/api/metadata.zod.ts#ObjectDefinitionResponseSchema (const)", + "OpenApiGenerationConfig": "src/api/plugin-rest-api.zod.ts#OpenApiGenerationConfig (type)", + "OpenApiGenerationConfigParsed": "src/api/plugin-rest-api.zod.ts#OpenApiGenerationConfigParsed (type)", + "OpenApiGenerationConfigSchema": "src/api/plugin-rest-api.zod.ts#OpenApiGenerationConfigSchema (const)", + "OpenApiSecurityScheme": "src/api/documentation.zod.ts#OpenApiSecurityScheme (type)", + "OpenApiSecuritySchemeSchema": "src/api/documentation.zod.ts#OpenApiSecuritySchemeSchema (const)", + "OpenApiServer": "src/api/documentation.zod.ts#OpenApiServer (type)", + "OpenApiServerSchema": "src/api/documentation.zod.ts#OpenApiServerSchema (const)", + "OpenApiSpec": "src/api/documentation.zod.ts#OpenApiSpec (type)", + "OpenApiSpecParsed": "src/api/documentation.zod.ts#OpenApiSpecParsed (type)", + "OpenApiSpecSchema": "src/api/documentation.zod.ts#OpenApiSpecSchema (const)", + "OperatorMapping": "src/api/query-adapter.zod.ts#OperatorMapping (type)", + "OperatorMappingSchema": "src/api/query-adapter.zod.ts#OperatorMappingSchema (const)", + "PackageApiContracts": "src/api/package-api.zod.ts#PackageApiContracts (const)", + "PackageApiErrorCode": "src/api/package-api.zod.ts#PackageApiErrorCode (type)", + "PackageInstallRequest": "src/api/package-api.zod.ts#PackageInstallRequest (type)", + "PackageInstallRequestParsed": "src/api/package-api.zod.ts#PackageInstallRequestParsed (type)", + "PackageInstallRequestSchema": "src/api/package-api.zod.ts#PackageInstallRequestSchema (const)", + "PackageInstallResponse": "src/api/package-api.zod.ts#PackageInstallResponse (type)", + "PackageInstallResponseParsed": "src/api/package-api.zod.ts#PackageInstallResponseParsed (type)", + "PackageInstallResponseSchema": "src/api/package-api.zod.ts#PackageInstallResponseSchema (const)", + "PackagePathParams": "src/api/package-api.zod.ts#PackagePathParams (type)", + "PackagePathParamsSchema": "src/api/package-api.zod.ts#PackagePathParamsSchema (const)", + "PackageProtocol": "src/api/protocol.zod.ts#PackageProtocol (interface)", + "PackageRollbackRequest": "src/api/package-api.zod.ts#PackageRollbackRequest (type)", + "PackageRollbackRequestParsed": "src/api/package-api.zod.ts#PackageRollbackRequestParsed (type)", + "PackageRollbackRequestSchema": "src/api/package-api.zod.ts#PackageRollbackRequestSchema (const)", + "PackageRollbackResponse": "src/api/package-api.zod.ts#PackageRollbackResponse (type)", + "PackageRollbackResponseParsed": "src/api/package-api.zod.ts#PackageRollbackResponseParsed (type)", + "PackageRollbackResponseSchema": "src/api/package-api.zod.ts#PackageRollbackResponseSchema (const)", + "PackageStatus": "src/kernel/package-registry.zod.ts#PackageStatus (type)", + "PackageUpgradeRequest": "src/api/package-api.zod.ts#PackageUpgradeRequest (type)", + "PackageUpgradeRequestParsed": "src/api/package-api.zod.ts#PackageUpgradeRequestParsed (type)", + "PackageUpgradeRequestSchema": "src/api/package-api.zod.ts#PackageUpgradeRequestSchema (const)", + "PackageUpgradeResponse": "src/api/package-api.zod.ts#PackageUpgradeResponse (type)", + "PackageUpgradeResponseParsed": "src/api/package-api.zod.ts#PackageUpgradeResponseParsed (type)", + "PackageUpgradeResponseSchema": "src/api/package-api.zod.ts#PackageUpgradeResponseSchema (const)", + "PermissionProtocol": "src/api/protocol.zod.ts#PermissionProtocol (interface)", + "PingMessage": "src/api/websocket.zod.ts#PingMessage (type)", + "PingMessageSchema": "src/api/websocket.zod.ts#PingMessageSchema (const)", + "PongMessage": "src/api/websocket.zod.ts#PongMessage (type)", + "PongMessageSchema": "src/api/websocket.zod.ts#PongMessageSchema (const)", + "PresenceMessage": "src/api/websocket.zod.ts#PresenceMessage (type)", + "PresenceMessageSchema": "src/api/websocket.zod.ts#PresenceMessageSchema (const)", + "PresenceState": "src/api/websocket.zod.ts#PresenceState (type)", + "PresenceStateSchema": "src/api/websocket.zod.ts#PresenceStateSchema (const)", + "PresenceStatus": "src/api/realtime-shared.zod.ts#PresenceStatus (type)", + "PresenceUpdate": "src/api/websocket.zod.ts#PresenceUpdate (type)", + "PresenceUpdateSchema": "src/api/websocket.zod.ts#PresenceUpdateSchema (const)", + "PresignedUrlResponse": "src/api/storage.zod.ts#PresignedUrlResponse (type)", + "PresignedUrlResponseParsed": "src/api/storage.zod.ts#PresignedUrlResponseParsed (type)", + "PresignedUrlResponseSchema": "src/api/storage.zod.ts#PresignedUrlResponseSchema (const)", + "QueryAdapterConfig": "src/api/query-adapter.zod.ts#QueryAdapterConfig (type)", + "QueryAdapterConfigParsed": "src/api/query-adapter.zod.ts#QueryAdapterConfigParsed (type)", + "QueryAdapterConfigSchema": "src/api/query-adapter.zod.ts#QueryAdapterConfigSchema (const)", + "QueryAdapterTarget": "src/api/query-adapter.zod.ts#QueryAdapterTarget (type)", + "QueryAdapterTargetSchema": "src/api/query-adapter.zod.ts#QueryAdapterTargetSchema (const)", + "QueryOptimizationConfig": "src/api/contract.zod.ts#QueryOptimizationConfig (type)", + "QueryOptimizationConfigParsed": "src/api/contract.zod.ts#QueryOptimizationConfigParsed (type)", + "QueryOptimizationConfigSchema": "src/api/contract.zod.ts#QueryOptimizationConfigSchema (const)", + "REGISTERED_ERROR_CODES": "src/api/error-code-ledger.zod.ts#REGISTERED_ERROR_CODES (const)", + "RawUploadResponse": "src/api/storage.zod.ts#RawUploadResponse (type)", + "RawUploadResponseParsed": "src/api/storage.zod.ts#RawUploadResponseParsed (type)", + "RawUploadResponseSchema": "src/api/storage.zod.ts#RawUploadResponseSchema (const)", + "RealtimeConfig": "src/api/realtime.zod.ts#RealtimeConfig (type)", + "RealtimeConfigParsed": "src/api/realtime.zod.ts#RealtimeConfigParsed (type)", + "RealtimeConfigSchema": "src/api/realtime.zod.ts#RealtimeConfigSchema (const)", + "RealtimeConnectRequest": "src/api/protocol.zod.ts#RealtimeConnectRequest (type)", + "RealtimeConnectRequestSchema": "src/api/protocol.zod.ts#RealtimeConnectRequestSchema (const)", + "RealtimeConnectResponse": "src/api/protocol.zod.ts#RealtimeConnectResponse (type)", + "RealtimeConnectResponseSchema": "src/api/protocol.zod.ts#RealtimeConnectResponseSchema (const)", + "RealtimeDisconnectRequest": "src/api/protocol.zod.ts#RealtimeDisconnectRequest (type)", + "RealtimeDisconnectRequestSchema": "src/api/protocol.zod.ts#RealtimeDisconnectRequestSchema (const)", + "RealtimeDisconnectResponse": "src/api/protocol.zod.ts#RealtimeDisconnectResponse (type)", + "RealtimeDisconnectResponseSchema": "src/api/protocol.zod.ts#RealtimeDisconnectResponseSchema (const)", + "RealtimeEvent": "src/api/realtime.zod.ts#RealtimeEvent (type)", + "RealtimeEventSchema": "src/api/realtime.zod.ts#RealtimeEventSchema (const)", + "RealtimeEventType": "src/api/realtime.zod.ts#RealtimeEventType (type)", + "RealtimePresence": "src/api/realtime.zod.ts#RealtimePresence (type)", + "RealtimePresenceSchema": "src/api/realtime.zod.ts#RealtimePresenceSchema (const)", + "RealtimeProtocol": "src/api/protocol.zod.ts#RealtimeProtocol (interface)", + "RealtimeRecordAction": "src/api/realtime-shared.zod.ts#RealtimeRecordAction (type)", + "RealtimeSubscribeRequest": "src/api/protocol.zod.ts#RealtimeSubscribeRequest (type)", + "RealtimeSubscribeRequestSchema": "src/api/protocol.zod.ts#RealtimeSubscribeRequestSchema (const)", + "RealtimeSubscribeResponse": "src/api/protocol.zod.ts#RealtimeSubscribeResponse (type)", + "RealtimeSubscribeResponseSchema": "src/api/protocol.zod.ts#RealtimeSubscribeResponseSchema (const)", + "RealtimeUnsubscribeRequest": "src/api/protocol.zod.ts#RealtimeUnsubscribeRequest (type)", + "RealtimeUnsubscribeRequestSchema": "src/api/protocol.zod.ts#RealtimeUnsubscribeRequestSchema (const)", + "RealtimeUnsubscribeResponse": "src/api/protocol.zod.ts#RealtimeUnsubscribeResponse (type)", + "RealtimeUnsubscribeResponseSchema": "src/api/protocol.zod.ts#RealtimeUnsubscribeResponseSchema (const)", + "RecordData": "src/api/contract.zod.ts#RecordData (type)", + "RecordDataSchema": "src/api/contract.zod.ts#RecordDataSchema (const)", + "RefreshTokenRequest": "src/api/auth.zod.ts#RefreshTokenRequest (type)", + "RefreshTokenRequestSchema": "src/api/auth.zod.ts#RefreshTokenRequestSchema (const)", + "RegisterDeviceRequest": "src/api/protocol.zod.ts#RegisterDeviceRequest (type)", + "RegisterDeviceRequestSchema": "src/api/protocol.zod.ts#RegisterDeviceRequestSchema (const)", + "RegisterDeviceResponse": "src/api/protocol.zod.ts#RegisterDeviceResponse (type)", + "RegisterDeviceResponseSchema": "src/api/protocol.zod.ts#RegisterDeviceResponseSchema (const)", + "RegisterRequest": "src/api/auth.zod.ts#RegisterRequest (type)", + "RegisterRequestSchema": "src/api/auth.zod.ts#RegisterRequestSchema (const)", + "RegisteredErrorCode": "src/api/error-code-ledger.zod.ts#RegisteredErrorCode (type)", + "RejectAiPendingActionResponse": "src/api/protocol.zod.ts#RejectAiPendingActionResponse (type)", + "RejectAiPendingActionResponseSchema": "src/api/protocol.zod.ts#RejectAiPendingActionResponseSchema (const)", + "RequestValidationConfig": "src/api/plugin-rest-api.zod.ts#RequestValidationConfig (type)", + "RequestValidationConfigParsed": "src/api/plugin-rest-api.zod.ts#RequestValidationConfigParsed (type)", + "RequestValidationConfigSchema": "src/api/plugin-rest-api.zod.ts#RequestValidationConfigSchema (const)", + "ResolveDependenciesRequest": "src/api/package-api.zod.ts#ResolveDependenciesRequest (type)", + "ResolveDependenciesRequestParsed": "src/api/package-api.zod.ts#ResolveDependenciesRequestParsed (type)", + "ResolveDependenciesRequestSchema": "src/api/package-api.zod.ts#ResolveDependenciesRequestSchema (const)", + "ResolveDependenciesResponse": "src/api/package-api.zod.ts#ResolveDependenciesResponse (type)", + "ResolveDependenciesResponseParsed": "src/api/package-api.zod.ts#ResolveDependenciesResponseParsed (type)", + "ResolveDependenciesResponseSchema": "src/api/package-api.zod.ts#ResolveDependenciesResponseSchema (const)", + "ResponseEnvelopeConfig": "src/api/plugin-rest-api.zod.ts#ResponseEnvelopeConfig (type)", + "ResponseEnvelopeConfigParsed": "src/api/plugin-rest-api.zod.ts#ResponseEnvelopeConfigParsed (type)", + "ResponseEnvelopeConfigSchema": "src/api/plugin-rest-api.zod.ts#ResponseEnvelopeConfigSchema (const)", + "RestApiConfig": "src/api/rest-server.zod.ts#RestApiConfig (type)", + "RestApiConfigParsed": "src/api/rest-server.zod.ts#RestApiConfigParsed (type)", + "RestApiConfigSchema": "src/api/rest-server.zod.ts#RestApiConfigSchema (const)", + "RestApiEndpoint": "src/api/plugin-rest-api.zod.ts#RestApiEndpoint (type)", + "RestApiEndpointParsed": "src/api/plugin-rest-api.zod.ts#RestApiEndpointParsed (type)", + "RestApiEndpointSchema": "src/api/plugin-rest-api.zod.ts#RestApiEndpointSchema (const)", + "RestApiPluginConfig": "src/api/plugin-rest-api.zod.ts#RestApiPluginConfig (type)", + "RestApiPluginConfigParsed": "src/api/plugin-rest-api.zod.ts#RestApiPluginConfigParsed (type)", + "RestApiPluginConfigSchema": "src/api/plugin-rest-api.zod.ts#RestApiPluginConfigSchema (const)", + "RestApiRouteCategory": "src/api/plugin-rest-api.zod.ts#RestApiRouteCategory (type)", + "RestApiRouteRegistration": "src/api/plugin-rest-api.zod.ts#RestApiRouteRegistration (type)", + "RestApiRouteRegistrationParsed": "src/api/plugin-rest-api.zod.ts#RestApiRouteRegistrationParsed (type)", + "RestApiRouteRegistrationSchema": "src/api/plugin-rest-api.zod.ts#RestApiRouteRegistrationSchema (const)", + "RestQueryAdapter": "src/api/query-adapter.zod.ts#RestQueryAdapter (type)", + "RestQueryAdapterParsed": "src/api/query-adapter.zod.ts#RestQueryAdapterParsed (type)", + "RestQueryAdapterSchema": "src/api/query-adapter.zod.ts#RestQueryAdapterSchema (const)", + "RestServerConfig": "src/api/rest-server.zod.ts#RestServerConfig (type)", + "RestServerConfigParsed": "src/api/rest-server.zod.ts#RestServerConfigParsed (type)", + "RestServerConfigSchema": "src/api/rest-server.zod.ts#RestServerConfigSchema (const)", + "RetryStrategy": "src/api/errors.zod.ts#RetryStrategy (type)", + "RouteCategory": "src/api/router.zod.ts#RouteCategory (type)", + "RouteCoverageEntry": "src/api/plugin-rest-api.zod.ts#RouteCoverageEntry (type)", + "RouteCoverageEntrySchema": "src/api/plugin-rest-api.zod.ts#RouteCoverageEntrySchema (const)", + "RouteCoverageReport": "src/api/plugin-rest-api.zod.ts#RouteCoverageReport (type)", + "RouteCoverageReportSchema": "src/api/plugin-rest-api.zod.ts#RouteCoverageReportSchema (const)", + "RouteDefinition": "src/api/router.zod.ts#RouteDefinition (type)", + "RouteDefinitionParsed": "src/api/router.zod.ts#RouteDefinitionParsed (type)", + "RouteDefinitionSchema": "src/api/router.zod.ts#RouteDefinitionSchema (const)", + "RouteGenerationConfig": "src/api/rest-server.zod.ts#RouteGenerationConfig (type)", + "RouteGenerationConfigParsed": "src/api/rest-server.zod.ts#RouteGenerationConfigParsed (type)", + "RouteGenerationConfigSchema": "src/api/rest-server.zod.ts#RouteGenerationConfigSchema (const)", + "RouteHealthEntry": "src/api/discovery.zod.ts#RouteHealthEntry (type)", + "RouteHealthEntrySchema": "src/api/discovery.zod.ts#RouteHealthEntrySchema (const)", + "RouteHealthReport": "src/api/discovery.zod.ts#RouteHealthReport (type)", + "RouteHealthReportSchema": "src/api/discovery.zod.ts#RouteHealthReportSchema (const)", + "RouterConfig": "src/api/router.zod.ts#RouterConfig (type)", + "RouterConfigParsed": "src/api/router.zod.ts#RouterConfigParsed (type)", + "RouterConfigSchema": "src/api/router.zod.ts#RouterConfigSchema (const)", + "SERVICE_SELF_INFO_KEY": "src/api/discovery.zod.ts#SERVICE_SELF_INFO_KEY (const)", + "SaveMetaItemRequest": "src/api/protocol.zod.ts#SaveMetaItemRequest (type)", + "SaveMetaItemRequestSchema": "src/api/protocol.zod.ts#SaveMetaItemRequestSchema (const)", + "SaveMetaItemResponse": "src/api/protocol.zod.ts#SaveMetaItemResponse (type)", + "SaveMetaItemResponseSchema": "src/api/protocol.zod.ts#SaveMetaItemResponseSchema (const)", + "ScheduleExportRequest": "src/api/export.zod.ts#ScheduleExportRequest (type)", + "ScheduleExportRequestParsed": "src/api/export.zod.ts#ScheduleExportRequestParsed (type)", + "ScheduleExportRequestSchema": "src/api/export.zod.ts#ScheduleExportRequestSchema (const)", + "ScheduleExportResponse": "src/api/export.zod.ts#ScheduleExportResponse (type)", + "ScheduleExportResponseParsed": "src/api/export.zod.ts#ScheduleExportResponseParsed (type)", + "ScheduleExportResponseSchema": "src/api/export.zod.ts#ScheduleExportResponseSchema (const)", + "ScheduledExport": "src/api/export.zod.ts#ScheduledExport (type)", + "ScheduledExportParsed": "src/api/export.zod.ts#ScheduledExportParsed (type)", + "ScheduledExportSchema": "src/api/export.zod.ts#ScheduledExportSchema (const)", + "ServiceInfo": "src/api/discovery.zod.ts#ServiceInfo (type)", + "ServiceInfoSchema": "src/api/discovery.zod.ts#ServiceInfoSchema (const)", + "ServiceSelfInfo": "src/api/discovery.zod.ts#ServiceSelfInfo (type)", + "ServiceSelfInfoSchema": "src/api/discovery.zod.ts#ServiceSelfInfoSchema (const)", + "ServiceStatus": "src/api/discovery.zod.ts#ServiceStatus (type)", + "Session": "src/api/auth.zod.ts#Session (type)", + "SessionResponse": "src/api/auth.zod.ts#SessionResponse (type)", + "SessionResponseParsed": "src/api/auth.zod.ts#SessionResponseParsed (type)", + "SessionResponseSchema": "src/api/auth.zod.ts#SessionResponseSchema (const)", + "SessionSchema": "src/api/auth.zod.ts#SessionSchema (const)", + "SessionUser": "src/api/auth.zod.ts#SessionUser (type)", + "SessionUserParsed": "src/api/auth.zod.ts#SessionUserParsed (type)", + "SessionUserSchema": "src/api/auth.zod.ts#SessionUserSchema (const)", + "SetPresenceRequest": "src/api/protocol.zod.ts#SetPresenceRequest (type)", + "SetPresenceRequestSchema": "src/api/protocol.zod.ts#SetPresenceRequestSchema (const)", + "SetPresenceResponse": "src/api/protocol.zod.ts#SetPresenceResponse (type)", + "SetPresenceResponseSchema": "src/api/protocol.zod.ts#SetPresenceResponseSchema (const)", + "SimpleCursorPosition": "src/api/websocket.zod.ts#SimpleCursorPosition (type)", + "SimpleCursorPositionSchema": "src/api/websocket.zod.ts#SimpleCursorPositionSchema (const)", + "SimplePresenceState": "src/api/websocket.zod.ts#SimplePresenceState (type)", + "SimplePresenceStateSchema": "src/api/websocket.zod.ts#SimplePresenceStateSchema (const)", + "SingleRecordResponse": "src/api/contract.zod.ts#SingleRecordResponse (type)", + "SingleRecordResponseParsed": "src/api/contract.zod.ts#SingleRecordResponseParsed (type)", + "SingleRecordResponseSchema": "src/api/contract.zod.ts#SingleRecordResponseSchema (const)", + "StandardApiContracts": "src/api/contract.zod.ts#StandardApiContracts (const)", + "StandardErrorCode": "src/api/errors.zod.ts#StandardErrorCode (type)", + "StorageApiContracts": "src/api/storage.zod.ts#StorageApiContracts (const)", + "SubscribeMessage": "src/api/websocket.zod.ts#SubscribeMessage (type)", + "SubscribeMessageSchema": "src/api/websocket.zod.ts#SubscribeMessageSchema (const)", + "Subscription": "src/api/realtime.zod.ts#Subscription (type)", + "SubscriptionEvent": "src/api/realtime.zod.ts#SubscriptionEvent (type)", + "SubscriptionEventSchema": "src/api/realtime.zod.ts#SubscriptionEventSchema (const)", + "SubscriptionSchema": "src/api/realtime.zod.ts#SubscriptionSchema (const)", + "ToggleFlowRequest": "src/api/automation-api.zod.ts#ToggleFlowRequest (type)", + "ToggleFlowRequestSchema": "src/api/automation-api.zod.ts#ToggleFlowRequestSchema (const)", + "ToggleFlowResponse": "src/api/automation-api.zod.ts#ToggleFlowResponse (type)", + "ToggleFlowResponseParsed": "src/api/automation-api.zod.ts#ToggleFlowResponseParsed (type)", + "ToggleFlowResponseSchema": "src/api/automation-api.zod.ts#ToggleFlowResponseSchema (const)", + "TransportProtocol": "src/api/realtime.zod.ts#TransportProtocol (type)", + "TriggerFlowRequest": "src/api/automation-api.zod.ts#TriggerFlowRequest (type)", + "TriggerFlowRequestSchema": "src/api/automation-api.zod.ts#TriggerFlowRequestSchema (const)", + "TriggerFlowResponse": "src/api/automation-api.zod.ts#TriggerFlowResponse (type)", + "TriggerFlowResponseParsed": "src/api/automation-api.zod.ts#TriggerFlowResponseParsed (type)", + "TriggerFlowResponseSchema": "src/api/automation-api.zod.ts#TriggerFlowResponseSchema (const)", + "UndoImportJobResponse": "src/api/export.zod.ts#UndoImportJobResponse (type)", + "UndoImportJobResponseSchema": "src/api/export.zod.ts#UndoImportJobResponseSchema (const)", + "UninstallPackageApiRequest": "src/api/package-api.zod.ts#UninstallPackageApiRequest (type)", + "UninstallPackageApiRequestSchema": "src/api/package-api.zod.ts#UninstallPackageApiRequestSchema (const)", + "UninstallPackageApiResponse": "src/api/package-api.zod.ts#UninstallPackageApiResponse (type)", + "UninstallPackageApiResponseParsed": "src/api/package-api.zod.ts#UninstallPackageApiResponseParsed (type)", + "UninstallPackageApiResponseSchema": "src/api/package-api.zod.ts#UninstallPackageApiResponseSchema (const)", + "UninstallPackageRequest": "src/kernel/package-registry.zod.ts#UninstallPackageRequest (type)", + "UninstallPackageRequestSchema": "src/kernel/package-registry.zod.ts#UninstallPackageRequestSchema (const)", + "UninstallPackageResponse": "src/kernel/package-registry.zod.ts#UninstallPackageResponse (type)", + "UninstallPackageResponseSchema": "src/kernel/package-registry.zod.ts#UninstallPackageResponseSchema (const)", + "UnregisterDeviceRequest": "src/api/protocol.zod.ts#UnregisterDeviceRequest (type)", + "UnregisterDeviceRequestSchema": "src/api/protocol.zod.ts#UnregisterDeviceRequestSchema (const)", + "UnregisterDeviceResponse": "src/api/protocol.zod.ts#UnregisterDeviceResponse (type)", + "UnregisterDeviceResponseSchema": "src/api/protocol.zod.ts#UnregisterDeviceResponseSchema (const)", + "UnsubscribeMessage": "src/api/websocket.zod.ts#UnsubscribeMessage (type)", + "UnsubscribeMessageSchema": "src/api/websocket.zod.ts#UnsubscribeMessageSchema (const)", + "UnsubscribeRequest": "src/api/websocket.zod.ts#UnsubscribeRequest (type)", + "UnsubscribeRequestSchema": "src/api/websocket.zod.ts#UnsubscribeRequestSchema (const)", + "UpdateAiConversationRequest": "src/api/protocol.zod.ts#UpdateAiConversationRequest (type)", + "UpdateAiConversationRequestSchema": "src/api/protocol.zod.ts#UpdateAiConversationRequestSchema (const)", + "UpdateDataRequest": "src/api/protocol.zod.ts#UpdateDataRequest (type)", + "UpdateDataRequestSchema": "src/api/protocol.zod.ts#UpdateDataRequestSchema (const)", + "UpdateDataResponse": "src/api/protocol.zod.ts#UpdateDataResponse (type)", + "UpdateDataResponseSchema": "src/api/protocol.zod.ts#UpdateDataResponseSchema (const)", + "UpdateFlowRequest": "src/api/automation-api.zod.ts#UpdateFlowRequest (type)", + "UpdateFlowRequestParsed": "src/api/automation-api.zod.ts#UpdateFlowRequestParsed (type)", + "UpdateFlowRequestSchema": "src/api/automation-api.zod.ts#UpdateFlowRequestSchema (const)", + "UpdateFlowResponse": "src/api/automation-api.zod.ts#UpdateFlowResponse (type)", + "UpdateFlowResponseParsed": "src/api/automation-api.zod.ts#UpdateFlowResponseParsed (type)", + "UpdateFlowResponseSchema": "src/api/automation-api.zod.ts#UpdateFlowResponseSchema (const)", + "UpdateManyDataRequest": "src/api/protocol.zod.ts#UpdateManyDataRequest (type)", + "UpdateManyDataRequestParsed": "src/api/protocol.zod.ts#UpdateManyDataRequestParsed (type)", + "UpdateManyDataRequestSchema": "src/api/protocol.zod.ts#UpdateManyDataRequestSchema (const)", + "UpdateManyDataResponse": "src/api/protocol.zod.ts#UpdateManyDataResponse (type)", + "UpdateManyDataResponseParsed": "src/api/protocol.zod.ts#UpdateManyDataResponseParsed (type)", + "UpdateManyDataResponseSchema": "src/api/protocol.zod.ts#UpdateManyDataResponseSchema (const)", + "UpdateManyRecord": "src/api/batch.zod.ts#UpdateManyRecord (type)", + "UpdateManyRecordSchema": "src/api/batch.zod.ts#UpdateManyRecordSchema (const)", + "UpdateManyRequest": "src/api/batch.zod.ts#UpdateManyRequest (type)", + "UpdateManyRequestParsed": "src/api/batch.zod.ts#UpdateManyRequestParsed (type)", + "UpdateManyRequestSchema": "src/api/batch.zod.ts#UpdateManyRequestSchema (const)", + "UpdateNotificationPreferencesRequest": "src/api/protocol.zod.ts#UpdateNotificationPreferencesRequest (type)", + "UpdateNotificationPreferencesRequestParsed": "src/api/protocol.zod.ts#UpdateNotificationPreferencesRequestParsed (type)", + "UpdateNotificationPreferencesRequestSchema": "src/api/protocol.zod.ts#UpdateNotificationPreferencesRequestSchema (const)", + "UpdateNotificationPreferencesResponse": "src/api/protocol.zod.ts#UpdateNotificationPreferencesResponse (type)", + "UpdateNotificationPreferencesResponseParsed": "src/api/protocol.zod.ts#UpdateNotificationPreferencesResponseParsed (type)", + "UpdateNotificationPreferencesResponseSchema": "src/api/protocol.zod.ts#UpdateNotificationPreferencesResponseSchema (const)", + "UpdateRequest": "src/api/contract.zod.ts#UpdateRequest (type)", + "UpdateRequestSchema": "src/api/contract.zod.ts#UpdateRequestSchema (const)", + "UploadArtifactRequest": "src/api/package-api.zod.ts#UploadArtifactRequest (type)", + "UploadArtifactRequestParsed": "src/api/package-api.zod.ts#UploadArtifactRequestParsed (type)", + "UploadArtifactRequestSchema": "src/api/package-api.zod.ts#UploadArtifactRequestSchema (const)", + "UploadArtifactResponse": "src/api/package-api.zod.ts#UploadArtifactResponse (type)", + "UploadArtifactResponseParsed": "src/api/package-api.zod.ts#UploadArtifactResponseParsed (type)", + "UploadArtifactResponseSchema": "src/api/package-api.zod.ts#UploadArtifactResponseSchema (const)", + "UploadChunkRequest": "src/api/storage.zod.ts#UploadChunkRequest (type)", + "UploadChunkRequestSchema": "src/api/storage.zod.ts#UploadChunkRequestSchema (const)", + "UploadChunkResponse": "src/api/storage.zod.ts#UploadChunkResponse (type)", + "UploadChunkResponseParsed": "src/api/storage.zod.ts#UploadChunkResponseParsed (type)", + "UploadChunkResponseSchema": "src/api/storage.zod.ts#UploadChunkResponseSchema (const)", + "UploadProgress": "src/api/storage.zod.ts#UploadProgress (type)", + "UploadProgressParsed": "src/api/storage.zod.ts#UploadProgressParsed (type)", + "UploadProgressSchema": "src/api/storage.zod.ts#UploadProgressSchema (const)", + "UserProfileResponse": "src/api/auth.zod.ts#UserProfileResponse (type)", + "UserProfileResponseParsed": "src/api/auth.zod.ts#UserProfileResponseParsed (type)", + "UserProfileResponseSchema": "src/api/auth.zod.ts#UserProfileResponseSchema (const)", + "ValidateDataIssue": "src/api/protocol.zod.ts#ValidateDataIssue (type)", + "ValidateDataIssueSchema": "src/api/protocol.zod.ts#ValidateDataIssueSchema (const)", + "ValidateDataRequest": "src/api/protocol.zod.ts#ValidateDataRequest (type)", + "ValidateDataRequestSchema": "src/api/protocol.zod.ts#ValidateDataRequestSchema (const)", + "ValidateDataResponse": "src/api/protocol.zod.ts#ValidateDataResponse (type)", + "ValidateDataResponseSchema": "src/api/protocol.zod.ts#ValidateDataResponseSchema (const)", + "ValidationMode": "src/api/plugin-rest-api.zod.ts#ValidationMode (type)", + "VersionDefinition": "src/api/versioning.zod.ts#VersionDefinition (type)", + "VersionDefinitionSchema": "src/api/versioning.zod.ts#VersionDefinitionSchema (const)", + "VersionNegotiationResponse": "src/api/versioning.zod.ts#VersionNegotiationResponse (type)", + "VersionNegotiationResponseSchema": "src/api/versioning.zod.ts#VersionNegotiationResponseSchema (const)", + "VersionStatus": "src/api/versioning.zod.ts#VersionStatus (type)", + "VersioningConfig": "src/api/versioning.zod.ts#VersioningConfig (type)", + "VersioningConfigParsed": "src/api/versioning.zod.ts#VersioningConfigParsed (type)", + "VersioningConfigSchema": "src/api/versioning.zod.ts#VersioningConfigSchema (const)", + "VersioningStrategy": "src/api/versioning.zod.ts#VersioningStrategy (type)", + "WELL_KNOWN_CAPABILITY_KEYS": "src/api/discovery.zod.ts#WELL_KNOWN_CAPABILITY_KEYS (const)", + "WebSocketConfig": "src/api/websocket.zod.ts#WebSocketConfig (type)", + "WebSocketConfigParsed": "src/api/websocket.zod.ts#WebSocketConfigParsed (type)", + "WebSocketConfigSchema": "src/api/websocket.zod.ts#WebSocketConfigSchema (const)", + "WebSocketEvent": "src/api/websocket.zod.ts#WebSocketEvent (type)", + "WebSocketEventSchema": "src/api/websocket.zod.ts#WebSocketEventSchema (const)", + "WebSocketMessage": "src/api/websocket.zod.ts#WebSocketMessage (type)", + "WebSocketMessageSchema": "src/api/websocket.zod.ts#WebSocketMessageSchema (const)", + "WebSocketMessageType": "src/api/websocket.zod.ts#WebSocketMessageType (type)", + "WebSocketPresenceStatus": "src/api/websocket.zod.ts#WebSocketPresenceStatus (type)", + "WebSocketServerConfig": "src/api/websocket.zod.ts#WebSocketServerConfig (type)", + "WebSocketServerConfigParsed": "src/api/websocket.zod.ts#WebSocketServerConfigParsed (type)", + "WebSocketServerConfigSchema": "src/api/websocket.zod.ts#WebSocketServerConfigSchema (const)", + "WellKnownCapabilities": "src/api/discovery.zod.ts#WellKnownCapabilities (type)", + "WellKnownCapabilitiesSchema": "src/api/discovery.zod.ts#WellKnownCapabilitiesSchema (const)", + "envelopeViolations": "src/api/contract.zod.ts#envelopeViolations (function)", + "getAuthEndpointUrl": "src/api/auth-endpoints.zod.ts#getAuthEndpointUrl (function)", + "getDefaultRouteRegistrations": "src/api/plugin-rest-api.zod.ts#getDefaultRouteRegistrations (function)", + "identityFreeEndpointGateFailure": "src/api/endpoint-publish-gate.ts#identityFreeEndpointGateFailure (function)", + "normalizeEndpointPath": "src/api/endpoint.zod.ts#normalizeEndpointPath (function)", + "readServiceSelfInfo": "src/api/discovery.zod.ts#readServiceSelfInfo (function)", + "resolveDiscoveryEnvironment": "src/api/discovery.zod.ts#resolveDiscoveryEnvironment (function)", + "standardErrorCodeForHttpStatus": "src/api/errors.zod.ts#standardErrorCodeForHttpStatus (function)", + "validateApiEndpointDeclarations": "src/api/endpoint-publish-gate.ts#validateApiEndpointDeclarations (function)" + } +} diff --git a/packages/spec/export-origins/automation.json b/packages/spec/export-origins/automation.json new file mode 100644 index 0000000000..33b78094f7 --- /dev/null +++ b/packages/spec/export-origins/automation.json @@ -0,0 +1,245 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./automation", + "exports": { + "APPROVAL_BRANCH_LABELS": "src/automation/approval.zod.ts#APPROVAL_BRANCH_LABELS (const)", + "APPROVAL_NODE_TYPE": "src/automation/approval.zod.ts#APPROVAL_NODE_TYPE (const)", + "APPROVAL_REVISE_NODE_TYPE": "src/automation/approval.zod.ts#APPROVAL_REVISE_NODE_TYPE (const)", + "APPROVER_EXPRESSION_ROOTS": "src/automation/approval.zod.ts#APPROVER_EXPRESSION_ROOTS (const)", + "APPROVER_ORG_SCOPED": "src/automation/approval.zod.ts#APPROVER_ORG_SCOPED (const)", + "APPROVER_ORG_SYMBOLS": "src/automation/approval.zod.ts#APPROVER_ORG_SYMBOLS (const)", + "APPROVER_VALUE_BINDINGS": "src/automation/approval.zod.ts#APPROVER_VALUE_BINDINGS (const)", + "APPROVER_VALUE_SOURCES": "src/automation/approval.zod.ts#APPROVER_VALUE_SOURCES (const)", + "ActionCategory": "src/automation/node-executor.zod.ts#ActionCategory (type)", + "ActionCategorySchema": "src/automation/node-executor.zod.ts#ActionCategorySchema (const)", + "ActionDescriptor": "src/automation/node-executor.zod.ts#ActionDescriptor (type)", + "ActionDescriptorParsed": "src/automation/node-executor.zod.ts#ActionDescriptorParsed (type)", + "ActionDescriptorSchema": "src/automation/node-executor.zod.ts#ActionDescriptorSchema (const)", + "ActionParadigm": "src/automation/node-executor.zod.ts#ActionParadigm (type)", + "ActionParadigmSchema": "src/automation/node-executor.zod.ts#ActionParadigmSchema (const)", + "ActionRef": "src/automation/state-machine.zod.ts#ActionRef (type)", + "ActionRefSchema": "src/automation/state-machine.zod.ts#ActionRefSchema (const)", + "ApprovalDecision": "src/automation/approval.zod.ts#ApprovalDecision (type)", + "ApprovalEscalation": "src/automation/approval.zod.ts#ApprovalEscalation (type)", + "ApprovalEscalationParsed": "src/automation/approval.zod.ts#ApprovalEscalationParsed (type)", + "ApprovalEscalationSchema": "src/automation/approval.zod.ts#ApprovalEscalationSchema (const)", + "ApprovalNodeApprover": "src/automation/approval.zod.ts#ApprovalNodeApprover (type)", + "ApprovalNodeApproverSchema": "src/automation/approval.zod.ts#ApprovalNodeApproverSchema (const)", + "ApprovalNodeConfig": "src/automation/approval.zod.ts#ApprovalNodeConfig (type)", + "ApprovalNodeConfigParsed": "src/automation/approval.zod.ts#ApprovalNodeConfigParsed (type)", + "ApprovalNodeConfigSchema": "src/automation/approval.zod.ts#ApprovalNodeConfigSchema (const)", + "ApproverOrgSymbol": "src/automation/approval.zod.ts#ApproverOrgSymbol (type)", + "ApproverType": "src/automation/approval.zod.ts#ApproverType (type)", + "ApproverValueBinding": "src/automation/approval.zod.ts#ApproverValueBinding (type)", + "BPMN_BOUNDARY_EVENT": "src/automation/bpmn-mapping.ts#BPMN_BOUNDARY_EVENT (const)", + "BPMN_JOIN_GATEWAY": "src/automation/bpmn-mapping.ts#BPMN_JOIN_GATEWAY (const)", + "BPMN_PARALLEL_GATEWAY": "src/automation/bpmn-mapping.ts#BPMN_PARALLEL_GATEWAY (const)", + "BUILT_IN_BPMN_MAPPINGS": "src/automation/bpmn-interop.zod.ts#BUILT_IN_BPMN_MAPPINGS (const)", + "BpmnDiagnostic": "src/automation/bpmn-interop.zod.ts#BpmnDiagnostic (type)", + "BpmnDiagnosticSchema": "src/automation/bpmn-interop.zod.ts#BpmnDiagnosticSchema (const)", + "BpmnElementMapping": "src/automation/bpmn-interop.zod.ts#BpmnElementMapping (type)", + "BpmnElementMappingParsed": "src/automation/bpmn-interop.zod.ts#BpmnElementMappingParsed (type)", + "BpmnElementMappingSchema": "src/automation/bpmn-interop.zod.ts#BpmnElementMappingSchema (const)", + "BpmnExportOptions": "src/automation/bpmn-interop.zod.ts#BpmnExportOptions (type)", + "BpmnExportOptionsParsed": "src/automation/bpmn-interop.zod.ts#BpmnExportOptionsParsed (type)", + "BpmnExportOptionsSchema": "src/automation/bpmn-interop.zod.ts#BpmnExportOptionsSchema (const)", + "BpmnImportOptions": "src/automation/bpmn-interop.zod.ts#BpmnImportOptions (type)", + "BpmnImportOptionsParsed": "src/automation/bpmn-interop.zod.ts#BpmnImportOptionsParsed (type)", + "BpmnImportOptionsSchema": "src/automation/bpmn-interop.zod.ts#BpmnImportOptionsSchema (const)", + "BpmnInteropResult": "src/automation/bpmn-interop.zod.ts#BpmnInteropResult (type)", + "BpmnInteropResultParsed": "src/automation/bpmn-interop.zod.ts#BpmnInteropResultParsed (type)", + "BpmnInteropResultSchema": "src/automation/bpmn-interop.zod.ts#BpmnInteropResultSchema (const)", + "BpmnMappingDiagnostic": "src/automation/bpmn-mapping.ts#BpmnMappingDiagnostic (interface)", + "BpmnMappingResult": "src/automation/bpmn-mapping.ts#BpmnMappingResult (interface)", + "BpmnUnmappedStrategy": "src/automation/bpmn-interop.zod.ts#BpmnUnmappedStrategy (type)", + "BpmnUnmappedStrategySchema": "src/automation/bpmn-interop.zod.ts#BpmnUnmappedStrategySchema (const)", + "BpmnVersion": "src/automation/bpmn-interop.zod.ts#BpmnVersion (type)", + "BpmnVersionSchema": "src/automation/bpmn-interop.zod.ts#BpmnVersionSchema (const)", + "Checkpoint": "src/automation/execution.zod.ts#Checkpoint (type)", + "CheckpointParsed": "src/automation/execution.zod.ts#CheckpointParsed (type)", + "CheckpointSchema": "src/automation/execution.zod.ts#CheckpointSchema (const)", + "ConcurrencyPolicy": "src/automation/execution.zod.ts#ConcurrencyPolicy (type)", + "ConcurrencyPolicyParsed": "src/automation/execution.zod.ts#ConcurrencyPolicyParsed (type)", + "ConcurrencyPolicySchema": "src/automation/execution.zod.ts#ConcurrencyPolicySchema (const)", + "CreateRecordConfig": "src/automation/builtin-node-config.zod.ts#CreateRecordConfig (type)", + "CreateRecordConfigParsed": "src/automation/builtin-node-config.zod.ts#CreateRecordConfigParsed (type)", + "CreateRecordConfigSchema": "src/automation/builtin-node-config.zod.ts#CreateRecordConfigSchema (const)", + "DEFAULT_FLOW_FUNCTION_EFFECT": "src/automation/flow-function.zod.ts#DEFAULT_FLOW_FUNCTION_EFFECT (const)", + "DEPRECATED_APPROVER_TYPES": "src/automation/approval.zod.ts#DEPRECATED_APPROVER_TYPES (const)", + "DecisionCondition": "src/automation/schemaless-node-config.zod.ts#DecisionCondition (type)", + "DecisionConditionSchema": "src/automation/schemaless-node-config.zod.ts#DecisionConditionSchema (const)", + "DecisionConfig": "src/automation/schemaless-node-config.zod.ts#DecisionConfig (type)", + "DecisionConfigParsed": "src/automation/schemaless-node-config.zod.ts#DecisionConfigParsed (type)", + "DecisionConfigSchema": "src/automation/schemaless-node-config.zod.ts#DecisionConfigSchema (const)", + "DecisionOutputDef": "src/automation/approval.zod.ts#DecisionOutputDef (type)", + "DecisionOutputDefSchema": "src/automation/approval.zod.ts#DecisionOutputDefSchema (const)", + "DeleteRecordConfig": "src/automation/builtin-node-config.zod.ts#DeleteRecordConfig (type)", + "DeleteRecordConfigParsed": "src/automation/builtin-node-config.zod.ts#DeleteRecordConfigParsed (type)", + "DeleteRecordConfigSchema": "src/automation/builtin-node-config.zod.ts#DeleteRecordConfigSchema (const)", + "ExecutionError": "src/automation/execution.zod.ts#ExecutionError (type)", + "ExecutionErrorParsed": "src/automation/execution.zod.ts#ExecutionErrorParsed (type)", + "ExecutionErrorSchema": "src/automation/execution.zod.ts#ExecutionErrorSchema (const)", + "ExecutionErrorSeverity": "src/automation/execution.zod.ts#ExecutionErrorSeverity (type)", + "ExecutionLog": "src/automation/execution.zod.ts#ExecutionLog (type)", + "ExecutionLogParsed": "src/automation/execution.zod.ts#ExecutionLogParsed (type)", + "ExecutionLogSchema": "src/automation/execution.zod.ts#ExecutionLogSchema (const)", + "ExecutionStatus": "src/automation/execution.zod.ts#ExecutionStatus (type)", + "ExecutionStepLog": "src/automation/execution.zod.ts#ExecutionStepLog (type)", + "ExecutionStepLogParsed": "src/automation/execution.zod.ts#ExecutionStepLogParsed (type)", + "ExecutionStepLogSchema": "src/automation/execution.zod.ts#ExecutionStepLogSchema (const)", + "ExecutionStepMetrics": "src/automation/execution.zod.ts#ExecutionStepMetrics (type)", + "ExecutionStepMetricsSchema": "src/automation/execution.zod.ts#ExecutionStepMetricsSchema (const)", + "ExecutionStepSkipReason": "src/automation/execution.zod.ts#ExecutionStepSkipReason (type)", + "ExecutionStepSkipReasonSchema": "src/automation/execution.zod.ts#ExecutionStepSkipReasonSchema (const)", + "FLOW_BUILTIN_NODE_TYPES": "src/automation/flow.zod.ts#FLOW_BUILTIN_NODE_TYPES (const)", + "FLOW_NODE_EXPRESSION_PATHS": "src/automation/flow-node-expression-paths.ts#FLOW_NODE_EXPRESSION_PATHS (const)", + "FLOW_REGION_CONFIG_KEYS": "src/automation/region-slots.ts#FLOW_REGION_CONFIG_KEYS (const)", + "FLOW_REGION_SLOTS": "src/automation/region-slots.ts#FLOW_REGION_SLOTS (const)", + "FLOW_REGION_SLOTS_BY_TYPE": "src/automation/region-slots.ts#FLOW_REGION_SLOTS_BY_TYPE (const)", + "FLOW_STRUCTURAL_NODE_TYPES": "src/automation/flow.zod.ts#FLOW_STRUCTURAL_NODE_TYPES (const)", + "Flow": "src/automation/flow.zod.ts#Flow (type)", + "FlowEdge": "src/automation/flow.zod.ts#FlowEdge (type)", + "FlowEdgeParsed": "src/automation/flow.zod.ts#FlowEdgeParsed (type)", + "FlowEdgeSchema": "src/automation/flow.zod.ts#FlowEdgeSchema (const)", + "FlowFunctionCallable": "src/automation/flow-function.zod.ts#FlowFunctionCallable (type)", + "FlowFunctionDeclaration": "src/automation/flow-function.zod.ts#FlowFunctionDeclaration (type)", + "FlowFunctionDeclarationParsed": "src/automation/flow-function.zod.ts#FlowFunctionDeclarationParsed (type)", + "FlowFunctionDeclarationSchema": "src/automation/flow-function.zod.ts#FlowFunctionDeclarationSchema (const)", + "FlowFunctionEffect": "src/automation/flow-function.zod.ts#FlowFunctionEffect (type)", + "FlowFunctionEffectSchema": "src/automation/flow-function.zod.ts#FlowFunctionEffectSchema (const)", + "FlowFunctionEntry": "src/automation/flow-function.zod.ts#FlowFunctionEntry (type)", + "FlowFunctionEntryParsed": "src/automation/flow-function.zod.ts#FlowFunctionEntryParsed (type)", + "FlowFunctionEntrySchema": "src/automation/flow-function.zod.ts#FlowFunctionEntrySchema (const)", + "FlowGraph": "src/automation/control-flow.zod.ts#FlowGraph (interface)", + "FlowNode": "src/automation/flow.zod.ts#FlowNode (type)", + "FlowNodeAction": "src/automation/flow.zod.ts#FlowNodeAction (type)", + "FlowNodeExpressionPath": "src/automation/flow-node-expression-paths.ts#FlowNodeExpressionPath (interface)", + "FlowNodeExpressionRole": "src/automation/flow-node-expression-paths.ts#FlowNodeExpressionRole (type)", + "FlowNodeParsed": "src/automation/flow.zod.ts#FlowNodeParsed (type)", + "FlowNodeSchema": "src/automation/flow.zod.ts#FlowNodeSchema (const)", + "FlowParsed": "src/automation/flow.zod.ts#FlowParsed (type)", + "FlowRegion": "src/automation/control-flow.zod.ts#FlowRegion (type)", + "FlowRegionArity": "src/automation/region-slots.ts#FlowRegionArity (type)", + "FlowRegionParsed": "src/automation/control-flow.zod.ts#FlowRegionParsed (type)", + "FlowRegionSchema": "src/automation/control-flow.zod.ts#FlowRegionSchema (const)", + "FlowRegionSlotDecl": "src/automation/region-slots.ts#FlowRegionSlotDecl (interface)", + "FlowRunGateSummary": "src/automation/execution.zod.ts#FlowRunGateSummary (type)", + "FlowRunGateSummarySchema": "src/automation/execution.zod.ts#FlowRunGateSummarySchema (const)", + "FlowRunNodeSummary": "src/automation/execution.zod.ts#FlowRunNodeSummary (type)", + "FlowRunNodeSummarySchema": "src/automation/execution.zod.ts#FlowRunNodeSummarySchema (const)", + "FlowRunSummary": "src/automation/execution.zod.ts#FlowRunSummary (type)", + "FlowRunSummaryParsed": "src/automation/execution.zod.ts#FlowRunSummaryParsed (type)", + "FlowRunSummarySchema": "src/automation/execution.zod.ts#FlowRunSummarySchema (const)", + "FlowSchema": "src/automation/flow.zod.ts#FlowSchema (const)", + "FlowVariableSchema": "src/automation/flow.zod.ts#FlowVariableSchema (const)", + "FlowVersionHistory": "src/automation/flow.zod.ts#FlowVersionHistory (type)", + "FlowVersionHistoryParsed": "src/automation/flow.zod.ts#FlowVersionHistoryParsed (type)", + "FlowVersionHistorySchema": "src/automation/flow.zod.ts#FlowVersionHistorySchema (const)", + "GetRecordConfig": "src/automation/builtin-node-config.zod.ts#GetRecordConfig (type)", + "GetRecordConfigParsed": "src/automation/builtin-node-config.zod.ts#GetRecordConfigParsed (type)", + "GetRecordConfigSchema": "src/automation/builtin-node-config.zod.ts#GetRecordConfigSchema (const)", + "GuardRef": "src/automation/state-machine.zod.ts#GuardRef (type)", + "GuardRefSchema": "src/automation/state-machine.zod.ts#GuardRefSchema (const)", + "HttpConfig": "src/automation/io-node-config.zod.ts#HttpConfig (type)", + "HttpConfigParsed": "src/automation/io-node-config.zod.ts#HttpConfigParsed (type)", + "HttpConfigSchema": "src/automation/io-node-config.zod.ts#HttpConfigSchema (const)", + "LOOP_MAX_ITERATIONS_CEILING": "src/automation/control-flow.zod.ts#LOOP_MAX_ITERATIONS_CEILING (const)", + "LOOP_NODE_TYPE": "src/automation/control-flow.zod.ts#LOOP_NODE_TYPE (const)", + "LoopConfig": "src/automation/control-flow.zod.ts#LoopConfig (type)", + "LoopConfigParsed": "src/automation/control-flow.zod.ts#LoopConfigParsed (type)", + "LoopConfigSchema": "src/automation/control-flow.zod.ts#LoopConfigSchema (const)", + "MapConfig": "src/automation/builtin-node-config.zod.ts#MapConfig (type)", + "MapConfigParsed": "src/automation/builtin-node-config.zod.ts#MapConfigParsed (type)", + "MapConfigSchema": "src/automation/builtin-node-config.zod.ts#MapConfigSchema (const)", + "MappableFlow": "src/automation/bpmn-mapping.ts#MappableFlow (interface)", + "NON_AUTHORABLE_APPROVER_TYPES": "src/automation/approval.zod.ts#NON_AUTHORABLE_APPROVER_TYPES (const)", + "NodeExecutorDescriptor": "src/automation/node-executor.zod.ts#NodeExecutorDescriptor (type)", + "NodeExecutorDescriptorParsed": "src/automation/node-executor.zod.ts#NodeExecutorDescriptorParsed (type)", + "NodeExecutorDescriptorSchema": "src/automation/node-executor.zod.ts#NodeExecutorDescriptorSchema (const)", + "NormalizedFlowFunction": "src/automation/flow-function.zod.ts#NormalizedFlowFunction (interface)", + "NotifyConfig": "src/automation/io-node-config.zod.ts#NotifyConfig (type)", + "NotifyConfigParsed": "src/automation/io-node-config.zod.ts#NotifyConfigParsed (type)", + "NotifyConfigSchema": "src/automation/io-node-config.zod.ts#NotifyConfigSchema (const)", + "ORG_MEMBERSHIP_LEVELS": "src/automation/approval.zod.ts#ORG_MEMBERSHIP_LEVELS (const)", + "OS_CONSTRUCT_EXT": "src/automation/bpmn-mapping.ts#OS_CONSTRUCT_EXT (const)", + "PARALLEL_NODE_TYPE": "src/automation/control-flow.zod.ts#PARALLEL_NODE_TYPE (const)", + "ParallelBranch": "src/automation/control-flow.zod.ts#ParallelBranch (type)", + "ParallelBranchParsed": "src/automation/control-flow.zod.ts#ParallelBranchParsed (type)", + "ParallelBranchSchema": "src/automation/control-flow.zod.ts#ParallelBranchSchema (const)", + "ParallelConfig": "src/automation/control-flow.zod.ts#ParallelConfig (type)", + "ParallelConfigParsed": "src/automation/control-flow.zod.ts#ParallelConfigParsed (type)", + "ParallelConfigSchema": "src/automation/control-flow.zod.ts#ParallelConfigSchema (const)", + "RegionAnalysis": "src/automation/control-flow.zod.ts#RegionAnalysis (interface)", + "ResolvedFlowNodeExpression": "src/automation/flow-node-expression-paths.ts#ResolvedFlowNodeExpression (interface)", + "RetryPolicy": "src/shared/retry-policy.zod.ts#RetryPolicy (type)", + "RetryPolicyParsed": "src/shared/retry-policy.zod.ts#RetryPolicyParsed (type)", + "RetryPolicySchema": "src/shared/retry-policy.zod.ts#RetryPolicySchema (const)", + "SCHEMALESS_NODE_CONFIG_SCHEMAS": "src/automation/schemaless-node-config.zod.ts#SCHEMALESS_NODE_CONFIG_SCHEMAS (const)", + "ScheduleState": "src/automation/execution.zod.ts#ScheduleState (type)", + "ScheduleStateParsed": "src/automation/execution.zod.ts#ScheduleStateParsed (type)", + "ScheduleStateSchema": "src/automation/execution.zod.ts#ScheduleStateSchema (const)", + "SchemalessNodeType": "src/automation/schemaless-node-config.zod.ts#SchemalessNodeType (type)", + "ScreenConfig": "src/automation/builtin-node-config.zod.ts#ScreenConfig (type)", + "ScreenConfigParsed": "src/automation/builtin-node-config.zod.ts#ScreenConfigParsed (type)", + "ScreenConfigSchema": "src/automation/builtin-node-config.zod.ts#ScreenConfigSchema (const)", + "ScreenFieldConfig": "src/automation/builtin-node-config.zod.ts#ScreenFieldConfig (type)", + "ScreenFieldConfigSchema": "src/automation/builtin-node-config.zod.ts#ScreenFieldConfigSchema (const)", + "ScriptConfig": "src/automation/schemaless-node-config.zod.ts#ScriptConfig (type)", + "ScriptConfigParsed": "src/automation/schemaless-node-config.zod.ts#ScriptConfigParsed (type)", + "ScriptConfigSchema": "src/automation/schemaless-node-config.zod.ts#ScriptConfigSchema (const)", + "StateMachineConfig": "src/automation/state-machine.zod.ts#StateMachineConfig (type)", + "StateMachineSchema": "src/automation/state-machine.zod.ts#StateMachineSchema (const)", + "StateNode": "src/automation/state-machine.zod.ts#StateNode (type)", + "StateNodeConfig": "src/automation/state-machine.zod.ts#StateNodeConfig (type)", + "StateNodeSchema": "src/automation/state-machine.zod.ts#StateNodeSchema (const)", + "SubflowConfig": "src/automation/schemaless-node-config.zod.ts#SubflowConfig (type)", + "SubflowConfigParsed": "src/automation/schemaless-node-config.zod.ts#SubflowConfigParsed (type)", + "SubflowConfigSchema": "src/automation/schemaless-node-config.zod.ts#SubflowConfigSchema (const)", + "TIME_RELATIVE_DEFAULT_CRON": "src/automation/time-relative-trigger.zod.ts#TIME_RELATIVE_DEFAULT_CRON (const)", + "TIME_RELATIVE_DEFAULT_MAX_RECORDS": "src/automation/time-relative-trigger.zod.ts#TIME_RELATIVE_DEFAULT_MAX_RECORDS (const)", + "TRY_CATCH_NODE_TYPE": "src/automation/control-flow.zod.ts#TRY_CATCH_NODE_TYPE (const)", + "TimeRelativeTrigger": "src/automation/time-relative-trigger.zod.ts#TimeRelativeTrigger (type)", + "TimeRelativeTriggerSchema": "src/automation/time-relative-trigger.zod.ts#TimeRelativeTriggerSchema (const)", + "Transition": "src/automation/state-machine.zod.ts#Transition (type)", + "TransitionSchema": "src/automation/state-machine.zod.ts#TransitionSchema (const)", + "TryCatchConfig": "src/automation/control-flow.zod.ts#TryCatchConfig (type)", + "TryCatchConfigParsed": "src/automation/control-flow.zod.ts#TryCatchConfigParsed (type)", + "TryCatchConfigSchema": "src/automation/control-flow.zod.ts#TryCatchConfigSchema (const)", + "UpdateRecordConfig": "src/automation/builtin-node-config.zod.ts#UpdateRecordConfig (type)", + "UpdateRecordConfigParsed": "src/automation/builtin-node-config.zod.ts#UpdateRecordConfigParsed (type)", + "UpdateRecordConfigSchema": "src/automation/builtin-node-config.zod.ts#UpdateRecordConfigSchema (const)", + "WAIT_EXECUTOR_DESCRIPTOR": "src/automation/node-executor.zod.ts#WAIT_EXECUTOR_DESCRIPTOR (const)", + "WaitEventType": "src/automation/node-executor.zod.ts#WaitEventType (type)", + "WaitEventTypeSchema": "src/automation/node-executor.zod.ts#WaitEventTypeSchema (const)", + "WaitExecutorConfig": "src/automation/node-executor.zod.ts#WaitExecutorConfig (type)", + "WaitExecutorConfigParsed": "src/automation/node-executor.zod.ts#WaitExecutorConfigParsed (type)", + "WaitExecutorConfigSchema": "src/automation/node-executor.zod.ts#WaitExecutorConfigSchema (const)", + "WaitResumePayload": "src/automation/node-executor.zod.ts#WaitResumePayload (type)", + "WaitResumePayloadSchema": "src/automation/node-executor.zod.ts#WaitResumePayloadSchema (const)", + "WaitTimeoutBehavior": "src/automation/node-executor.zod.ts#WaitTimeoutBehavior (type)", + "WaitTimeoutBehaviorSchema": "src/automation/node-executor.zod.ts#WaitTimeoutBehaviorSchema (const)", + "Webhook": "src/automation/webhook.zod.ts#Webhook (type)", + "WebhookParsed": "src/automation/webhook.zod.ts#WebhookParsed (type)", + "WebhookSchema": "src/automation/webhook.zod.ts#WebhookSchema (const)", + "WebhookTriggerType": "src/automation/webhook.zod.ts#WebhookTriggerType (type)", + "analyzeRegion": "src/automation/control-flow.zod.ts#analyzeRegion (function)", + "approverTypeIsOrgScoped": "src/automation/approval.zod.ts#approverTypeIsOrgScoped (function)", + "canonicalApproverType": "src/automation/approval.zod.ts#canonicalApproverType (function)", + "collectFlowGraphs": "src/automation/control-flow.zod.ts#collectFlowGraphs (function)", + "defineActionDescriptor": "src/automation/node-executor.zod.ts#defineActionDescriptor (function)", + "defineFlow": "src/automation/flow.zod.ts#defineFlow (function)", + "defineWebhook": "src/automation/webhook.zod.ts#defineWebhook (function)", + "exportConstructsToBpmn": "src/automation/bpmn-mapping.ts#exportConstructsToBpmn (function)", + "findRegionEntry": "src/automation/control-flow.zod.ts#findRegionEntry (function)", + "flowForm": "src/automation/flow.form.ts#flowForm (const)", + "getApprovalNodeConfigJsonSchema": "src/automation/approval.zod.ts#getApprovalNodeConfigJsonSchema (function)", + "getSchemalessNodeConfigJsonSchemas": "src/automation/schemaless-node-config.zod.ts#getSchemalessNodeConfigJsonSchemas (function)", + "importBpmnToConstructs": "src/automation/bpmn-mapping.ts#importBpmnToConstructs (function)", + "isFlowFunctionEffect": "src/automation/flow-function.zod.ts#isFlowFunctionEffect (function)", + "normalizeDecisionOutputs": "src/automation/approval.zod.ts#normalizeDecisionOutputs (function)", + "normalizeFlowFunctionEntry": "src/automation/flow-function.zod.ts#normalizeFlowFunctionEntry (function)", + "parseFlowNodeRegions": "src/automation/control-flow.zod.ts#parseFlowNodeRegions (function)", + "resolveFlowNodeExpressions": "src/automation/flow-node-expression-paths.ts#resolveFlowNodeExpressions (function)", + "validateControlFlow": "src/automation/control-flow.zod.ts#validateControlFlow (function)" + } +} diff --git a/packages/spec/export-origins/cloud.json b/packages/spec/export-origins/cloud.json new file mode 100644 index 0000000000..88e863050b --- /dev/null +++ b/packages/spec/export-origins/cloud.json @@ -0,0 +1,246 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./cloud", + "exports": { + "AnalyticsTimeRange": "src/cloud/developer-portal.zod.ts#AnalyticsTimeRange (type)", + "AnalyticsTimeRangeSchema": "src/cloud/developer-portal.zod.ts#AnalyticsTimeRangeSchema (const)", + "AppDiscoveryRequest": "src/cloud/app-store.zod.ts#AppDiscoveryRequest (type)", + "AppDiscoveryRequestParsed": "src/cloud/app-store.zod.ts#AppDiscoveryRequestParsed (type)", + "AppDiscoveryRequestSchema": "src/cloud/app-store.zod.ts#AppDiscoveryRequestSchema (const)", + "AppDiscoveryResponse": "src/cloud/app-store.zod.ts#AppDiscoveryResponse (type)", + "AppDiscoveryResponseSchema": "src/cloud/app-store.zod.ts#AppDiscoveryResponseSchema (const)", + "AppSubscription": "src/cloud/app-store.zod.ts#AppSubscription (type)", + "AppSubscriptionParsed": "src/cloud/app-store.zod.ts#AppSubscriptionParsed (type)", + "AppSubscriptionSchema": "src/cloud/app-store.zod.ts#AppSubscriptionSchema (const)", + "ArtifactDownloadResponse": "src/cloud/marketplace.zod.ts#ArtifactDownloadResponse (type)", + "ArtifactDownloadResponseSchema": "src/cloud/marketplace.zod.ts#ArtifactDownloadResponseSchema (const)", + "ArtifactReference": "src/cloud/marketplace.zod.ts#ArtifactReference (type)", + "ArtifactReferenceParsed": "src/cloud/marketplace.zod.ts#ArtifactReferenceParsed (type)", + "ArtifactReferenceSchema": "src/cloud/marketplace.zod.ts#ArtifactReferenceSchema (const)", + "CreateListingRequest": "src/cloud/developer-portal.zod.ts#CreateListingRequest (type)", + "CreateListingRequestParsed": "src/cloud/developer-portal.zod.ts#CreateListingRequestParsed (type)", + "CreateListingRequestSchema": "src/cloud/developer-portal.zod.ts#CreateListingRequestSchema (const)", + "CreatePackageRequest": "src/cloud/package.zod.ts#CreatePackageRequest (type)", + "CreatePackageRequestSchema": "src/cloud/package.zod.ts#CreatePackageRequestSchema (const)", + "CreatePackageVersionRequest": "src/cloud/package-version.zod.ts#CreatePackageVersionRequest (type)", + "CreatePackageVersionRequestSchema": "src/cloud/package-version.zod.ts#CreatePackageVersionRequestSchema (const)", + "CuratedCollection": "src/cloud/marketplace-admin.zod.ts#CuratedCollection (type)", + "CuratedCollectionParsed": "src/cloud/marketplace-admin.zod.ts#CuratedCollectionParsed (type)", + "CuratedCollectionSchema": "src/cloud/marketplace-admin.zod.ts#CuratedCollectionSchema (const)", + "Environment": "src/cloud/environment.zod.ts#Environment (type)", + "EnvironmentArtifact": "src/system/environment-artifact.zod.ts#EnvironmentArtifact (type)", + "EnvironmentArtifactParsed": "src/system/environment-artifact.zod.ts#EnvironmentArtifactParsed (type)", + "EnvironmentArtifactSchema": "src/system/environment-artifact.zod.ts#EnvironmentArtifactSchema (const)", + "EnvironmentCredential": "src/cloud/environment.zod.ts#EnvironmentCredential (type)", + "EnvironmentCredentialParsed": "src/cloud/environment.zod.ts#EnvironmentCredentialParsed (type)", + "EnvironmentCredentialSchema": "src/cloud/environment.zod.ts#EnvironmentCredentialSchema (const)", + "EnvironmentCredentialStatus": "src/cloud/environment.zod.ts#EnvironmentCredentialStatus (type)", + "EnvironmentCredentialStatusSchema": "src/cloud/environment.zod.ts#EnvironmentCredentialStatusSchema (const)", + "EnvironmentDriver": "src/cloud/environment.zod.ts#EnvironmentDriver (type)", + "EnvironmentDriverSchema": "src/cloud/environment.zod.ts#EnvironmentDriverSchema (const)", + "EnvironmentMember": "src/cloud/environment.zod.ts#EnvironmentMember (type)", + "EnvironmentMemberSchema": "src/cloud/environment.zod.ts#EnvironmentMemberSchema (const)", + "EnvironmentPackageInstallation": "src/cloud/environment-package.zod.ts#EnvironmentPackageInstallation (type)", + "EnvironmentPackageInstallationParsed": "src/cloud/environment-package.zod.ts#EnvironmentPackageInstallationParsed (type)", + "EnvironmentPackageInstallationSchema": "src/cloud/environment-package.zod.ts#EnvironmentPackageInstallationSchema (const)", + "EnvironmentPackageStatus": "src/cloud/environment-package.zod.ts#EnvironmentPackageStatus (type)", + "EnvironmentPackageStatusSchema": "src/cloud/environment-package.zod.ts#EnvironmentPackageStatusSchema (const)", + "EnvironmentParsed": "src/cloud/environment.zod.ts#EnvironmentParsed (type)", + "EnvironmentRole": "src/cloud/environment.zod.ts#EnvironmentRole (type)", + "EnvironmentRoleSchema": "src/cloud/environment.zod.ts#EnvironmentRoleSchema (const)", + "EnvironmentSchema": "src/cloud/environment.zod.ts#EnvironmentSchema (const)", + "EnvironmentStatus": "src/cloud/environment.zod.ts#EnvironmentStatus (type)", + "EnvironmentStatusSchema": "src/cloud/environment.zod.ts#EnvironmentStatusSchema (const)", + "EnvironmentType": "src/cloud/environment.zod.ts#EnvironmentType (type)", + "EnvironmentTypeSchema": "src/cloud/environment.zod.ts#EnvironmentTypeSchema (const)", + "EnvironmentVisibility": "src/cloud/environment.zod.ts#EnvironmentVisibility (type)", + "EnvironmentVisibilitySchema": "src/cloud/environment.zod.ts#EnvironmentVisibilitySchema (const)", + "FeaturedListing": "src/cloud/marketplace-admin.zod.ts#FeaturedListing (type)", + "FeaturedListingParsed": "src/cloud/marketplace-admin.zod.ts#FeaturedListingParsed (type)", + "FeaturedListingSchema": "src/cloud/marketplace-admin.zod.ts#FeaturedListingSchema (const)", + "InstallPackageToEnvironmentRequest": "src/cloud/environment-package.zod.ts#InstallPackageToEnvironmentRequest (type)", + "InstallPackageToEnvironmentRequestParsed": "src/cloud/environment-package.zod.ts#InstallPackageToEnvironmentRequestParsed (type)", + "InstallPackageToEnvironmentRequestSchema": "src/cloud/environment-package.zod.ts#InstallPackageToEnvironmentRequestSchema (const)", + "InstalledAppSummary": "src/cloud/app-store.zod.ts#InstalledAppSummary (type)", + "InstalledAppSummaryParsed": "src/cloud/app-store.zod.ts#InstalledAppSummaryParsed (type)", + "InstalledAppSummarySchema": "src/cloud/app-store.zod.ts#InstalledAppSummarySchema (const)", + "ListEnvironmentPackagesResponse": "src/cloud/environment-package.zod.ts#ListEnvironmentPackagesResponse (type)", + "ListEnvironmentPackagesResponseParsed": "src/cloud/environment-package.zod.ts#ListEnvironmentPackagesResponseParsed (type)", + "ListEnvironmentPackagesResponseSchema": "src/cloud/environment-package.zod.ts#ListEnvironmentPackagesResponseSchema (const)", + "ListInstalledAppsRequest": "src/cloud/app-store.zod.ts#ListInstalledAppsRequest (type)", + "ListInstalledAppsRequestParsed": "src/cloud/app-store.zod.ts#ListInstalledAppsRequestParsed (type)", + "ListInstalledAppsRequestSchema": "src/cloud/app-store.zod.ts#ListInstalledAppsRequestSchema (const)", + "ListInstalledAppsResponse": "src/cloud/app-store.zod.ts#ListInstalledAppsResponse (type)", + "ListInstalledAppsResponseParsed": "src/cloud/app-store.zod.ts#ListInstalledAppsResponseParsed (type)", + "ListInstalledAppsResponseSchema": "src/cloud/app-store.zod.ts#ListInstalledAppsResponseSchema (const)", + "ListReviewsRequest": "src/cloud/app-store.zod.ts#ListReviewsRequest (type)", + "ListReviewsRequestParsed": "src/cloud/app-store.zod.ts#ListReviewsRequestParsed (type)", + "ListReviewsRequestSchema": "src/cloud/app-store.zod.ts#ListReviewsRequestSchema (const)", + "ListReviewsResponse": "src/cloud/app-store.zod.ts#ListReviewsResponse (type)", + "ListReviewsResponseParsed": "src/cloud/app-store.zod.ts#ListReviewsResponseParsed (type)", + "ListReviewsResponseSchema": "src/cloud/app-store.zod.ts#ListReviewsResponseSchema (const)", + "ListingActionRequest": "src/cloud/developer-portal.zod.ts#ListingActionRequest (type)", + "ListingActionRequestSchema": "src/cloud/developer-portal.zod.ts#ListingActionRequestSchema (const)", + "ListingStatus": "src/cloud/marketplace.zod.ts#ListingStatus (type)", + "ListingStatusSchema": "src/cloud/marketplace.zod.ts#ListingStatusSchema (const)", + "MarketplaceCategory": "src/cloud/marketplace.zod.ts#MarketplaceCategory (type)", + "MarketplaceCategorySchema": "src/cloud/marketplace.zod.ts#MarketplaceCategorySchema (const)", + "MarketplaceHealthMetrics": "src/cloud/marketplace-admin.zod.ts#MarketplaceHealthMetrics (type)", + "MarketplaceHealthMetricsSchema": "src/cloud/marketplace-admin.zod.ts#MarketplaceHealthMetricsSchema (const)", + "MarketplaceInstallRequest": "src/cloud/marketplace.zod.ts#MarketplaceInstallRequest (type)", + "MarketplaceInstallRequestParsed": "src/cloud/marketplace.zod.ts#MarketplaceInstallRequestParsed (type)", + "MarketplaceInstallRequestSchema": "src/cloud/marketplace.zod.ts#MarketplaceInstallRequestSchema (const)", + "MarketplaceInstallResponse": "src/cloud/marketplace.zod.ts#MarketplaceInstallResponse (type)", + "MarketplaceInstallResponseSchema": "src/cloud/marketplace.zod.ts#MarketplaceInstallResponseSchema (const)", + "MarketplaceListing": "src/cloud/marketplace.zod.ts#MarketplaceListing (type)", + "MarketplaceListingParsed": "src/cloud/marketplace.zod.ts#MarketplaceListingParsed (type)", + "MarketplaceListingSchema": "src/cloud/marketplace.zod.ts#MarketplaceListingSchema (const)", + "MarketplaceSearchRequest": "src/cloud/marketplace.zod.ts#MarketplaceSearchRequest (type)", + "MarketplaceSearchRequestParsed": "src/cloud/marketplace.zod.ts#MarketplaceSearchRequestParsed (type)", + "MarketplaceSearchRequestSchema": "src/cloud/marketplace.zod.ts#MarketplaceSearchRequestSchema (const)", + "MarketplaceSearchResponse": "src/cloud/marketplace.zod.ts#MarketplaceSearchResponse (type)", + "MarketplaceSearchResponseParsed": "src/cloud/marketplace.zod.ts#MarketplaceSearchResponseParsed (type)", + "MarketplaceSearchResponseSchema": "src/cloud/marketplace.zod.ts#MarketplaceSearchResponseSchema (const)", + "Package": "src/cloud/package.zod.ts#Package (type)", + "PackageCategory": "src/cloud/package.zod.ts#PackageCategory (type)", + "PackageCategorySchema": "src/cloud/package.zod.ts#PackageCategorySchema (const)", + "PackageDependency": "src/cloud/package-version.zod.ts#PackageDependency (type)", + "PackageDependencyParsed": "src/cloud/package-version.zod.ts#PackageDependencyParsed (type)", + "PackageDependencySchema": "src/cloud/package-version.zod.ts#PackageDependencySchema (const)", + "PackageInstallation": "src/cloud/tenant.zod.ts#PackageInstallation (type)", + "PackageInstallationParsed": "src/cloud/tenant.zod.ts#PackageInstallationParsed (type)", + "PackageInstallationSchema": "src/cloud/tenant.zod.ts#PackageInstallationSchema (const)", + "PackageInstallationStatus": "src/cloud/tenant.zod.ts#PackageInstallationStatus (type)", + "PackageInstallationStatusSchema": "src/cloud/tenant.zod.ts#PackageInstallationStatusSchema (const)", + "PackageL10nField": "src/cloud/package-l10n.ts#PackageL10nField (type)", + "PackageLocale": "src/cloud/package.zod.ts#PackageLocale (type)", + "PackageLocaleSchema": "src/cloud/package.zod.ts#PackageLocaleSchema (const)", + "PackageManifest": "src/cloud/package-version.zod.ts#PackageManifest (type)", + "PackageManifestParsed": "src/cloud/package-version.zod.ts#PackageManifestParsed (type)", + "PackageManifestSchema": "src/cloud/package-version.zod.ts#PackageManifestSchema (const)", + "PackageParsed": "src/cloud/package.zod.ts#PackageParsed (type)", + "PackagePublisher": "src/cloud/package.zod.ts#PackagePublisher (type)", + "PackagePublisherSchema": "src/cloud/package.zod.ts#PackagePublisherSchema (const)", + "PackageSchema": "src/cloud/package.zod.ts#PackageSchema (const)", + "PackageSubmission": "src/cloud/marketplace.zod.ts#PackageSubmission (type)", + "PackageSubmissionParsed": "src/cloud/marketplace.zod.ts#PackageSubmissionParsed (type)", + "PackageSubmissionSchema": "src/cloud/marketplace.zod.ts#PackageSubmissionSchema (const)", + "PackageTranslation": "src/cloud/package.zod.ts#PackageTranslation (type)", + "PackageTranslationSchema": "src/cloud/package.zod.ts#PackageTranslationSchema (const)", + "PackageTranslations": "src/cloud/package.zod.ts#PackageTranslations (type)", + "PackageTranslationsSchema": "src/cloud/package.zod.ts#PackageTranslationsSchema (const)", + "PackageVersion": "src/cloud/package-version.zod.ts#PackageVersion (type)", + "PackageVersionParsed": "src/cloud/package-version.zod.ts#PackageVersionParsed (type)", + "PackageVersionSchema": "src/cloud/package-version.zod.ts#PackageVersionSchema (const)", + "PackageVersionStatus": "src/cloud/package-version.zod.ts#PackageVersionStatus (type)", + "PackageVersionStatusSchema": "src/cloud/package-version.zod.ts#PackageVersionStatusSchema (const)", + "PackageVisibility": "src/cloud/package.zod.ts#PackageVisibility (type)", + "PackageVisibilitySchema": "src/cloud/package.zod.ts#PackageVisibilitySchema (const)", + "PolicyAction": "src/cloud/marketplace-admin.zod.ts#PolicyAction (type)", + "PolicyActionParsed": "src/cloud/marketplace-admin.zod.ts#PolicyActionParsed (type)", + "PolicyActionSchema": "src/cloud/marketplace-admin.zod.ts#PolicyActionSchema (const)", + "PolicyViolationType": "src/cloud/marketplace-admin.zod.ts#PolicyViolationType (type)", + "PolicyViolationTypeSchema": "src/cloud/marketplace-admin.zod.ts#PolicyViolationTypeSchema (const)", + "PricingModel": "src/cloud/marketplace.zod.ts#PricingModel (type)", + "PricingModelSchema": "src/cloud/marketplace.zod.ts#PricingModelSchema (const)", + "ProvisionEnvironmentRequest": "src/cloud/environment.zod.ts#ProvisionEnvironmentRequest (type)", + "ProvisionEnvironmentRequestParsed": "src/cloud/environment.zod.ts#ProvisionEnvironmentRequestParsed (type)", + "ProvisionEnvironmentRequestSchema": "src/cloud/environment.zod.ts#ProvisionEnvironmentRequestSchema (const)", + "ProvisionEnvironmentResponse": "src/cloud/environment.zod.ts#ProvisionEnvironmentResponse (type)", + "ProvisionEnvironmentResponseParsed": "src/cloud/environment.zod.ts#ProvisionEnvironmentResponseParsed (type)", + "ProvisionEnvironmentResponseSchema": "src/cloud/environment.zod.ts#ProvisionEnvironmentResponseSchema (const)", + "ProvisionOrganizationRequest": "src/cloud/environment.zod.ts#ProvisionOrganizationRequest (type)", + "ProvisionOrganizationRequestParsed": "src/cloud/environment.zod.ts#ProvisionOrganizationRequestParsed (type)", + "ProvisionOrganizationRequestSchema": "src/cloud/environment.zod.ts#ProvisionOrganizationRequestSchema (const)", + "ProvisionOrganizationResponse": "src/cloud/environment.zod.ts#ProvisionOrganizationResponse (type)", + "ProvisionOrganizationResponseParsed": "src/cloud/environment.zod.ts#ProvisionOrganizationResponseParsed (type)", + "ProvisionOrganizationResponseSchema": "src/cloud/environment.zod.ts#ProvisionOrganizationResponseSchema (const)", + "ProvisionTenantRequest": "src/cloud/tenant.zod.ts#ProvisionTenantRequest (type)", + "ProvisionTenantRequestParsed": "src/cloud/tenant.zod.ts#ProvisionTenantRequestParsed (type)", + "ProvisionTenantRequestSchema": "src/cloud/tenant.zod.ts#ProvisionTenantRequestSchema (const)", + "ProvisionTenantResponse": "src/cloud/tenant.zod.ts#ProvisionTenantResponse (type)", + "ProvisionTenantResponseParsed": "src/cloud/tenant.zod.ts#ProvisionTenantResponseParsed (type)", + "ProvisionTenantResponseSchema": "src/cloud/tenant.zod.ts#ProvisionTenantResponseSchema (const)", + "PublishPackageVersionRequest": "src/cloud/package-version.zod.ts#PublishPackageVersionRequest (type)", + "PublishPackageVersionRequestSchema": "src/cloud/package-version.zod.ts#PublishPackageVersionRequestSchema (const)", + "Publisher": "src/cloud/marketplace.zod.ts#Publisher (type)", + "PublisherParsed": "src/cloud/marketplace.zod.ts#PublisherParsed (type)", + "PublisherProfile": "src/cloud/developer-portal.zod.ts#PublisherProfile (type)", + "PublisherProfileParsed": "src/cloud/developer-portal.zod.ts#PublisherProfileParsed (type)", + "PublisherProfileSchema": "src/cloud/developer-portal.zod.ts#PublisherProfileSchema (const)", + "PublisherSchema": "src/cloud/marketplace.zod.ts#PublisherSchema (const)", + "PublisherVerification": "src/cloud/marketplace.zod.ts#PublisherVerification (type)", + "PublisherVerificationSchema": "src/cloud/marketplace.zod.ts#PublisherVerificationSchema (const)", + "PublishingAnalyticsRequest": "src/cloud/developer-portal.zod.ts#PublishingAnalyticsRequest (type)", + "PublishingAnalyticsRequestParsed": "src/cloud/developer-portal.zod.ts#PublishingAnalyticsRequestParsed (type)", + "PublishingAnalyticsRequestSchema": "src/cloud/developer-portal.zod.ts#PublishingAnalyticsRequestSchema (const)", + "PublishingAnalyticsResponse": "src/cloud/developer-portal.zod.ts#PublishingAnalyticsResponse (type)", + "PublishingAnalyticsResponseParsed": "src/cloud/developer-portal.zod.ts#PublishingAnalyticsResponseParsed (type)", + "PublishingAnalyticsResponseSchema": "src/cloud/developer-portal.zod.ts#PublishingAnalyticsResponseSchema (const)", + "RecommendationReason": "src/cloud/app-store.zod.ts#RecommendationReason (type)", + "RecommendationReasonSchema": "src/cloud/app-store.zod.ts#RecommendationReasonSchema (const)", + "RecommendedApp": "src/cloud/app-store.zod.ts#RecommendedApp (type)", + "RecommendedAppSchema": "src/cloud/app-store.zod.ts#RecommendedAppSchema (const)", + "RejectionReason": "src/cloud/marketplace-admin.zod.ts#RejectionReason (type)", + "RejectionReasonSchema": "src/cloud/marketplace-admin.zod.ts#RejectionReasonSchema (const)", + "ReleaseChannel": "src/cloud/developer-portal.zod.ts#ReleaseChannel (type)", + "ReleaseChannelSchema": "src/cloud/developer-portal.zod.ts#ReleaseChannelSchema (const)", + "ResolvePackageL10nOptions": "src/cloud/package-l10n.ts#ResolvePackageL10nOptions (interface)", + "ReviewCriterion": "src/cloud/marketplace-admin.zod.ts#ReviewCriterion (type)", + "ReviewCriterionParsed": "src/cloud/marketplace-admin.zod.ts#ReviewCriterionParsed (type)", + "ReviewCriterionSchema": "src/cloud/marketplace-admin.zod.ts#ReviewCriterionSchema (const)", + "ReviewDecision": "src/cloud/marketplace-admin.zod.ts#ReviewDecision (type)", + "ReviewDecisionSchema": "src/cloud/marketplace-admin.zod.ts#ReviewDecisionSchema (const)", + "ReviewModerationStatus": "src/cloud/app-store.zod.ts#ReviewModerationStatus (type)", + "ReviewModerationStatusSchema": "src/cloud/app-store.zod.ts#ReviewModerationStatusSchema (const)", + "RollbackEnvironmentPackageRequest": "src/cloud/environment-package.zod.ts#RollbackEnvironmentPackageRequest (type)", + "RollbackEnvironmentPackageRequestSchema": "src/cloud/environment-package.zod.ts#RollbackEnvironmentPackageRequestSchema (const)", + "Sha256Digest": "src/system/environment-artifact.zod.ts#Sha256Digest (type)", + "Sha256DigestSchema": "src/system/environment-artifact.zod.ts#Sha256DigestSchema (const)", + "SubmissionReview": "src/cloud/marketplace-admin.zod.ts#SubmissionReview (type)", + "SubmissionReviewParsed": "src/cloud/marketplace-admin.zod.ts#SubmissionReviewParsed (type)", + "SubmissionReviewSchema": "src/cloud/marketplace-admin.zod.ts#SubmissionReviewSchema (const)", + "SubmitReviewRequest": "src/cloud/app-store.zod.ts#SubmitReviewRequest (type)", + "SubmitReviewRequestSchema": "src/cloud/app-store.zod.ts#SubmitReviewRequestSchema (const)", + "SubscriptionStatus": "src/cloud/app-store.zod.ts#SubscriptionStatus (type)", + "SubscriptionStatusSchema": "src/cloud/app-store.zod.ts#SubscriptionStatusSchema (const)", + "TemplateManifest": "src/cloud/template-manifest.zod.ts#TemplateManifest (type)", + "TemplateManifestSchema": "src/cloud/template-manifest.zod.ts#TemplateManifestSchema (const)", + "TenantContext": "src/cloud/tenant.zod.ts#TenantContext (type)", + "TenantContextSchema": "src/cloud/tenant.zod.ts#TenantContextSchema (const)", + "TenantDatabase": "src/cloud/tenant.zod.ts#TenantDatabase (type)", + "TenantDatabaseParsed": "src/cloud/tenant.zod.ts#TenantDatabaseParsed (type)", + "TenantDatabaseSchema": "src/cloud/tenant.zod.ts#TenantDatabaseSchema (const)", + "TenantDatabaseStatus": "src/cloud/tenant.zod.ts#TenantDatabaseStatus (type)", + "TenantDatabaseStatusSchema": "src/cloud/tenant.zod.ts#TenantDatabaseStatusSchema (const)", + "TenantIdentificationSource": "src/cloud/tenant.zod.ts#TenantIdentificationSource (type)", + "TenantIdentificationSourceSchema": "src/cloud/tenant.zod.ts#TenantIdentificationSourceSchema (const)", + "TenantPlan": "src/cloud/tenant.zod.ts#TenantPlan (type)", + "TenantPlanSchema": "src/cloud/tenant.zod.ts#TenantPlanSchema (const)", + "TenantRoutingConfig": "src/cloud/tenant.zod.ts#TenantRoutingConfig (type)", + "TenantRoutingConfigParsed": "src/cloud/tenant.zod.ts#TenantRoutingConfigParsed (type)", + "TenantRoutingConfigSchema": "src/cloud/tenant.zod.ts#TenantRoutingConfigSchema (const)", + "TimeSeriesPoint": "src/cloud/developer-portal.zod.ts#TimeSeriesPoint (type)", + "TimeSeriesPointSchema": "src/cloud/developer-portal.zod.ts#TimeSeriesPointSchema (const)", + "TrendingListing": "src/cloud/marketplace-admin.zod.ts#TrendingListing (type)", + "TrendingListingSchema": "src/cloud/marketplace-admin.zod.ts#TrendingListingSchema (const)", + "UpdateListingRequest": "src/cloud/developer-portal.zod.ts#UpdateListingRequest (type)", + "UpdateListingRequestSchema": "src/cloud/developer-portal.zod.ts#UpdateListingRequestSchema (const)", + "UpdatePackageRequest": "src/cloud/package.zod.ts#UpdatePackageRequest (type)", + "UpdatePackageRequestSchema": "src/cloud/package.zod.ts#UpdatePackageRequestSchema (const)", + "UpdatePackageVersionRequest": "src/cloud/package-version.zod.ts#UpdatePackageVersionRequest (type)", + "UpdatePackageVersionRequestSchema": "src/cloud/package-version.zod.ts#UpdatePackageVersionRequestSchema (const)", + "UpgradeEnvironmentPackageRequest": "src/cloud/environment-package.zod.ts#UpgradeEnvironmentPackageRequest (type)", + "UpgradeEnvironmentPackageRequestParsed": "src/cloud/environment-package.zod.ts#UpgradeEnvironmentPackageRequestParsed (type)", + "UpgradeEnvironmentPackageRequestSchema": "src/cloud/environment-package.zod.ts#UpgradeEnvironmentPackageRequestSchema (const)", + "UserReview": "src/cloud/app-store.zod.ts#UserReview (type)", + "UserReviewParsed": "src/cloud/app-store.zod.ts#UserReviewParsed (type)", + "UserReviewSchema": "src/cloud/app-store.zod.ts#UserReviewSchema (const)", + "VersionRelease": "src/cloud/developer-portal.zod.ts#VersionRelease (type)", + "VersionReleaseParsed": "src/cloud/developer-portal.zod.ts#VersionReleaseParsed (type)", + "VersionReleaseSchema": "src/cloud/developer-portal.zod.ts#VersionReleaseSchema (const)", + "resolvePackageL10n": "src/cloud/package-l10n.ts#resolvePackageL10n (function)", + "resolvePackageL10nField": "src/cloud/package-l10n.ts#resolvePackageL10nField (function)", + "resolveScreenshotCaptions": "src/cloud/package-l10n.ts#resolveScreenshotCaptions (function)" + } +} diff --git a/packages/spec/export-origins/contracts.json b/packages/spec/export-origins/contracts.json new file mode 100644 index 0000000000..8dc03fc9cf --- /dev/null +++ b/packages/spec/export-origins/contracts.json @@ -0,0 +1,299 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./contracts", + "exports": { + "AIConversation": "src/contracts/ai-service.ts#AIConversation (interface)", + "AIMessage": "src/contracts/ai-service.ts#AIMessage (type)", + "AIMessageWithTools": "src/contracts/ai-service.ts#AIMessageWithTools (type)", + "AIObjectResult": "src/contracts/ai-service.ts#AIObjectResult (interface)", + "AIRequestOptions": "src/contracts/ai-service.ts#AIRequestOptions (interface)", + "AIRequestOptionsWithTools": "src/contracts/ai-service.ts#AIRequestOptionsWithTools (type)", + "AIResult": "src/contracts/ai-service.ts#AIResult (interface)", + "AIStreamEvent": "src/contracts/ai-service.ts#AIStreamEvent (type)", + "AIToolCall": "src/contracts/ai-service.ts#AIToolCall (type)", + "AIToolDefinition": "src/contracts/ai-service.ts#AIToolDefinition (interface)", + "AIToolResult": "src/contracts/ai-service.ts#AIToolResult (type)", + "APPROVAL_ACTION_KINDS": "src/contracts/approval-service.ts#APPROVAL_ACTION_KINDS (const)", + "APPROVAL_STATUSES": "src/contracts/approval-service.ts#APPROVAL_STATUSES (const)", + "AdapterContext": "src/contracts/knowledge-adapter.ts#AdapterContext (interface)", + "AdapterSearchOptions": "src/contracts/knowledge-adapter.ts#AdapterSearchOptions (interface)", + "AnalyticsDriverCapabilities": "src/contracts/analytics-service.ts#AnalyticsDriverCapabilities (interface)", + "AnalyticsQuery": "src/data/analytics.zod.ts#AnalyticsQuery (type)", + "AnalyticsResult": "src/contracts/analytics-service.ts#AnalyticsResult (interface)", + "AnalyticsStrategy": "src/contracts/analytics-service.ts#AnalyticsStrategy (interface)", + "ApiEndpointMatch": "src/contracts/metadata-service.ts#ApiEndpointMatch (interface)", + "ApprovalActionAttachment": "src/contracts/approval-service.ts#ApprovalActionAttachment (interface)", + "ApprovalActionKind": "src/contracts/approval-service.ts#ApprovalActionKind (type)", + "ApprovalActionRow": "src/contracts/approval-service.ts#ApprovalActionRow (interface)", + "ApprovalDecisionInput": "src/contracts/approval-service.ts#ApprovalDecisionInput (interface)", + "ApprovalDecisionResult": "src/contracts/approval-service.ts#ApprovalDecisionResult (interface)", + "ApprovalRecallInput": "src/contracts/approval-service.ts#ApprovalRecallInput (interface)", + "ApprovalRecallResult": "src/contracts/approval-service.ts#ApprovalRecallResult (interface)", + "ApprovalRequestRow": "src/contracts/approval-service.ts#ApprovalRequestRow (interface)", + "ApprovalResubmitInput": "src/contracts/approval-service.ts#ApprovalResubmitInput (interface)", + "ApprovalResubmitResult": "src/contracts/approval-service.ts#ApprovalResubmitResult (interface)", + "ApprovalSendBackInput": "src/contracts/approval-service.ts#ApprovalSendBackInput (interface)", + "ApprovalSendBackResult": "src/contracts/approval-service.ts#ApprovalSendBackResult (interface)", + "ApprovalStatus": "src/contracts/approval-service.ts#ApprovalStatus (type)", + "AssistantModelMessage": "node_modules/@ai-sdk/provider-utils/dist/index.d.ts#AssistantModelMessage (type)", + "AudienceBindingSuggestion": "src/contracts/security-service.ts#AudienceBindingSuggestion (type)", + "AudienceBindingSuggestionFilter": "src/contracts/security-service.ts#AudienceBindingSuggestionFilter (interface)", + "AudienceBindingSuggestionSync": "src/contracts/security-service.ts#AudienceBindingSuggestionSync (interface)", + "AuthResult": "src/contracts/auth-service.ts#AuthResult (interface)", + "AuthSession": "src/contracts/auth-service.ts#AuthSession (interface)", + "AuthSessionApi": "src/contracts/auth-service.ts#AuthSessionApi (interface)", + "AuthUser": "src/contracts/auth-service.ts#AuthUser (interface)", + "AuthoredRowWriteOperation": "src/contracts/security-service.ts#AuthoredRowWriteOperation (type)", + "AuthoredRowWriteVerdict": "src/contracts/security-service.ts#AuthoredRowWriteVerdict (type)", + "AutomationContext": "src/contracts/automation-service.ts#AutomationContext (interface)", + "AutomationResult": "src/contracts/automation-service.ts#AutomationResult (interface)", + "CacheStats": "src/contracts/cache-service.ts#CacheStats (interface)", + "ChatWithToolsOptions": "src/contracts/ai-service.ts#ChatWithToolsOptions (interface)", + "CheckNamespaceInput": "src/contracts/package-service.ts#CheckNamespaceInput (interface)", + "CheckNamespaceResult": "src/contracts/package-service.ts#CheckNamespaceResult (interface)", + "ClusterCallContext": "src/contracts/cluster-service.ts#ClusterCallContext (interface)", + "CoreServiceContract": "src/contracts/core-service-contracts.ts#CoreServiceContract (type)", + "CoreServiceContracts": "src/contracts/core-service-contracts.ts#CoreServiceContracts (interface)", + "CounterIncrOptions": "src/contracts/cluster-service.ts#CounterIncrOptions (interface)", + "CreateExportJobInput": "src/contracts/export-service.ts#CreateExportJobInput (interface)", + "CreateExportJobResult": "src/contracts/export-service.ts#CreateExportJobResult (interface)", + "CreateShareLinkInput": "src/contracts/share-link-service.ts#CreateShareLinkInput (interface)", + "CryptoContext": "src/contracts/crypto-provider.ts#CryptoContext (interface)", + "CryptoHandle": "src/contracts/crypto-provider.ts#CryptoHandle (interface)", + "CubeMeta": "src/contracts/analytics-service.ts#CubeMeta (interface)", + "DEFAULT_STORAGE_LIST_LIMIT": "src/contracts/storage-service.ts#DEFAULT_STORAGE_LIST_LIMIT (const)", + "DatasetCompareTo": "src/contracts/analytics-service.ts#DatasetCompareTo (interface)", + "DatasetSelection": "src/contracts/analytics-service.ts#DatasetSelection (interface)", + "DefineSharingRuleInput": "src/contracts/sharing-service.ts#DefineSharingRuleInput (interface)", + "DelegableAdminScope": "src/contracts/security-service.ts#DelegableAdminScope (interface)", + "DelegableScope": "src/contracts/security-service.ts#DelegableScope (interface)", + "DeployExecutionResult": "src/contracts/deploy-pipeline-service.ts#DeployExecutionResult (interface)", + "DriverQuery": "src/contracts/data-driver.ts#DriverQuery (type)", + "EMBEDDER_SERVICE": "src/contracts/embedder.ts#EMBEDDER_SERVICE (const)", + "EmailAddress": "src/contracts/email-service.ts#EmailAddress (type)", + "EmailAttachment": "src/contracts/email-service.ts#EmailAttachment (interface)", + "EmailDeliveryStatus": "src/contracts/email-service.ts#EmailDeliveryStatus (type)", + "EngineSchemaRegistryView": "src/contracts/objectql-engine.ts#EngineSchemaRegistryView (interface)", + "EngineTransactionInfo": "src/contracts/objectql-engine.ts#EngineTransactionInfo (interface)", + "EngineTransactionOptions": "src/contracts/objectql-engine.ts#EngineTransactionOptions (interface)", + "ExecuteUpgradeInput": "src/contracts/package-service.ts#ExecuteUpgradeInput (interface)", + "ExplainAccessRequest": "src/contracts/security-service.ts#ExplainAccessRequest (interface)", + "ExportJobDownload": "src/contracts/export-service.ts#ExportJobDownload (interface)", + "ExportJobListResult": "src/contracts/export-service.ts#ExportJobListResult (interface)", + "FinishReason": "node_modules/ai/dist/index.d.ts#FinishReason (type)", + "FlowRuntimeState": "src/contracts/automation-service.ts#FlowRuntimeState (interface)", + "GenerateDraftOpts": "src/contracts/external-datasource-service.ts#GenerateDraftOpts (interface)", + "GenerateObjectOptions": "src/contracts/ai-service.ts#GenerateObjectOptions (interface)", + "GrantShareInput": "src/contracts/sharing-service.ts#GrantShareInput (interface)", + "HealthStatus": "src/kernel/startup-orchestrator.zod.ts#HealthStatus (type)", + "HierarchyScope": "src/contracts/sharing-service.ts#HierarchyScope (type)", + "HierarchyScopeContext": "src/contracts/sharing-service.ts#HierarchyScopeContext (interface)", + "IAIConversationService": "src/contracts/ai-service.ts#IAIConversationService (interface)", + "IAIService": "src/contracts/ai-service.ts#IAIService (interface)", + "IAdvancedServiceRegistry": "src/contracts/service-registry.ts#IAdvancedServiceRegistry (interface)", + "IAnalyticsService": "src/contracts/analytics-service.ts#IAnalyticsService (interface)", + "IAppLifecycleService": "src/contracts/app-lifecycle-service.ts#IAppLifecycleService (interface)", + "IApprovalService": "src/contracts/approval-service.ts#IApprovalService (interface)", + "IAuthService": "src/contracts/auth-service.ts#IAuthService (interface)", + "IAutomationService": "src/contracts/automation-service.ts#IAutomationService (interface)", + "IBasicServiceRegistry": "src/contracts/service-registry.ts#IBasicServiceRegistry (interface)", + "IBusinessUnitGraphService": "src/contracts/sharing-service.ts#IBusinessUnitGraphService (interface)", + "ICacheService": "src/contracts/cache-service.ts#ICacheService (interface)", + "IClusterService": "src/contracts/cluster-service.ts#IClusterService (interface)", + "ICounter": "src/contracts/cluster-service.ts#ICounter (interface)", + "ICryptoProvider": "src/contracts/crypto-provider.ts#ICryptoProvider (interface)", + "IDataDriver": "src/contracts/data-driver.ts#IDataDriver (interface)", + "IDataEngine": "src/contracts/data-engine.ts#IDataEngine (interface)", + "IDeployPipelineService": "src/contracts/deploy-pipeline-service.ts#IDeployPipelineService (interface)", + "IEmailService": "src/contracts/email-service.ts#IEmailService (interface)", + "IEmailTransport": "src/contracts/email-service.ts#IEmailTransport (interface)", + "IEmbedder": "src/contracts/embedder.ts#IEmbedder (interface)", + "IExportService": "src/contracts/export-service.ts#IExportService (interface)", + "IExternalDatasourceService": "src/contracts/external-datasource-service.ts#IExternalDatasourceService (interface)", + "IFileAccessDelegate": "src/contracts/storage-service.ts#IFileAccessDelegate (interface)", + "IHierarchyScopeResolver": "src/contracts/sharing-service.ts#IHierarchyScopeResolver (interface)", + "IHttpRequest": "src/contracts/http-server.ts#IHttpRequest (interface)", + "IHttpResponse": "src/contracts/http-server.ts#IHttpResponse (interface)", + "IHttpServer": "src/contracts/http-server.ts#IHttpServer (interface)", + "II18nService": "src/contracts/i18n-service.ts#II18nService (interface)", + "IJobService": "src/contracts/job-service.ts#IJobService (interface)", + "IKV": "src/contracts/cluster-service.ts#IKV (interface)", + "IKnowledgeAdapter": "src/contracts/knowledge-adapter.ts#IKnowledgeAdapter (interface)", + "IKnowledgeService": "src/contracts/knowledge-service.ts#IKnowledgeService (interface)", + "ILock": "src/contracts/cluster-service.ts#ILock (interface)", + "IMetadataService": "src/contracts/metadata-service.ts#IMetadataService (interface)", + "INotificationService": "src/contracts/notification-service.ts#INotificationService (interface)", + "IObjectQLEngine": "src/contracts/objectql-engine.ts#IObjectQLEngine (interface)", + "IPackageService": "src/contracts/package-service.ts#IPackageService (interface)", + "IPluginLifecycleEvents": "src/contracts/plugin-lifecycle-events.ts#IPluginLifecycleEvents (interface)", + "IPluginValidator": "src/contracts/plugin-validator.ts#IPluginValidator (interface)", + "IPubSub": "src/contracts/cluster-service.ts#IPubSub (interface)", + "IQueueService": "src/contracts/queue-service.ts#IQueueService (interface)", + "IRealtimeService": "src/contracts/realtime-service.ts#IRealtimeService (interface)", + "IReportService": "src/contracts/report-service.ts#IReportService (interface)", + "IRlsMembershipResolver": "src/contracts/rls-membership-resolver.ts#IRlsMembershipResolver (interface)", + "ISchemaDiffService": "src/contracts/schema-diff-service.ts#ISchemaDiffService (interface)", + "ISchemaDriver": "src/contracts/schema-driver.ts#ISchemaDriver (interface)", + "IScopedContext": "src/contracts/scoped-context.ts#IScopedContext (interface)", + "IScopedObjectRepository": "src/contracts/scoped-context.ts#IScopedObjectRepository (interface)", + "ISearchService": "src/contracts/search-service.ts#ISearchService (interface)", + "ISecurityService": "src/contracts/security-service.ts#ISecurityService (interface)", + "ISeedLoaderService": "src/contracts/seed-loader-service.ts#ISeedLoaderService (interface)", + "ISeedSettlementService": "src/contracts/seed-settlement.ts#ISeedSettlementService (interface)", + "IServiceRegistry": "src/contracts/service-registry.ts#IServiceRegistry (interface)", + "IShareLinkService": "src/contracts/share-link-service.ts#IShareLinkService (interface)", + "ISharingRuleService": "src/contracts/sharing-service.ts#ISharingRuleService (interface)", + "ISharingService": "src/contracts/sharing-service.ts#ISharingService (interface)", + "ISmsService": "src/contracts/sms-service.ts#ISmsService (interface)", + "ISmsTransport": "src/contracts/sms-service.ts#ISmsTransport (interface)", + "IStartupOrchestrator": "src/contracts/startup-orchestrator.ts#IStartupOrchestrator (interface)", + "IStorageService": "src/contracts/storage-service.ts#IStorageService (interface)", + "ITeamGraphService": "src/contracts/sharing-service.ts#ITeamGraphService (interface)", + "ImportObjectOpts": "src/contracts/external-datasource-service.ts#ImportObjectOpts (interface)", + "ImportObjectResult": "src/contracts/external-datasource-service.ts#ImportObjectResult (interface)", + "InboxListResult": "src/contracts/notification-service.ts#InboxListResult (interface)", + "InboxNotification": "src/contracts/notification-service.ts#InboxNotification (interface)", + "InboxQuery": "src/contracts/notification-service.ts#InboxQuery (interface)", + "InstallPackageInput": "src/contracts/package-service.ts#InstallPackageInput (interface)", + "InstallPackageResult": "src/contracts/package-service.ts#InstallPackageResult (interface)", + "IntrospectedColumn": "src/contracts/schema-diff-service.ts#IntrospectedColumn (interface)", + "IntrospectedIndex": "src/contracts/schema-diff-service.ts#IntrospectedIndex (interface)", + "IntrospectedSchema": "src/contracts/schema-diff-service.ts#IntrospectedSchema (interface)", + "IntrospectedTable": "src/contracts/schema-diff-service.ts#IntrospectedTable (interface)", + "JobExecution": "src/system/job.zod.ts#JobExecution (type)", + "JobHandler": "src/contracts/job-service.ts#JobHandler (type)", + "JobRetryPolicy": "src/contracts/job-service.ts#JobRetryPolicy (interface)", + "JobRunOutcome": "src/contracts/job-service.ts#JobRunOutcome (interface)", + "JobSchedule": "src/contracts/job-service.ts#JobSchedule (interface)", + "JobScheduleOptions": "src/contracts/job-service.ts#JobScheduleOptions (interface)", + "KNOWLEDGE_SERVICE": "src/contracts/knowledge-service.ts#KNOWLEDGE_SERVICE (const)", + "KVEntry": "src/contracts/cluster-service.ts#KVEntry (interface)", + "KVSetOptions": "src/contracts/cluster-service.ts#KVSetOptions (interface)", + "KnowledgeReindexOptions": "src/contracts/knowledge-service.ts#KnowledgeReindexOptions (interface)", + "KnowledgeReindexResult": "src/contracts/knowledge-service.ts#KnowledgeReindexResult (interface)", + "KnowledgeSearchOptions": "src/contracts/knowledge-service.ts#KnowledgeSearchOptions (interface)", + "LLMAdapter": "src/contracts/llm-adapter.ts#LLMAdapter (interface)", + "LifecycleEventName": "src/contracts/plugin-lifecycle-events.ts#LifecycleEventName (type)", + "ListExportJobsOptions": "src/contracts/export-service.ts#ListExportJobsOptions (interface)", + "ListShareLinksFilter": "src/contracts/share-link-service.ts#ListShareLinksFilter (interface)", + "LockAcquireOptions": "src/contracts/cluster-service.ts#LockAcquireOptions (interface)", + "LockHandle": "src/contracts/cluster-service.ts#LockHandle (interface)", + "Logger": "src/contracts/logger.ts#Logger (interface)", + "MarkReadResult": "src/contracts/notification-service.ts#MarkReadResult (interface)", + "MessageObservability": "src/contracts/ai-service.ts#MessageObservability (interface)", + "MetadataExportOptions": "src/contracts/metadata-service.ts#MetadataExportOptions (interface)", + "MetadataImportOptions": "src/contracts/metadata-service.ts#MetadataImportOptions (interface)", + "MetadataImportResult": "src/contracts/metadata-service.ts#MetadataImportResult (interface)", + "MetadataTypeInfo": "src/contracts/metadata-service.ts#MetadataTypeInfo (interface)", + "MetadataWatchCallback": "src/contracts/metadata-service.ts#MetadataWatchCallback (type)", + "MetadataWatchHandle": "src/contracts/metadata-service.ts#MetadataWatchHandle (interface)", + "MetadataWriteOptions": "src/contracts/metadata-service.ts#MetadataWriteOptions (interface)", + "Middleware": "src/contracts/http-server.ts#Middleware (type)", + "MigrationApplyResult": "src/contracts/schema-diff-service.ts#MigrationApplyResult (interface)", + "ModelMessage": "node_modules/@ai-sdk/provider-utils/dist/index.d.ts#ModelMessage (type)", + "NormalizedEmailMessage": "src/contracts/email-service.ts#NormalizedEmailMessage (interface)", + "NormalizedSmsMessage": "src/contracts/sms-service.ts#NormalizedSmsMessage (interface)", + "NotificationChannel": "src/system/notification.zod.ts#NotificationChannel (type)", + "NotificationMessage": "src/contracts/notification-service.ts#NotificationMessage (interface)", + "NotificationResult": "src/contracts/notification-service.ts#NotificationResult (interface)", + "ObjectDraft": "src/contracts/external-datasource-service.ts#ObjectDraft (interface)", + "PendingActionRow": "src/contracts/ai-service.ts#PendingActionRow (interface)", + "PendingActionStatus": "src/contracts/ai-service.ts#PendingActionStatus (type)", + "PlanUpgradeInput": "src/contracts/package-service.ts#PlanUpgradeInput (interface)", + "Plugin": "src/contracts/plugin-validator.ts#Plugin (interface)", + "PluginStartupResult": "src/kernel/startup-orchestrator.zod.ts#PluginStartupResult (type)", + "PresignedDownloadDescriptor": "src/contracts/storage-service.ts#PresignedDownloadDescriptor (interface)", + "PresignedDownloadOptions": "src/contracts/storage-service.ts#PresignedDownloadOptions (interface)", + "PresignedUploadDescriptor": "src/contracts/storage-service.ts#PresignedUploadDescriptor (interface)", + "ProposePendingActionInput": "src/contracts/ai-service.ts#ProposePendingActionInput (interface)", + "PubSubHandler": "src/contracts/cluster-service.ts#PubSubHandler (type)", + "PubSubMessage": "src/contracts/cluster-service.ts#PubSubMessage (interface)", + "PublishOptions": "src/contracts/cluster-service.ts#PublishOptions (interface)", + "QueueBackoffPolicy": "src/contracts/queue-service.ts#QueueBackoffPolicy (interface)", + "QueueHandler": "src/contracts/queue-service.ts#QueueHandler (type)", + "QueueMessage": "src/contracts/queue-service.ts#QueueMessage (interface)", + "QueueMessageRecord": "src/contracts/queue-service.ts#QueueMessageRecord (interface)", + "QueuePublishOptions": "src/contracts/queue-service.ts#QueuePublishOptions (interface)", + "RESERVED_RLS_MEMBERSHIP_KEYS": "src/contracts/rls-membership-resolver.ts#RESERVED_RLS_MEMBERSHIP_KEYS (const)", + "RESUME_AUTHORITY_SERVICE": "src/contracts/automation-service.ts#RESUME_AUTHORITY_SERVICE (const)", + "RLS_MEMBERSHIP_RESOLVER_SERVICE": "src/contracts/rls-membership-resolver.ts#RLS_MEMBERSHIP_RESOLVER_SERVICE (const)", + "RealtimeEventHandler": "src/contracts/realtime-service.ts#RealtimeEventHandler (type)", + "RealtimeEventPayload": "src/contracts/realtime-service.ts#RealtimeEventPayload (interface)", + "RealtimeSubscriptionFilter": "src/contracts/realtime-service.ts#RealtimeSubscriptionFilter (interface)", + "RealtimeSubscriptionOptions": "src/contracts/realtime-service.ts#RealtimeSubscriptionOptions (interface)", + "RecordShare": "src/contracts/sharing-service.ts#RecordShare (interface)", + "RecordShareRecipientType": "src/contracts/sharing-service.ts#RecordShareRecipientType (type)", + "RemoteTable": "src/contracts/external-datasource-service.ts#RemoteTable (interface)", + "ReportFormat": "src/contracts/report-service.ts#ReportFormat (type)", + "ReportQuery": "src/contracts/report-service.ts#ReportQuery (interface)", + "ReportRunResult": "src/contracts/report-service.ts#ReportRunResult (interface)", + "ReportSchedule": "src/contracts/report-service.ts#ReportSchedule (interface)", + "ResolveDependenciesInput": "src/contracts/package-service.ts#ResolveDependenciesInput (interface)", + "ResolveShareLinkResult": "src/contracts/share-link-service.ts#ResolveShareLinkResult (interface)", + "ResumeSignal": "src/contracts/automation-service.ts#ResumeSignal (interface)", + "RlsMembershipContext": "src/contracts/rls-membership-resolver.ts#RlsMembershipContext (interface)", + "RollbackInput": "src/contracts/package-service.ts#RollbackInput (interface)", + "RouteHandler": "src/contracts/http-server.ts#RouteHandler (type)", + "SEED_SETTLEMENT_SERVICE": "src/contracts/seed-settlement.ts#SEED_SETTLEMENT_SERVICE (const)", + "SHARE_LINK_SERVICE": "src/contracts/share-link-service.ts#SHARE_LINK_SERVICE (const)", + "SaveReportInput": "src/contracts/report-service.ts#SaveReportInput (interface)", + "SavedReport": "src/contracts/report-service.ts#SavedReport (interface)", + "ScheduleExportInput": "src/contracts/export-service.ts#ScheduleExportInput (interface)", + "ScheduleReportInput": "src/contracts/report-service.ts#ScheduleReportInput (interface)", + "SchemaValidationReport": "src/contracts/external-datasource-service.ts#SchemaValidationReport (interface)", + "SchemaValidationResult": "src/contracts/external-datasource-service.ts#SchemaValidationResult (interface)", + "ScreenFieldSpec": "src/contracts/automation-service.ts#ScreenFieldSpec (interface)", + "ScreenSpec": "src/contracts/automation-service.ts#ScreenSpec (interface)", + "SearchHit": "src/contracts/search-service.ts#SearchHit (interface)", + "SearchOptions": "src/contracts/search-service.ts#SearchOptions (interface)", + "SearchResult": "src/contracts/search-service.ts#SearchResult (interface)", + "SecurityContext": "src/contracts/security-service.ts#SecurityContext (type)", + "SeedSettlementSnapshot": "src/contracts/seed-settlement.ts#SeedSettlementSnapshot (interface)", + "SeedSuppressionReason": "src/contracts/seed-settlement.ts#SeedSuppressionReason (type)", + "SendEmailInput": "src/contracts/email-service.ts#SendEmailInput (interface)", + "SendEmailResult": "src/contracts/email-service.ts#SendEmailResult (interface)", + "SendSmsInput": "src/contracts/sms-service.ts#SendSmsInput (interface)", + "SendSmsResult": "src/contracts/sms-service.ts#SendSmsResult (interface)", + "SendTemplateInput": "src/contracts/email-service.ts#SendTemplateInput (interface)", + "ServiceSlotContract": "src/contracts/core-service-contracts.ts#ServiceSlotContract (type)", + "ServiceSlotContracts": "src/contracts/core-service-contracts.ts#ServiceSlotContracts (interface)", + "ShareAccessLevel": "src/contracts/sharing-service.ts#ShareAccessLevel (type)", + "ShareLink": "src/contracts/share-link-service.ts#ShareLink (interface)", + "ShareLinkAudience": "src/contracts/share-link-service.ts#ShareLinkAudience (type)", + "ShareLinkExecutionContext": "src/contracts/share-link-service.ts#ShareLinkExecutionContext (interface)", + "ShareLinkPermission": "src/contracts/share-link-service.ts#ShareLinkPermission (type)", + "ShareSource": "src/contracts/sharing-service.ts#ShareSource (type)", + "SharingExecutionContext": "src/contracts/sharing-service.ts#SharingExecutionContext (interface)", + "SharingRuleEvaluationResult": "src/contracts/sharing-service.ts#SharingRuleEvaluationResult (interface)", + "SharingRuleRecipientType": "src/contracts/sharing-service.ts#SharingRuleRecipientType (type)", + "SharingRuleRow": "src/contracts/sharing-service.ts#SharingRuleRow (interface)", + "SharingWriteVerdict": "src/contracts/sharing-service.ts#SharingWriteVerdict (type)", + "SmsDeliveryStatus": "src/contracts/sms-service.ts#SmsDeliveryStatus (type)", + "SmsTransportSendResult": "src/contracts/sms-service.ts#SmsTransportSendResult (interface)", + "StartupOptions": "src/kernel/startup-orchestrator.zod.ts#StartupOptions (type)", + "StartupOptionsParsed": "src/kernel/startup-orchestrator.zod.ts#StartupOptionsParsed (type)", + "StorageFileInfo": "src/contracts/storage-service.ts#StorageFileInfo (interface)", + "StorageListOptions": "src/contracts/storage-service.ts#StorageListOptions (interface)", + "StorageListPage": "src/contracts/storage-service.ts#StorageListPage (interface)", + "StorageUploadOptions": "src/contracts/storage-service.ts#StorageUploadOptions (interface)", + "StrategyContext": "src/contracts/analytics-service.ts#StrategyContext (interface)", + "SubscribeOptions": "src/contracts/cluster-service.ts#SubscribeOptions (interface)", + "SystemModelMessage": "node_modules/@ai-sdk/provider-utils/dist/index.d.ts#SystemModelMessage (type)", + "TextStreamPart": "node_modules/ai/dist/index.d.ts#TextStreamPart (type)", + "ToolCallPart": "node_modules/@ai-sdk/provider-utils/dist/index.d.ts#ToolCallPart (interface)", + "ToolExecutionContext": "src/contracts/ai-service.ts#ToolExecutionContext (interface)", + "ToolModelMessage": "node_modules/@ai-sdk/provider-utils/dist/index.d.ts#ToolModelMessage (type)", + "ToolResultPart": "node_modules/@ai-sdk/provider-utils/dist/index.d.ts#ToolResultPart (interface)", + "ToolSet": "node_modules/@ai-sdk/provider-utils/dist/index.d.ts#ToolSet (type)", + "TransportSendResult": "src/contracts/email-service.ts#TransportSendResult (interface)", + "Unsubscribe": "src/contracts/cluster-service.ts#Unsubscribe (type)", + "UploadArtifactInput": "src/contracts/package-service.ts#UploadArtifactInput (interface)", + "UploadArtifactResult": "src/contracts/package-service.ts#UploadArtifactResult (interface)", + "UserModelMessage": "node_modules/@ai-sdk/provider-utils/dist/index.d.ts#UserModelMessage (type)", + "ValidationResult": "src/kernel/plugin-validator.zod.ts#ValidationResult (type)", + "WriteObservabilityOptions": "src/contracts/data-engine.ts#WriteObservabilityOptions (interface)", + "decodeStorageListCursor": "src/contracts/storage-service.ts#decodeStorageListCursor (function)", + "encodeStorageListCursor": "src/contracts/storage-service.ts#encodeStorageListCursor (function)", + "resolveStorageListLimit": "src/contracts/storage-service.ts#resolveStorageListLimit (function)" + } +} diff --git a/packages/spec/export-origins/data.json b/packages/spec/export-origins/data.json new file mode 100644 index 0000000000..2227529703 --- /dev/null +++ b/packages/spec/export-origins/data.json @@ -0,0 +1,673 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./data", + "exports": { + "AGGREGATION_CASES": "src/data/aggregation-conformance.ts#AGGREGATION_CASES (const)", + "AGGREGATION_ROWS": "src/data/aggregation-conformance.ts#AGGREGATION_ROWS (const)", + "ALL_OPERATORS": "src/data/filter.zod.ts#ALL_OPERATORS (const)", + "API_METHOD_DERIVATION": "src/data/api-derivation.ts#API_METHOD_DERIVATION (const)", + "API_METHOD_ORDER": "src/data/api-derivation.ts#API_METHOD_ORDER (const)", + "API_OPERATION_ORDER": "src/data/object.zod.ts#API_OPERATION_ORDER (const)", + "API_PRIMITIVES": "src/data/api-derivation.ts#API_PRIMITIVES (const)", + "AUDIT_PROVENANCE_FIELDS": "src/data/field-group-layout.ts#AUDIT_PROVENANCE_FIELDS (const)", + "Address": "src/data/field.zod.ts#Address (type)", + "AddressSchema": "src/data/field.zod.ts#AddressSchema (const)", + "AddressValue": "src/data/field-value.zod.ts#AddressValue (type)", + "AddressValueSchema": "src/data/field-value.zod.ts#AddressValueSchema (const)", + "AggregationCase": "src/data/aggregation-conformance.ts#AggregationCase (interface)", + "AggregationExpectation": "src/data/aggregation-conformance.ts#AggregationExpectation (interface)", + "AggregationFunction": "src/data/query.zod.ts#AggregationFunction (type)", + "AggregationMetricType": "src/data/analytics.zod.ts#AggregationMetricType (type)", + "AggregationNode": "src/data/query.zod.ts#AggregationNode (type)", + "AggregationNodeSchema": "src/data/query.zod.ts#AggregationNodeSchema (const)", + "AggregationPipeline": "src/data/driver-nosql.zod.ts#AggregationPipeline (type)", + "AggregationPipelineSchema": "src/data/driver-nosql.zod.ts#AggregationPipelineSchema (const)", + "AggregationRow": "src/data/aggregation-conformance.ts#AggregationRow (interface)", + "AggregationStage": "src/data/driver-nosql.zod.ts#AggregationStage (type)", + "AggregationStageSchema": "src/data/driver-nosql.zod.ts#AggregationStageSchema (const)", + "AnalyticsQuery": "src/data/analytics.zod.ts#AnalyticsQuery (type)", + "AnalyticsQuerySchema": "src/data/analytics.zod.ts#AnalyticsQuerySchema (const)", + "ApiMethod": "src/data/object.zod.ts#ApiMethod (type)", + "ApiMethodsMode": "src/data/api-derivation.ts#ApiMethodsMode (type)", + "ApiOperation": "src/data/object.zod.ts#ApiOperation (type)", + "ApiOperationSchema": "src/data/object.zod.ts#ApiOperationSchema (const)", + "ApiPrimitive": "src/data/api-derivation.ts#ApiPrimitive (type)", + "AuditProvenanceField": "src/data/field-group-layout.ts#AuditProvenanceField (type)", + "AuthoringKeySurface": "src/data/authoring-key-lint.ts#AuthoringKeySurface (type)", + "AutoPersistenceConfig": "src/data/driver/memory.zod.ts#AutoPersistenceConfig (type)", + "AutoPersistenceConfigSchema": "src/data/driver/memory.zod.ts#AutoPersistenceConfigSchema (const)", + "AutonumberToken": "src/data/autonumber-format.ts#AutonumberToken (type)", + "BOOLEAN_VALUE_TYPES": "src/data/field-value.zod.ts#BOOLEAN_VALUE_TYPES (const)", + "BUILTIN_DRIVER_IDS": "src/data/driver/config-registry.zod.ts#BUILTIN_DRIVER_IDS (const)", + "BULK_PER_ROW_HOOK_LIMIT_ERROR_CODE": "src/data/bulk-write-hook-conformance.ts#BULK_PER_ROW_HOOK_LIMIT_ERROR_CODE (const)", + "BULK_WRITE_HOOK_DISPATCH_CONTRACT": "src/data/bulk-write-hook-conformance.ts#BULK_WRITE_HOOK_DISPATCH_CONTRACT (const)", + "BaseEngineOptions": "src/data/data-engine.zod.ts#BaseEngineOptions (type)", + "BaseEngineOptionsSchema": "src/data/data-engine.zod.ts#BaseEngineOptionsSchema (const)", + "BaseValidationRuleShape": "src/data/validation.zod.ts#BaseValidationRuleShape (interface)", + "BuiltinDriverId": "src/data/driver/config-registry.zod.ts#BuiltinDriverId (type)", + "BulkPerRowHookBudgetVerdict": "src/data/bulk-write-hook-conformance.ts#BulkPerRowHookBudgetVerdict (type)", + "BulkWriteHookDispatchContractEntry": "src/data/bulk-write-hook-conformance.ts#BulkWriteHookDispatchContractEntry (interface)", + "BulkWriteHookPhase": "src/data/bulk-write-hook-conformance.ts#BulkWriteHookPhase (type)", + "BulkWritePayloadScope": "src/data/bulk-write-hook-conformance.ts#BulkWritePayloadScope (type)", + "CALENDAR_DATE_TYPES": "src/data/field-value.zod.ts#CALENDAR_DATE_TYPES (const)", + "CLOCK_TIME_TYPES": "src/data/field-value.zod.ts#CLOCK_TIME_TYPES (const)", + "COMPUTED_VALUE_TYPES": "src/data/field-value.zod.ts#COMPUTED_VALUE_TYPES (const)", + "CONTEXT_TOKENS": "src/data/context-tokens.zod.ts#CONTEXT_TOKENS (const)", + "CONTEXT_TOKEN_DESCRIPTIONS": "src/data/context-tokens.zod.ts#CONTEXT_TOKEN_DESCRIPTIONS (const)", + "CONTEXT_TOKEN_SUGGESTIONS": "src/data/context-tokens.zod.ts#CONTEXT_TOKEN_SUGGESTIONS (const)", + "CONTEXT_TOKEN_WRAPPED_RE": "src/data/context-tokens.zod.ts#CONTEXT_TOKEN_WRAPPED_RE (const)", + "CalendarDateValue": "src/data/field-value.zod.ts#CalendarDateValue (type)", + "CalendarDateValueSchema": "src/data/field-value.zod.ts#CalendarDateValueSchema (const)", + "ClockTimeValue": "src/data/field-value.zod.ts#ClockTimeValue (type)", + "ClockTimeValueSchema": "src/data/field-value.zod.ts#ClockTimeValueSchema (const)", + "ComparisonOperatorSchema": "src/data/filter.zod.ts#ComparisonOperatorSchema (const)", + "Compatibility": "src/data/type-compat.ts#Compatibility (type)", + "ConditionalValidation": "src/data/validation.zod.ts#ConditionalValidation (type)", + "ConditionalValidationParsed": "src/data/validation.zod.ts#ConditionalValidationParsed (type)", + "ConditionalValidationSchema": "src/data/validation.zod.ts#ConditionalValidationSchema (const)", + "ConsistencyLevel": "src/data/driver-nosql.zod.ts#ConsistencyLevel (type)", + "ConsistencyLevelSchema": "src/data/driver-nosql.zod.ts#ConsistencyLevelSchema (const)", + "ContextToken": "src/data/context-tokens.zod.ts#ContextToken (type)", + "ContextTokenPlaceholder": "src/data/context-tokens.zod.ts#ContextTokenPlaceholder (type)", + "ContextTokenPlaceholderSchema": "src/data/context-tokens.zod.ts#ContextTokenPlaceholderSchema (const)", + "ContextTokenSchema": "src/data/context-tokens.zod.ts#ContextTokenSchema (const)", + "CrossFieldValidation": "src/data/validation.zod.ts#CrossFieldValidation (type)", + "CrossFieldValidationParsed": "src/data/validation.zod.ts#CrossFieldValidationParsed (type)", + "CrossFieldValidationSchema": "src/data/validation.zod.ts#CrossFieldValidationSchema (const)", + "CrudAffordances": "src/data/object.zod.ts#CrudAffordances (interface)", + "Cube": "src/data/analytics.zod.ts#Cube (type)", + "CubeJoin": "src/data/analytics.zod.ts#CubeJoin (type)", + "CubeJoinParsed": "src/data/analytics.zod.ts#CubeJoinParsed (type)", + "CubeJoinSchema": "src/data/analytics.zod.ts#CubeJoinSchema (const)", + "CubeParsed": "src/data/analytics.zod.ts#CubeParsed (type)", + "CubeSchema": "src/data/analytics.zod.ts#CubeSchema (const)", + "CurrencyConfig": "src/data/field.zod.ts#CurrencyConfig (type)", + "CurrencyConfigParsed": "src/data/field.zod.ts#CurrencyConfigParsed (type)", + "CurrencyConfigSchema": "src/data/field.zod.ts#CurrencyConfigSchema (const)", + "CurrencyValue": "src/data/field.zod.ts#CurrencyValue (type)", + "CurrencyValueSchema": "src/data/field.zod.ts#CurrencyValueSchema (const)", + "CustomPersistenceConfig": "src/data/driver/memory.zod.ts#CustomPersistenceConfig (type)", + "CustomPersistenceConfigSchema": "src/data/driver/memory.zod.ts#CustomPersistenceConfigSchema (const)", + "DATABASE_DRIVER_SELECTION_ALIASES": "src/data/driver/config-registry.zod.ts#DATABASE_DRIVER_SELECTION_ALIASES (const)", + "DATABASE_DRIVER_SELECTION_IDS": "src/data/driver/config-registry.zod.ts#DATABASE_DRIVER_SELECTION_IDS (const)", + "DATA_ACTION_TO_API_OPERATION": "src/data/api-derivation.ts#DATA_ACTION_TO_API_OPERATION (const)", + "DATE_MACRO_ALIAS_TOKENS": "src/data/date-macros.zod.ts#DATE_MACRO_ALIAS_TOKENS (const)", + "DATE_MACRO_DESCRIPTIONS": "src/data/date-macros.zod.ts#DATE_MACRO_DESCRIPTIONS (const)", + "DATE_MACRO_INSTANT_TOKENS": "src/data/date-macros.zod.ts#DATE_MACRO_INSTANT_TOKENS (const)", + "DATE_MACRO_PARAM_RE": "src/data/date-macros.zod.ts#DATE_MACRO_PARAM_RE (const)", + "DATE_MACRO_PERIOD_TOKENS": "src/data/date-macros.zod.ts#DATE_MACRO_PERIOD_TOKENS (const)", + "DATE_MACRO_TOKENS": "src/data/date-macros.zod.ts#DATE_MACRO_TOKENS (const)", + "DATE_MACRO_UNITS": "src/data/date-macros.zod.ts#DATE_MACRO_UNITS (const)", + "DATE_MACRO_WRAPPED_RE": "src/data/date-macros.zod.ts#DATE_MACRO_WRAPPED_RE (const)", + "DEFAULT_VALUE_TOKENS": "src/data/default-value-tokens.ts#DEFAULT_VALUE_TOKENS (const)", + "DEFAULT_VALUE_TOKEN_CURRENT_USER": "src/data/default-value-tokens.ts#DEFAULT_VALUE_TOKEN_CURRENT_USER (const)", + "DEFAULT_VALUE_TOKEN_DESCRIPTIONS": "src/data/default-value-tokens.ts#DEFAULT_VALUE_TOKEN_DESCRIPTIONS (const)", + "DEFAULT_VALUE_TOKEN_NOW": "src/data/default-value-tokens.ts#DEFAULT_VALUE_TOKEN_NOW (const)", + "DRIVER_CONFIG_SCHEMAS": "src/data/driver/config-registry.zod.ts#DRIVER_CONFIG_SCHEMAS (const)", + "DRIVER_ID_ALIASES": "src/data/driver/config-registry.zod.ts#DRIVER_ID_ALIASES (const)", + "DataEngineAggregateOptions": "src/data/data-engine.zod.ts#DataEngineAggregateOptions (type)", + "DataEngineAggregateOptionsSchema": "src/data/data-engine.zod.ts#DataEngineAggregateOptionsSchema (const)", + "DataEngineAggregateRequestSchema": "src/data/data-engine.zod.ts#DataEngineAggregateRequestSchema (const)", + "DataEngineContractSchema": "src/data/data-engine.zod.ts#DataEngineContractSchema (const)", + "DataEngineCountOptions": "src/data/data-engine.zod.ts#DataEngineCountOptions (type)", + "DataEngineCountOptionsSchema": "src/data/data-engine.zod.ts#DataEngineCountOptionsSchema (const)", + "DataEngineCountRequestSchema": "src/data/data-engine.zod.ts#DataEngineCountRequestSchema (const)", + "DataEngineDeleteOptions": "src/data/data-engine.zod.ts#DataEngineDeleteOptions (type)", + "DataEngineDeleteOptionsSchema": "src/data/data-engine.zod.ts#DataEngineDeleteOptionsSchema (const)", + "DataEngineDeleteRequestSchema": "src/data/data-engine.zod.ts#DataEngineDeleteRequestSchema (const)", + "DataEngineExecuteRequest": "src/data/data-engine.zod.ts#DataEngineExecuteRequest (type)", + "DataEngineExecuteRequestSchema": "src/data/data-engine.zod.ts#DataEngineExecuteRequestSchema (const)", + "DataEngineFilter": "src/data/data-engine.zod.ts#DataEngineFilter (type)", + "DataEngineFilterSchema": "src/data/data-engine.zod.ts#DataEngineFilterSchema (const)", + "DataEngineFindOneRequestSchema": "src/data/data-engine.zod.ts#DataEngineFindOneRequestSchema (const)", + "DataEngineFindRequestSchema": "src/data/data-engine.zod.ts#DataEngineFindRequestSchema (const)", + "DataEngineInsertOptions": "src/data/data-engine.zod.ts#DataEngineInsertOptions (type)", + "DataEngineInsertOptionsSchema": "src/data/data-engine.zod.ts#DataEngineInsertOptionsSchema (const)", + "DataEngineInsertRequest": "src/data/data-engine.zod.ts#DataEngineInsertRequest (type)", + "DataEngineInsertRequestSchema": "src/data/data-engine.zod.ts#DataEngineInsertRequestSchema (const)", + "DataEngineQueryOptions": "src/data/data-engine.zod.ts#DataEngineQueryOptions (type)", + "DataEngineQueryOptionsParsed": "src/data/data-engine.zod.ts#DataEngineQueryOptionsParsed (type)", + "DataEngineQueryOptionsSchema": "src/data/data-engine.zod.ts#DataEngineQueryOptionsSchema (const)", + "DataEngineRequest": "src/data/data-engine.zod.ts#DataEngineRequest (type)", + "DataEngineRequestParsed": "src/data/data-engine.zod.ts#DataEngineRequestParsed (type)", + "DataEngineRequestSchema": "src/data/data-engine.zod.ts#DataEngineRequestSchema (const)", + "DataEngineSort": "src/data/data-engine.zod.ts#DataEngineSort (type)", + "DataEngineSortParsed": "src/data/data-engine.zod.ts#DataEngineSortParsed (type)", + "DataEngineSortSchema": "src/data/data-engine.zod.ts#DataEngineSortSchema (const)", + "DataEngineUpdateOptions": "src/data/data-engine.zod.ts#DataEngineUpdateOptions (type)", + "DataEngineUpdateOptionsSchema": "src/data/data-engine.zod.ts#DataEngineUpdateOptionsSchema (const)", + "DataEngineUpdateRequestSchema": "src/data/data-engine.zod.ts#DataEngineUpdateRequestSchema (const)", + "DataEngineVectorFindRequest": "src/data/data-engine.zod.ts#DataEngineVectorFindRequest (type)", + "DataEngineVectorFindRequestSchema": "src/data/data-engine.zod.ts#DataEngineVectorFindRequestSchema (const)", + "DataTypeMapping": "src/data/driver-sql.zod.ts#DataTypeMapping (type)", + "DataTypeMappingSchema": "src/data/driver-sql.zod.ts#DataTypeMappingSchema (const)", + "Datasource": "src/data/datasource.zod.ts#Datasource (type)", + "DatasourceParsed": "src/data/datasource.zod.ts#DatasourceParsed (type)", + "DatasourceSchema": "src/data/datasource.zod.ts#DatasourceSchema (const)", + "DateGranularity": "src/data/query.zod.ts#DateGranularity (const)", + "DateGranularityValue": "src/data/query.zod.ts#DateGranularityValue (type)", + "DateMacroDirection": "src/data/date-macros.zod.ts#DateMacroDirection (type)", + "DateMacroParamMatch": "src/data/date-macros.zod.ts#DateMacroParamMatch (interface)", + "DateMacroPlaceholder": "src/data/date-macros.zod.ts#DateMacroPlaceholder (type)", + "DateMacroPlaceholderSchema": "src/data/date-macros.zod.ts#DateMacroPlaceholderSchema (const)", + "DateMacroToken": "src/data/date-macros.zod.ts#DateMacroToken (type)", + "DateMacroTokenSchema": "src/data/date-macros.zod.ts#DateMacroTokenSchema (const)", + "DateMacroUnit": "src/data/date-macros.zod.ts#DateMacroUnit (type)", + "DefaultValueToken": "src/data/default-value-tokens.ts#DefaultValueToken (type)", + "Dimension": "src/data/analytics.zod.ts#Dimension (type)", + "DimensionSchema": "src/data/analytics.zod.ts#DimensionSchema (const)", + "DimensionType": "src/data/analytics.zod.ts#DimensionType (type)", + "DisplayNameObjectMeta": "src/data/display-name.ts#DisplayNameObjectMeta (interface)", + "Document": "src/data/document.zod.ts#Document (type)", + "DocumentParsed": "src/data/document.zod.ts#DocumentParsed (type)", + "DocumentSchema": "src/data/document.zod.ts#DocumentSchema (const)", + "DocumentSchemaValidation": "src/data/driver-nosql.zod.ts#DocumentSchemaValidation (type)", + "DocumentSchemaValidationParsed": "src/data/driver-nosql.zod.ts#DocumentSchemaValidationParsed (type)", + "DocumentSchemaValidationSchema": "src/data/driver-nosql.zod.ts#DocumentSchemaValidationSchema (const)", + "DocumentTemplate": "src/data/document.zod.ts#DocumentTemplate (type)", + "DocumentTemplateParsed": "src/data/document.zod.ts#DocumentTemplateParsed (type)", + "DocumentTemplateSchema": "src/data/document.zod.ts#DocumentTemplateSchema (const)", + "DocumentVersion": "src/data/document.zod.ts#DocumentVersion (type)", + "DocumentVersionParsed": "src/data/document.zod.ts#DocumentVersionParsed (type)", + "DocumentVersionSchema": "src/data/document.zod.ts#DocumentVersionSchema (const)", + "DriverCapabilities": "src/data/driver.zod.ts#DriverCapabilities (type)", + "DriverCapabilitiesSchema": "src/data/driver.zod.ts#DriverCapabilitiesSchema (const)", + "DriverConfig": "src/data/driver.zod.ts#DriverConfig (type)", + "DriverConfigIssue": "src/data/driver/config-registry.zod.ts#DriverConfigIssue (interface)", + "DriverConfigParsed": "src/data/driver.zod.ts#DriverConfigParsed (type)", + "DriverConfigSchema": "src/data/driver.zod.ts#DriverConfigSchema (const)", + "DriverDefinition": "src/data/datasource.zod.ts#DriverDefinition (type)", + "DriverDefinitionSchema": "src/data/datasource.zod.ts#DriverDefinitionSchema (const)", + "DriverInterface": "src/data/driver.zod.ts#DriverInterface (type)", + "DriverInterfaceParsed": "src/data/driver.zod.ts#DriverInterfaceParsed (type)", + "DriverInterfaceSchema": "src/data/driver.zod.ts#DriverInterfaceSchema (const)", + "DriverOptions": "src/data/driver.zod.ts#DriverOptions (type)", + "DriverOptionsSchema": "src/data/driver.zod.ts#DriverOptionsSchema (const)", + "DriverSslToggle": "src/data/driver/common.zod.ts#DriverSslToggle (type)", + "DriverSslToggleSchema": "src/data/driver/common.zod.ts#DriverSslToggleSchema (const)", + "DriverType": "src/data/datasource.zod.ts#DriverType (type)", + "DriverVocabularyEntry": "src/data/driver/config-registry.zod.ts#DriverVocabularyEntry (interface)", + "DroppedFieldsEvent": "src/data/data-engine.zod.ts#DroppedFieldsEvent (type)", + "DroppedFieldsEventSchema": "src/data/data-engine.zod.ts#DroppedFieldsEventSchema (const)", + "ESignatureConfig": "src/data/document.zod.ts#ESignatureConfig (type)", + "ESignatureConfigParsed": "src/data/document.zod.ts#ESignatureConfigParsed (type)", + "ESignatureConfigSchema": "src/data/document.zod.ts#ESignatureConfigSchema (const)", + "EffectiveApiMethods": "src/data/api-derivation.ts#EffectiveApiMethods (interface)", + "EnableLike": "src/data/api-derivation.ts#EnableLike (interface)", + "EngineAggregateOptions": "src/data/data-engine.zod.ts#EngineAggregateOptions (type)", + "EngineAggregateOptionsSchema": "src/data/data-engine.zod.ts#EngineAggregateOptionsSchema (const)", + "EngineCountOptions": "src/data/data-engine.zod.ts#EngineCountOptions (type)", + "EngineCountOptionsSchema": "src/data/data-engine.zod.ts#EngineCountOptionsSchema (const)", + "EngineDeleteOptions": "src/data/data-engine.zod.ts#EngineDeleteOptions (type)", + "EngineDeleteOptionsSchema": "src/data/data-engine.zod.ts#EngineDeleteOptionsSchema (const)", + "EngineQueryOptions": "src/data/data-engine.zod.ts#EngineQueryOptions (type)", + "EngineQueryOptionsParsed": "src/data/data-engine.zod.ts#EngineQueryOptionsParsed (type)", + "EngineQueryOptionsSchema": "src/data/data-engine.zod.ts#EngineQueryOptionsSchema (const)", + "EngineUpdateOptions": "src/data/data-engine.zod.ts#EngineUpdateOptions (type)", + "EngineUpdateOptionsSchema": "src/data/data-engine.zod.ts#EngineUpdateOptionsSchema (const)", + "EqualityOperatorSchema": "src/data/filter.zod.ts#EqualityOperatorSchema (const)", + "ExpressionBody": "src/data/hook-body.zod.ts#ExpressionBody (type)", + "ExpressionBodySchema": "src/data/hook-body.zod.ts#ExpressionBodySchema (const)", + "ExternalCatalog": "src/data/external-catalog.zod.ts#ExternalCatalog (type)", + "ExternalCatalogParsed": "src/data/external-catalog.zod.ts#ExternalCatalogParsed (type)", + "ExternalCatalogSchema": "src/data/external-catalog.zod.ts#ExternalCatalogSchema (const)", + "ExternalColumn": "src/data/external-catalog.zod.ts#ExternalColumn (type)", + "ExternalColumnParsed": "src/data/external-catalog.zod.ts#ExternalColumnParsed (type)", + "ExternalColumnSchema": "src/data/external-catalog.zod.ts#ExternalColumnSchema (const)", + "ExternalDataSource": "src/data/external-lookup.zod.ts#ExternalDataSource (type)", + "ExternalDataSourceSchema": "src/data/external-lookup.zod.ts#ExternalDataSourceSchema (const)", + "ExternalDatasourceSettings": "src/data/datasource.zod.ts#ExternalDatasourceSettings (type)", + "ExternalDatasourceSettingsParsed": "src/data/datasource.zod.ts#ExternalDatasourceSettingsParsed (type)", + "ExternalDatasourceSettingsSchema": "src/data/datasource.zod.ts#ExternalDatasourceSettingsSchema (const)", + "ExternalFieldMapping": "src/data/external-lookup.zod.ts#ExternalFieldMapping (type)", + "ExternalFieldMappingParsed": "src/data/external-lookup.zod.ts#ExternalFieldMappingParsed (type)", + "ExternalFieldMappingSchema": "src/data/external-lookup.zod.ts#ExternalFieldMappingSchema (const)", + "ExternalLookup": "src/data/external-lookup.zod.ts#ExternalLookup (type)", + "ExternalLookupParsed": "src/data/external-lookup.zod.ts#ExternalLookupParsed (type)", + "ExternalLookupSchema": "src/data/external-lookup.zod.ts#ExternalLookupSchema (const)", + "ExternalTable": "src/data/external-catalog.zod.ts#ExternalTable (type)", + "ExternalTableParsed": "src/data/external-catalog.zod.ts#ExternalTableParsed (type)", + "ExternalTableSchema": "src/data/external-catalog.zod.ts#ExternalTableSchema (const)", + "FIELD_GROUP_SYSTEM_FIELDS": "src/data/field-group-layout.ts#FIELD_GROUP_SYSTEM_FIELDS (const)", + "FIELD_KEY_GUIDANCE": "src/data/authoring-key-lint.ts#FIELD_KEY_GUIDANCE (const)", + "FILE_REFERENCE_TYPES": "src/data/field-value.zod.ts#FILE_REFERENCE_TYPES (const)", + "FILTER_ARRAY_LOGIC_KEYWORDS": "src/data/filter.zod.ts#FILTER_ARRAY_LOGIC_KEYWORDS (const)", + "FILTER_LOGIC_CASES": "src/data/filter-logic-conformance.ts#FILTER_LOGIC_CASES (const)", + "FILTER_LOGIC_ROWS": "src/data/filter-logic-conformance.ts#FILTER_LOGIC_ROWS (const)", + "FILTER_OPERATORS": "src/data/filter.zod.ts#FILTER_OPERATORS (const)", + "FILTER_TEXT_CASES": "src/data/filter-text-conformance.ts#FILTER_TEXT_CASES (const)", + "FILTER_TEXT_ROWS": "src/data/filter-text-conformance.ts#FILTER_TEXT_ROWS (const)", + "FILTER_TOKEN_WRAPPED_RE": "src/data/context-tokens.zod.ts#FILTER_TOKEN_WRAPPED_RE (const)", + "FeedFilterMode": "src/data/feed.zod.ts#FeedFilterMode (type)", + "FeedItemType": "src/data/feed.zod.ts#FeedItemType (type)", + "Field": "src/data/field.zod.ts#Field (type)", + "FieldGroupCollapse": "src/data/field-group-layout.ts#FieldGroupCollapse (type)", + "FieldGroupSection": "src/data/field-group-layout.ts#FieldGroupSection (interface)", + "FieldInput": "src/data/field.zod.ts#FieldInput (type)", + "FieldNode": "src/data/query.zod.ts#FieldNode (type)", + "FieldNodeSchema": "src/data/query.zod.ts#FieldNodeSchema (const)", + "FieldOperators": "src/data/filter.zod.ts#FieldOperators (type)", + "FieldOperatorsSchema": "src/data/filter.zod.ts#FieldOperatorsSchema (const)", + "FieldParsed": "src/data/field.zod.ts#FieldParsed (type)", + "FieldReference": "src/data/filter.zod.ts#FieldReference (type)", + "FieldReferenceSchema": "src/data/filter.zod.ts#FieldReferenceSchema (const)", + "FieldSchema": "src/data/field.zod.ts#FieldSchema (const)", + "FieldType": "src/data/field.zod.ts#FieldType (type)", + "FileLikeValue": "src/data/field-value.zod.ts#FileLikeValue (type)", + "FileLikeValueSchema": "src/data/field-value.zod.ts#FileLikeValueSchema (const)", + "FilePersistenceConfig": "src/data/driver/memory.zod.ts#FilePersistenceConfig (type)", + "FilePersistenceConfigParsed": "src/data/driver/memory.zod.ts#FilePersistenceConfigParsed (type)", + "FilePersistenceConfigSchema": "src/data/driver/memory.zod.ts#FilePersistenceConfigSchema (const)", + "FileReferenceIdValue": "src/data/field-value.zod.ts#FileReferenceIdValue (type)", + "FileReferenceIdValueSchema": "src/data/field-value.zod.ts#FileReferenceIdValueSchema (const)", + "FileValue": "src/data/field-value.zod.ts#FileValue (type)", + "FileValueSchema": "src/data/field-value.zod.ts#FileValueSchema (const)", + "Filter": "src/data/filter.zod.ts#Filter (type)", + "FilterArray": "src/data/filter.zod.ts#FilterArray (type)", + "FilterArrayComparison": "src/data/filter.zod.ts#FilterArrayComparison (type)", + "FilterArrayGroup": "src/data/filter.zod.ts#FilterArrayGroup (type)", + "FilterArrayList": "src/data/filter.zod.ts#FilterArrayList (type)", + "FilterArrayLogicKeyword": "src/data/filter.zod.ts#FilterArrayLogicKeyword (type)", + "FilterArrayOperator": "src/data/filter.zod.ts#FilterArrayOperator (type)", + "FilterArraySchema": "src/data/filter.zod.ts#FilterArraySchema (const)", + "FilterCondition": "src/data/filter.zod.ts#FilterCondition (type)", + "FilterConditionSchema": "src/data/filter.zod.ts#FilterConditionSchema (const)", + "FilterLogicCase": "src/data/filter-logic-conformance.ts#FilterLogicCase (interface)", + "FilterLogicRow": "src/data/filter-logic-conformance.ts#FilterLogicRow (interface)", + "FilterOperatorKey": "src/data/filter.zod.ts#FilterOperatorKey (type)", + "FilterTextCase": "src/data/filter-text-conformance.ts#FilterTextCase (type)", + "FilterTextRejectionCase": "src/data/filter-text-conformance.ts#FilterTextRejectionCase (interface)", + "FilterTextRow": "src/data/filter-text-conformance.ts#FilterTextRow (interface)", + "FilterTextRowsCase": "src/data/filter-text-conformance.ts#FilterTextRowsCase (interface)", + "FilterVerdict": "src/data/filter-verdict.ts#FilterVerdict (type)", + "FilterVerdictHooks": "src/data/filter-verdict.ts#FilterVerdictHooks (interface)", + "FilterVerdictOptions": "src/data/filter-verdict.ts#FilterVerdictOptions (interface)", + "FormatValidation": "src/data/validation.zod.ts#FormatValidation (type)", + "FormatValidationParsed": "src/data/validation.zod.ts#FormatValidationParsed (type)", + "FormatValidationSchema": "src/data/validation.zod.ts#FormatValidationSchema (const)", + "FullTextSearch": "src/data/query.zod.ts#FullTextSearch (type)", + "FullTextSearchParsed": "src/data/query.zod.ts#FullTextSearchParsed (type)", + "FullTextSearchSchema": "src/data/query.zod.ts#FullTextSearchSchema (const)", + "GroupByNode": "src/data/query.zod.ts#GroupByNode (type)", + "GroupByNodeSchema": "src/data/query.zod.ts#GroupByNodeSchema (const)", + "Hook": "src/data/hook.zod.ts#Hook (type)", + "HookBody": "src/data/hook-body.zod.ts#HookBody (type)", + "HookBodyCapability": "src/data/hook-body.zod.ts#HookBodyCapability (type)", + "HookBodyParsed": "src/data/hook-body.zod.ts#HookBodyParsed (type)", + "HookBodySchema": "src/data/hook-body.zod.ts#HookBodySchema (const)", + "HookContext": "src/data/hook.zod.ts#HookContext (type)", + "HookContextSchema": "src/data/hook.zod.ts#HookContextSchema (const)", + "HookEvent": "src/data/hook.zod.ts#HookEvent (const)", + "HookEventType": "src/data/hook.zod.ts#HookEventType (type)", + "HookParsed": "src/data/hook.zod.ts#HookParsed (type)", + "HookSchema": "src/data/hook.zod.ts#HookSchema (const)", + "IMPORT_BOOLEAN_FALSE_TOKENS": "src/data/import-coercion.ts#IMPORT_BOOLEAN_FALSE_TOKENS (const)", + "IMPORT_BOOLEAN_TRUE_TOKENS": "src/data/import-coercion.ts#IMPORT_BOOLEAN_TRUE_TOKENS (const)", + "IMPORT_REFERENCE_TYPES": "src/data/import-coercion.ts#IMPORT_REFERENCE_TYPES (const)", + "INSTANT_TYPES": "src/data/field-value.zod.ts#INSTANT_TYPES (const)", + "ImportFieldMapping": "src/data/mapping.zod.ts#ImportFieldMapping (type)", + "ImportFieldMappingParsed": "src/data/mapping.zod.ts#ImportFieldMappingParsed (type)", + "ImportFieldMappingSchema": "src/data/mapping.zod.ts#ImportFieldMappingSchema (const)", + "IndexSchema": "src/data/object.zod.ts#IndexSchema (const)", + "InjectedSystemColumnPlan": "src/data/injected-system-columns.ts#InjectedSystemColumnPlan (interface)", + "InstantValue": "src/data/field-value.zod.ts#InstantValue (type)", + "InstantValueSchema": "src/data/field-value.zod.ts#InstantValueSchema (const)", + "JSONValidation": "src/data/validation.zod.ts#JSONValidation (type)", + "JSONValidationParsed": "src/data/validation.zod.ts#JSONValidationParsed (type)", + "JSONValidationSchema": "src/data/validation.zod.ts#JSONValidationSchema (const)", + "LEGACY_API_METHODS": "src/data/object.zod.ts#LEGACY_API_METHODS (const)", + "LEGACY_API_METHOD_GUIDANCE": "src/data/object.zod.ts#LEGACY_API_METHOD_GUIDANCE (const)", + "LIFECYCLE_DURATION_REGEX": "src/data/object.zod.ts#LIFECYCLE_DURATION_REGEX (const)", + "LOGICAL_OPERATORS": "src/data/filter.zod.ts#LOGICAL_OPERATORS (const)", + "LegacyApiMethod": "src/data/object.zod.ts#LegacyApiMethod (type)", + "Lifecycle": "src/data/object.zod.ts#Lifecycle (type)", + "LifecycleClass": "src/data/object.zod.ts#LifecycleClass (type)", + "LifecycleClassSchema": "src/data/object.zod.ts#LifecycleClassSchema (const)", + "LifecycleSchema": "src/data/object.zod.ts#LifecycleSchema (const)", + "LocalStoragePersistenceConfig": "src/data/driver/memory.zod.ts#LocalStoragePersistenceConfig (type)", + "LocalStoragePersistenceConfigSchema": "src/data/driver/memory.zod.ts#LocalStoragePersistenceConfigSchema (const)", + "LocationCoordinates": "src/data/field.zod.ts#LocationCoordinates (type)", + "LocationCoordinatesSchema": "src/data/field.zod.ts#LocationCoordinatesSchema (const)", + "LocationValue": "src/data/field-value.zod.ts#LocationValue (type)", + "LocationValueSchema": "src/data/field-value.zod.ts#LocationValueSchema (const)", + "LogicalOperatorKey": "src/data/filter.zod.ts#LogicalOperatorKey (type)", + "MAX_BULK_PER_ROW_HOOK_ROWS": "src/data/bulk-write-hook-conformance.ts#MAX_BULK_PER_ROW_HOOK_ROWS (const)", + "MEASURE_FIELD_TYPES": "src/data/aggregation-policy.ts#MEASURE_FIELD_TYPES (const)", + "MULTI_CAPABLE_TYPES": "src/data/field-value.zod.ts#MULTI_CAPABLE_TYPES (const)", + "MULTI_OPTION_TYPES": "src/data/field-value.zod.ts#MULTI_OPTION_TYPES (const)", + "Mapping": "src/data/mapping.zod.ts#Mapping (type)", + "MappingParsed": "src/data/mapping.zod.ts#MappingParsed (type)", + "MappingSchema": "src/data/mapping.zod.ts#MappingSchema (const)", + "MemoryConfig": "src/data/driver/memory.zod.ts#MemoryConfig (type)", + "MemoryConfigParsed": "src/data/driver/memory.zod.ts#MemoryConfigParsed (type)", + "MemoryConfigSchema": "src/data/driver/memory.zod.ts#MemoryConfigSchema (const)", + "MemoryDriverSpec": "src/data/driver/memory.zod.ts#MemoryDriverSpec (const)", + "MemoryPersistenceConfig": "src/data/driver/memory.zod.ts#MemoryPersistenceConfig (type)", + "MemoryPersistenceConfigParsed": "src/data/driver/memory.zod.ts#MemoryPersistenceConfigParsed (type)", + "MemoryPersistenceConfigSchema": "src/data/driver/memory.zod.ts#MemoryPersistenceConfigSchema (const)", + "Metric": "src/data/analytics.zod.ts#Metric (type)", + "MetricSchema": "src/data/analytics.zod.ts#MetricSchema (const)", + "MongoConfig": "src/data/driver/mongo.zod.ts#MongoConfig (type)", + "MongoConfigParsed": "src/data/driver/mongo.zod.ts#MongoConfigParsed (type)", + "MongoConfigSchema": "src/data/driver/mongo.zod.ts#MongoConfigSchema (const)", + "MongoDriverSpec": "src/data/driver/mongo.zod.ts#MongoDriverSpec (const)", + "MysqlConfig": "src/data/driver/mysql.zod.ts#MysqlConfig (type)", + "MysqlConfigParsed": "src/data/driver/mysql.zod.ts#MysqlConfigParsed (type)", + "MysqlConfigSchema": "src/data/driver/mysql.zod.ts#MysqlConfigSchema (const)", + "NUMERIC_VALUE_TYPES": "src/data/field-value.zod.ts#NUMERIC_VALUE_TYPES (const)", + "NoSQLDataTypeMapping": "src/data/driver-nosql.zod.ts#NoSQLDataTypeMapping (type)", + "NoSQLDataTypeMappingSchema": "src/data/driver-nosql.zod.ts#NoSQLDataTypeMappingSchema (const)", + "NoSQLDatabaseType": "src/data/driver-nosql.zod.ts#NoSQLDatabaseType (type)", + "NoSQLDatabaseTypeSchema": "src/data/driver-nosql.zod.ts#NoSQLDatabaseTypeSchema (const)", + "NoSQLDriverConfig": "src/data/driver-nosql.zod.ts#NoSQLDriverConfig (type)", + "NoSQLDriverConfigParsed": "src/data/driver-nosql.zod.ts#NoSQLDriverConfigParsed (type)", + "NoSQLDriverConfigSchema": "src/data/driver-nosql.zod.ts#NoSQLDriverConfigSchema (const)", + "NoSQLIndex": "src/data/driver-nosql.zod.ts#NoSQLIndex (type)", + "NoSQLIndexParsed": "src/data/driver-nosql.zod.ts#NoSQLIndexParsed (type)", + "NoSQLIndexSchema": "src/data/driver-nosql.zod.ts#NoSQLIndexSchema (const)", + "NoSQLIndexType": "src/data/driver-nosql.zod.ts#NoSQLIndexType (type)", + "NoSQLIndexTypeSchema": "src/data/driver-nosql.zod.ts#NoSQLIndexTypeSchema (const)", + "NoSQLOperationType": "src/data/driver-nosql.zod.ts#NoSQLOperationType (type)", + "NoSQLOperationTypeSchema": "src/data/driver-nosql.zod.ts#NoSQLOperationTypeSchema (const)", + "NoSQLQueryOptions": "src/data/driver-nosql.zod.ts#NoSQLQueryOptions (type)", + "NoSQLQueryOptionsSchema": "src/data/driver-nosql.zod.ts#NoSQLQueryOptionsSchema (const)", + "NoSQLTransactionOptions": "src/data/driver-nosql.zod.ts#NoSQLTransactionOptions (type)", + "NoSQLTransactionOptionsSchema": "src/data/driver-nosql.zod.ts#NoSQLTransactionOptionsSchema (const)", + "NormalizedFilter": "src/data/filter.zod.ts#NormalizedFilter (type)", + "NormalizedFilterSchema": "src/data/filter.zod.ts#NormalizedFilterSchema (const)", + "OBJECT_KEY_GUIDANCE": "src/data/authoring-key-lint.ts#OBJECT_KEY_GUIDANCE (const)", + "ObjectAccessConfig": "src/data/object.zod.ts#ObjectAccessConfig (type)", + "ObjectAccessConfigParsed": "src/data/object.zod.ts#ObjectAccessConfigParsed (type)", + "ObjectAccessConfigSchema": "src/data/object.zod.ts#ObjectAccessConfigSchema (const)", + "ObjectCapabilities": "src/data/object.zod.ts#ObjectCapabilities (type)", + "ObjectCapabilitiesParsed": "src/data/object.zod.ts#ObjectCapabilitiesParsed (type)", + "ObjectDependencyGraph": "src/data/seed-loader.zod.ts#ObjectDependencyGraph (type)", + "ObjectDependencyGraphParsed": "src/data/seed-loader.zod.ts#ObjectDependencyGraphParsed (type)", + "ObjectDependencyGraphSchema": "src/data/seed-loader.zod.ts#ObjectDependencyGraphSchema (const)", + "ObjectDependencyNode": "src/data/seed-loader.zod.ts#ObjectDependencyNode (type)", + "ObjectDependencyNodeParsed": "src/data/seed-loader.zod.ts#ObjectDependencyNodeParsed (type)", + "ObjectDependencyNodeSchema": "src/data/seed-loader.zod.ts#ObjectDependencyNodeSchema (const)", + "ObjectExtension": "src/data/object.zod.ts#ObjectExtension (type)", + "ObjectExtensionParsed": "src/data/object.zod.ts#ObjectExtensionParsed (type)", + "ObjectExtensionSchema": "src/data/object.zod.ts#ObjectExtensionSchema (const)", + "ObjectExternalBinding": "src/data/object.zod.ts#ObjectExternalBinding (type)", + "ObjectExternalBindingParsed": "src/data/object.zod.ts#ObjectExternalBindingParsed (type)", + "ObjectExternalBindingSchema": "src/data/object.zod.ts#ObjectExternalBindingSchema (const)", + "ObjectFieldGroup": "src/data/object.zod.ts#ObjectFieldGroup (type)", + "ObjectFieldGroupParsed": "src/data/object.zod.ts#ObjectFieldGroupParsed (type)", + "ObjectFieldGroupSchema": "src/data/object.zod.ts#ObjectFieldGroupSchema (const)", + "ObjectIndex": "src/data/object.zod.ts#ObjectIndex (type)", + "ObjectIndexParsed": "src/data/object.zod.ts#ObjectIndexParsed (type)", + "ObjectOwnership": "src/data/object.zod.ts#ObjectOwnership (type)", + "ObjectOwnershipEnum": "src/data/object.zod.ts#ObjectOwnershipEnum (const)", + "ObjectRequiredPermissions": "src/data/object.zod.ts#ObjectRequiredPermissions (type)", + "ObjectRequiredPermissionsSchema": "src/data/object.zod.ts#ObjectRequiredPermissionsSchema (const)", + "ObjectSchema": "src/data/object.zod.ts#ObjectSchema (const)", + "ObjectTitleCompleteness": "src/data/display-name.ts#ObjectTitleCompleteness (interface)", + "OperationCheckOptions": "src/data/api-derivation.ts#OperationCheckOptions (interface)", + "OperatorKey": "src/data/filter.zod.ts#OperatorKey (type)", + "PAGINATION_ALL_IDS": "src/data/pagination-conformance.ts#PAGINATION_ALL_IDS (const)", + "PAGINATION_CASES": "src/data/pagination-conformance.ts#PAGINATION_CASES (const)", + "PAGINATION_ROWS": "src/data/pagination-conformance.ts#PAGINATION_ROWS (const)", + "PAGINATION_UNORDERED_CASES": "src/data/pagination-conformance.ts#PAGINATION_UNORDERED_CASES (const)", + "PAGINATION_ZERO_LIMIT_CASES": "src/data/pagination-conformance.ts#PAGINATION_ZERO_LIMIT_CASES (const)", + "PaginationConformanceCase": "src/data/pagination-conformance.ts#PaginationConformanceCase (interface)", + "PaginationConformanceRow": "src/data/pagination-conformance.ts#PaginationConformanceRow (interface)", + "PerOperationRequiredPermissions": "src/data/object.zod.ts#PerOperationRequiredPermissions (type)", + "PerOperationRequiredPermissionsSchema": "src/data/object.zod.ts#PerOperationRequiredPermissionsSchema (const)", + "PercentScale": "src/data/percent-scale.ts#PercentScale (type)", + "PercentScaleFieldMeta": "src/data/percent-scale.ts#PercentScaleFieldMeta (interface)", + "PersistenceAdapter": "src/data/driver/memory.zod.ts#PersistenceAdapter (type)", + "PersistenceAdapterSchema": "src/data/driver/memory.zod.ts#PersistenceAdapterSchema (const)", + "PersistenceType": "src/data/driver/memory.zod.ts#PersistenceType (type)", + "PersistenceTypeSchema": "src/data/driver/memory.zod.ts#PersistenceTypeSchema (const)", + "PoolConfig": "src/data/driver.zod.ts#PoolConfig (type)", + "PoolConfigParsed": "src/data/driver.zod.ts#PoolConfigParsed (type)", + "PoolConfigSchema": "src/data/driver.zod.ts#PoolConfigSchema (const)", + "PostgresConfig": "src/data/driver/postgres.zod.ts#PostgresConfig (type)", + "PostgresConfigParsed": "src/data/driver/postgres.zod.ts#PostgresConfigParsed (type)", + "PostgresConfigSchema": "src/data/driver/postgres.zod.ts#PostgresConfigSchema (const)", + "ProvisionPrimaryOptions": "src/data/display-name.ts#ProvisionPrimaryOptions (interface)", + "QUERY_CURSOR_REMOVED": "src/data/query.zod.ts#QUERY_CURSOR_REMOVED (const)", + "QUERY_DISTINCT_REMOVED": "src/data/query.zod.ts#QUERY_DISTINCT_REMOVED (const)", + "QueryAST": "src/data/query.zod.ts#QueryAST (type)", + "QueryAliasConflict": "src/data/data-engine.zod.ts#QueryAliasConflict (interface)", + "QueryAliasSlot": "src/data/data-engine.zod.ts#QueryAliasSlot (interface)", + "QueryFilter": "src/data/filter.zod.ts#QueryFilter (type)", + "QueryFilterSchema": "src/data/filter.zod.ts#QueryFilterSchema (const)", + "QueryInput": "src/data/query.zod.ts#QueryInput (type)", + "QuerySchema": "src/data/query.zod.ts#QuerySchema (const)", + "RAW_FILE_VALUES_CONTEXT_KEY": "src/data/field-value.zod.ts#RAW_FILE_VALUES_CONTEXT_KEY (const)", + "READ_ONLY_BELONGS_ON_DATASOURCE": "src/data/driver/common.zod.ts#READ_ONLY_BELONGS_ON_DATASOURCE (const)", + "RECORD_SURFACE_PAGE_THRESHOLD": "src/data/record-surface.ts#RECORD_SURFACE_PAGE_THRESHOLD (const)", + "REFERENCE_VALUE_TYPES": "src/data/field-value.zod.ts#REFERENCE_VALUE_TYPES (const)", + "RETIRED_FILTER_OPERATORS": "src/data/filter.zod.ts#RETIRED_FILTER_OPERATORS (const)", + "RPC_QUERY_ALIAS_SLOTS": "src/data/data-engine.zod.ts#RPC_QUERY_ALIAS_SLOTS (const)", + "RUNTIME_OWNED_FIELD_TYPES": "src/data/field.zod.ts#RUNTIME_OWNED_FIELD_TYPES (const)", + "RangeOperatorSchema": "src/data/filter.zod.ts#RangeOperatorSchema (const)", + "RecordFlow": "src/data/record-surface.ts#RecordFlow (type)", + "RecordFlowContainer": "src/data/record-surface.ts#RecordFlowContainer (type)", + "RecordFlowSurface": "src/data/record-surface.ts#RecordFlowSurface (interface)", + "RecordSurface": "src/data/record-surface.ts#RecordSurface (type)", + "RecordSurfaceOptions": "src/data/record-surface.ts#RecordSurfaceOptions (interface)", + "RecordSurfaceViewport": "src/data/record-surface.ts#RecordSurfaceViewport (type)", + "ReferenceIdValue": "src/data/field-value.zod.ts#ReferenceIdValue (type)", + "ReferenceIdValueSchema": "src/data/field-value.zod.ts#ReferenceIdValueSchema (const)", + "ReferenceResolution": "src/data/seed-loader.zod.ts#ReferenceResolution (type)", + "ReferenceResolutionError": "src/data/seed-loader.zod.ts#ReferenceResolutionError (type)", + "ReferenceResolutionErrorSchema": "src/data/seed-loader.zod.ts#ReferenceResolutionErrorSchema (const)", + "ReferenceResolutionParsed": "src/data/seed-loader.zod.ts#ReferenceResolutionParsed (type)", + "ReferenceResolutionSchema": "src/data/seed-loader.zod.ts#ReferenceResolutionSchema (const)", + "RenderAutonumberInput": "src/data/autonumber-format.ts#RenderAutonumberInput (interface)", + "RenderedAutonumber": "src/data/autonumber-format.ts#RenderedAutonumber (interface)", + "ReplicationConfig": "src/data/driver-nosql.zod.ts#ReplicationConfig (type)", + "ReplicationConfigParsed": "src/data/driver-nosql.zod.ts#ReplicationConfigParsed (type)", + "ReplicationConfigSchema": "src/data/driver-nosql.zod.ts#ReplicationConfigSchema (const)", + "ResolveApiOptions": "src/data/api-derivation.ts#ResolveApiOptions (interface)", + "ResolveRecordDisplayNameOptions": "src/data/display-name.ts#ResolveRecordDisplayNameOptions (interface)", + "ResolvedHook": "src/data/hook.zod.ts#ResolvedHook (type)", + "RetiredFilterOperatorGuidance": "src/data/filter.zod.ts#RetiredFilterOperatorGuidance (interface)", + "RowCrudActionOverride": "src/data/object.zod.ts#RowCrudActionOverride (type)", + "RowCrudActionOverrideParsed": "src/data/object.zod.ts#RowCrudActionOverrideParsed (type)", + "RowCrudActionOverrideSchema": "src/data/object.zod.ts#RowCrudActionOverrideSchema (const)", + "RowCrudPredicates": "src/data/object.zod.ts#RowCrudPredicates (interface)", + "SCHEMA_MODE_BELONGS_ON_DATASOURCE": "src/data/driver/common.zod.ts#SCHEMA_MODE_BELONGS_ON_DATASOURCE (const)", + "SEARCHABLE_ENUM_TYPES": "src/data/search-fields.ts#SEARCHABLE_ENUM_TYPES (const)", + "SEARCHABLE_TEXTUAL_TYPES": "src/data/search-fields.ts#SEARCHABLE_TEXTUAL_TYPES (const)", + "SEARCH_AUTO_EXCLUDED_FIELDS": "src/data/search-fields.ts#SEARCH_AUTO_EXCLUDED_FIELDS (const)", + "SEARCH_AUTO_EXCLUDED_TYPES": "src/data/search-fields.ts#SEARCH_AUTO_EXCLUDED_TYPES (const)", + "SINGLE_OPTION_TYPES": "src/data/field-value.zod.ts#SINGLE_OPTION_TYPES (const)", + "SQLDialect": "src/data/driver-sql.zod.ts#SQLDialect (type)", + "SQLDialectSchema": "src/data/driver-sql.zod.ts#SQLDialectSchema (const)", + "SQLDriverConfig": "src/data/driver-sql.zod.ts#SQLDriverConfig (type)", + "SQLDriverConfigParsed": "src/data/driver-sql.zod.ts#SQLDriverConfigParsed (type)", + "SQLDriverConfigSchema": "src/data/driver-sql.zod.ts#SQLDriverConfigSchema (const)", + "SQLiteAlterTableLimitations": "src/data/driver-sql.zod.ts#SQLiteAlterTableLimitations (const)", + "SQLiteDataTypeMappingDefaults": "src/data/driver-sql.zod.ts#SQLiteDataTypeMappingDefaults (const)", + "SSLConfig": "src/data/driver-sql.zod.ts#SSLConfig (type)", + "SSLConfigParsed": "src/data/driver-sql.zod.ts#SSLConfigParsed (type)", + "SSLConfigSchema": "src/data/driver-sql.zod.ts#SSLConfigSchema (const)", + "SSL_DETAIL_BELONGS_ON_DATASOURCE": "src/data/driver/common.zod.ts#SSL_DETAIL_BELONGS_ON_DATASOURCE (const)", + "STACK_KEY_GUIDANCE": "src/data/authoring-key-lint.ts#STACK_KEY_GUIDANCE (const)", + "STACK_RUNTIME_MEMBERS": "src/data/authoring-key-lint.ts#STACK_RUNTIME_MEMBERS (const)", + "STRING_VALUE_TYPES": "src/data/field-value.zod.ts#STRING_VALUE_TYPES (const)", + "STRUCTURED_JSON_TYPES": "src/data/field-value.zod.ts#STRUCTURED_JSON_TYPES (const)", + "Scalar": "src/data/filter.zod.ts#Scalar (type)", + "SchemaMode": "src/data/datasource.zod.ts#SchemaMode (type)", + "SchemaModeSchema": "src/data/datasource.zod.ts#SchemaModeSchema (const)", + "ScriptBody": "src/data/hook-body.zod.ts#ScriptBody (type)", + "ScriptBodyParsed": "src/data/hook-body.zod.ts#ScriptBodyParsed (type)", + "ScriptBodySchema": "src/data/hook-body.zod.ts#ScriptBodySchema (const)", + "ScriptValidation": "src/data/validation.zod.ts#ScriptValidation (type)", + "ScriptValidationParsed": "src/data/validation.zod.ts#ScriptValidationParsed (type)", + "ScriptValidationSchema": "src/data/validation.zod.ts#ScriptValidationSchema (const)", + "SearchFieldMeta": "src/data/search-fields.ts#SearchFieldMeta (interface)", + "SearchFieldResolutionOptions": "src/data/search-fields.ts#SearchFieldResolutionOptions (interface)", + "Seed": "src/data/seed.zod.ts#Seed (type)", + "SeedIdentity": "src/data/seed-loader.zod.ts#SeedIdentity (type)", + "SeedIdentitySchema": "src/data/seed-loader.zod.ts#SeedIdentitySchema (const)", + "SeedImportMode": "src/data/seed.zod.ts#SeedImportMode (type)", + "SeedLoadResult": "src/data/seed-loader.zod.ts#SeedLoadResult (type)", + "SeedLoadResultParsed": "src/data/seed-loader.zod.ts#SeedLoadResultParsed (type)", + "SeedLoadResultSchema": "src/data/seed-loader.zod.ts#SeedLoadResultSchema (const)", + "SeedLoaderConfig": "src/data/seed-loader.zod.ts#SeedLoaderConfig (type)", + "SeedLoaderConfigParsed": "src/data/seed-loader.zod.ts#SeedLoaderConfigParsed (type)", + "SeedLoaderConfigSchema": "src/data/seed-loader.zod.ts#SeedLoaderConfigSchema (const)", + "SeedLoaderRequest": "src/data/seed-loader.zod.ts#SeedLoaderRequest (type)", + "SeedLoaderRequestParsed": "src/data/seed-loader.zod.ts#SeedLoaderRequestParsed (type)", + "SeedLoaderRequestSchema": "src/data/seed-loader.zod.ts#SeedLoaderRequestSchema (const)", + "SeedLoaderResult": "src/data/seed-loader.zod.ts#SeedLoaderResult (type)", + "SeedLoaderResultParsed": "src/data/seed-loader.zod.ts#SeedLoaderResultParsed (type)", + "SeedLoaderResultSchema": "src/data/seed-loader.zod.ts#SeedLoaderResultSchema (const)", + "SeedMode": "src/data/seed.zod.ts#SeedMode (const)", + "SeedParsed": "src/data/seed.zod.ts#SeedParsed (type)", + "SeedSchema": "src/data/seed.zod.ts#SeedSchema (const)", + "SelectOption": "src/data/field.zod.ts#SelectOption (type)", + "SelectOptionParsed": "src/data/field.zod.ts#SelectOptionParsed (type)", + "SelectOptionSchema": "src/data/field.zod.ts#SelectOptionSchema (const)", + "ServiceObject": "src/data/object.zod.ts#ServiceObject (type)", + "ServiceObjectParsed": "src/data/object.zod.ts#ServiceObjectParsed (type)", + "SetOperatorSchema": "src/data/filter.zod.ts#SetOperatorSchema (const)", + "ShardingConfig": "src/data/driver-nosql.zod.ts#ShardingConfig (type)", + "ShardingConfigParsed": "src/data/driver-nosql.zod.ts#ShardingConfigParsed (type)", + "ShardingConfigSchema": "src/data/driver-nosql.zod.ts#ShardingConfigSchema (const)", + "SortNode": "src/data/query.zod.ts#SortNode (type)", + "SortNodeParsed": "src/data/query.zod.ts#SortNodeParsed (type)", + "SortNodeSchema": "src/data/query.zod.ts#SortNodeSchema (const)", + "SpecialOperatorSchema": "src/data/filter.zod.ts#SpecialOperatorSchema (const)", + "SqlAutoMigrate": "src/data/driver/common.zod.ts#SqlAutoMigrate (type)", + "SqlAutoMigrateSchema": "src/data/driver/common.zod.ts#SqlAutoMigrateSchema (const)", + "SqlDialect": "src/data/type-compat.ts#SqlDialect (type)", + "SqliteConfig": "src/data/driver/sqlite.zod.ts#SqliteConfig (type)", + "SqliteConfigParsed": "src/data/driver/sqlite.zod.ts#SqliteConfigParsed (type)", + "SqliteConfigSchema": "src/data/driver/sqlite.zod.ts#SqliteConfigSchema (const)", + "SqliteWasmConfig": "src/data/driver/sqlite.zod.ts#SqliteWasmConfig (type)", + "SqliteWasmConfigParsed": "src/data/driver/sqlite.zod.ts#SqliteWasmConfigParsed (type)", + "SqliteWasmConfigSchema": "src/data/driver/sqlite.zod.ts#SqliteWasmConfigSchema (const)", + "SqliteWasmPersistMode": "src/data/driver/sqlite.zod.ts#SqliteWasmPersistMode (type)", + "SqliteWasmPersistModeSchema": "src/data/driver/sqlite.zod.ts#SqliteWasmPersistModeSchema (const)", + "StateMachineValidation": "src/data/validation.zod.ts#StateMachineValidation (type)", + "StateMachineValidationParsed": "src/data/validation.zod.ts#StateMachineValidationParsed (type)", + "StateMachineValidationSchema": "src/data/validation.zod.ts#StateMachineValidationSchema (const)", + "StringOperatorSchema": "src/data/filter.zod.ts#StringOperatorSchema (const)", + "TEMPORAL_CASES": "src/data/temporal-conformance.ts#TEMPORAL_CASES (const)", + "TEMPORAL_NOW": "src/data/temporal-conformance.ts#TEMPORAL_NOW (const)", + "TEMPORAL_ROWS": "src/data/temporal-conformance.ts#TEMPORAL_ROWS (const)", + "TEMPORAL_TIME_CASES": "src/data/temporal-conformance.ts#TEMPORAL_TIME_CASES (const)", + "TEMPORAL_TIME_ROWS": "src/data/temporal-conformance.ts#TEMPORAL_TIME_ROWS (const)", + "TITLE_ELIGIBLE": "src/data/display-name.ts#TITLE_ELIGIBLE (const)", + "TITLE_ELIGIBLE_TYPES": "src/data/display-name.ts#TITLE_ELIGIBLE_TYPES (const)", + "TITLE_INELIGIBLE_TYPES": "src/data/display-name.ts#TITLE_INELIGIBLE_TYPES (const)", + "TemporalCase": "src/data/temporal-conformance.ts#TemporalCase (interface)", + "TemporalFieldKind": "src/data/temporal-conformance.ts#TemporalFieldKind (type)", + "TemporalRow": "src/data/temporal-conformance.ts#TemporalRow (interface)", + "TemporalTimeCase": "src/data/temporal-conformance.ts#TemporalTimeCase (interface)", + "TemporalTimeRow": "src/data/temporal-conformance.ts#TemporalTimeRow (interface)", + "TemporalWriterForm": "src/data/temporal-conformance.ts#TemporalWriterForm (type)", + "TenancyConfig": "src/data/object.zod.ts#TenancyConfig (type)", + "TenancyConfigSchema": "src/data/object.zod.ts#TenancyConfigSchema (const)", + "TimeUpdateInterval": "src/data/analytics.zod.ts#TimeUpdateInterval (type)", + "TitleEligibleFieldDef": "src/data/display-name.ts#TitleEligibleFieldDef (interface)", + "TransformType": "src/data/mapping.zod.ts#TransformType (type)", + "TursoConfig": "src/data/driver/turso.zod.ts#TursoConfig (type)", + "TursoConfigParsed": "src/data/driver/turso.zod.ts#TursoConfigParsed (type)", + "TursoConfigSchema": "src/data/driver/turso.zod.ts#TursoConfigSchema (const)", + "TursoDriverSpec": "src/data/driver/turso.zod.ts#TursoDriverSpec (const)", + "TursoTransportMode": "src/data/driver/turso.zod.ts#TursoTransportMode (type)", + "TursoTransportModeSchema": "src/data/driver/turso.zod.ts#TursoTransportModeSchema (const)", + "UniqueScope": "src/data/field.zod.ts#UniqueScope (type)", + "UniqueScopeSchema": "src/data/field.zod.ts#UniqueScopeSchema (const)", + "UnknownAuthoringKeyFinding": "src/data/authoring-key-lint.ts#UnknownAuthoringKeyFinding (interface)", + "UnorderedPaginationConformanceCase": "src/data/pagination-conformance.ts#UnorderedPaginationConformanceCase (interface)", + "VALID_AST_OPERATORS": "src/data/filter.zod.ts#VALID_AST_OPERATORS (const)", + "ValidationRule": "src/data/validation.zod.ts#ValidationRule (type)", + "ValidationRuleSchema": "src/data/validation.zod.ts#ValidationRuleSchema (const)", + "ValueForm": "src/data/field-value.zod.ts#ValueForm (type)", + "ValueShapeFieldDef": "src/data/field-value.zod.ts#ValueShapeFieldDef (interface)", + "ZeroLimitConformanceCase": "src/data/pagination-conformance.ts#ZeroLimitConformanceCase (interface)", + "canonicalAstOperator": "src/data/filter.zod.ts#canonicalAstOperator (function)", + "canonicalizeSqlType": "src/data/type-compat.ts#canonicalizeSqlType (function)", + "classifyFilterToken": "src/data/context-tokens.zod.ts#classifyFilterToken (function)", + "countAuthorableFields": "src/data/record-surface.ts#countAuthorableFields (function)", + "defaultAggregateFor": "src/data/aggregation-policy.ts#defaultAggregateFor (function)", + "defineCube": "src/data/analytics.zod.ts#defineCube (function)", + "defineDatasource": "src/data/datasource.zod.ts#defineDatasource (function)", + "defineHook": "src/data/hook.zod.ts#defineHook (function)", + "defineMapping": "src/data/mapping.zod.ts#defineMapping (function)", + "defineObjectExtension": "src/data/object.zod.ts#defineObjectExtension (function)", + "defineSeed": "src/data/seed.zod.ts#defineSeed (function)", + "deriveFieldGroupLayout": "src/data/field-group-layout.ts#deriveFieldGroupLayout (function)", + "deriveRecordFlowSurface": "src/data/record-surface.ts#deriveRecordFlowSurface (function)", + "deriveRecordSurface": "src/data/record-surface.ts#deriveRecordSurface (function)", + "driverConfigJsonSchema": "src/data/driver/common.zod.ts#driverConfigJsonSchema (function)", + "driverHasLocalDefault": "src/data/driver/config-registry.zod.ts#driverHasLocalDefault (function)", + "effectiveOperationsArray": "src/data/api-derivation.ts#effectiveOperationsArray (function)", + "emptyGroupValueFor": "src/data/aggregation-policy.ts#emptyGroupValueFor (function)", + "fieldForm": "src/data/field.form.ts#fieldForm (const)", + "foldQueryAliasSlots": "src/data/data-engine.zod.ts#foldQueryAliasSlots (function)", + "formatUnknownAuthoringKey": "src/data/authoring-key-lint.ts#formatUnknownAuthoringKey (function)", + "getDriverConfigJsonSchemaById": "src/data/driver/config-registry.zod.ts#getDriverConfigJsonSchemaById (function)", + "getDriverConfigSchema": "src/data/driver/config-registry.zod.ts#getDriverConfigSchema (function)", + "getMemoryConfigJsonSchema": "src/data/driver/memory.zod.ts#getMemoryConfigJsonSchema (const)", + "getMongoConfigJsonSchema": "src/data/driver/mongo.zod.ts#getMongoConfigJsonSchema (const)", + "getMysqlConfigJsonSchema": "src/data/driver/mysql.zod.ts#getMysqlConfigJsonSchema (const)", + "getPostgresConfigJsonSchema": "src/data/driver/postgres.zod.ts#getPostgresConfigJsonSchema (const)", + "getSqliteConfigJsonSchema": "src/data/driver/sqlite.zod.ts#getSqliteConfigJsonSchema (const)", + "getSqliteWasmConfigJsonSchema": "src/data/driver/sqlite.zod.ts#getSqliteWasmConfigJsonSchema (const)", + "getTursoConfigJsonSchema": "src/data/driver/turso.zod.ts#getTursoConfigJsonSchema (const)", + "hasDynamicTokens": "src/data/autonumber-format.ts#hasDynamicTokens (function)", + "hookForm": "src/data/hook.form.ts#hookForm (const)", + "isApiOperationAllowed": "src/data/api-derivation.ts#isApiOperationAllowed (function)", + "isApiPrimitive": "src/data/api-derivation.ts#isApiPrimitive (function)", + "isAppResolvedDefaultToken": "src/data/default-value-tokens.ts#isAppResolvedDefaultToken (function)", + "isCompatible": "src/data/type-compat.ts#isCompatible (function)", + "isContextToken": "src/data/context-tokens.zod.ts#isContextToken (function)", + "isCurrentUserDefaultToken": "src/data/default-value-tokens.ts#isCurrentUserDefaultToken (function)", + "isDateMacroToken": "src/data/date-macros.zod.ts#isDateMacroToken (function)", + "isFileIdToken": "src/data/field-value.zod.ts#isFileIdToken (function)", + "isFilterAST": "src/data/filter.zod.ts#isFilterAST (function)", + "isGlobalUnique": "src/data/field.zod.ts#isGlobalUnique (function)", + "isIncoherentAggregate": "src/data/aggregation-policy.ts#isIncoherentAggregate (function)", + "isKnownFilterToken": "src/data/context-tokens.zod.ts#isKnownFilterToken (function)", + "isLegacyApiMethod": "src/data/api-derivation.ts#isLegacyApiMethod (function)", + "isMultiValueField": "src/data/field-value.zod.ts#isMultiValueField (function)", + "isNowDefaultToken": "src/data/default-value-tokens.ts#isNowDefaultToken (function)", + "isOrganizationUnique": "src/data/field.zod.ts#isOrganizationUnique (function)", + "isPlainRecord": "src/data/authoring-key-lint.ts#isPlainRecord (function)", + "isRuntimeDefaultToken": "src/data/default-value-tokens.ts#isRuntimeDefaultToken (function)", + "isTenancyDisabled": "src/data/object.zod.ts#isTenancyDisabled (function)", + "isTitleEligible": "src/data/display-name.ts#isTitleEligible (function)", + "isUniqueDeclared": "src/data/field.zod.ts#isUniqueDeclared (function)", + "lintAuthoredRecordKeys": "src/data/authoring-key-lint.ts#lintAuthoredRecordKeys (function)", + "missingFieldValues": "src/data/autonumber-format.ts#missingFieldValues (function)", + "nextUtcCalendarDay": "src/data/calendar-day.ts#nextUtcCalendarDay (function)", + "objectForm": "src/data/object.form.ts#objectForm (const)", + "objectTitleCompleteness": "src/data/display-name.ts#objectTitleCompleteness (function)", + "parseAutonumberFormat": "src/data/autonumber-format.ts#parseAutonumberFormat (function)", + "parseDateMacroParam": "src/data/date-macros.zod.ts#parseDateMacroParam (function)", + "parseFilterAST": "src/data/filter.zod.ts#parseFilterAST (function)", + "percentScaleOf": "src/data/percent-scale.ts#percentScaleOf (function)", + "provisionPrimary": "src/data/display-name.ts#provisionPrimary (function)", + "reduceFilterKeyVerdict": "src/data/filter-verdict.ts#reduceFilterKeyVerdict (function)", + "reduceFilterVerdict": "src/data/filter-verdict.ts#reduceFilterVerdict (function)", + "referenceTargetOf": "src/data/field-value.zod.ts#referenceTargetOf (function)", + "referencedFields": "src/data/autonumber-format.ts#referencedFields (function)", + "renderAutonumber": "src/data/autonumber-format.ts#renderAutonumber (function)", + "resolveBulkPerRowHookBudget": "src/data/bulk-write-hook-conformance.ts#resolveBulkPerRowHookBudget (function)", + "resolveCrudAffordances": "src/data/object.zod.ts#resolveCrudAffordances (function)", + "resolveDatabaseDriverId": "src/data/driver/config-registry.zod.ts#resolveDatabaseDriverId (function)", + "resolveDisplayField": "src/data/display-name.ts#resolveDisplayField (function)", + "resolveDriverId": "src/data/driver/config-registry.zod.ts#resolveDriverId (function)", + "resolveEffectiveApiMethods": "src/data/api-derivation.ts#resolveEffectiveApiMethods (function)", + "resolveInjectedSystemColumns": "src/data/injected-system-columns.ts#resolveInjectedSystemColumns (function)", + "resolveRecordDisplayName": "src/data/display-name.ts#resolveRecordDisplayName (function)", + "resolveSearchFieldResolution": "src/data/search-fields.ts#resolveSearchFieldResolution (function)", + "resolveSearchFields": "src/data/search-fields.ts#resolveSearchFields (function)", + "sequenceWidth": "src/data/autonumber-format.ts#sequenceWidth (function)", + "stripLegacyApiMethods": "src/data/object.zod.ts#stripLegacyApiMethods (function)", + "suggestFieldTypeForSqlType": "src/data/type-compat.ts#suggestFieldTypeForSqlType (function)", + "utcInstantMs": "src/data/calendar-day.ts#utcInstantMs (function)", + "validateDriverConfig": "src/data/driver/config-registry.zod.ts#validateDriverConfig (function)", + "valueSchemaFor": "src/data/field-value.zod.ts#valueSchemaFor (function)" + } +} diff --git a/packages/spec/export-origins/identity.json b/packages/spec/export-origins/identity.json new file mode 100644 index 0000000000..d49cad3121 --- /dev/null +++ b/packages/spec/export-origins/identity.json @@ -0,0 +1,110 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./identity", + "exports": { + "ADMIN_FULL_ACCESS": "src/identity/eval-user.zod.ts#ADMIN_FULL_ACCESS (const)", + "AUDIENCE_ANCHOR_POSITIONS": "src/identity/position.zod.ts#AUDIENCE_ANCHOR_POSITIONS (const)", + "AUTH_CONSTANTS": "src/identity/protocol.ts#AUTH_CONSTANTS (const)", + "AUTH_ERROR_CODES": "src/identity/protocol.ts#AUTH_ERROR_CODES (const)", + "Account": "src/identity/identity.zod.ts#Account (type)", + "AccountSchema": "src/identity/identity.zod.ts#AccountSchema (const)", + "ApiKey": "src/identity/identity.zod.ts#ApiKey (type)", + "ApiKeyParsed": "src/identity/identity.zod.ts#ApiKeyParsed (type)", + "ApiKeySchema": "src/identity/identity.zod.ts#ApiKeySchema (const)", + "AuthError": "src/identity/protocol.ts#AuthError (interface)", + "AuthHeaders": "src/identity/protocol.ts#AuthHeaders (interface)", + "AuthResponse": "src/identity/protocol.ts#AuthResponse (interface)", + "BUILTIN_IDENTITY_METADATA": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_METADATA (const)", + "BUILTIN_IDENTITY_NAMES": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_NAMES (const)", + "BUILTIN_IDENTITY_ORG_ADMIN": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_ORG_ADMIN (const)", + "BUILTIN_IDENTITY_ORG_MEMBER": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_ORG_MEMBER (const)", + "BUILTIN_IDENTITY_ORG_OWNER": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_ORG_OWNER (const)", + "BUILTIN_IDENTITY_PLATFORM_ADMIN": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_PLATFORM_ADMIN (const)", + "BUILTIN_MEMBERSHIP_ROLES": "src/identity/membership-role.ts#BUILTIN_MEMBERSHIP_ROLES (const)", + "BUILTIN_MEMBERSHIP_ROLE_OPTIONS": "src/identity/membership-role.ts#BUILTIN_MEMBERSHIP_ROLE_OPTIONS (const)", + "BuiltinIdentityName": "src/identity/eval-user.zod.ts#BuiltinIdentityName (type)", + "BuiltinMembershipRole": "src/identity/membership-role.ts#BuiltinMembershipRole (type)", + "EVERYONE_POSITION": "src/identity/position.zod.ts#EVERYONE_POSITION (const)", + "EvalUser": "src/identity/eval-user.zod.ts#EvalUser (type)", + "EvalUserParsed": "src/identity/eval-user.zod.ts#EvalUserParsed (type)", + "EvalUserSchema": "src/identity/eval-user.zod.ts#EvalUserSchema (const)", + "GUEST_POSITION": "src/identity/position.zod.ts#GUEST_POSITION (const)", + "Invitation": "src/identity/organization.zod.ts#Invitation (type)", + "InvitationParsed": "src/identity/organization.zod.ts#InvitationParsed (type)", + "InvitationSchema": "src/identity/organization.zod.ts#InvitationSchema (const)", + "InvitationStatus": "src/identity/organization.zod.ts#InvitationStatus (type)", + "MEMBERSHIP_ROLE_ADMIN": "src/identity/membership-role.ts#MEMBERSHIP_ROLE_ADMIN (const)", + "MEMBERSHIP_ROLE_DELEGATED_ADMIN": "src/identity/membership-role.ts#MEMBERSHIP_ROLE_DELEGATED_ADMIN (const)", + "MEMBERSHIP_ROLE_MEMBER": "src/identity/membership-role.ts#MEMBERSHIP_ROLE_MEMBER (const)", + "MEMBERSHIP_ROLE_OWNER": "src/identity/membership-role.ts#MEMBERSHIP_ROLE_OWNER (const)", + "Member": "src/identity/organization.zod.ts#Member (type)", + "MemberSchema": "src/identity/organization.zod.ts#MemberSchema (const)", + "ORGANIZATION_ADMIN": "src/identity/eval-user.zod.ts#ORGANIZATION_ADMIN (const)", + "ORGANIZATION_ADMIN_GRANTS": "src/identity/eval-user.zod.ts#ORGANIZATION_ADMIN_GRANTS (const)", + "ORGANIZATION_ADMIN_NO_BYPASS": "src/identity/eval-user.zod.ts#ORGANIZATION_ADMIN_NO_BYPASS (const)", + "Organization": "src/identity/organization.zod.ts#Organization (type)", + "OrganizationSchema": "src/identity/organization.zod.ts#OrganizationSchema (const)", + "Position": "src/identity/position.zod.ts#Position (type)", + "PositionParsed": "src/identity/position.zod.ts#PositionParsed (type)", + "PositionSchema": "src/identity/position.zod.ts#PositionSchema (const)", + "SCIM": "src/identity/scim.zod.ts#SCIM (const)", + "SCIMAddress": "src/identity/scim.zod.ts#SCIMAddress (type)", + "SCIMAddressParsed": "src/identity/scim.zod.ts#SCIMAddressParsed (type)", + "SCIMAddressSchema": "src/identity/scim.zod.ts#SCIMAddressSchema (const)", + "SCIMBulkOperation": "src/identity/scim.zod.ts#SCIMBulkOperation (type)", + "SCIMBulkOperationSchema": "src/identity/scim.zod.ts#SCIMBulkOperationSchema (const)", + "SCIMBulkRequest": "src/identity/scim.zod.ts#SCIMBulkRequest (type)", + "SCIMBulkRequestParsed": "src/identity/scim.zod.ts#SCIMBulkRequestParsed (type)", + "SCIMBulkRequestSchema": "src/identity/scim.zod.ts#SCIMBulkRequestSchema (const)", + "SCIMBulkResponse": "src/identity/scim.zod.ts#SCIMBulkResponse (type)", + "SCIMBulkResponseOperation": "src/identity/scim.zod.ts#SCIMBulkResponseOperation (type)", + "SCIMBulkResponseOperationSchema": "src/identity/scim.zod.ts#SCIMBulkResponseOperationSchema (const)", + "SCIMBulkResponseParsed": "src/identity/scim.zod.ts#SCIMBulkResponseParsed (type)", + "SCIMBulkResponseSchema": "src/identity/scim.zod.ts#SCIMBulkResponseSchema (const)", + "SCIMEmail": "src/identity/scim.zod.ts#SCIMEmail (type)", + "SCIMEmailParsed": "src/identity/scim.zod.ts#SCIMEmailParsed (type)", + "SCIMEmailSchema": "src/identity/scim.zod.ts#SCIMEmailSchema (const)", + "SCIMEnterpriseUser": "src/identity/scim.zod.ts#SCIMEnterpriseUser (type)", + "SCIMEnterpriseUserSchema": "src/identity/scim.zod.ts#SCIMEnterpriseUserSchema (const)", + "SCIMError": "src/identity/scim.zod.ts#SCIMError (type)", + "SCIMErrorParsed": "src/identity/scim.zod.ts#SCIMErrorParsed (type)", + "SCIMErrorSchema": "src/identity/scim.zod.ts#SCIMErrorSchema (const)", + "SCIMGroup": "src/identity/scim.zod.ts#SCIMGroup (type)", + "SCIMGroupParsed": "src/identity/scim.zod.ts#SCIMGroupParsed (type)", + "SCIMGroupReference": "src/identity/scim.zod.ts#SCIMGroupReference (type)", + "SCIMGroupReferenceSchema": "src/identity/scim.zod.ts#SCIMGroupReferenceSchema (const)", + "SCIMGroupSchema": "src/identity/scim.zod.ts#SCIMGroupSchema (const)", + "SCIMListResponse": "src/identity/scim.zod.ts#SCIMListResponse (type)", + "SCIMListResponseParsed": "src/identity/scim.zod.ts#SCIMListResponseParsed (type)", + "SCIMListResponseSchema": "src/identity/scim.zod.ts#SCIMListResponseSchema (const)", + "SCIMMemberReference": "src/identity/scim.zod.ts#SCIMMemberReference (type)", + "SCIMMemberReferenceSchema": "src/identity/scim.zod.ts#SCIMMemberReferenceSchema (const)", + "SCIMMeta": "src/identity/scim.zod.ts#SCIMMeta (type)", + "SCIMMetaSchema": "src/identity/scim.zod.ts#SCIMMetaSchema (const)", + "SCIMName": "src/identity/scim.zod.ts#SCIMName (type)", + "SCIMNameSchema": "src/identity/scim.zod.ts#SCIMNameSchema (const)", + "SCIMPatchOperation": "src/identity/scim.zod.ts#SCIMPatchOperation (type)", + "SCIMPatchOperationSchema": "src/identity/scim.zod.ts#SCIMPatchOperationSchema (const)", + "SCIMPatchRequest": "src/identity/scim.zod.ts#SCIMPatchRequest (type)", + "SCIMPatchRequestParsed": "src/identity/scim.zod.ts#SCIMPatchRequestParsed (type)", + "SCIMPatchRequestSchema": "src/identity/scim.zod.ts#SCIMPatchRequestSchema (const)", + "SCIMPhoneNumber": "src/identity/scim.zod.ts#SCIMPhoneNumber (type)", + "SCIMPhoneNumberParsed": "src/identity/scim.zod.ts#SCIMPhoneNumberParsed (type)", + "SCIMPhoneNumberSchema": "src/identity/scim.zod.ts#SCIMPhoneNumberSchema (const)", + "SCIMResource": "src/identity/scim.zod.ts#SCIMResource (type)", + "SCIMUser": "src/identity/scim.zod.ts#SCIMUser (type)", + "SCIMUserParsed": "src/identity/scim.zod.ts#SCIMUserParsed (type)", + "SCIMUserSchema": "src/identity/scim.zod.ts#SCIMUserSchema (const)", + "SCIM_SCHEMAS": "src/identity/scim.zod.ts#SCIM_SCHEMAS (const)", + "TokenPayload": "src/identity/protocol.ts#TokenPayload (interface)", + "User": "src/identity/identity.zod.ts#User (type)", + "UserParsed": "src/identity/identity.zod.ts#UserParsed (type)", + "UserSchema": "src/identity/identity.zod.ts#UserSchema (const)", + "VerificationToken": "src/identity/identity.zod.ts#VerificationToken (type)", + "VerificationTokenSchema": "src/identity/identity.zod.ts#VerificationTokenSchema (const)", + "createEvalUser": "src/identity/eval-user.zod.ts#createEvalUser (function)", + "definePosition": "src/identity/position.zod.ts#definePosition (function)", + "mapMembershipRole": "src/identity/eval-user.zod.ts#mapMembershipRole (function)", + "positionForm": "src/identity/position.form.ts#positionForm (const)" + } +} diff --git a/packages/spec/export-origins/integration.json b/packages/spec/export-origins/integration.json new file mode 100644 index 0000000000..b1bf89ec45 --- /dev/null +++ b/packages/spec/export-origins/integration.json @@ -0,0 +1,83 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./integration", + "exports": { + "CONNECTOR_UPSTREAM_UNAVAILABLE": "src/integration/connector-provider-errors.ts#CONNECTOR_UPSTREAM_UNAVAILABLE (const)", + "CircuitBreakerConfig": "src/integration/connector.zod.ts#CircuitBreakerConfig (type)", + "CircuitBreakerConfigParsed": "src/integration/connector.zod.ts#CircuitBreakerConfigParsed (type)", + "CircuitBreakerConfigSchema": "src/integration/connector.zod.ts#CircuitBreakerConfigSchema (const)", + "Connector": "src/integration/connector.zod.ts#Connector (type)", + "ConnectorAction": "src/integration/connector.zod.ts#ConnectorAction (type)", + "ConnectorActionDescriptor": "src/integration/connector-descriptor.ts#ConnectorActionDescriptor (interface)", + "ConnectorActionEffect": "src/integration/connector.zod.ts#ConnectorActionEffect (type)", + "ConnectorActionEffectSchema": "src/integration/connector.zod.ts#ConnectorActionEffectSchema (const)", + "ConnectorActionSchema": "src/integration/connector.zod.ts#ConnectorActionSchema (const)", + "ConnectorConflictResolution": "src/integration/connector.zod.ts#ConnectorConflictResolution (type)", + "ConnectorConflictResolutionSchema": "src/integration/connector.zod.ts#ConnectorConflictResolutionSchema (const)", + "ConnectorDescriptor": "src/integration/connector-descriptor.ts#ConnectorDescriptor (interface)", + "ConnectorErrorCategory": "src/integration/connector.zod.ts#ConnectorErrorCategory (type)", + "ConnectorErrorCategorySchema": "src/integration/connector.zod.ts#ConnectorErrorCategorySchema (const)", + "ConnectorFieldMapping": "src/integration/connector.zod.ts#ConnectorFieldMapping (type)", + "ConnectorFieldMappingParsed": "src/integration/connector.zod.ts#ConnectorFieldMappingParsed (type)", + "ConnectorFieldMappingSchema": "src/integration/connector.zod.ts#ConnectorFieldMappingSchema (const)", + "ConnectorHealth": "src/integration/connector.zod.ts#ConnectorHealth (type)", + "ConnectorHealthParsed": "src/integration/connector.zod.ts#ConnectorHealthParsed (type)", + "ConnectorHealthSchema": "src/integration/connector.zod.ts#ConnectorHealthSchema (const)", + "ConnectorInstanceAPIKeyAuth": "src/shared/connector-auth.zod.ts#ConnectorInstanceAPIKeyAuth (type)", + "ConnectorInstanceAPIKeyAuthSchema": "src/shared/connector-auth.zod.ts#ConnectorInstanceAPIKeyAuthSchema (const)", + "ConnectorInstanceAuth": "src/shared/connector-auth.zod.ts#ConnectorInstanceAuth (type)", + "ConnectorInstanceAuthSchema": "src/shared/connector-auth.zod.ts#ConnectorInstanceAuthSchema (const)", + "ConnectorInstanceBasicAuth": "src/shared/connector-auth.zod.ts#ConnectorInstanceBasicAuth (type)", + "ConnectorInstanceBasicAuthSchema": "src/shared/connector-auth.zod.ts#ConnectorInstanceBasicAuthSchema (const)", + "ConnectorInstanceBearerAuth": "src/shared/connector-auth.zod.ts#ConnectorInstanceBearerAuth (type)", + "ConnectorInstanceBearerAuthSchema": "src/shared/connector-auth.zod.ts#ConnectorInstanceBearerAuthSchema (const)", + "ConnectorInstanceNoAuth": "src/shared/connector-auth.zod.ts#ConnectorInstanceNoAuth (type)", + "ConnectorInstanceNoAuthSchema": "src/shared/connector-auth.zod.ts#ConnectorInstanceNoAuthSchema (const)", + "ConnectorMaterialization": "src/integration/connector-provider.ts#ConnectorMaterialization (interface)", + "ConnectorMaterializationHandler": "src/integration/connector-provider.ts#ConnectorMaterializationHandler (type)", + "ConnectorOrigin": "src/integration/connector-descriptor.ts#ConnectorOrigin (type)", + "ConnectorParsed": "src/integration/connector.zod.ts#ConnectorParsed (type)", + "ConnectorProviderContext": "src/integration/connector-provider.ts#ConnectorProviderContext (interface)", + "ConnectorProviderFactory": "src/integration/connector-provider.ts#ConnectorProviderFactory (type)", + "ConnectorRetryStrategy": "src/integration/connector.zod.ts#ConnectorRetryStrategy (type)", + "ConnectorRetryStrategySchema": "src/integration/connector.zod.ts#ConnectorRetryStrategySchema (const)", + "ConnectorSchema": "src/integration/connector.zod.ts#ConnectorSchema (const)", + "ConnectorState": "src/integration/connector-descriptor.ts#ConnectorState (type)", + "ConnectorStatus": "src/integration/connector.zod.ts#ConnectorStatus (type)", + "ConnectorStatusSchema": "src/integration/connector.zod.ts#ConnectorStatusSchema (const)", + "ConnectorTrigger": "src/integration/connector.zod.ts#ConnectorTrigger (type)", + "ConnectorTriggerSchema": "src/integration/connector.zod.ts#ConnectorTriggerSchema (const)", + "ConnectorType": "src/integration/connector.zod.ts#ConnectorType (type)", + "ConnectorTypeSchema": "src/integration/connector.zod.ts#ConnectorTypeSchema (const)", + "ConnectorUpstreamUnavailableError": "src/integration/connector-provider-errors.ts#ConnectorUpstreamUnavailableError (class)", + "DataSyncConfig": "src/integration/connector.zod.ts#DataSyncConfig (type)", + "DataSyncConfigParsed": "src/integration/connector.zod.ts#DataSyncConfigParsed (type)", + "DataSyncConfigSchema": "src/integration/connector.zod.ts#DataSyncConfigSchema (const)", + "DeclarativeConnectorEntry": "src/integration/connector.zod.ts#DeclarativeConnectorEntry (type)", + "DeclarativeConnectorEntryParsed": "src/integration/connector.zod.ts#DeclarativeConnectorEntryParsed (type)", + "DeclarativeConnectorEntrySchema": "src/integration/connector.zod.ts#DeclarativeConnectorEntrySchema (const)", + "ErrorMappingConfig": "src/integration/connector.zod.ts#ErrorMappingConfig (type)", + "ErrorMappingConfigParsed": "src/integration/connector.zod.ts#ErrorMappingConfigParsed (type)", + "ErrorMappingConfigSchema": "src/integration/connector.zod.ts#ErrorMappingConfigSchema (const)", + "ErrorMappingRule": "src/integration/connector.zod.ts#ErrorMappingRule (type)", + "ErrorMappingRuleSchema": "src/integration/connector.zod.ts#ErrorMappingRuleSchema (const)", + "HealthCheckConfig": "src/integration/connector.zod.ts#HealthCheckConfig (type)", + "HealthCheckConfigParsed": "src/integration/connector.zod.ts#HealthCheckConfigParsed (type)", + "HealthCheckConfigSchema": "src/integration/connector.zod.ts#HealthCheckConfigSchema (const)", + "ResolvedConnectorAuth": "src/shared/connector-auth.zod.ts#ResolvedConnectorAuth (type)", + "RetryConfig": "src/integration/connector.zod.ts#RetryConfig (type)", + "RetryConfigParsed": "src/integration/connector.zod.ts#RetryConfigParsed (type)", + "RetryConfigSchema": "src/integration/connector.zod.ts#RetryConfigSchema (const)", + "SyncStrategy": "src/integration/connector.zod.ts#SyncStrategy (type)", + "SyncStrategySchema": "src/integration/connector.zod.ts#SyncStrategySchema (const)", + "WebhookConfig": "src/integration/connector.zod.ts#WebhookConfig (type)", + "WebhookConfigParsed": "src/integration/connector.zod.ts#WebhookConfigParsed (type)", + "WebhookConfigSchema": "src/integration/connector.zod.ts#WebhookConfigSchema (const)", + "WebhookEvent": "src/integration/connector.zod.ts#WebhookEvent (type)", + "WebhookEventSchema": "src/integration/connector.zod.ts#WebhookEventSchema (const)", + "WebhookSignatureAlgorithm": "src/integration/connector.zod.ts#WebhookSignatureAlgorithm (type)", + "WebhookSignatureAlgorithmSchema": "src/integration/connector.zod.ts#WebhookSignatureAlgorithmSchema (const)", + "defineConnector": "src/integration/connector.zod.ts#defineConnector (function)", + "isConnectorUpstreamUnavailable": "src/integration/connector-provider-errors.ts#isConnectorUpstreamUnavailable (function)" + } +} diff --git a/packages/spec/export-origins/kernel.json b/packages/spec/export-origins/kernel.json new file mode 100644 index 0000000000..980a8c629e --- /dev/null +++ b/packages/spec/export-origins/kernel.json @@ -0,0 +1,542 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./kernel", + "exports": { + "AdvancedPluginLifecycleConfig": "src/kernel/plugin-lifecycle-advanced.zod.ts#AdvancedPluginLifecycleConfig (type)", + "AdvancedPluginLifecycleConfigParsed": "src/kernel/plugin-lifecycle-advanced.zod.ts#AdvancedPluginLifecycleConfigParsed (type)", + "AdvancedPluginLifecycleConfigSchema": "src/kernel/plugin-lifecycle-advanced.zod.ts#AdvancedPluginLifecycleConfigSchema (const)", + "ArtifactChecksum": "src/kernel/package-artifact.zod.ts#ArtifactChecksum (type)", + "ArtifactChecksumParsed": "src/kernel/package-artifact.zod.ts#ArtifactChecksumParsed (type)", + "ArtifactChecksumSchema": "src/kernel/package-artifact.zod.ts#ArtifactChecksumSchema (const)", + "ArtifactFileEntry": "src/kernel/package-artifact.zod.ts#ArtifactFileEntry (type)", + "ArtifactFileEntrySchema": "src/kernel/package-artifact.zod.ts#ArtifactFileEntrySchema (const)", + "ArtifactSignature": "src/kernel/package-artifact.zod.ts#ArtifactSignature (type)", + "ArtifactSignatureParsed": "src/kernel/package-artifact.zod.ts#ArtifactSignatureParsed (type)", + "ArtifactSignatureSchema": "src/kernel/package-artifact.zod.ts#ArtifactSignatureSchema (const)", + "BreakingChange": "src/kernel/plugin-versioning.zod.ts#BreakingChange (type)", + "BreakingChangeParsed": "src/kernel/plugin-versioning.zod.ts#BreakingChangeParsed (type)", + "BreakingChangeSchema": "src/kernel/plugin-versioning.zod.ts#BreakingChangeSchema (const)", + "CLICommandContribution": "src/kernel/cli-extension.zod.ts#CLICommandContribution (type)", + "CLICommandContributionSchema": "src/kernel/cli-extension.zod.ts#CLICommandContributionSchema (const)", + "CONSUMER_INSTALLABLE_TYPES": "src/kernel/plugin.zod.ts#CONSUMER_INSTALLABLE_TYPES (const)", + "CORE_PLUGIN_TYPES": "src/kernel/plugin.zod.ts#CORE_PLUGIN_TYPES (const)", + "CapabilityClassification": "src/kernel/platform-capabilities.ts#CapabilityClassification (interface)", + "CapabilityConformanceLevel": "src/kernel/plugin-capability.zod.ts#CapabilityConformanceLevel (type)", + "CapabilityConformanceLevelSchema": "src/kernel/plugin-capability.zod.ts#CapabilityConformanceLevelSchema (const)", + "CapabilityEdition": "src/kernel/platform-capabilities.ts#CapabilityEdition (type)", + "CapabilityProviderStatus": "src/kernel/platform-capabilities.ts#CapabilityProviderStatus (type)", + "ClusterCapabilityConfig": "src/kernel/cluster.zod.ts#ClusterCapabilityConfig (type)", + "ClusterCapabilityConfigParsed": "src/kernel/cluster.zod.ts#ClusterCapabilityConfigParsed (type)", + "ClusterCapabilityConfigSchema": "src/kernel/cluster.zod.ts#ClusterCapabilityConfigSchema (const)", + "ClusterDriver": "src/kernel/cluster.zod.ts#ClusterDriver (type)", + "ClusterDriverSchema": "src/kernel/cluster.zod.ts#ClusterDriverSchema (const)", + "ClusterTenantIsolation": "src/kernel/cluster.zod.ts#ClusterTenantIsolation (type)", + "ClusterTenantIsolationSchema": "src/kernel/cluster.zod.ts#ClusterTenantIsolationSchema (const)", + "CompatibilityLevel": "src/kernel/plugin-versioning.zod.ts#CompatibilityLevel (type)", + "CompatibilityLevelSchema": "src/kernel/plugin-versioning.zod.ts#CompatibilityLevelSchema (const)", + "CompatibilityMatrixEntry": "src/kernel/plugin-versioning.zod.ts#CompatibilityMatrixEntry (type)", + "CompatibilityMatrixEntryParsed": "src/kernel/plugin-versioning.zod.ts#CompatibilityMatrixEntryParsed (type)", + "CompatibilityMatrixEntrySchema": "src/kernel/plugin-versioning.zod.ts#CompatibilityMatrixEntrySchema (const)", + "CompletenessFinding": "src/kernel/functional-completeness.ts#CompletenessFinding (interface)", + "CustomizationOrigin": "src/kernel/metadata-customization.zod.ts#CustomizationOrigin (type)", + "CustomizationOriginSchema": "src/kernel/metadata-customization.zod.ts#CustomizationOriginSchema (const)", + "CustomizationPolicy": "src/kernel/metadata-customization.zod.ts#CustomizationPolicy (type)", + "CustomizationPolicyParsed": "src/kernel/metadata-customization.zod.ts#CustomizationPolicyParsed (type)", + "CustomizationPolicySchema": "src/kernel/metadata-customization.zod.ts#CustomizationPolicySchema (const)", + "DEFAULT_METADATA_TYPE_REGISTRY": "src/kernel/metadata-plugin.zod.ts#DEFAULT_METADATA_TYPE_REGISTRY (const)", + "DeadLetterQueueEntry": "src/kernel/events/dlq.zod.ts#DeadLetterQueueEntry (type)", + "DeadLetterQueueEntryParsed": "src/kernel/events/dlq.zod.ts#DeadLetterQueueEntryParsed (type)", + "DeadLetterQueueEntrySchema": "src/kernel/events/dlq.zod.ts#DeadLetterQueueEntrySchema (const)", + "DependencyConflict": "src/kernel/plugin-versioning.zod.ts#DependencyConflict (type)", + "DependencyConflictParsed": "src/kernel/plugin-versioning.zod.ts#DependencyConflictParsed (type)", + "DependencyConflictSchema": "src/kernel/plugin-versioning.zod.ts#DependencyConflictSchema (const)", + "DependencyGraph": "src/kernel/plugin-security.zod.ts#DependencyGraph (type)", + "DependencyGraphNode": "src/kernel/plugin-security.zod.ts#DependencyGraphNode (type)", + "DependencyGraphNodeParsed": "src/kernel/plugin-security.zod.ts#DependencyGraphNodeParsed (type)", + "DependencyGraphNodeSchema": "src/kernel/plugin-security.zod.ts#DependencyGraphNodeSchema (const)", + "DependencyGraphParsed": "src/kernel/plugin-security.zod.ts#DependencyGraphParsed (type)", + "DependencyGraphSchema": "src/kernel/plugin-security.zod.ts#DependencyGraphSchema (const)", + "DependencyResolutionResult": "src/kernel/dependency-resolution.zod.ts#DependencyResolutionResult (type)", + "DependencyResolutionResultSchema": "src/kernel/dependency-resolution.zod.ts#DependencyResolutionResultSchema (const)", + "DependencyStatus": "src/kernel/dependency-resolution.zod.ts#DependencyStatus (type)", + "DependencyStatusEnum": "src/kernel/dependency-resolution.zod.ts#DependencyStatusEnum (const)", + "DeprecationNotice": "src/kernel/plugin-versioning.zod.ts#DeprecationNotice (type)", + "DeprecationNoticeSchema": "src/kernel/plugin-versioning.zod.ts#DeprecationNoticeSchema (const)", + "DisablePackageRequest": "src/kernel/package-registry.zod.ts#DisablePackageRequest (type)", + "DisablePackageRequestSchema": "src/kernel/package-registry.zod.ts#DisablePackageRequestSchema (const)", + "DisablePackageResponse": "src/kernel/package-registry.zod.ts#DisablePackageResponse (type)", + "DisablePackageResponseParsed": "src/kernel/package-registry.zod.ts#DisablePackageResponseParsed (type)", + "DisablePackageResponseSchema": "src/kernel/package-registry.zod.ts#DisablePackageResponseSchema (const)", + "DistributedStateConfig": "src/kernel/plugin-lifecycle-advanced.zod.ts#DistributedStateConfig (type)", + "DistributedStateConfigParsed": "src/kernel/plugin-lifecycle-advanced.zod.ts#DistributedStateConfigParsed (type)", + "DistributedStateConfigSchema": "src/kernel/plugin-lifecycle-advanced.zod.ts#DistributedStateConfigSchema (const)", + "EVENT_PRIORITY_VALUES": "src/kernel/events/core.zod.ts#EVENT_PRIORITY_VALUES (const)", + "EnablePackageRequest": "src/kernel/package-registry.zod.ts#EnablePackageRequest (type)", + "EnablePackageRequestSchema": "src/kernel/package-registry.zod.ts#EnablePackageRequestSchema (const)", + "EnablePackageResponse": "src/kernel/package-registry.zod.ts#EnablePackageResponse (type)", + "EnablePackageResponseParsed": "src/kernel/package-registry.zod.ts#EnablePackageResponseParsed (type)", + "EnablePackageResponseSchema": "src/kernel/package-registry.zod.ts#EnablePackageResponseSchema (const)", + "Event": "src/kernel/events/core.zod.ts#Event (type)", + "EventBusConfig": "src/kernel/events/bus.zod.ts#EventBusConfig (type)", + "EventBusConfigParsed": "src/kernel/events/bus.zod.ts#EventBusConfigParsed (type)", + "EventBusConfigSchema": "src/kernel/events/bus.zod.ts#EventBusConfigSchema (const)", + "EventClusterOptions": "src/kernel/cluster.zod.ts#EventClusterOptions (type)", + "EventClusterOptionsParsed": "src/kernel/cluster.zod.ts#EventClusterOptionsParsed (type)", + "EventClusterOptionsSchema": "src/kernel/cluster.zod.ts#EventClusterOptionsSchema (const)", + "EventDeliverySemantics": "src/kernel/cluster.zod.ts#EventDeliverySemantics (type)", + "EventDeliverySemanticsSchema": "src/kernel/cluster.zod.ts#EventDeliverySemanticsSchema (const)", + "EventHandler": "src/kernel/events/handlers.zod.ts#EventHandler (type)", + "EventHandlerParsed": "src/kernel/events/handlers.zod.ts#EventHandlerParsed (type)", + "EventHandlerSchema": "src/kernel/events/handlers.zod.ts#EventHandlerSchema (const)", + "EventLogEntry": "src/kernel/events/dlq.zod.ts#EventLogEntry (type)", + "EventLogEntryParsed": "src/kernel/events/dlq.zod.ts#EventLogEntryParsed (type)", + "EventLogEntrySchema": "src/kernel/events/dlq.zod.ts#EventLogEntrySchema (const)", + "EventMessageQueueConfig": "src/kernel/events/integrations.zod.ts#EventMessageQueueConfig (type)", + "EventMessageQueueConfigParsed": "src/kernel/events/integrations.zod.ts#EventMessageQueueConfigParsed (type)", + "EventMessageQueueConfigSchema": "src/kernel/events/integrations.zod.ts#EventMessageQueueConfigSchema (const)", + "EventMetadataSchema": "src/kernel/events/core.zod.ts#EventMetadataSchema (const)", + "EventParsed": "src/kernel/events/core.zod.ts#EventParsed (type)", + "EventPersistence": "src/kernel/events/handlers.zod.ts#EventPersistence (type)", + "EventPersistenceParsed": "src/kernel/events/handlers.zod.ts#EventPersistenceParsed (type)", + "EventPersistenceSchema": "src/kernel/events/handlers.zod.ts#EventPersistenceSchema (const)", + "EventPriority": "src/kernel/events/core.zod.ts#EventPriority (type)", + "EventQueueConfig": "src/kernel/events/queue.zod.ts#EventQueueConfig (type)", + "EventQueueConfigParsed": "src/kernel/events/queue.zod.ts#EventQueueConfigParsed (type)", + "EventQueueConfigSchema": "src/kernel/events/queue.zod.ts#EventQueueConfigSchema (const)", + "EventReplayConfig": "src/kernel/events/queue.zod.ts#EventReplayConfig (type)", + "EventReplayConfigParsed": "src/kernel/events/queue.zod.ts#EventReplayConfigParsed (type)", + "EventReplayConfigSchema": "src/kernel/events/queue.zod.ts#EventReplayConfigSchema (const)", + "EventRoute": "src/kernel/events/handlers.zod.ts#EventRoute (type)", + "EventRouteSchema": "src/kernel/events/handlers.zod.ts#EventRouteSchema (const)", + "EventSchema": "src/kernel/events/core.zod.ts#EventSchema (const)", + "EventScope": "src/kernel/cluster.zod.ts#EventScope (type)", + "EventScopeSchema": "src/kernel/cluster.zod.ts#EventScopeSchema (const)", + "EventSourcingConfig": "src/kernel/events/queue.zod.ts#EventSourcingConfig (type)", + "EventSourcingConfigParsed": "src/kernel/events/queue.zod.ts#EventSourcingConfigParsed (type)", + "EventSourcingConfigSchema": "src/kernel/events/queue.zod.ts#EventSourcingConfigSchema (const)", + "EventTypeDefinition": "src/kernel/events/core.zod.ts#EventTypeDefinition (type)", + "EventTypeDefinitionParsed": "src/kernel/events/core.zod.ts#EventTypeDefinitionParsed (type)", + "EventTypeDefinitionSchema": "src/kernel/events/core.zod.ts#EventTypeDefinitionSchema (const)", + "EventWebhookConfig": "src/kernel/events/integrations.zod.ts#EventWebhookConfig (type)", + "EventWebhookConfigParsed": "src/kernel/events/integrations.zod.ts#EventWebhookConfigParsed (type)", + "EventWebhookConfigSchema": "src/kernel/events/integrations.zod.ts#EventWebhookConfigSchema (const)", + "ExecutionContext": "src/kernel/execution-context.zod.ts#ExecutionContext (type)", + "ExecutionContextParsed": "src/kernel/execution-context.zod.ts#ExecutionContextParsed (type)", + "ExecutionContextSchema": "src/kernel/execution-context.zod.ts#ExecutionContextSchema (const)", + "ExtensionPoint": "src/kernel/plugin-capability.zod.ts#ExtensionPoint (type)", + "ExtensionPointParsed": "src/kernel/plugin-capability.zod.ts#ExtensionPointParsed (type)", + "ExtensionPointSchema": "src/kernel/plugin-capability.zod.ts#ExtensionPointSchema (const)", + "FIELD_CHOICE_WITHOUT_OPTIONS": "src/kernel/functional-completeness.ts#FIELD_CHOICE_WITHOUT_OPTIONS (const)", + "FIELD_FORMULA_WITHOUT_EXPRESSION": "src/kernel/functional-completeness.ts#FIELD_FORMULA_WITHOUT_EXPRESSION (const)", + "FIELD_RELATIONSHIP_WITHOUT_REFERENCE": "src/kernel/functional-completeness.ts#FIELD_RELATIONSHIP_WITHOUT_REFERENCE (const)", + "FIELD_SUMMARY_WITHOUT_OPERATIONS": "src/kernel/functional-completeness.ts#FIELD_SUMMARY_WITHOUT_OPERATIONS (const)", + "FUNCTIONAL_COMPLETENESS_RULES": "src/kernel/functional-completeness.ts#FUNCTIONAL_COMPLETENESS_RULES (const)", + "FieldChange": "src/kernel/metadata-customization.zod.ts#FieldChange (type)", + "FieldChangeSchema": "src/kernel/metadata-customization.zod.ts#FieldChangeSchema (const)", + "GetPackageRequest": "src/kernel/package-registry.zod.ts#GetPackageRequest (type)", + "GetPackageRequestSchema": "src/kernel/package-registry.zod.ts#GetPackageRequestSchema (const)", + "GetPackageResponse": "src/kernel/package-registry.zod.ts#GetPackageResponse (type)", + "GetPackageResponseParsed": "src/kernel/package-registry.zod.ts#GetPackageResponseParsed (type)", + "GetPackageResponseSchema": "src/kernel/package-registry.zod.ts#GetPackageResponseSchema (const)", + "GracefulDegradation": "src/kernel/plugin-lifecycle-advanced.zod.ts#GracefulDegradation (type)", + "GracefulDegradationParsed": "src/kernel/plugin-lifecycle-advanced.zod.ts#GracefulDegradationParsed (type)", + "GracefulDegradationSchema": "src/kernel/plugin-lifecycle-advanced.zod.ts#GracefulDegradationSchema (const)", + "HealthStatus": "src/kernel/startup-orchestrator.zod.ts#HealthStatus (type)", + "HealthStatusSchema": "src/kernel/startup-orchestrator.zod.ts#HealthStatusSchema (const)", + "HotReloadConfig": "src/kernel/plugin-lifecycle-advanced.zod.ts#HotReloadConfig (type)", + "HotReloadConfigParsed": "src/kernel/plugin-lifecycle-advanced.zod.ts#HotReloadConfigParsed (type)", + "HotReloadConfigSchema": "src/kernel/plugin-lifecycle-advanced.zod.ts#HotReloadConfigSchema (const)", + "InstallPackageRequest": "src/kernel/package-registry.zod.ts#InstallPackageRequest (type)", + "InstallPackageRequestParsed": "src/kernel/package-registry.zod.ts#InstallPackageRequestParsed (type)", + "InstallPackageRequestSchema": "src/kernel/package-registry.zod.ts#InstallPackageRequestSchema (const)", + "InstallPackageResponse": "src/kernel/package-registry.zod.ts#InstallPackageResponse (type)", + "InstallPackageResponseParsed": "src/kernel/package-registry.zod.ts#InstallPackageResponseParsed (type)", + "InstallPackageResponseSchema": "src/kernel/package-registry.zod.ts#InstallPackageResponseSchema (const)", + "InstalledPackage": "src/kernel/package-registry.zod.ts#InstalledPackage (type)", + "InstalledPackageParsed": "src/kernel/package-registry.zod.ts#InstalledPackageParsed (type)", + "InstalledPackageSchema": "src/kernel/package-registry.zod.ts#InstalledPackageSchema (const)", + "KernelContext": "src/kernel/context.zod.ts#KernelContext (type)", + "KernelContextParsed": "src/kernel/context.zod.ts#KernelContextParsed (type)", + "KernelContextSchema": "src/kernel/context.zod.ts#KernelContextSchema (const)", + "KernelSecurityPolicy": "src/kernel/plugin-security-advanced.zod.ts#KernelSecurityPolicy (type)", + "KernelSecurityPolicyParsed": "src/kernel/plugin-security-advanced.zod.ts#KernelSecurityPolicyParsed (type)", + "KernelSecurityPolicySchema": "src/kernel/plugin-security-advanced.zod.ts#KernelSecurityPolicySchema (const)", + "KernelSecurityScanResult": "src/kernel/plugin-security-advanced.zod.ts#KernelSecurityScanResult (type)", + "KernelSecurityScanResultParsed": "src/kernel/plugin-security-advanced.zod.ts#KernelSecurityScanResultParsed (type)", + "KernelSecurityScanResultSchema": "src/kernel/plugin-security-advanced.zod.ts#KernelSecurityScanResultSchema (const)", + "KernelSecurityVulnerability": "src/kernel/plugin-security-advanced.zod.ts#KernelSecurityVulnerability (type)", + "KernelSecurityVulnerabilityParsed": "src/kernel/plugin-security-advanced.zod.ts#KernelSecurityVulnerabilityParsed (type)", + "KernelSecurityVulnerabilitySchema": "src/kernel/plugin-security-advanced.zod.ts#KernelSecurityVulnerabilitySchema (const)", + "LintableAuthoringCollection": "src/kernel/metadata-authoring-lint.ts#LintableAuthoringCollection (interface)", + "ListPackagesRequest": "src/kernel/package-registry.zod.ts#ListPackagesRequest (type)", + "ListPackagesRequestSchema": "src/kernel/package-registry.zod.ts#ListPackagesRequestSchema (const)", + "ListPackagesResponse": "src/kernel/package-registry.zod.ts#ListPackagesResponse (type)", + "ListPackagesResponseParsed": "src/kernel/package-registry.zod.ts#ListPackagesResponseParsed (type)", + "ListPackagesResponseSchema": "src/kernel/package-registry.zod.ts#ListPackagesResponseSchema (const)", + "METADATA_READ_DECORATIONS": "src/kernel/metadata-read-decorations.ts#METADATA_READ_DECORATIONS (const)", + "ManifestPermissions": "src/kernel/manifest.zod.ts#ManifestPermissions (type)", + "ManifestPermissionsSchema": "src/kernel/manifest.zod.ts#ManifestPermissionsSchema (const)", + "ManifestSchema": "src/kernel/manifest.zod.ts#ManifestSchema (const)", + "MergeConflict": "src/kernel/metadata-customization.zod.ts#MergeConflict (type)", + "MergeConflictSchema": "src/kernel/metadata-customization.zod.ts#MergeConflictSchema (const)", + "MergeResult": "src/kernel/metadata-customization.zod.ts#MergeResult (type)", + "MergeResultSchema": "src/kernel/metadata-customization.zod.ts#MergeResultSchema (const)", + "MergeStrategyConfig": "src/kernel/metadata-customization.zod.ts#MergeStrategyConfig (type)", + "MergeStrategyConfigParsed": "src/kernel/metadata-customization.zod.ts#MergeStrategyConfigParsed (type)", + "MergeStrategyConfigSchema": "src/kernel/metadata-customization.zod.ts#MergeStrategyConfigSchema (const)", + "MetadataBulkResult": "src/kernel/metadata-plugin.zod.ts#MetadataBulkResult (type)", + "MetadataBulkResultSchema": "src/kernel/metadata-plugin.zod.ts#MetadataBulkResultSchema (const)", + "MetadataCategory": "src/kernel/package-artifact.zod.ts#MetadataCategory (type)", + "MetadataCategoryEnum": "src/kernel/package-artifact.zod.ts#MetadataCategoryEnum (const)", + "MetadataChangeOperation": "src/kernel/cluster.zod.ts#MetadataChangeOperation (type)", + "MetadataChangeOperationSchema": "src/kernel/cluster.zod.ts#MetadataChangeOperationSchema (const)", + "MetadataChangeType": "src/kernel/package-upgrade.zod.ts#MetadataChangeType (type)", + "MetadataChangeTypeSchema": "src/kernel/package-upgrade.zod.ts#MetadataChangeTypeSchema (const)", + "MetadataChangedEventPayload": "src/kernel/cluster.zod.ts#MetadataChangedEventPayload (type)", + "MetadataChangedEventPayloadSchema": "src/kernel/cluster.zod.ts#MetadataChangedEventPayloadSchema (const)", + "MetadataDependency": "src/kernel/metadata-plugin.zod.ts#MetadataDependency (type)", + "MetadataDependencySchema": "src/kernel/metadata-plugin.zod.ts#MetadataDependencySchema (const)", + "MetadataDiffItem": "src/kernel/package-upgrade.zod.ts#MetadataDiffItem (type)", + "MetadataDiffItemParsed": "src/kernel/package-upgrade.zod.ts#MetadataDiffItemParsed (type)", + "MetadataDiffItemSchema": "src/kernel/package-upgrade.zod.ts#MetadataDiffItemSchema (const)", + "MetadataFallbackStrategy": "src/kernel/metadata-loader.zod.ts#MetadataFallbackStrategy (type)", + "MetadataFallbackStrategySchema": "src/kernel/metadata-loader.zod.ts#MetadataFallbackStrategySchema (const)", + "MetadataLock": "src/kernel/metadata-protection.zod.ts#MetadataLock (type)", + "MetadataLockSchema": "src/kernel/metadata-protection.zod.ts#MetadataLockSchema (const)", + "MetadataLockSource": "src/kernel/metadata-protection.zod.ts#MetadataLockSource (type)", + "MetadataLockSourceSchema": "src/kernel/metadata-protection.zod.ts#MetadataLockSourceSchema (const)", + "MetadataManagerConfig": "src/kernel/metadata-loader.zod.ts#MetadataManagerConfig (type)", + "MetadataManagerConfigParsed": "src/kernel/metadata-loader.zod.ts#MetadataManagerConfigParsed (type)", + "MetadataManagerConfigSchema": "src/kernel/metadata-loader.zod.ts#MetadataManagerConfigSchema (const)", + "MetadataOverlay": "src/kernel/metadata-customization.zod.ts#MetadataOverlay (type)", + "MetadataOverlayParsed": "src/kernel/metadata-customization.zod.ts#MetadataOverlayParsed (type)", + "MetadataOverlaySchema": "src/kernel/metadata-customization.zod.ts#MetadataOverlaySchema (const)", + "MetadataPluginConfig": "src/kernel/metadata-plugin.zod.ts#MetadataPluginConfig (type)", + "MetadataPluginConfigParsed": "src/kernel/metadata-plugin.zod.ts#MetadataPluginConfigParsed (type)", + "MetadataPluginConfigSchema": "src/kernel/metadata-plugin.zod.ts#MetadataPluginConfigSchema (const)", + "MetadataPluginManifest": "src/kernel/metadata-plugin.zod.ts#MetadataPluginManifest (type)", + "MetadataPluginManifestParsed": "src/kernel/metadata-plugin.zod.ts#MetadataPluginManifestParsed (type)", + "MetadataPluginManifestSchema": "src/kernel/metadata-plugin.zod.ts#MetadataPluginManifestSchema (const)", + "MetadataProtectionFields": "src/kernel/metadata-protection.zod.ts#MetadataProtectionFields (const)", + "MetadataProvenance": "src/kernel/metadata-protection.zod.ts#MetadataProvenance (type)", + "MetadataProvenanceSchema": "src/kernel/metadata-protection.zod.ts#MetadataProvenanceSchema (const)", + "MetadataQuery": "src/kernel/metadata-plugin.zod.ts#MetadataQuery (type)", + "MetadataQueryParsed": "src/kernel/metadata-plugin.zod.ts#MetadataQueryParsed (type)", + "MetadataQueryResult": "src/kernel/metadata-plugin.zod.ts#MetadataQueryResult (type)", + "MetadataQueryResultSchema": "src/kernel/metadata-plugin.zod.ts#MetadataQueryResultSchema (const)", + "MetadataQuerySchema": "src/kernel/metadata-plugin.zod.ts#MetadataQuerySchema (const)", + "MetadataReadDecoration": "src/kernel/metadata-read-decorations.ts#MetadataReadDecoration (type)", + "MetadataType": "src/kernel/metadata-plugin.zod.ts#MetadataType (type)", + "MetadataTypeRegistryEntry": "src/kernel/metadata-plugin.zod.ts#MetadataTypeRegistryEntry (type)", + "MetadataTypeRegistryEntryParsed": "src/kernel/metadata-plugin.zod.ts#MetadataTypeRegistryEntryParsed (type)", + "MetadataTypeRegistryEntrySchema": "src/kernel/metadata-plugin.zod.ts#MetadataTypeRegistryEntrySchema (const)", + "MetadataTypeSchema": "src/kernel/metadata-plugin.zod.ts#MetadataTypeSchema (const)", + "MetadataValidationResult": "src/kernel/metadata-plugin.zod.ts#MetadataValidationResult (type)", + "MetadataValidationResultSchema": "src/kernel/metadata-plugin.zod.ts#MetadataValidationResultSchema (const)", + "MultiVersionSupport": "src/kernel/plugin-versioning.zod.ts#MultiVersionSupport (type)", + "MultiVersionSupportParsed": "src/kernel/plugin-versioning.zod.ts#MultiVersionSupportParsed (type)", + "MultiVersionSupportSchema": "src/kernel/plugin-versioning.zod.ts#MultiVersionSupportSchema (const)", + "NamespaceConflictError": "src/kernel/package-registry.zod.ts#NamespaceConflictError (type)", + "NamespaceConflictErrorSchema": "src/kernel/package-registry.zod.ts#NamespaceConflictErrorSchema (const)", + "NamespaceRegistryEntry": "src/kernel/package-registry.zod.ts#NamespaceRegistryEntry (type)", + "NamespaceRegistryEntrySchema": "src/kernel/package-registry.zod.ts#NamespaceRegistryEntrySchema (const)", + "ObjectStackManifest": "src/kernel/manifest.zod.ts#ObjectStackManifest (type)", + "ObjectStackManifestParsed": "src/kernel/manifest.zod.ts#ObjectStackManifestParsed (type)", + "OclifPluginConfig": "src/kernel/cli-extension.zod.ts#OclifPluginConfig (type)", + "OclifPluginConfigSchema": "src/kernel/cli-extension.zod.ts#OclifPluginConfigSchema (const)", + "OpsDomainModule": "src/kernel/plugin-structure.zod.ts#OpsDomainModule (type)", + "OpsDomainModuleSchema": "src/kernel/plugin-structure.zod.ts#OpsDomainModuleSchema (const)", + "OpsFilePath": "src/kernel/plugin-structure.zod.ts#OpsFilePath (type)", + "OpsFilePathSchema": "src/kernel/plugin-structure.zod.ts#OpsFilePathSchema (const)", + "OpsPluginStructure": "src/kernel/plugin-structure.zod.ts#OpsPluginStructure (type)", + "OpsPluginStructureSchema": "src/kernel/plugin-structure.zod.ts#OpsPluginStructureSchema (const)", + "PLATFORM_ALWAYS_ON_CAPABILITIES": "src/kernel/platform-capabilities.ts#PLATFORM_ALWAYS_ON_CAPABILITIES (const)", + "PLATFORM_CAPABILITY_PROVIDERS": "src/kernel/platform-capabilities.ts#PLATFORM_CAPABILITY_PROVIDERS (const)", + "PLATFORM_CAPABILITY_TOKENS": "src/kernel/platform-capabilities.ts#PLATFORM_CAPABILITY_TOKENS (const)", + "PROTOCOL_MAJOR": "src/kernel/protocol-version.ts#PROTOCOL_MAJOR (const)", + "PROTOCOL_VERSION": "src/kernel/protocol-version.ts#PROTOCOL_VERSION (const)", + "PUBLIC_AUTH_CONFIG_NON_FLAG_KEYS": "src/kernel/public-auth-features.ts#PUBLIC_AUTH_CONFIG_NON_FLAG_KEYS (const)", + "PUBLIC_AUTH_FEATURES": "src/kernel/public-auth-features.ts#PUBLIC_AUTH_FEATURES (const)", + "PUBLIC_AUTH_FEATURE_NAMES": "src/kernel/public-auth-features.ts#PUBLIC_AUTH_FEATURE_NAMES (const)", + "PackageArtifact": "src/kernel/package-artifact.zod.ts#PackageArtifact (type)", + "PackageArtifactParsed": "src/kernel/package-artifact.zod.ts#PackageArtifactParsed (type)", + "PackageArtifactSchema": "src/kernel/package-artifact.zod.ts#PackageArtifactSchema (const)", + "PackageDependencyConflict": "src/kernel/plugin-security.zod.ts#PackageDependencyConflict (type)", + "PackageDependencyConflictSchema": "src/kernel/plugin-security.zod.ts#PackageDependencyConflictSchema (const)", + "PackageDependencyResolutionResult": "src/kernel/plugin-security.zod.ts#PackageDependencyResolutionResult (type)", + "PackageDependencyResolutionResultParsed": "src/kernel/plugin-security.zod.ts#PackageDependencyResolutionResultParsed (type)", + "PackageDependencyResolutionResultSchema": "src/kernel/plugin-security.zod.ts#PackageDependencyResolutionResultSchema (const)", + "PackageStatus": "src/kernel/package-registry.zod.ts#PackageStatus (type)", + "PackageStatusEnum": "src/kernel/package-registry.zod.ts#PackageStatusEnum (const)", + "PermissionAction": "src/kernel/plugin-security-advanced.zod.ts#PermissionAction (type)", + "PermissionActionSchema": "src/kernel/plugin-security-advanced.zod.ts#PermissionActionSchema (const)", + "PermissionScope": "src/kernel/plugin-security-advanced.zod.ts#PermissionScope (type)", + "PermissionScopeSchema": "src/kernel/plugin-security-advanced.zod.ts#PermissionScopeSchema (const)", + "PlatformCapabilityProvider": "src/kernel/platform-capabilities.ts#PlatformCapabilityProvider (interface)", + "PluginCaching": "src/kernel/plugin-loading.zod.ts#PluginCaching (type)", + "PluginCachingParsed": "src/kernel/plugin-loading.zod.ts#PluginCachingParsed (type)", + "PluginCachingSchema": "src/kernel/plugin-loading.zod.ts#PluginCachingSchema (const)", + "PluginCapability": "src/kernel/plugin-capability.zod.ts#PluginCapability (type)", + "PluginCapabilityManifest": "src/kernel/plugin-capability.zod.ts#PluginCapabilityManifest (type)", + "PluginCapabilityManifestParsed": "src/kernel/plugin-capability.zod.ts#PluginCapabilityManifestParsed (type)", + "PluginCapabilityManifestSchema": "src/kernel/plugin-capability.zod.ts#PluginCapabilityManifestSchema (const)", + "PluginCapabilityParsed": "src/kernel/plugin-capability.zod.ts#PluginCapabilityParsed (type)", + "PluginCapabilitySchema": "src/kernel/plugin-capability.zod.ts#PluginCapabilitySchema (const)", + "PluginCodeSplitting": "src/kernel/plugin-loading.zod.ts#PluginCodeSplitting (type)", + "PluginCodeSplittingParsed": "src/kernel/plugin-loading.zod.ts#PluginCodeSplittingParsed (type)", + "PluginCodeSplittingSchema": "src/kernel/plugin-loading.zod.ts#PluginCodeSplittingSchema (const)", + "PluginCompatibilityMatrix": "src/kernel/plugin-versioning.zod.ts#PluginCompatibilityMatrix (type)", + "PluginCompatibilityMatrixParsed": "src/kernel/plugin-versioning.zod.ts#PluginCompatibilityMatrixParsed (type)", + "PluginCompatibilityMatrixSchema": "src/kernel/plugin-versioning.zod.ts#PluginCompatibilityMatrixSchema (const)", + "PluginContext": "src/kernel/plugin.zod.ts#PluginContext (type)", + "PluginContextData": "src/kernel/plugin.zod.ts#PluginContextData (type)", + "PluginContextSchema": "src/kernel/plugin.zod.ts#PluginContextSchema (const)", + "PluginDefinition": "src/kernel/plugin.zod.ts#PluginDefinition (type)", + "PluginDependency": "src/kernel/plugin-capability.zod.ts#PluginDependency (type)", + "PluginDependencyParsed": "src/kernel/plugin-capability.zod.ts#PluginDependencyParsed (type)", + "PluginDependencyResolution": "src/kernel/plugin-loading.zod.ts#PluginDependencyResolution (type)", + "PluginDependencyResolutionParsed": "src/kernel/plugin-loading.zod.ts#PluginDependencyResolutionParsed (type)", + "PluginDependencyResolutionResult": "src/kernel/plugin-versioning.zod.ts#PluginDependencyResolutionResult (type)", + "PluginDependencyResolutionResultParsed": "src/kernel/plugin-versioning.zod.ts#PluginDependencyResolutionResultParsed (type)", + "PluginDependencyResolutionResultSchema": "src/kernel/plugin-versioning.zod.ts#PluginDependencyResolutionResultSchema (const)", + "PluginDependencyResolutionSchema": "src/kernel/plugin-loading.zod.ts#PluginDependencyResolutionSchema (const)", + "PluginDependencySchema": "src/kernel/plugin-capability.zod.ts#PluginDependencySchema (const)", + "PluginDynamicImport": "src/kernel/plugin-loading.zod.ts#PluginDynamicImport (type)", + "PluginDynamicImportParsed": "src/kernel/plugin-loading.zod.ts#PluginDynamicImportParsed (type)", + "PluginDynamicImportSchema": "src/kernel/plugin-loading.zod.ts#PluginDynamicImportSchema (const)", + "PluginEngines": "src/kernel/manifest.zod.ts#PluginEngines (type)", + "PluginEnginesSchema": "src/kernel/manifest.zod.ts#PluginEnginesSchema (const)", + "PluginHealthCheck": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginHealthCheck (type)", + "PluginHealthCheckParsed": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginHealthCheckParsed (type)", + "PluginHealthCheckSchema": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginHealthCheckSchema (const)", + "PluginHealthReport": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginHealthReport (type)", + "PluginHealthReportSchema": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginHealthReportSchema (const)", + "PluginHealthStatus": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginHealthStatus (type)", + "PluginHealthStatusSchema": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginHealthStatusSchema (const)", + "PluginHotReload": "src/kernel/plugin-loading.zod.ts#PluginHotReload (type)", + "PluginHotReloadParsed": "src/kernel/plugin-loading.zod.ts#PluginHotReloadParsed (type)", + "PluginHotReloadSchema": "src/kernel/plugin-loading.zod.ts#PluginHotReloadSchema (const)", + "PluginInitialization": "src/kernel/plugin-loading.zod.ts#PluginInitialization (type)", + "PluginInitializationParsed": "src/kernel/plugin-loading.zod.ts#PluginInitializationParsed (type)", + "PluginInitializationSchema": "src/kernel/plugin-loading.zod.ts#PluginInitializationSchema (const)", + "PluginInstallConfig": "src/kernel/plugin-registry.zod.ts#PluginInstallConfig (type)", + "PluginInstallConfigSchema": "src/kernel/plugin-registry.zod.ts#PluginInstallConfigSchema (const)", + "PluginIntegrity": "src/kernel/manifest.zod.ts#PluginIntegrity (type)", + "PluginIntegritySchema": "src/kernel/manifest.zod.ts#PluginIntegritySchema (const)", + "PluginInterface": "src/kernel/plugin-capability.zod.ts#PluginInterface (type)", + "PluginInterfaceParsed": "src/kernel/plugin-capability.zod.ts#PluginInterfaceParsed (type)", + "PluginInterfaceSchema": "src/kernel/plugin-capability.zod.ts#PluginInterfaceSchema (const)", + "PluginLoadingConfig": "src/kernel/plugin-loading.zod.ts#PluginLoadingConfig (type)", + "PluginLoadingConfigParsed": "src/kernel/plugin-loading.zod.ts#PluginLoadingConfigParsed (type)", + "PluginLoadingConfigSchema": "src/kernel/plugin-loading.zod.ts#PluginLoadingConfigSchema (const)", + "PluginLoadingEvent": "src/kernel/plugin-loading.zod.ts#PluginLoadingEvent (type)", + "PluginLoadingEventSchema": "src/kernel/plugin-loading.zod.ts#PluginLoadingEventSchema (const)", + "PluginLoadingState": "src/kernel/plugin-loading.zod.ts#PluginLoadingState (type)", + "PluginLoadingStateParsed": "src/kernel/plugin-loading.zod.ts#PluginLoadingStateParsed (type)", + "PluginLoadingStateSchema": "src/kernel/plugin-loading.zod.ts#PluginLoadingStateSchema (const)", + "PluginLoadingStrategy": "src/kernel/plugin-loading.zod.ts#PluginLoadingStrategy (type)", + "PluginLoadingStrategySchema": "src/kernel/plugin-loading.zod.ts#PluginLoadingStrategySchema (const)", + "PluginMetadata": "src/kernel/plugin-validator.zod.ts#PluginMetadata (type)", + "PluginMetadataSchema": "src/kernel/plugin-validator.zod.ts#PluginMetadataSchema (const)", + "PluginPackaging": "src/kernel/manifest.zod.ts#PluginPackaging (type)", + "PluginPackagingSchema": "src/kernel/manifest.zod.ts#PluginPackagingSchema (const)", + "PluginPerformanceMonitoring": "src/kernel/plugin-loading.zod.ts#PluginPerformanceMonitoring (type)", + "PluginPerformanceMonitoringParsed": "src/kernel/plugin-loading.zod.ts#PluginPerformanceMonitoringParsed (type)", + "PluginPerformanceMonitoringSchema": "src/kernel/plugin-loading.zod.ts#PluginPerformanceMonitoringSchema (const)", + "PluginPermission": "src/kernel/plugin-security-advanced.zod.ts#PluginPermission (type)", + "PluginPermissionParsed": "src/kernel/plugin-security-advanced.zod.ts#PluginPermissionParsed (type)", + "PluginPermissionSchema": "src/kernel/plugin-security-advanced.zod.ts#PluginPermissionSchema (const)", + "PluginPermissionSet": "src/kernel/plugin-security-advanced.zod.ts#PluginPermissionSet (type)", + "PluginPermissionSetParsed": "src/kernel/plugin-security-advanced.zod.ts#PluginPermissionSetParsed (type)", + "PluginPermissionSetSchema": "src/kernel/plugin-security-advanced.zod.ts#PluginPermissionSetSchema (const)", + "PluginPermissions": "src/kernel/manifest.zod.ts#PluginPermissions (type)", + "PluginPermissionsSchema": "src/kernel/manifest.zod.ts#PluginPermissionsSchema (const)", + "PluginPreloadConfig": "src/kernel/plugin-loading.zod.ts#PluginPreloadConfig (type)", + "PluginPreloadConfigParsed": "src/kernel/plugin-loading.zod.ts#PluginPreloadConfigParsed (type)", + "PluginPreloadConfigSchema": "src/kernel/plugin-loading.zod.ts#PluginPreloadConfigSchema (const)", + "PluginProvenance": "src/kernel/plugin-security.zod.ts#PluginProvenance (type)", + "PluginProvenanceParsed": "src/kernel/plugin-security.zod.ts#PluginProvenanceParsed (type)", + "PluginProvenanceSchema": "src/kernel/plugin-security.zod.ts#PluginProvenanceSchema (const)", + "PluginQualityMetrics": "src/kernel/plugin-registry.zod.ts#PluginQualityMetrics (type)", + "PluginQualityMetricsParsed": "src/kernel/plugin-registry.zod.ts#PluginQualityMetricsParsed (type)", + "PluginQualityMetricsSchema": "src/kernel/plugin-registry.zod.ts#PluginQualityMetricsSchema (const)", + "PluginRegistryEntry": "src/kernel/plugin-registry.zod.ts#PluginRegistryEntry (type)", + "PluginRegistryEntryParsed": "src/kernel/plugin-registry.zod.ts#PluginRegistryEntryParsed (type)", + "PluginRegistryEntrySchema": "src/kernel/plugin-registry.zod.ts#PluginRegistryEntrySchema (const)", + "PluginRuntime": "src/kernel/manifest.zod.ts#PluginRuntime (type)", + "PluginRuntimeSchema": "src/kernel/manifest.zod.ts#PluginRuntimeSchema (const)", + "PluginSandboxing": "src/kernel/plugin-loading.zod.ts#PluginSandboxing (type)", + "PluginSandboxingParsed": "src/kernel/plugin-loading.zod.ts#PluginSandboxingParsed (type)", + "PluginSandboxingSchema": "src/kernel/plugin-loading.zod.ts#PluginSandboxingSchema (const)", + "PluginSchema": "src/kernel/plugin.zod.ts#PluginSchema (const)", + "PluginSearchFilters": "src/kernel/plugin-registry.zod.ts#PluginSearchFilters (type)", + "PluginSearchFiltersSchema": "src/kernel/plugin-registry.zod.ts#PluginSearchFiltersSchema (const)", + "PluginSecurityManifest": "src/kernel/plugin-security-advanced.zod.ts#PluginSecurityManifest (type)", + "PluginSecurityManifestParsed": "src/kernel/plugin-security-advanced.zod.ts#PluginSecurityManifestParsed (type)", + "PluginSecurityManifestSchema": "src/kernel/plugin-security-advanced.zod.ts#PluginSecurityManifestSchema (const)", + "PluginSecurityProtocol": "src/kernel/plugin-security.zod.ts#PluginSecurityProtocol (const)", + "PluginStartupResult": "src/kernel/startup-orchestrator.zod.ts#PluginStartupResult (type)", + "PluginStartupResultSchema": "src/kernel/startup-orchestrator.zod.ts#PluginStartupResultSchema (const)", + "PluginStateSnapshot": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginStateSnapshot (type)", + "PluginStateSnapshotParsed": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginStateSnapshotParsed (type)", + "PluginStateSnapshotSchema": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginStateSnapshotSchema (const)", + "PluginStatistics": "src/kernel/plugin-registry.zod.ts#PluginStatistics (type)", + "PluginStatisticsParsed": "src/kernel/plugin-registry.zod.ts#PluginStatisticsParsed (type)", + "PluginStatisticsSchema": "src/kernel/plugin-registry.zod.ts#PluginStatisticsSchema (const)", + "PluginTrustLevel": "src/kernel/plugin-security-advanced.zod.ts#PluginTrustLevel (type)", + "PluginTrustLevelSchema": "src/kernel/plugin-security-advanced.zod.ts#PluginTrustLevelSchema (const)", + "PluginTrustScore": "src/kernel/plugin-security.zod.ts#PluginTrustScore (type)", + "PluginTrustScoreParsed": "src/kernel/plugin-security.zod.ts#PluginTrustScoreParsed (type)", + "PluginTrustScoreSchema": "src/kernel/plugin-security.zod.ts#PluginTrustScoreSchema (const)", + "PluginUpdateStrategy": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginUpdateStrategy (type)", + "PluginUpdateStrategyParsed": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginUpdateStrategyParsed (type)", + "PluginUpdateStrategySchema": "src/kernel/plugin-lifecycle-advanced.zod.ts#PluginUpdateStrategySchema (const)", + "PluginVendor": "src/kernel/plugin-registry.zod.ts#PluginVendor (type)", + "PluginVendorParsed": "src/kernel/plugin-registry.zod.ts#PluginVendorParsed (type)", + "PluginVendorSchema": "src/kernel/plugin-registry.zod.ts#PluginVendorSchema (const)", + "PluginVersionMetadata": "src/kernel/plugin-versioning.zod.ts#PluginVersionMetadata (type)", + "PluginVersionMetadataParsed": "src/kernel/plugin-versioning.zod.ts#PluginVersionMetadataParsed (type)", + "PluginVersionMetadataSchema": "src/kernel/plugin-versioning.zod.ts#PluginVersionMetadataSchema (const)", + "PreviewModeConfig": "src/kernel/context.zod.ts#PreviewModeConfig (type)", + "PreviewModeConfigParsed": "src/kernel/context.zod.ts#PreviewModeConfigParsed (type)", + "PreviewModeConfigSchema": "src/kernel/context.zod.ts#PreviewModeConfigSchema (const)", + "ProtocolFeature": "src/kernel/plugin-capability.zod.ts#ProtocolFeature (type)", + "ProtocolFeatureParsed": "src/kernel/plugin-capability.zod.ts#ProtocolFeatureParsed (type)", + "ProtocolFeatureSchema": "src/kernel/plugin-capability.zod.ts#ProtocolFeatureSchema (const)", + "ProtocolReference": "src/kernel/plugin-capability.zod.ts#ProtocolReference (type)", + "ProtocolReferenceSchema": "src/kernel/plugin-capability.zod.ts#ProtocolReferenceSchema (const)", + "ProtocolVersion": "src/kernel/plugin-capability.zod.ts#ProtocolVersion (type)", + "ProtocolVersionSchema": "src/kernel/plugin-capability.zod.ts#ProtocolVersionSchema (const)", + "PublicAuthFeatureEntry": "src/kernel/public-auth-features.ts#PublicAuthFeatureEntry (type)", + "PublicAuthFeatureName": "src/kernel/public-auth-features.ts#PublicAuthFeatureName (type)", + "PublicAuthFeatureSemantics": "src/kernel/public-auth-features.ts#PublicAuthFeatureSemantics (type)", + "PublicAuthFeatureSurface": "src/kernel/public-auth-features.ts#PublicAuthFeatureSurface (type)", + "RealTimeNotificationConfig": "src/kernel/events/integrations.zod.ts#RealTimeNotificationConfig (type)", + "RealTimeNotificationConfigParsed": "src/kernel/events/integrations.zod.ts#RealTimeNotificationConfigParsed (type)", + "RealTimeNotificationConfigSchema": "src/kernel/events/integrations.zod.ts#RealTimeNotificationConfigSchema (const)", + "RequiredAction": "src/kernel/dependency-resolution.zod.ts#RequiredAction (type)", + "RequiredActionSchema": "src/kernel/dependency-resolution.zod.ts#RequiredActionSchema (const)", + "ResolvedDependency": "src/kernel/dependency-resolution.zod.ts#ResolvedDependency (type)", + "ResolvedDependencySchema": "src/kernel/dependency-resolution.zod.ts#ResolvedDependencySchema (const)", + "ResolvedPackageDependency": "src/kernel/plugin-security.zod.ts#ResolvedPackageDependency (type)", + "ResolvedPackageDependencyParsed": "src/kernel/plugin-security.zod.ts#ResolvedPackageDependencyParsed (type)", + "ResolvedPackageDependencySchema": "src/kernel/plugin-security.zod.ts#ResolvedPackageDependencySchema (const)", + "ResourceType": "src/kernel/plugin-security-advanced.zod.ts#ResourceType (type)", + "ResourceTypeSchema": "src/kernel/plugin-security-advanced.zod.ts#ResourceTypeSchema (const)", + "RollbackPackageRequest": "src/kernel/package-upgrade.zod.ts#RollbackPackageRequest (type)", + "RollbackPackageRequestParsed": "src/kernel/package-upgrade.zod.ts#RollbackPackageRequestParsed (type)", + "RollbackPackageRequestSchema": "src/kernel/package-upgrade.zod.ts#RollbackPackageRequestSchema (const)", + "RollbackPackageResponse": "src/kernel/package-upgrade.zod.ts#RollbackPackageResponse (type)", + "RollbackPackageResponseSchema": "src/kernel/package-upgrade.zod.ts#RollbackPackageResponseSchema (const)", + "RuntimeConfig": "src/kernel/plugin-security-advanced.zod.ts#RuntimeConfig (type)", + "RuntimeConfigParsed": "src/kernel/plugin-security-advanced.zod.ts#RuntimeConfigParsed (type)", + "RuntimeConfigSchema": "src/kernel/plugin-security-advanced.zod.ts#RuntimeConfigSchema (const)", + "RuntimeMode": "src/kernel/context.zod.ts#RuntimeMode (type)", + "SBOM": "src/kernel/plugin-security.zod.ts#SBOM (type)", + "SBOMEntry": "src/kernel/plugin-security.zod.ts#SBOMEntry (type)", + "SBOMEntryParsed": "src/kernel/plugin-security.zod.ts#SBOMEntryParsed (type)", + "SBOMEntrySchema": "src/kernel/plugin-security.zod.ts#SBOMEntrySchema (const)", + "SBOMParsed": "src/kernel/plugin-security.zod.ts#SBOMParsed (type)", + "SBOMSchema": "src/kernel/plugin-security.zod.ts#SBOMSchema (const)", + "SandboxConfig": "src/kernel/plugin-security-advanced.zod.ts#SandboxConfig (type)", + "SandboxConfigParsed": "src/kernel/plugin-security-advanced.zod.ts#SandboxConfigParsed (type)", + "SandboxConfigSchema": "src/kernel/plugin-security-advanced.zod.ts#SandboxConfigSchema (const)", + "ScopeConfig": "src/kernel/service-registry.zod.ts#ScopeConfig (type)", + "ScopeConfigSchema": "src/kernel/service-registry.zod.ts#ScopeConfigSchema (const)", + "ScopeInfo": "src/kernel/service-registry.zod.ts#ScopeInfo (type)", + "ScopeInfoSchema": "src/kernel/service-registry.zod.ts#ScopeInfoSchema (const)", + "SecurityPolicy": "src/kernel/plugin-security.zod.ts#SecurityPolicy (type)", + "SecurityPolicyParsed": "src/kernel/plugin-security.zod.ts#SecurityPolicyParsed (type)", + "SecurityPolicySchema": "src/kernel/plugin-security.zod.ts#SecurityPolicySchema (const)", + "SecurityScanResult": "src/kernel/plugin-security.zod.ts#SecurityScanResult (type)", + "SecurityScanResultParsed": "src/kernel/plugin-security.zod.ts#SecurityScanResultParsed (type)", + "SecurityScanResultSchema": "src/kernel/plugin-security.zod.ts#SecurityScanResultSchema (const)", + "SecurityVulnerability": "src/kernel/plugin-security.zod.ts#SecurityVulnerability (type)", + "SecurityVulnerabilityParsed": "src/kernel/plugin-security.zod.ts#SecurityVulnerabilityParsed (type)", + "SecurityVulnerabilitySchema": "src/kernel/plugin-security.zod.ts#SecurityVulnerabilitySchema (const)", + "SemanticVersion": "src/kernel/plugin-versioning.zod.ts#SemanticVersion (type)", + "SemanticVersionSchema": "src/kernel/plugin-versioning.zod.ts#SemanticVersionSchema (const)", + "ServiceClusterAnnotations": "src/kernel/cluster.zod.ts#ServiceClusterAnnotations (type)", + "ServiceClusterAnnotationsParsed": "src/kernel/cluster.zod.ts#ServiceClusterAnnotationsParsed (type)", + "ServiceClusterAnnotationsSchema": "src/kernel/cluster.zod.ts#ServiceClusterAnnotationsSchema (const)", + "ServiceClusterScope": "src/kernel/cluster.zod.ts#ServiceClusterScope (type)", + "ServiceClusterScopeSchema": "src/kernel/cluster.zod.ts#ServiceClusterScopeSchema (const)", + "ServiceFactoryRegistration": "src/kernel/service-registry.zod.ts#ServiceFactoryRegistration (type)", + "ServiceFactoryRegistrationParsed": "src/kernel/service-registry.zod.ts#ServiceFactoryRegistrationParsed (type)", + "ServiceFactoryRegistrationSchema": "src/kernel/service-registry.zod.ts#ServiceFactoryRegistrationSchema (const)", + "ServiceLeaderStrategy": "src/kernel/cluster.zod.ts#ServiceLeaderStrategy (type)", + "ServiceLeaderStrategySchema": "src/kernel/cluster.zod.ts#ServiceLeaderStrategySchema (const)", + "ServiceMetadata": "src/kernel/service-registry.zod.ts#ServiceMetadata (type)", + "ServiceMetadataParsed": "src/kernel/service-registry.zod.ts#ServiceMetadataParsed (type)", + "ServiceMetadataSchema": "src/kernel/service-registry.zod.ts#ServiceMetadataSchema (const)", + "ServiceRegistryConfig": "src/kernel/service-registry.zod.ts#ServiceRegistryConfig (type)", + "ServiceRegistryConfigParsed": "src/kernel/service-registry.zod.ts#ServiceRegistryConfigParsed (type)", + "ServiceRegistryConfigSchema": "src/kernel/service-registry.zod.ts#ServiceRegistryConfigSchema (const)", + "ServiceScopeType": "src/kernel/service-registry.zod.ts#ServiceScopeType (type)", + "StartupOptions": "src/kernel/startup-orchestrator.zod.ts#StartupOptions (type)", + "StartupOptionsParsed": "src/kernel/startup-orchestrator.zod.ts#StartupOptionsParsed (type)", + "StartupOptionsSchema": "src/kernel/startup-orchestrator.zod.ts#StartupOptionsSchema (const)", + "StartupOrchestrationResult": "src/kernel/startup-orchestrator.zod.ts#StartupOrchestrationResult (type)", + "StartupOrchestrationResultSchema": "src/kernel/startup-orchestrator.zod.ts#StartupOrchestrationResultSchema (const)", + "TenantRuntimeContext": "src/kernel/context.zod.ts#TenantRuntimeContext (type)", + "TenantRuntimeContextParsed": "src/kernel/context.zod.ts#TenantRuntimeContextParsed (type)", + "TenantRuntimeContextSchema": "src/kernel/context.zod.ts#TenantRuntimeContextSchema (const)", + "UninstallPackageRequest": "src/kernel/package-registry.zod.ts#UninstallPackageRequest (type)", + "UninstallPackageRequestSchema": "src/kernel/package-registry.zod.ts#UninstallPackageRequestSchema (const)", + "UninstallPackageResponse": "src/kernel/package-registry.zod.ts#UninstallPackageResponse (type)", + "UninstallPackageResponseSchema": "src/kernel/package-registry.zod.ts#UninstallPackageResponseSchema (const)", + "UpgradeImpactLevel": "src/kernel/package-upgrade.zod.ts#UpgradeImpactLevel (type)", + "UpgradeImpactLevelSchema": "src/kernel/package-upgrade.zod.ts#UpgradeImpactLevelSchema (const)", + "UpgradePackageRequest": "src/kernel/package-upgrade.zod.ts#UpgradePackageRequest (type)", + "UpgradePackageRequestParsed": "src/kernel/package-upgrade.zod.ts#UpgradePackageRequestParsed (type)", + "UpgradePackageRequestSchema": "src/kernel/package-upgrade.zod.ts#UpgradePackageRequestSchema (const)", + "UpgradePackageResponse": "src/kernel/package-upgrade.zod.ts#UpgradePackageResponse (type)", + "UpgradePackageResponseParsed": "src/kernel/package-upgrade.zod.ts#UpgradePackageResponseParsed (type)", + "UpgradePackageResponseSchema": "src/kernel/package-upgrade.zod.ts#UpgradePackageResponseSchema (const)", + "UpgradePhase": "src/kernel/package-upgrade.zod.ts#UpgradePhase (type)", + "UpgradePhaseSchema": "src/kernel/package-upgrade.zod.ts#UpgradePhaseSchema (const)", + "UpgradePlan": "src/kernel/package-upgrade.zod.ts#UpgradePlan (type)", + "UpgradePlanParsed": "src/kernel/package-upgrade.zod.ts#UpgradePlanParsed (type)", + "UpgradePlanSchema": "src/kernel/package-upgrade.zod.ts#UpgradePlanSchema (const)", + "UpgradeSnapshot": "src/kernel/package-upgrade.zod.ts#UpgradeSnapshot (type)", + "UpgradeSnapshotParsed": "src/kernel/package-upgrade.zod.ts#UpgradeSnapshotParsed (type)", + "UpgradeSnapshotSchema": "src/kernel/package-upgrade.zod.ts#UpgradeSnapshotSchema (const)", + "VIEW_LAYOUT_WITHOUT_BINDING": "src/kernel/functional-completeness.ts#VIEW_LAYOUT_WITHOUT_BINDING (const)", + "ValidationError": "src/kernel/plugin-validator.zod.ts#ValidationError (type)", + "ValidationErrorSchema": "src/kernel/plugin-validator.zod.ts#ValidationErrorSchema (const)", + "ValidationResult": "src/kernel/plugin-validator.zod.ts#ValidationResult (type)", + "ValidationResultSchema": "src/kernel/plugin-validator.zod.ts#ValidationResultSchema (const)", + "ValidationWarning": "src/kernel/plugin-validator.zod.ts#ValidationWarning (type)", + "ValidationWarningSchema": "src/kernel/plugin-validator.zod.ts#ValidationWarningSchema (const)", + "VersionConstraint": "src/kernel/plugin-versioning.zod.ts#VersionConstraint (type)", + "VersionConstraintSchema": "src/kernel/plugin-versioning.zod.ts#VersionConstraintSchema (const)", + "VulnerabilitySeverity": "src/kernel/plugin-security.zod.ts#VulnerabilitySeverity (type)", + "WEBHOOK_WITHOUT_TRIGGERS": "src/kernel/functional-completeness.ts#WEBHOOK_WITHOUT_TRIGGERS (const)", + "checkFieldCompleteness": "src/kernel/functional-completeness.ts#checkFieldCompleteness (function)", + "checkViewCompleteness": "src/kernel/functional-completeness.ts#checkViewCompleteness (function)", + "checkWebhookCompleteness": "src/kernel/functional-completeness.ts#checkWebhookCompleteness (function)", + "classifyRequiredCapability": "src/kernel/platform-capabilities.ts#classifyRequiredCapability (function)", + "deriveNamespaceFromPackageId": "src/kernel/namespace-prefix.ts#deriveNamespaceFromPackageId (function)", + "evaluateLockForDelete": "src/kernel/metadata-protection.zod.ts#evaluateLockForDelete (function)", + "evaluateLockForWrite": "src/kernel/metadata-protection.zod.ts#evaluateLockForWrite (function)", + "extractProtection": "src/kernel/metadata-protection.zod.ts#extractProtection (function)", + "featureGatePredicate": "src/kernel/public-auth-features.ts#featureGatePredicate (function)", + "getMetadataCreateSeed": "src/kernel/metadata-create-seeds.ts#getMetadataCreateSeed (function)", + "getMetadataTypeActions": "src/kernel/metadata-type-schemas.ts#getMetadataTypeActions (function)", + "getMetadataTypeSchema": "src/kernel/metadata-type-schemas.ts#getMetadataTypeSchema (function)", + "isConsumerInstallable": "src/kernel/plugin.zod.ts#isConsumerInstallable (function)", + "isKnownPlatformCapability": "src/kernel/platform-capabilities.ts#isKnownPlatformCapability (function)", + "lintUnknownAuthoringKeys": "src/kernel/metadata-authoring-lint.ts#lintUnknownAuthoringKeys (function)", + "lintUnknownKeysAgainstSchema": "src/kernel/metadata-authoring-lint.ts#lintUnknownKeysAgainstSchema (function)", + "lintUnknownStackKeys": "src/kernel/metadata-authoring-lint.ts#lintUnknownStackKeys (function)", + "listLintableAuthoringCollections": "src/kernel/metadata-authoring-lint.ts#listLintableAuthoringCollections (function)", + "listMetadataCreateSeedTypes": "src/kernel/metadata-create-seeds.ts#listMetadataCreateSeedTypes (function)", + "listMetadataTypeSchemaTypes": "src/kernel/metadata-type-schemas.ts#listMetadataTypeSchemaTypes (function)", + "lowerRequiresFeature": "src/kernel/public-auth-features.ts#lowerRequiresFeature (function)", + "registerMetadataTypeActions": "src/kernel/metadata-type-schemas.ts#registerMetadataTypeActions (function)", + "registerMetadataTypeSchema": "src/kernel/metadata-type-schemas.ts#registerMetadataTypeSchema (function)", + "resolveLockState": "src/kernel/metadata-protection.zod.ts#resolveLockState (function)", + "stripReadDecorations": "src/kernel/metadata-read-decorations.ts#stripReadDecorations (function)", + "validateObjectNamespacePrefix": "src/kernel/namespace-prefix.ts#validateObjectNamespacePrefix (function)" + } +} diff --git a/packages/spec/export-origins/qa.json b/packages/spec/export-origins/qa.json new file mode 100644 index 0000000000..1acd3169d1 --- /dev/null +++ b/packages/spec/export-origins/qa.json @@ -0,0 +1,22 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./qa", + "exports": { + "TestAction": "src/qa/testing.zod.ts#TestAction (type)", + "TestActionSchema": "src/qa/testing.zod.ts#TestActionSchema (const)", + "TestActionType": "src/qa/testing.zod.ts#TestActionType (type)", + "TestActionTypeSchema": "src/qa/testing.zod.ts#TestActionTypeSchema (const)", + "TestAssertion": "src/qa/testing.zod.ts#TestAssertion (type)", + "TestAssertionSchema": "src/qa/testing.zod.ts#TestAssertionSchema (const)", + "TestAssertionType": "src/qa/testing.zod.ts#TestAssertionType (type)", + "TestAssertionTypeSchema": "src/qa/testing.zod.ts#TestAssertionTypeSchema (const)", + "TestContext": "src/qa/testing.zod.ts#TestContext (type)", + "TestContextSchema": "src/qa/testing.zod.ts#TestContextSchema (const)", + "TestScenario": "src/qa/testing.zod.ts#TestScenario (type)", + "TestScenarioSchema": "src/qa/testing.zod.ts#TestScenarioSchema (const)", + "TestStep": "src/qa/testing.zod.ts#TestStep (type)", + "TestStepSchema": "src/qa/testing.zod.ts#TestStepSchema (const)", + "TestSuite": "src/qa/testing.zod.ts#TestSuite (type)", + "TestSuiteSchema": "src/qa/testing.zod.ts#TestSuiteSchema (const)" + } +} diff --git a/packages/spec/export-origins/root.json b/packages/spec/export-origins/root.json new file mode 100644 index 0000000000..f19f74d0ae --- /dev/null +++ b/packages/spec/export-origins/root.json @@ -0,0 +1,182 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": ".", + "exports": { + "ADMIN_FULL_ACCESS": "src/identity/eval-user.zod.ts#ADMIN_FULL_ACCESS (const)", + "ALL_CONVERSIONS": "src/conversions/registry.ts#ALL_CONVERSIONS (const)", + "AUDIENCE_ANCHOR_POSITIONS": "src/identity/position.zod.ts#AUDIENCE_ANCHOR_POSITIONS (const)", + "Agent": "src/ai/agent.zod.ts#Agent (type)", + "ApplyConversionsOptions": "src/conversions/apply.ts#ApplyConversionsOptions (interface)", + "AuthoringKeySurface": "src/data/authoring-key-lint.ts#AuthoringKeySurface (type)", + "BUILTIN_IDENTITY_METADATA": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_METADATA (const)", + "BUILTIN_IDENTITY_NAMES": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_NAMES (const)", + "BUILTIN_IDENTITY_ORG_ADMIN": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_ORG_ADMIN (const)", + "BUILTIN_IDENTITY_ORG_MEMBER": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_ORG_MEMBER (const)", + "BUILTIN_IDENTITY_ORG_OWNER": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_ORG_OWNER (const)", + "BUILTIN_IDENTITY_PLATFORM_ADMIN": "src/identity/eval-user.zod.ts#BUILTIN_IDENTITY_PLATFORM_ADMIN (const)", + "BUILTIN_MEMBERSHIP_ROLES": "src/identity/membership-role.ts#BUILTIN_MEMBERSHIP_ROLES (const)", + "BUILTIN_MEMBERSHIP_ROLE_OPTIONS": "src/identity/membership-role.ts#BUILTIN_MEMBERSHIP_ROLE_OPTIONS (const)", + "BuiltinIdentityName": "src/identity/eval-user.zod.ts#BuiltinIdentityName (type)", + "BuiltinMembershipRole": "src/identity/membership-role.ts#BuiltinMembershipRole (type)", + "CONVERSIONS_BY_MAJOR": "src/conversions/registry.ts#CONVERSIONS_BY_MAJOR (const)", + "CONVERSION_CONFLICT_CODE": "src/conversions/types.ts#CONVERSION_CONFLICT_CODE (const)", + "CONVERSION_NOTICE_CODE": "src/conversions/types.ts#CONVERSION_NOTICE_CODE (const)", + "CapabilityClassification": "src/kernel/platform-capabilities.ts#CapabilityClassification (interface)", + "CapabilityEdition": "src/kernel/platform-capabilities.ts#CapabilityEdition (type)", + "CapabilityProviderStatus": "src/kernel/platform-capabilities.ts#CapabilityProviderStatus (type)", + "ComposeStacksOptions": "src/stack.zod.ts#ComposeStacksOptions (type)", + "ComposeStacksOptionsParsed": "src/stack.zod.ts#ComposeStacksOptionsParsed (type)", + "ComposeStacksOptionsSchema": "src/stack.zod.ts#ComposeStacksOptionsSchema (const)", + "ConflictStrategy": "src/stack.zod.ts#ConflictStrategy (type)", + "ConflictStrategySchema": "src/stack.zod.ts#ConflictStrategySchema (const)", + "ConversionApplication": "src/conversions/types.ts#ConversionApplication (interface)", + "ConversionConflictDetail": "src/conversions/types.ts#ConversionConflictDetail (interface)", + "ConversionConflictNotice": "src/conversions/types.ts#ConversionConflictNotice (interface)", + "ConversionContext": "src/conversions/types.ts#ConversionContext (interface)", + "ConversionFixture": "src/conversions/types.ts#ConversionFixture (interface)", + "ConversionNotice": "src/conversions/types.ts#ConversionNotice (interface)", + "CronExpressionInputSchema": "src/shared/expression.zod.ts#CronExpressionInputSchema (const)", + "DatasourceMappingRule": "src/stack.zod.ts#DatasourceMappingRule (type)", + "DatasourceMappingRuleSchema": "src/stack.zod.ts#DatasourceMappingRuleSchema (const)", + "DefineStackOptions": "src/stack.zod.ts#DefineStackOptions (interface)", + "EVERYONE_POSITION": "src/identity/position.zod.ts#EVERYONE_POSITION (const)", + "EvalUser": "src/identity/eval-user.zod.ts#EvalUser (type)", + "EvalUserSchema": "src/identity/eval-user.zod.ts#EvalUserSchema (const)", + "ExpandViewResult": "src/ui/view.zod.ts#ExpandViewResult (interface)", + "ExpandedViewItem": "src/ui/view.zod.ts#ExpandedViewItem (interface)", + "Expression": "src/shared/expression.zod.ts#Expression (type)", + "ExpressionDialect": "src/shared/expression.zod.ts#ExpressionDialect (type)", + "ExpressionInput": "src/shared/expression.zod.ts#ExpressionInput (type)", + "ExpressionInputSchema": "src/shared/expression.zod.ts#ExpressionInputSchema (const)", + "ExpressionMeta": "src/shared/expression.zod.ts#ExpressionMeta (type)", + "ExpressionMetaSchema": "src/shared/expression.zod.ts#ExpressionMetaSchema (const)", + "ExpressionSchema": "src/shared/expression.zod.ts#ExpressionSchema (const)", + "F": "src/shared/expression.zod.ts#F (const)", + "FIELD_KEY_GUIDANCE": "src/data/authoring-key-lint.ts#FIELD_KEY_GUIDANCE (const)", + "GUEST_POSITION": "src/identity/position.zod.ts#GUEST_POSITION (const)", + "LintableAuthoringCollection": "src/kernel/metadata-authoring-lint.ts#LintableAuthoringCollection (interface)", + "MAP_SUPPORTED_FIELDS": "src/shared/metadata-collection.zod.ts#MAP_SUPPORTED_FIELDS (const)", + "MEMBERSHIP_ROLE_ADMIN": "src/identity/membership-role.ts#MEMBERSHIP_ROLE_ADMIN (const)", + "MEMBERSHIP_ROLE_DELEGATED_ADMIN": "src/identity/membership-role.ts#MEMBERSHIP_ROLE_DELEGATED_ADMIN (const)", + "MEMBERSHIP_ROLE_MEMBER": "src/identity/membership-role.ts#MEMBERSHIP_ROLE_MEMBER (const)", + "MEMBERSHIP_ROLE_OWNER": "src/identity/membership-role.ts#MEMBERSHIP_ROLE_OWNER (const)", + "METADATA_ALIASES": "src/shared/metadata-collection.zod.ts#METADATA_ALIASES (const)", + "MIGRATIONS_BY_MAJOR": "src/migrations/registry.ts#MIGRATIONS_BY_MAJOR (const)", + "MIGRATION_MAJORS": "src/migrations/registry.ts#MIGRATION_MAJORS (const)", + "MIGRATION_SUPPORT_FLOOR": "src/migrations/registry.ts#MIGRATION_SUPPORT_FLOOR (const)", + "MapSupportedField": "src/shared/metadata-collection.zod.ts#MapSupportedField (type)", + "MetadataCollectionInput": "src/shared/metadata-collection.zod.ts#MetadataCollectionInput (type)", + "MetadataConversion": "src/conversions/types.ts#MetadataConversion (interface)", + "MigrationApplication": "src/migrations/types.ts#MigrationApplication (interface)", + "MigrationChainResult": "src/migrations/types.ts#MigrationChainResult (interface)", + "MigrationFloorError": "src/migrations/chain.ts#MigrationFloorError (class)", + "MigrationHopResult": "src/migrations/types.ts#MigrationHopResult (interface)", + "MigrationStep": "src/migrations/types.ts#MigrationStep (interface)", + "MigrationTodo": "src/migrations/types.ts#MigrationTodo (interface)", + "NormalizeStackInputOptions": "src/shared/metadata-collection.zod.ts#NormalizeStackInputOptions (interface)", + "OBJECT_KEY_GUIDANCE": "src/data/authoring-key-lint.ts#OBJECT_KEY_GUIDANCE (const)", + "ORGANIZATION_ADMIN": "src/identity/eval-user.zod.ts#ORGANIZATION_ADMIN (const)", + "ORGANIZATION_ADMIN_GRANTS": "src/identity/eval-user.zod.ts#ORGANIZATION_ADMIN_GRANTS (const)", + "ORGANIZATION_ADMIN_NO_BYPASS": "src/identity/eval-user.zod.ts#ORGANIZATION_ADMIN_NO_BYPASS (const)", + "ObjectStack": "src/stack.zod.ts#ObjectStack (type)", + "ObjectStackDefinition": "src/stack.zod.ts#ObjectStackDefinition (type)", + "ObjectStackDefinitionInput": "src/stack.zod.ts#ObjectStackDefinitionInput (type)", + "ObjectStackDefinitionParsed": "src/stack.zod.ts#ObjectStackDefinitionParsed (type)", + "ObjectStackDefinitionSchema": "src/stack.zod.ts#ObjectStackDefinitionSchema (const)", + "ObjectStackSchema": "src/stack.zod.ts#ObjectStackSchema (const)", + "P": "src/shared/expression.zod.ts#P (const)", + "PLATFORM_ALWAYS_ON_CAPABILITIES": "src/kernel/platform-capabilities.ts#PLATFORM_ALWAYS_ON_CAPABILITIES (const)", + "PLATFORM_CAPABILITY_PROVIDERS": "src/kernel/platform-capabilities.ts#PLATFORM_CAPABILITY_PROVIDERS (const)", + "PLATFORM_CAPABILITY_TOKENS": "src/kernel/platform-capabilities.ts#PLATFORM_CAPABILITY_TOKENS (const)", + "PlatformCapabilityProvider": "src/kernel/platform-capabilities.ts#PlatformCapabilityProvider (interface)", + "PluginContext": "src/kernel/plugin.zod.ts#PluginContext (type)", + "Predicate": "src/shared/expression.zod.ts#Predicate (type)", + "PredicateInput": "src/shared/expression.zod.ts#PredicateInput (type)", + "PredicateInputSchema": "src/shared/expression.zod.ts#PredicateInputSchema (const)", + "PredicateSchema": "src/shared/expression.zod.ts#PredicateSchema (const)", + "RETIRED_DEFS_BY_MAJOR": "src/migrations/registry.ts#RETIRED_DEFS_BY_MAJOR (const)", + "RETIRED_KEYS_BY_MAJOR": "src/migrations/registry.ts#RETIRED_KEYS_BY_MAJOR (const)", + "STACK_KEY_GUIDANCE": "src/data/authoring-key-lint.ts#STACK_KEY_GUIDANCE (const)", + "STACK_RUNTIME_MEMBERS": "src/data/authoring-key-lint.ts#STACK_RUNTIME_MEMBERS (const)", + "SemanticMigration": "src/migrations/types.ts#SemanticMigration (interface)", + "Skill": "src/ai/skill.zod.ts#Skill (type)", + "SpecChanges": "src/migrations/spec-changes.ts#SpecChanges (type)", + "SpecChangesSchema": "src/migrations/spec-changes.ts#SpecChangesSchema (const)", + "SpecConverted": "src/migrations/spec-changes.ts#SpecConverted (type)", + "SpecConvertedSchema": "src/migrations/spec-changes.ts#SpecConvertedSchema (const)", + "SpecMigrated": "src/migrations/spec-changes.ts#SpecMigrated (type)", + "SpecMigratedSchema": "src/migrations/spec-changes.ts#SpecMigratedSchema (const)", + "SpecSurfaceAdd": "src/migrations/spec-changes.ts#SpecSurfaceAdd (type)", + "SpecSurfaceAddSchema": "src/migrations/spec-changes.ts#SpecSurfaceAddSchema (const)", + "SpecSurfaceRemove": "src/migrations/spec-changes.ts#SpecSurfaceRemove (type)", + "SpecSurfaceRemoveSchema": "src/migrations/spec-changes.ts#SpecSurfaceRemoveSchema (const)", + "StoredConversionOptions": "src/conversions/stored.ts#StoredConversionOptions (type)", + "SurfaceDiff": "src/migrations/spec-changes.ts#SurfaceDiff (interface)", + "TemplateExpressionInputSchema": "src/shared/expression.zod.ts#TemplateExpressionInputSchema (const)", + "Tool": "src/ai/tool.zod.ts#Tool (type)", + "UnknownAuthoringKeyFinding": "src/data/authoring-key-lint.ts#UnknownAuthoringKeyFinding (interface)", + "ViewKeyCollision": "src/ui/view.zod.ts#ViewKeyCollision (interface)", + "applyConversions": "src/conversions/apply.ts#applyConversions (function)", + "applyConversionsToFlow": "src/conversions/apply.ts#applyConversionsToFlow (function)", + "applyConversionsToStoredItem": "src/conversions/stored.ts#applyConversionsToStoredItem (function)", + "applyMetaMigrations": "src/migrations/chain.ts#applyMetaMigrations (function)", + "cel": "src/shared/expression.zod.ts#cel (function)", + "classifyRequiredCapability": "src/kernel/platform-capabilities.ts#classifyRequiredCapability (function)", + "collectConversionNotices": "src/conversions/apply.ts#collectConversionNotices (function)", + "composeMigrationChain": "src/migrations/chain.ts#composeMigrationChain (function)", + "composeSpecChanges": "src/migrations/spec-changes.ts#composeSpecChanges (function)", + "composeStacks": "src/stack.zod.ts#composeStacks (function)", + "createEvalUser": "src/identity/eval-user.zod.ts#createEvalUser (function)", + "cron": "src/shared/expression.zod.ts#cron (function)", + "defineAction": "src/ui/action.zod.ts#defineAction (function)", + "defineAgent": "src/ai/agent.zod.ts#defineAgent (function)", + "defineApp": "src/ui/app.zod.ts#defineApp (function)", + "defineBook": "src/system/book.zod.ts#defineBook (function)", + "defineCapability": "src/security/capabilities.ts#defineCapability (function)", + "defineConnector": "src/integration/connector.zod.ts#defineConnector (function)", + "defineCube": "src/data/analytics.zod.ts#defineCube (function)", + "defineDatasource": "src/data/datasource.zod.ts#defineDatasource (function)", + "defineEmailTemplateDefinition": "src/system/email-template.zod.ts#defineEmailTemplateDefinition (function)", + "defineFlow": "src/automation/flow.zod.ts#defineFlow (function)", + "defineForm": "src/ui/view.zod.ts#defineForm (function)", + "defineHook": "src/data/hook.zod.ts#defineHook (function)", + "defineJob": "src/system/job.zod.ts#defineJob (function)", + "defineMapping": "src/data/mapping.zod.ts#defineMapping (function)", + "defineObjectExtension": "src/data/object.zod.ts#defineObjectExtension (function)", + "definePage": "src/ui/page.zod.ts#definePage (function)", + "definePermissionSet": "src/security/permission.zod.ts#definePermissionSet (function)", + "definePosition": "src/identity/position.zod.ts#definePosition (function)", + "defineReport": "src/ui/report.zod.ts#defineReport (function)", + "defineSharingRule": "src/security/sharing.zod.ts#defineSharingRule (function)", + "defineSkill": "src/ai/skill.zod.ts#defineSkill (function)", + "defineStack": "src/stack.zod.ts#defineStack (function)", + "defineTheme": "src/ui/theme.zod.ts#defineTheme (function)", + "defineTool": "src/ai/tool.zod.ts#defineTool (function)", + "defineTranslationBundle": "src/system/translation.zod.ts#defineTranslationBundle (function)", + "defineView": "src/ui/view.zod.ts#defineView (function)", + "defineViewItem": "src/ui/view.zod.ts#defineViewItem (function)", + "defineWebhook": "src/automation/webhook.zod.ts#defineWebhook (function)", + "expandViewContainer": "src/ui/view.zod.ts#expandViewContainer (function)", + "expandViewContainerWithDiagnostics": "src/ui/view.zod.ts#expandViewContainerWithDiagnostics (function)", + "expression": "src/shared/expression.zod.ts#expression (function)", + "findClosestMatches": "src/shared/suggestions.zod.ts#findClosestMatches (function)", + "formatSuggestion": "src/shared/suggestions.zod.ts#formatSuggestion (function)", + "formatUnknownAuthoringKey": "src/data/authoring-key-lint.ts#formatUnknownAuthoringKey (function)", + "formatZodError": "src/shared/error-map.zod.ts#formatZodError (function)", + "formatZodIssue": "src/shared/error-map.zod.ts#formatZodIssue (function)", + "isAggregatedViewContainer": "src/ui/view.zod.ts#isAggregatedViewContainer (function)", + "isKnownPlatformCapability": "src/kernel/platform-capabilities.ts#isKnownPlatformCapability (function)", + "lintUnknownAuthoringKeys": "src/kernel/metadata-authoring-lint.ts#lintUnknownAuthoringKeys (function)", + "lintUnknownKeysAgainstSchema": "src/kernel/metadata-authoring-lint.ts#lintUnknownKeysAgainstSchema (function)", + "lintUnknownStackKeys": "src/kernel/metadata-authoring-lint.ts#lintUnknownStackKeys (function)", + "listLintableAuthoringCollections": "src/kernel/metadata-authoring-lint.ts#listLintableAuthoringCollections (function)", + "mapMembershipRole": "src/identity/eval-user.zod.ts#mapMembershipRole (function)", + "normalizeMetadataCollection": "src/shared/metadata-collection.zod.ts#normalizeMetadataCollection (function)", + "normalizePluginMetadata": "src/shared/metadata-collection.zod.ts#normalizePluginMetadata (function)", + "normalizeStackInput": "src/shared/metadata-collection.zod.ts#normalizeStackInput (function)", + "objectStackErrorMap": "src/shared/error-map.zod.ts#objectStackErrorMap (const)", + "safeParsePretty": "src/shared/error-map.zod.ts#safeParsePretty (function)", + "suggestFieldType": "src/shared/suggestions.zod.ts#suggestFieldType (function)", + "tmpl": "src/shared/expression.zod.ts#tmpl (function)" + } +} diff --git a/packages/spec/export-origins/security.json b/packages/spec/export-origins/security.json new file mode 100644 index 0000000000..08e20b88ac --- /dev/null +++ b/packages/spec/export-origins/security.json @@ -0,0 +1,84 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./security", + "exports": { + "AccessMatrix": "src/security/explain.zod.ts#AccessMatrix (type)", + "AccessMatrixEntry": "src/security/explain.zod.ts#AccessMatrixEntry (type)", + "AccessMatrixEntrySchema": "src/security/explain.zod.ts#AccessMatrixEntrySchema (const)", + "AccessMatrixParsed": "src/security/explain.zod.ts#AccessMatrixParsed (type)", + "AccessMatrixSchema": "src/security/explain.zod.ts#AccessMatrixSchema (const)", + "AdminScope": "src/security/permission.zod.ts#AdminScope (type)", + "AdminScopeParsed": "src/security/permission.zod.ts#AdminScopeParsed (type)", + "AdminScopeSchema": "src/security/permission.zod.ts#AdminScopeSchema (const)", + "AuthzPosture": "src/security/explain.zod.ts#AuthzPosture (type)", + "AuthzPostureSchema": "src/security/explain.zod.ts#AuthzPostureSchema (const)", + "CapabilityDeclaration": "src/security/capabilities.ts#CapabilityDeclaration (type)", + "CapabilityDeclarationInput": "src/security/capabilities.ts#CapabilityDeclarationInput (type)", + "CapabilityDeclarationSchema": "src/security/capabilities.ts#CapabilityDeclarationSchema (const)", + "CriteriaSharingRule": "src/security/sharing.zod.ts#CriteriaSharingRule (type)", + "CriteriaSharingRuleParsed": "src/security/sharing.zod.ts#CriteriaSharingRuleParsed (type)", + "CriteriaSharingRuleSchema": "src/security/sharing.zod.ts#CriteriaSharingRuleSchema (const)", + "EffectiveObjectPermission": "src/security/permission.zod.ts#EffectiveObjectPermission (type)", + "EffectiveObjectPermissionSchema": "src/security/permission.zod.ts#EffectiveObjectPermissionSchema (const)", + "ExplainDecision": "src/security/explain.zod.ts#ExplainDecision (type)", + "ExplainDecisionParsed": "src/security/explain.zod.ts#ExplainDecisionParsed (type)", + "ExplainDecisionSchema": "src/security/explain.zod.ts#ExplainDecisionSchema (const)", + "ExplainLayer": "src/security/explain.zod.ts#ExplainLayer (type)", + "ExplainLayerParsed": "src/security/explain.zod.ts#ExplainLayerParsed (type)", + "ExplainLayerSchema": "src/security/explain.zod.ts#ExplainLayerSchema (const)", + "ExplainMatchedRule": "src/security/explain.zod.ts#ExplainMatchedRule (type)", + "ExplainMatchedRuleSchema": "src/security/explain.zod.ts#ExplainMatchedRuleSchema (const)", + "ExplainOperation": "src/security/explain.zod.ts#ExplainOperation (type)", + "ExplainOperationSchema": "src/security/explain.zod.ts#ExplainOperationSchema (const)", + "ExplainRecordAttribution": "src/security/explain.zod.ts#ExplainRecordAttribution (type)", + "ExplainRecordAttributionParsed": "src/security/explain.zod.ts#ExplainRecordAttributionParsed (type)", + "ExplainRecordAttributionSchema": "src/security/explain.zod.ts#ExplainRecordAttributionSchema (const)", + "ExplainRequest": "src/security/explain.zod.ts#ExplainRequest (type)", + "ExplainRequestSchema": "src/security/explain.zod.ts#ExplainRequestSchema (const)", + "FieldPermission": "src/security/permission.zod.ts#FieldPermission (type)", + "FieldPermissionParsed": "src/security/permission.zod.ts#FieldPermissionParsed (type)", + "FieldPermissionSchema": "src/security/permission.zod.ts#FieldPermissionSchema (const)", + "OWDModel": "src/security/sharing.zod.ts#OWDModel (type)", + "ObjectAccessScope": "src/security/permission.zod.ts#ObjectAccessScope (type)", + "ObjectAccessScopeSchema": "src/security/permission.zod.ts#ObjectAccessScopeSchema (const)", + "ObjectPermission": "src/security/permission.zod.ts#ObjectPermission (type)", + "ObjectPermissionParsed": "src/security/permission.zod.ts#ObjectPermissionParsed (type)", + "ObjectPermissionSchema": "src/security/permission.zod.ts#ObjectPermissionSchema (const)", + "OrgScopingEntitlement": "src/security/tenancy-posture.ts#OrgScopingEntitlement (interface)", + "PLATFORM_CAPABILITIES": "src/security/capabilities.ts#PLATFORM_CAPABILITIES (const)", + "PLATFORM_CAPABILITY_NAMES": "src/security/capabilities.ts#PLATFORM_CAPABILITY_NAMES (const)", + "PUBLIC_FORM_SERVER_MANAGED_FIELDS": "src/security/public-form.ts#PUBLIC_FORM_SERVER_MANAGED_FIELDS (const)", + "PermissionSet": "src/security/permission.zod.ts#PermissionSet (type)", + "PermissionSetParsed": "src/security/permission.zod.ts#PermissionSetParsed (type)", + "PermissionSetSchema": "src/security/permission.zod.ts#PermissionSetSchema (const)", + "PlatformCapability": "src/security/capabilities.ts#PlatformCapability (interface)", + "RLS": "src/security/rls.zod.ts#RLS (const)", + "RLSEvaluationResult": "src/security/rls.zod.ts#RLSEvaluationResult (type)", + "RLSEvaluationResultSchema": "src/security/rls.zod.ts#RLSEvaluationResultSchema (const)", + "RLSOperation": "src/security/rls.zod.ts#RLSOperation (type)", + "RLSUserContext": "src/security/rls.zod.ts#RLSUserContext (type)", + "RLSUserContextSchema": "src/security/rls.zod.ts#RLSUserContextSchema (const)", + "RowLevelSecurityPolicy": "src/security/rls.zod.ts#RowLevelSecurityPolicy (type)", + "RowLevelSecurityPolicyParsed": "src/security/rls.zod.ts#RowLevelSecurityPolicyParsed (type)", + "RowLevelSecurityPolicySchema": "src/security/rls.zod.ts#RowLevelSecurityPolicySchema (const)", + "ShareRecipientType": "src/security/sharing.zod.ts#ShareRecipientType (type)", + "SharingLevel": "src/security/sharing.zod.ts#SharingLevel (type)", + "SharingRule": "src/security/sharing.zod.ts#SharingRule (type)", + "SharingRuleParsed": "src/security/sharing.zod.ts#SharingRuleParsed (type)", + "SharingRuleSchema": "src/security/sharing.zod.ts#SharingRuleSchema (const)", + "SharingRuleType": "src/security/sharing.zod.ts#SharingRuleType (type)", + "TENANCY_POSTURES": "src/security/tenancy-posture.ts#TENANCY_POSTURES (const)", + "TenancyPosture": "src/security/tenancy-posture.ts#TenancyPosture (type)", + "TenancyPostureSchema": "src/security/tenancy-posture.ts#TenancyPostureSchema (const)", + "defineCapability": "src/security/capabilities.ts#defineCapability (function)", + "definePermissionSet": "src/security/permission.zod.ts#definePermissionSet (function)", + "defineSharingRule": "src/security/sharing.zod.ts#defineSharingRule (function)", + "describeAnchorForbiddenBits": "src/security/high-privilege.ts#describeAnchorForbiddenBits (function)", + "describeHighPrivilegeBits": "src/security/high-privilege.ts#describeHighPrivilegeBits (function)", + "normalizeTenancyPosture": "src/security/tenancy-posture.ts#normalizeTenancyPosture (function)", + "permissionForm": "src/security/permission.form.ts#permissionForm (const)", + "postureEnforcesWall": "src/security/tenancy-posture.ts#postureEnforcesWall (function)", + "postureStampsOrganization": "src/security/tenancy-posture.ts#postureStampsOrganization (function)", + "postureUsesUnionScope": "src/security/tenancy-posture.ts#postureUsesUnionScope (function)" + } +} diff --git a/packages/spec/export-origins/shared.json b/packages/spec/export-origins/shared.json new file mode 100644 index 0000000000..b44f102c57 --- /dev/null +++ b/packages/spec/export-origins/shared.json @@ -0,0 +1,122 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./shared", + "exports": { + "AppName": "src/shared/branded-types.zod.ts#AppName (type)", + "AppNameParsed": "src/shared/branded-types.zod.ts#AppNameParsed (type)", + "AppNameSchema": "src/shared/branded-types.zod.ts#AppNameSchema (const)", + "ApplyProtectionContext": "src/shared/protection.zod.ts#ApplyProtectionContext (interface)", + "BaseMetadataRecord": "src/shared/metadata-types.zod.ts#BaseMetadataRecord (type)", + "BaseMetadataRecordSchema": "src/shared/metadata-types.zod.ts#BaseMetadataRecordSchema (const)", + "CorsConfig": "src/shared/http.zod.ts#CorsConfig (type)", + "CorsConfigParsed": "src/shared/http.zod.ts#CorsConfigParsed (type)", + "CorsConfigSchema": "src/shared/http.zod.ts#CorsConfigSchema (const)", + "CronExpressionInput": "src/shared/expression.zod.ts#CronExpressionInput (type)", + "CronExpressionInputSchema": "src/shared/expression.zod.ts#CronExpressionInputSchema (const)", + "EXTERNAL_ERROR_CODES": "src/shared/external-errors.ts#EXTERNAL_ERROR_CODES (const)", + "EventName": "src/shared/identifiers.zod.ts#EventName (type)", + "EventNameSchema": "src/shared/identifiers.zod.ts#EventNameSchema (const)", + "Expression": "src/shared/expression.zod.ts#Expression (type)", + "ExpressionDialect": "src/shared/expression.zod.ts#ExpressionDialect (type)", + "ExpressionInput": "src/shared/expression.zod.ts#ExpressionInput (type)", + "ExpressionInputSchema": "src/shared/expression.zod.ts#ExpressionInputSchema (const)", + "ExpressionMeta": "src/shared/expression.zod.ts#ExpressionMeta (type)", + "ExpressionMetaSchema": "src/shared/expression.zod.ts#ExpressionMetaSchema (const)", + "ExpressionSchema": "src/shared/expression.zod.ts#ExpressionSchema (const)", + "ExternalErrorCode": "src/shared/external-errors.ts#ExternalErrorCode (type)", + "ExternalSchemaMismatchError": "src/shared/external-errors.ts#ExternalSchemaMismatchError (class)", + "ExternalSchemaModeViolationError": "src/shared/external-errors.ts#ExternalSchemaModeViolationError (class)", + "ExternalWriteForbiddenError": "src/shared/external-errors.ts#ExternalWriteForbiddenError (class)", + "F": "src/shared/expression.zod.ts#F (const)", + "FieldMapping": "src/shared/mapping.zod.ts#FieldMapping (type)", + "FieldMappingSchema": "src/shared/mapping.zod.ts#FieldMappingSchema (const)", + "FieldName": "src/shared/branded-types.zod.ts#FieldName (type)", + "FieldNameParsed": "src/shared/branded-types.zod.ts#FieldNameParsed (type)", + "FieldNameSchema": "src/shared/branded-types.zod.ts#FieldNameSchema (const)", + "FlowName": "src/shared/branded-types.zod.ts#FlowName (type)", + "FlowNameParsed": "src/shared/branded-types.zod.ts#FlowNameParsed (type)", + "FlowNameSchema": "src/shared/branded-types.zod.ts#FlowNameSchema (const)", + "HttpMethod": "src/shared/http.zod.ts#HttpMethod (type)", + "HttpMethodSubset": "src/shared/http.zod.ts#HttpMethodSubset (type)", + "HttpMethodSubsetSchema": "src/shared/http.zod.ts#HttpMethodSubsetSchema (const)", + "HttpRequest": "src/shared/http.zod.ts#HttpRequest (type)", + "HttpRequestParsed": "src/shared/http.zod.ts#HttpRequestParsed (type)", + "HttpRequestSchema": "src/shared/http.zod.ts#HttpRequestSchema (const)", + "IsolationLevel": "src/shared/enums.zod.ts#IsolationLevel (type)", + "IsolationLevelEnum": "src/shared/enums.zod.ts#IsolationLevelEnum (const)", + "KeySetGuidance": "src/shared/suggestions.zod.ts#KeySetGuidance (interface)", + "MAP_SUPPORTED_FIELDS": "src/shared/metadata-collection.zod.ts#MAP_SUPPORTED_FIELDS (const)", + "METADATA_ALIASES": "src/shared/metadata-collection.zod.ts#METADATA_ALIASES (const)", + "MapSupportedField": "src/shared/metadata-collection.zod.ts#MapSupportedField (type)", + "MetadataCollectionInput": "src/shared/metadata-collection.zod.ts#MetadataCollectionInput (type)", + "MetadataFormat": "src/shared/metadata-types.zod.ts#MetadataFormat (type)", + "MetadataFormatSchema": "src/shared/metadata-types.zod.ts#MetadataFormatSchema (const)", + "MutationEvent": "src/shared/enums.zod.ts#MutationEvent (type)", + "MutationEventEnum": "src/shared/enums.zod.ts#MutationEventEnum (const)", + "NormalizeStackInputOptions": "src/shared/metadata-collection.zod.ts#NormalizeStackInputOptions (interface)", + "ObjectName": "src/shared/branded-types.zod.ts#ObjectName (type)", + "ObjectNameParsed": "src/shared/branded-types.zod.ts#ObjectNameParsed (type)", + "ObjectNameSchema": "src/shared/branded-types.zod.ts#ObjectNameSchema (const)", + "ObjectStackRawIssue": "src/shared/error-map.zod.ts#ObjectStackRawIssue (type)", + "P": "src/shared/expression.zod.ts#P (const)", + "PLURAL_TO_SINGULAR": "src/shared/metadata-collection.zod.ts#PLURAL_TO_SINGULAR (const)", + "Predicate": "src/shared/expression.zod.ts#Predicate (type)", + "PredicateInput": "src/shared/expression.zod.ts#PredicateInput (type)", + "PredicateInputSchema": "src/shared/expression.zod.ts#PredicateInputSchema (const)", + "PredicateSchema": "src/shared/expression.zod.ts#PredicateSchema (const)", + "Protection": "src/shared/protection.zod.ts#Protection (type)", + "ProtectionSchema": "src/shared/protection.zod.ts#ProtectionSchema (const)", + "RateLimitConfig": "src/shared/http.zod.ts#RateLimitConfig (type)", + "RateLimitConfigParsed": "src/shared/http.zod.ts#RateLimitConfigParsed (type)", + "RateLimitConfigSchema": "src/shared/http.zod.ts#RateLimitConfigSchema (const)", + "ResilientFetchOptions": "src/shared/resilient-fetch.ts#ResilientFetchOptions (interface)", + "RoleName": "src/shared/branded-types.zod.ts#RoleName (type)", + "RoleNameParsed": "src/shared/branded-types.zod.ts#RoleNameParsed (type)", + "RoleNameSchema": "src/shared/branded-types.zod.ts#RoleNameSchema (const)", + "SINGULAR_TO_PLURAL": "src/shared/metadata-collection.zod.ts#SINGULAR_TO_PLURAL (const)", + "SchemaDiffEntry": "src/shared/external-errors.ts#SchemaDiffEntry (interface)", + "SchemaDiffEntryKind": "src/shared/external-errors.ts#SchemaDiffEntryKind (type)", + "SnakeCaseIdentifier": "src/shared/identifiers.zod.ts#SnakeCaseIdentifier (type)", + "SnakeCaseIdentifierSchema": "src/shared/identifiers.zod.ts#SnakeCaseIdentifierSchema (const)", + "SortDirection": "src/shared/enums.zod.ts#SortDirection (type)", + "SortDirectionEnum": "src/shared/enums.zod.ts#SortDirectionEnum (const)", + "SortItem": "src/shared/enums.zod.ts#SortItem (type)", + "SortItemSchema": "src/shared/enums.zod.ts#SortItemSchema (const)", + "StaticMount": "src/shared/http.zod.ts#StaticMount (type)", + "StaticMountSchema": "src/shared/http.zod.ts#StaticMountSchema (const)", + "StrictUnknownKeyErrorOptions": "src/shared/suggestions.zod.ts#StrictUnknownKeyErrorOptions (interface)", + "SystemIdentifier": "src/shared/identifiers.zod.ts#SystemIdentifier (type)", + "SystemIdentifierSchema": "src/shared/identifiers.zod.ts#SystemIdentifierSchema (const)", + "TemplateExpressionInput": "src/shared/expression.zod.ts#TemplateExpressionInput (type)", + "TemplateExpressionInputSchema": "src/shared/expression.zod.ts#TemplateExpressionInputSchema (const)", + "VISIBILITY_ALIAS_KEYS": "src/shared/visibility.ts#VISIBILITY_ALIAS_KEYS (const)", + "VISIBILITY_STRICT_OPTIONS": "src/shared/visibility.ts#VISIBILITY_STRICT_OPTIONS (const)", + "ViewName": "src/shared/branded-types.zod.ts#ViewName (type)", + "ViewNameParsed": "src/shared/branded-types.zod.ts#ViewNameParsed (type)", + "ViewNameSchema": "src/shared/branded-types.zod.ts#ViewNameSchema (const)", + "applyProtection": "src/shared/protection.zod.ts#applyProtection (function)", + "cel": "src/shared/expression.zod.ts#cel (function)", + "cron": "src/shared/expression.zod.ts#cron (function)", + "expression": "src/shared/expression.zod.ts#expression (function)", + "findClosestMatches": "src/shared/suggestions.zod.ts#findClosestMatches (function)", + "formatSuggestion": "src/shared/suggestions.zod.ts#formatSuggestion (function)", + "formatZodError": "src/shared/error-map.zod.ts#formatZodError (function)", + "formatZodIssue": "src/shared/error-map.zod.ts#formatZodIssue (function)", + "keySetMatches": "src/shared/suggestions.zod.ts#keySetMatches (function)", + "lazySchema": "src/shared/lazy-schema.ts#lazySchema (function)", + "levenshteinDistance": "src/shared/suggestions.zod.ts#levenshteinDistance (function)", + "normalizeMetadataCollection": "src/shared/metadata-collection.zod.ts#normalizeMetadataCollection (function)", + "normalizePluginMetadata": "src/shared/metadata-collection.zod.ts#normalizePluginMetadata (function)", + "normalizeStackInput": "src/shared/metadata-collection.zod.ts#normalizeStackInput (function)", + "normalizeVisibleWhen": "src/shared/visibility.ts#normalizeVisibleWhen (function)", + "objectStackErrorMap": "src/shared/error-map.zod.ts#objectStackErrorMap (const)", + "pluralToSingular": "src/shared/metadata-collection.zod.ts#pluralToSingular (function)", + "renderDiffMessage": "src/shared/external-errors.ts#renderDiffMessage (function)", + "resilientFetch": "src/shared/resilient-fetch.ts#resilientFetch (function)", + "safeParsePretty": "src/shared/error-map.zod.ts#safeParsePretty (function)", + "singularToPlural": "src/shared/metadata-collection.zod.ts#singularToPlural (function)", + "strictUnknownKeyError": "src/shared/suggestions.zod.ts#strictUnknownKeyError (function)", + "suggestFieldType": "src/shared/suggestions.zod.ts#suggestFieldType (function)", + "tmpl": "src/shared/expression.zod.ts#tmpl (function)" + } +} diff --git a/packages/spec/export-origins/studio.json b/packages/spec/export-origins/studio.json new file mode 100644 index 0000000000..7ccc72490d --- /dev/null +++ b/packages/spec/export-origins/studio.json @@ -0,0 +1,80 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./studio", + "exports": { + "ActionContribution": "src/studio/plugin.zod.ts#ActionContribution (type)", + "ActionContributionLocation": "src/studio/plugin.zod.ts#ActionContributionLocation (type)", + "ActionContributionLocationSchema": "src/studio/plugin.zod.ts#ActionContributionLocationSchema (const)", + "ActionContributionSchema": "src/studio/plugin.zod.ts#ActionContributionSchema (const)", + "BUILT_IN_NODE_DESCRIPTORS": "src/studio/flow-builder.zod.ts#BUILT_IN_NODE_DESCRIPTORS (const)", + "CommandContribution": "src/studio/plugin.zod.ts#CommandContribution (type)", + "CommandContributionSchema": "src/studio/plugin.zod.ts#CommandContributionSchema (const)", + "ERDiagramConfig": "src/studio/object-designer.zod.ts#ERDiagramConfig (type)", + "ERDiagramConfigSchema": "src/studio/object-designer.zod.ts#ERDiagramConfigSchema (const)", + "ERLayoutAlgorithm": "src/studio/object-designer.zod.ts#ERLayoutAlgorithm (type)", + "ERLayoutAlgorithmSchema": "src/studio/object-designer.zod.ts#ERLayoutAlgorithmSchema (const)", + "ERNodeDisplay": "src/studio/object-designer.zod.ts#ERNodeDisplay (type)", + "ERNodeDisplaySchema": "src/studio/object-designer.zod.ts#ERNodeDisplaySchema (const)", + "FieldEditorConfig": "src/studio/object-designer.zod.ts#FieldEditorConfig (type)", + "FieldEditorConfigSchema": "src/studio/object-designer.zod.ts#FieldEditorConfigSchema (const)", + "FieldGroup": "src/studio/object-designer.zod.ts#FieldGroup (type)", + "FieldGroupSchema": "src/studio/object-designer.zod.ts#FieldGroupSchema (const)", + "FieldPropertySection": "src/studio/object-designer.zod.ts#FieldPropertySection (type)", + "FieldPropertySectionSchema": "src/studio/object-designer.zod.ts#FieldPropertySectionSchema (const)", + "FlowBuilderConfig": "src/studio/flow-builder.zod.ts#FlowBuilderConfig (type)", + "FlowBuilderConfigSchema": "src/studio/flow-builder.zod.ts#FlowBuilderConfigSchema (const)", + "FlowCanvasEdge": "src/studio/flow-builder.zod.ts#FlowCanvasEdge (type)", + "FlowCanvasEdgeSchema": "src/studio/flow-builder.zod.ts#FlowCanvasEdgeSchema (const)", + "FlowCanvasEdgeStyle": "src/studio/flow-builder.zod.ts#FlowCanvasEdgeStyle (type)", + "FlowCanvasEdgeStyleSchema": "src/studio/flow-builder.zod.ts#FlowCanvasEdgeStyleSchema (const)", + "FlowCanvasNode": "src/studio/flow-builder.zod.ts#FlowCanvasNode (type)", + "FlowCanvasNodeSchema": "src/studio/flow-builder.zod.ts#FlowCanvasNodeSchema (const)", + "FlowLayoutAlgorithm": "src/studio/flow-builder.zod.ts#FlowLayoutAlgorithm (type)", + "FlowLayoutAlgorithmSchema": "src/studio/flow-builder.zod.ts#FlowLayoutAlgorithmSchema (const)", + "FlowLayoutDirection": "src/studio/flow-builder.zod.ts#FlowLayoutDirection (type)", + "FlowLayoutDirectionSchema": "src/studio/flow-builder.zod.ts#FlowLayoutDirectionSchema (const)", + "FlowNodeRenderDescriptor": "src/studio/flow-builder.zod.ts#FlowNodeRenderDescriptor (type)", + "FlowNodeRenderDescriptorSchema": "src/studio/flow-builder.zod.ts#FlowNodeRenderDescriptorSchema (const)", + "FlowNodeShape": "src/studio/flow-builder.zod.ts#FlowNodeShape (type)", + "FlowNodeShapeSchema": "src/studio/flow-builder.zod.ts#FlowNodeShapeSchema (const)", + "MetadataIconContribution": "src/studio/plugin.zod.ts#MetadataIconContribution (type)", + "MetadataIconContributionSchema": "src/studio/plugin.zod.ts#MetadataIconContributionSchema (const)", + "MetadataViewerContribution": "src/studio/plugin.zod.ts#MetadataViewerContribution (type)", + "MetadataViewerContributionSchema": "src/studio/plugin.zod.ts#MetadataViewerContributionSchema (const)", + "ObjectDesignerConfig": "src/studio/object-designer.zod.ts#ObjectDesignerConfig (type)", + "ObjectDesignerConfigSchema": "src/studio/object-designer.zod.ts#ObjectDesignerConfigSchema (const)", + "ObjectDesignerDefaultView": "src/studio/object-designer.zod.ts#ObjectDesignerDefaultView (type)", + "ObjectDesignerDefaultViewSchema": "src/studio/object-designer.zod.ts#ObjectDesignerDefaultViewSchema (const)", + "ObjectFilter": "src/studio/object-designer.zod.ts#ObjectFilter (type)", + "ObjectFilterSchema": "src/studio/object-designer.zod.ts#ObjectFilterSchema (const)", + "ObjectListDisplayMode": "src/studio/object-designer.zod.ts#ObjectListDisplayMode (type)", + "ObjectListDisplayModeSchema": "src/studio/object-designer.zod.ts#ObjectListDisplayModeSchema (const)", + "ObjectManagerConfig": "src/studio/object-designer.zod.ts#ObjectManagerConfig (type)", + "ObjectManagerConfigSchema": "src/studio/object-designer.zod.ts#ObjectManagerConfigSchema (const)", + "ObjectPreviewConfig": "src/studio/object-designer.zod.ts#ObjectPreviewConfig (type)", + "ObjectPreviewConfigSchema": "src/studio/object-designer.zod.ts#ObjectPreviewConfigSchema (const)", + "ObjectPreviewTab": "src/studio/object-designer.zod.ts#ObjectPreviewTab (type)", + "ObjectPreviewTabSchema": "src/studio/object-designer.zod.ts#ObjectPreviewTabSchema (const)", + "ObjectSortField": "src/studio/object-designer.zod.ts#ObjectSortField (type)", + "ObjectSortFieldSchema": "src/studio/object-designer.zod.ts#ObjectSortFieldSchema (const)", + "PanelContribution": "src/studio/plugin.zod.ts#PanelContribution (type)", + "PanelContributionSchema": "src/studio/plugin.zod.ts#PanelContributionSchema (const)", + "PanelLocation": "src/studio/plugin.zod.ts#PanelLocation (type)", + "PanelLocationSchema": "src/studio/plugin.zod.ts#PanelLocationSchema (const)", + "RelationshipDisplay": "src/studio/object-designer.zod.ts#RelationshipDisplay (type)", + "RelationshipDisplaySchema": "src/studio/object-designer.zod.ts#RelationshipDisplaySchema (const)", + "RelationshipMapperConfig": "src/studio/object-designer.zod.ts#RelationshipMapperConfig (type)", + "RelationshipMapperConfigSchema": "src/studio/object-designer.zod.ts#RelationshipMapperConfigSchema (const)", + "SidebarGroupContribution": "src/studio/plugin.zod.ts#SidebarGroupContribution (type)", + "SidebarGroupContributionSchema": "src/studio/plugin.zod.ts#SidebarGroupContributionSchema (const)", + "StudioPluginContributions": "src/studio/plugin.zod.ts#StudioPluginContributions (type)", + "StudioPluginContributionsSchema": "src/studio/plugin.zod.ts#StudioPluginContributionsSchema (const)", + "StudioPluginManifest": "src/studio/plugin.zod.ts#StudioPluginManifest (type)", + "StudioPluginManifestSchema": "src/studio/plugin.zod.ts#StudioPluginManifestSchema (const)", + "ViewMode": "src/studio/plugin.zod.ts#ViewMode (type)", + "ViewModeSchema": "src/studio/plugin.zod.ts#ViewModeSchema (const)", + "defineFlowBuilderConfig": "src/studio/flow-builder.zod.ts#defineFlowBuilderConfig (function)", + "defineObjectDesignerConfig": "src/studio/object-designer.zod.ts#defineObjectDesignerConfig (function)", + "defineStudioPlugin": "src/studio/plugin.zod.ts#defineStudioPlugin (function)" + } +} diff --git a/packages/spec/export-origins/system.json b/packages/spec/export-origins/system.json new file mode 100644 index 0000000000..6f3c51ab93 --- /dev/null +++ b/packages/spec/export-origins/system.json @@ -0,0 +1,819 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./system", + "exports": { + "AccessControlConfig": "src/system/object-storage.zod.ts#AccessControlConfig (type)", + "AccessControlConfigParsed": "src/system/object-storage.zod.ts#AccessControlConfigParsed (type)", + "AccessControlConfigSchema": "src/system/object-storage.zod.ts#AccessControlConfigSchema (const)", + "ActionLike": "src/system/i18n-resolver.ts#ActionLike (interface)", + "ActionResultDialogTranslation": "src/system/translation.zod.ts#ActionResultDialogTranslation (type)", + "ActionResultDialogTranslationSchema": "src/system/translation.zod.ts#ActionResultDialogTranslationSchema (const)", + "AddFieldOperation": "src/system/migration.zod.ts#AddFieldOperation (const)", + "AdvancedAuthConfig": "src/system/auth-config.zod.ts#AdvancedAuthConfig (type)", + "AdvancedAuthConfigSchema": "src/system/auth-config.zod.ts#AdvancedAuthConfigSchema (const)", + "AnalyzerConfig": "src/system/search-engine.zod.ts#AnalyzerConfig (type)", + "AnalyzerConfigSchema": "src/system/search-engine.zod.ts#AnalyzerConfigSchema (const)", + "AppCompatibilityCheck": "src/system/app-install.zod.ts#AppCompatibilityCheck (type)", + "AppCompatibilityCheckParsed": "src/system/app-install.zod.ts#AppCompatibilityCheckParsed (type)", + "AppCompatibilityCheckSchema": "src/system/app-install.zod.ts#AppCompatibilityCheckSchema (const)", + "AppInstallRequest": "src/system/app-install.zod.ts#AppInstallRequest (type)", + "AppInstallRequestParsed": "src/system/app-install.zod.ts#AppInstallRequestParsed (type)", + "AppInstallRequestSchema": "src/system/app-install.zod.ts#AppInstallRequestSchema (const)", + "AppInstallResult": "src/system/app-install.zod.ts#AppInstallResult (type)", + "AppInstallResultParsed": "src/system/app-install.zod.ts#AppInstallResultParsed (type)", + "AppInstallResultSchema": "src/system/app-install.zod.ts#AppInstallResultSchema (const)", + "AppLike": "src/system/i18n-resolver.ts#AppLike (interface)", + "AppManifest": "src/system/app-install.zod.ts#AppManifest (type)", + "AppManifestParsed": "src/system/app-install.zod.ts#AppManifestParsed (type)", + "AppManifestSchema": "src/system/app-install.zod.ts#AppManifestSchema (const)", + "AudienceBook": "src/system/book.zod.ts#AudienceBook (interface)", + "AudienceCaller": "src/system/book.zod.ts#AudienceCaller (interface)", + "AuthConfig": "src/system/auth-config.zod.ts#AuthConfig (type)", + "AuthConfigParsed": "src/system/auth-config.zod.ts#AuthConfigParsed (type)", + "AuthConfigSchema": "src/system/auth-config.zod.ts#AuthConfigSchema (const)", + "AuthPluginConfig": "src/system/auth-config.zod.ts#AuthPluginConfig (type)", + "AuthPluginConfigParsed": "src/system/auth-config.zod.ts#AuthPluginConfigParsed (type)", + "AuthPluginConfigSchema": "src/system/auth-config.zod.ts#AuthPluginConfigSchema (const)", + "AuthProviderConfig": "src/system/auth-config.zod.ts#AuthProviderConfig (type)", + "AuthProviderConfigSchema": "src/system/auth-config.zod.ts#AuthProviderConfigSchema (const)", + "AwarenessEvent": "src/system/collaboration.zod.ts#AwarenessEvent (type)", + "AwarenessEventSchema": "src/system/collaboration.zod.ts#AwarenessEventSchema (const)", + "AwarenessSession": "src/system/collaboration.zod.ts#AwarenessSession (type)", + "AwarenessSessionSchema": "src/system/collaboration.zod.ts#AwarenessSessionSchema (const)", + "AwarenessUpdate": "src/system/collaboration.zod.ts#AwarenessUpdate (type)", + "AwarenessUpdateSchema": "src/system/collaboration.zod.ts#AwarenessUpdateSchema (const)", + "AwarenessUserState": "src/system/collaboration.zod.ts#AwarenessUserState (type)", + "AwarenessUserStateSchema": "src/system/collaboration.zod.ts#AwarenessUserStateSchema (const)", + "BUILTIN_VALIDATION_MESSAGES": "src/system/validation-message.ts#BUILTIN_VALIDATION_MESSAGES (const)", + "BackupConfig": "src/system/disaster-recovery.zod.ts#BackupConfig (type)", + "BackupConfigParsed": "src/system/disaster-recovery.zod.ts#BackupConfigParsed (type)", + "BackupConfigSchema": "src/system/disaster-recovery.zod.ts#BackupConfigSchema (const)", + "BackupRetention": "src/system/disaster-recovery.zod.ts#BackupRetention (type)", + "BackupRetentionParsed": "src/system/disaster-recovery.zod.ts#BackupRetentionParsed (type)", + "BackupRetentionSchema": "src/system/disaster-recovery.zod.ts#BackupRetentionSchema (const)", + "BackupStrategy": "src/system/disaster-recovery.zod.ts#BackupStrategy (type)", + "BackupStrategySchema": "src/system/disaster-recovery.zod.ts#BackupStrategySchema (const)", + "BatchProgress": "src/system/worker.zod.ts#BatchProgress (type)", + "BatchProgressParsed": "src/system/worker.zod.ts#BatchProgressParsed (type)", + "BatchProgressSchema": "src/system/worker.zod.ts#BatchProgressSchema (const)", + "BatchTask": "src/system/worker.zod.ts#BatchTask (type)", + "BatchTaskParsed": "src/system/worker.zod.ts#BatchTaskParsed (type)", + "BatchTaskSchema": "src/system/worker.zod.ts#BatchTaskSchema (const)", + "Book": "src/system/book.zod.ts#Book (type)", + "BookAudience": "src/system/book.zod.ts#BookAudience (type)", + "BookAudienceSchema": "src/system/book.zod.ts#BookAudienceSchema (const)", + "BookGroup": "src/system/book.zod.ts#BookGroup (type)", + "BookGroupSchema": "src/system/book.zod.ts#BookGroupSchema (const)", + "BookInclude": "src/system/book.zod.ts#BookInclude (type)", + "BookIncludeSchema": "src/system/book.zod.ts#BookIncludeSchema (const)", + "BookNode": "src/system/book.zod.ts#BookNode (type)", + "BookNodeSchema": "src/system/book.zod.ts#BookNodeSchema (const)", + "BookSchema": "src/system/book.zod.ts#BookSchema (const)", + "BucketConfig": "src/system/object-storage.zod.ts#BucketConfig (type)", + "BucketConfigParsed": "src/system/object-storage.zod.ts#BucketConfigParsed (type)", + "BucketConfigSchema": "src/system/object-storage.zod.ts#BucketConfigSchema (const)", + "CLOUD_PROVIDED_OBJECT_NAMES": "src/system/constants/platform-object-names.ts#CLOUD_PROVIDED_OBJECT_NAMES (const)", + "CORE_SERVICE_PROVIDER": "src/system/core-services.zod.ts#CORE_SERVICE_PROVIDER (const)", + "CRDTMergeResult": "src/system/collaboration.zod.ts#CRDTMergeResult (type)", + "CRDTMergeResultParsed": "src/system/collaboration.zod.ts#CRDTMergeResultParsed (type)", + "CRDTMergeResultSchema": "src/system/collaboration.zod.ts#CRDTMergeResultSchema (const)", + "CRDTState": "src/system/collaboration.zod.ts#CRDTState (type)", + "CRDTStateParsed": "src/system/collaboration.zod.ts#CRDTStateParsed (type)", + "CRDTStateSchema": "src/system/collaboration.zod.ts#CRDTStateSchema (const)", + "CRDTType": "src/system/collaboration.zod.ts#CRDTType (type)", + "CREATION_ATTESTED_MIGRATION_IDS": "src/system/migration.zod.ts#CREATION_ATTESTED_MIGRATION_IDS (const)", + "CacheAvalanchePrevention": "src/system/cache.zod.ts#CacheAvalanchePrevention (type)", + "CacheAvalanchePreventionParsed": "src/system/cache.zod.ts#CacheAvalanchePreventionParsed (type)", + "CacheAvalanchePreventionSchema": "src/system/cache.zod.ts#CacheAvalanchePreventionSchema (const)", + "CacheConfig": "src/system/cache.zod.ts#CacheConfig (type)", + "CacheConfigParsed": "src/system/cache.zod.ts#CacheConfigParsed (type)", + "CacheConfigSchema": "src/system/cache.zod.ts#CacheConfigSchema (const)", + "CacheConsistency": "src/system/cache.zod.ts#CacheConsistency (type)", + "CacheConsistencySchema": "src/system/cache.zod.ts#CacheConsistencySchema (const)", + "CacheInvalidation": "src/system/cache.zod.ts#CacheInvalidation (type)", + "CacheInvalidationSchema": "src/system/cache.zod.ts#CacheInvalidationSchema (const)", + "CacheStrategy": "src/system/cache.zod.ts#CacheStrategy (type)", + "CacheStrategySchema": "src/system/cache.zod.ts#CacheStrategySchema (const)", + "CacheTier": "src/system/cache.zod.ts#CacheTier (type)", + "CacheTierParsed": "src/system/cache.zod.ts#CacheTierParsed (type)", + "CacheTierSchema": "src/system/cache.zod.ts#CacheTierSchema (const)", + "CacheWarmup": "src/system/cache.zod.ts#CacheWarmup (type)", + "CacheWarmupParsed": "src/system/cache.zod.ts#CacheWarmupParsed (type)", + "CacheWarmupSchema": "src/system/cache.zod.ts#CacheWarmupSchema (const)", + "ChangeImpact": "src/system/change-management.zod.ts#ChangeImpact (type)", + "ChangeImpactSchema": "src/system/change-management.zod.ts#ChangeImpactSchema (const)", + "ChangePriority": "src/system/change-management.zod.ts#ChangePriority (type)", + "ChangePrioritySchema": "src/system/change-management.zod.ts#ChangePrioritySchema (const)", + "ChangeRequest": "src/system/change-management.zod.ts#ChangeRequest (type)", + "ChangeRequestParsed": "src/system/change-management.zod.ts#ChangeRequestParsed (type)", + "ChangeRequestSchema": "src/system/change-management.zod.ts#ChangeRequestSchema (const)", + "ChangeSet": "src/system/migration.zod.ts#ChangeSet (type)", + "ChangeSetParsed": "src/system/migration.zod.ts#ChangeSetParsed (type)", + "ChangeSetSchema": "src/system/migration.zod.ts#ChangeSetSchema (const)", + "ChangeStatus": "src/system/change-management.zod.ts#ChangeStatus (type)", + "ChangeStatusSchema": "src/system/change-management.zod.ts#ChangeStatusSchema (const)", + "ChangeType": "src/system/change-management.zod.ts#ChangeType (type)", + "ChangeTypeSchema": "src/system/change-management.zod.ts#ChangeTypeSchema (const)", + "CollaborationMode": "src/system/collaboration.zod.ts#CollaborationMode (type)", + "CollaborationSession": "src/system/collaboration.zod.ts#CollaborationSession (type)", + "CollaborationSessionConfig": "src/system/collaboration.zod.ts#CollaborationSessionConfig (type)", + "CollaborationSessionConfigParsed": "src/system/collaboration.zod.ts#CollaborationSessionConfigParsed (type)", + "CollaborationSessionConfigSchema": "src/system/collaboration.zod.ts#CollaborationSessionConfigSchema (const)", + "CollaborationSessionParsed": "src/system/collaboration.zod.ts#CollaborationSessionParsed (type)", + "CollaborationSessionSchema": "src/system/collaboration.zod.ts#CollaborationSessionSchema (const)", + "CollaborativeCursor": "src/system/collaboration.zod.ts#CollaborativeCursor (type)", + "CollaborativeCursorParsed": "src/system/collaboration.zod.ts#CollaborativeCursorParsed (type)", + "CollaborativeCursorSchema": "src/system/collaboration.zod.ts#CollaborativeCursorSchema (const)", + "ComplianceAuditRequirement": "src/system/security-context.zod.ts#ComplianceAuditRequirement (type)", + "ComplianceAuditRequirementParsed": "src/system/security-context.zod.ts#ComplianceAuditRequirementParsed (type)", + "ComplianceAuditRequirementSchema": "src/system/security-context.zod.ts#ComplianceAuditRequirementSchema (const)", + "ComplianceEncryptionRequirement": "src/system/security-context.zod.ts#ComplianceEncryptionRequirement (type)", + "ComplianceEncryptionRequirementParsed": "src/system/security-context.zod.ts#ComplianceEncryptionRequirementParsed (type)", + "ComplianceEncryptionRequirementSchema": "src/system/security-context.zod.ts#ComplianceEncryptionRequirementSchema (const)", + "ComplianceFramework": "src/system/security-context.zod.ts#ComplianceFramework (type)", + "ComplianceFrameworkSchema": "src/system/security-context.zod.ts#ComplianceFrameworkSchema (const)", + "ConsoleDestinationConfig": "src/system/logging.zod.ts#ConsoleDestinationConfig (type)", + "ConsoleDestinationConfigParsed": "src/system/logging.zod.ts#ConsoleDestinationConfigParsed (type)", + "ConsoleDestinationConfigSchema": "src/system/logging.zod.ts#ConsoleDestinationConfigSchema (const)", + "ConsumerConfig": "src/system/message-queue.zod.ts#ConsumerConfig (type)", + "ConsumerConfigParsed": "src/system/message-queue.zod.ts#ConsumerConfigParsed (type)", + "ConsumerConfigSchema": "src/system/message-queue.zod.ts#ConsumerConfigSchema (const)", + "CoreServiceName": "src/system/core-services.zod.ts#CoreServiceName (type)", + "CounterOperation": "src/system/collaboration.zod.ts#CounterOperation (type)", + "CounterOperationSchema": "src/system/collaboration.zod.ts#CounterOperationSchema (const)", + "CoverageBreakdownEntry": "src/system/translation.zod.ts#CoverageBreakdownEntry (type)", + "CoverageBreakdownEntrySchema": "src/system/translation.zod.ts#CoverageBreakdownEntrySchema (const)", + "CreateObjectOperation": "src/system/migration.zod.ts#CreateObjectOperation (const)", + "CronSchedule": "src/system/job.zod.ts#CronSchedule (type)", + "CronScheduleParsed": "src/system/job.zod.ts#CronScheduleParsed (type)", + "CronScheduleSchema": "src/system/job.zod.ts#CronScheduleSchema (const)", + "CursorColorPreset": "src/system/collaboration.zod.ts#CursorColorPreset (type)", + "CursorSelection": "src/system/collaboration.zod.ts#CursorSelection (type)", + "CursorSelectionSchema": "src/system/collaboration.zod.ts#CursorSelectionSchema (const)", + "CursorStyle": "src/system/collaboration.zod.ts#CursorStyle (type)", + "CursorStyleParsed": "src/system/collaboration.zod.ts#CursorStyleParsed (type)", + "CursorStyleSchema": "src/system/collaboration.zod.ts#CursorStyleSchema (const)", + "CursorUpdate": "src/system/collaboration.zod.ts#CursorUpdate (type)", + "CursorUpdateSchema": "src/system/collaboration.zod.ts#CursorUpdateSchema (const)", + "DATA_MIGRATION_FLAG_OBJECT": "src/system/migration.zod.ts#DATA_MIGRATION_FLAG_OBJECT (const)", + "DashboardLike": "src/system/i18n-resolver.ts#DashboardLike (interface)", + "DataClassification": "src/system/security-context.zod.ts#DataClassification (type)", + "DataClassificationPolicy": "src/system/security-context.zod.ts#DataClassificationPolicy (type)", + "DataClassificationPolicyParsed": "src/system/security-context.zod.ts#DataClassificationPolicyParsed (type)", + "DataClassificationPolicySchema": "src/system/security-context.zod.ts#DataClassificationPolicySchema (const)", + "DataClassificationSchema": "src/system/security-context.zod.ts#DataClassificationSchema (const)", + "DataMigrationFlag": "src/system/migration.zod.ts#DataMigrationFlag (type)", + "DataMigrationFlagSchema": "src/system/migration.zod.ts#DataMigrationFlagSchema (const)", + "DatabaseLevelIsolationStrategy": "src/system/tenant.zod.ts#DatabaseLevelIsolationStrategy (type)", + "DatabaseLevelIsolationStrategyParsed": "src/system/tenant.zod.ts#DatabaseLevelIsolationStrategyParsed (type)", + "DatabaseLevelIsolationStrategySchema": "src/system/tenant.zod.ts#DatabaseLevelIsolationStrategySchema (const)", + "DatabaseProvider": "src/system/tenant.zod.ts#DatabaseProvider (type)", + "DatabaseProviderSchema": "src/system/tenant.zod.ts#DatabaseProviderSchema (const)", + "DeadLetterQueue": "src/system/message-queue.zod.ts#DeadLetterQueue (type)", + "DeadLetterQueueParsed": "src/system/message-queue.zod.ts#DeadLetterQueueParsed (type)", + "DeadLetterQueueSchema": "src/system/message-queue.zod.ts#DeadLetterQueueSchema (const)", + "DeleteObjectOperation": "src/system/migration.zod.ts#DeleteObjectOperation (type)", + "DeployBundle": "src/system/deploy-bundle.zod.ts#DeployBundle (type)", + "DeployBundleParsed": "src/system/deploy-bundle.zod.ts#DeployBundleParsed (type)", + "DeployBundleSchema": "src/system/deploy-bundle.zod.ts#DeployBundleSchema (const)", + "DeployDiff": "src/system/deploy-bundle.zod.ts#DeployDiff (type)", + "DeployDiffParsed": "src/system/deploy-bundle.zod.ts#DeployDiffParsed (type)", + "DeployDiffSchema": "src/system/deploy-bundle.zod.ts#DeployDiffSchema (const)", + "DeployManifest": "src/system/deploy-bundle.zod.ts#DeployManifest (type)", + "DeployManifestParsed": "src/system/deploy-bundle.zod.ts#DeployManifestParsed (type)", + "DeployManifestSchema": "src/system/deploy-bundle.zod.ts#DeployManifestSchema (const)", + "DeployStatus": "src/system/deploy-bundle.zod.ts#DeployStatus (type)", + "DeployStatusEnum": "src/system/deploy-bundle.zod.ts#DeployStatusEnum (const)", + "DeployValidationIssue": "src/system/deploy-bundle.zod.ts#DeployValidationIssue (type)", + "DeployValidationIssueSchema": "src/system/deploy-bundle.zod.ts#DeployValidationIssueSchema (const)", + "DeployValidationResult": "src/system/deploy-bundle.zod.ts#DeployValidationResult (type)", + "DeployValidationResultParsed": "src/system/deploy-bundle.zod.ts#DeployValidationResultParsed (type)", + "DeployValidationResultSchema": "src/system/deploy-bundle.zod.ts#DeployValidationResultSchema (const)", + "DisasterRecoveryPlan": "src/system/disaster-recovery.zod.ts#DisasterRecoveryPlan (type)", + "DisasterRecoveryPlanParsed": "src/system/disaster-recovery.zod.ts#DisasterRecoveryPlanParsed (type)", + "DisasterRecoveryPlanSchema": "src/system/disaster-recovery.zod.ts#DisasterRecoveryPlanSchema (const)", + "DistributedCacheConfig": "src/system/cache.zod.ts#DistributedCacheConfig (type)", + "DistributedCacheConfigParsed": "src/system/cache.zod.ts#DistributedCacheConfigParsed (type)", + "DistributedCacheConfigSchema": "src/system/cache.zod.ts#DistributedCacheConfigSchema (const)", + "Doc": "src/system/doc.zod.ts#Doc (type)", + "DocSchema": "src/system/doc.zod.ts#DocSchema (const)", + "DocTranslation": "src/system/doc.zod.ts#DocTranslation (type)", + "ENVIRONMENT_ARTIFACT_SCHEMA_VERSION": "src/system/environment-artifact.zod.ts#ENVIRONMENT_ARTIFACT_SCHEMA_VERSION (const)", + "EmailAddressConfig": "src/system/email-config.zod.ts#EmailAddressConfig (type)", + "EmailAddressConfigSchema": "src/system/email-config.zod.ts#EmailAddressConfigSchema (const)", + "EmailAndPasswordConfig": "src/system/auth-config.zod.ts#EmailAndPasswordConfig (type)", + "EmailAndPasswordConfigParsed": "src/system/auth-config.zod.ts#EmailAndPasswordConfigParsed (type)", + "EmailAndPasswordConfigSchema": "src/system/auth-config.zod.ts#EmailAndPasswordConfigSchema (const)", + "EmailProvider": "src/system/email-config.zod.ts#EmailProvider (type)", + "EmailProviderSchema": "src/system/email-config.zod.ts#EmailProviderSchema (const)", + "EmailServiceConfig": "src/system/email-config.zod.ts#EmailServiceConfig (type)", + "EmailServiceConfigParsed": "src/system/email-config.zod.ts#EmailServiceConfigParsed (type)", + "EmailServiceConfigSchema": "src/system/email-config.zod.ts#EmailServiceConfigSchema (const)", + "EmailTemplateDefinition": "src/system/email-template.zod.ts#EmailTemplateDefinition (type)", + "EmailTemplateDefinitionCategory": "src/system/email-template.zod.ts#EmailTemplateDefinitionCategory (type)", + "EmailTemplateDefinitionCategorySchema": "src/system/email-template.zod.ts#EmailTemplateDefinitionCategorySchema (const)", + "EmailTemplateDefinitionParsed": "src/system/email-template.zod.ts#EmailTemplateDefinitionParsed (type)", + "EmailTemplateDefinitionSchema": "src/system/email-template.zod.ts#EmailTemplateDefinitionSchema (const)", + "EmailTemplateDefinitionVariable": "src/system/email-template.zod.ts#EmailTemplateDefinitionVariable (type)", + "EmailTemplateDefinitionVariableParsed": "src/system/email-template.zod.ts#EmailTemplateDefinitionVariableParsed (type)", + "EmailTemplateDefinitionVariableSchema": "src/system/email-template.zod.ts#EmailTemplateDefinitionVariableSchema (const)", + "EmailVerificationConfig": "src/system/auth-config.zod.ts#EmailVerificationConfig (type)", + "EmailVerificationConfigSchema": "src/system/auth-config.zod.ts#EmailVerificationConfigSchema (const)", + "EncryptionAlgorithm": "src/system/encryption.zod.ts#EncryptionAlgorithm (type)", + "EncryptionAlgorithmSchema": "src/system/encryption.zod.ts#EncryptionAlgorithmSchema (const)", + "EncryptionConfig": "src/system/encryption.zod.ts#EncryptionConfig (type)", + "EncryptionConfigParsed": "src/system/encryption.zod.ts#EncryptionConfigParsed (type)", + "EncryptionConfigSchema": "src/system/encryption.zod.ts#EncryptionConfigSchema (const)", + "EnvironmentArtifact": "src/system/environment-artifact.zod.ts#EnvironmentArtifact (type)", + "EnvironmentArtifactParsed": "src/system/environment-artifact.zod.ts#EnvironmentArtifactParsed (type)", + "EnvironmentArtifactSchema": "src/system/environment-artifact.zod.ts#EnvironmentArtifactSchema (const)", + "ExecuteSqlOperation": "src/system/migration.zod.ts#ExecuteSqlOperation (type)", + "ExtendedLogLevel": "src/system/logging.zod.ts#ExtendedLogLevel (type)", + "ExternalServiceDestinationConfig": "src/system/logging.zod.ts#ExternalServiceDestinationConfig (type)", + "ExternalServiceDestinationConfigSchema": "src/system/logging.zod.ts#ExternalServiceDestinationConfigSchema (const)", + "FILE_REFERENCES_MIGRATION_ID": "src/system/migration.zod.ts#FILE_REFERENCES_MIGRATION_ID (const)", + "FacetConfig": "src/system/search-engine.zod.ts#FacetConfig (type)", + "FacetConfigParsed": "src/system/search-engine.zod.ts#FacetConfigParsed (type)", + "FacetConfigSchema": "src/system/search-engine.zod.ts#FacetConfigSchema (const)", + "FailoverConfig": "src/system/disaster-recovery.zod.ts#FailoverConfig (type)", + "FailoverConfigParsed": "src/system/disaster-recovery.zod.ts#FailoverConfigParsed (type)", + "FailoverConfigSchema": "src/system/disaster-recovery.zod.ts#FailoverConfigSchema (const)", + "FailoverMode": "src/system/disaster-recovery.zod.ts#FailoverMode (type)", + "FailoverModeSchema": "src/system/disaster-recovery.zod.ts#FailoverModeSchema (const)", + "Feature": "src/system/license.zod.ts#Feature (type)", + "FeatureParsed": "src/system/license.zod.ts#FeatureParsed (type)", + "FeatureSchema": "src/system/license.zod.ts#FeatureSchema (const)", + "FieldEncryption": "src/system/encryption.zod.ts#FieldEncryption (type)", + "FieldEncryptionParsed": "src/system/encryption.zod.ts#FieldEncryptionParsed (type)", + "FieldEncryptionSchema": "src/system/encryption.zod.ts#FieldEncryptionSchema (const)", + "FieldTranslation": "src/system/translation.zod.ts#FieldTranslation (type)", + "FieldTranslationSchema": "src/system/translation.zod.ts#FieldTranslationSchema (const)", + "FileDestinationConfig": "src/system/logging.zod.ts#FileDestinationConfig (type)", + "FileDestinationConfigParsed": "src/system/logging.zod.ts#FileDestinationConfigParsed (type)", + "FileDestinationConfigSchema": "src/system/logging.zod.ts#FileDestinationConfigSchema (const)", + "FileMetadata": "src/system/object-storage.zod.ts#FileMetadata (type)", + "FileMetadataSchema": "src/system/object-storage.zod.ts#FileMetadataSchema (const)", + "GCounter": "src/system/collaboration.zod.ts#GCounter (type)", + "GCounterSchema": "src/system/collaboration.zod.ts#GCounterSchema (const)", + "HistogramBucketConfig": "src/system/metrics.zod.ts#HistogramBucketConfig (type)", + "HistogramBucketConfigSchema": "src/system/metrics.zod.ts#HistogramBucketConfigSchema (const)", + "HttpDestinationConfig": "src/system/logging.zod.ts#HttpDestinationConfig (type)", + "HttpDestinationConfigParsed": "src/system/logging.zod.ts#HttpDestinationConfigParsed (type)", + "HttpDestinationConfigSchema": "src/system/logging.zod.ts#HttpDestinationConfigSchema (const)", + "ISettingsCapability": "src/system/settings-client.zod.ts#ISettingsCapability (interface)", + "ISettingsClient": "src/system/settings-client.zod.ts#ISettingsClient (interface)", + "Incident": "src/system/incident-response.zod.ts#Incident (type)", + "IncidentCategory": "src/system/incident-response.zod.ts#IncidentCategory (type)", + "IncidentCategorySchema": "src/system/incident-response.zod.ts#IncidentCategorySchema (const)", + "IncidentNotificationMatrix": "src/system/incident-response.zod.ts#IncidentNotificationMatrix (type)", + "IncidentNotificationMatrixParsed": "src/system/incident-response.zod.ts#IncidentNotificationMatrixParsed (type)", + "IncidentNotificationMatrixSchema": "src/system/incident-response.zod.ts#IncidentNotificationMatrixSchema (const)", + "IncidentNotificationRule": "src/system/incident-response.zod.ts#IncidentNotificationRule (type)", + "IncidentNotificationRuleParsed": "src/system/incident-response.zod.ts#IncidentNotificationRuleParsed (type)", + "IncidentNotificationRuleSchema": "src/system/incident-response.zod.ts#IncidentNotificationRuleSchema (const)", + "IncidentResponsePhase": "src/system/incident-response.zod.ts#IncidentResponsePhase (type)", + "IncidentResponsePhaseSchema": "src/system/incident-response.zod.ts#IncidentResponsePhaseSchema (const)", + "IncidentResponsePolicy": "src/system/incident-response.zod.ts#IncidentResponsePolicy (type)", + "IncidentResponsePolicyParsed": "src/system/incident-response.zod.ts#IncidentResponsePolicyParsed (type)", + "IncidentResponsePolicySchema": "src/system/incident-response.zod.ts#IncidentResponsePolicySchema (const)", + "IncidentSchema": "src/system/incident-response.zod.ts#IncidentSchema (const)", + "IncidentSeverity": "src/system/incident-response.zod.ts#IncidentSeverity (type)", + "IncidentSeveritySchema": "src/system/incident-response.zod.ts#IncidentSeveritySchema (const)", + "IncidentStatus": "src/system/incident-response.zod.ts#IncidentStatus (type)", + "IncidentStatusSchema": "src/system/incident-response.zod.ts#IncidentStatusSchema (const)", + "IntervalSchedule": "src/system/job.zod.ts#IntervalSchedule (type)", + "IntervalScheduleSchema": "src/system/job.zod.ts#IntervalScheduleSchema (const)", + "Job": "src/system/job.zod.ts#Job (type)", + "JobExecution": "src/system/job.zod.ts#JobExecution (type)", + "JobExecutionSchema": "src/system/job.zod.ts#JobExecutionSchema (const)", + "JobExecutionStatus": "src/system/job.zod.ts#JobExecutionStatus (type)", + "JobParsed": "src/system/job.zod.ts#JobParsed (type)", + "JobSchema": "src/system/job.zod.ts#JobSchema (const)", + "KernelServiceMap": "src/system/core-services.zod.ts#KernelServiceMap (type)", + "KernelServiceMapSchema": "src/system/core-services.zod.ts#KernelServiceMapSchema (const)", + "KeyManagementProvider": "src/system/encryption.zod.ts#KeyManagementProvider (type)", + "KeyManagementProviderSchema": "src/system/encryption.zod.ts#KeyManagementProviderSchema (const)", + "KeyRotationPolicy": "src/system/encryption.zod.ts#KeyRotationPolicy (type)", + "KeyRotationPolicyParsed": "src/system/encryption.zod.ts#KeyRotationPolicyParsed (type)", + "KeyRotationPolicySchema": "src/system/encryption.zod.ts#KeyRotationPolicySchema (const)", + "LEGACY_OBJECT_FIRST_KEYS": "src/system/translation.zod.ts#LEGACY_OBJECT_FIRST_KEYS (const)", + "LWWRegister": "src/system/collaboration.zod.ts#LWWRegister (type)", + "LWWRegisterSchema": "src/system/collaboration.zod.ts#LWWRegisterSchema (const)", + "LegacyObjectFirstKey": "src/system/translation.zod.ts#LegacyObjectFirstKey (type)", + "License": "src/system/license.zod.ts#License (type)", + "LicenseMetricType": "src/system/license.zod.ts#LicenseMetricType (type)", + "LicenseSchema": "src/system/license.zod.ts#LicenseSchema (const)", + "LifecycleAction": "src/system/object-storage.zod.ts#LifecycleAction (type)", + "LifecycleActionSchema": "src/system/object-storage.zod.ts#LifecycleActionSchema (const)", + "LifecyclePolicyConfig": "src/system/object-storage.zod.ts#LifecyclePolicyConfig (type)", + "LifecyclePolicyConfigParsed": "src/system/object-storage.zod.ts#LifecyclePolicyConfigParsed (type)", + "LifecyclePolicyConfigSchema": "src/system/object-storage.zod.ts#LifecyclePolicyConfigSchema (const)", + "LifecyclePolicyRule": "src/system/object-storage.zod.ts#LifecyclePolicyRule (type)", + "LifecyclePolicyRuleParsed": "src/system/object-storage.zod.ts#LifecyclePolicyRuleParsed (type)", + "LifecyclePolicyRuleSchema": "src/system/object-storage.zod.ts#LifecyclePolicyRuleSchema (const)", + "Locale": "src/system/translation.zod.ts#Locale (type)", + "LocaleDescriptor": "src/system/i18n-resolver.ts#LocaleDescriptor (interface)", + "LocaleSchema": "src/system/translation.zod.ts#LocaleSchema (const)", + "LogDestination": "src/system/logging.zod.ts#LogDestination (type)", + "LogDestinationParsed": "src/system/logging.zod.ts#LogDestinationParsed (type)", + "LogDestinationSchema": "src/system/logging.zod.ts#LogDestinationSchema (const)", + "LogDestinationType": "src/system/logging.zod.ts#LogDestinationType (type)", + "LogEnrichmentConfig": "src/system/logging.zod.ts#LogEnrichmentConfig (type)", + "LogEnrichmentConfigParsed": "src/system/logging.zod.ts#LogEnrichmentConfigParsed (type)", + "LogEnrichmentConfigSchema": "src/system/logging.zod.ts#LogEnrichmentConfigSchema (const)", + "LogEntry": "src/system/logging.zod.ts#LogEntry (type)", + "LogEntrySchema": "src/system/logging.zod.ts#LogEntrySchema (const)", + "LogFormat": "src/system/logging.zod.ts#LogFormat (type)", + "LogLevel": "src/system/logging.zod.ts#LogLevel (type)", + "LoggerConfig": "src/system/logging.zod.ts#LoggerConfig (type)", + "LoggerConfigParsed": "src/system/logging.zod.ts#LoggerConfigParsed (type)", + "LoggerConfigSchema": "src/system/logging.zod.ts#LoggerConfigSchema (const)", + "LoggingConfig": "src/system/logging.zod.ts#LoggingConfig (type)", + "LoggingConfigParsed": "src/system/logging.zod.ts#LoggingConfigParsed (type)", + "LoggingConfigSchema": "src/system/logging.zod.ts#LoggingConfigSchema (const)", + "METADATA_FORM_REGISTRY": "src/system/metadata-form-registry.ts#METADATA_FORM_REGISTRY (const)", + "MIGRATION_JOURNAL_KINDS": "src/system/migration.zod.ts#MIGRATION_JOURNAL_KINDS (const)", + "MIGRATION_JOURNAL_OBJECT": "src/system/migration.zod.ts#MIGRATION_JOURNAL_OBJECT (const)", + "MaskingVisibilityRule": "src/system/security-context.zod.ts#MaskingVisibilityRule (type)", + "MaskingVisibilityRuleParsed": "src/system/security-context.zod.ts#MaskingVisibilityRuleParsed (type)", + "MaskingVisibilityRuleSchema": "src/system/security-context.zod.ts#MaskingVisibilityRuleSchema (const)", + "MessageQueueConfig": "src/system/message-queue.zod.ts#MessageQueueConfig (type)", + "MessageQueueConfigParsed": "src/system/message-queue.zod.ts#MessageQueueConfigParsed (type)", + "MessageQueueConfigSchema": "src/system/message-queue.zod.ts#MessageQueueConfigSchema (const)", + "MessageQueueProvider": "src/system/message-queue.zod.ts#MessageQueueProvider (type)", + "MessageQueueProviderSchema": "src/system/message-queue.zod.ts#MessageQueueProviderSchema (const)", + "MetadataCollectionInfo": "src/system/metadata-persistence.zod.ts#MetadataCollectionInfo (type)", + "MetadataCollectionInfoSchema": "src/system/metadata-persistence.zod.ts#MetadataCollectionInfoSchema (const)", + "MetadataDiffResult": "src/system/metadata-persistence.zod.ts#MetadataDiffResult (type)", + "MetadataDiffResultSchema": "src/system/metadata-persistence.zod.ts#MetadataDiffResultSchema (const)", + "MetadataFallbackStrategy": "src/kernel/metadata-loader.zod.ts#MetadataFallbackStrategy (type)", + "MetadataFallbackStrategySchema": "src/kernel/metadata-loader.zod.ts#MetadataFallbackStrategySchema (const)", + "MetadataFormType": "src/system/metadata-form-registry.ts#MetadataFormType (type)", + "MetadataFormat": "src/shared/metadata-types.zod.ts#MetadataFormat (type)", + "MetadataFormatSchema": "src/shared/metadata-types.zod.ts#MetadataFormatSchema (const)", + "MetadataHistoryQueryOptions": "src/system/metadata-persistence.zod.ts#MetadataHistoryQueryOptions (type)", + "MetadataHistoryQueryOptionsParsed": "src/system/metadata-persistence.zod.ts#MetadataHistoryQueryOptionsParsed (type)", + "MetadataHistoryQueryOptionsSchema": "src/system/metadata-persistence.zod.ts#MetadataHistoryQueryOptionsSchema (const)", + "MetadataHistoryQueryResult": "src/system/metadata-persistence.zod.ts#MetadataHistoryQueryResult (type)", + "MetadataHistoryQueryResultSchema": "src/system/metadata-persistence.zod.ts#MetadataHistoryQueryResultSchema (const)", + "MetadataHistoryRecord": "src/system/metadata-persistence.zod.ts#MetadataHistoryRecord (type)", + "MetadataHistoryRecordSchema": "src/system/metadata-persistence.zod.ts#MetadataHistoryRecordSchema (const)", + "MetadataHistoryRetentionPolicy": "src/system/metadata-persistence.zod.ts#MetadataHistoryRetentionPolicy (type)", + "MetadataHistoryRetentionPolicyParsed": "src/system/metadata-persistence.zod.ts#MetadataHistoryRetentionPolicyParsed (type)", + "MetadataHistoryRetentionPolicySchema": "src/system/metadata-persistence.zod.ts#MetadataHistoryRetentionPolicySchema (const)", + "MetadataLoadOptions": "src/system/metadata-persistence.zod.ts#MetadataLoadOptions (type)", + "MetadataLoadOptionsSchema": "src/system/metadata-persistence.zod.ts#MetadataLoadOptionsSchema (const)", + "MetadataLoadResult": "src/system/metadata-persistence.zod.ts#MetadataLoadResult (type)", + "MetadataLoadResultSchema": "src/system/metadata-persistence.zod.ts#MetadataLoadResultSchema (const)", + "MetadataLoaderContract": "src/system/metadata-persistence.zod.ts#MetadataLoaderContract (type)", + "MetadataLoaderContractParsed": "src/system/metadata-persistence.zod.ts#MetadataLoaderContractParsed (type)", + "MetadataLoaderContractSchema": "src/system/metadata-persistence.zod.ts#MetadataLoaderContractSchema (const)", + "MetadataManagerConfig": "src/kernel/metadata-loader.zod.ts#MetadataManagerConfig (type)", + "MetadataManagerConfigSchema": "src/kernel/metadata-loader.zod.ts#MetadataManagerConfigSchema (const)", + "MetadataRecord": "src/system/metadata-persistence.zod.ts#MetadataRecord (type)", + "MetadataRecordParsed": "src/system/metadata-persistence.zod.ts#MetadataRecordParsed (type)", + "MetadataRecordSchema": "src/system/metadata-persistence.zod.ts#MetadataRecordSchema (const)", + "MetadataSaveOptions": "src/system/metadata-persistence.zod.ts#MetadataSaveOptions (type)", + "MetadataSaveOptionsParsed": "src/system/metadata-persistence.zod.ts#MetadataSaveOptionsParsed (type)", + "MetadataSaveOptionsSchema": "src/system/metadata-persistence.zod.ts#MetadataSaveOptionsSchema (const)", + "MetadataSaveResult": "src/system/metadata-persistence.zod.ts#MetadataSaveResult (type)", + "MetadataSaveResultSchema": "src/system/metadata-persistence.zod.ts#MetadataSaveResultSchema (const)", + "MetadataScope": "src/system/metadata-persistence.zod.ts#MetadataScope (type)", + "MetadataScopeSchema": "src/system/metadata-persistence.zod.ts#MetadataScopeSchema (const)", + "MetadataSource": "src/system/metadata-persistence.zod.ts#MetadataSource (type)", + "MetadataSourceSchema": "src/system/metadata-persistence.zod.ts#MetadataSourceSchema (const)", + "MetadataState": "src/system/metadata-persistence.zod.ts#MetadataState (type)", + "MetadataStateSchema": "src/system/metadata-persistence.zod.ts#MetadataStateSchema (const)", + "MetadataStats": "src/system/metadata-persistence.zod.ts#MetadataStats (type)", + "MetadataStatsSchema": "src/system/metadata-persistence.zod.ts#MetadataStatsSchema (const)", + "MetadataWatchEvent": "src/system/metadata-persistence.zod.ts#MetadataWatchEvent (type)", + "MetadataWatchEventSchema": "src/system/metadata-persistence.zod.ts#MetadataWatchEventSchema (const)", + "MetricAggregationConfig": "src/system/metrics.zod.ts#MetricAggregationConfig (type)", + "MetricAggregationConfigParsed": "src/system/metrics.zod.ts#MetricAggregationConfigParsed (type)", + "MetricAggregationConfigSchema": "src/system/metrics.zod.ts#MetricAggregationConfigSchema (const)", + "MetricAggregationType": "src/system/metrics.zod.ts#MetricAggregationType (type)", + "MetricDataPoint": "src/system/metrics.zod.ts#MetricDataPoint (type)", + "MetricDataPointSchema": "src/system/metrics.zod.ts#MetricDataPointSchema (const)", + "MetricDefinition": "src/system/metrics.zod.ts#MetricDefinition (type)", + "MetricDefinitionParsed": "src/system/metrics.zod.ts#MetricDefinitionParsed (type)", + "MetricDefinitionSchema": "src/system/metrics.zod.ts#MetricDefinitionSchema (const)", + "MetricExportConfig": "src/system/metrics.zod.ts#MetricExportConfig (type)", + "MetricExportConfigParsed": "src/system/metrics.zod.ts#MetricExportConfigParsed (type)", + "MetricExportConfigSchema": "src/system/metrics.zod.ts#MetricExportConfigSchema (const)", + "MetricLabels": "src/system/metrics.zod.ts#MetricLabels (type)", + "MetricLabelsSchema": "src/system/metrics.zod.ts#MetricLabelsSchema (const)", + "MetricType": "src/system/metrics.zod.ts#MetricType (type)", + "MetricUnit": "src/system/metrics.zod.ts#MetricUnit (type)", + "MetricsConfig": "src/system/metrics.zod.ts#MetricsConfig (type)", + "MetricsConfigParsed": "src/system/metrics.zod.ts#MetricsConfigParsed (type)", + "MetricsConfigSchema": "src/system/metrics.zod.ts#MetricsConfigSchema (const)", + "MiddlewareConfig": "src/system/http-server.zod.ts#MiddlewareConfig (type)", + "MiddlewareConfigParsed": "src/system/http-server.zod.ts#MiddlewareConfigParsed (type)", + "MiddlewareConfigSchema": "src/system/http-server.zod.ts#MiddlewareConfigSchema (const)", + "MiddlewareType": "src/system/http-server.zod.ts#MiddlewareType (type)", + "MigrationDependency": "src/system/migration.zod.ts#MigrationDependency (type)", + "MigrationDependencySchema": "src/system/migration.zod.ts#MigrationDependencySchema (const)", + "MigrationJournalEvent": "src/system/migration.zod.ts#MigrationJournalEvent (type)", + "MigrationJournalEventSchema": "src/system/migration.zod.ts#MigrationJournalEventSchema (const)", + "MigrationJournalKind": "src/system/migration.zod.ts#MigrationJournalKind (type)", + "MigrationOnCrashPolicy": "src/system/migration.zod.ts#MigrationOnCrashPolicy (type)", + "MigrationOperation": "src/system/migration.zod.ts#MigrationOperation (type)", + "MigrationOperationParsed": "src/system/migration.zod.ts#MigrationOperationParsed (type)", + "MigrationOperationSchema": "src/system/migration.zod.ts#MigrationOperationSchema (const)", + "MigrationPlan": "src/system/deploy-bundle.zod.ts#MigrationPlan (type)", + "MigrationPlanParsed": "src/system/deploy-bundle.zod.ts#MigrationPlanParsed (type)", + "MigrationPlanSchema": "src/system/deploy-bundle.zod.ts#MigrationPlanSchema (const)", + "MigrationStatement": "src/system/deploy-bundle.zod.ts#MigrationStatement (type)", + "MigrationStatementParsed": "src/system/deploy-bundle.zod.ts#MigrationStatementParsed (type)", + "MigrationStatementSchema": "src/system/deploy-bundle.zod.ts#MigrationStatementSchema (const)", + "ModifyFieldOperation": "src/system/migration.zod.ts#ModifyFieldOperation (type)", + "MultipartUploadConfig": "src/system/object-storage.zod.ts#MultipartUploadConfig (type)", + "MultipartUploadConfigParsed": "src/system/object-storage.zod.ts#MultipartUploadConfigParsed (type)", + "MultipartUploadConfigSchema": "src/system/object-storage.zod.ts#MultipartUploadConfigSchema (const)", + "MutualTLSConfig": "src/system/auth-config.zod.ts#MutualTLSConfig (type)", + "MutualTLSConfigParsed": "src/system/auth-config.zod.ts#MutualTLSConfigParsed (type)", + "MutualTLSConfigSchema": "src/system/auth-config.zod.ts#MutualTLSConfigSchema (const)", + "NavNodeLike": "src/system/i18n-resolver.ts#NavNodeLike (interface)", + "NotificationChannel": "src/system/notification.zod.ts#NotificationChannel (type)", + "NotificationChannelSchema": "src/system/notification.zod.ts#NotificationChannelSchema (const)", + "ORSet": "src/system/collaboration.zod.ts#ORSet (type)", + "ORSetElement": "src/system/collaboration.zod.ts#ORSetElement (type)", + "ORSetElementParsed": "src/system/collaboration.zod.ts#ORSetElementParsed (type)", + "ORSetElementSchema": "src/system/collaboration.zod.ts#ORSetElementSchema (const)", + "ORSetParsed": "src/system/collaboration.zod.ts#ORSetParsed (type)", + "ORSetSchema": "src/system/collaboration.zod.ts#ORSetSchema (const)", + "OTComponent": "src/system/collaboration.zod.ts#OTComponent (type)", + "OTComponentSchema": "src/system/collaboration.zod.ts#OTComponentSchema (const)", + "OTOperation": "src/system/collaboration.zod.ts#OTOperation (type)", + "OTOperationSchema": "src/system/collaboration.zod.ts#OTOperationSchema (const)", + "OTOperationType": "src/system/collaboration.zod.ts#OTOperationType (type)", + "OTTransformResult": "src/system/collaboration.zod.ts#OTTransformResult (type)", + "OTTransformResultSchema": "src/system/collaboration.zod.ts#OTTransformResultSchema (const)", + "ObjectFieldLike": "src/system/i18n-resolver.ts#ObjectFieldLike (interface)", + "ObjectLike": "src/system/i18n-resolver.ts#ObjectLike (interface)", + "ObjectMetadata": "src/system/object-storage.zod.ts#ObjectMetadata (type)", + "ObjectMetadataSchema": "src/system/object-storage.zod.ts#ObjectMetadataSchema (const)", + "ObjectStorageConfig": "src/system/object-storage.zod.ts#ObjectStorageConfig (type)", + "ObjectStorageConfigParsed": "src/system/object-storage.zod.ts#ObjectStorageConfigParsed (type)", + "ObjectStorageConfigSchema": "src/system/object-storage.zod.ts#ObjectStorageConfigSchema (const)", + "ObjectTranslationData": "src/system/translation.zod.ts#ObjectTranslationData (type)", + "ObjectTranslationDataSchema": "src/system/translation.zod.ts#ObjectTranslationDataSchema (const)", + "OidcProviderConfig": "src/system/auth-config.zod.ts#OidcProviderConfig (type)", + "OidcProviderConfigSchema": "src/system/auth-config.zod.ts#OidcProviderConfigSchema (const)", + "OidcProvidersConfig": "src/system/auth-config.zod.ts#OidcProvidersConfig (type)", + "OidcProvidersConfigSchema": "src/system/auth-config.zod.ts#OidcProvidersConfigSchema (const)", + "OnceSchedule": "src/system/job.zod.ts#OnceSchedule (type)", + "OnceScheduleSchema": "src/system/job.zod.ts#OnceScheduleSchema (const)", + "OpenTelemetryCompatibility": "src/system/tracing.zod.ts#OpenTelemetryCompatibility (type)", + "OpenTelemetryCompatibilityParsed": "src/system/tracing.zod.ts#OpenTelemetryCompatibilityParsed (type)", + "OpenTelemetryCompatibilitySchema": "src/system/tracing.zod.ts#OpenTelemetryCompatibilitySchema (const)", + "OtelExporterType": "src/system/tracing.zod.ts#OtelExporterType (type)", + "PAGE_COMPONENT_COPY_KEYS": "src/system/i18n-resolver.ts#PAGE_COMPONENT_COPY_KEYS (const)", + "PKG_CONVENTIONS": "src/system/constants/paths.ts#PKG_CONVENTIONS (const)", + "PLATFORM_OBJECTS_BY_PACKAGE": "src/system/constants/platform-object-names.ts#PLATFORM_OBJECTS_BY_PACKAGE (const)", + "PLATFORM_OBJECT_PREFIXES": "src/system/constants/platform-object-names.ts#PLATFORM_OBJECT_PREFIXES (const)", + "PLATFORM_PROVIDED_OBJECT_NAMES": "src/system/constants/platform-object-names.ts#PLATFORM_PROVIDED_OBJECT_NAMES (const)", + "PLATFORM_PROVIDED_TOOL_NAMES": "src/system/constants/platform-tool-names.ts#PLATFORM_PROVIDED_TOOL_NAMES (const)", + "PLATFORM_TOOLS_BY_PACKAGE": "src/system/constants/platform-tool-names.ts#PLATFORM_TOOLS_BY_PACKAGE (const)", + "PLATFORM_TOOL_FAMILY_PREFIXES": "src/system/constants/platform-tool-names.ts#PLATFORM_TOOL_FAMILY_PREFIXES (const)", + "PNCounter": "src/system/collaboration.zod.ts#PNCounter (type)", + "PNCounterSchema": "src/system/collaboration.zod.ts#PNCounterSchema (const)", + "PackageDirectory": "src/system/constants/paths.ts#PackageDirectory (type)", + "PackageFile": "src/system/constants/paths.ts#PackageFile (type)", + "PackagePublishResult": "src/system/metadata-persistence.zod.ts#PackagePublishResult (type)", + "PackagePublishResultSchema": "src/system/metadata-persistence.zod.ts#PackagePublishResultSchema (const)", + "PageComponentCopyKey": "src/system/i18n-resolver.ts#PageComponentCopyKey (type)", + "PageComponentLike": "src/system/i18n-resolver.ts#PageComponentLike (interface)", + "PageLike": "src/system/i18n-resolver.ts#PageLike (interface)", + "PageRegionLike": "src/system/i18n-resolver.ts#PageRegionLike (interface)", + "Plan": "src/system/license.zod.ts#Plan (type)", + "PlanParsed": "src/system/license.zod.ts#PlanParsed (type)", + "PlanSchema": "src/system/license.zod.ts#PlanSchema (const)", + "PresignedUrlConfig": "src/system/object-storage.zod.ts#PresignedUrlConfig (type)", + "PresignedUrlConfigSchema": "src/system/object-storage.zod.ts#PresignedUrlConfigSchema (const)", + "QueueConfig": "src/system/worker.zod.ts#QueueConfig (type)", + "QueueConfigParsed": "src/system/worker.zod.ts#QueueConfigParsed (type)", + "QueueConfigSchema": "src/system/worker.zod.ts#QueueConfigSchema (const)", + "QuotaEnforcementResult": "src/system/tenant.zod.ts#QuotaEnforcementResult (type)", + "QuotaEnforcementResultSchema": "src/system/tenant.zod.ts#QuotaEnforcementResultSchema (const)", + "RPO": "src/system/disaster-recovery.zod.ts#RPO (type)", + "RPOParsed": "src/system/disaster-recovery.zod.ts#RPOParsed (type)", + "RPOSchema": "src/system/disaster-recovery.zod.ts#RPOSchema (const)", + "RTO": "src/system/disaster-recovery.zod.ts#RTO (type)", + "RTOParsed": "src/system/disaster-recovery.zod.ts#RTOParsed (type)", + "RTOSchema": "src/system/disaster-recovery.zod.ts#RTOSchema (const)", + "RegistryConfig": "src/system/registry-config.zod.ts#RegistryConfig (type)", + "RegistryConfigParsed": "src/system/registry-config.zod.ts#RegistryConfigParsed (type)", + "RegistryConfigSchema": "src/system/registry-config.zod.ts#RegistryConfigSchema (const)", + "RegistrySyncPolicy": "src/system/registry-config.zod.ts#RegistrySyncPolicy (type)", + "RegistrySyncPolicySchema": "src/system/registry-config.zod.ts#RegistrySyncPolicySchema (const)", + "RegistryUpstream": "src/system/registry-config.zod.ts#RegistryUpstream (type)", + "RegistryUpstreamParsed": "src/system/registry-config.zod.ts#RegistryUpstreamParsed (type)", + "RegistryUpstreamSchema": "src/system/registry-config.zod.ts#RegistryUpstreamSchema (const)", + "RemoveFieldOperation": "src/system/migration.zod.ts#RemoveFieldOperation (type)", + "RenameObjectOperation": "src/system/migration.zod.ts#RenameObjectOperation (type)", + "RenderValidationMessageInput": "src/system/validation-message.ts#RenderValidationMessageInput (interface)", + "RenderValidationMessageOptions": "src/system/validation-message.ts#RenderValidationMessageOptions (interface)", + "ResolveOptions": "src/system/i18n-resolver.ts#ResolveOptions (interface)", + "ResolvedBook": "src/system/book.zod.ts#ResolvedBook (interface)", + "ResolvedEntry": "src/system/book.zod.ts#ResolvedEntry (interface)", + "ResolvedFieldLabel": "src/system/i18n-resolver.ts#ResolvedFieldLabel (interface)", + "ResolvedGroup": "src/system/book.zod.ts#ResolvedGroup (interface)", + "ResolvedSettingValue": "src/system/settings-manifest.zod.ts#ResolvedSettingValue (type)", + "ResolvedSettingValueSchema": "src/system/settings-manifest.zod.ts#ResolvedSettingValueSchema (const)", + "ResolverDoc": "src/system/book.zod.ts#ResolverDoc (interface)", + "ResultDialogLike": "src/system/i18n-resolver.ts#ResultDialogLike (interface)", + "RetryPolicy": "src/shared/retry-policy.zod.ts#RetryPolicy (type)", + "RetryPolicyParsed": "src/shared/retry-policy.zod.ts#RetryPolicyParsed (type)", + "RetryPolicySchema": "src/shared/retry-policy.zod.ts#RetryPolicySchema (const)", + "RollbackPlan": "src/system/change-management.zod.ts#RollbackPlan (type)", + "RollbackPlanSchema": "src/system/change-management.zod.ts#RollbackPlanSchema (const)", + "RouteHandlerMetadata": "src/system/http-server.zod.ts#RouteHandlerMetadata (type)", + "RouteHandlerMetadataParsed": "src/system/http-server.zod.ts#RouteHandlerMetadataParsed (type)", + "RouteHandlerMetadataSchema": "src/system/http-server.zod.ts#RouteHandlerMetadataSchema (const)", + "RowLevelIsolationStrategy": "src/system/tenant.zod.ts#RowLevelIsolationStrategy (type)", + "RowLevelIsolationStrategyParsed": "src/system/tenant.zod.ts#RowLevelIsolationStrategyParsed (type)", + "RowLevelIsolationStrategySchema": "src/system/tenant.zod.ts#RowLevelIsolationStrategySchema (const)", + "SETTINGS_CHANGE_EVENT": "src/system/settings-client.zod.ts#SETTINGS_CHANGE_EVENT (const)", + "SamplingDecision": "src/system/tracing.zod.ts#SamplingDecision (type)", + "SamplingStrategyType": "src/system/tracing.zod.ts#SamplingStrategyType (type)", + "Schedule": "src/system/job.zod.ts#Schedule (type)", + "ScheduleParsed": "src/system/job.zod.ts#ScheduleParsed (type)", + "ScheduleSchema": "src/system/job.zod.ts#ScheduleSchema (const)", + "SchemaChange": "src/system/deploy-bundle.zod.ts#SchemaChange (type)", + "SchemaChangeSchema": "src/system/deploy-bundle.zod.ts#SchemaChangeSchema (const)", + "SchemaLevelIsolationStrategy": "src/system/tenant.zod.ts#SchemaLevelIsolationStrategy (type)", + "SchemaLevelIsolationStrategyParsed": "src/system/tenant.zod.ts#SchemaLevelIsolationStrategyParsed (type)", + "SchemaLevelIsolationStrategySchema": "src/system/tenant.zod.ts#SchemaLevelIsolationStrategySchema (const)", + "SearchConfig": "src/system/search-engine.zod.ts#SearchConfig (type)", + "SearchConfigParsed": "src/system/search-engine.zod.ts#SearchConfigParsed (type)", + "SearchConfigSchema": "src/system/search-engine.zod.ts#SearchConfigSchema (const)", + "SearchIndexConfig": "src/system/search-engine.zod.ts#SearchIndexConfig (type)", + "SearchIndexConfigParsed": "src/system/search-engine.zod.ts#SearchIndexConfigParsed (type)", + "SearchIndexConfigSchema": "src/system/search-engine.zod.ts#SearchIndexConfigSchema (const)", + "SearchProvider": "src/system/search-engine.zod.ts#SearchProvider (type)", + "SearchProviderSchema": "src/system/search-engine.zod.ts#SearchProviderSchema (const)", + "SecurityContextConfig": "src/system/security-context.zod.ts#SecurityContextConfig (type)", + "SecurityContextConfigParsed": "src/system/security-context.zod.ts#SecurityContextConfigParsed (type)", + "SecurityContextConfigSchema": "src/system/security-context.zod.ts#SecurityContextConfigSchema (const)", + "SecurityEventCorrelation": "src/system/security-context.zod.ts#SecurityEventCorrelation (type)", + "SecurityEventCorrelationParsed": "src/system/security-context.zod.ts#SecurityEventCorrelationParsed (type)", + "SecurityEventCorrelationSchema": "src/system/security-context.zod.ts#SecurityEventCorrelationSchema (const)", + "ServerRateLimitConfig": "src/system/stack-server.zod.ts#ServerRateLimitConfig (type)", + "ServerRateLimitConfigParsed": "src/system/stack-server.zod.ts#ServerRateLimitConfigParsed (type)", + "ServerRateLimitConfigSchema": "src/system/stack-server.zod.ts#ServerRateLimitConfigSchema (const)", + "ServiceConfig": "src/system/core-services.zod.ts#ServiceConfig (type)", + "ServiceConfigSchema": "src/system/core-services.zod.ts#ServiceConfigSchema (const)", + "ServiceCriticality": "src/system/core-services.zod.ts#ServiceCriticality (type)", + "ServiceCriticalitySchema": "src/system/core-services.zod.ts#ServiceCriticalitySchema (const)", + "ServiceLevelIndicator": "src/system/metrics.zod.ts#ServiceLevelIndicator (type)", + "ServiceLevelIndicatorParsed": "src/system/metrics.zod.ts#ServiceLevelIndicatorParsed (type)", + "ServiceLevelIndicatorSchema": "src/system/metrics.zod.ts#ServiceLevelIndicatorSchema (const)", + "ServiceLevelObjective": "src/system/metrics.zod.ts#ServiceLevelObjective (type)", + "ServiceLevelObjectiveParsed": "src/system/metrics.zod.ts#ServiceLevelObjectiveParsed (type)", + "ServiceLevelObjectiveSchema": "src/system/metrics.zod.ts#ServiceLevelObjectiveSchema (const)", + "ServiceRequirementDef": "src/system/core-services.zod.ts#ServiceRequirementDef (const)", + "ServiceStatusSchema": "src/system/core-services.zod.ts#ServiceStatusSchema (const)", + "SettingsActionResult": "src/system/settings-manifest.zod.ts#SettingsActionResult (type)", + "SettingsActionResultSchema": "src/system/settings-manifest.zod.ts#SettingsActionResultSchema (const)", + "SettingsChangeEvent": "src/system/settings-client.zod.ts#SettingsChangeEvent (type)", + "SettingsChangeEventName": "src/system/settings-client.zod.ts#SettingsChangeEventName (type)", + "SettingsChangeEventSchema": "src/system/settings-client.zod.ts#SettingsChangeEventSchema (const)", + "SettingsChangeHandler": "src/system/settings-client.zod.ts#SettingsChangeHandler (type)", + "SettingsManifest": "src/system/settings-manifest.zod.ts#SettingsManifest (type)", + "SettingsManifestParsed": "src/system/settings-manifest.zod.ts#SettingsManifestParsed (type)", + "SettingsManifestSchema": "src/system/settings-manifest.zod.ts#SettingsManifestSchema (const)", + "SettingsNamespacePayload": "src/system/settings-manifest.zod.ts#SettingsNamespacePayload (type)", + "SettingsNamespacePayloadParsed": "src/system/settings-manifest.zod.ts#SettingsNamespacePayloadParsed (type)", + "SettingsNamespacePayloadSchema": "src/system/settings-manifest.zod.ts#SettingsNamespacePayloadSchema (const)", + "SettingsUnsubscribe": "src/system/settings-client.zod.ts#SettingsUnsubscribe (type)", + "Sha256Digest": "src/system/environment-artifact.zod.ts#Sha256Digest (type)", + "Sha256DigestSchema": "src/system/environment-artifact.zod.ts#Sha256DigestSchema (const)", + "SocialProviderConfig": "src/system/auth-config.zod.ts#SocialProviderConfig (type)", + "SocialProviderConfigParsed": "src/system/auth-config.zod.ts#SocialProviderConfigParsed (type)", + "SocialProviderConfigSchema": "src/system/auth-config.zod.ts#SocialProviderConfigSchema (const)", + "Span": "src/system/tracing.zod.ts#Span (type)", + "SpanAttributeValue": "src/system/tracing.zod.ts#SpanAttributeValue (type)", + "SpanAttributeValueSchema": "src/system/tracing.zod.ts#SpanAttributeValueSchema (const)", + "SpanAttributes": "src/system/tracing.zod.ts#SpanAttributes (type)", + "SpanAttributesSchema": "src/system/tracing.zod.ts#SpanAttributesSchema (const)", + "SpanEvent": "src/system/tracing.zod.ts#SpanEvent (type)", + "SpanEventSchema": "src/system/tracing.zod.ts#SpanEventSchema (const)", + "SpanKind": "src/system/tracing.zod.ts#SpanKind (type)", + "SpanLink": "src/system/tracing.zod.ts#SpanLink (type)", + "SpanLinkParsed": "src/system/tracing.zod.ts#SpanLinkParsed (type)", + "SpanLinkSchema": "src/system/tracing.zod.ts#SpanLinkSchema (const)", + "SpanParsed": "src/system/tracing.zod.ts#SpanParsed (type)", + "SpanSchema": "src/system/tracing.zod.ts#SpanSchema (const)", + "SpanStatus": "src/system/tracing.zod.ts#SpanStatus (type)", + "Specifier": "src/system/settings-manifest.zod.ts#Specifier (type)", + "SpecifierHandler": "src/system/settings-manifest.zod.ts#SpecifierHandler (type)", + "SpecifierHandlerParsed": "src/system/settings-manifest.zod.ts#SpecifierHandlerParsed (type)", + "SpecifierHandlerSchema": "src/system/settings-manifest.zod.ts#SpecifierHandlerSchema (const)", + "SpecifierOption": "src/system/settings-manifest.zod.ts#SpecifierOption (type)", + "SpecifierOptionSchema": "src/system/settings-manifest.zod.ts#SpecifierOptionSchema (const)", + "SpecifierParsed": "src/system/settings-manifest.zod.ts#SpecifierParsed (type)", + "SpecifierSchema": "src/system/settings-manifest.zod.ts#SpecifierSchema (const)", + "SpecifierScope": "src/system/settings-manifest.zod.ts#SpecifierScope (type)", + "SpecifierScopeSchema": "src/system/settings-manifest.zod.ts#SpecifierScopeSchema (const)", + "SpecifierType": "src/system/settings-manifest.zod.ts#SpecifierType (type)", + "SpecifierValueDomain": "src/system/settings-manifest.zod.ts#SpecifierValueDomain (type)", + "SpecifierValueDomainSchema": "src/system/settings-manifest.zod.ts#SpecifierValueDomainSchema (const)", + "StackServerConfig": "src/system/stack-server.zod.ts#StackServerConfig (type)", + "StackServerConfigParsed": "src/system/stack-server.zod.ts#StackServerConfigParsed (type)", + "StackServerConfigSchema": "src/system/stack-server.zod.ts#StackServerConfigSchema (const)", + "StackServerSecurity": "src/system/stack-server.zod.ts#StackServerSecurity (type)", + "StackServerSecurityParsed": "src/system/stack-server.zod.ts#StackServerSecurityParsed (type)", + "StackServerSecuritySchema": "src/system/stack-server.zod.ts#StackServerSecuritySchema (const)", + "StorageAcl": "src/system/object-storage.zod.ts#StorageAcl (type)", + "StorageAclSchema": "src/system/object-storage.zod.ts#StorageAclSchema (const)", + "StorageClass": "src/system/object-storage.zod.ts#StorageClass (type)", + "StorageClassSchema": "src/system/object-storage.zod.ts#StorageClassSchema (const)", + "StorageConnection": "src/system/object-storage.zod.ts#StorageConnection (type)", + "StorageConnectionParsed": "src/system/object-storage.zod.ts#StorageConnectionParsed (type)", + "StorageConnectionSchema": "src/system/object-storage.zod.ts#StorageConnectionSchema (const)", + "StorageNameMapping": "src/system/constants/system-names.ts#StorageNameMapping (const)", + "StorageProvider": "src/system/object-storage.zod.ts#StorageProvider (type)", + "StorageProviderSchema": "src/system/object-storage.zod.ts#StorageProviderSchema (const)", + "StorageScope": "src/system/object-storage.zod.ts#StorageScope (type)", + "StorageScopeSchema": "src/system/object-storage.zod.ts#StorageScopeSchema (const)", + "StrictObjectTranslation": "src/system/translation-typegen.ts#StrictObjectTranslation (type)", + "StructuredLogEntry": "src/system/logging.zod.ts#StructuredLogEntry (type)", + "StructuredLogEntrySchema": "src/system/logging.zod.ts#StructuredLogEntrySchema (const)", + "SupplierAssessmentStatus": "src/system/supplier-security.zod.ts#SupplierAssessmentStatus (type)", + "SupplierAssessmentStatusSchema": "src/system/supplier-security.zod.ts#SupplierAssessmentStatusSchema (const)", + "SupplierRiskLevel": "src/system/supplier-security.zod.ts#SupplierRiskLevel (type)", + "SupplierRiskLevelSchema": "src/system/supplier-security.zod.ts#SupplierRiskLevelSchema (const)", + "SupplierSecurityAssessment": "src/system/supplier-security.zod.ts#SupplierSecurityAssessment (type)", + "SupplierSecurityAssessmentParsed": "src/system/supplier-security.zod.ts#SupplierSecurityAssessmentParsed (type)", + "SupplierSecurityAssessmentSchema": "src/system/supplier-security.zod.ts#SupplierSecurityAssessmentSchema (const)", + "SupplierSecurityPolicy": "src/system/supplier-security.zod.ts#SupplierSecurityPolicy (type)", + "SupplierSecurityPolicyParsed": "src/system/supplier-security.zod.ts#SupplierSecurityPolicyParsed (type)", + "SupplierSecurityPolicySchema": "src/system/supplier-security.zod.ts#SupplierSecurityPolicySchema (const)", + "SupplierSecurityRequirement": "src/system/supplier-security.zod.ts#SupplierSecurityRequirement (type)", + "SupplierSecurityRequirementParsed": "src/system/supplier-security.zod.ts#SupplierSecurityRequirementParsed (type)", + "SupplierSecurityRequirementSchema": "src/system/supplier-security.zod.ts#SupplierSecurityRequirementSchema (const)", + "SystemFieldName": "src/system/constants/system-names.ts#SystemFieldName (type)", + "SystemObjectName": "src/system/constants/system-names.ts#SystemObjectName (type)", + "SystemUserId": "src/system/constants/system-names.ts#SystemUserId (type)", + "TASK_PRIORITY_VALUES": "src/system/worker.zod.ts#TASK_PRIORITY_VALUES (const)", + "TRANSLATABLE_METADATA_TYPES": "src/system/i18n-resolver.ts#TRANSLATABLE_METADATA_TYPES (const)", + "TRANSLATE_PLACEHOLDER": "src/system/translation-skeleton.ts#TRANSLATE_PLACEHOLDER (const)", + "Task": "src/system/worker.zod.ts#Task (type)", + "TaskExecutionResult": "src/system/worker.zod.ts#TaskExecutionResult (type)", + "TaskExecutionResultSchema": "src/system/worker.zod.ts#TaskExecutionResultSchema (const)", + "TaskParsed": "src/system/worker.zod.ts#TaskParsed (type)", + "TaskPriority": "src/system/worker.zod.ts#TaskPriority (type)", + "TaskRetryPolicy": "src/system/worker.zod.ts#TaskRetryPolicy (type)", + "TaskRetryPolicyParsed": "src/system/worker.zod.ts#TaskRetryPolicyParsed (type)", + "TaskRetryPolicySchema": "src/system/worker.zod.ts#TaskRetryPolicySchema (const)", + "TaskSchema": "src/system/worker.zod.ts#TaskSchema (const)", + "TaskStatus": "src/system/worker.zod.ts#TaskStatus (type)", + "Tenant": "src/system/tenant.zod.ts#Tenant (type)", + "TenantConnectionConfig": "src/system/tenant.zod.ts#TenantConnectionConfig (type)", + "TenantConnectionConfigSchema": "src/system/tenant.zod.ts#TenantConnectionConfigSchema (const)", + "TenantIsolationConfig": "src/system/tenant.zod.ts#TenantIsolationConfig (type)", + "TenantIsolationConfigParsed": "src/system/tenant.zod.ts#TenantIsolationConfigParsed (type)", + "TenantIsolationConfigSchema": "src/system/tenant.zod.ts#TenantIsolationConfigSchema (const)", + "TenantIsolationLevel": "src/system/tenant.zod.ts#TenantIsolationLevel (type)", + "TenantQuota": "src/system/tenant.zod.ts#TenantQuota (type)", + "TenantQuotaSchema": "src/system/tenant.zod.ts#TenantQuotaSchema (const)", + "TenantSchema": "src/system/tenant.zod.ts#TenantSchema (const)", + "TenantSecurityPolicy": "src/system/tenant.zod.ts#TenantSecurityPolicy (type)", + "TenantSecurityPolicyParsed": "src/system/tenant.zod.ts#TenantSecurityPolicyParsed (type)", + "TenantSecurityPolicySchema": "src/system/tenant.zod.ts#TenantSecurityPolicySchema (const)", + "TenantUsage": "src/system/tenant.zod.ts#TenantUsage (type)", + "TenantUsageParsed": "src/system/tenant.zod.ts#TenantUsageParsed (type)", + "TenantUsageSchema": "src/system/tenant.zod.ts#TenantUsageSchema (const)", + "TextCRDTOperation": "src/system/collaboration.zod.ts#TextCRDTOperation (type)", + "TextCRDTOperationSchema": "src/system/collaboration.zod.ts#TextCRDTOperationSchema (const)", + "TextCRDTState": "src/system/collaboration.zod.ts#TextCRDTState (type)", + "TextCRDTStateSchema": "src/system/collaboration.zod.ts#TextCRDTStateSchema (const)", + "TimeSeries": "src/system/metrics.zod.ts#TimeSeries (type)", + "TimeSeriesDataPoint": "src/system/metrics.zod.ts#TimeSeriesDataPoint (type)", + "TimeSeriesDataPointSchema": "src/system/metrics.zod.ts#TimeSeriesDataPointSchema (const)", + "TimeSeriesSchema": "src/system/metrics.zod.ts#TimeSeriesSchema (const)", + "TopicConfig": "src/system/message-queue.zod.ts#TopicConfig (type)", + "TopicConfigParsed": "src/system/message-queue.zod.ts#TopicConfigParsed (type)", + "TopicConfigSchema": "src/system/message-queue.zod.ts#TopicConfigSchema (const)", + "TraceContext": "src/system/tracing.zod.ts#TraceContext (type)", + "TraceContextParsed": "src/system/tracing.zod.ts#TraceContextParsed (type)", + "TraceContextPropagation": "src/system/tracing.zod.ts#TraceContextPropagation (type)", + "TraceContextPropagationParsed": "src/system/tracing.zod.ts#TraceContextPropagationParsed (type)", + "TraceContextPropagationSchema": "src/system/tracing.zod.ts#TraceContextPropagationSchema (const)", + "TraceContextSchema": "src/system/tracing.zod.ts#TraceContextSchema (const)", + "TraceFlags": "src/system/tracing.zod.ts#TraceFlags (type)", + "TraceFlagsSchema": "src/system/tracing.zod.ts#TraceFlagsSchema (const)", + "TracePropagationFormat": "src/system/tracing.zod.ts#TracePropagationFormat (type)", + "TraceSamplingConfig": "src/system/tracing.zod.ts#TraceSamplingConfig (type)", + "TraceSamplingConfigParsed": "src/system/tracing.zod.ts#TraceSamplingConfigParsed (type)", + "TraceSamplingConfigSchema": "src/system/tracing.zod.ts#TraceSamplingConfigSchema (const)", + "TraceState": "src/system/tracing.zod.ts#TraceState (type)", + "TraceStateSchema": "src/system/tracing.zod.ts#TraceStateSchema (const)", + "TracingConfig": "src/system/tracing.zod.ts#TracingConfig (type)", + "TracingConfigParsed": "src/system/tracing.zod.ts#TracingConfigParsed (type)", + "TracingConfigSchema": "src/system/tracing.zod.ts#TracingConfigSchema (const)", + "TrainingCategory": "src/system/training.zod.ts#TrainingCategory (type)", + "TrainingCategorySchema": "src/system/training.zod.ts#TrainingCategorySchema (const)", + "TrainingCompletionStatus": "src/system/training.zod.ts#TrainingCompletionStatus (type)", + "TrainingCompletionStatusSchema": "src/system/training.zod.ts#TrainingCompletionStatusSchema (const)", + "TrainingCourse": "src/system/training.zod.ts#TrainingCourse (type)", + "TrainingCourseParsed": "src/system/training.zod.ts#TrainingCourseParsed (type)", + "TrainingCourseSchema": "src/system/training.zod.ts#TrainingCourseSchema (const)", + "TrainingPlan": "src/system/training.zod.ts#TrainingPlan (type)", + "TrainingPlanParsed": "src/system/training.zod.ts#TrainingPlanParsed (type)", + "TrainingPlanSchema": "src/system/training.zod.ts#TrainingPlanSchema (const)", + "TrainingRecord": "src/system/training.zod.ts#TrainingRecord (type)", + "TrainingRecordSchema": "src/system/training.zod.ts#TrainingRecordSchema (const)", + "TranslationBundle": "src/system/translation.zod.ts#TranslationBundle (type)", + "TranslationBundleSchema": "src/system/translation.zod.ts#TranslationBundleSchema (const)", + "TranslationConfig": "src/system/translation.zod.ts#TranslationConfig (type)", + "TranslationConfigSchema": "src/system/translation.zod.ts#TranslationConfigSchema (const)", + "TranslationCoverageResult": "src/system/translation.zod.ts#TranslationCoverageResult (type)", + "TranslationCoverageResultSchema": "src/system/translation.zod.ts#TranslationCoverageResultSchema (const)", + "TranslationData": "src/system/translation.zod.ts#TranslationData (type)", + "TranslationDataSchema": "src/system/translation.zod.ts#TranslationDataSchema (const)", + "TranslationDiffItem": "src/system/translation.zod.ts#TranslationDiffItem (type)", + "TranslationDiffItemSchema": "src/system/translation.zod.ts#TranslationDiffItemSchema (const)", + "TranslationDiffStatus": "src/system/translation.zod.ts#TranslationDiffStatus (type)", + "TranslationDiffStatusSchema": "src/system/translation.zod.ts#TranslationDiffStatusSchema (const)", + "TranslationItem": "src/system/translation.zod.ts#TranslationItem (type)", + "TranslationItemSchema": "src/system/translation.zod.ts#TranslationItemSchema (const)", + "UserActivityStatus": "src/system/collaboration.zod.ts#UserActivityStatus (type)", + "VALIDATION_MESSAGE_FALLBACK_LOCALE": "src/system/validation-message.ts#VALIDATION_MESSAGE_FALLBACK_LOCALE (const)", + "VALIDATION_MESSAGE_KEY_PREFIX": "src/system/validation-message.ts#VALIDATION_MESSAGE_KEY_PREFIX (const)", + "VALUE_SHAPES_MIGRATION_ID": "src/system/migration.zod.ts#VALUE_SHAPES_MIGRATION_ID (const)", + "ValidationMessageTranslator": "src/system/validation-message.ts#ValidationMessageTranslator (type)", + "VectorClock": "src/system/collaboration.zod.ts#VectorClock (type)", + "VectorClockSchema": "src/system/collaboration.zod.ts#VectorClockSchema (const)", + "ViewLike": "src/system/i18n-resolver.ts#ViewLike (interface)", + "ViewTabLike": "src/system/i18n-resolver.ts#ViewTabLike (interface)", + "WidgetLike": "src/system/i18n-resolver.ts#WidgetLike (interface)", + "WorkerConfig": "src/system/worker.zod.ts#WorkerConfig (type)", + "WorkerConfigParsed": "src/system/worker.zod.ts#WorkerConfigParsed (type)", + "WorkerConfigSchema": "src/system/worker.zod.ts#WorkerConfigSchema (const)", + "WorkerStats": "src/system/worker.zod.ts#WorkerStats (type)", + "WorkerStatsSchema": "src/system/worker.zod.ts#WorkerStatsSchema (const)", + "audienceAllows": "src/system/book.zod.ts#audienceAllows (function)", + "azureBlobStorageExample": "src/system/object-storage.zod.ts#azureBlobStorageExample (const)", + "defineBook": "src/system/book.zod.ts#defineBook (function)", + "defineEmailTemplateDefinition": "src/system/email-template.zod.ts#defineEmailTemplateDefinition (function)", + "defineJob": "src/system/job.zod.ts#defineJob (function)", + "defineTranslation": "src/system/translation.zod.ts#defineTranslation (function)", + "defineTranslationBundle": "src/system/translation.zod.ts#defineTranslationBundle (function)", + "deriveImplicitPackageBook": "src/system/book.zod.ts#deriveImplicitPackageBook (function)", + "docAudienceAllows": "src/system/book.zod.ts#docAudienceAllows (function)", + "emailTemplateForm": "src/system/email-template.form.ts#emailTemplateForm (const)", + "gcsStorageExample": "src/system/object-storage.zod.ts#gcsStorageExample (const)", + "hasPlatformObjectPrefix": "src/system/constants/platform-object-names.ts#hasPlatformObjectPrefix (function)", + "inProcessServiceMessage": "src/system/core-services.zod.ts#inProcessServiceMessage (function)", + "interpolateValidationMessage": "src/system/validation-message.ts#interpolateValidationMessage (function)", + "isDataMigrationFlagVerified": "src/system/migration.zod.ts#isDataMigrationFlagVerified (function)", + "isPlatformProvidedObjectName": "src/system/constants/platform-object-names.ts#isPlatformProvidedObjectName (function)", + "isPlatformProvidedToolName": "src/system/constants/platform-tool-names.ts#isPlatformProvidedToolName (function)", + "isPublicAudience": "src/system/book.zod.ts#isPublicAudience (function)", + "minioStorageExample": "src/system/object-storage.zod.ts#minioStorageExample (const)", + "objectFieldLabelKey": "src/system/i18n-resolver.ts#objectFieldLabelKey (function)", + "preferredLocaleFromHeader": "src/system/i18n-resolver.ts#preferredLocaleFromHeader (function)", + "renderValidationMessage": "src/system/validation-message.ts#renderValidationMessage (function)", + "resolveActionConfirm": "src/system/i18n-resolver.ts#resolveActionConfirm (function)", + "resolveActionLabel": "src/system/i18n-resolver.ts#resolveActionLabel (function)", + "resolveActionResultDialog": "src/system/i18n-resolver.ts#resolveActionResultDialog (function)", + "resolveActionSuccess": "src/system/i18n-resolver.ts#resolveActionSuccess (function)", + "resolveBookClaimedDocs": "src/system/book.zod.ts#resolveBookClaimedDocs (function)", + "resolveBookTree": "src/system/book.zod.ts#resolveBookTree (function)", + "resolveBundleLocale": "src/system/i18n-resolver.ts#resolveBundleLocale (function)", + "resolveDocAudiences": "src/system/book.zod.ts#resolveDocAudiences (function)", + "resolveDocLocale": "src/system/doc.zod.ts#resolveDocLocale (function)", + "resolveMetadataFormLabels": "src/system/i18n-resolver.ts#resolveMetadataFormLabels (function)", + "resolveMetadataTypeDescription": "src/system/i18n-resolver.ts#resolveMetadataTypeDescription (function)", + "resolveMetadataTypeLabel": "src/system/i18n-resolver.ts#resolveMetadataTypeLabel (function)", + "resolveObjectFieldLabels": "src/system/i18n-resolver.ts#resolveObjectFieldLabels (function)", + "resolveSettingsActionConfirm": "src/system/i18n-resolver.ts#resolveSettingsActionConfirm (function)", + "resolveSettingsActionLabel": "src/system/i18n-resolver.ts#resolveSettingsActionLabel (function)", + "resolveSettingsActionSuccess": "src/system/i18n-resolver.ts#resolveSettingsActionSuccess (function)", + "resolveSettingsDescription": "src/system/i18n-resolver.ts#resolveSettingsDescription (function)", + "resolveSettingsFieldHelp": "src/system/i18n-resolver.ts#resolveSettingsFieldHelp (function)", + "resolveSettingsFieldLabel": "src/system/i18n-resolver.ts#resolveSettingsFieldLabel (function)", + "resolveSettingsFieldPlaceholder": "src/system/i18n-resolver.ts#resolveSettingsFieldPlaceholder (function)", + "resolveSettingsGroupDescription": "src/system/i18n-resolver.ts#resolveSettingsGroupDescription (function)", + "resolveSettingsGroupTitle": "src/system/i18n-resolver.ts#resolveSettingsGroupTitle (function)", + "resolveSettingsOptionLabel": "src/system/i18n-resolver.ts#resolveSettingsOptionLabel (function)", + "resolveSettingsSourceLabel": "src/system/i18n-resolver.ts#resolveSettingsSourceLabel (function)", + "resolveSettingsTitle": "src/system/i18n-resolver.ts#resolveSettingsTitle (function)", + "resolveTabLabel": "src/system/i18n-resolver.ts#resolveTabLabel (function)", + "resolveViewDescription": "src/system/i18n-resolver.ts#resolveViewDescription (function)", + "resolveViewLabel": "src/system/i18n-resolver.ts#resolveViewLabel (function)", + "s3StorageExample": "src/system/object-storage.zod.ts#s3StorageExample (const)", + "serviceUnavailableMessage": "src/system/core-services.zod.ts#serviceUnavailableMessage (function)", + "toLocaleDescriptors": "src/system/i18n-resolver.ts#toLocaleDescriptors (function)", + "translateAction": "src/system/i18n-resolver.ts#translateAction (function)", + "translateApp": "src/system/i18n-resolver.ts#translateApp (function)", + "translateDashboard": "src/system/i18n-resolver.ts#translateDashboard (function)", + "translateMetadataDocument": "src/system/i18n-resolver.ts#translateMetadataDocument (function)", + "translateObject": "src/system/i18n-resolver.ts#translateObject (function)", + "translatePage": "src/system/i18n-resolver.ts#translatePage (function)", + "translateView": "src/system/i18n-resolver.ts#translateView (function)", + "validationMessageTranslationKey": "src/system/validation-message.ts#validationMessageTranslationKey (function)" + } +} diff --git a/packages/spec/export-origins/ui.json b/packages/spec/export-origins/ui.json new file mode 100644 index 0000000000..9f93d415b1 --- /dev/null +++ b/packages/spec/export-origins/ui.json @@ -0,0 +1,406 @@ +{ + "description": "Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec resolves to, after its alias chain is unwound: `# ()`. Two exports share an origin string iff they are the same declaration — so equal origins across two entries are a harmless re-export, and different origins under one name are the #4411 dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin tests, which compare against it instead of each building their own ts.createProgram — that was ~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with `pnpm --filter @objectstack/spec gen:export-origins` and read the diff.", + "entry": "./ui", + "exports": { + "ACTION_LOCATIONS": "src/ui/action.zod.ts#ACTION_LOCATIONS (const)", + "ACTION_PARAM_BUILTIN_KEYS": "src/ui/action-params.zod.ts#ACTION_PARAM_BUILTIN_KEYS (const)", + "AIChatWindowProps": "src/ui/component.zod.ts#AIChatWindowProps (const)", + "Action": "src/ui/action.zod.ts#Action (type)", + "ActionAi": "src/ui/action.zod.ts#ActionAi (type)", + "ActionAiParsed": "src/ui/action.zod.ts#ActionAiParsed (type)", + "ActionAiSchema": "src/ui/action.zod.ts#ActionAiSchema (const)", + "ActionEngineFacade": "src/ui/action-params.zod.ts#ActionEngineFacade (interface)", + "ActionHandler": "src/ui/action-params.zod.ts#ActionHandler (type)", + "ActionHandlerContext": "src/ui/action-params.zod.ts#ActionHandlerContext (interface)", + "ActionLocation": "src/ui/action.zod.ts#ActionLocation (type)", + "ActionLocationSchema": "src/ui/action.zod.ts#ActionLocationSchema (const)", + "ActionNavItem": "src/ui/app.zod.ts#ActionNavItem (type)", + "ActionNavItemParsed": "src/ui/app.zod.ts#ActionNavItemParsed (type)", + "ActionNavItemSchema": "src/ui/app.zod.ts#ActionNavItemSchema (const)", + "ActionParam": "src/ui/action.zod.ts#ActionParam (type)", + "ActionParamIssue": "src/ui/action-params.zod.ts#ActionParamIssue (interface)", + "ActionParamParsed": "src/ui/action.zod.ts#ActionParamParsed (type)", + "ActionParamSchema": "src/ui/action.zod.ts#ActionParamSchema (const)", + "ActionParsed": "src/ui/action.zod.ts#ActionParsed (type)", + "ActionSchema": "src/ui/action.zod.ts#ActionSchema (const)", + "ActionSession": "src/ui/action-params.zod.ts#ActionSession (type)", + "ActionSessionSchema": "src/ui/action-params.zod.ts#ActionSessionSchema (const)", + "ActionType": "src/ui/action.zod.ts#ActionType (type)", + "AddRecordConfig": "src/ui/view.zod.ts#AddRecordConfig (type)", + "AddRecordConfigParsed": "src/ui/view.zod.ts#AddRecordConfigParsed (type)", + "AddRecordConfigSchema": "src/ui/view.zod.ts#AddRecordConfigSchema (const)", + "App": "src/ui/app.zod.ts#App (type)", + "AppBranding": "src/ui/app.zod.ts#AppBranding (type)", + "AppBrandingSchema": "src/ui/app.zod.ts#AppBrandingSchema (const)", + "AppContextSelector": "src/ui/app.zod.ts#AppContextSelector (type)", + "AppContextSelectorParsed": "src/ui/app.zod.ts#AppContextSelectorParsed (type)", + "AppContextSelectorSchema": "src/ui/app.zod.ts#AppContextSelectorSchema (const)", + "AppParsed": "src/ui/app.zod.ts#AppParsed (type)", + "AppSchema": "src/ui/app.zod.ts#AppSchema (const)", + "AppearanceConfig": "src/ui/view.zod.ts#AppearanceConfig (type)", + "AppearanceConfigParsed": "src/ui/view.zod.ts#AppearanceConfigParsed (type)", + "AppearanceConfigSchema": "src/ui/view.zod.ts#AppearanceConfigSchema (const)", + "AriaProps": "src/ui/i18n.zod.ts#AriaProps (type)", + "AriaPropsSchema": "src/ui/i18n.zod.ts#AriaPropsSchema (const)", + "BorderRadius": "src/ui/theme.zod.ts#BorderRadius (type)", + "BorderRadiusSchema": "src/ui/theme.zod.ts#BorderRadiusSchema (const)", + "BreakpointColumnMap": "src/ui/responsive.zod.ts#BreakpointColumnMap (type)", + "BreakpointColumnMapSchema": "src/ui/responsive.zod.ts#BreakpointColumnMapSchema (const)", + "BreakpointName": "src/ui/responsive.zod.ts#BreakpointName (type)", + "BreakpointOrderMap": "src/ui/responsive.zod.ts#BreakpointOrderMap (type)", + "BreakpointOrderMapSchema": "src/ui/responsive.zod.ts#BreakpointOrderMapSchema (const)", + "BulkActionDef": "src/ui/bulk-action.zod.ts#BulkActionDef (type)", + "BulkActionDefParsed": "src/ui/bulk-action.zod.ts#BulkActionDefParsed (type)", + "BulkActionDefSchema": "src/ui/bulk-action.zod.ts#BulkActionDefSchema (const)", + "BulkActionExecution": "src/ui/bulk-action.zod.ts#BulkActionExecution (type)", + "BulkActionExecutionSchema": "src/ui/bulk-action.zod.ts#BulkActionExecutionSchema (const)", + "BulkActionOperation": "src/ui/bulk-action.zod.ts#BulkActionOperation (type)", + "BulkActionOperationSchema": "src/ui/bulk-action.zod.ts#BulkActionOperationSchema (const)", + "BulkActionParam": "src/ui/bulk-action.zod.ts#BulkActionParam (type)", + "BulkActionParamSchema": "src/ui/bulk-action.zod.ts#BulkActionParamSchema (const)", + "CHART_AGGREGATE_COMPARISON_SUFFIX": "src/ui/chart-aggregate.ts#CHART_AGGREGATE_COMPARISON_SUFFIX (const)", + "CalendarConfig": "src/ui/view.zod.ts#CalendarConfig (type)", + "CalendarConfigSchema": "src/ui/view.zod.ts#CalendarConfigSchema (const)", + "ChartAggregate": "src/ui/chart.zod.ts#ChartAggregate (type)", + "ChartAggregateFunction": "src/ui/chart.zod.ts#ChartAggregateFunction (type)", + "ChartAggregateFunctionSchema": "src/ui/chart.zod.ts#ChartAggregateFunctionSchema (const)", + "ChartAggregateLike": "src/ui/chart-aggregate.ts#ChartAggregateLike (interface)", + "ChartAggregateSchema": "src/ui/chart.zod.ts#ChartAggregateSchema (const)", + "ChartAnnotation": "src/ui/chart.zod.ts#ChartAnnotation (type)", + "ChartAnnotationParsed": "src/ui/chart.zod.ts#ChartAnnotationParsed (type)", + "ChartAnnotationSchema": "src/ui/chart.zod.ts#ChartAnnotationSchema (const)", + "ChartAxis": "src/ui/chart.zod.ts#ChartAxis (type)", + "ChartAxisParsed": "src/ui/chart.zod.ts#ChartAxisParsed (type)", + "ChartAxisSchema": "src/ui/chart.zod.ts#ChartAxisSchema (const)", + "ChartConfig": "src/ui/chart.zod.ts#ChartConfig (type)", + "ChartConfigParsed": "src/ui/chart.zod.ts#ChartConfigParsed (type)", + "ChartConfigSchema": "src/ui/chart.zod.ts#ChartConfigSchema (const)", + "ChartDrillDown": "src/ui/chart.zod.ts#ChartDrillDown (type)", + "ChartDrillDownSchema": "src/ui/chart.zod.ts#ChartDrillDownSchema (const)", + "ChartGroupBy": "src/ui/chart.zod.ts#ChartGroupBy (type)", + "ChartGroupBySchema": "src/ui/chart.zod.ts#ChartGroupBySchema (const)", + "ChartInteraction": "src/ui/chart.zod.ts#ChartInteraction (type)", + "ChartInteractionParsed": "src/ui/chart.zod.ts#ChartInteractionParsed (type)", + "ChartInteractionSchema": "src/ui/chart.zod.ts#ChartInteractionSchema (const)", + "ChartSeries": "src/ui/chart.zod.ts#ChartSeries (type)", + "ChartSeriesParsed": "src/ui/chart.zod.ts#ChartSeriesParsed (type)", + "ChartSeriesSchema": "src/ui/chart.zod.ts#ChartSeriesSchema (const)", + "ChartType": "src/ui/chart.zod.ts#ChartType (type)", + "ChartTypeSchema": "src/ui/chart.zod.ts#ChartTypeSchema (const)", + "ColorPalette": "src/ui/theme.zod.ts#ColorPalette (type)", + "ColorPaletteSchema": "src/ui/theme.zod.ts#ColorPaletteSchema (const)", + "ColumnPrefix": "src/ui/view.zod.ts#ColumnPrefix (type)", + "ColumnPrefixParsed": "src/ui/view.zod.ts#ColumnPrefixParsed (type)", + "ColumnPrefixSchema": "src/ui/view.zod.ts#ColumnPrefixSchema (const)", + "ColumnSummary": "src/ui/view.zod.ts#ColumnSummary (type)", + "ColumnSummaryConfig": "src/ui/view.zod.ts#ColumnSummaryConfig (type)", + "ColumnSummaryConfigSchema": "src/ui/view.zod.ts#ColumnSummaryConfigSchema (const)", + "ColumnSummarySchema": "src/ui/view.zod.ts#ColumnSummarySchema (const)", + "ComponentNavItem": "src/ui/app.zod.ts#ComponentNavItem (type)", + "ComponentNavItemParsed": "src/ui/app.zod.ts#ComponentNavItemParsed (type)", + "ComponentNavItemSchema": "src/ui/app.zod.ts#ComponentNavItemSchema (const)", + "ComponentProps": "src/ui/component.zod.ts#ComponentProps (type)", + "ComponentPropsInput": "src/ui/component.zod.ts#ComponentPropsInput (type)", + "ComponentPropsMap": "src/ui/component.zod.ts#ComponentPropsMap (const)", + "DATE_RANGE_DEFAULT_RANGES": "src/ui/dashboard.zod.ts#DATE_RANGE_DEFAULT_RANGES (const)", + "DATE_RANGE_PRESETS": "src/ui/dashboard.zod.ts#DATE_RANGE_PRESETS (const)", + "Dashboard": "src/ui/dashboard.zod.ts#Dashboard (type)", + "DashboardHeader": "src/ui/dashboard.zod.ts#DashboardHeader (type)", + "DashboardHeaderAction": "src/ui/dashboard.zod.ts#DashboardHeaderAction (type)", + "DashboardHeaderActionSchema": "src/ui/dashboard.zod.ts#DashboardHeaderActionSchema (const)", + "DashboardHeaderParsed": "src/ui/dashboard.zod.ts#DashboardHeaderParsed (type)", + "DashboardHeaderSchema": "src/ui/dashboard.zod.ts#DashboardHeaderSchema (const)", + "DashboardNavItem": "src/ui/app.zod.ts#DashboardNavItem (type)", + "DashboardNavItemParsed": "src/ui/app.zod.ts#DashboardNavItemParsed (type)", + "DashboardNavItemSchema": "src/ui/app.zod.ts#DashboardNavItemSchema (const)", + "DashboardParsed": "src/ui/dashboard.zod.ts#DashboardParsed (type)", + "DashboardSchema": "src/ui/dashboard.zod.ts#DashboardSchema (const)", + "DashboardWidget": "src/ui/dashboard.zod.ts#DashboardWidget (type)", + "DashboardWidgetOptions": "src/ui/dashboard.zod.ts#DashboardWidgetOptions (type)", + "DashboardWidgetOptionsSchema": "src/ui/dashboard.zod.ts#DashboardWidgetOptionsSchema (const)", + "DashboardWidgetParsed": "src/ui/dashboard.zod.ts#DashboardWidgetParsed (type)", + "DashboardWidgetSchema": "src/ui/dashboard.zod.ts#DashboardWidgetSchema (const)", + "Dataset": "src/ui/dataset.zod.ts#Dataset (type)", + "DatasetDimension": "src/ui/dataset.zod.ts#DatasetDimension (type)", + "DatasetDimensionSchema": "src/ui/dataset.zod.ts#DatasetDimensionSchema (const)", + "DatasetMeasure": "src/ui/dataset.zod.ts#DatasetMeasure (type)", + "DatasetMeasureSchema": "src/ui/dataset.zod.ts#DatasetMeasureSchema (const)", + "DatasetSchema": "src/ui/dataset.zod.ts#DatasetSchema (const)", + "DateRangeDefaultRange": "src/ui/dashboard.zod.ts#DateRangeDefaultRange (type)", + "DateRangePreset": "src/ui/dashboard.zod.ts#DateRangePreset (type)", + "DerivedMeasureOp": "src/ui/dataset.zod.ts#DerivedMeasureOp (const)", + "DerivedMeasureOpValue": "src/ui/dataset.zod.ts#DerivedMeasureOpValue (type)", + "ElementButtonPropsSchema": "src/ui/component.zod.ts#ElementButtonPropsSchema (const)", + "ElementDataSource": "src/ui/page.zod.ts#ElementDataSource (type)", + "ElementDataSourceSchema": "src/ui/page.zod.ts#ElementDataSourceSchema (const)", + "ElementFilterPropsSchema": "src/ui/component.zod.ts#ElementFilterPropsSchema (const)", + "ElementFormPropsSchema": "src/ui/component.zod.ts#ElementFormPropsSchema (const)", + "ElementImagePropsSchema": "src/ui/component.zod.ts#ElementImagePropsSchema (const)", + "ElementMetadataViewerPropsSchema": "src/ui/component.zod.ts#ElementMetadataViewerPropsSchema (const)", + "ElementNumberProps": "src/ui/component.zod.ts#ElementNumberProps (type)", + "ElementNumberPropsSchema": "src/ui/component.zod.ts#ElementNumberPropsSchema (const)", + "ElementRecordPickerProps": "src/ui/component.zod.ts#ElementRecordPickerProps (type)", + "ElementRecordPickerPropsSchema": "src/ui/component.zod.ts#ElementRecordPickerPropsSchema (const)", + "ElementTextInputPropsSchema": "src/ui/component.zod.ts#ElementTextInputPropsSchema (const)", + "ElementTextPropsSchema": "src/ui/component.zod.ts#ElementTextPropsSchema (const)", + "ExpandViewResult": "src/ui/view.zod.ts#ExpandViewResult (interface)", + "ExpandedViewItem": "src/ui/view.zod.ts#ExpandedViewItem (interface)", + "FieldWidgetProps": "src/ui/widget.zod.ts#FieldWidgetProps (type)", + "FieldWidgetPropsParsed": "src/ui/widget.zod.ts#FieldWidgetPropsParsed (type)", + "FieldWidgetPropsSchema": "src/ui/widget.zod.ts#FieldWidgetPropsSchema (const)", + "FormButtonConfig": "src/ui/view.zod.ts#FormButtonConfig (type)", + "FormButtonConfigSchema": "src/ui/view.zod.ts#FormButtonConfigSchema (const)", + "FormField": "src/ui/view.zod.ts#FormField (type)", + "FormFieldInput": "src/ui/view.zod.ts#FormFieldInput (type)", + "FormFieldSchema": "src/ui/view.zod.ts#FormFieldSchema (const)", + "FormSection": "src/ui/view.zod.ts#FormSection (type)", + "FormSectionParsed": "src/ui/view.zod.ts#FormSectionParsed (type)", + "FormSectionSchema": "src/ui/view.zod.ts#FormSectionSchema (const)", + "FormView": "src/ui/view.zod.ts#FormView (type)", + "FormViewParsed": "src/ui/view.zod.ts#FormViewParsed (type)", + "FormViewSchema": "src/ui/view.zod.ts#FormViewSchema (const)", + "GalleryConfig": "src/ui/view.zod.ts#GalleryConfig (type)", + "GalleryConfigParsed": "src/ui/view.zod.ts#GalleryConfigParsed (type)", + "GalleryConfigSchema": "src/ui/view.zod.ts#GalleryConfigSchema (const)", + "GanttConfig": "src/ui/view.zod.ts#GanttConfig (type)", + "GanttConfigSchema": "src/ui/view.zod.ts#GanttConfigSchema (const)", + "GanttQuickFilter": "src/ui/view.zod.ts#GanttQuickFilter (type)", + "GanttQuickFilterSchema": "src/ui/view.zod.ts#GanttQuickFilterSchema (const)", + "GlobalFilter": "src/ui/dashboard.zod.ts#GlobalFilter (type)", + "GlobalFilterOptionsFrom": "src/ui/dashboard.zod.ts#GlobalFilterOptionsFrom (type)", + "GlobalFilterOptionsFromSchema": "src/ui/dashboard.zod.ts#GlobalFilterOptionsFromSchema (const)", + "GlobalFilterParsed": "src/ui/dashboard.zod.ts#GlobalFilterParsed (type)", + "GlobalFilterSchema": "src/ui/dashboard.zod.ts#GlobalFilterSchema (const)", + "GroupNavItem": "src/ui/app.zod.ts#GroupNavItem (type)", + "GroupNavItemSchema": "src/ui/app.zod.ts#GroupNavItemSchema (const)", + "GroupingConfig": "src/ui/view.zod.ts#GroupingConfig (type)", + "GroupingConfigParsed": "src/ui/view.zod.ts#GroupingConfigParsed (type)", + "GroupingConfigSchema": "src/ui/view.zod.ts#GroupingConfigSchema (const)", + "GroupingFieldSchema": "src/ui/view.zod.ts#GroupingFieldSchema (const)", + "HttpMethodSubset": "src/shared/http.zod.ts#HttpMethodSubset (type)", + "HttpMethodSubsetSchema": "src/shared/http.zod.ts#HttpMethodSubsetSchema (const)", + "HttpRequest": "src/shared/http.zod.ts#HttpRequest (type)", + "HttpRequestSchema": "src/shared/http.zod.ts#HttpRequestSchema (const)", + "I18nLabel": "src/ui/i18n.zod.ts#I18nLabel (type)", + "I18nLabelSchema": "src/ui/i18n.zod.ts#I18nLabelSchema (const)", + "InlineAction": "src/ui/action.zod.ts#InlineAction (type)", + "InlineActionParsed": "src/ui/action.zod.ts#InlineActionParsed (type)", + "InlineActionSchema": "src/ui/action.zod.ts#InlineActionSchema (const)", + "InlineLocaleMap": "src/ui/i18n.zod.ts#InlineLocaleMap (type)", + "InlineLocaleMapSchema": "src/ui/i18n.zod.ts#InlineLocaleMapSchema (const)", + "InterfacePageConfig": "src/ui/page.zod.ts#InterfacePageConfig (type)", + "InterfacePageConfigParsed": "src/ui/page.zod.ts#InterfacePageConfigParsed (type)", + "InterfacePageConfigSchema": "src/ui/page.zod.ts#InterfacePageConfigSchema (const)", + "JoinedReportBlock": "src/ui/report.zod.ts#JoinedReportBlock (type)", + "JoinedReportBlockSchema": "src/ui/report.zod.ts#JoinedReportBlockSchema (const)", + "KanbanConfig": "src/ui/view.zod.ts#KanbanConfig (type)", + "KanbanConfigSchema": "src/ui/view.zod.ts#KanbanConfigSchema (const)", + "ListChartConfig": "src/ui/view.zod.ts#ListChartConfig (type)", + "ListChartConfigParsed": "src/ui/view.zod.ts#ListChartConfigParsed (type)", + "ListChartConfigSchema": "src/ui/view.zod.ts#ListChartConfigSchema (const)", + "ListColumn": "src/ui/view.zod.ts#ListColumn (type)", + "ListColumnParsed": "src/ui/view.zod.ts#ListColumnParsed (type)", + "ListColumnSchema": "src/ui/view.zod.ts#ListColumnSchema (const)", + "ListView": "src/ui/view.zod.ts#ListView (type)", + "ListViewParsed": "src/ui/view.zod.ts#ListViewParsed (type)", + "ListViewSchema": "src/ui/view.zod.ts#ListViewSchema (const)", + "NavigationArea": "src/ui/app.zod.ts#NavigationArea (type)", + "NavigationAreaParsed": "src/ui/app.zod.ts#NavigationAreaParsed (type)", + "NavigationAreaSchema": "src/ui/app.zod.ts#NavigationAreaSchema (const)", + "NavigationConfig": "src/ui/view.zod.ts#NavigationConfig (type)", + "NavigationConfigParsed": "src/ui/view.zod.ts#NavigationConfigParsed (type)", + "NavigationConfigSchema": "src/ui/view.zod.ts#NavigationConfigSchema (const)", + "NavigationContribution": "src/ui/app.zod.ts#NavigationContribution (type)", + "NavigationContributionParsed": "src/ui/app.zod.ts#NavigationContributionParsed (type)", + "NavigationContributionSchema": "src/ui/app.zod.ts#NavigationContributionSchema (const)", + "NavigationItem": "src/ui/app.zod.ts#NavigationItem (type)", + "NavigationItemInput": "src/ui/app.zod.ts#NavigationItemInput (type)", + "NavigationItemSchema": "src/ui/app.zod.ts#NavigationItemSchema (const)", + "NavigationMode": "src/ui/view.zod.ts#NavigationMode (type)", + "NavigationModeSchema": "src/ui/view.zod.ts#NavigationModeSchema (const)", + "NotificationPosition": "src/ui/notification.zod.ts#NotificationPosition (type)", + "NotificationPositionSchema": "src/ui/notification.zod.ts#NotificationPositionSchema (const)", + "NotificationSeverity": "src/ui/notification.zod.ts#NotificationSeverity (type)", + "NotificationSeveritySchema": "src/ui/notification.zod.ts#NotificationSeveritySchema (const)", + "NotificationType": "src/ui/notification.zod.ts#NotificationType (type)", + "NotificationTypeSchema": "src/ui/notification.zod.ts#NotificationTypeSchema (const)", + "ObjectListViewSchema": "src/ui/view.zod.ts#ObjectListViewSchema (const)", + "ObjectNavItem": "src/ui/app.zod.ts#ObjectNavItem (type)", + "ObjectNavItemParsed": "src/ui/app.zod.ts#ObjectNavItemParsed (type)", + "ObjectNavItemSchema": "src/ui/app.zod.ts#ObjectNavItemSchema (const)", + "ObjectUserFiltersSchema": "src/ui/view.zod.ts#ObjectUserFiltersSchema (const)", + "PAGE_TYPE_ROADMAP": "src/ui/page.zod.ts#PAGE_TYPE_ROADMAP (const)", + "Page": "src/ui/page.zod.ts#Page (type)", + "PageAccordionProps": "src/ui/component.zod.ts#PageAccordionProps (const)", + "PageCardProps": "src/ui/component.zod.ts#PageCardProps (const)", + "PageComponent": "src/ui/page.zod.ts#PageComponent (type)", + "PageComponentParsed": "src/ui/page.zod.ts#PageComponentParsed (type)", + "PageComponentSchema": "src/ui/page.zod.ts#PageComponentSchema (const)", + "PageComponentType": "src/ui/page.zod.ts#PageComponentType (type)", + "PageContainerProps": "src/ui/component.zod.ts#PageContainerProps (type)", + "PageHeaderProps": "src/ui/component.zod.ts#PageHeaderProps (const)", + "PageNavItem": "src/ui/app.zod.ts#PageNavItem (type)", + "PageNavItemParsed": "src/ui/app.zod.ts#PageNavItemParsed (type)", + "PageNavItemSchema": "src/ui/app.zod.ts#PageNavItemSchema (const)", + "PageParsed": "src/ui/page.zod.ts#PageParsed (type)", + "PageRegion": "src/ui/page.zod.ts#PageRegion (type)", + "PageRegionParsed": "src/ui/page.zod.ts#PageRegionParsed (type)", + "PageRegionSchema": "src/ui/page.zod.ts#PageRegionSchema (const)", + "PageSchema": "src/ui/page.zod.ts#PageSchema (const)", + "PageTabsProps": "src/ui/component.zod.ts#PageTabsProps (const)", + "PageType": "src/ui/page.zod.ts#PageType (type)", + "PageTypeSchema": "src/ui/page.zod.ts#PageTypeSchema (const)", + "PageVariable": "src/ui/page.zod.ts#PageVariable (type)", + "PageVariableParsed": "src/ui/page.zod.ts#PageVariableParsed (type)", + "PageVariableSchema": "src/ui/page.zod.ts#PageVariableSchema (const)", + "PaginationConfig": "src/ui/view.zod.ts#PaginationConfig (type)", + "PaginationConfigParsed": "src/ui/view.zod.ts#PaginationConfigParsed (type)", + "PaginationConfigSchema": "src/ui/view.zod.ts#PaginationConfigSchema (const)", + "REACT_BLOCKS": "src/ui/react-blocks.ts#REACT_BLOCKS (const)", + "REACT_OVERLAY_SHADOWS": "src/ui/react-blocks.ts#REACT_OVERLAY_SHADOWS (const)", + "REACT_RECORD_BLOCK_ALTERNATIVES": "src/ui/react-blocks.ts#REACT_RECORD_BLOCK_ALTERNATIVES (const)", + "RECORD_CONTEXT_BLOCK_TAGS": "src/ui/react-blocks.ts#RECORD_CONTEXT_BLOCK_TAGS (const)", + "RECORD_CONTEXT_TYPE_PREFIX": "src/ui/react-blocks.ts#RECORD_CONTEXT_TYPE_PREFIX (const)", + "ReactBlockDef": "src/ui/react-blocks.ts#ReactBlockDef (interface)", + "ReactInteractionProp": "src/ui/react-blocks.ts#ReactInteractionProp (interface)", + "ReactPropKind": "src/ui/react-blocks.ts#ReactPropKind (type)", + "RecordActivityProps": "src/ui/component.zod.ts#RecordActivityProps (const)", + "RecordChatterProps": "src/ui/component.zod.ts#RecordChatterProps (const)", + "RecordDetailsProps": "src/ui/component.zod.ts#RecordDetailsProps (const)", + "RecordHighlightsField": "src/ui/component.zod.ts#RecordHighlightsField (type)", + "RecordHighlightsProps": "src/ui/component.zod.ts#RecordHighlightsProps (const)", + "RecordPathProps": "src/ui/component.zod.ts#RecordPathProps (type)", + "RecordRelatedListProps": "src/ui/component.zod.ts#RecordRelatedListProps (const)", + "Report": "src/ui/report.zod.ts#Report (type)", + "ReportChart": "src/ui/report.zod.ts#ReportChart (type)", + "ReportChartParsed": "src/ui/report.zod.ts#ReportChartParsed (type)", + "ReportChartSchema": "src/ui/report.zod.ts#ReportChartSchema (const)", + "ReportNavItem": "src/ui/app.zod.ts#ReportNavItem (type)", + "ReportNavItemParsed": "src/ui/app.zod.ts#ReportNavItemParsed (type)", + "ReportNavItemSchema": "src/ui/app.zod.ts#ReportNavItemSchema (const)", + "ReportParsed": "src/ui/report.zod.ts#ReportParsed (type)", + "ReportSchema": "src/ui/report.zod.ts#ReportSchema (const)", + "ReportSort": "src/ui/report.zod.ts#ReportSort (type)", + "ReportSortParsed": "src/ui/report.zod.ts#ReportSortParsed (type)", + "ReportSortSchema": "src/ui/report.zod.ts#ReportSortSchema (const)", + "ReportType": "src/ui/report.zod.ts#ReportType (type)", + "ResolvedActionParam": "src/ui/action-params.zod.ts#ResolvedActionParam (interface)", + "ResponsiveConfig": "src/ui/responsive.zod.ts#ResponsiveConfig (type)", + "ResponsiveConfigSchema": "src/ui/responsive.zod.ts#ResponsiveConfigSchema (const)", + "ResponsiveStyles": "src/ui/responsive.zod.ts#ResponsiveStyles (type)", + "ResponsiveStylesSchema": "src/ui/responsive.zod.ts#ResponsiveStylesSchema (const)", + "RowColorConfig": "src/ui/view.zod.ts#RowColorConfig (type)", + "RowColorConfigSchema": "src/ui/view.zod.ts#RowColorConfigSchema (const)", + "RowHeight": "src/ui/view.zod.ts#RowHeight (type)", + "RowHeightSchema": "src/ui/view.zod.ts#RowHeightSchema (const)", + "SelectionConfig": "src/ui/view.zod.ts#SelectionConfig (type)", + "SelectionConfigParsed": "src/ui/view.zod.ts#SelectionConfigParsed (type)", + "SelectionConfigSchema": "src/ui/view.zod.ts#SelectionConfigSchema (const)", + "Shadow": "src/ui/theme.zod.ts#Shadow (type)", + "ShadowSchema": "src/ui/theme.zod.ts#ShadowSchema (const)", + "SharingConfig": "src/ui/sharing.zod.ts#SharingConfig (type)", + "SharingConfigParsed": "src/ui/sharing.zod.ts#SharingConfigParsed (type)", + "SharingConfigSchema": "src/ui/sharing.zod.ts#SharingConfigSchema (const)", + "StyleMap": "src/ui/responsive.zod.ts#StyleMap (type)", + "StyleMapSchema": "src/ui/responsive.zod.ts#StyleMapSchema (const)", + "Theme": "src/ui/theme.zod.ts#Theme (type)", + "ThemeMode": "src/ui/theme.zod.ts#ThemeMode (type)", + "ThemeModeSchema": "src/ui/theme.zod.ts#ThemeModeSchema (const)", + "ThemeParsed": "src/ui/theme.zod.ts#ThemeParsed (type)", + "ThemeSchema": "src/ui/theme.zod.ts#ThemeSchema (const)", + "TimelineConfig": "src/ui/view.zod.ts#TimelineConfig (type)", + "TimelineConfigParsed": "src/ui/view.zod.ts#TimelineConfigParsed (type)", + "TimelineConfigSchema": "src/ui/view.zod.ts#TimelineConfigSchema (const)", + "TreeConfig": "src/ui/view.zod.ts#TreeConfig (type)", + "TreeConfigSchema": "src/ui/view.zod.ts#TreeConfigSchema (const)", + "Typography": "src/ui/theme.zod.ts#Typography (type)", + "TypographySchema": "src/ui/theme.zod.ts#TypographySchema (const)", + "UrlNavItem": "src/ui/app.zod.ts#UrlNavItem (type)", + "UrlNavItemParsed": "src/ui/app.zod.ts#UrlNavItemParsed (type)", + "UrlNavItemSchema": "src/ui/app.zod.ts#UrlNavItemSchema (const)", + "UserActionsConfig": "src/ui/view.zod.ts#UserActionsConfig (type)", + "UserActionsConfigParsed": "src/ui/view.zod.ts#UserActionsConfigParsed (type)", + "UserActionsConfigSchema": "src/ui/view.zod.ts#UserActionsConfigSchema (const)", + "UserFilterField": "src/ui/view.zod.ts#UserFilterField (type)", + "UserFilterFieldSchema": "src/ui/view.zod.ts#UserFilterFieldSchema (const)", + "UserFilters": "src/ui/view.zod.ts#UserFilters (type)", + "UserFiltersParsed": "src/ui/view.zod.ts#UserFiltersParsed (type)", + "UserFiltersSchema": "src/ui/view.zod.ts#UserFiltersSchema (const)", + "VIEW_CONSOLE_ROW_DECORATIONS": "src/ui/view.zod.ts#VIEW_CONSOLE_ROW_DECORATIONS (const)", + "VIEW_FILTER_OPERATORS": "src/ui/view.zod.ts#VIEW_FILTER_OPERATORS (const)", + "VIEW_FILTER_OPERATOR_ALIASES": "src/ui/view.zod.ts#VIEW_FILTER_OPERATOR_ALIASES (const)", + "VIEW_METADATA_BRANCHES": "src/ui/view.zod.ts#VIEW_METADATA_BRANCHES (const)", + "VIEW_METADATA_MEMBERS": "src/ui/view.zod.ts#VIEW_METADATA_MEMBERS (const)", + "VIEW_WRITE_PATH_IDENTITY_KEYS": "src/ui/view.zod.ts#VIEW_WRITE_PATH_IDENTITY_KEYS (const)", + "View": "src/ui/view.zod.ts#View (type)", + "ViewData": "src/ui/view.zod.ts#ViewData (type)", + "ViewDataParsed": "src/ui/view.zod.ts#ViewDataParsed (type)", + "ViewDataSchema": "src/ui/view.zod.ts#ViewDataSchema (const)", + "ViewFilterOperator": "src/ui/view.zod.ts#ViewFilterOperator (type)", + "ViewFilterRule": "src/ui/view.zod.ts#ViewFilterRule (type)", + "ViewFilterRuleParsed": "src/ui/view.zod.ts#ViewFilterRuleParsed (type)", + "ViewFilterRuleSchema": "src/ui/view.zod.ts#ViewFilterRuleSchema (const)", + "ViewItem": "src/ui/view.zod.ts#ViewItem (type)", + "ViewItemName": "src/ui/view.zod.ts#ViewItemName (type)", + "ViewItemNameSchema": "src/ui/view.zod.ts#ViewItemNameSchema (const)", + "ViewItemSchema": "src/ui/view.zod.ts#ViewItemSchema (const)", + "ViewItemWire": "src/ui/view.zod.ts#ViewItemWire (type)", + "ViewItemWireSchema": "src/ui/view.zod.ts#ViewItemWireSchema (const)", + "ViewKeyCollision": "src/ui/view.zod.ts#ViewKeyCollision (interface)", + "ViewKind": "src/ui/view.zod.ts#ViewKind (type)", + "ViewKindSchema": "src/ui/view.zod.ts#ViewKindSchema (const)", + "ViewMetadata": "src/ui/view.zod.ts#ViewMetadata (type)", + "ViewMetadataBranch": "src/ui/view.zod.ts#ViewMetadataBranch (type)", + "ViewMetadataDiagnosis": "src/ui/view.zod.ts#ViewMetadataDiagnosis (type)", + "ViewMetadataParsed": "src/ui/view.zod.ts#ViewMetadataParsed (type)", + "ViewMetadataSchema": "src/ui/view.zod.ts#ViewMetadataSchema (const)", + "ViewParsed": "src/ui/view.zod.ts#ViewParsed (type)", + "ViewSchema": "src/ui/view.zod.ts#ViewSchema (const)", + "ViewScope": "src/ui/view.zod.ts#ViewScope (type)", + "ViewScopeSchema": "src/ui/view.zod.ts#ViewScopeSchema (const)", + "ViewSharing": "src/ui/view.zod.ts#ViewSharing (type)", + "ViewSharingParsed": "src/ui/view.zod.ts#ViewSharingParsed (type)", + "ViewSharingSchema": "src/ui/view.zod.ts#ViewSharingSchema (const)", + "ViewTab": "src/ui/view.zod.ts#ViewTab (type)", + "ViewTabParsed": "src/ui/view.zod.ts#ViewTabParsed (type)", + "ViewTabSchema": "src/ui/view.zod.ts#ViewTabSchema (const)", + "VisualizationType": "src/ui/view.zod.ts#VisualizationType (type)", + "VisualizationTypeSchema": "src/ui/view.zod.ts#VisualizationTypeSchema (const)", + "WidgetActionType": "src/ui/dashboard.zod.ts#WidgetActionType (type)", + "WidgetActionTypeSchema": "src/ui/dashboard.zod.ts#WidgetActionTypeSchema (const)", + "WidgetColorVariant": "src/ui/dashboard.zod.ts#WidgetColorVariant (type)", + "WidgetColorVariantSchema": "src/ui/dashboard.zod.ts#WidgetColorVariantSchema (const)", + "actionForm": "src/ui/action.form.ts#actionForm (const)", + "appForm": "src/ui/app.form.ts#appForm (const)", + "chartAggregateCategoryKey": "src/ui/chart-aggregate.ts#chartAggregateCategoryKey (function)", + "chartAggregateResultKeys": "src/ui/chart-aggregate.ts#chartAggregateResultKeys (function)", + "chartAggregateValueKey": "src/ui/chart-aggregate.ts#chartAggregateValueKey (function)", + "dashboardForm": "src/ui/dashboard.form.ts#dashboardForm (const)", + "datasetForm": "src/ui/dataset.form.ts#datasetForm (const)", + "defineAction": "src/ui/action.zod.ts#defineAction (function)", + "defineApp": "src/ui/app.zod.ts#defineApp (function)", + "defineDataset": "src/ui/dataset.zod.ts#defineDataset (function)", + "defineForm": "src/ui/view.zod.ts#defineForm (function)", + "definePage": "src/ui/page.zod.ts#definePage (function)", + "defineReport": "src/ui/report.zod.ts#defineReport (function)", + "defineTheme": "src/ui/theme.zod.ts#defineTheme (function)", + "defineView": "src/ui/view.zod.ts#defineView (function)", + "defineViewItem": "src/ui/view.zod.ts#defineViewItem (function)", + "diagnoseViewMetadata": "src/ui/view.zod.ts#diagnoseViewMetadata (function)", + "expandViewContainer": "src/ui/view.zod.ts#expandViewContainer (function)", + "expandViewContainerWithDiagnostics": "src/ui/view.zod.ts#expandViewContainerWithDiagnostics (function)", + "isAggregatedViewContainer": "src/ui/view.zod.ts#isAggregatedViewContainer (function)", + "isRecordContextBlockType": "src/ui/react-blocks.ts#isRecordContextBlockType (function)", + "normalizeFilterOperator": "src/ui/view.zod.ts#normalizeFilterOperator (function)", + "normalizeInlineAction": "src/ui/action.zod.ts#normalizeInlineAction (function)", + "pageForm": "src/ui/page.form.ts#pageForm (const)", + "reactBlockTagFor": "src/ui/react-blocks.ts#reactBlockTagFor (function)", + "reportForm": "src/ui/report.form.ts#reportForm (const)", + "reportSelectionOrder": "src/ui/report.zod.ts#reportSelectionOrder (function)", + "resolveI18nLabel": "src/ui/i18n-label-resolver.ts#resolveI18nLabel (function)", + "selectViewMetadataBranch": "src/ui/view.zod.ts#selectViewMetadataBranch (function)", + "stripViewConsoleDecorations": "src/ui/view.zod.ts#stripViewConsoleDecorations (function)", + "validateActionParams": "src/ui/action-params.zod.ts#validateActionParams (function)", + "viewForm": "src/ui/view.form.ts#viewForm (const)" + } +} diff --git a/packages/spec/package.json b/packages/spec/package.json index 1e5edfc63b..f0815383ae 100644 --- a/packages/spec/package.json +++ b/packages/spec/package.json @@ -199,6 +199,8 @@ "gen:sbom": "tsx scripts/generate-sbom.ts", "gen:api-surface": "tsx scripts/build-api-surface.ts", "check:api-surface": "tsx scripts/build-api-surface.ts --check", + "gen:export-origins": "tsx scripts/build-export-origins.ts", + "check:export-origins": "tsx scripts/build-export-origins.ts --self-test && tsx scripts/build-export-origins.ts --check", "check:exported-any": "tsx scripts/check-exported-any.ts --self-test && tsx scripts/check-exported-any.ts", "check:dual-source-exports": "tsx scripts/check-dual-source-exports.ts --self-test && tsx scripts/check-dual-source-exports.ts", "check:authorable-surface": "OS_EAGER_SCHEMAS=1 tsx scripts/build-schemas.ts --check", diff --git a/packages/spec/scripts/build-export-origins.ts b/packages/spec/scripts/build-export-origins.ts new file mode 100644 index 0000000000..32cd557d97 --- /dev/null +++ b/packages/spec/scripts/build-export-origins.ts @@ -0,0 +1,418 @@ +// Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. + +/** + * build-export-origins.ts — resolve, ONCE at build time, which source + * declaration every public entry point of @objectstack/spec exports under + * every name. + * + * ## Why this artifact exists + * + * The dual-source and retirement lanes leave a *pin test* behind for each + * cleared name (`#4658` `EventSchema`, `#4739` `TenantPlan`, `#4740` + * `EnvironmentArtifact`, …). Each of those pins asked the same question — "which + * declaration does entry X export under name Y?" — and each answered it by + * building its OWN `ts.createProgram` over every entry point and running + * `getTypeChecker()` inside a vitest `it()`. + * + * That is one full TypeScript compilation per pin. Measured on #4796: 17 such + * cases, ~3.4s each, ~55s of pure compilation per CI lap — 88% of those files' + * total test time — and it grew by one compilation per retirement PR. It was + * also NON-DETERMINISTIC in the only way that matters: at ~3.4s against vitest's + * 5s default the cases sat on the timeout line, and a loaded merge-queue runner + * pushed them over it six times in one night, each time ejecting an unrelated + * PR from the queue (#4796). Two stop-the-bleed laps raised the timeout + * (PR #4856, then PR #4864's `testTimeout: 30_000`); neither saved a millisecond + * of compilation, because the compilation was never the bug's *cause* — it was + * the bug's *material*. + * + * So the resolution moves here, to build time, and the pins become comparisons. + * The facts are identical — the same program, the same compiler options, the + * same `getExportsOfModule` / alias-unwinding walk the pins ran — computed once + * and checked in. `export-origins/.json` is what the pins read. + * + * ## What an "origin" is, and why it carries no line number + * + * `# ()` — the file that DECLARES the symbol an + * export resolves to after its alias chain is unwound, the identifier it is + * declared under there, and its symbol kind. + * + * Two exports have the same origin string iff they are the same declaration, so + * a plain string comparison answers the question `api-surface/` cannot (#4446): + * a name on two entries is a harmless RE-EXPORT when the origins match and the + * #4411 DUAL-SOURCE trap when they differ. Within one source file one + * identifier binds one symbol per declaration space, and `kind` separates the + * value/type spaces — so the triple is an identity, not an approximation. + * + * The pins used `:` and asserted the line as `\d+`, i.e. never. A + * line number here would be strictly worse than useless: it would rewrite this + * artifact on every edit that shifts a line in any `.zod.ts`, turning a + * comparison baseline into the repo's next merge-conflict magnet. The pins' + * real claim — WHICH FILE declares it — survives verbatim, and tighter (the + * successor asserts the path exactly rather than by regex). + * + * ## Sharded, for the same reason `api-surface/` is (#5837) + * + * One file per entry point. Retirement PRs land continuously and each rewrites + * the entries it touched; a single file would be a textual conflict in the + * merge queue, where no custom merge driver runs. Two PRs retiring names on + * different entries now touch disjoint files. + * + * ## Freshness + * + * `--check` recomputes from source and compares bytes. It runs inside + * `check:generated`, hence inside lint.yml's required `TypeScript Type Check` + * job — a stale or hand-edited artifact is CI-red, not silent drift. The pins + * carry a second, independent guard that needs no compiler: the testkit + * cross-checks every value-kind origin against the entry's real runtime + * namespace, so `pnpm test` alone is not blind to a doctored artifact either. + * + * ## Usage + * + * pnpm --filter @objectstack/spec gen:export-origins # regenerate + write + * pnpm --filter @objectstack/spec check:export-origins # CI: fail on drift + * tsx scripts/build-export-origins.ts --self-test # fixture check only + * + * Reads `src/`, NOT the built dist — deliberately. The pins it replaces ran over + * `src/` so they were part of `pnpm test` without a build, and `check:api-surface` + * already covers the dist side. Nothing here needs `pnpm build` to have run. + */ +import ts from 'typescript'; +import { mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs'; +import { join, relative, resolve } from 'node:path'; +import { tmpdir } from 'node:os'; +import { fileURLToPath } from 'node:url'; +import { + EXPORT_ORIGINS_DIR_NAME, + exportOriginsShardTexts, + readExportOriginShards, +} from './lib/export-origins-layout'; +import { writeShards } from './lib/sharded-artifacts'; + +const PKG_DIR = resolve(fileURLToPath(new URL('.', import.meta.url)), '..'); +const ORIGINS_DIR = resolve(PKG_DIR, EXPORT_ORIGINS_DIR_NAME); +const CHECK = process.argv.includes('--check'); +const SELF_TEST = process.argv.includes('--self-test'); + +/** + * Public entry points → their SOURCE index, read from the exports map. + * + * Byte-identical to the enumeration the pins ran: `.` is `src/index.ts` and + * `./` is `src//index.ts`, while `./openapi.json` and + * `./package.json` are not TypeScript entry points. Reading the map rather than + * a hardcoded list is what stops a future entry point escaping the artifact — + * the pins made that same choice, in each of their seventeen copies. + */ +export function collectSourceEntries(pkgDir: string): Record { + const pkg = JSON.parse(readFileSync(resolve(pkgDir, 'package.json'), 'utf8')) as { + exports: Record; + }; + const entries: Record = {}; + for (const sub of Object.keys(pkg.exports ?? {})) { + if (sub === '.') entries[sub] = resolve(pkgDir, 'src/index.ts'); + else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(pkgDir, `src/${sub.slice(2)}/index.ts`); + } + return entries; +} + +function kindOf(flags: ts.SymbolFlags): string { + if (flags & ts.SymbolFlags.Function) return 'function'; + if (flags & ts.SymbolFlags.Class) return 'class'; + if (flags & ts.SymbolFlags.Enum) return 'enum'; + if (flags & ts.SymbolFlags.Interface) return 'interface'; + if (flags & ts.SymbolFlags.TypeAlias) return 'type'; + if (flags & ts.SymbolFlags.Variable) return 'const'; + if (flags & ts.SymbolFlags.Namespace) return 'namespace'; + return 'other'; +} + +/** + * The compiler options the seventeen pins used, verbatim. + * + * Not a detail: `moduleResolution: Bundler` is what lets extensionless relative + * imports across `src/` resolve at all. Under `NodeNext` they would not, every + * symbol would degrade to `any`, and this generator would confidently write an + * artifact describing nothing (AGENTS.md records that trap in the type-check + * ledger). The count assertions below are what turn that into a failure. + */ +const PROGRAM_OPTIONS: ts.CompilerOptions = { + module: ts.ModuleKind.ESNext, + moduleResolution: ts.ModuleResolutionKind.Bundler, + skipLibCheck: true, + noEmit: true, +}; + +/** + * The declaring file, package-relative, with any dependency's install layout + * normalised away. + * + * `./contracts` re-exports ten types straight from `ai` / `@ai-sdk/provider-utils`, + * and their real declaration paths run through the pnpm store: + * + * ../../node_modules/.pnpm/@ai-sdk+provider-utils@5.0.16_zod@4.4.3/node_modules/@ai-sdk/… + * + * That string carries a VERSION and a peer-resolution hash, so recording it + * verbatim would rewrite this artifact on every dependency bump — the same + * churn the omitted line numbers would have caused, arriving from the other + * side. Everything up to and including the last `node_modules/` segment is + * therefore dropped, leaving `node_modules//`: still an identity + * (one package, one file, one declared name), and stable across bumps and + * across pnpm/npm layouts alike. + */ +function declaringFile(rootDir: string, fileName: string): string { + const posix = fileName.split('\\').join('/'); + const marker = posix.lastIndexOf('/node_modules/'); + if (marker >= 0) return `node_modules/${posix.slice(marker + '/node_modules/'.length)}`; + return relative(rootDir, posix).split('\\').join('/'); +} + +/** `# ()`, or `null` when the symbol has no declaration. */ +function originOf(checker: ts.TypeChecker, rootDir: string, exported: ts.Symbol): string | null { + const original = + exported.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(exported) : exported; + const decl = original.declarations?.[0]; + if (!decl) return null; + const file = declaringFile(rootDir, decl.getSourceFile().fileName); + return `${file}#${original.getName()} (${kindOf(original.getFlags())})`; +} + +export interface ResolvedOrigins { + /** entry → (export name → origin string), both sorted. */ + byEntry: Record>; + /** Exports whose symbol carried no declaration at all — always a resolution failure. */ + undeclared: string[]; +} + +/** + * Resolve every export of every entry to its declaring source symbol. + * + * Throws rather than returning a partial map when a module symbol does not + * resolve. The pins guarded this with an explicit `expect(moduleSym).toBeTruthy()` + * and said why: without it every downstream `not.toContain` passes vacuously, + * which is precisely how a gate goes dormant while reporting success (#4642). + * A generator has the same failure mode and a worse blast radius — it would + * write the empty answer down and hand it to seventeen pins. + */ +export function resolveOrigins( + program: ts.Program, + entries: Record, + rootDir: string, +): ResolvedOrigins { + const checker = program.getTypeChecker(); + const byEntry: Record> = {}; + const undeclared: string[] = []; + + for (const entry of Object.keys(entries).sort()) { + const file = entries[entry]; + const sourceFile = program.getSourceFile(file); + const moduleSymbol = sourceFile && checker.getSymbolAtLocation(sourceFile); + if (!moduleSymbol) { + throw new Error( + `could not resolve the module symbol for ${entry} (${relative(rootDir, file)}). Every ` + + `assertion built on this artifact would pass vacuously, so this is fatal rather than ` + + `an empty entry (#4642).`, + ); + } + const exports: Record = {}; + for (const exported of checker.getExportsOfModule(moduleSymbol)) { + const name = exported.getName(); + const origin = originOf(checker, rootDir, exported); + if (origin === null) { + undeclared.push(`${entry} → ${name}`); + continue; + } + exports[name] = origin; + } + byEntry[entry] = Object.fromEntries(Object.keys(exports).sort().map((n) => [n, exports[n]])); + } + + return { byEntry, undeclared }; +} + +function makeProgram(files: string[]): ts.Program { + return ts.createProgram(files, PROGRAM_OPTIONS); +} + +// ── Self-test ──────────────────────────────────────────────────────────────── + +/** + * Pin the resolver's two edges on a fixture, the way `check:dual-source-exports` + * pins its own detector. + * + * The artifact's whole value is that origin equality means declaration identity. + * If alias unwinding broke, every re-export would read as its own origin and + * every single-source pin would go red for nothing; if it over-unwound, two + * genuinely different declarations would read as one and every dual-source pin + * would go DORMANT — green forever, indistinguishable from clean. Neither edge + * is observable from the real surface, where both answers look plausible. + */ +function selfTest(): never { + const fail = (message: string): never => { + console.error(`✗ self-test: ${message}`); + process.exit(1); + }; + + const dir = mkdtempSync(join(tmpdir(), 'spec-export-origins-')); + try { + writeFileSync( + join(dir, 'shared.ts'), + ['export type SharedType = { a: string };', 'export const sharedConst = 1;'].join('\n'), + 'utf8', + ); + // Entry A re-exports both shared declarations and adds its own `Dup`. + writeFileSync( + join(dir, 'a.ts'), + [ + `export { SharedType, sharedConst } from './shared';`, + 'export type Dup = { fromA: true };', + 'export type OnlyA = { onlyA: true };', + ].join('\n'), + 'utf8', + ); + // Entry B re-exports the same two and declares its OWN `Dup` — same name, + // different declaration: the #4411 trap in miniature. + writeFileSync( + join(dir, 'b.ts'), + [ + `export type { SharedType } from './shared';`, + `export { sharedConst } from './shared';`, + 'export type Dup = { fromB: true };', + ].join('\n'), + 'utf8', + ); + // Entry C re-exports A's `Dup` under an ALIAS — the origin must name A's + // declaration under its DECLARED name, not the alias, or a renamed + // re-export would read as a second declaration. + writeFileSync(join(dir, 'c.ts'), [`export type { Dup as RenamedDup } from './a';`].join('\n'), 'utf8'); + + const entries = { './a': join(dir, 'a.ts'), './b': join(dir, 'b.ts'), './c': join(dir, 'c.ts') }; + const program = makeProgram(Object.values(entries)); + const syntactic = program.getSyntacticDiagnostics(); + if (syntactic.length > 0) { + fail(`fixture does not parse: ${ts.flattenDiagnosticMessageText(syntactic[0].messageText, ' ')}`); + } + + const { byEntry, undeclared } = resolveOrigins(program, entries, dir); + if (undeclared.length > 0) fail(`fixture produced undeclared exports: ${undeclared.join(', ')}`); + + const a = byEntry['./a']; + const b = byEntry['./b']; + const c = byEntry['./c']; + + // Anti-vacuity: the fixture's modules resolved. Fewer names means the + // assertions below would all hold over an empty map. + if (Object.keys(a).length !== 4) fail(`./a resolved ${Object.keys(a).length} exports, expected 4`); + if (Object.keys(b).length !== 3) fail(`./b resolved ${Object.keys(b).length} exports, expected 3`); + + // Edge 1 — a re-export must read as ONE declaration from both entries. + for (const name of ['SharedType', 'sharedConst']) { + if (a[name] !== b[name]) { + fail(`\`${name}\` is one declaration re-exported twice, but reads as ${a[name]} ≠ ${b[name]} — ` + + `alias unwinding is broken and every single-source pin would go red for nothing`); + } + if (!a[name].startsWith('shared.ts#')) fail(`\`${name}\` must originate in shared.ts, got ${a[name]}`); + } + + // Edge 2 — two declarations sharing a name must NOT read as one. + if (a.Dup === b.Dup) { + fail('`Dup` is declared separately in a.ts and b.ts but reads as one origin — the dual-source ' + + 'pins built on this artifact would be DORMANT'); + } + + // Edge 3 — an aliased re-export resolves to the declaration's own name, so + // renaming at the re-export site does not manufacture a second origin. + if (c.RenamedDup !== a.Dup) { + fail(`\`RenamedDup\` re-exports a.ts's \`Dup\` but reads as ${c.RenamedDup} ≠ ${a.Dup}`); + } + + // Edge 4 — the value/type spaces are distinguishable, so a const and a type + // of the same name in the same file are not conflated. + if (!a.sharedConst.endsWith('(const)')) fail(`\`sharedConst\` must read as a const, got ${a.sharedConst}`); + if (!a.OnlyA.endsWith('(type)')) fail(`\`OnlyA\` must read as a type, got ${a.OnlyA}`); + } finally { + rmSync(dir, { recursive: true, force: true }); + } + + console.log('✅ self-test: re-exports share one origin, distinct declarations do not, aliases resolve to the declaration.'); + process.exit(0); +} + +if (SELF_TEST) selfTest(); + +// ── Generate / check ───────────────────────────────────────────────────────── + +const entries = collectSourceEntries(PKG_DIR); + +// The pins each asserted this floor themselves (`> 10` entry points) because an +// enumeration that silently found nothing makes every `not.toContain` below it +// true. The floor moves here, once, for all of them. +if (Object.keys(entries).length <= 10) { + console.error( + `❌ enumerated only ${Object.keys(entries).length} TypeScript entry point(s) from package.json's ` + + `exports map. @objectstack/spec publishes far more; something is wrong with the map or with ` + + `this reader, and writing the artifact anyway would hand every pin an empty surface.`, + ); + process.exit(1); +} + +const { byEntry, undeclared } = resolveOrigins(makeProgram(Object.values(entries)), entries, PKG_DIR); + +if (undeclared.length > 0) { + console.error( + `❌ ${undeclared.length} export(s) resolved to a symbol with no declaration — the compiler could ` + + `not follow them to a source file:\n`, + ); + for (const line of undeclared) console.error(` • ${line}`); + process.exit(1); +} + +const totalExports = Object.values(byEntry).reduce((sum, names) => sum + Object.keys(names).length, 0); +const shardTexts = exportOriginsShardTexts(byEntry); + +if (!CHECK) { + const { written, removed } = writeShards(ORIGINS_DIR, shardTexts); + console.log( + `✅ ${EXPORT_ORIGINS_DIR_NAME}/: ${totalExports} exports across ${Object.keys(byEntry).length} entry ` + + `points — ${written.length} shard(s) rewritten${removed.length ? `, ${removed.length} removed` : ''}.`, + ); + process.exit(0); +} + +const onDisk = readExportOriginShards(ORIGINS_DIR); +const problems: string[] = []; + +for (const [name, text] of [...shardTexts].sort(([a], [b]) => (a < b ? -1 : 1))) { + const found = onDisk.get(name); + if (found === undefined) { + problems.push(`missing shard ${EXPORT_ORIGINS_DIR_NAME}/${name}.json`); + } else if (found.raw !== text) { + problems.push(`${EXPORT_ORIGINS_DIR_NAME}/${name}.json is stale — the source resolves differently`); + } +} +for (const name of onDisk.keys()) { + if (!shardTexts.has(name)) { + problems.push(`${EXPORT_ORIGINS_DIR_NAME}/${name}.json is for an entry point that no longer exists`); + } +} + +if (problems.length === 0) { + console.log( + `✅ ${EXPORT_ORIGINS_DIR_NAME}/ is current: ${totalExports} exports across ` + + `${Object.keys(byEntry).length} entry points resolve exactly as recorded.`, + ); + process.exit(0); +} + +console.error(`❌ ${problems.length} problem(s) with ${EXPORT_ORIGINS_DIR_NAME}/:\n`); +for (const problem of problems) console.error(` • ${problem}`); +console.error( + `\nThis artifact records WHICH SOURCE DECLARATION each public entry point exports under each name.\n` + + `The export-surface pin tests read it instead of building their own TypeScript program, so it\n` + + `being current is what makes them mean anything (#4796).\n\n` + + `If you changed the export surface on purpose — added, removed, renamed or re-homed an export —\n` + + `regenerate and commit the diff:\n\n` + + ` pnpm --filter @objectstack/spec gen:export-origins\n\n` + + `Then READ the diff. A name whose origin moved to a different file is a re-homed declaration; a\n` + + `name that gained an entry with a DIFFERENT origin is a new dual-source, the #4411 trap, and the\n` + + `fix is at the declaration rather than here (see check:dual-source-exports).`, +); +process.exit(1); diff --git a/packages/spec/scripts/check-generated.ts b/packages/spec/scripts/check-generated.ts index b7eff0d33c..218bc8c1de 100644 --- a/packages/spec/scripts/check-generated.ts +++ b/packages/spec/scripts/check-generated.ts @@ -91,6 +91,16 @@ const GATED: ReadonlyArray<{ // that has cost real triage time (AGENTS.md records the trap). Flagged so the // failure explains itself instead of sending the next reader after a ghost. { check: 'check:api-surface', gen: 'gen:api-surface', artifact: 'api-surface/', readsDist: true }, + // The #4796 declaration-origin baseline. Reads `src/`, NOT the dist — so it + // carries no `readsDist` caveat and needs no build. It sits next to + // `check:api-surface` because they answer adjacent questions about the same + // surface: that one records WHICH NAMES each entry point exports, this one + // records WHICH DECLARATION each of those names resolves to. Seventeen + // export-surface pin tests read it instead of each building their own + // `ts.createProgram` inside a vitest case (~55s of compilation per CI lap, + // and a non-deterministic timeout that ejected unrelated PRs from the merge + // queue), so its freshness is what those pins mean. + { check: 'check:export-origins', gen: 'gen:export-origins', artifact: 'export-origins/' }, { check: 'check:docs', gen: 'gen:docs', diff --git a/packages/spec/scripts/export-origins.test.ts b/packages/spec/scripts/export-origins.test.ts new file mode 100644 index 0000000000..be087298d6 --- /dev/null +++ b/packages/spec/scripts/export-origins.test.ts @@ -0,0 +1,201 @@ +// Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. + +/** + * The export-origins baseline's own pin (#4796). + * + * Seventeen export-surface pins now compare against `export-origins/` instead + * of each building a `ts.createProgram`. That trade is only sound while the + * artifact is a faithful description of the source, so the two claims it rests + * on are asserted here rather than assumed: + * + * 1. the reader and the writer agree on the shard layout — the reader cannot + * import the writer's naming function (`rootDir: ./src`), so the agreement + * is measured over the real artifact instead of shared; + * 2. the compiler-free freshness cross-check actually discriminates. A guard + * that would pass over a doctored artifact is worse than no guard, because + * it reads as coverage. + * + * What is deliberately NOT here: a re-derivation of the origins from source. + * That is `check:export-origins`, it costs a full `tsc` program, and running it + * inside vitest would reintroduce the exact ~3.4s-per-case compilation this + * change removed. + */ + +import { describe, it, expect } from 'vitest'; +import { readdirSync, readFileSync } from 'node:fs'; +import { dirname, resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holdersOf, + maybeOriginOf, + originFile, + originOf, + originsOf, + runtimeParityOf, +} from './lib/export-origins-testkit'; + +const PKG_DIR = resolve(dirname(fileURLToPath(import.meta.url)), '..'); +const ORIGINS_DIR = resolve(PKG_DIR, 'export-origins'); + +/** + * The entry points, with the module each one really is. Written out rather than + * derived from `EXPORT_ENTRY_POINTS` so the runtime cross-check below reads the + * REAL namespaces: a derived dynamic import built from the artifact's own keys + * would let a doctored artifact choose what it is compared against. + */ +const ENTRY_NAMESPACES: ReadonlyArray<[string, () => Promise]> = [ + ['.', () => import('../src/index')], + ['./ai', () => import('../src/ai/index')], + ['./api', () => import('../src/api/index')], + ['./automation', () => import('../src/automation/index')], + ['./cloud', () => import('../src/cloud/index')], + ['./contracts', () => import('../src/contracts/index')], + ['./data', () => import('../src/data/index')], + ['./identity', () => import('../src/identity/index')], + ['./integration', () => import('../src/integration/index')], + ['./kernel', () => import('../src/kernel/index')], + ['./qa', () => import('../src/qa/index')], + ['./security', () => import('../src/security/index')], + ['./shared', () => import('../src/shared/index')], + ['./studio', () => import('../src/studio/index')], + ['./system', () => import('../src/system/index')], + ['./ui', () => import('../src/ui/index')], +]; + +describe('[#4796] export-origins/ — the baseline the export-surface pins compare against', () => { + it('covers exactly the TypeScript entry points package.json publishes', () => { + const pkg = JSON.parse(readFileSync(resolve(PKG_DIR, 'package.json'), 'utf8')) as { + exports: Record; + }; + // The same filter the generator and the retired pins used: `.` plus + // `./`, minus the two JSON subpaths, which are not modules. + const published = Object.keys(pkg.exports) + .filter((sub) => sub === '.' || /^\.\/[a-z-]+$/.test(sub)) + .sort(); + + expect(published.length).toBeGreaterThan(10); + expect([...EXPORT_ENTRY_POINTS]).toEqual(published); + // …and the hand-written table below covers all of them, so no entry point + // can escape the runtime cross-check by simply not being listed. + expect(ENTRY_NAMESPACES.map(([entry]) => entry).sort()).toEqual(published); + }); + + it('every shard filename round-trips to the entry it declares', () => { + // The reader's `entryForShardName` duplicates the writer's + // `shardNameForEntry` because it cannot import it. This is where the two + // are measured against each other, over the bytes on disk. + const shardFiles = readdirSync(ORIGINS_DIR).filter((f) => f.endsWith('.json')); + expect(shardFiles.length).toBe(EXPORT_ENTRY_POINTS.length); + + for (const file of shardFiles) { + const doc = JSON.parse(readFileSync(resolve(ORIGINS_DIR, file), 'utf8')) as { + entry: string; + description: string; + exports: Record; + }; + const base = file.slice(0, -'.json'.length); + expect(doc.entry, `${file} must declare the entry its filename names`).toBe( + base === 'root' ? '.' : `./${base}`, + ); + expect(doc.description, `${file} must carry the shard description`).toContain('#4796'); + expect(Object.keys(doc.exports).length).toBeGreaterThan(0); + } + }); + + it('every origin is a declaring file, a declared name and a kind', () => { + let checked = 0; + let external = 0; + for (const entry of EXPORT_ENTRY_POINTS) { + for (const name of exportNamesOf(entry)) { + const origin = originOf(entry, name); + // `src/…` for this package's own declarations; `node_modules//…` + // for the handful `./contracts` re-exports from `ai` — recorded with + // the pnpm store's version/peer segments normalised away, so a + // dependency bump does not rewrite the artifact. + expect(origin, `${entry} → ${name}`).toMatch( + /^(src|node_modules)\/[\w@./-]+\.ts#[\w$]+ \([a-z]+\)$/, + ); + if (origin.startsWith('node_modules/')) { + expect(origin, `${entry} → ${name} must not carry a pnpm store path`).not.toContain('.pnpm'); + external++; + } + checked++; + } + } + // The external re-exports really are covered by the normalisation above — + // without this the `.pnpm` assertion could hold by never running. + expect(external).toBeGreaterThan(0); + // Anti-vacuity: the loop above ran over the real surface. A resolution + // failure that emptied the artifact would otherwise pass this silently. + expect(checked).toBeGreaterThan(3000); + }); + + it.each(ENTRY_NAMESPACES)( + '%s: the artifact agrees with the real runtime namespace (compiler-free freshness guard)', + async (entry, load) => { + const namespace = await load(); + const { missingAtRuntime, missingFromArtifact } = runtimeParityOf(entry, namespace); + + expect( + missingAtRuntime, + `${entry}: export-origins records these as runtime values, but the module does not export ` + + `them — the artifact is stale or hand-edited. Run \`pnpm --filter @objectstack/spec ` + + `gen:export-origins\`.`, + ).toEqual([]); + expect( + missingFromArtifact, + `${entry}: the module exports these at runtime and export-origins does not record them — ` + + `the artifact is stale. Run \`pnpm --filter @objectstack/spec gen:export-origins\`.`, + ).toEqual([]); + + // Anti-vacuity for the guard itself: two empty lists satisfy both + // assertions above, so the comparison must be shown to have had + // something to compare. `./qa` publishes 8 runtime values — the floor is + // "this entry resolved at all", not a size claim about any entry. + expect(Object.keys(namespace).length, `${entry} resolved an empty namespace`).toBeGreaterThan(0); + expect( + exportNamesOf(entry).filter((name) => name in namespace).length, + `${entry}: no artifact name matched the runtime namespace — nothing was compared`, + ).toBeGreaterThan(0); + }, + ); + + it('the freshness guard is DISCRIMINATING — it rejects a doctored namespace', async () => { + const real = await import('../src/automation/index'); + + // Same shape as the real check, against a namespace missing one runtime + // export. If this passed, the guard above would be decoration. + const withoutOne = { ...real } as Record; + expect('StateMachineSchema' in withoutOne).toBe(true); + delete withoutOne.StateMachineSchema; + expect(runtimeParityOf('./automation', withoutOne).missingAtRuntime).toEqual([ + 'StateMachineSchema', + ]); + + // …and against one carrying an export the artifact does not know. + const withExtra = { ...real, __smuggled__: 1 }; + expect(runtimeParityOf('./automation', withExtra).missingFromArtifact).toEqual(['__smuggled__']); + }); + + it('the query primitives answer the three questions the pins ask', () => { + // 1. does an entry export the name? — the retirement pins' question. + expect(maybeOriginOf('./automation', 'StateMachineSchema')).toBeDefined(); + expect(maybeOriginOf('./automation', 'NoSuchExportAnywhere')).toBeUndefined(); + expect(holdersOf('NoSuchExportAnywhere')).toEqual([]); + + // 2. which file declares it? — the single-source pins' question. + expect(originFile(originOf('./kernel', 'EventSchema'))).toBe('src/kernel/events/core.zod.ts'); + + // 3. one declaration or several? — the dual-source pins' question. + expect(originsOf('EventSchema')).toHaveLength(1); + expect(originsOf('NoSuchExportAnywhere')).toEqual([]); + // A name genuinely re-exported from several entries still resolves to one + // declaration — the property that makes `originsOf(...).length === 1` a + // meaningful single-source assertion rather than a count of entries. + // `defineAgent` stands on `./ai` and on the root entry. + expect(holdersOf('defineAgent')).toEqual(['.', './ai']); + expect(originsOf('defineAgent')).toHaveLength(1); + }); +}); diff --git a/packages/spec/scripts/lib/export-origins-layout.ts b/packages/spec/scripts/lib/export-origins-layout.ts new file mode 100644 index 0000000000..ac25f1afcd --- /dev/null +++ b/packages/spec/scripts/lib/export-origins-layout.ts @@ -0,0 +1,87 @@ +// Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. + +/** + * export-origins-layout.ts — the WRITER side of `packages/spec/export-origins/`. + * + * Split out of `build-export-origins.ts` for one reason: the shard bytes are + * produced here and compared here, so `--check` cannot drift from `--write` by + * rendering the document a second way. The READER side lives in + * `src/shared/export-origins.testkit.ts` and deliberately shares no module with + * this one — it runs inside vitest over `src/`, where `tsconfig.json`'s + * `rootDir: ./src` makes a `scripts/` import a type error. It therefore keys + * shards by the `entry` field each shard declares rather than by filename, so + * the two sides agree on the shard NAMING without sharing the function that + * computes it; `export-origins.test.ts` asserts that agreement over the real + * artifact so it cannot rot into a guess. + * + * Sharding, and why: see `build-export-origins.ts`'s header and #5837. + */ + +import { + serializeShard, + shardNameForEntry, + listShardNames, +} from './sharded-artifacts'; +import fs from 'node:fs'; +import path from 'node:path'; + +/** `packages/spec/export-origins/.json` — the #4796 declaration-origin baseline. */ +export const EXPORT_ORIGINS_DIR_NAME = 'export-origins'; + +/** One entry point's slice of the declaration-origin baseline. */ +export interface ExportOriginsShard { + description: string; + entry: string; + /** export name → `# ()`, sorted by name. */ + exports: Record; +} + +/** + * The description carried by EVERY shard. + * + * Repeated per file for the same reason the other sharded ratchets repeat + * theirs: the reader this text exists for is the one who has just opened a + * single shard because a pin went red, and a pointer to a central index is one + * hop more than that reader takes. It is compared byte-for-byte, so editing it + * restates the procedure in every shard — deliberately. + */ +export const EXPORT_ORIGINS_DESCRIPTION = + 'Which SOURCE DECLARATION each name exported by one public entry point of @objectstack/spec ' + + 'resolves to, after its alias chain is unwound: `# ()`. Two ' + + 'exports share an origin string iff they are the same declaration — so equal origins across two ' + + 'entries are a harmless re-export, and different origins under one name are the #4411 ' + + 'dual-source trap. Generated from src/ (no build needed) and read by the export-surface pin ' + + 'tests, which compare against it instead of each building their own ts.createProgram — that was ' + + '~55s of compilation per CI lap and a non-deterministic timeout that ejected unrelated PRs from ' + + 'the merge queue (#4796). Sharded by entry point (#5837) so two retirement PRs never share a ' + + 'file. Carries NO line numbers: the pins asserted the line as `\\d+`, and recording it would ' + + 'rewrite this artifact on every edit that shifts a line in any .zod.ts. Regenerate with ' + + '`pnpm --filter @objectstack/spec gen:export-origins` and read the diff.'; + +/** Split the resolved map into ` -> canonical shard bytes`. */ +export function exportOriginsShardTexts( + byEntry: Record>, +): Map { + const out = new Map(); + for (const entry of Object.keys(byEntry).sort()) { + out.set( + shardNameForEntry(entry), + serializeShard({ + description: EXPORT_ORIGINS_DESCRIPTION, + entry, + exports: byEntry[entry], + } satisfies ExportOriginsShard), + ); + } + return out; +} + +/** Raw bytes of every shard on disk, keyed by basename — the `--check` input. */ +export function readExportOriginShards(dir: string): Map { + const out = new Map(); + for (const name of listShardNames(dir)) { + const file = path.join(dir, `${name}.json`); + out.set(name, { file, raw: fs.readFileSync(file, 'utf-8') }); + } + return out; +} diff --git a/packages/spec/scripts/lib/export-origins-testkit.ts b/packages/spec/scripts/lib/export-origins-testkit.ts new file mode 100644 index 0000000000..5ebfca4ba2 --- /dev/null +++ b/packages/spec/scripts/lib/export-origins-testkit.ts @@ -0,0 +1,250 @@ +// Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. + +/** + * export-origins-testkit.ts — the READER side of `packages/spec/export-origins/`. + * + * Every "resolves the export surface" pin used to answer its question by + * building a `ts.createProgram` over all sixteen entry points and running + * `getTypeChecker()` inside its own `it()`. Seventeen pins, ~3.4s of compilation + * each, ~55s per CI lap, growing by one compilation per retirement PR — and at + * ~3.4s against vitest's 5s default they rode the timeout line, ejecting + * unrelated PRs from the merge queue six times in one night (#4796). + * + * The resolution moved to build time (`scripts/build-export-origins.ts`). This + * module reads the resulting artifact and offers the same three primitives the + * pins used, so a pin's assertions carry over one for one: + * + * exportsOf(sub).map(e => e.getName()) → exportNamesOf(entry) + * originOf(sym, label) → originOf(entry, name) + * Object.keys(entries) → EXPORT_ENTRY_POINTS + * + * ## Why this is not weaker than compiling + * + * A comparison is only as good as the thing compared, so the artifact's + * freshness is load-bearing, and it is guarded twice — independently: + * + * 1. `check:export-origins` recomputes from source and compares bytes. It + * runs inside `check:generated`, hence inside lint.yml's required + * `TypeScript Type Check` job. A stale or hand-edited artifact is CI-red. + * 2. The compiler-free cross-check below. Every origin whose kind is a + * RUNTIME kind must appear in the entry's real runtime namespace, and + * every runtime export must appear in the artifact. That needs no `tsc`, + * so `pnpm test` on its own is not blind to a doctored artifact either — + * it catches exactly the hand-edit that (1) catches, one lane earlier. + * + * Type-only exports are erased at runtime, so guard (2) cannot see them; guard + * (1) is what covers those, and it covers everything. The split is deliberate: + * two gates that fail for different reasons beat one gate that has to be + * believed. + * + * ⚠️ It lives in `scripts/lib/` rather than beside the tests it serves, and that + * is not filing preference. `tsconfig.json` is the BUILD config: it compiles + * everything under `src/` that is not a `*.test.ts` as CommonJS, where + * `import.meta` is a hard error (TS1470) — so a reader in `src/` could not + * resolve its own location, and the alternatives (excluding it from the build + * program, or reaching outside `rootDir: ./src` for the artifact) each weaken a + * gate to place a file. Here it sits next to the writer it mirrors, shares its + * shard naming rather than restating it, and is type-checked by + * `tsconfig.scripts.json`. + */ + +import { readFileSync } from 'node:fs'; +import { dirname, join, resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { entryForShardName, listShardNames } from './sharded-artifacts'; +import { EXPORT_ORIGINS_DIR_NAME } from './export-origins-layout'; + +/** `/export-origins` — resolved from this file, so vitest's cwd is irrelevant. */ +const ORIGINS_DIR = resolve(dirname(fileURLToPath(import.meta.url)), '../..', EXPORT_ORIGINS_DIR_NAME); + +interface ShardDoc { + description: string; + entry: string; + exports: Record; +} + +function loadShards(): Map> { + let names: string[]; + try { + names = listShardNames(ORIGINS_DIR); + } catch (error) { + throw new Error( + `cannot read ${ORIGINS_DIR}: ${error}. This artifact is generated — run ` + + `\`pnpm --filter @objectstack/spec gen:export-origins\`. Every export-surface pin reads it, ` + + `so its absence must be loud rather than an empty surface every assertion passes over (#4796).`, + ); + } + + // A floor, not a formality. The pins each asserted `> 10` entry points for + // themselves because an enumeration that silently finds nothing makes every + // `not.toContain` below it vacuously true — the exact way a gate goes dormant + // while reporting success (#4642). The floor now lives here, once. + if (names.length <= 10) { + throw new Error( + `export-origins/ holds only ${names.length} shard(s); @objectstack/spec publishes 16 ` + + `TypeScript entry points. Regenerate with \`pnpm --filter @objectstack/spec gen:export-origins\`.`, + ); + } + + const byEntry = new Map>(); + for (const name of names) { + const file = `${name}.json`; + const doc = JSON.parse(readFileSync(join(ORIGINS_DIR, file), 'utf-8')) as ShardDoc; + const expected = entryForShardName(name); + if (doc.entry !== expected) { + throw new Error( + `export-origins/${file} declares entry ${JSON.stringify(doc.entry)} but its filename says ` + + `"${expected}". A shard answers for exactly the entry point it is named for — regenerate ` + + `rather than reconcile by hand (#5837).`, + ); + } + if (!doc.exports || typeof doc.exports !== 'object') { + throw new Error(`export-origins/${file} has no "exports" object.`); + } + if (Object.keys(doc.exports).length === 0) { + throw new Error( + `export-origins/${file} records zero exports for ${doc.entry}. Every published entry point ` + + `of this package exports something, so an empty shard is a resolution failure, not a fact.`, + ); + } + byEntry.set(doc.entry, doc.exports); + } + return byEntry; +} + +/** + * Read once, at import time. Nothing in the GENERATOR's import graph reaches + * this module — it is the reader, imported only by the pin tests — so a tree + * with no artifact yet cannot deadlock on it: the bootstrap answer is to run + * `gen:export-origins`, and the throw above says exactly that. + */ +const SHARDS = loadShards(); + +/** Every public TypeScript entry point, sorted — the pins' `Object.keys(entries)`. */ +export const EXPORT_ENTRY_POINTS: readonly string[] = Object.freeze([...SHARDS.keys()].sort()); + +function exportsOf(entry: string): Record { + const found = SHARDS.get(entry); + if (!found) { + throw new Error( + `no export-origins shard for entry point "${entry}". Known entries: ` + + `${EXPORT_ENTRY_POINTS.join(', ')}. A typo here would silently assert nothing.`, + ); + } + return found; +} + +/** Every name `entry` exports, sorted — the pins' `exportsOf(sub).map(e => e.getName())`. */ +export function exportNamesOf(entry: string): string[] { + return Object.keys(exportsOf(entry)).sort(); +} + +/** + * The origin `entry` exports `name` from, or `undefined` when it does not + * export that name — `# ()`. + * + * Two exports share this string iff they are the same declaration, which is the + * whole point: equal across two entries is a re-export, different under one + * name is the #4411 dual-source trap. + */ +export function maybeOriginOf(entry: string, name: string): string | undefined { + return exportsOf(entry)[name]; +} + +/** As `maybeOriginOf`, but a missing name is an error — the pins' `expect(sym).toBeTruthy()`. */ +export function originOf(entry: string, name: string): string { + const origin = maybeOriginOf(entry, name); + if (origin === undefined) { + throw new Error(`${entry} does not export \`${name}\` (export-origins/).`); + } + return origin; +} + +/** + * The whole `name → origin` map for one entry — the shape the cross-entry + * conflict pins built by hand from `getExportsOfModule`, so their set algebra + * carries over unchanged. + */ +export function originMapOf(entry: string): ReadonlyMap { + return new Map(Object.entries(exportsOf(entry))); +} + +/** Just the declaring source path of an origin — `src/kernel/events/core.zod.ts`. */ +export function originFile(origin: string): string { + return origin.slice(0, origin.indexOf('#')); +} + +/** The declaring source path `entry` exports `name` from. */ +export function originFileOf(entry: string, name: string): string { + return originFile(originOf(entry, name)); +} + +/** Every entry point that exports `name`, sorted — the pins' `holders` loop. */ +export function holdersOf(name: string): string[] { + return EXPORT_ENTRY_POINTS.filter((entry) => maybeOriginOf(entry, name) !== undefined); +} + +/** + * As `holdersOf`, paired with each holder's origin — the record shape the + * retirement pins' own local `holdersOf` helper returned, so their assertion + * bodies carry over unchanged. + */ +export function holderOriginsOf(name: string): Array<{ sub: string; origin: string }> { + return holdersOf(name).map((sub) => ({ sub, origin: originOf(sub, name) })); +} + +/** + * Every distinct origin `name` resolves to across all entry points, sorted. + * + * One element = single-source (a re-export, however many entries carry it). + * Two or more = dual-source. Zero = the name is gone from the public surface, + * which is what a retirement pin asserts. + */ +export function originsOf(name: string): string[] { + const seen = new Set(); + for (const entry of EXPORT_ENTRY_POINTS) { + const origin = maybeOriginOf(entry, name); + if (origin !== undefined) seen.add(origin); + } + return [...seen].sort(); +} + +/** + * Kinds that survive to runtime. `type` and `interface` are erased, and a + * symbol that merges a value with a type reports the type kind — so this set + * deliberately UNDER-claims. It never false-reds; what it misses is covered by + * `check:export-origins`. + */ +const RUNTIME_KINDS = new Set(['const', 'function', 'class', 'enum']); + +function kindOf(origin: string): string { + const open = origin.lastIndexOf('('); + return open < 0 ? 'other' : origin.slice(open + 1, origin.length - 1); +} + +/** + * The compiler-free freshness cross-check: the artifact's runtime-kind exports + * for `entry` must be exactly the keys of its real namespace object. + * + * Call it with the entry's live namespace — `await import('../automation/index')` + * — from a pin that reads this entry. It is what stops a doctored or stale + * artifact from reading as a fact during a plain `pnpm test`, one lane before + * `check:export-origins` would catch the same edit in CI. + * + * Returns the discrepancies rather than throwing, so the caller asserts them + * with vitest and gets the diff in the failure output. + */ +export function runtimeParityOf( + entry: string, + namespace: object, +): { missingAtRuntime: string[]; missingFromArtifact: string[] } { + const origins = exportsOf(entry); + const runtimeNames = new Set(Object.keys(namespace)); + + const missingAtRuntime = Object.keys(origins) + .filter((name) => RUNTIME_KINDS.has(kindOf(origins[name])) && !runtimeNames.has(name)) + .sort(); + const missingFromArtifact = [...runtimeNames].filter((name) => !(name in origins)).sort(); + + return { missingAtRuntime, missingFromArtifact }; +} diff --git a/packages/spec/src/api/rest-server.test.ts b/packages/spec/src/api/rest-server.test.ts index 6e3c1bc1a7..4f9be3792f 100644 --- a/packages/spec/src/api/rest-server.test.ts +++ b/packages/spec/src/api/rest-server.test.ts @@ -17,6 +17,11 @@ import { type MetadataEndpointsConfig, } from './rest-server.zod'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holdersOf, +} from '../../scripts/lib/export-origins-testkit'; describe('RestApiConfigSchema', () => { it('should accept minimal config with defaults', () => { const config = RestApiConfigSchema.parse({}); @@ -758,56 +763,23 @@ describe('[#4579] the OpenApi31 block schemas are not exported from any entry po 'OpenApiWebhookEvent', ] as const; - it('resolves the export surface: no public entry names any of the six', async () => { - const ts = (await import('typescript')).default; - const { resolve, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Every public entry point, read from package.json's exports map so a - // future entry cannot silently escape the pin below. - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - // './openapi.json' / './package.json' are not TypeScript entry points. - } - // Anti-vacuity: the enumeration must have found the real surface. - expect(Object.keys(entries)).toContain('./api'); - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const exportsOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure would make every assertion - // below pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; + it('resolves the export surface: no public entry names any of the six', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796.) + expect(EXPORT_ENTRY_POINTS).toContain('./api'); + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // The surface stays non-trivial (the `not.toContain` cannot pass by // resolving nothing) and the surviving neighbours stand. - const apiNames = exportsOf('./api').map((e) => e.getName()); + const apiNames = exportNamesOf('./api'); expect(apiNames.length, './api must export a non-trivial surface').toBeGreaterThan(50); expect(apiNames).toContain('RestServerConfigSchema'); expect(apiNames).toContain('RestApiConfigSchema'); - for (const sub of Object.keys(entries)) { - const names = exportsOf(sub).map((e) => e.getName()); - for (const removed of REMOVED_NAMES) { - expect(names, `${sub} must not export ${removed} (#4579)`).not.toContain(removed); - } + for (const removed of REMOVED_NAMES) { + expect(holdersOf(removed), `no entry may export ${removed} (#4579)`).toEqual([]); } }); diff --git a/packages/spec/src/automation/state-machine.test.ts b/packages/spec/src/automation/state-machine.test.ts index 546fca0278..f174987be3 100644 --- a/packages/spec/src/automation/state-machine.test.ts +++ b/packages/spec/src/automation/state-machine.test.ts @@ -8,6 +8,16 @@ import { } from './state-machine.zod'; import { AgentSchema } from '../ai/agent.zod'; import { formatZodError } from '../shared/error-map.zod'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holdersOf, + maybeOriginOf, + originFileOf, + originOf, + originsOf, + runtimeParityOf, +} from '../../scripts/lib/export-origins-testkit'; describe('StateMachineSchema', () => { it('should validate a simple state machine', () => { @@ -333,88 +343,34 @@ describe('[#4001] ActionRef / GuardRef — strict inside a union', () => { // anti-vacuity guards; sabotage-verified in the PR (re-adding the export // turns it red). describe('[#4658] `EventSchema` is not exported from ./automation', () => { - it('resolves the export surface: no entry but ./kernel declares `EventSchema`', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Every public entry point, read from package.json's exports map so a - // future entry cannot silently escape the uniqueness pin below. - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - // './openapi.json' / './package.json' are not TypeScript entry points. - } - // Anti-vacuity: the enumeration must have found the real surface. - expect(Object.keys(entries)).toContain('./automation'); - expect(Object.keys(entries)).toContain('./kernel'); - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const unalias = (s: import('typescript').Symbol) => - s.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(s) : s; - - const exportsOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure would make every assertion - // below pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; - - const originOf = (sym: import('typescript').Symbol, label: string) => { - const decl = unalias(sym).declarations?.[0]; - expect(decl, `${label} must have a declaration`).toBeTruthy(); - const declFile = decl!.getSourceFile(); - return `${relative(specDir, declFile.fileName)}:${ - declFile.getLineAndCharacterOfPosition(decl!.getStart()).line + 1 - }`; - }; + it('resolves the export surface: no entry but ./kernel declares `EventSchema`', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796.) + expect(EXPORT_ENTRY_POINTS).toContain('./automation'); + expect(EXPORT_ENTRY_POINTS).toContain('./kernel'); + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // 1. The removed side: `./automation` still has a non-trivial surface — // so the `not.toContain` cannot pass by resolving nothing — and no // longer names `EventSchema`, while its surviving neighbours stand. - const automationExports = exportsOf('./automation'); - expect(automationExports.length, './automation must export a non-trivial surface').toBeGreaterThan(50); - const automationNames = automationExports.map((e) => e.getName()); + const automationNames = exportNamesOf('./automation'); + expect(automationNames.length, './automation must export a non-trivial surface').toBeGreaterThan(50); expect(automationNames).not.toContain('EventSchema'); expect(automationNames).toContain('StateMachineSchema'); expect(automationNames).toContain('TransitionSchema'); // 2. The surviving side: `./kernel` still exports the envelope const and // its inferred type, declared in kernel/events/core.zod.ts. - const kernelExports = exportsOf('./kernel'); - const kernelEventSchema = kernelExports.find((e) => e.getName() === 'EventSchema'); - expect(kernelEventSchema, './kernel must export `EventSchema`').toBeTruthy(); - const kernelOrigin = originOf(kernelEventSchema!, './kernel EventSchema'); - expect(kernelOrigin).toMatch(/^src\/kernel\/events\/core\.zod\.ts:\d+$/); - expect(kernelExports.map((e) => e.getName())).toContain('Event'); + expect(maybeOriginOf('./kernel', 'EventSchema'), './kernel must export `EventSchema`').toBeDefined(); + expect(originFileOf('./kernel', 'EventSchema')).toBe('src/kernel/events/core.zod.ts'); + expect(exportNamesOf('./kernel')).toContain('Event'); // 3. Uniqueness — the dual-source pin proper: across EVERY public entry, // an export named `EventSchema` must resolve to that ONE declaration. - const holders: string[] = []; - for (const sub of Object.keys(entries)) { - for (const sym of exportsOf(sub).filter((e) => e.getName() === 'EventSchema')) { - holders.push(sub); - expect( - originOf(sym, `${sub} EventSchema`), - `${sub} must resolve \`EventSchema\` to the kernel declaration`, - ).toBe(kernelOrigin); - } - } + expect(originsOf('EventSchema')).toEqual([originOf('./kernel', 'EventSchema')]); + const holders = holdersOf('EventSchema'); expect(holders).toContain('./kernel'); expect(holders).not.toContain('./automation'); }); @@ -425,6 +381,12 @@ describe('[#4658] `EventSchema` is not exported from ./automation', () => { expect('EventSchema' in automation).toBe(false); expect('EventSchema' in kernel).toBe(true); + // The compiler-free half of the baseline's freshness guard: a stale or + // hand-edited `export-origins/` that moved or invented a runtime export is + // caught here, in `pnpm test`, without waiting for `check:export-origins`. + expect(runtimeParityOf('./automation', automation)).toEqual({ missingAtRuntime: [], missingFromArtifact: [] }); + expect(runtimeParityOf('./kernel', kernel)).toEqual({ missingAtRuntime: [], missingFromArtifact: [] }); + // What the name now unambiguously means: an emitted event INSTANCE. expect(() => kernel.EventSchema.parse({ diff --git a/packages/spec/src/automation/sync-retirement.test.ts b/packages/spec/src/automation/sync-retirement.test.ts index 05416ab6ca..62442fff2f 100644 --- a/packages/spec/src/automation/sync-retirement.test.ts +++ b/packages/spec/src/automation/sync-retirement.test.ts @@ -2,6 +2,12 @@ import { describe, it, expect } from 'vitest'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holderOriginsOf, + originFile, +} from '../../scripts/lib/export-origins-testkit'; // ─── [#4738] L1 "Simple Sync" is gone; `ConflictResolution` has ONE owner ─── // // Dual-source ledger #4535, clusters C13+C15 (one implementation unit — the @@ -51,74 +57,20 @@ import { describe, it, expect } from 'vitest'; // export, re-introducing a bare-name re-export on ./integration, and renaming // the ui side each turn it red). describe('[#4738] sync/conflict dual-source retirement', () => { - it('resolves the export surface: one owner per name, across every public entry', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative } = await import('node:path'); - const { dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Every public entry point, read from package.json's exports map so a - // future entry cannot silently escape the uniqueness pins below. - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - // './openapi.json' / './package.json' are not TypeScript entry points. - } - // Anti-vacuity: the enumeration must have found the real surface. + it('resolves the export surface: one owner per name, across every public entry', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796.) for (const needed of ['./automation', './integration', './ui', './api']) { - expect(Object.keys(entries), `exports map must include ${needed}`).toContain(needed); + expect(EXPORT_ENTRY_POINTS, `exports map must include ${needed}`).toContain(needed); } - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const unalias = (s: import('typescript').Symbol) => - s.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(s) : s; - - const exportsOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure would make every assertion - // below pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; - - const originOf = (sym: import('typescript').Symbol, label: string) => { - const decl = unalias(sym).declarations?.[0]; - expect(decl, `${label} must have a declaration`).toBeTruthy(); - const declFile = decl!.getSourceFile(); - return `${relative(specDir, declFile.fileName)}:${ - declFile.getLineAndCharacterOfPosition(decl!.getStart()).line + 1 - }`; - }; - - /** Every entry that exports `name`, with each occurrence's declaration origin. */ - const holdersOf = (name: string) => { - const out: Array<{ sub: string; origin: string }> = []; - for (const sub of Object.keys(entries)) { - for (const sym of exportsOf(sub).filter((e) => e.getName() === name)) { - out.push({ sub, origin: originOf(sym, `${sub} ${name}`) }); - } - } - return out; - }; + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // 1. The removed side: `./automation` still has a non-trivial surface — // so the `not.toContain` cannot pass by resolving nothing — and names // NOTHING from the retired L1 file, while surviving neighbours stand. - const automationNames = exportsOf('./automation').map((e) => e.getName()); + const automationNames = exportNamesOf('./automation'); expect(automationNames.length, './automation must export a non-trivial surface').toBeGreaterThan(50); for (const retired of [ 'DataSyncConfig', 'DataSyncConfigSchema', @@ -161,11 +113,11 @@ describe('[#4738] sync/conflict dual-source retirement', () => { // integration/connector.zod.ts and is exported by ./integration alone // (plus nothing else — the rename must not fan out). for (const name of ['ConnectorConflictResolution', 'ConnectorConflictResolutionSchema']) { - const holders = holdersOf(name); + const holders = holderOriginsOf(name); expect(holders.length, `${name} must be exported (by ./integration)`).toBeGreaterThan(0); for (const h of holders) { expect(h.sub, `${name} must only be exported by ./integration`).toBe('./integration'); - expect(h.origin).toMatch(/^src\/integration\/connector\.zod\.ts:\d+$/); + expect(originFile(h.origin)).toBe('src/integration/connector.zod.ts'); } } @@ -189,7 +141,7 @@ describe('[#4738] sync/conflict dual-source retirement', () => { // it back the bare word would be a second breaking change to gain // nothing), and nothing else may claim it either. for (const name of ['ConflictResolution', 'ConflictResolutionSchema']) { - const holders = holdersOf(name); + const holders = holderOriginsOf(name); expect( holders.map((h) => `${h.sub} (${h.origin})`), `${name} was retired with ui/offline.zod.ts at #4988 — no entry may re-adopt the bare name`, @@ -200,9 +152,9 @@ describe('[#4738] sync/conflict dual-source retirement', () => { // integration/connector.zod.ts — it kept its bare name because it is on // the live `ConnectorSchema.syncConfig` parse path. for (const name of ['DataSyncConfig', 'DataSyncConfigSchema']) { - const holders = holdersOf(name); + const holders = holderOriginsOf(name); expect(holders.map((h) => h.sub), `${name} must be owned by ./integration alone`).toEqual(['./integration']); - expect(holders[0].origin).toMatch(/^src\/integration\/connector\.zod\.ts:\d+$/); + expect(originFile(holders[0].origin)).toBe('src/integration/connector.zod.ts'); } // 5. The fourth relative is untouched: `ConflictResolutionStrategy` (route @@ -210,16 +162,16 @@ describe('[#4738] sync/conflict dual-source retirement', () => { // // ⚠️ Also rewritten at #4988. The old form proved distinctness by // comparing this declaration's origin against ui's `ConflictResolution` - // origin — and with that owner retired, `holdersOf(…)[0]` throws before + // origin — and with that owner retired, `holderOriginsOf(…)[0]` throws before // any assertion runs. The surviving, stronger statement is that this // relative kept its OWN name and stayed in `api/`: the retirement freed // a word, and the nearest neighbour is the most likely shape to drift // into it. - const strategyHolders = holdersOf('ConflictResolutionStrategy'); + const strategyHolders = holderOriginsOf('ConflictResolutionStrategy'); expect(strategyHolders.length, './api must still export ConflictResolutionStrategy').toBeGreaterThan(0); expect(strategyHolders.map((h) => h.sub)).toContain('./api'); for (const h of strategyHolders) { - expect(h.origin, 'ConflictResolutionStrategy must stay declared under src/api/').toMatch(/^src\/api\//); + expect(originFile(h.origin), 'ConflictResolutionStrategy must stay declared under src/api/').toMatch(/^src\/api\//); } }); diff --git a/packages/spec/src/cloud/tenant.test.ts b/packages/spec/src/cloud/tenant.test.ts index 9fb2089c86..6a43f8cac4 100644 --- a/packages/spec/src/cloud/tenant.test.ts +++ b/packages/spec/src/cloud/tenant.test.ts @@ -3,6 +3,15 @@ import { describe, it, expect } from 'vitest'; import { TenantPlanSchema } from './tenant.zod'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holdersOf, + maybeOriginOf, + originFileOf, + originOf, + originsOf, +} from '../../scripts/lib/export-origins-testkit'; // ─── [#4739] `TenantPlan(Schema)` has ONE declaration — ./cloud ────────────── // // `./cloud` and `./system` both exported a `TenantPlan` + `TenantPlanSchema`, @@ -34,65 +43,22 @@ import { TenantPlanSchema } from './tenant.zod'; // `typecheck`), so the load-bearing pin is the compiler-API test below, with // anti-vacuity guards; sabotage-verified in the PR. describe('[#4739] `TenantPlan(Schema)` resolves to the ./cloud declaration everywhere', () => { - it('resolves the export surface: only ./cloud declares `TenantPlan(Schema)`; the provisioning family is gone', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Every public entry point, read from package.json's exports map so a - // future entry cannot silently escape the uniqueness pin below. - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - // './openapi.json' / './package.json' are not TypeScript entry points. - } - // Anti-vacuity: the enumeration must have found the real surface. - expect(Object.keys(entries)).toContain('./cloud'); - expect(Object.keys(entries)).toContain('./system'); - expect(Object.keys(entries)).toContain('./contracts'); - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const unalias = (s: import('typescript').Symbol) => - s.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(s) : s; - - const exportsOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure would make every assertion - // below pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; - - const originOf = (sym: import('typescript').Symbol, label: string) => { - const decl = unalias(sym).declarations?.[0]; - expect(decl, `${label} must have a declaration`).toBeTruthy(); - const declFile = decl!.getSourceFile(); - return `${relative(specDir, declFile.fileName)}:${ - declFile.getLineAndCharacterOfPosition(decl!.getStart()).line + 1 - }`; - }; + it('resolves the export surface: only ./cloud declares `TenantPlan(Schema)`; the provisioning family is gone', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796.) + expect(EXPORT_ENTRY_POINTS).toContain('./cloud'); + expect(EXPORT_ENTRY_POINTS).toContain('./system'); + expect(EXPORT_ENTRY_POINTS).toContain('./contracts'); + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // 1. The removed side: `./system` still has a non-trivial surface — so // the `not.toContain` cannot pass by resolving nothing — and no longer // names any of the provisioning family, while its surviving // multi-tenant neighbours stand. - const systemExports = exportsOf('./system'); - expect(systemExports.length, './system must export a non-trivial surface').toBeGreaterThan(100); - const systemNames = systemExports.map((e) => e.getName()); + const systemNames = exportNamesOf('./system'); + expect(systemNames.length, './system must export a non-trivial surface').toBeGreaterThan(100); for (const gone of [ 'TenantPlan', 'TenantPlanSchema', 'TenantRegion', 'TenantRegionSchema', @@ -108,9 +74,8 @@ describe('[#4739] `TenantPlan(Schema)` resolves to the ./cloud declaration every // 2. The removed contracts: `./contracts` keeps its surface but the // declared-only provisioning pair is gone. - const contractsExports = exportsOf('./contracts'); - expect(contractsExports.length, './contracts must export a non-trivial surface').toBeGreaterThan(50); - const contractsNames = contractsExports.map((e) => e.getName()); + const contractsNames = exportNamesOf('./contracts'); + expect(contractsNames.length, './contracts must export a non-trivial surface').toBeGreaterThan(50); for (const gone of ['IProvisioningService', 'ITenantRouter', 'ResolvedTenantContext']) { expect(contractsNames, `./contracts must not name ${gone}`).not.toContain(gone); } @@ -118,48 +83,28 @@ describe('[#4739] `TenantPlan(Schema)` resolves to the ./cloud declaration every // 3. The surviving side: `./cloud` exports the const and its inferred // type, declared in cloud/tenant.zod.ts. - const cloudExports = exportsOf('./cloud'); - const cloudConst = cloudExports.find((e) => e.getName() === 'TenantPlanSchema'); - const cloudType = cloudExports.find((e) => e.getName() === 'TenantPlan'); - expect(cloudConst, './cloud must export `TenantPlanSchema`').toBeTruthy(); - expect(cloudType, './cloud must export `TenantPlan`').toBeTruthy(); - const constOrigin = originOf(cloudConst!, './cloud TenantPlanSchema'); - const typeOrigin = originOf(cloudType!, './cloud TenantPlan'); - expect(constOrigin).toMatch(/^src\/cloud\/tenant\.zod\.ts:\d+$/); - expect(typeOrigin).toMatch(/^src\/cloud\/tenant\.zod\.ts:\d+$/); + expect(maybeOriginOf('./cloud', 'TenantPlanSchema'), './cloud must export `TenantPlanSchema`').toBeDefined(); + expect(maybeOriginOf('./cloud', 'TenantPlan'), './cloud must export `TenantPlan`').toBeDefined(); + expect(originFileOf('./cloud', 'TenantPlanSchema')).toBe('src/cloud/tenant.zod.ts'); + expect(originFileOf('./cloud', 'TenantPlan')).toBe('src/cloud/tenant.zod.ts'); // 4. Uniqueness — the dual-source pin proper: across EVERY public entry, // an export named `TenantPlan` / `TenantPlanSchema` must resolve to // that ONE cloud declaration — and `./system` must not be a holder at // all, so even a same-symbol re-export (invisible to the dual-source // gate) violates the ruling and turns this red. - const holders: Record = { TenantPlan: [], TenantPlanSchema: [] }; - const canonical: Record = { - TenantPlan: typeOrigin, - TenantPlanSchema: constOrigin, - }; - for (const sub of Object.keys(entries)) { - for (const name of Object.keys(holders)) { - for (const sym of exportsOf(sub).filter((e) => e.getName() === name)) { - holders[name].push(sub); - expect( - originOf(sym, `${sub} ${name}`), - `${sub} must resolve \`${name}\` to the cloud declaration`, - ).toBe(canonical[name]); - } - } + for (const name of ['TenantPlan', 'TenantPlanSchema'] as const) { + expect( + originsOf(name), + `every entry must resolve \`${name}\` to the cloud declaration`, + ).toEqual([originOf('./cloud', name)]); + expect(holdersOf(name)).toContain('./cloud'); + expect(holdersOf(name)).not.toContain('./system'); } - expect(holders.TenantPlanSchema).toContain('./cloud'); - expect(holders.TenantPlanSchema).not.toContain('./system'); - expect(holders.TenantPlan).toContain('./cloud'); - expect(holders.TenantPlan).not.toContain('./system'); // 5. The retired contract interfaces exist in NO entry any more. - for (const sub of Object.keys(entries)) { - const names = exportsOf(sub).map((e) => e.getName()); - for (const gone of ['IProvisioningService', 'ITenantRouter', 'ResolvedTenantContext']) { - expect(names, `${sub} must not name ${gone}`).not.toContain(gone); - } + for (const gone of ['IProvisioningService', 'ITenantRouter', 'ResolvedTenantContext']) { + expect(holdersOf(gone), `no entry may name ${gone}`).toEqual([]); } }); diff --git a/packages/spec/src/integration/connector.test.ts b/packages/spec/src/integration/connector.test.ts index 004c5e8d8f..7daef24fae 100644 --- a/packages/spec/src/integration/connector.test.ts +++ b/packages/spec/src/integration/connector.test.ts @@ -59,6 +59,10 @@ import { ConnectorAuthConfigSchema as AuthConfigSchema, } from '../shared/connector-auth.zod'; +import { + originFileOf, + originMapOf, +} from '../../scripts/lib/export-origins-testkit'; // Deriving types from schemas type APIKey = z.infer; type OAuth2 = z.infer; @@ -843,54 +847,18 @@ describe('[#4911] `./integration` no longer publishes an outbound rate-limit sha // ORIGINAL declaration: the same symbol-identity measurement // `check:dual-source-exports` makes, but over `src/` so it runs in `pnpm test` // without a build. - it('no name resolves to two declarations across ./shared and ./integration (types included)', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - const entries = { - './shared': resolve(specDir, 'src/shared/index.ts'), - './integration': resolve(specDir, 'src/integration/index.ts'), - }; - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const unalias = (s: import('typescript').Symbol) => - s.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(s) : s; - - /** entry → exported name → `file:line` of the ORIGINAL declaration. */ - const originsByEntry = new Map>(); - for (const [sub, file] of Object.entries(entries)) { - const sf = program.getSourceFile(file); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this, a resolution failure would make every assertion below - // pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - - const origins = new Map(); - for (const exported of checker.getExportsOfModule(moduleSym!)) { - const decl = unalias(exported).declarations?.[0]; - if (!decl) continue; - const declFile = decl.getSourceFile(); - origins.set( - exported.getName(), - `${relative(specDir, declFile.fileName)}:${ - declFile.getLineAndCharacterOfPosition(decl.getStart()).line + 1 - }`, - ); - } - // Guard #2: an entry that resolved to nothing would also pass vacuously. + it('no name resolves to two declarations across ./shared and ./integration (types included)', () => { + // The per-entry origin maps `export-origins/` records. (Each of these two + // pins used to build its own `ts.createProgram` right here; that resolution + // is now a build-time artifact — #4796.) + const shared = originMapOf('./shared'); + const integration = originMapOf('./integration'); + // Guard: an entry that resolved to nothing would make every assertion below + // pass vacuously — the exact way a gate goes dormant (#4642). + for (const [sub, origins] of [['./shared', shared], ['./integration', integration]] as const) { expect(origins.size, `${sub} must export something`).toBeGreaterThan(20); - originsByEntry.set(sub, origins); } - const shared = originsByEntry.get('./shared')!; - const integration = originsByEntry.get('./integration')!; // The names this issue is about. TYPE-level absence of the retired shape — // the assertion the runtime `in`-checks above structurally cannot make. @@ -903,11 +871,9 @@ describe('[#4911] `./integration` no longer publishes an outbound rate-limit sha expect(integration.get('RateLimitConfigSchema')).toBeUndefined(); // Positive control for the four `toBeUndefined()`s above: a live neighbour // in the same file must still resolve, or they would pass vacuously. - expect(integration.get('RetryConfigSchema')).toMatch( - /^src\/integration\/connector\.zod\.ts:\d+$/, - ); - expect(shared.get('RateLimitConfig')).toMatch(/^src\/shared\/http\.zod\.ts:\d+$/); - expect(shared.get('RateLimitConfigSchema')).toMatch(/^src\/shared\/http\.zod\.ts:\d+$/); + expect(originFileOf('./integration', 'RetryConfigSchema')).toBe('src/integration/connector.zod.ts'); + expect(originFileOf('./shared', 'RateLimitConfig')).toBe('src/shared/http.zod.ts'); + expect(originFileOf('./shared', 'RateLimitConfigSchema')).toBe('src/shared/http.zod.ts'); // And the general invariant for this pair of entries: any name they BOTH // export must resolve to one and the same declaration. The list stayed @@ -1119,67 +1085,30 @@ describe('[#4703] FieldMapping no longer names three declarations', () => { // TypeScript compiler API — the same symbol-identity measurement // `check:dual-source-exports` makes against `dist`, run over `src/` so it is // part of `pnpm test`. Three entries means THREE pairs, all checked. - it('no name resolves to two declarations across ./shared, ./integration and ./data (types included)', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - const entries = { - './shared': resolve(specDir, 'src/shared/index.ts'), - './integration': resolve(specDir, 'src/integration/index.ts'), - './data': resolve(specDir, 'src/data/index.ts'), - }; - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const unalias = (s: import('typescript').Symbol) => - s.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(s) : s; - - /** entry → exported name → `file:line` of the ORIGINAL declaration. */ - const originsByEntry = new Map>(); - for (const [sub, file] of Object.entries(entries)) { - const sf = program.getSourceFile(file); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this, a resolution failure would make every assertion below - // pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - - const origins = new Map(); - for (const exported of checker.getExportsOfModule(moduleSym!)) { - const decl = unalias(exported).declarations?.[0]; - if (!decl) continue; - const declFile = decl.getSourceFile(); - origins.set( - exported.getName(), - `${relative(specDir, declFile.fileName)}:${ - declFile.getLineAndCharacterOfPosition(decl.getStart()).line + 1 - }`, - ); - } - // Guard #2: an entry that resolved to nothing would also pass vacuously. + it('no name resolves to two declarations across ./shared, ./integration and ./data (types included)', () => { + // The per-entry origin maps `export-origins/` records. (Each of these two + // pins used to build its own `ts.createProgram` right here; that resolution + // is now a build-time artifact — #4796.) + const shared = originMapOf('./shared'); + const integration = originMapOf('./integration'); + const data = originMapOf('./data'); + // Guard: an entry that resolved to nothing would make every assertion below + // pass vacuously — the exact way a gate goes dormant (#4642). + for (const [sub, origins] of [['./shared', shared], ['./integration', integration], ['./data', data]] as const) { expect(origins.size, `${sub} must export something`).toBeGreaterThan(20); - originsByEntry.set(sub, origins); } - const shared = originsByEntry.get('./shared')!; - const integration = originsByEntry.get('./integration')!; - const data = originsByEntry.get('./data')!; // Each renamed name resolves into its own domain's file… for (const name of ['ConnectorFieldMapping', 'ConnectorFieldMappingSchema']) { - expect(integration.get(name), name).toMatch(/^src\/integration\/connector\.zod\.ts:\d+$/); + expect(originFileOf('./integration', name), name).toBe('src/integration/connector.zod.ts'); } for (const name of ['ImportFieldMapping', 'ImportFieldMappingSchema']) { - expect(data.get(name), name).toMatch(/^src\/data\/mapping\.zod\.ts:\d+$/); + expect(originFileOf('./data', name), name).toBe('src/data/mapping.zod.ts'); } // …the base keeps the bare name on `./shared` only… for (const name of ['FieldMapping', 'FieldMappingSchema']) { - expect(shared.get(name), name).toMatch(/^src\/shared\/mapping\.zod\.ts:\d+$/); + expect(originFileOf('./shared', name), name).toBe('src/shared/mapping.zod.ts'); expect(integration.get(name), `${name} must be gone from ./integration`).toBeUndefined(); expect(data.get(name), `${name} must be gone from ./data`).toBeUndefined(); } @@ -1191,7 +1120,7 @@ describe('[#4703] FieldMapping no longer names three declarations', () => { // handful of `./shared` declarations (identical origin — that is fine and // is what this measures), so only a name resolving to two DIFFERENT files // counts. - const pairs: Array<[string, Map, string, Map]> = [ + const pairs: Array<[string, ReadonlyMap, string, ReadonlyMap]> = [ ['./shared', shared, './integration', integration], ['./shared', shared, './data', data], ['./integration', integration, './data', data], diff --git a/packages/spec/src/kernel/activation-events-retirement.test.ts b/packages/spec/src/kernel/activation-events-retirement.test.ts index f9322b3ae5..99f39b01d7 100644 --- a/packages/spec/src/kernel/activation-events-retirement.test.ts +++ b/packages/spec/src/kernel/activation-events-retirement.test.ts @@ -2,6 +2,11 @@ import { describe, it, expect } from 'vitest'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holdersOf, +} from '../../scripts/lib/export-origins-testkit'; // ─── [#4657] `ActivationEventSchema` / `ActivationEvent` are REMOVED ───────── // // ADR-0049 enforce-or-remove, ruled REMOVE: the activation-event vocabulary @@ -31,64 +36,23 @@ import { describe, it, expect } from 'vitest'; // carried the tombstoned key — was removed whole, so this file's kernel-side // parse assertion is gone. See the block above the studio test.) describe('[#4657] ActivationEventSchema removal — no entry exports the name', () => { - it('resolves the export surface: the retired names have ZERO holders across every public entry', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative } = await import('node:path'); - const { dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Every public entry point, read from package.json's exports map so a - // future entry cannot silently escape the absence pins below. - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - // './openapi.json' / './package.json' are not TypeScript entry points. - } - // Anti-vacuity: the enumeration must have found the real surface — the two - // entries that used to export the retired names most of all. + it('resolves the export surface: the retired names have ZERO holders across every public entry', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796. `holdersOf` is now the baseline's query, and + // `export-origins.test.ts` pins that it discriminates.) for (const needed of ['./kernel', './studio']) { - expect(Object.keys(entries), `exports map must include ${needed}`).toContain(needed); + expect(EXPORT_ENTRY_POINTS, `exports map must include ${needed}`).toContain(needed); } - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - - const exportsOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure would make every `not.toContain` - // below pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; - - /** Every entry that exports `name` — for a removal this must be []. */ - const holdersOf = (name: string) => { - const out: string[] = []; - for (const sub of Object.keys(entries)) { - if (exportsOf(sub).some((e) => e.getName() === name)) out.push(sub); - } - return out; - }; + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // 1. Anti-vacuity on the two surfaces that carried the names: both still // export a non-trivial surface (so "does not contain" cannot pass by // resolving nothing), and the SURVIVING neighbours stand — the parents // whose keys were retired most of all. - const kernelNames = exportsOf('./kernel').map((e) => e.getName()); - const studioNames = exportsOf('./studio').map((e) => e.getName()); + const kernelNames = exportNamesOf('./kernel'); + const studioNames = exportNamesOf('./studio'); expect(kernelNames.length, './kernel must export a non-trivial surface').toBeGreaterThan(40); expect(studioNames.length, './studio must export a non-trivial surface').toBeGreaterThan(40); // (The kernel anchors used to be `DynamicLoadRequestSchema` / diff --git a/packages/spec/src/kernel/package-dependency-dual-source.test.ts b/packages/spec/src/kernel/package-dependency-dual-source.test.ts index 53804f63e9..271329249f 100644 --- a/packages/spec/src/kernel/package-dependency-dual-source.test.ts +++ b/packages/spec/src/kernel/package-dependency-dual-source.test.ts @@ -2,6 +2,12 @@ import { describe, it, expect } from 'vitest'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holderOriginsOf, + originFile, +} from '../../scripts/lib/export-origins-testkit'; // ─── [#4741] `PackageDependency` has ONE owner per name (./kernel renamed) ─── // // Dual-source ledger #4535, cluster C7 — the last cluster of the second batch. @@ -36,68 +42,15 @@ import { describe, it, expect } from 'vitest'; // to anyone reading `./kernel`, and independently rejected at BUILD time by // RENAMED_DEFS invariant 3, "the source def is still emitted"). describe('[#4741] PackageDependency dual-source retirement (C7)', () => { - it('resolves the export surface: one owner per name, across every public entry', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Every public entry point, read from package.json's exports map so a - // future entry cannot silently escape the uniqueness pins below. - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - // './openapi.json' / './package.json' are not TypeScript entry points. - } - // Anti-vacuity: the enumeration must have found the real surface. + it('resolves the export surface: one owner per name, across every public entry', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796.) for (const needed of ['./cloud', './kernel']) { - expect(Object.keys(entries), `exports map must include ${needed}`).toContain(needed); + expect(EXPORT_ENTRY_POINTS, `exports map must include ${needed}`).toContain(needed); } - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const unalias = (s: import('typescript').Symbol) => - s.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(s) : s; - - const exportsOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure would make every assertion - // below pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; - - const originOf = (sym: import('typescript').Symbol, label: string) => { - const decl = unalias(sym).declarations?.[0]; - expect(decl, `${label} must have a declaration`).toBeTruthy(); - const declFile = decl!.getSourceFile(); - return `${relative(specDir, declFile.fileName)}:${ - declFile.getLineAndCharacterOfPosition(decl!.getStart()).line + 1 - }`; - }; - - /** Every entry that exports `name`, with each occurrence's declaration origin. */ - const holdersOf = (name: string) => { - const out: Array<{ sub: string; origin: string }> = []; - for (const sub of Object.keys(entries)) { - for (const sym of exportsOf(sub).filter((e) => e.getName() === name)) { - out.push({ sub, origin: originOf(sym, `${sub} ${name}`) }); - } - } - return out; - }; + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // 1. The renamed-away side: `./kernel` still has a non-trivial surface — so // the `not.toContain` below cannot pass by resolving nothing — and no @@ -105,7 +58,7 @@ describe('[#4741] PackageDependency dual-source retirement (C7)', () => { // same-prefix neighbours are the trap this cluster was warned about: // `PackageDependencyConflict` and `PackageDependencyResolutionResult` // are DIFFERENT concepts that merely share a prefix, and must be intact. - const kernelNames = exportsOf('./kernel').map((e) => e.getName()); + const kernelNames = exportNamesOf('./kernel'); expect(kernelNames.length, './kernel must export a non-trivial surface').toBeGreaterThan(40); for (const retired of ['PackageDependencySchema', 'PackageDependency']) { expect(kernelNames, `./kernel must not export ${retired}`).not.toContain(retired); @@ -125,11 +78,11 @@ describe('[#4741] PackageDependency dual-source retirement (C7)', () => { // kernel/plugin-security.zod.ts and is exported by ./kernel alone — the // rename must not fan out into a second entry. for (const name of ['ResolvedPackageDependencySchema', 'ResolvedPackageDependency']) { - const holders = holdersOf(name); + const holders = holderOriginsOf(name); expect(holders.length, `${name} must be exported (by ./kernel)`).toBeGreaterThan(0); for (const h of holders) { expect(h.sub, `${name} must only be exported by ./kernel`).toBe('./kernel'); - expect(h.origin).toMatch(/^src\/kernel\/plugin-security\.zod\.ts:\d+$/); + expect(originFile(h.origin)).toBe('src/kernel/plugin-security.zod.ts'); } } @@ -143,9 +96,9 @@ describe('[#4741] PackageDependency dual-source retirement (C7)', () => { // the C14/C15/C17 lesson: a re-export can lie about the domain even when // the symbol itself is honest. Exact equality, not a subset check. for (const name of ['PackageDependencySchema', 'PackageDependency']) { - const holders = holdersOf(name); + const holders = holderOriginsOf(name); expect(holders.map((h) => h.sub), `${name} must be owned by ./cloud alone`).toEqual(['./cloud']); - expect(holders[0].origin).toMatch(/^src\/cloud\/package-version\.zod\.ts:\d+$/); + expect(originFile(holders[0].origin)).toBe('src/cloud/package-version.zod.ts'); } }); diff --git a/packages/spec/src/kernel/plugin-runtime-retirement.test.ts b/packages/spec/src/kernel/plugin-runtime-retirement.test.ts index 61764f65d4..b6295f00c9 100644 --- a/packages/spec/src/kernel/plugin-runtime-retirement.test.ts +++ b/packages/spec/src/kernel/plugin-runtime-retirement.test.ts @@ -2,6 +2,11 @@ import { describe, it, expect } from 'vitest'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holdersOf, +} from '../../scripts/lib/export-origins-testkit'; // ─── [#4834] the `plugin-runtime.zod` family is REMOVED ───────────────────── // // ADR-0049 enforce-or-remove, ruled REMOVE. `DynamicLoadRequestSchema`, @@ -52,64 +57,22 @@ describe('[#4834] plugin-runtime family removal — no entry exports any of the 'DynamicUnloadRequestInput', ] as const; - it('resolves the export surface: the retired names have ZERO holders across every public entry', async () => { - const ts = (await import('typescript')).default; - const { resolve, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Every public entry point, read from package.json's exports map so a - // future entry cannot silently escape the absence assertions below. - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - // './openapi.json' / './package.json' are not TypeScript entry points. - } - // Anti-vacuity (1): the enumeration found the real surface — including the - // entry that used to own every retired name, and the root barrel that - // re-exported it. + it('resolves the export surface: the retired names have ZERO holders across every public entry', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796. `holdersOf` is now the baseline's query, and + // `export-origins.test.ts` pins that it discriminates.) for (const needed of ['.', './kernel']) { - expect(Object.keys(entries), `exports map must include ${needed}`).toContain(needed); + expect(EXPORT_ENTRY_POINTS, `exports map must include ${needed}`).toContain(needed); } - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - - const exportsOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Anti-vacuity (2): without this guard a resolution failure would make - // every absence assertion below pass for free — exactly how a gate goes - // dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; - - /** Every entry that exports `name` — for a removal this must be []. */ - const holdersOf = (name: string): string[] => { - const out: string[] = []; - for (const sub of Object.keys(entries)) { - if (exportsOf(sub).some((e) => e.getName() === name)) out.push(sub); - } - return out; - }; + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // Anti-vacuity (3): `holdersOf` actually finds holders when a name IS // exported — proven on a surviving kernel neighbour, so `[]` below means // "absent", not "the probe is broken". expect(holdersOf('PluginSchema')).toContain('./kernel'); - const kernelNames = exportsOf('./kernel').map((e) => e.getName()); + const kernelNames = exportNamesOf('./kernel'); expect(kernelNames.length, './kernel must still export a non-trivial surface').toBeGreaterThan(40); // The removal itself: NO public entry exports any of the twelve names — diff --git a/packages/spec/src/studio/action-location-retirement.test.ts b/packages/spec/src/studio/action-location-retirement.test.ts index da2b675072..80e500b1df 100644 --- a/packages/spec/src/studio/action-location-retirement.test.ts +++ b/packages/spec/src/studio/action-location-retirement.test.ts @@ -2,6 +2,12 @@ import { describe, it, expect } from 'vitest'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holderOriginsOf, + originFile, +} from '../../scripts/lib/export-origins-testkit'; // ─── [#4737] `ActionLocation` has ONE owner per name (./studio renamed) ────── // // Dual-source ledger #4535, cluster C17. Before this change `ActionLocationSchema` @@ -32,74 +38,20 @@ import { describe, it, expect } from 'vitest'; // from ./studio under the bare name — green to the dual-source gate, a lie to // authors — and resurrecting the old 3-value const each turn it red). describe('[#4737] studio ActionLocation dual-source retirement', () => { - it('resolves the export surface: one owner per name, across every public entry', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative } = await import('node:path'); - const { dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Every public entry point, read from package.json's exports map so a - // future entry cannot silently escape the uniqueness pins below. - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - // './openapi.json' / './package.json' are not TypeScript entry points. - } - // Anti-vacuity: the enumeration must have found the real surface. + it('resolves the export surface: one owner per name, across every public entry', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796.) for (const needed of ['./studio', './ui']) { - expect(Object.keys(entries), `exports map must include ${needed}`).toContain(needed); + expect(EXPORT_ENTRY_POINTS, `exports map must include ${needed}`).toContain(needed); } - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const unalias = (s: import('typescript').Symbol) => - s.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(s) : s; - - const exportsOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure would make every assertion - // below pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; - - const originOf = (sym: import('typescript').Symbol, label: string) => { - const decl = unalias(sym).declarations?.[0]; - expect(decl, `${label} must have a declaration`).toBeTruthy(); - const declFile = decl!.getSourceFile(); - return `${relative(specDir, declFile.fileName)}:${ - declFile.getLineAndCharacterOfPosition(decl!.getStart()).line + 1 - }`; - }; - - /** Every entry that exports `name`, with each occurrence's declaration origin. */ - const holdersOf = (name: string) => { - const out: Array<{ sub: string; origin: string }> = []; - for (const sub of Object.keys(entries)) { - for (const sym of exportsOf(sub).filter((e) => e.getName() === name)) { - out.push({ sub, origin: originOf(sym, `${sub} ${name}`) }); - } - } - return out; - }; + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // 1. The renamed-away side: `./studio` still has a non-trivial surface — // so the `not.toContain` cannot pass by resolving nothing — and no // longer names the old export, while surviving neighbours stand. - const studioNames = exportsOf('./studio').map((e) => e.getName()); + const studioNames = exportNamesOf('./studio'); expect(studioNames.length, './studio must export a non-trivial surface').toBeGreaterThan(40); for (const retired of ['ActionLocationSchema', 'ActionLocation']) { expect(studioNames, `./studio must not export ${retired}`).not.toContain(retired); @@ -111,11 +63,11 @@ describe('[#4737] studio ActionLocation dual-source retirement', () => { // studio/plugin.zod.ts and is exported by ./studio alone (plus nothing // else — the rename must not fan out). for (const name of ['ActionContributionLocationSchema', 'ActionContributionLocation']) { - const holders = holdersOf(name); + const holders = holderOriginsOf(name); expect(holders.length, `${name} must be exported (by ./studio)`).toBeGreaterThan(0); for (const h of holders) { expect(h.sub, `${name} must only be exported by ./studio`).toBe('./studio'); - expect(h.origin).toMatch(/^src\/studio\/plugin\.zod\.ts:\d+$/); + expect(originFile(h.origin)).toBe('src/studio/plugin.zod.ts'); } } @@ -127,17 +79,17 @@ describe('[#4737] studio ActionLocation dual-source retirement', () => { // valid manifest contribution locations — the C14/C15 lesson: a // re-export can lie about the domain even when the symbol is honest. for (const name of ['ActionLocationSchema', 'ActionLocation']) { - const holders = holdersOf(name); + const holders = holderOriginsOf(name); expect(holders.map((h) => h.sub), `${name} must be owned by ./ui alone`).toEqual(['./ui']); - expect(holders[0].origin).toMatch(/^src\/ui\/action\.zod\.ts:\d+$/); + expect(originFile(holders[0].origin)).toBe('src/ui/action.zod.ts'); } // 4. The canonical list constant travels with it: `ACTION_LOCATIONS` (the // array objectui pins by reference) stays ./ui-owned and distinct from // the studio declaration file. - const listHolders = holdersOf('ACTION_LOCATIONS'); + const listHolders = holderOriginsOf('ACTION_LOCATIONS'); expect(listHolders.map((h) => h.sub), 'ACTION_LOCATIONS must be owned by ./ui alone').toEqual(['./ui']); - expect(listHolders[0].origin).toMatch(/^src\/ui\/action\.zod\.ts:\d+$/); + expect(originFile(listHolders[0].origin)).toBe('src/ui/action.zod.ts'); }); it('keeps the runtime namespaces consistent with the compiler view', async () => { diff --git a/packages/spec/src/system/environment-artifact.test.ts b/packages/spec/src/system/environment-artifact.test.ts index abaedae32c..635d29e1a5 100644 --- a/packages/spec/src/system/environment-artifact.test.ts +++ b/packages/spec/src/system/environment-artifact.test.ts @@ -7,6 +7,15 @@ import { Sha256DigestSchema, } from './environment-artifact.zod'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holdersOf, + maybeOriginOf, + originFileOf, + originOf, + originsOf, +} from '../../scripts/lib/export-origins-testkit'; // ─── [#4740] `EnvironmentArtifact(Schema)` has ONE declaration — ./system ─── // // `./cloud` and `./system` both exported `EnvironmentArtifact` / @@ -51,63 +60,21 @@ const RETIRED_V0_FAMILY = [ ] as const; describe('[#4740] `EnvironmentArtifact(Schema)` resolves to the ./system declaration everywhere', () => { - it('resolves the export surface: one declaration in ./system, ./cloud re-exports it, the v0 family is gone', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Every public entry point, read from package.json's exports map so a - // future entry cannot silently escape the uniqueness pin below. - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - // './openapi.json' / './package.json' are not TypeScript entry points. - } - // Anti-vacuity: the enumeration must have found the real surface. - expect(Object.keys(entries)).toContain('./cloud'); - expect(Object.keys(entries)).toContain('./system'); - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const unalias = (s: import('typescript').Symbol) => - s.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(s) : s; - - const exportsOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure would make every assertion - // below pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; - - const originOf = (sym: import('typescript').Symbol, label: string) => { - const decl = unalias(sym).declarations?.[0]; - expect(decl, `${label} must have a declaration`).toBeTruthy(); - const declFile = decl!.getSourceFile(); - return `${relative(specDir, declFile.fileName)}:${ - declFile.getLineAndCharacterOfPosition(decl!.getStart()).line + 1 - }`; - }; + it('resolves the export surface: one declaration in ./system, ./cloud re-exports it, the v0 family is gone', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796.) + expect(EXPORT_ENTRY_POINTS).toContain('./cloud'); + expect(EXPORT_ENTRY_POINTS).toContain('./system'); + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // 1. The surviving declaration: `./system` exports the envelope, declared // in system/environment-artifact.zod.ts — and still exports a // non-trivial surface, so the `not.toContain` checks below cannot pass // by resolving nothing. - const systemExports = exportsOf('./system'); - expect(systemExports.length, './system must export a non-trivial surface').toBeGreaterThan(100); + const systemNames = exportNamesOf('./system'); + expect(systemNames.length, './system must export a non-trivial surface').toBeGreaterThan(100); // `EnvironmentArtifactInput` was retired by ADR-0122 phase 2 (#6083) — the // bare name IS the author state now, and the parsed state moved onto // `EnvironmentArtifactParsed`. The pin follows the surviving names: the @@ -116,59 +83,44 @@ describe('[#4740] `EnvironmentArtifact(Schema)` resolves to the ./system declara const names = ['EnvironmentArtifact', 'EnvironmentArtifactParsed', 'EnvironmentArtifactSchema'] as const; const canonical: Record = {}; for (const name of names) { - const sym = systemExports.find((e) => e.getName() === name); - expect(sym, `./system must export \`${name}\``).toBeTruthy(); - const origin = originOf(sym!, `./system ${name}`); - expect(origin).toMatch(/^src\/system\/environment-artifact\.zod\.ts:\d+$/); - canonical[name] = origin; + expect(maybeOriginOf('./system', name), `./system must export \`${name}\``).toBeDefined(); + expect(originFileOf('./system', name)).toBe('src/system/environment-artifact.zod.ts'); + canonical[name] = originOf('./system', name); } // 2. The re-exporting side: `./cloud` keeps every pre-#4740 name, but // each resolves to the SAME ./system declaration — the sanctioned // route A′. A fresh cloud-side declaration flips this red (S2). - const cloudExports = exportsOf('./cloud'); for (const name of names) { - const sym = cloudExports.find((e) => e.getName() === name); - expect(sym, `./cloud must keep exporting \`${name}\``).toBeTruthy(); + expect(maybeOriginOf('./cloud', name), `./cloud must keep exporting \`${name}\``).toBeDefined(); expect( - originOf(sym!, `./cloud ${name}`), + originOf('./cloud', name), `./cloud must resolve \`${name}\` to the ./system declaration`, ).toBe(canonical[name]); } // `Sha256Digest(Schema)` moved with the declaration; ./cloud keeps it by // re-export too. for (const name of ['Sha256Digest', 'Sha256DigestSchema']) { - const sys = systemExports.find((e) => e.getName() === name); - const cld = cloudExports.find((e) => e.getName() === name); - expect(sys, `./system must export \`${name}\``).toBeTruthy(); - expect(cld, `./cloud must keep exporting \`${name}\``).toBeTruthy(); - expect(originOf(cld!, `./cloud ${name}`)).toBe(originOf(sys!, `./system ${name}`)); - expect(originOf(sys!, `./system ${name}`)).toMatch( - /^src\/system\/environment-artifact\.zod\.ts:\d+$/, - ); + expect(maybeOriginOf('./system', name), `./system must export \`${name}\``).toBeDefined(); + expect(maybeOriginOf('./cloud', name), `./cloud must keep exporting \`${name}\``).toBeDefined(); + expect(originOf('./cloud', name)).toBe(originOf('./system', name)); + expect(originFileOf('./system', name)).toBe('src/system/environment-artifact.zod.ts'); } // 3. Uniqueness — the dual-source pin proper: across EVERY public entry, // an export named `EnvironmentArtifact(Parsed|Schema)` must resolve to // the ONE ./system declaration. Re-adding a second declaration under // any entry (S1/S2 sabotage) turns this red. - for (const sub of Object.keys(entries)) { - for (const name of names) { - for (const sym of exportsOf(sub).filter((e) => e.getName() === name)) { - expect( - originOf(sym, `${sub} ${name}`), - `${sub} must resolve \`${name}\` to the ./system declaration`, - ).toBe(canonical[name]); - } - } + for (const name of names) { + expect( + originsOf(name), + `every entry must resolve \`${name}\` to the ./system declaration`, + ).toEqual([canonical[name]]); } // 4. The retired v0 family exists in NO entry any more. - for (const sub of Object.keys(entries)) { - const subNames = exportsOf(sub).map((e) => e.getName()); - for (const gone of RETIRED_V0_FAMILY) { - expect(subNames, `${sub} must not name ${gone}`).not.toContain(gone); - } + for (const gone of RETIRED_V0_FAMILY) { + expect(holdersOf(gone), `no entry may name ${gone}`).toEqual([]); } }); diff --git a/packages/spec/src/system/notification.test.ts b/packages/spec/src/system/notification.test.ts index c0bf0c3ea2..38928c5181 100644 --- a/packages/spec/src/system/notification.test.ts +++ b/packages/spec/src/system/notification.test.ts @@ -1,6 +1,12 @@ import { describe, it, expect } from 'vitest'; import { NotificationChannelSchema } from './notification.zod'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + originFile, + holderOriginsOf, +} from '../../scripts/lib/export-origins-testkit'; describe('NotificationChannelSchema', () => { it('should accept all valid channels', () => { const validChannels = [ @@ -69,75 +75,22 @@ describe('[#4616] notification-template orphan removal', () => { 'NotificationConfig', ]; - it('resolves the export surface: no removed name survives on any entry, and the survivors keep their owners', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Every public entry point, read from package.json's exports map so a - // future entry cannot silently escape the assertions below. - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - // './openapi.json' / './package.json' are not TypeScript entry points. - } - // Anti-vacuity: the enumeration must have found the real surface, including - // every entry these names could plausibly be re-exported from. + it('resolves the export surface: no removed name survives on any entry, and the survivors keep their owners', () => { + // Anti-vacuity: the baseline must cover the real surface, including every + // entry these names could plausibly be re-exported from. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796.) for (const needed of ['.', './system', './ui', './contracts', './api']) { - expect(Object.keys(entries), `exports map must include ${needed}`).toContain(needed); + expect(EXPORT_ENTRY_POINTS, `exports map must include ${needed}`).toContain(needed); } - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const unalias = (s: import('typescript').Symbol) => - s.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(s) : s; - - const exportsOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure would make every `not.toContain` - // below pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; - - const originOf = (sym: import('typescript').Symbol, label: string) => { - const decl = unalias(sym).declarations?.[0]; - expect(decl, `${label} must have a declaration`).toBeTruthy(); - const declFile = decl!.getSourceFile(); - return `${relative(specDir, declFile.fileName)}:${ - declFile.getLineAndCharacterOfPosition(decl!.getStart()).line + 1 - }`; - }; - - /** Every entry that exports `name`, with each occurrence's declaration origin. */ - const holdersOf = (name: string) => { - const out: Array<{ sub: string; origin: string }> = []; - for (const sub of Object.keys(entries)) { - for (const sym of exportsOf(sub).filter((e) => e.getName() === name)) { - out.push({ sub, origin: originOf(sym, `${sub} ${name}`) }); - } - } - return out.sort((a, b) => a.sub.localeCompare(b.sub)); - }; + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // Anti-vacuity: the entries we are about to prove things ABSENT from must // each resolve a large, real surface first. - expect(exportsOf('./system').length, './system must export a non-trivial surface').toBeGreaterThan(400); - expect(exportsOf('./ui').length, './ui must export a non-trivial surface').toBeGreaterThan(200); - expect(exportsOf('./contracts').length, './contracts must export a non-trivial surface').toBeGreaterThan(100); + expect(exportNamesOf('./system').length, './system must export a non-trivial surface').toBeGreaterThan(400); + expect(exportNamesOf('./ui').length, './ui must export a non-trivial surface').toBeGreaterThan(200); + expect(exportNamesOf('./contracts').length, './contracts must export a non-trivial surface').toBeGreaterThan(100); // 1. Every removed name is absent from EVERY entry — not merely from // ./system. A re-export elsewhere under the bare name would keep the @@ -145,20 +98,20 @@ describe('[#4616] notification-template orphan removal', () => { // declaration (the C14/C15/C17 lesson: a re-export can lie about the // domain even when the symbol is honest). for (const name of REMOVED) { - expect(holdersOf(name), `${name} must not be exported by any entry point`).toEqual([]); + expect(holderOriginsOf(name), `${name} must not be exported by any entry point`).toEqual([]); } // 2. The survivor in this module: `NotificationChannel(Schema)` is live — // `./contracts` re-exports the TYPE and service-messaging consumes it — // so both holders must resolve to the ONE declaration in this file. - const channelSchema = holdersOf('NotificationChannelSchema'); + const channelSchema = holderOriginsOf('NotificationChannelSchema'); expect(channelSchema.map((h) => h.sub)).toEqual(['./system']); - expect(channelSchema[0].origin).toMatch(/^src\/system\/notification\.zod\.ts:\d+$/); - const channelType = holdersOf('NotificationChannel'); + expect(originFile(channelSchema[0].origin)).toBe('src/system/notification.zod.ts'); + const channelType = holderOriginsOf('NotificationChannel'); expect(channelType.map((h) => h.sub)).toEqual(['./contracts', './system']); for (const h of channelType) { - expect(h.origin, 'both holders must share one declaration').toMatch( - /^src\/system\/notification\.zod\.ts:\d+$/, + expect(originFile(h.origin), 'both holders must share one declaration').toBe( + 'src/system/notification.zod.ts', ); } @@ -166,9 +119,9 @@ describe('[#4616] notification-template orphan removal', () => { // the removed `EmailTemplateSchema`. `BUILTIN_METADATA_TYPE_SCHEMAS` // resolves the `email_template` kind to this one; spec 7.1.0 already // demoted the legacy shape here, and #4616 finished the job. - const definition = holdersOf('EmailTemplateDefinitionSchema'); + const definition = holderOriginsOf('EmailTemplateDefinitionSchema'); expect(definition.map((h) => h.sub)).toEqual(['./system']); - expect(definition[0].origin).toMatch(/^src\/system\/email-template\.zod\.ts:\d+$/); + expect(originFile(definition[0].origin)).toBe('src/system/email-template.zod.ts'); // 4. REFUTED SIBLING — #4616's issue body proposed retiring `./ui`'s // `NotificationSeveritySchema` in the same sweep on the premise that @@ -181,9 +134,9 @@ describe('[#4616] notification-template orphan removal', () => { // live and ./ui-owned; this assertion exists so the claim is not // re-litigated from the issue text. for (const name of ['NotificationSeveritySchema', 'NotificationSeverity']) { - const holders = holdersOf(name); + const holders = holderOriginsOf(name); expect(holders.map((h) => h.sub), `${name} is LIVE in objectui — must stay ./ui-owned`).toEqual(['./ui']); - expect(holders[0].origin).toMatch(/^src\/ui\/notification\.zod\.ts:\d+$/); + expect(originFile(holders[0].origin)).toBe('src/ui/notification.zod.ts'); } }); diff --git a/packages/spec/src/ui/interaction-config-retirement.test.ts b/packages/spec/src/ui/interaction-config-retirement.test.ts index cead4a9e17..c43aba49c3 100644 --- a/packages/spec/src/ui/interaction-config-retirement.test.ts +++ b/packages/spec/src/ui/interaction-config-retirement.test.ts @@ -2,6 +2,11 @@ import { describe, it, expect } from 'vitest'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holdersOf, +} from '../../scripts/lib/export-origins-testkit'; // ─── [#4988] the five ui/ interaction config modules are RETIRED ──────────── // // ADR-0049 enforce-or-remove, maintainer ruling 2026-08-04: `ui/touch.zod.ts`, @@ -122,61 +127,29 @@ describe('[#4988] ui/ interaction config family retirement', () => { 'PageComponentSchema', ] as const; - it('every retired name has ZERO holders on any public entry; the survivors still stand on ./ui', async () => { - const ts = (await import('typescript')).default; - const { resolve, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Read the entry list from package.json's exports map so a future entry - // cannot silently escape the absence assertions below (the PR #5300 form). - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - } - // Anti-vacuity: the enumeration must have found the real surface. + it('every retired name has ZERO holders on any public entry; the survivors still stand on ./ui', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796. `holdersOf` is now the baseline's query, and + // `export-origins.test.ts` pins that it discriminates.) for (const needed of ['.', './ui', './automation', './integration', './api']) { - expect(Object.keys(entries), `exports map must include ${needed}`).toContain(needed); + expect(EXPORT_ENTRY_POINTS, `exports map must include ${needed}`).toContain(needed); } - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - - const exportNamesOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure makes every absence assertion - // pass vacuously — exactly how a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!).map((s) => s.getName()); - }; - - const byEntry = new Map(); - for (const sub of Object.keys(entries)) byEntry.set(sub, exportNamesOf(sub)); + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // Anti-vacuity: `./ui` is a large, real surface — so `not.toContain` on it // means something. - expect(byEntry.get('./ui')!.length, './ui must export a non-trivial surface').toBeGreaterThan(100); + expect(exportNamesOf('./ui').length, './ui must export a non-trivial surface').toBeGreaterThan(100); // ── ABSENCE (every entry, not just ./ui) ────────────────────────────── for (const name of RETIRED_NAMES) { - const holders = [...byEntry.entries()].filter(([, names]) => names.includes(name)).map(([sub]) => sub); + const holders = holdersOf(name); expect(holders, `${name} must have zero holders after #4988`).toEqual([]); } // ── SURVIVAL (on ./ui, where they live) ─────────────────────────────── - const uiNames = byEntry.get('./ui')!; + const uiNames = exportNamesOf('./ui'); for (const name of MUST_SURVIVE) { expect(uiNames, `${name} must SURVIVE this retirement`).toContain(name); } diff --git a/packages/spec/src/ui/notification-embed-retirement.test.ts b/packages/spec/src/ui/notification-embed-retirement.test.ts index a79ba7e3fd..b77d01acce 100644 --- a/packages/spec/src/ui/notification-embed-retirement.test.ts +++ b/packages/spec/src/ui/notification-embed-retirement.test.ts @@ -2,6 +2,11 @@ import { describe, it, expect } from 'vitest'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holdersOf, +} from '../../scripts/lib/export-origins-testkit'; // ─── [#5015] `NotificationActionSchema` + `EmbedConfigSchema` are REMOVED ──── // // ADR-0049 enforce-or-remove, ruled REMOVE on 2026-08-04. Both shapes were @@ -67,57 +72,16 @@ describe('[#5015] NotificationAction / EmbedConfig removal — no entry exports 'SharingConfigSchema', ] as const; - it('resolves the export surface: the retired names have ZERO holders across every public entry', async () => { - const ts = (await import('typescript')).default; - const { resolve, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Every public entry point, read from package.json's exports map so a future - // entry cannot silently escape the absence assertions below. - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - // './openapi.json' / './package.json' are not TypeScript entry points. - } - // Anti-vacuity (1): the enumeration found the real surface — including the - // entry that owned both retired names, and the root barrel re-exporting it. + it('resolves the export surface: the retired names have ZERO holders across every public entry', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796. `holdersOf` is now the baseline's query, and + // `export-origins.test.ts` pins that it discriminates.) for (const needed of ['.', './ui']) { - expect(Object.keys(entries), `exports map must include ${needed}`).toContain(needed); + expect(EXPORT_ENTRY_POINTS, `exports map must include ${needed}`).toContain(needed); } - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - - const exportsOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Anti-vacuity (2): without this guard a resolution failure would make - // every absence assertion below pass for free — exactly how a gate goes - // dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; - - /** Every entry that exports `name` — for a removal this must be []. */ - const holdersOf = (name: string): string[] => { - const out: string[] = []; - for (const sub of Object.keys(entries)) { - if (exportsOf(sub).some((e) => e.getName() === name)) out.push(sub); - } - return out; - }; + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // Anti-vacuity (3): `holdersOf` really finds holders when a name IS // exported — proven on the surviving neighbours in the very same modules, so @@ -126,7 +90,7 @@ describe('[#5015] NotificationAction / EmbedConfig removal — no entry exports for (const name of SURVIVES) { expect(holdersOf(name), `${name} must SURVIVE this retirement`).toContain('./ui'); } - const uiNames = exportsOf('./ui').map((e) => e.getName()); + const uiNames = exportNamesOf('./ui'); expect(uiNames.length, './ui must still export a non-trivial surface').toBeGreaterThan(40); // The removal itself: NO public entry exports either name — not the old diff --git a/packages/spec/src/ui/view.test.ts b/packages/spec/src/ui/view.test.ts index d419dffccc..56e846111c 100644 --- a/packages/spec/src/ui/view.test.ts +++ b/packages/spec/src/ui/view.test.ts @@ -40,6 +40,12 @@ import { defineView, } from './view.zod'; +import { + exportNamesOf, + maybeOriginOf, + originFileOf, + originOf, +} from '../../scripts/lib/export-origins-testkit'; describe('HttpMethodSubsetSchema', () => { it('should accept valid HTTP methods', () => { const methods = ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'] as const; @@ -2700,53 +2706,21 @@ describe('[#4688] HttpRequest is single-source across ./shared and ./ui', () => // `check:dual-source-exports` makes, but over `src/` so it runs in `pnpm test` // without a build. It also pins that `./ui` still EXPORTS the name at all — // the compatibility promise this file's own `type HttpRequest` import rests on. - it('both entry points resolve the TYPE to the one declaration in shared/http.zod.ts', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - const entries = { - './shared': resolve(specDir, 'src/shared/index.ts'), - './ui': resolve(specDir, 'src/ui/index.ts'), - }; - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const unalias = (s: import('typescript').Symbol) => - s.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(s) : s; - - const origins = new Map(); - for (const [sub, file] of Object.entries(entries)) { - const sf = program.getSourceFile(file); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this, a resolution failure would make every assertion below - // pass vacuously — the exact way a gate goes dormant. - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - - const exported = checker - .getExportsOfModule(moduleSym!) - .find((e) => e.getName() === 'HttpRequest'); - expect(exported, `${sub} must still export the name \`HttpRequest\``).toBeTruthy(); - - const decl = unalias(exported!).declarations?.[0]; - expect(decl, `${sub}'s HttpRequest must have a declaration`).toBeTruthy(); - const declFile = decl!.getSourceFile(); - origins.set( - sub, - `${relative(specDir, declFile.fileName)}:${ - declFile.getLineAndCharacterOfPosition(decl!.getStart()).line + 1 - }`, - ); + it('both entry points resolve the TYPE to the one declaration in shared/http.zod.ts', () => { + for (const sub of ['./shared', './ui'] as const) { + expect( + maybeOriginOf(sub, 'HttpRequest'), + `${sub} must still export the name \`HttpRequest\``, + ).toBeDefined(); } - // Same file AND same line — one declaration reached by two import paths. - expect(origins.get('./ui')).toBe(origins.get('./shared')); - expect(origins.get('./shared')).toMatch(/^src\/shared\/http\.zod\.ts:\d+$/); + // ONE declaration reached by two import paths. The identity is the + // declaration itself — the baseline records `# ()` + // after unwinding the alias chain, so this is the same symbol-identity + // measurement the retired in-test `ts.createProgram` made, and no coarser + // than the `:` pair it used to compare (#4796). + expect(originOf('./ui', 'HttpRequest')).toBe(originOf('./shared', 'HttpRequest')); + expect(originFileOf('./shared', 'HttpRequest')).toBe('src/shared/http.zod.ts'); }); }); @@ -2780,73 +2754,28 @@ describe('[#4688] HttpRequest is single-source across ./shared and ./ui', () => // therefore the load-bearing one; the runtime tests below it guard the value // ranges the whole argument rests on. describe('[#4691] `HttpMethod` is not exported from ./ui', () => { - it('resolves the export surface: ./ui has no `HttpMethod`, ./shared and ./api share one', async () => { - const ts = (await import('typescript')).default; - const { resolve, relative, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - const entries = { - './shared': resolve(specDir, 'src/shared/index.ts'), - './ui': resolve(specDir, 'src/ui/index.ts'), - './api': resolve(specDir, 'src/api/index.ts'), - }; - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - const unalias = (s: import('typescript').Symbol) => - s.getFlags() & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(s) : s; - - const exportsOf = (sub: keyof typeof entries) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure would make every assertion - // below pass vacuously — the exact way a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!); - }; - - // A sanity anchor: if this entry resolved to nothing, `find` returning - // undefined for `HttpMethod` below would prove nothing at all. - const uiExports = exportsOf('./ui'); - expect(uiExports.length, './ui must export a non-trivial surface').toBeGreaterThan(50); + it('resolves the export surface: ./ui has no `HttpMethod`, ./shared and ./api share one', () => { + // A sanity anchor: if this entry resolved to nothing, the absence + // assertions below would prove nothing at all. + const uiNames = exportNamesOf('./ui'); + expect(uiNames.length, './ui must export a non-trivial surface').toBeGreaterThan(50); // 1. The row this change removes: `./ui` no longer names `HttpMethod`. - expect(uiExports.map((e) => e.getName())).not.toContain('HttpMethod'); + expect(uiNames).not.toContain('HttpMethod'); // 2. …but it still offers the 5-value type under its own name, so the // migration stays inside this entry point. - expect(uiExports.map((e) => e.getName()), '`HttpMethodType` was renamed at #5832') - .not.toContain('HttpMethodType'); - const uiMethodSubset = uiExports.find((e) => e.getName() === 'HttpMethodSubset'); - expect(uiMethodSubset, './ui must export `HttpMethodSubset`').toBeTruthy(); - - const originOf = (sym: import('typescript').Symbol, label: string) => { - const decl = unalias(sym).declarations?.[0]; - expect(decl, `${label} must have a declaration`).toBeTruthy(); - const declFile = decl!.getSourceFile(); - return `${relative(specDir, declFile.fileName)}:${ - declFile.getLineAndCharacterOfPosition(decl!.getStart()).line + 1 - }`; - }; - - expect(originOf(uiMethodSubset!, './ui HttpMethodSubset')) - .toMatch(/^src\/shared\/http\.zod\.ts:\d+$/); + expect(uiNames, '`HttpMethodType` was renamed at #5832').not.toContain('HttpMethodType'); + expect(maybeOriginOf('./ui', 'HttpMethodSubset'), './ui must export `HttpMethodSubset`').toBeDefined(); + expect(originFileOf('./ui', 'HttpMethodSubset')).toBe('src/shared/http.zod.ts'); // 3. `./shared` and `./api` keep naming ONE declaration `HttpMethod` — the // 7-value one. This change must not have disturbed that side. - const origins = new Map(); for (const sub of ['./shared', './api'] as const) { - const exported = exportsOf(sub).find((e) => e.getName() === 'HttpMethod'); - expect(exported, `${sub} must still export \`HttpMethod\``).toBeTruthy(); - origins.set(sub, originOf(exported!, `${sub} HttpMethod`)); + expect(maybeOriginOf(sub, 'HttpMethod'), `${sub} must still export \`HttpMethod\``).toBeDefined(); } - expect(origins.get('./api')).toBe(origins.get('./shared')); - expect(origins.get('./shared')).toMatch(/^src\/shared\/http\.zod\.ts:\d+$/); + expect(originOf('./api', 'HttpMethod')).toBe(originOf('./shared', 'HttpMethod')); + expect(originFileOf('./shared', 'HttpMethod')).toBe('src/shared/http.zod.ts'); }); it('keeps the two value ranges distinct: 7 for `HttpMethod`, 5 for `HttpMethodSubsetSchema`', async () => { diff --git a/packages/spec/src/ui/widget-i18n-retirement.test.ts b/packages/spec/src/ui/widget-i18n-retirement.test.ts index 5c06d02f0b..6248ddca98 100644 --- a/packages/spec/src/ui/widget-i18n-retirement.test.ts +++ b/packages/spec/src/ui/widget-i18n-retirement.test.ts @@ -2,6 +2,11 @@ import { describe, it, expect } from 'vitest'; +import { + EXPORT_ENTRY_POINTS, + exportNamesOf, + holdersOf, +} from '../../scripts/lib/export-origins-testkit'; // ─── [#5055] the widget-registration and locale vocabularies are RETIRED ──── // // ADR-0049 enforce-or-remove, maintainer ruling 2026-08-06 (window moved from @@ -108,61 +113,29 @@ describe('[#5055] ui/ widget + i18n family retirement', () => { 'PageComponentSchema', ] as const; - it('every retired name has ZERO holders on any public entry; the survivors still stand on ./ui', async () => { - const ts = (await import('typescript')).default; - const { resolve, dirname } = await import('node:path'); - const { fileURLToPath } = await import('node:url'); - const { readFileSync } = await import('node:fs'); - - const specDir = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); - // Read the entry list from package.json's exports map so a future entry - // cannot silently escape the absence assertions below (the PR #5300 form). - const pkg = JSON.parse(readFileSync(resolve(specDir, 'package.json'), 'utf8')) as { - exports: Record; - }; - const entries: Record = {}; - for (const sub of Object.keys(pkg.exports)) { - if (sub === '.') entries[sub] = resolve(specDir, 'src/index.ts'); - else if (/^\.\/[a-z-]+$/.test(sub)) entries[sub] = resolve(specDir, `src/${sub.slice(2)}/index.ts`); - } - // Anti-vacuity: the enumeration must have found the real surface. + it('every retired name has ZERO holders on any public entry; the survivors still stand on ./ui', () => { + // Anti-vacuity: the baseline must cover the real surface. (This used to + // enumerate package.json's exports map and build its own `ts.createProgram` + // right here; `export-origins/` IS that resolution, computed once at build + // time and checked in — #4796. `holdersOf` is now the baseline's query, and + // `export-origins.test.ts` pins that it discriminates.) for (const needed of ['.', './ui', './system', './data', './api']) { - expect(Object.keys(entries), `exports map must include ${needed}`).toContain(needed); + expect(EXPORT_ENTRY_POINTS, `exports map must include ${needed}`).toContain(needed); } - expect(Object.keys(entries).length).toBeGreaterThan(10); - - const program = ts.createProgram(Object.values(entries), { - module: ts.ModuleKind.ESNext, - moduleResolution: ts.ModuleResolutionKind.Bundler, - skipLibCheck: true, - noEmit: true, - }); - const checker = program.getTypeChecker(); - - const exportNamesOf = (sub: string) => { - const sf = program.getSourceFile(entries[sub]); - const moduleSym = sf && checker.getSymbolAtLocation(sf); - // Without this guard a resolution failure makes every absence assertion - // pass vacuously — exactly how a gate goes dormant (#4642). - expect(moduleSym, `${sub} module symbol must resolve`).toBeTruthy(); - return checker.getExportsOfModule(moduleSym!).map((s) => s.getName()); - }; - - const byEntry = new Map(); - for (const sub of Object.keys(entries)) byEntry.set(sub, exportNamesOf(sub)); + expect(EXPORT_ENTRY_POINTS.length).toBeGreaterThan(10); // Anti-vacuity: `./ui` is a large, real surface — so `not.toContain` on it // means something. - expect(byEntry.get('./ui')!.length, './ui must export a non-trivial surface').toBeGreaterThan(100); + expect(exportNamesOf('./ui').length, './ui must export a non-trivial surface').toBeGreaterThan(100); // ── ABSENCE (every entry, not just ./ui) ────────────────────────────── for (const name of [...RETIRED_NAMES, ...RETIRED_PARSED_ALIASES]) { - const holders = [...byEntry.entries()].filter(([, names]) => names.includes(name)).map(([sub]) => sub); + const holders = holdersOf(name); expect(holders, `${name} must have zero holders after #5055`).toEqual([]); } // ── SURVIVAL (on ./ui, where they live) ─────────────────────────────── - const uiNames = byEntry.get('./ui')!; + const uiNames = exportNamesOf('./ui'); for (const name of MUST_SURVIVE) { expect(uiNames, `${name} must SURVIVE this retirement`).toContain(name); } diff --git a/packages/spec/test-typecheck-debt.json b/packages/spec/test-typecheck-debt.json index 6afac051a6..770655de97 100644 --- a/packages/spec/test-typecheck-debt.json +++ b/packages/spec/test-typecheck-debt.json @@ -37,7 +37,6 @@ "src/data/query.test.ts": 25, "src/identity/scim.test.ts": 7, "src/integration/connector.test.ts": 7, - "src/kernel/activation-events-retirement.test.ts": 1, "src/kernel/cluster.test.ts": 2, "src/kernel/metadata-plugin.test.ts": 1, "src/kernel/public-auth-features.test.ts": 6, diff --git a/packages/spec/tsconfig.test.json b/packages/spec/tsconfig.test.json index 42b8a376fc..a752cbd610 100644 --- a/packages/spec/tsconfig.test.json +++ b/packages/spec/tsconfig.test.json @@ -14,6 +14,15 @@ // - STRICTNESS IS UNTOUCHED. `strict`, `noUnusedLocals`, `noImplicitReturns` // and the rest are inherited from the root config. Nothing about this file // may loosen a type rule; if a test does not compile, that is the finding. +// - `rootDir` widens to the PACKAGE, from the build config's `./src` (#4796). +// Under `noEmit` that setting carries no output meaning; all it does is +// constrain which files may enter the program, and this program genuinely +// spans both directories — `vitest.config.ts` runs `src/**/*.test.ts` AND +// `scripts/**/*.test.ts` as one suite, and a `src` test importing a +// `scripts/lib` helper was a TS6059 purely because the emitting config's +// root had been inherited into a non-emitting one. This is not a +// strictness change: nothing stops being checked, and `include` still +// stops at `src` so no scripts file is pulled in unless a test imports it. // // `include` deliberately stops at `src`, matching the build config's root. // `scripts/` — which vitest also runs, and which holds every generator and gate @@ -27,6 +36,7 @@ "extends": "./tsconfig.json", "compilerOptions": { "noEmit": true, + "rootDir": ".", "module": "esnext", "moduleResolution": "bundler", "lib": ["ES2022", "DOM", "DOM.Iterable"], diff --git a/packages/spec/vitest.config.ts b/packages/spec/vitest.config.ts index 272d56cad8..5dcd3cb829 100644 --- a/packages/spec/vitest.config.ts +++ b/packages/spec/vitest.config.ts @@ -7,11 +7,20 @@ export default defineConfig({ globals: true, environment: 'node', include: ['src/**/*.test.ts', 'scripts/**/*.test.ts'], - // 12 tests in this package load the TypeScript compiler and type-resolve the - // whole export surface (ts.createProgram + getTypeChecker). That is seconds of - // work per case, and vitest's 5000ms default left no headroom on a loaded merge - // queue runner — see #4850. Set at the config layer so all 12 (and any future - // one) are covered, rather than per-case as PR #4506 did. Related: #4796. + // The 17 export-surface pins that used to load the TypeScript compiler and + // type-resolve the whole export surface inside a test case no longer do: + // #4796 lifted that resolution into the `export-origins/` build-time + // baseline and the pins now compare against it. This value is what remains + // of the two stop-the-bleed laps (#4850 → 60s, #4864 → 30s) that kept those + // cases off vitest's 5000ms default while they still compiled. + // + // Keep it. Two `createProgram` cases survive deliberately — + // `data/driver.test.ts` and `ui/app.test.ts` assert TYPE WRITABILITY of + // retired keys, which is a different fact from export origin and which no + // export-surface baseline can carry — and the headroom is what stops them + // riding the same timeout line the export-surface family used to. The value + // itself is left exactly where the stop-bleed put it — lowering it is a + // separate decision, with its own measurement, and not this change's to make. testTimeout: 60_000, coverage: { provider: 'v8', diff --git a/scripts/regen-artifacts.mjs b/scripts/regen-artifacts.mjs index 227ec2eae0..6ff233f5ce 100644 --- a/scripts/regen-artifacts.mjs +++ b/scripts/regen-artifacts.mjs @@ -80,6 +80,12 @@ export const REGEN_ARTIFACTS = Object.freeze([ check: 'check:api-surface', readsDist: true, }, + // The #4796 declaration-origin baseline: which source declaration each entry + // point's exports resolve to. Sharded per entry point for the same + // merge-queue reason `api-surface/` is, and rewritten by every retirement PR + // — the exact churn profile the driver exists for. NO `readsDist`: it reads + // `src/`, so a merge that moved sources is all it needs to be re-run against. + { path: 'packages/spec/export-origins/**', gen: 'gen:export-origins', check: 'check:export-origins' }, // `readsSchemaTree` is the `readsDist` above, one artifact over (#4723). Both // `gen:docs` and `check:docs` render from `packages/spec/json-schema/`, which is // GITIGNORED — a merge therefore never delivers it, and a leftover tree from