@kalada/adapter-scheman 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/analysis-limits.ts","../src/capability-wrappers.ts","../src/local-reference.ts","../src/editor-edge-budget.ts","../src/editor-relations.ts","../src/editor-document.ts","../src/editor-invariants.ts","../src/profile.ts","../src/semantic-mapping.ts","../src/adapter.ts","../src/mapping-table.ts","../src/index.ts"],"names":["reference","edgeReference","isEdgeLimit","bounded","refs","sameType"],"mappings":"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","file":"index.js","sourcesContent":["import type { SchemanAnalysisLimits } from \"./types.js\";\n\nexport const DEFAULT_SCHEMAN_ANALYSIS_LIMITS: SchemanAnalysisLimits = Object.freeze({\n maxNodes: 2_048,\n maxEdges: 8_192,\n maxTypeDepth: 32,\n});\n\nexport function resolveAnalysisLimits(\n requested: Partial<SchemanAnalysisLimits> | undefined,\n): SchemanAnalysisLimits {\n return Object.freeze({\n maxNodes: bounded(requested?.maxNodes, DEFAULT_SCHEMAN_ANALYSIS_LIMITS.maxNodes),\n maxEdges: bounded(requested?.maxEdges, DEFAULT_SCHEMAN_ANALYSIS_LIMITS.maxEdges),\n maxTypeDepth: bounded(requested?.maxTypeDepth, DEFAULT_SCHEMAN_ANALYSIS_LIMITS.maxTypeDepth),\n });\n}\n\nfunction bounded(value: unknown, maximum: number): number {\n if (typeof value !== \"number\" || !Number.isSafeInteger(value) || value < 1) return maximum;\n return Math.min(value, maximum);\n}\n","import type { StandardSchemaV1 } from \"@scheman/core\";\nimport type { ResolvedProfile } from \"./profile.js\";\nimport type { SchemanCodecOptions } from \"./types.js\";\n\ntype DataSlot = Readonly<{ found: true; value: unknown }> | Readonly<{ found: false }>;\n\nexport function decodeStandardSchema<Input, Output>(\n validator: StandardSchemaV1<Input, Output>,\n value: unknown,\n): unknown {\n const standard = validator[\"~standard\"];\n const outcome = standard.validate(value);\n if (isThenableWithoutGet(outcome)) return outcome;\n const issues = readDataSlot(outcome, \"issues\");\n if (issues.found && issues.value !== undefined)\n throw new Error(\"Standard Schema validation failed\");\n const decoded = readDataSlot(outcome, \"value\");\n if (!decoded.found) throw new Error(\"Standard Schema returned an invalid outcome\");\n return decoded.value;\n}\n\nexport function convertWithFinalPolicy(\n codec: SchemanCodecOptions,\n policy: ResolvedProfile[\"finalValidation\"],\n value: unknown,\n): unknown {\n const output = codec.convert(value);\n if (isThenableWithoutGet(output)) return output;\n if (policy === \"safe-integer-and-kalada-type\" && !isSafeInteger(output)) {\n throw new Error(\"Codec output violates final conversion policy\");\n }\n return output;\n}\n\nfunction isSafeInteger(value: unknown): value is number {\n return typeof value === \"number\" && Number.isSafeInteger(value);\n}\n\nfunction readDataSlot(input: unknown, key: string): DataSlot {\n if ((typeof input !== \"object\" || input === null) && typeof input !== \"function\") {\n return Object.freeze({ found: false });\n }\n let current: object | null = input as object;\n const seen = new Set<object>();\n try {\n while (current && !seen.has(current)) {\n seen.add(current);\n const descriptor = Object.getOwnPropertyDescriptor(current, key);\n if (descriptor) {\n return \"value\" in descriptor\n ? Object.freeze({ found: true, value: descriptor.value })\n : Object.freeze({ found: false });\n }\n current = Object.getPrototypeOf(current);\n }\n } catch {\n return Object.freeze({ found: false });\n }\n return Object.freeze({ found: false });\n}\n\nfunction isThenableWithoutGet(input: unknown): boolean {\n if ((typeof input !== \"object\" || input === null) && typeof input !== \"function\") return false;\n let current: object | null = input as object;\n const seen = new Set<object>();\n try {\n while (current && !seen.has(current)) {\n seen.add(current);\n const descriptor = Object.getOwnPropertyDescriptor(current, \"then\");\n if (descriptor) return !(\"value\" in descriptor) || typeof descriptor.value === \"function\";\n current = Object.getPrototypeOf(current);\n }\n return false;\n } catch {\n return true;\n }\n}\n","import type { SchemaDocument, SchemaNode } from \"@scheman/core\";\n\nexport function eligibleLocalReference(\n nodeId: string,\n node: Extract<SchemaNode, { kind: \"ref\" }>,\n document: SchemaDocument,\n): boolean {\n if (!node.target || node.unresolved || !node.reference.startsWith(\"#\")) return false;\n if (!document.nodes[node.target.nodeId]) return false;\n return !document.diagnostics.some(\n (diagnostic) =>\n blockedReferenceCode(diagnostic.code) &&\n (diagnostic.nodeId === nodeId || diagnostic.nodeId === node.target?.nodeId),\n );\n}\n\nfunction blockedReferenceCode(code: string): boolean {\n return (\n code === \"JSON_RESOURCE_REBASE_UNSUPPORTED\" ||\n code === \"JSON_UNRESOLVED_REFERENCE\" ||\n code === \"JSON_INVALID_REFERENCE\"\n );\n}\n","import type { EditorShape } from \"@kalada/host\";\nimport { calculateEditorGraphAdmission, type EditorGraphAdmission } from \"@kalada/host\";\nimport type { NodeRef, SchemaDocument, SchemaNode } from \"@scheman/core\";\nimport { eligibleLocalReference } from \"./local-reference.js\";\n\nexport interface EditorCollectionSummary {\n readonly retained: number;\n readonly total: number;\n readonly truncated: boolean;\n}\n\nexport interface EditorNodeSelection {\n readonly ids: ReadonlySet<string>;\n readonly rootBounded: boolean;\n readonly truncated: boolean;\n}\n\nexport class EditorAdmissionBudget {\n readonly definitions: number;\n readonly maximum: number;\n readonly rootResolution: number;\n readonly reserve: number;\n admittedSourceEdges = 0;\n children = 0;\n evidenceUsed = false;\n resolutions = 0;\n truncated = false;\n private closed = false;\n\n constructor(maximum: number, definitions: number, rootBounded: boolean) {\n this.maximum = maximum;\n this.definitions = definitions;\n this.rootResolution = rootBounded ? 0 : 1;\n this.reserve = rootBounded ? 0 : 1;\n }\n\n claimChild(reference: NodeRef, selected: ReadonlySet<string>): boolean {\n const local = selected.has(reference.nodeId);\n if (!this.canAdmit(1, local ? 1 : 0)) return false;\n this.children += 1;\n this.resolutions += local ? 1 : 0;\n this.admittedSourceEdges += 1;\n return true;\n }\n\n claimChildren(references: readonly NodeRef[], selected: ReadonlySet<string>): boolean {\n const resolutions = references.filter((item) => selected.has(item.nodeId)).length;\n if (!this.canAdmit(references.length, resolutions)) return false;\n this.children += references.length;\n this.resolutions += resolutions;\n this.admittedSourceEdges += references.length;\n return true;\n }\n\n claimDefinitionReference(): boolean {\n if (!this.canAdmit(0, 1)) return false;\n this.resolutions += 1;\n this.admittedSourceEdges += 1;\n return true;\n }\n\n evidenceEdge(_sourceId: string): EditorShape | null {\n this.truncated = true;\n this.closed = true;\n if (this.evidenceUsed || this.reserve === 0) return null;\n this.evidenceUsed = true;\n return null;\n }\n\n limitNode(sourceId: string): EditorShape {\n this.truncated = true;\n this.closed = true;\n return edgeLimitShape(sourceId);\n }\n\n admission(): EditorGraphAdmission {\n return calculateEditorGraphAdmission({\n maxEdges: this.maximum,\n roots: 1,\n definitions: this.definitions,\n children: this.children,\n resolutions: this.rootResolution + this.resolutions,\n evidenceReserve: this.reserve,\n });\n }\n\n get exhausted(): boolean {\n return this.closed;\n }\n\n private canAdmit(children: number, resolutions: number): boolean {\n if (this.closed) return false;\n const admission = calculateEditorGraphAdmission({\n maxEdges: this.maximum,\n roots: 1,\n definitions: this.definitions,\n children: this.children + children,\n resolutions: this.rootResolution + this.resolutions + resolutions,\n evidenceReserve: this.reserve,\n });\n if (admission.backboneAdmitted && !admission.truncated) return true;\n this.truncated = true;\n this.closed = true;\n return false;\n }\n}\n\nexport class RequiredNamesBudget {\n readonly maximumPerObject: number;\n readonly total: number;\n retained = 0;\n\n constructor(document: SchemaDocument, selected: ReadonlySet<string>, maximum: number) {\n this.maximumPerObject = maximum;\n this.total = selectedRequiredNames(document, selected);\n }\n\n retain(values: readonly string[]): readonly string[] {\n const retained = values.slice(0, this.maximumPerObject);\n this.retained += retained.length;\n return retained;\n }\n\n requiresEvidence(node: SchemaNode): boolean {\n return node.kind === \"object\" && node.required.length > this.maximumPerObject;\n }\n\n summary(): EditorCollectionSummary {\n return Object.freeze({\n retained: this.retained,\n total: this.total,\n truncated: this.retained < this.total,\n });\n }\n}\n\nexport function selectEditorNodes(\n document: SchemaDocument,\n maximumNodes: number,\n maximumEdges: number,\n): EditorNodeSelection {\n if (maximumEdges < 4) {\n return Object.freeze({ ids: new Set<string>(), rootBounded: true, truncated: true });\n }\n const maximum = Math.min(maximumNodes, maximumEdges - 3);\n const ids = new Set<string>();\n let truncated = false;\n const add = (nodeId: string): void => {\n if (ids.has(nodeId) || !Object.hasOwn(document.nodes, nodeId)) return;\n if (ids.size < maximum) ids.add(nodeId);\n else truncated = true;\n };\n add(document.root.input.nodeId);\n add(document.root.output.nodeId);\n for (const definition of document.definitions) add(definition.node.nodeId);\n for (const nodeId in document.nodes) {\n if (!Object.hasOwn(document.nodes, nodeId)) continue;\n add(nodeId);\n }\n return Object.freeze({ ids, rootBounded: false, truncated });\n}\n\nexport function countSourceEditorEdges(\n document: SchemaDocument,\n selected: ReadonlySet<string>,\n): number {\n let total = 0;\n for (const nodeId of selected) {\n const node = document.nodes[nodeId];\n if (!node) continue;\n total += nodeSourceEdges(nodeId, node, document);\n }\n return total;\n}\n\nfunction selectedRequiredNames(document: SchemaDocument, selected: ReadonlySet<string>): number {\n let total = 0;\n for (const nodeId of selected) {\n const node = document.nodes[nodeId];\n if (node?.kind === \"object\") total += node.required.length;\n }\n return total;\n}\n\nfunction nodeSourceEdges(nodeId: string, node: SchemaNode, document: SchemaDocument): number {\n let total = applicatorEdgeCount(node);\n if (node.kind === \"object\") total += node.properties.length + (node.additionalProperties ? 1 : 0);\n if (node.kind === \"array\") total += 1;\n if (node.kind === \"tuple\") total += node.items.length + (node.rest ? 1 : 0);\n if (node.kind === \"record\") total += 2;\n if (node.kind === \"union\") total += node.alternatives.length;\n if (node.kind === \"intersection\") total += node.operands.length;\n if (node.kind === \"wrapper\") total += 1;\n if (node.kind === \"ref\" && eligibleLocalReference(nodeId, node, document)) total += 1;\n return total;\n}\n\nfunction applicatorEdgeCount(node: SchemaNode): number {\n const applicators = node.applicators;\n if (!applicators) return 0;\n let total = 0;\n for (const name of [\"if\", \"then\", \"else\", \"not\", \"contains\", \"propertyNames\"] as const) {\n if (applicators[name]) total += 1;\n }\n return (\n total +\n Object.keys(applicators.patternProperties ?? {}).length +\n Object.keys(applicators.dependentSchemas ?? {}).length\n );\n}\n\nfunction edgeLimitShape(sourceId: string): EditorShape {\n return {\n kind: \"unknown\",\n reason: `bounded-edge:${sourceId}`,\n evidenceCode: \"edge-limit\",\n sourceId,\n };\n}\n","import type { EditorRelationShape, EditorShape } from \"@kalada/host\";\nimport type { Applicators, NodeRef, OwnedValue, SchemaNode } from \"@scheman/core\";\nimport type { EditorAdmissionBudget, RequiredNamesBudget } from \"./editor-edge-budget.js\";\n\nexport interface EditorNodeEvidence {\n readonly sourceId: string;\n readonly annotations?: OwnedValue;\n readonly constraints?: OwnedValue;\n readonly relations: readonly EditorRelationShape[];\n}\n\nexport function nodeEvidence(\n nodeId: string,\n node: SchemaNode,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n requiredNames: RequiredNamesBudget,\n): EditorNodeEvidence {\n const relations = applicatorRelations(nodeId, node.applicators, selected, budget);\n const required = requiredNames.requiresEvidence(node)\n ? requiredNamesLimitRelation(nodeId, budget)\n : [];\n return {\n sourceId: nodeId,\n ...(node.metadata === undefined ? {} : { annotations: node.metadata }),\n ...(node.constraints === undefined ? {} : { constraints: node.constraints }),\n relations: Object.freeze([...relations, ...required]),\n };\n}\n\nfunction applicatorRelations(\n nodeId: string,\n applicators: Applicators | undefined,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n): readonly EditorRelationShape[] {\n if (!applicators) return Object.freeze([]);\n const output: EditorRelationShape[] = [];\n for (const name of [\"if\", \"then\", \"else\", \"not\", \"contains\", \"propertyNames\"] as const) {\n const target = applicators[name];\n if (!target) continue;\n const shape = edgeReference(target, `${nodeId}.${name}`, selected, budget);\n if (!shape) break;\n output.push({ name, shape });\n if (isEdgeLimit(shape)) return Object.freeze(output);\n }\n if (\n addKeyedRelations(\n nodeId,\n \"patternProperties\",\n applicators.patternProperties,\n output,\n selected,\n budget,\n )\n ) {\n return Object.freeze(output);\n }\n addKeyedRelations(\n nodeId,\n \"dependentSchemas\",\n applicators.dependentSchemas,\n output,\n selected,\n budget,\n );\n return Object.freeze(output);\n}\n\nfunction addKeyedRelations(\n nodeId: string,\n name: string,\n input: Readonly<Record<string, NodeRef>> | undefined,\n output: EditorRelationShape[],\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n): boolean {\n for (const [key, target] of Object.entries(input ?? {})) {\n const shape = edgeReference(target, `${nodeId}.${name}.${key}`, selected, budget);\n if (!shape) return true;\n output.push({ name, key, shape });\n if (isEdgeLimit(shape)) return true;\n }\n return false;\n}\n\nfunction requiredNamesLimitRelation(\n nodeId: string,\n budget: EditorAdmissionBudget,\n): readonly EditorRelationShape[] {\n const shape = budget.evidenceEdge(`${nodeId}.requiredNames`);\n return shape ? [{ name: \"requiredNames\", shape }] : [];\n}\n\nfunction edgeReference(\n value: NodeRef,\n source: string,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n): EditorShape | null {\n if (budget.claimChild(value, selected)) return reference(value.nodeId, selected);\n return budget.evidenceEdge(source);\n}\n\nfunction reference(definition: string, selected: ReadonlySet<string>): EditorShape {\n if (selected.has(definition)) return { kind: \"reference\", definition };\n return {\n kind: \"unknown\",\n reason: `bounded:${definition}`,\n evidenceCode: \"node-limit\",\n sourceId: definition,\n };\n}\n\nfunction isEdgeLimit(shape: EditorShape): boolean {\n return shape.kind === \"unknown\" && shape.evidenceCode === \"edge-limit\";\n}\n","import type {\n EditorGraphAdmission,\n EditorShape,\n EditorUnknownCode,\n ManualEditorShapeDocument,\n} from \"@kalada/host\";\nimport type { NodeRef, SchemaDocument, SchemaNode } from \"@scheman/core\";\nimport {\n countSourceEditorEdges,\n EditorAdmissionBudget,\n type EditorCollectionSummary,\n RequiredNamesBudget,\n selectEditorNodes,\n} from \"./editor-edge-budget.js\";\nimport { nodeEvidence } from \"./editor-relations.js\";\nimport { eligibleLocalReference } from \"./local-reference.js\";\nimport type { SchemanAnalysisLimits } from \"./types.js\";\n\nexport interface SchemanEditorDocumentResult {\n readonly admission: EditorGraphAdmission;\n readonly document: ManualEditorShapeDocument;\n readonly retainedNodes: number;\n readonly retainedEdges: number;\n readonly sourceEdges: EditorCollectionSummary;\n readonly nodeTruncated: boolean;\n readonly edgeTruncated: boolean;\n readonly requiredNames: EditorCollectionSummary;\n readonly truncated: boolean;\n}\n\nexport function schemanEditorDocument(\n source: SchemaDocument,\n limits: SchemanAnalysisLimits,\n): SchemanEditorDocumentResult {\n const selection = selectEditorNodes(source, limits.maxNodes, limits.maxEdges);\n const requiredNames = new RequiredNamesBudget(source, selection.ids, limits.maxEdges);\n const sourceEdgeTotal = countSourceEditorEdges(source, selection.ids);\n const budget = new EditorAdmissionBudget(\n limits.maxEdges,\n selection.ids.size,\n selection.rootBounded,\n );\n const converted = convertDefinitions(source, selection.ids, budget, requiredNames);\n const definitions = prioritizedDefinitions(source, selection.ids, converted);\n const requiredNamesSummary = requiredNames.summary();\n const sourceEdges = Object.freeze({\n retained: budget.admittedSourceEdges,\n total: sourceEdgeTotal,\n truncated: budget.admittedSourceEdges < sourceEdgeTotal,\n });\n const evidence: EditorUnknownCode[] = [];\n if (sourceEdges.truncated || requiredNamesSummary.truncated) evidence.push(\"edge-limit\" as const);\n if (selection.truncated) evidence.push(\"node-limit\" as const);\n return Object.freeze({\n admission: budget.admission(),\n document: Object.freeze({\n root: selection.rootBounded\n ? budget.limitNode(source.root.input.nodeId)\n : reference(source.root.input.nodeId, selection.ids),\n definitions: Object.freeze(definitions),\n evidence: Object.freeze(evidence),\n }),\n retainedNodes: definitions.length,\n retainedEdges: budget.admittedSourceEdges,\n sourceEdges,\n nodeTruncated: selection.truncated,\n edgeTruncated: sourceEdges.truncated,\n requiredNames: requiredNamesSummary,\n truncated: selection.truncated || sourceEdges.truncated || requiredNamesSummary.truncated,\n });\n}\n\nfunction convertDefinitions(\n source: SchemaDocument,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n requiredNames: RequiredNamesBudget,\n): ReadonlyMap<string, EditorShape> {\n const converted = new Map<string, EditorShape>();\n for (const nodeId of selected) {\n const node = source.nodes[nodeId];\n if (node)\n converted.set(nodeId, convertNode(nodeId, node, source, selected, budget, requiredNames));\n }\n return converted;\n}\n\nfunction prioritizedDefinitions(\n source: SchemaDocument,\n selected: ReadonlySet<string>,\n converted: ReadonlyMap<string, EditorShape>,\n) {\n const ids = [source.root.input.nodeId, ...Object.keys(source.nodes)];\n const emitted = new Set<string>();\n const definitions = [];\n for (const nodeId of ids) {\n if (emitted.has(nodeId) || !selected.has(nodeId)) continue;\n const shape = converted.get(nodeId);\n if (!shape) continue;\n emitted.add(nodeId);\n definitions.push(Object.freeze({ name: nodeId, shape }));\n }\n return definitions;\n}\n\nfunction convertNode(\n nodeId: string,\n node: SchemaNode,\n document: SchemaDocument,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n requiredNames: RequiredNamesBudget,\n): EditorShape {\n if (budget.exhausted) return budget.limitNode(nodeId);\n const shape = convertStructure(nodeId, node, document, selected, budget, requiredNames);\n const evidence = nodeEvidence(nodeId, node, selected, budget, requiredNames);\n return { ...shape, ...evidence } as EditorShape;\n}\n\nfunction convertStructure(\n nodeId: string,\n node: SchemaNode,\n document: SchemaDocument,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n requiredNames: RequiredNamesBudget,\n): EditorShape {\n const simple = simpleShape(node);\n if (simple) return simple;\n if (node.kind === \"object\") return objectShape(nodeId, node, selected, budget, requiredNames);\n if (node.kind === \"array\") return singleChildShape(\"array\", nodeId, node.items, selected, budget);\n if (node.kind === \"tuple\") return tupleShape(nodeId, node, selected, budget);\n if (node.kind === \"record\") return recordShape(nodeId, node, selected, budget);\n if (node.kind === \"union\") return unionShape(nodeId, node, selected, budget);\n if (node.kind === \"intersection\") {\n return {\n kind: \"intersection\",\n operands: boundedReferences(node.operands, `${nodeId}.operand`, selected, budget),\n };\n }\n if (node.kind === \"ref\") return referenceShape(nodeId, node, document, selected, budget);\n if (node.kind === \"wrapper\") {\n const inner = edgeReference(node.inner, `${nodeId}.inner`, selected, budget);\n return inner\n ? {\n kind: \"wrapper\",\n wrapper: node.wrapper,\n inner,\n ...(node.value === undefined ? {} : { value: node.value }),\n }\n : budget.limitNode(nodeId);\n }\n return { kind: \"unknown\", reason: `unsupported:${nodeId}` };\n}\n\nfunction simpleShape(node: SchemaNode): EditorShape | undefined {\n if (node.kind === \"unknown\") return { kind: \"unknown\", reason: node.reason };\n if (node.kind === \"opaque\") return { kind: \"opaque\", reason: node.reason };\n if (node.kind === \"unconstrained\") return { kind: \"unconstrained\", domain: node.domain };\n if (node.kind === \"never\") return { kind: \"never\" };\n if (node.kind === \"primitive\") return { kind: \"scalar\", name: node.type };\n if (node.kind === \"literal\") return { kind: \"literal\", value: node.value };\n if (node.kind === \"enum\") return { kind: \"enum\", values: node.values };\n return undefined;\n}\n\nfunction objectShape(\n nodeId: string,\n node: Extract<SchemaNode, { kind: \"object\" }>,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n requiredNames: RequiredNamesBudget,\n): EditorShape {\n const properties = [];\n let limited = false;\n for (const property of node.properties) {\n const shape = edgeReference(\n property.node,\n `${nodeId}.property.${property.name}`,\n selected,\n budget,\n );\n if (!shape) break;\n properties.push({\n name: property.name,\n required: property.presence === \"required\",\n presence: property.presence,\n shape,\n });\n if (isEdgeLimit(shape)) {\n limited = true;\n break;\n }\n }\n const additional = limited\n ? null\n : optionalEdgeReference(node.additionalProperties, `${nodeId}.additional`, selected, budget);\n return {\n kind: \"object\",\n properties,\n requiredNames: requiredNames.retain(node.required),\n unknownKeys: node.unknownKeys,\n ...(additional ? { additionalProperties: additional } : {}),\n };\n}\n\nfunction tupleShape(\n nodeId: string,\n node: Extract<SchemaNode, { kind: \"tuple\" }>,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n): EditorShape {\n const items = boundedReferences(node.items, `${nodeId}.item`, selected, budget);\n const rest = isEdgeLimit(items.at(-1))\n ? null\n : optionalEdgeReference(node.rest, `${nodeId}.rest`, selected, budget);\n return { kind: \"tuple\", items, ...(rest ? { rest } : {}) };\n}\n\nfunction recordShape(\n nodeId: string,\n node: Extract<SchemaNode, { kind: \"record\" }>,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n): EditorShape {\n if (!budget.claimChildren([node.key, node.value], selected)) return budget.limitNode(nodeId);\n return {\n kind: \"record\",\n key: reference(node.key.nodeId, selected),\n value: reference(node.value.nodeId, selected),\n exhaustive: node.exhaustive,\n };\n}\n\nfunction unionShape(\n nodeId: string,\n node: Extract<SchemaNode, { kind: \"union\" }>,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n): EditorShape {\n return {\n kind: \"union\",\n variants: boundedReferences(node.alternatives, `${nodeId}.variant`, selected, budget),\n semantics: node.semantics,\n ...(node.discriminator === undefined ? {} : { discriminator: node.discriminator }),\n };\n}\n\nfunction singleChildShape(\n kind: \"array\",\n nodeId: string,\n value: NodeRef,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n): EditorShape {\n const element = edgeReference(value, `${nodeId}.items`, selected, budget);\n return element ? { kind, element } : budget.limitNode(nodeId);\n}\n\nfunction referenceShape(\n nodeId: string,\n node: Extract<SchemaNode, { kind: \"ref\" }>,\n document: SchemaDocument,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n): EditorShape {\n if (!eligibleLocalReference(nodeId, node, document)) {\n return {\n kind: \"reference\",\n definition: `unsupported:${nodeId}`,\n reference: node.reference,\n unresolved: node.unresolved ?? \"non-local-reference\",\n };\n }\n const target = node.target?.nodeId as string;\n if (!selected.has(target)) {\n return {\n kind: \"unknown\",\n reason: `bounded-reference:${node.reference}`,\n evidenceCode: \"node-limit\",\n };\n }\n if (!budget.claimDefinitionReference()) return budget.limitNode(nodeId);\n return { kind: \"reference\", definition: target, reference: node.reference };\n}\n\nfunction boundedReferences(\n values: readonly NodeRef[],\n source: string,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n): readonly EditorShape[] {\n const output: EditorShape[] = [];\n for (let index = 0; index < values.length; index += 1) {\n const value = values[index];\n if (!value) continue;\n const shape = edgeReference(value, `${source}.${String(index)}`, selected, budget);\n if (!shape) break;\n output.push(shape);\n if (isEdgeLimit(shape)) break;\n }\n return output;\n}\n\nfunction optionalEdgeReference(\n value: NodeRef | undefined,\n source: string,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n): EditorShape | null {\n return value ? edgeReference(value, source, selected, budget) : null;\n}\n\nfunction edgeReference(\n value: NodeRef,\n source: string,\n selected: ReadonlySet<string>,\n budget: EditorAdmissionBudget,\n): EditorShape | null {\n if (budget.claimChild(value, selected)) return reference(value.nodeId, selected);\n return budget.evidenceEdge(source);\n}\n\nfunction isEdgeLimit(shape: EditorShape | undefined): boolean {\n return shape?.kind === \"unknown\" && shape.evidenceCode === \"edge-limit\";\n}\n\nfunction reference(definition: string, selected: ReadonlySet<string>): EditorShape {\n if (selected.has(definition)) return { kind: \"reference\", definition };\n return {\n kind: \"unknown\",\n reason: `bounded:${definition}`,\n evidenceCode: \"node-limit\",\n sourceId: definition,\n };\n}\n","import type { EditorGraph, EditorNode } from \"@kalada/host\";\n\nexport function validNormalizedEditorGraph(\n graph: EditorGraph,\n bindingId: string,\n intendedSourceId: string,\n): boolean {\n if (!graph.admission || graph.admission.total > graph.admission.budget) return false;\n const root = graph.roots.find((item) => item.bindingId === bindingId);\n if (!root) return false;\n const rootNode = nodeById(graph, root.nodeId);\n if (!rootNode || !validRootNode(graph, rootNode, intendedSourceId)) return false;\n return graph.nodes.every(validReferenceBoundary);\n}\n\nfunction validRootNode(graph: EditorGraph, root: EditorNode, intendedSourceId: string): boolean {\n if (intentionalBoundedUnknown(root)) return true;\n if (root.kind !== \"reference\" || root.status !== \"resolved\" || !root.target) return false;\n const target = nodeById(graph, root.target.nodeId);\n return Boolean(\n target && (target.sourceId === intendedSourceId || intentionalBoundedUnknown(target)),\n );\n}\n\nfunction validReferenceBoundary(node: EditorNode): boolean {\n if (node.kind !== \"reference\") return true;\n if (node.unresolved !== undefined) {\n return node.status === \"unresolved\" && node.availability === \"unavailable\" && !node.target;\n }\n if (node.reference !== undefined && !node.reference.startsWith(\"#\")) return true;\n return node.status === \"resolved\";\n}\n\nfunction intentionalBoundedUnknown(node: EditorNode): boolean {\n return (\n node.kind === \"unknown\" &&\n node.evidence.some((item) => item.code === \"edge-limit\" || item.code === \"node-limit\")\n );\n}\n\nfunction nodeById(graph: EditorGraph, nodeId: string): EditorNode | undefined {\n return graph.nodes.find((node) => node.id === nodeId);\n}\n","import { readSemanticType, type SemanticTypeResult } from \"@kalada/host\";\nimport type { SchemaNode } from \"@scheman/core\";\nimport type { AdaptSchemanOptions, KaladaLossPolicy, SchemanAdapterDiagnostic } from \"./types.js\";\n\ntype SemanticType = Extract<SemanticTypeResult, { ok: true }>[\"value\"];\nexport interface ResolvedProfile {\n readonly type: SemanticType;\n readonly codec?: string;\n readonly lossy?: KaladaLossPolicy;\n readonly source: \"override\" | \"x-kalada\" | \"conservative\";\n readonly finalValidation: \"kalada-type\" | \"safe-integer-and-kalada-type\";\n}\n\ntype ProfileResult =\n | Readonly<{ ok: true; value: ResolvedProfile }>\n | Readonly<{ ok: false; diagnostics: readonly SchemanAdapterDiagnostic[] }>;\ntype OptionalProfileResult =\n | Readonly<{ ok: true; value?: ResolvedProfile }>\n | Readonly<{ ok: false; diagnostics: readonly SchemanAdapterDiagnostic[] }>;\n\nexport function resolveProfile(\n options: AdaptSchemanOptions,\n conservative: SemanticType,\n): ProfileResult {\n try {\n return resolveProfileSafely(options, conservative);\n } catch {\n return failed(\"SCHEMAN_ADAPTER_PROFILE_MALFORMED\", \"<unavailable>\");\n }\n}\n\nfunction resolveProfileSafely(\n options: AdaptSchemanOptions,\n conservative: SemanticType,\n): ProfileResult {\n const nodeId = options.document.root.output.nodeId;\n const node = options.document.nodes[nodeId];\n if (!node) return failed(\"SCHEMAN_ADAPTER_UNRESOLVED_ROOT\", nodeId);\n const local = readNodeProfile(node, nodeId);\n if (!local.ok) return local;\n const override = options.binding.override\n ? readPayload(options.binding.override, false, nodeId)\n : Object.freeze({ ok: true as const, value: undefined });\n if (!override.ok) return override;\n const selected = override.value ?? local.value;\n const source = override.value ? \"override\" : local.value ? \"x-kalada\" : \"conservative\";\n if (!selected) return success({ type: conservative, source, finalValidation: \"kalada-type\" });\n const compatibility = checkCompatibility(selected, conservative, node, options, nodeId);\n if (!compatibility.ok) return compatibility;\n return success({\n ...selected,\n source,\n finalValidation:\n selected.lossy === \"safe-integer-bigint-to-number\"\n ? \"safe-integer-and-kalada-type\"\n : \"kalada-type\",\n });\n}\n\nfunction readNodeProfile(node: SchemaNode, nodeId: string): OptionalProfileResult {\n const metadata = optionalRecord(node.metadata);\n const constraints = optionalRecord(node.constraints);\n if (!metadata.ok || !constraints.ok) return failed(\"SCHEMAN_ADAPTER_PROFILE_MALFORMED\", nodeId);\n const direct = ownSlot(metadata.value, \"x-kalada\");\n const extensions = nestedRecord(metadata.value, \"extensions\");\n const annotations = nestedRecord(metadata.value, \"annotations\");\n if (!extensions.ok || !annotations.ok) return failed(\"SCHEMAN_ADAPTER_PROFILE_MALFORMED\", nodeId);\n const extension = ownSlot(extensions.value, \"x-kalada\");\n const annotation = ownSlot(annotations.value, \"x-kalada\");\n const constrained = ownSlot(constraints.value, \"x-kalada\");\n if (annotation.present || constrained.present || (direct.present && extension.present)) {\n return failed(\"SCHEMAN_ADAPTER_PROFILE_CONFLICT\", nodeId);\n }\n const payload = direct.present ? direct : extension;\n if (!payload.present) return Object.freeze({ ok: true });\n return readPayload(payload.value, true, nodeId);\n}\n\nfunction readPayload(input: unknown, versioned: boolean, nodeId: string): ProfileResult {\n const inspected = ownRecord(input);\n const allowed = versioned ? [\"version\", \"type\", \"codec\", \"lossy\"] : [\"type\", \"codec\", \"lossy\"];\n if (!inspected.ok) return failed(\"SCHEMAN_ADAPTER_PROFILE_MALFORMED\", nodeId);\n const record = inspected.value;\n if (!exactAllowedKeys(inspected, allowed) || (versioned && record.version !== 1)) {\n return failed(\"SCHEMAN_ADAPTER_PROFILE_MALFORMED\", nodeId);\n }\n const type = readSemanticType(record.type);\n const codec = readBoundedText(record.codec);\n const lossy = readLossPolicy(record.lossy);\n if (!type.ok || codec === null || lossy === null) {\n return failed(\"SCHEMAN_ADAPTER_PROFILE_MALFORMED\", nodeId);\n }\n return success({\n type: type.value,\n ...(codec ? { codec } : {}),\n ...(lossy ? { lossy } : {}),\n source: versioned ? \"x-kalada\" : \"override\",\n finalValidation: \"kalada-type\",\n });\n}\n\nfunction checkCompatibility(\n profile: ResolvedProfile,\n conservative: SemanticType,\n node: SchemaNode,\n options: AdaptSchemanOptions,\n nodeId: string,\n): ProfileResult {\n const conversion = !sameType(profile.type, conservative) || profile.lossy !== undefined;\n if (conversion && !profile.codec) return failed(\"SCHEMAN_ADAPTER_CODEC_REQUIRED\", nodeId);\n if (profile.lossy && !validLossPolicy(profile, node)) {\n return failed(\"SCHEMAN_ADAPTER_PROFILE_INCOMPATIBLE\", nodeId);\n }\n if (profile.codec && !matchingCodec(profile.codec, options)) {\n return failed(\"SCHEMAN_ADAPTER_CODEC_MISMATCH\", nodeId);\n }\n return success(profile);\n}\n\nfunction validLossPolicy(profile: ResolvedProfile, node: SchemaNode): boolean {\n if (profile.lossy === \"safe-integer-bigint-to-number\") {\n return (\n node.kind === \"primitive\" && node.type === \"bigint\" && isPrimitive(profile.type, \"number\")\n );\n }\n if (profile.lossy === \"heterogeneous-union-to-json\") {\n return node.kind === \"union\" && isPrimitive(profile.type, \"json\");\n }\n return true;\n}\n\nfunction matchingCodec(id: string, options: AdaptSchemanOptions): boolean {\n const codec = options.codec;\n return Boolean(\n codec &&\n codec.id === id &&\n codec.mode === options.mode &&\n codec.capabilityVersion.length > 0 &&\n codec.configurationDigest.length > 0,\n );\n}\n\nfunction isPrimitive(type: SemanticType, name: string): boolean {\n return type !== \"dynamic\" && type.kind === \"primitive-type\" && type.name === name;\n}\n\nfunction sameType(left: SemanticType, right: SemanticType): boolean {\n return JSON.stringify(left) === JSON.stringify(right);\n}\n\nfunction readBoundedText(value: unknown): string | undefined | null {\n if (value === undefined) return undefined;\n return typeof value === \"string\" && value.length > 0 && value.length <= 256 ? value : null;\n}\n\nfunction readLossPolicy(value: unknown): KaladaLossPolicy | undefined | null {\n if (value === undefined) return undefined;\n return value === \"safe-integer-bigint-to-number\" || value === \"heterogeneous-union-to-json\"\n ? value\n : null;\n}\n\nfunction exactAllowedKeys(record: OwnRecord, allowed: readonly string[]): boolean {\n return record.keys.includes(\"type\") && record.keys.every((key) => allowed.includes(key));\n}\n\ninterface OwnRecord {\n readonly ok: true;\n readonly value: Record<string, unknown>;\n readonly keys: readonly string[];\n}\n\ntype OwnRecordResult = OwnRecord | Readonly<{ ok: false }>;\ntype OptionalRecordResult = Readonly<{ ok: true; value?: OwnRecord }> | Readonly<{ ok: false }>;\ntype OwnSlot = Readonly<{ present: false }> | Readonly<{ present: true; value: unknown }>;\n\nfunction ownRecord(input: unknown): OwnRecordResult {\n if (typeof input !== \"object\" || input === null) return Object.freeze({ ok: false });\n const reflected = reflectRecord(input);\n if (!reflected) return Object.freeze({ ok: false });\n const output: Record<string, unknown> = Object.create(null);\n for (const key of reflected.keys) output[key] = reflected.descriptors[key]?.value;\n return Object.freeze({\n ok: true,\n value: Object.freeze(output),\n keys: Object.freeze(reflected.keys),\n });\n}\n\nfunction reflectRecord(input: object) {\n try {\n if (Array.isArray(input)) return null;\n const prototype = Object.getPrototypeOf(input);\n if (prototype !== null && prototype !== Object.prototype) return null;\n const ownKeys = Reflect.ownKeys(input);\n if (ownKeys.some((key) => typeof key !== \"string\")) return null;\n const keys = ownKeys as string[];\n const descriptors: Record<string, PropertyDescriptor> = Object.create(null);\n for (const key of keys) {\n const descriptor = Object.getOwnPropertyDescriptor(input, key);\n if (!descriptor || !(\"value\" in descriptor)) return null;\n descriptors[key] = descriptor;\n }\n return { keys, descriptors };\n } catch {\n return null;\n }\n}\n\nfunction optionalRecord(input: unknown): OptionalRecordResult {\n if (input === undefined || isProfileFreeOwnedValue(input)) return Object.freeze({ ok: true });\n const record = ownRecord(input);\n return record.ok ? Object.freeze({ ok: true, value: record }) : Object.freeze({ ok: false });\n}\n\nfunction isProfileFreeOwnedValue(input: unknown): boolean {\n if (input === null || typeof input === \"string\" || typeof input === \"boolean\") return true;\n if (typeof input === \"number\") return Number.isFinite(input);\n return Array.isArray(input);\n}\n\nfunction nestedRecord(parent: OwnRecord | undefined, key: string): OptionalRecordResult {\n const slot = ownSlot(parent, key);\n return slot.present ? optionalRecord(slot.value) : Object.freeze({ ok: true });\n}\n\nfunction ownSlot(record: OwnRecord | undefined, key: string): OwnSlot {\n if (!record?.keys.includes(key)) return Object.freeze({ present: false });\n return Object.freeze({ present: true, value: record.value[key] });\n}\n\nfunction success(value: ResolvedProfile): ProfileResult {\n return Object.freeze({ ok: true, value: Object.freeze(value) });\n}\n\nfunction failed(code: SchemanAdapterDiagnostic[\"code\"], nodeId: string): ProfileResult {\n return Object.freeze({\n ok: false,\n diagnostics: Object.freeze([\n Object.freeze({ code, severity: \"error\", side: \"output\", sourcePointer: \"\", nodeId }),\n ]),\n });\n}\n","import type { SemanticTypeResult } from \"@kalada/host\";\nimport type { NodeRef, SchemaDocument, SchemaNode } from \"@scheman/core\";\nimport { eligibleLocalReference } from \"./local-reference.js\";\nimport type { SchemanAdapterDiagnostic, SchemanAnalysisLimits } from \"./types.js\";\n\ntype SemanticType = Extract<SemanticTypeResult, { ok: true }>[\"value\"];\ninterface ProjectionState {\n readonly type: SemanticType;\n readonly depth: number;\n}\ninterface AnalysisGraph {\n readonly nodes: ReadonlyMap<string, SchemaNode>;\n readonly bounded: boolean;\n}\ntype ProjectionResult = Readonly<{\n readonly type: SemanticType;\n readonly diagnostics: readonly SchemanAdapterDiagnostic[];\n}>;\n\nconst primitive = (name: \"null\" | \"boolean\" | \"number\" | \"string\" | \"json\"): SemanticType =>\n Object.freeze({ kind: \"primitive-type\", name });\n\nexport function projectOutput(\n document: SchemaDocument,\n limits: SchemanAnalysisLimits,\n): ProjectionResult {\n const rootId = document.root.output.nodeId;\n const graph = collectGraph(rootId, document, limits);\n if (graph.bounded) return boundedProjection(rootId);\n const safe = jsonSafety(graph, document);\n const states = projectionStates(graph, safe, document, limits.maxTypeDepth);\n const type = states.get(rootId)?.type ?? \"dynamic\";\n return Object.freeze({ type, diagnostics: projectionDiagnostics(type, rootId) });\n}\n\nfunction collectGraph(\n rootId: string,\n document: SchemaDocument,\n limits: SchemanAnalysisLimits,\n): AnalysisGraph {\n const nodes = new Map<string, SchemaNode>();\n const pending = [rootId];\n let edges = 0;\n let bounded = false;\n while (pending.length > 0) {\n const nodeId = pending.pop();\n if (!nodeId || nodes.has(nodeId)) continue;\n if (nodes.size >= limits.maxNodes) {\n bounded = true;\n break;\n }\n const node = document.nodes[nodeId];\n if (!node) continue;\n nodes.set(nodeId, node);\n const children = projectionChildren(nodeId, node, document);\n for (let index = children.length - 1; index >= 0; index -= 1) {\n edges += 1;\n if (edges > limits.maxEdges) {\n bounded = true;\n break;\n }\n pending.push(children[index] as string);\n }\n if (bounded) break;\n }\n return Object.freeze({ nodes, bounded });\n}\n\nfunction projectionChildren(nodeId: string, node: SchemaNode, document: SchemaDocument): string[] {\n if (hasApplicators(node)) return [];\n if (node.kind === \"object\") {\n return [\n ...node.properties.map((property) => property.node.nodeId),\n ...(node.additionalProperties ? [node.additionalProperties.nodeId] : []),\n ];\n }\n if (node.kind === \"array\") return [node.items.nodeId];\n if (node.kind === \"tuple\") return refs([...node.items, ...(node.rest ? [node.rest] : [])]);\n if (node.kind === \"record\") return [node.key.nodeId, node.value.nodeId];\n if (node.kind === \"union\") return refs(node.alternatives);\n if (node.kind === \"intersection\") return refs(node.operands);\n if (node.kind === \"wrapper\") return [node.inner.nodeId];\n if (node.kind === \"ref\" && eligibleLocalReference(nodeId, node, document)) {\n return [node.target?.nodeId as string];\n }\n return [];\n}\n\nfunction jsonSafety(graph: AnalysisGraph, document: SchemaDocument): ReadonlyMap<string, boolean> {\n const safe = new Map<string, boolean>();\n const stringKeys = stringKeyDomains(graph, document);\n for (const [nodeId, node] of graph.nodes) safe.set(nodeId, jsonCandidate(nodeId, node, document));\n for (let pass = 0; pass < graph.nodes.size; pass += 1) {\n let changed = false;\n for (const [nodeId, node] of graph.nodes) {\n if (!safe.get(nodeId) || jsonDependenciesSafe(nodeId, node, safe, stringKeys, document))\n continue;\n safe.set(nodeId, false);\n changed = true;\n }\n if (!changed) break;\n }\n return safe;\n}\n\nfunction jsonCandidate(nodeId: string, node: SchemaNode, document: SchemaDocument): boolean {\n if (hasApplicators(node)) return false;\n if (node.kind === \"primitive\") {\n return [\"null\", \"boolean\", \"number\", \"integer\", \"string\"].includes(node.type);\n }\n if (node.kind === \"literal\") return isJsonValue(node.value);\n if (node.kind === \"enum\") return node.values.every(isJsonValue);\n if (node.kind === \"unconstrained\") return node.domain === \"json\";\n if (node.kind === \"ref\") return eligibleLocalReference(nodeId, node, document);\n if (node.kind === \"wrapper\") return node.wrapper === \"readonly\" || node.wrapper === \"brand\";\n return [\"object\", \"array\", \"tuple\", \"record\", \"union\", \"intersection\"].includes(node.kind);\n}\n\nfunction jsonDependenciesSafe(\n nodeId: string,\n node: SchemaNode,\n safe: ReadonlyMap<string, boolean>,\n stringKeys: ReadonlyMap<string, boolean>,\n document: SchemaDocument,\n): boolean {\n if (node.kind === \"object\") return objectDependenciesSafe(node, safe);\n if (node.kind === \"array\") return safe.get(node.items.nodeId) === true;\n if (node.kind === \"tuple\")\n return refsSafe([...node.items, ...(node.rest ? [node.rest] : [])], safe);\n if (node.kind === \"record\") {\n return stringKeys.get(node.key.nodeId) === true && safe.get(node.value.nodeId) === true;\n }\n if (node.kind === \"union\") return refsSafe(node.alternatives, safe);\n if (node.kind === \"intersection\") return refsSafe(node.operands, safe);\n if (node.kind === \"wrapper\") return safe.get(node.inner.nodeId) === true;\n if (node.kind === \"ref\" && eligibleLocalReference(nodeId, node, document)) {\n return safe.get(node.target?.nodeId as string) === true;\n }\n return true;\n}\n\nfunction objectDependenciesSafe(\n node: Extract<SchemaNode, { kind: \"object\" }>,\n safe: ReadonlyMap<string, boolean>,\n): boolean {\n if (!node.properties.every((property) => safe.get(property.node.nodeId) === true)) return false;\n const additionalSafe = node.additionalProperties\n ? safe.get(node.additionalProperties.nodeId) === true\n : false;\n if (node.unknownKeys === \"schema\") return additionalSafe;\n if (node.unknownKeys === \"passthrough\" || node.unknownKeys === \"unknown\") return additionalSafe;\n return !node.additionalProperties || additionalSafe;\n}\n\nfunction stringKeyDomains(\n graph: AnalysisGraph,\n document: SchemaDocument,\n): ReadonlyMap<string, boolean> {\n const output = new Map<string, boolean>();\n for (const [nodeId, node] of graph.nodes) output.set(nodeId, directStringDomain(node));\n for (let pass = 0; pass < graph.nodes.size; pass += 1) {\n let changed = false;\n for (const [nodeId, node] of graph.nodes) {\n if (output.get(nodeId) || !derivedStringDomain(nodeId, node, output, document)) continue;\n output.set(nodeId, true);\n changed = true;\n }\n if (!changed) break;\n }\n return output;\n}\n\nfunction directStringDomain(node: SchemaNode): boolean {\n if (node.kind === \"primitive\") return node.type === \"string\";\n if (node.kind === \"literal\") return typeof node.value === \"string\";\n return (\n node.kind === \"enum\" &&\n node.values.length > 0 &&\n node.values.every((item) => typeof item === \"string\")\n );\n}\n\nfunction derivedStringDomain(\n nodeId: string,\n node: SchemaNode,\n domains: ReadonlyMap<string, boolean>,\n document: SchemaDocument,\n): boolean {\n if (node.kind === \"wrapper\" && (node.wrapper === \"readonly\" || node.wrapper === \"brand\")) {\n return domains.get(node.inner.nodeId) === true;\n }\n if (node.kind === \"ref\" && eligibleLocalReference(nodeId, node, document)) {\n return domains.get(node.target?.nodeId as string) === true;\n }\n if (node.kind === \"union\") return node.alternatives.every((ref) => domains.get(ref.nodeId));\n if (node.kind === \"intersection\") return node.operands.every((ref) => domains.get(ref.nodeId));\n return false;\n}\n\nfunction projectionStates(\n graph: AnalysisGraph,\n safe: ReadonlyMap<string, boolean>,\n document: SchemaDocument,\n maxDepth: number,\n): ReadonlyMap<string, ProjectionState> {\n const states = new Map<string, ProjectionState>();\n for (const [nodeId, node] of graph.nodes) {\n const direct = directProjection(node, safe.get(nodeId) === true);\n if (direct) states.set(nodeId, direct);\n }\n for (let pass = 0; pass < graph.nodes.size; pass += 1) {\n let changed = false;\n for (const [nodeId, node] of graph.nodes) {\n if (states.has(nodeId)) continue;\n const derived = derivedProjection(nodeId, node, states, document, maxDepth);\n if (!derived) continue;\n states.set(nodeId, derived);\n changed = true;\n }\n if (!changed) break;\n }\n return states;\n}\n\nfunction directProjection(node: SchemaNode, jsonSafe: boolean): ProjectionState | null {\n if (hasApplicators(node)) return null;\n if (node.kind === \"primitive\") return state(primitiveProjection(node.type));\n if (node.kind === \"literal\") return state(literalProjection(node.value));\n if (node.kind === \"enum\") return state(enumProjection(node.values));\n if (node.kind === \"unconstrained\" && node.domain === \"json\") return state(primitive(\"json\"));\n if ([\"object\", \"record\", \"tuple\"].includes(node.kind) && jsonSafe)\n return state(primitive(\"json\"));\n return null;\n}\n\nfunction derivedProjection(\n nodeId: string,\n node: SchemaNode,\n states: ReadonlyMap<string, ProjectionState>,\n document: SchemaDocument,\n maxDepth: number,\n): ProjectionState | null {\n if (node.kind === \"array\") return arrayState(states.get(node.items.nodeId), maxDepth);\n if (node.kind === \"union\") return sharedState(node.alternatives, states);\n if (node.kind === \"intersection\") return sharedState(node.operands, states);\n if (node.kind === \"wrapper\" && (node.wrapper === \"readonly\" || node.wrapper === \"brand\")) {\n return states.get(node.inner.nodeId) ?? null;\n }\n if (node.kind === \"ref\" && eligibleLocalReference(nodeId, node, document)) {\n return states.get(node.target?.nodeId as string) ?? null;\n }\n return null;\n}\n\nfunction primitiveProjection(\n type: Extract<SchemaNode, { kind: \"primitive\" }>[\"type\"],\n): SemanticType {\n if (type === \"null\" || type === \"boolean\" || type === \"string\") return primitive(type);\n return type === \"number\" || type === \"integer\" ? primitive(\"number\") : \"dynamic\";\n}\n\nfunction literalProjection(value: unknown): SemanticType {\n const domain = primitiveDomain(value);\n return domain ? primitive(domain) : \"dynamic\";\n}\n\nfunction enumProjection(values: readonly unknown[]): SemanticType {\n const domains = new Set(values.map(primitiveDomain));\n const [domain] = domains;\n return domains.size === 1 && domain ? primitive(domain) : \"dynamic\";\n}\n\nfunction arrayState(\n element: ProjectionState | undefined,\n maxDepth: number,\n): ProjectionState | null {\n if (!element || element.type === \"dynamic\" || element.depth >= maxDepth) return null;\n return Object.freeze({\n type: Object.freeze({ kind: \"array-type\", element: element.type }),\n depth: element.depth + 1,\n });\n}\n\nfunction sharedState(\n refs: readonly NodeRef[],\n states: ReadonlyMap<string, ProjectionState>,\n): ProjectionState | null {\n const values = refs.map((ref) => states.get(ref.nodeId));\n const first = values[0];\n if (!first || first.type === \"dynamic\" || values.some((item) => !item)) return null;\n return values.every((item) => sameType(item?.type, first.type)) ? first : null;\n}\n\nfunction state(type: SemanticType): ProjectionState | null {\n return type === \"dynamic\" ? null : Object.freeze({ type, depth: 0 });\n}\n\nfunction refsSafe(values: readonly NodeRef[], safe: ReadonlyMap<string, boolean>): boolean {\n return values.every((ref) => safe.get(ref.nodeId) === true);\n}\n\nfunction refs(values: readonly NodeRef[]): string[] {\n return values.map((value) => value.nodeId);\n}\n\nfunction primitiveDomain(value: unknown): \"null\" | \"boolean\" | \"number\" | \"string\" | null {\n if (value === null) return \"null\";\n if (typeof value === \"boolean\") return \"boolean\";\n if (typeof value === \"string\") return \"string\";\n return typeof value === \"number\" && Number.isFinite(value) ? \"number\" : null;\n}\n\nfunction isJsonValue(input: unknown): boolean {\n const pending = [input];\n let visits = 0;\n while (pending.length > 0) {\n const value = pending.pop();\n visits += 1;\n if (visits > 10_000) return false;\n if (primitiveDomain(value)) continue;\n if (Array.isArray(value)) {\n pending.push(...value);\n continue;\n }\n if (typeof value !== \"object\" || value === null) return false;\n pending.push(...Object.values(value));\n }\n return true;\n}\n\nfunction hasApplicators(node: SchemaNode): boolean {\n const value = node.applicators;\n if (!value) return false;\n if (value.if || value.then || value.else || value.not || value.contains || value.propertyNames)\n return true;\n return (\n Object.keys(value.patternProperties ?? {}).length > 0 ||\n Object.keys(value.dependentSchemas ?? {}).length > 0\n );\n}\n\nfunction sameType(left: SemanticType | undefined, right: SemanticType): boolean {\n return left !== undefined && JSON.stringify(left) === JSON.stringify(right);\n}\n\nfunction projectionDiagnostics(\n type: SemanticType,\n nodeId: string,\n): readonly SchemanAdapterDiagnostic[] {\n if (type !== \"dynamic\") return Object.freeze([]);\n return Object.freeze([\n warning(\"SCHEMAN_ADAPTER_UNSUPPORTED_EVIDENCE\", nodeId),\n warning(\"SCHEMAN_ADAPTER_DYNAMIC_PROJECTION\", nodeId),\n ]);\n}\n\nfunction boundedProjection(nodeId: string): ProjectionResult {\n return Object.freeze({\n type: \"dynamic\",\n diagnostics: Object.freeze([\n warning(\"SCHEMAN_ADAPTER_ANALYSIS_LIMIT\", nodeId),\n warning(\"SCHEMAN_ADAPTER_DYNAMIC_PROJECTION\", nodeId),\n ]),\n });\n}\n\nfunction warning(code: SchemanAdapterDiagnostic[\"code\"], nodeId: string): SchemanAdapterDiagnostic {\n return Object.freeze({ code, severity: \"warning\", side: \"output\", sourcePointer: \"\", nodeId });\n}\n","import {\n createManualProvider,\n describeEnvironment,\n type ManualCapability,\n type SerializableValue,\n} from \"@kalada/host\";\nimport type { Diagnostic, SchemaDocument } from \"@scheman/core\";\nimport { resolveAnalysisLimits } from \"./analysis-limits.js\";\nimport { convertWithFinalPolicy, decodeStandardSchema } from \"./capability-wrappers.js\";\nimport { schemanEditorDocument } from \"./editor-document.js\";\nimport { validNormalizedEditorGraph } from \"./editor-invariants.js\";\nimport { type ResolvedProfile, resolveProfile } from \"./profile.js\";\nimport { projectOutput } from \"./semantic-mapping.js\";\nimport type {\n AdaptSchemanOptions,\n AdaptSchemanResult,\n SchemanAdapterDiagnostic,\n SchemanSourceDiagnostic,\n} from \"./types.js\";\n\nconst validatorHandle = \"scheman-validator\";\nconst codecHandle = \"scheman-codec\";\nconst maximumSourceRecords = 512;\n\nexport function adaptSchemanDocument<Input = unknown, Output = Input>(\n options: AdaptSchemanOptions<Input, Output>,\n): AdaptSchemanResult<Input, Output> {\n const document = options.document as SchemaDocument & { readonly formatVersion: number };\n const invalid = validateDocument(document);\n if (invalid) return failure(invalid);\n const limits = resolveAnalysisLimits(options.analysisLimits);\n const projection = projectOutput(document, limits);\n const profile = resolveProfile(options, projection.type);\n if (!profile.ok) return Object.freeze({ ok: false, diagnostics: profile.diagnostics });\n const editor = schemanEditorDocument(document, limits);\n const sourceEvidence = boundedSourceEvidence(\n document,\n Math.min(limits.maxNodes, maximumSourceRecords),\n );\n const described = describeEnvironment(\n adapterProvider(options, document, profile.value, limits, editor, sourceEvidence),\n );\n if (!described.ok) return failure(adapterFailure(\"SCHEMAN_ADAPTER_INVALID_DOCUMENT\"));\n if (\n !validNormalizedEditorGraph(\n described.environment.editorGraph,\n options.binding.id,\n document.root.input.nodeId,\n )\n ) {\n return failure(adapterFailure(\"SCHEMAN_ADAPTER_INVALID_DOCUMENT\"));\n }\n return Object.freeze({\n ok: true,\n environment: described.environment,\n capabilitySnapshot: described.capabilitySnapshot,\n diagnostics: Object.freeze([\n ...sourceDiagnostics(sourceEvidence.diagnostics.values),\n ...projection.diagnostics,\n ...sourceLimitDiagnostics(sourceEvidence, editor),\n ]),\n ...(options.validator ? { retainedValidator: options.validator.validator } : {}),\n });\n}\n\nfunction adapterProvider(\n options: AdaptSchemanOptions,\n document: SchemaDocument,\n profile: ResolvedProfile,\n limits: ReturnType<typeof resolveAnalysisLimits>,\n editor: ReturnType<typeof schemanEditorDocument>,\n sourceEvidence: SourceEvidence,\n) {\n return createManualProvider({\n mode: options.mode,\n providerId: options.providerId,\n providerVersion: options.providerVersion,\n configurationDigest: options.configurationDigest,\n cacheable: options.cacheable,\n capabilities: configuredCapabilities(options, profile),\n bindings: [\n {\n id: options.binding.id,\n name: options.binding.name,\n path: options.binding.path,\n semanticType: profile.type,\n editorShape: editor.document,\n ...(options.validator ? { validatorHandle } : {}),\n ...(profile.codec ? { codecHandle } : {}),\n metadata: environmentMetadata(document, profile, limits, editor, sourceEvidence),\n provenance: [schemanProvenance(document)],\n },\n ],\n });\n}\n\nfunction validateDocument(document: SchemaDocument & { readonly formatVersion: number }) {\n if (document.formatVersion !== 1) return adapterFailure(\"SCHEMAN_ADAPTER_FORMAT_VERSION\");\n if (!document.root?.input?.nodeId || !document.root?.output?.nodeId) {\n return adapterFailure(\"SCHEMAN_ADAPTER_INVALID_DOCUMENT\");\n }\n if (!document.nodes[document.root.input.nodeId] || !document.nodes[document.root.output.nodeId]) {\n return adapterFailure(\"SCHEMAN_ADAPTER_UNRESOLVED_ROOT\");\n }\n return undefined;\n}\n\nfunction configuredCapabilities(\n options: AdaptSchemanOptions,\n profile: ResolvedProfile,\n): ManualCapability[] {\n const capabilities: ManualCapability[] = [];\n if (options.validator) capabilities.push(validatorCapability(options.validator));\n const codec = options.codec;\n if (codec) {\n capabilities.push({\n handle: codecHandle,\n kind: \"codec\",\n mode: codec.mode,\n capabilityId: codec.id,\n capabilityVersion: codec.capabilityVersion,\n configurationDigest: codec.configurationDigest,\n cacheable: codec.cacheable,\n convert: (value) => convertWithFinalPolicy(codec, profile.finalValidation, value),\n });\n }\n return capabilities;\n}\n\nfunction validatorCapability(config: NonNullable<AdaptSchemanOptions[\"validator\"]>) {\n return {\n handle: validatorHandle,\n kind: \"validator\" as const,\n mode: config.mode,\n capabilityId: config.capabilityId,\n capabilityVersion: config.capabilityVersion,\n configurationDigest: config.configurationDigest,\n cacheable: config.cacheable,\n decode: (value: unknown) => decodeStandardSchema(config.validator, value),\n };\n}\n\nfunction environmentMetadata(\n document: SchemaDocument,\n profile: ResolvedProfile,\n limits: ReturnType<typeof resolveAnalysisLimits>,\n editor: ReturnType<typeof schemanEditorDocument>,\n sourceEvidence: SourceEvidence,\n): SerializableValue {\n const sourceRetention = sourceRetentionMetadata(document, editor, sourceEvidence);\n return {\n scheman: {\n formatVersion: document.formatVersion,\n nodeIdScope: \"document-local\",\n roots: { input: document.root.input.nodeId, output: document.root.output.nodeId },\n capabilities: document.capabilities,\n definitions: sourceEvidence.definitions.values,\n diagnostics: sourceEvidence.diagnostics.values,\n metadata: document.metadata,\n bounded: {\n limits,\n retainedNodes: editor.retainedNodes,\n retainedEdges: editor.retainedEdges,\n nodes: {\n retained: editor.retainedNodes,\n total: Object.keys(document.nodes).length,\n truncated: editor.nodeTruncated,\n },\n edges: editor.sourceEdges,\n requiredNames: editor.requiredNames,\n definitions: sourceEvidence.definitions.summary,\n diagnostics: sourceEvidence.diagnostics.summary,\n sourceRetention,\n hostAdmissionPlan: editor.admission,\n truncated:\n editor.nodeTruncated ||\n editor.edgeTruncated ||\n editor.requiredNames.truncated ||\n sourceEvidence.definitions.summary.truncated ||\n sourceEvidence.diagnostics.summary.truncated,\n },\n },\n policy: profile,\n } as unknown as SerializableValue;\n}\n\nfunction sourceRetentionMetadata(\n document: SchemaDocument,\n editor: ReturnType<typeof schemanEditorDocument>,\n sourceEvidence: SourceEvidence,\n) {\n return {\n nodes: {\n retained: editor.retainedNodes,\n total: Object.keys(document.nodes).length,\n truncated: editor.nodeTruncated,\n },\n edges: editor.sourceEdges,\n requiredNames: editor.requiredNames,\n definitions: sourceEvidence.definitions.summary,\n diagnostics: sourceEvidence.diagnostics.summary,\n };\n}\n\nfunction schemanProvenance(document: SchemaDocument) {\n const metadata = document.metadata as { readonly provider?: unknown };\n return Object.freeze({\n providerId: \"@scheman/core\",\n providerVersion: \"2.0.0\",\n ...(typeof metadata.provider === \"string\" ? { extractor: metadata.provider } : {}),\n });\n}\n\nfunction sourceDiagnostics(diagnostics: readonly Diagnostic[]): SchemanSourceDiagnostic[] {\n return diagnostics.map((diagnostic) => wrapSourceDiagnostic(diagnostic));\n}\n\ninterface BoundedSourceRecords<T> {\n readonly values: readonly T[];\n readonly summary: Readonly<{ retained: number; total: number; truncated: boolean }>;\n}\n\ninterface SourceEvidence {\n readonly definitions: BoundedSourceRecords<SchemaDocument[\"definitions\"][number]>;\n readonly diagnostics: BoundedSourceRecords<Diagnostic>;\n}\n\nfunction boundedSourceEvidence(document: SchemaDocument, maximum: number): SourceEvidence {\n return {\n definitions: boundedRecords(document.definitions, maximum),\n diagnostics: boundedRecords(document.diagnostics, maximum),\n };\n}\n\nfunction boundedRecords<T>(values: readonly T[], maximum: number): BoundedSourceRecords<T> {\n const retained = values.slice(0, maximum);\n return {\n values: retained,\n summary: {\n retained: retained.length,\n total: values.length,\n truncated: retained.length < values.length,\n },\n };\n}\n\nfunction sourceLimitDiagnostics(\n evidence: SourceEvidence,\n editor: ReturnType<typeof schemanEditorDocument>,\n): readonly SchemanAdapterDiagnostic[] {\n const sourcePointer = limitSourcePointer(evidence, editor);\n if (!sourcePointer) return Object.freeze([]);\n const diagnostic = Object.freeze({\n code: \"SCHEMAN_ADAPTER_ANALYSIS_LIMIT\" as const,\n severity: \"warning\" as const,\n side: \"output\" as const,\n sourcePointer,\n });\n return Object.freeze([diagnostic]);\n}\n\nfunction limitSourcePointer(\n evidence: SourceEvidence,\n editor: ReturnType<typeof schemanEditorDocument>,\n): string | undefined {\n if (evidence.definitions.summary.truncated) return \"/definitions\";\n if (evidence.diagnostics.summary.truncated) return \"/diagnostics\";\n if (editor.requiredNames.truncated) return \"/nodes/*/required\";\n return undefined;\n}\n\nfunction wrapSourceDiagnostic(diagnostic: Diagnostic): SchemanSourceDiagnostic {\n return Object.freeze({\n code: diagnostic.code,\n severity: diagnostic.severity,\n side: diagnostic.side,\n sourcePointer: diagnostic.sourcePointer,\n ...(diagnostic.nodeId ? { nodeId: diagnostic.nodeId } : {}),\n provenance: Object.freeze({ providerId: \"@scheman/core\", formatVersion: \"1\" }),\n });\n}\n\nfunction adapterFailure(code: SchemanAdapterDiagnostic[\"code\"]): SchemanAdapterDiagnostic {\n return Object.freeze({ code, severity: \"error\", side: \"output\", sourcePointer: \"\" });\n}\n\nfunction failure(diagnostic: SchemanAdapterDiagnostic): Extract<AdaptSchemanResult, { ok: false }> {\n return Object.freeze({ ok: false, diagnostics: Object.freeze([diagnostic]) });\n}\n","import type { SemanticMappingRule } from \"./types.js\";\n\nexport const SCHEMAN_SEMANTIC_MAPPING: readonly SemanticMappingRule[] = Object.freeze([\n { scheman: \"primitive:null|boolean|string\", projection: \"same primitive\", condition: \"always\" },\n {\n scheman: \"primitive:number|integer\",\n projection: \"number\",\n condition: \"always; constraints retained\",\n },\n {\n scheman: \"literal|enum\",\n projection: \"single primitive domain\",\n condition: \"all values share one supported domain\",\n },\n { scheman: \"array\", projection: \"array-type\", condition: \"item projection is concrete\" },\n {\n scheman: \"object|record|tuple\",\n projection: \"json\",\n condition: \"entire reachable graph is JSON-safe\",\n },\n {\n scheman: \"union|intersection\",\n projection: \"shared concrete type\",\n condition: \"every operand agrees\",\n },\n { scheman: \"ref\", projection: \"target projection\", condition: \"same-document target resolves\" },\n {\n scheman: \"wrapper:readonly|brand\",\n projection: \"inner projection\",\n condition: \"wrapper is non-transforming\",\n },\n { scheman: \"unconstrained:json\", projection: \"json\", condition: \"JSON domain is explicit\" },\n {\n scheman: \"unknown|opaque|never|unconstrained:js\",\n projection: \"dynamic\",\n condition: \"unless explicitly overridden\",\n },\n {\n scheman: \"primitive:undefined|void|bigint|symbol|date|NaN\",\n projection: \"dynamic\",\n condition: \"unless explicitly overridden\",\n },\n {\n scheman: \"wrapper:optional|nullable|default|catch|pipeline|effect|coerce\",\n projection: \"dynamic\",\n condition: \"unless explicitly overridden\",\n },\n]);\n\nexport const SCHEMAN_MAPPING_FIXTURE_MATRIX = Object.freeze([\n [\"primitive-null\", \"null\"],\n [\"primitive-boolean\", \"boolean\"],\n [\"primitive-string\", \"string\"],\n [\"primitive-number\", \"number\"],\n [\"primitive-integer\", \"number\"],\n [\"literal-primitive\", \"primitive-domain\"],\n [\"enum-single-domain\", \"primitive-domain\"],\n [\"enum-mixed-domain\", \"dynamic\"],\n [\"array-concrete-item\", \"array-type\"],\n [\"array-dynamic-item\", \"dynamic\"],\n [\"json-safe-object-record-tuple\", \"json\"],\n [\"homogeneous-union-intersection\", \"shared-concrete\"],\n [\"heterogeneous-union\", \"dynamic\"],\n [\"resolved-local-ref\", \"target\"],\n [\"unresolved-or-external-ref\", \"dynamic\"],\n [\"readonly-or-brand-wrapper\", \"inner\"],\n [\"json-unconstrained\", \"json\"],\n [\"unknown-opaque-never-js-unconstrained\", \"dynamic\"],\n [\"undefined-void-bigint-symbol-date-nan\", \"dynamic\"],\n [\"optional-nullable-default-catch-effect-pipeline-coerce\", \"dynamic\"],\n [\"unsupported-applicator\", \"dynamic\"],\n] as const);\n","export { adaptSchemanDocument } from \"./adapter.js\";\nexport { DEFAULT_SCHEMAN_ANALYSIS_LIMITS } from \"./analysis-limits.js\";\nexport { SCHEMAN_MAPPING_FIXTURE_MATRIX, SCHEMAN_SEMANTIC_MAPPING } from \"./mapping-table.js\";\n\nexport const DENY_SCHEMAN_EXECUTION_PERMISSIONS = Object.freeze({\n zod: Object.freeze({ shape: false, lazy: false, metadata: false }),\n standardJson: false,\n});\n\nexport type {\n AdaptSchemanOptions,\n AdaptSchemanResult,\n KaladaLossPolicy,\n KaladaProfile,\n SchemanAdapterDiagnostic,\n SchemanAdapterDiagnosticCode,\n SchemanAnalysisLimits,\n SchemanBindingOptions,\n SchemanCodecOptions,\n SchemanSourceDiagnostic,\n SchemanValidatorOptions,\n SemanticMappingRule,\n} from \"./types.js\";\n"]}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@kalada/adapter-scheman",
3
+ "version": "0.1.0",
4
+ "description": "Conservative Scheman v2 adapter for Kalada host environments",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/surikaterna/kalada",
9
+ "directory": "packages/adapter-scheman"
10
+ },
11
+ "type": "module",
12
+ "sideEffects": false,
13
+ "files": [
14
+ "dist",
15
+ "README.md"
16
+ ],
17
+ "main": "./dist/index.cjs",
18
+ "module": "./dist/index.js",
19
+ "types": "./dist/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "import": {
23
+ "types": "./dist/index.d.ts",
24
+ "default": "./dist/index.js"
25
+ },
26
+ "require": {
27
+ "types": "./dist/index.d.cts",
28
+ "default": "./dist/index.cjs"
29
+ }
30
+ },
31
+ "./package.json": "./package.json"
32
+ },
33
+ "scripts": {
34
+ "build": "tsup",
35
+ "test": "vitest run --config ../../vitest.config.ts src",
36
+ "typecheck": "tsc --noEmit"
37
+ },
38
+ "dependencies": {
39
+ "@kalada/host": "^0.1.0",
40
+ "@scheman/core": "^2.0.0"
41
+ },
42
+ "publishConfig": {
43
+ "access": "public"
44
+ },
45
+ "engines": {
46
+ "node": ">=22.0.0"
47
+ }
48
+ }