@kernlang/core 3.5.9-canary.220.1.c398cd95 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/capability-matrix.js +8 -6
- package/dist/capability-matrix.js.map +1 -1
- package/dist/closure-eligibility.d.ts +104 -0
- package/dist/closure-eligibility.js +443 -0
- package/dist/closure-eligibility.js.map +1 -0
- package/dist/closure-python-lowering.d.ts +26 -0
- package/dist/closure-python-lowering.js +132 -22
- package/dist/closure-python-lowering.js.map +1 -1
- package/dist/codegen/body-ts.js +13 -0
- package/dist/codegen/body-ts.js.map +1 -1
- package/dist/codegen/type-system.js +50 -3
- package/dist/codegen/type-system.js.map +1 -1
- package/dist/codegen-core.js +29 -0
- package/dist/codegen-core.js.map +1 -1
- package/dist/codegen-expression.js +7 -0
- package/dist/codegen-expression.js.map +1 -1
- package/dist/constructor-super.d.ts +34 -0
- package/dist/constructor-super.js +122 -0
- package/dist/constructor-super.js.map +1 -0
- package/dist/core-contracts/boolean.d.ts +147 -0
- package/dist/core-contracts/boolean.js +110 -0
- package/dist/core-contracts/boolean.js.map +1 -0
- package/dist/core-contracts/function.d.ts +6 -0
- package/dist/core-contracts/function.js +7 -0
- package/dist/core-contracts/function.js.map +1 -0
- package/dist/core-contracts/index.d.ts +1032 -0
- package/dist/core-contracts/index.js +30 -0
- package/dist/core-contracts/index.js.map +1 -0
- package/dist/core-contracts/list.d.ts +87 -0
- package/dist/core-contracts/list.js +54 -0
- package/dist/core-contracts/list.js.map +1 -0
- package/dist/core-contracts/nullish.d.ts +12 -0
- package/dist/core-contracts/nullish.js +13 -0
- package/dist/core-contracts/nullish.js.map +1 -0
- package/dist/core-contracts/number.d.ts +291 -0
- package/dist/core-contracts/number.js +214 -0
- package/dist/core-contracts/number.js.map +1 -0
- package/dist/core-contracts/record.d.ts +60 -0
- package/dist/core-contracts/record.js +32 -0
- package/dist/core-contracts/record.js.map +1 -0
- package/dist/core-contracts/schema.d.ts +71 -0
- package/dist/core-contracts/schema.js +98 -0
- package/dist/core-contracts/schema.js.map +1 -0
- package/dist/core-contracts/semantics.d.ts +7 -0
- package/dist/core-contracts/semantics.js +221 -0
- package/dist/core-contracts/semantics.js.map +1 -0
- package/dist/core-contracts/string.d.ts +414 -0
- package/dist/core-contracts/string.js +335 -0
- package/dist/core-contracts/string.js.map +1 -0
- package/dist/core-runtime/contract-adapter.d.ts +8 -0
- package/dist/core-runtime/contract-adapter.js +73 -0
- package/dist/core-runtime/contract-adapter.js.map +1 -0
- package/dist/core-runtime/index.d.ts +109 -0
- package/dist/core-runtime/index.js +1946 -0
- package/dist/core-runtime/index.js.map +1 -0
- package/dist/core-runtime/shape-validator.d.ts +61 -0
- package/dist/core-runtime/shape-validator.js +564 -0
- package/dist/core-runtime/shape-validator.js.map +1 -0
- package/dist/core-runtime/value-brand.d.ts +2 -0
- package/dist/core-runtime/value-brand.js +6 -0
- package/dist/core-runtime/value-brand.js.map +1 -0
- package/dist/decompiler.js +46 -0
- package/dist/decompiler.js.map +1 -1
- package/dist/eligibility-taxonomy.d.ts +58 -0
- package/dist/eligibility-taxonomy.generated.d.ts +472 -0
- package/dist/eligibility-taxonomy.generated.js +566 -0
- package/dist/eligibility-taxonomy.generated.js.map +1 -0
- package/dist/eligibility-taxonomy.js +55 -0
- package/dist/eligibility-taxonomy.js.map +1 -0
- package/dist/index.d.ts +19 -2
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -1
- package/dist/instanceof-rhs.d.ts +53 -0
- package/dist/instanceof-rhs.js +74 -0
- package/dist/instanceof-rhs.js.map +1 -0
- package/dist/ir/semantics/lambda.js +9 -1
- package/dist/ir/semantics/lambda.js.map +1 -1
- package/dist/native-eligibility-ast.d.ts +5 -0
- package/dist/native-eligibility-ast.js +242 -63
- package/dist/native-eligibility-ast.js.map +1 -1
- package/dist/parser-expression.d.ts +1 -1
- package/dist/parser-expression.js +90 -1
- package/dist/parser-expression.js.map +1 -1
- package/dist/rag-assertions.d.ts +3 -0
- package/dist/rag-assertions.js +15 -0
- package/dist/rag-assertions.js.map +1 -0
- package/dist/rag-runtime.d.ts +169 -0
- package/dist/rag-runtime.js +823 -0
- package/dist/rag-runtime.js.map +1 -0
- package/dist/schema.d.ts +1 -0
- package/dist/schema.js +197 -2
- package/dist/schema.js.map +1 -1
- package/dist/semantic-substrate.d.ts +108 -0
- package/dist/semantic-substrate.js +263 -0
- package/dist/semantic-substrate.js.map +1 -0
- package/dist/semantic-validator.d.ts +332 -0
- package/dist/semantic-validator.js +3387 -0
- package/dist/semantic-validator.js.map +1 -1
- package/dist/spec.d.ts +2 -2
- package/dist/spec.js +15 -1
- package/dist/spec.js.map +1 -1
- package/dist/value-ir.d.ts +11 -1
- package/dist/value-ir.js.map +1 -1
- package/package.json +5 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @kernlang/core — parser, types, spec, config, style engines, codegen
|
|
3
3
|
*/
|
|
4
4
|
export { isPostfixMutationOperator, isSupportedAssignOperator, SUPPORTED_ASSIGN_OPERATORS, supportedCompoundAssignmentOperator, } from './assignment-operators.js';
|
|
5
|
+
export { classifyClosureBlock, collectFreeIdentifierNames, parseClosureBlockAst } from './closure-eligibility.js';
|
|
5
6
|
export type { LowerJsClosureBodyToPythonOptions, LowerJsClosureBodyToPythonResult, } from './closure-python-lowering.js';
|
|
6
7
|
export { lowerJsClosureBodyToPython } from './closure-python-lowering.js';
|
|
7
8
|
export type { BodyEmitOptions, BodyEmitResult } from './codegen/body-ts.js';
|
|
@@ -21,6 +22,14 @@ export type { CallPayload, ConceptEdge, ConceptEdgeKind, ConceptEdgePayload, Con
|
|
|
21
22
|
export { conceptId, conceptSpan } from './concepts.js';
|
|
22
23
|
export type { ExpressSecurityLevel, FrameworkVersions, KernConfig, KernStructure, KernTarget, ResolvedKernConfig, } from './config.js';
|
|
23
24
|
export { ALL_TARGETS, DEFAULT_CONFIG, detectTarget, mergeConfig, resolveConfig, VALID_STRUCTURES, VALID_TARGETS, } from './config.js';
|
|
25
|
+
export { hasDirectSuperCtorCall } from './constructor-super.js';
|
|
26
|
+
export type { CoreFixture, CoreFixtureError, CoreFixtureValue, CoreGraphEdge, CoreLowerings, CoreOperation, CoreOperationKind, CoreOperationReturns, CoreTypeContract, CoreTypeContractRegistry, CoreTypeKind, CoreTypeName, } from './core-contracts/index.js';
|
|
27
|
+
export { BOOLEAN_CONTRACT, CORE_FIXTURE_FUNCTION, CORE_FIXTURE_UNDEFINED, CORE_TYPE_CONTRACTS, CORE_TYPE_NAMES, CoreContractEvaluationError, contractToGraphEdges, coreFixtureValueType, evaluateCoreContractOperation, FUNCTION_CONTRACT, isCoreFixtureFunction, isCoreFixtureUndefined, LIST_CONTRACT, NULL_CONTRACT, NUMBER_CONTRACT, RECORD_CONTRACT, STRING_CONTRACT, UNDEFINED_CONTRACT, } from './core-contracts/index.js';
|
|
28
|
+
export { CoreRuntimeContractAdapterError, coreFixtureValueToKernValue, kernValueToCoreFixtureValue, roundTripKernContractDataValue, } from './core-runtime/contract-adapter.js';
|
|
29
|
+
export type { CoreCompletion, CoreRuntimeResult, CreateCoreRuntimeEnvOptions, KernBuiltinValue, KernFunctionValue, KernValue, RuntimeParam, } from './core-runtime/index.js';
|
|
30
|
+
export { CoreRuntimeEnv, callCoreFunction, createCoreRuntimeEnv, evalCoreExpression, fromHostValue, kBoolean, kernTruthy, kNull, kNumber, kString, kUndefined, runCoreRuntime, toHostValue, } from './core-runtime/index.js';
|
|
31
|
+
export type { CoreShapeDiagnostic, CoreShapeDiagnosticCode, CoreShapeFacts, CoreShapeFieldFact, CoreShapeIndexerFact, CoreShapeInterfaceFact, CoreShapeValidationResult, } from './core-runtime/shape-validator.js';
|
|
32
|
+
export { assertCoreShape, collectCoreShapeFacts, validateCoreShape } from './core-runtime/shape-validator.js';
|
|
24
33
|
export type { CoverageGap } from './coverage-gap.js';
|
|
25
34
|
export { collectCoverageGaps, readCoverageGaps, writeCoverageGaps } from './coverage-gap.js';
|
|
26
35
|
export { decompile } from './decompiler.js';
|
|
@@ -36,6 +45,8 @@ export type { CapabilityEffect, CapabilityRuntime, CapabilitySerialization, Exte
|
|
|
36
45
|
export { importRegistryOf, importTargetFamilyOf, importTargetOf, shouldEmitImportForTarget, splitCapabilityList, validateCapabilityMetadata, validateImportMetadata, } from './import-metadata.js';
|
|
37
46
|
export type { ImportResult } from './importer.js';
|
|
38
47
|
export { escapeKernString, importTypeScript } from './importer.js';
|
|
48
|
+
export type { InstanceofRhsRejectReason } from './instanceof-rhs.js';
|
|
49
|
+
export { INSTANCEOF_RHS_BUILTIN_REJECT, INSTANCEOF_RHS_WRAPPER_REJECT, instanceofRhsPythonType, instanceofRhsRejectReasonForName, } from './instanceof-rhs.js';
|
|
39
50
|
export { expressionV1Contract, registerExpressionV1Contract, } from './ir/semantics/expression-v1.js';
|
|
40
51
|
export type { LowerTarget } from './ir/semantics/fixture-lowering.js';
|
|
41
52
|
export { lowerFixtureForTarget, serializeValue } from './ir/semantics/fixture-lowering.js';
|
|
@@ -59,14 +70,20 @@ export { splitPortableExpressionList } from './portable-expression-list.js';
|
|
|
59
70
|
export type { PortablePredicateArrayOp, PortablePredicateCompareOp, PortablePredicateExistsOp, PortablePredicateMembershipOp, PortablePredicateParseResult, PortablePredicateStringOp, PortablePredicateUnaryOp, } from './portable-predicate.js';
|
|
60
71
|
export { PORTABLE_PREDICATE_ARRAY_OPS, PORTABLE_PREDICATE_COMPARE_OPS, PORTABLE_PREDICATE_EXISTS_OPS, PORTABLE_PREDICATE_MEMBERSHIP_OPS, PORTABLE_PREDICATE_STRING_OPS, PORTABLE_PREDICATE_UNARY_OPS, parsePortablePredicateProp, validatePortablePredicateAST, } from './portable-predicate.js';
|
|
61
72
|
export { parsePortableNonNegativeIntLiteral, parsePortablePathSegments } from './portable-route-collection.js';
|
|
73
|
+
export type { RagAssertionKind } from './rag-assertions.js';
|
|
74
|
+
export { RAG_ASSERTION_KIND_SET, RAG_ASSERTION_KINDS } from './rag-assertions.js';
|
|
75
|
+
export type { InMemoryRagRetriever, ProvenancedRetrieveResult, RagAnswerContract, RagAnswerContractDiagnostic, RagAnswerContractDiagnosticCode, RagAnswerContractResult, RagAnswerContractStatus, RagAnswerGroundingSpan, RagChunkInput, RagCitation, RagContractRetriever, RagEvalAssertionCode, RagEvalAssertionResult, RagEvalCaseResult, RagEvalContractOptions, RagEvalContractResult, RagMcpRetrieveProvenanceMapping, RagRuntimeProvenance, RagRuntimeProvenanceOptions, RagRuntimeProvenanceStatus, RagSemanticAnswerContractOptions, RetrievedChunk, RetrieveOptions, RetrieveResult, } from './rag-runtime.js';
|
|
76
|
+
export { createInMemoryRetriever, createRagRuntimeProvenance, evaluateRagAnswerContract, evaluateRagEvalContract, evaluateRagSemanticAnswerContract, hashRetrievedChunkText, InMemoryRagCorpus, MAX_IN_MEMORY_RAG_TOP_K, ragAnswerContractFromSemanticFact, ragMcpRetrieveProvenanceMapping, retrieveFromInMemoryCorpus, tokenizeForRetrieval, withRagRuntimeProvenance, } from './rag-runtime.js';
|
|
62
77
|
export type { ParserHintsConfig } from './runtime.js';
|
|
63
78
|
export { defaultRuntime, KernRuntime } from './runtime.js';
|
|
64
79
|
export type { Detection, ScanInfo, ScanResult } from './scanner.js';
|
|
65
80
|
export { formatScanSummary, generateConfigSource, scanProject } from './scanner.js';
|
|
66
81
|
export type { KernSchemaJSON, NodeSchema, PropKind, PropSchema, SchemaViolation } from './schema.js';
|
|
67
82
|
export { exportSchemaJSON, NODE_SCHEMAS, validateSchema } from './schema.js';
|
|
68
|
-
export type {
|
|
69
|
-
export {
|
|
83
|
+
export type { BuildKernSemanticSubstrateOptions, KernSemanticCoreOperation, KernSemanticCoreType, KernSemanticIrContract, KernSemanticPrimitive, KernSemanticRagAnswerReviewFact, KernSemanticRagAnswerReviewStatus, KernSemanticStdlibOperation, KernSemanticSubstrate, KernSemanticSubstrateSource, KernSemanticSubstrateTarget, KernSemanticSupport, KernSemanticValidationSummary, } from './semantic-substrate.js';
|
|
84
|
+
export { buildKernSemanticSubstrate, lookupSemanticPrimitive, semanticPrimitiveSupportSummary, } from './semantic-substrate.js';
|
|
85
|
+
export type { ClassSemanticClassFact, ClassSemanticConstructorFact, ClassSemanticConstructorSuperStatus, ClassSemanticFacts, ClassSemanticImplementsEdge, ClassSemanticInheritanceEdge, ClassSemanticLocation, ClassSemanticMemberFact, ClassSemanticMemberKind, ClassSemanticOverrideFact, ClassSemanticOverrideStatus, ClassSemanticProtocolConformanceFact, ClassSemanticProtocolStatus, RagSemanticAnswerContractFact, RagSemanticAnswerSpanFact, RagSemanticChunkingFact, RagSemanticCorpusFact, RagSemanticEmbedFact, RagSemanticEvalAssertFact, RagSemanticEvalCaseFact, RagSemanticEvalFact, RagSemanticFacts, RagSemanticGroundingFact, RagSemanticLocation, RagSemanticMcpRetrievalFact, RagSemanticPipelineFact, RagSemanticRetrieverFact, RagSemanticSourceFact, SemanticViolation, } from './semantic-validator.js';
|
|
86
|
+
export { collectClassSemanticFacts, collectRagSemanticFacts, RAG_MCP_RETRIEVE_OUTPUT_ITEM_SHAPE, RAG_MCP_RETRIEVE_OUTPUT_SHAPE, validateClassSemantics, validateRagSemantics, validateSemantics, } from './semantic-validator.js';
|
|
70
87
|
export type { ShadowAnalyzeOptions, ShadowDiagnostic } from './shadow-analyzer.js';
|
|
71
88
|
export { analyzeShadow } from './shadow-analyzer.js';
|
|
72
89
|
export type { SourceMapV3 } from './source-map.js';
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* @kernlang/core — parser, types, spec, config, style engines, codegen
|
|
3
3
|
*/
|
|
4
4
|
export { isPostfixMutationOperator, isSupportedAssignOperator, SUPPORTED_ASSIGN_OPERATORS, supportedCompoundAssignmentOperator, } from './assignment-operators.js';
|
|
5
|
+
// v1 closure gate — shared eligibility predicate + emission precondition for
|
|
6
|
+
// block-bodied arrows (slices 0+1). Single owner consumed by parser, migrator
|
|
7
|
+
// eligibility classifier, and the Python lowerer.
|
|
8
|
+
export { classifyClosureBlock, collectFreeIdentifierNames, parseClosureBlockAst } from './closure-eligibility.js';
|
|
5
9
|
export { lowerJsClosureBodyToPython } from './closure-python-lowering.js';
|
|
6
10
|
export { emitNativeKernBodyTS, emitNativeKernBodyTSWithImports } from './codegen/body-ts.js';
|
|
7
11
|
export { applyTemplate, KERN_STDLIB, KERN_STDLIB_MODULES, lookupStdlib, suggestStdlibMethod, } from './codegen/kern-stdlib.js';
|
|
@@ -32,6 +36,14 @@ export { emitExpression, needsArgParens, needsBinaryParens } from './codegen-exp
|
|
|
32
36
|
export { conceptId, conceptSpan } from './concepts.js';
|
|
33
37
|
// Config
|
|
34
38
|
export { ALL_TARGETS, DEFAULT_CONFIG, detectTarget, mergeConfig, resolveConfig, VALID_STRUCTURES, VALID_TARGETS, } from './config.js';
|
|
39
|
+
// Canonical constructor-super predicate — single source of truth shared by the
|
|
40
|
+
// validator, runtime, and both codegen targets (TS here + Python via this export).
|
|
41
|
+
export { hasDirectSuperCtorCall } from './constructor-super.js';
|
|
42
|
+
export { BOOLEAN_CONTRACT, CORE_FIXTURE_FUNCTION, CORE_FIXTURE_UNDEFINED, CORE_TYPE_CONTRACTS, CORE_TYPE_NAMES, CoreContractEvaluationError, contractToGraphEdges, coreFixtureValueType, evaluateCoreContractOperation, FUNCTION_CONTRACT, isCoreFixtureFunction, isCoreFixtureUndefined, LIST_CONTRACT, NULL_CONTRACT, NUMBER_CONTRACT, RECORD_CONTRACT, STRING_CONTRACT, UNDEFINED_CONTRACT, } from './core-contracts/index.js';
|
|
43
|
+
export { CoreRuntimeContractAdapterError, coreFixtureValueToKernValue, kernValueToCoreFixtureValue, roundTripKernContractDataValue, } from './core-runtime/contract-adapter.js';
|
|
44
|
+
// KERN Core Runtime
|
|
45
|
+
export { CoreRuntimeEnv, callCoreFunction, createCoreRuntimeEnv, evalCoreExpression, fromHostValue, kBoolean, kernTruthy, kNull, kNumber, kString, kUndefined, runCoreRuntime, toHostValue, } from './core-runtime/index.js';
|
|
46
|
+
export { assertCoreShape, collectCoreShapeFacts, validateCoreShape } from './core-runtime/shape-validator.js';
|
|
35
47
|
// Coverage gap emitter (v3)
|
|
36
48
|
export { collectCoverageGaps, readCoverageGaps, writeCoverageGaps } from './coverage-gap.js';
|
|
37
49
|
export { decompile } from './decompiler.js';
|
|
@@ -41,6 +53,7 @@ export { collectCapabilityIslands, collectExternalBoundaries, collectSidecarMani
|
|
|
41
53
|
export { buildExternalImportSymbolTable, collectExternalImportSymbols, externalSignatureDiagnostics, parseExternalNamedBinding, signatureMapForSidecarPackage, } from './external-symbols.js';
|
|
42
54
|
export { importRegistryOf, importTargetFamilyOf, importTargetOf, shouldEmitImportForTarget, splitCapabilityList, validateCapabilityMetadata, validateImportMetadata, } from './import-metadata.js';
|
|
43
55
|
export { escapeKernString, importTypeScript } from './importer.js';
|
|
56
|
+
export { INSTANCEOF_RHS_BUILTIN_REJECT, INSTANCEOF_RHS_WRAPPER_REJECT, instanceofRhsPythonType, instanceofRhsRejectReasonForName, } from './instanceof-rhs.js';
|
|
44
57
|
export { expressionV1Contract, registerExpressionV1Contract, } from './ir/semantics/expression-v1.js';
|
|
45
58
|
export { lowerFixtureForTarget, serializeValue } from './ir/semantics/fixture-lowering.js';
|
|
46
59
|
export { CONTRACT_REGISTRY, completionsEqual, deepEqual, emptyTrace, eventsEqual, makeEnv, ReferenceRunnerError, referenceRun, referenceRunSequence, registerAllContracts, registerContract, runAllContracts, runDifferential, serializeJson, serializeMarkdown, snapshotRegistry, tracesEqual, } from './ir/semantics/index.js';
|
|
@@ -60,13 +73,16 @@ export { collectNativeEligibleHints, validateNativeEligible } from './parser-val
|
|
|
60
73
|
export { splitPortableExpressionList } from './portable-expression-list.js';
|
|
61
74
|
export { PORTABLE_PREDICATE_ARRAY_OPS, PORTABLE_PREDICATE_COMPARE_OPS, PORTABLE_PREDICATE_EXISTS_OPS, PORTABLE_PREDICATE_MEMBERSHIP_OPS, PORTABLE_PREDICATE_STRING_OPS, PORTABLE_PREDICATE_UNARY_OPS, parsePortablePredicateProp, validatePortablePredicateAST, } from './portable-predicate.js';
|
|
62
75
|
export { parsePortableNonNegativeIntLiteral, parsePortablePathSegments } from './portable-route-collection.js';
|
|
76
|
+
export { RAG_ASSERTION_KIND_SET, RAG_ASSERTION_KINDS } from './rag-assertions.js';
|
|
77
|
+
export { createInMemoryRetriever, createRagRuntimeProvenance, evaluateRagAnswerContract, evaluateRagEvalContract, evaluateRagSemanticAnswerContract, hashRetrievedChunkText, InMemoryRagCorpus, MAX_IN_MEMORY_RAG_TOP_K, ragAnswerContractFromSemanticFact, ragMcpRetrieveProvenanceMapping, retrieveFromInMemoryCorpus, tokenizeForRetrieval, withRagRuntimeProvenance, } from './rag-runtime.js';
|
|
63
78
|
// Runtime (instance-based state)
|
|
64
79
|
export { defaultRuntime, KernRuntime } from './runtime.js';
|
|
65
80
|
// Scanner
|
|
66
81
|
export { formatScanSummary, generateConfigSource, scanProject } from './scanner.js';
|
|
67
82
|
// Schema validation + export
|
|
68
83
|
export { exportSchemaJSON, NODE_SCHEMAS, validateSchema } from './schema.js';
|
|
69
|
-
export {
|
|
84
|
+
export { buildKernSemanticSubstrate, lookupSemanticPrimitive, semanticPrimitiveSupportSummary, } from './semantic-substrate.js';
|
|
85
|
+
export { collectClassSemanticFacts, collectRagSemanticFacts, RAG_MCP_RETRIEVE_OUTPUT_ITEM_SHAPE, RAG_MCP_RETRIEVE_OUTPUT_SHAPE, validateClassSemantics, validateRagSemantics, validateSemantics, } from './semantic-validator.js';
|
|
70
86
|
export { analyzeShadow } from './shadow-analyzer.js';
|
|
71
87
|
// Source map serialization
|
|
72
88
|
export { serializeSourceMap } from './source-map.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** Shared `instanceof` right-hand-side (RHS) classification — the single
|
|
2
|
+
* source of truth for which `x instanceof <RHS>` shapes KERN lowers, maps to a
|
|
3
|
+
* host type, or rejects fail-closed.
|
|
4
|
+
*
|
|
5
|
+
* Two consumers share this table so the eligibility gate and the Python
|
|
6
|
+
* lowerer cannot drift (defense in depth — see native-eligibility-ast.ts §3
|
|
7
|
+
* and codegen-body-python.ts):
|
|
8
|
+
*
|
|
9
|
+
* - the native-eligibility classifier walks the TS AST and rejects a body
|
|
10
|
+
* whose `instanceof` RHS is in the reject set (so the migrator never lifts
|
|
11
|
+
* an unlowerable body), and
|
|
12
|
+
* - the Python emitter both MAPS the accepted host RHS (`Array`→`list`,
|
|
13
|
+
* `Error`→`Exception`) and THROWS on a rejected RHS (so a gate bug can
|
|
14
|
+
* never silently emit a wrong-parity `isinstance`).
|
|
15
|
+
*
|
|
16
|
+
* ## Why these RHS names are rejected (wrapper-parity trap)
|
|
17
|
+
* In JS, primitives are NOT instances of their wrapper objects:
|
|
18
|
+
* `"s" instanceof String` is `false`, but Python's `isinstance("s", str)` is
|
|
19
|
+
* `True`. There is no host type whose membership matches JS `instanceof`
|
|
20
|
+
* semantics for these, so they fail closed rather than emit wrong-parity code.
|
|
21
|
+
* `Object`/`Function`/`Date`/`RegExp`/`Promise`/`Map`/`Set`/`Symbol`/`BigInt`
|
|
22
|
+
* have no verified cross-target host mapping either (v2).
|
|
23
|
+
*
|
|
24
|
+
* ## Accepted host RHS
|
|
25
|
+
* - `Array` → `list` (`[1,2] instanceof Array` ≡ `isinstance(x, list)`)
|
|
26
|
+
* - `Error` → `Exception` (KERN-thrown errors lower to `Exception`, so
|
|
27
|
+
* `e instanceof Error` ≡ `isinstance(e, Exception)`; mirrors the
|
|
28
|
+
* `new Error(...)` → `Exception(...)` mapping in the Python emitter).
|
|
29
|
+
* `TypeError` is intentionally NOT listed: it maps to Python's native
|
|
30
|
+
* `TypeError` (same name) and emits as-is. RangeError/SyntaxError/etc. stay
|
|
31
|
+
* status-quo (emit as-is) — host mapping for them is v2.
|
|
32
|
+
*
|
|
33
|
+
* Any RHS ident NOT in the reject set and NOT in the accept map emits as-is:
|
|
34
|
+
* user classes work (same-file Python classes), and an unknown name fails loud
|
|
35
|
+
* at Python runtime with `NameError` (registry-precedence hardening is v2). */
|
|
36
|
+
/** Reject reasons surfaced by the eligibility classifier and the emitter.
|
|
37
|
+
* Kebab-case slugs so `kern migrate`/`kern review` give actionable hints. */
|
|
38
|
+
export type InstanceofRhsRejectReason = 'instanceof-rhs-wrapper-rejected' | 'instanceof-rhs-unsupported-builtin' | 'instanceof-rhs-not-a-type-name';
|
|
39
|
+
/** Primitive-wrapper RHS — the wrapper-parity trap (`"s" instanceof String`
|
|
40
|
+
* is FALSE in JS, `isinstance("s", str)` is True). */
|
|
41
|
+
export declare const INSTANCEOF_RHS_WRAPPER_REJECT: ReadonlySet<string>;
|
|
42
|
+
/** Built-in RHS with no verified cross-target host mapping (v2). */
|
|
43
|
+
export declare const INSTANCEOF_RHS_BUILTIN_REJECT: ReadonlySet<string>;
|
|
44
|
+
/** The Python `isinstance` second argument for an accepted host-global RHS
|
|
45
|
+
* ident, or `null` when the name carries no host mapping (a user class /
|
|
46
|
+
* member RHS that emits as-is). Does NOT consult the reject set — callers
|
|
47
|
+
* reject first (see `instanceofRhsRejectReasonForName`). */
|
|
48
|
+
export declare function instanceofRhsPythonType(name: string): string | null;
|
|
49
|
+
/** Reject reason for a bare RHS ident `name`, or `null` if the ident is
|
|
50
|
+
* acceptable (an accepted host global, a user class, or any other name that
|
|
51
|
+
* emits as-is). Non-ident RHS (call/literal/binary) is classified by the
|
|
52
|
+
* caller as `instanceof-rhs-not-a-type-name`. */
|
|
53
|
+
export declare function instanceofRhsRejectReasonForName(name: string): InstanceofRhsRejectReason | null;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/** Shared `instanceof` right-hand-side (RHS) classification — the single
|
|
2
|
+
* source of truth for which `x instanceof <RHS>` shapes KERN lowers, maps to a
|
|
3
|
+
* host type, or rejects fail-closed.
|
|
4
|
+
*
|
|
5
|
+
* Two consumers share this table so the eligibility gate and the Python
|
|
6
|
+
* lowerer cannot drift (defense in depth — see native-eligibility-ast.ts §3
|
|
7
|
+
* and codegen-body-python.ts):
|
|
8
|
+
*
|
|
9
|
+
* - the native-eligibility classifier walks the TS AST and rejects a body
|
|
10
|
+
* whose `instanceof` RHS is in the reject set (so the migrator never lifts
|
|
11
|
+
* an unlowerable body), and
|
|
12
|
+
* - the Python emitter both MAPS the accepted host RHS (`Array`→`list`,
|
|
13
|
+
* `Error`→`Exception`) and THROWS on a rejected RHS (so a gate bug can
|
|
14
|
+
* never silently emit a wrong-parity `isinstance`).
|
|
15
|
+
*
|
|
16
|
+
* ## Why these RHS names are rejected (wrapper-parity trap)
|
|
17
|
+
* In JS, primitives are NOT instances of their wrapper objects:
|
|
18
|
+
* `"s" instanceof String` is `false`, but Python's `isinstance("s", str)` is
|
|
19
|
+
* `True`. There is no host type whose membership matches JS `instanceof`
|
|
20
|
+
* semantics for these, so they fail closed rather than emit wrong-parity code.
|
|
21
|
+
* `Object`/`Function`/`Date`/`RegExp`/`Promise`/`Map`/`Set`/`Symbol`/`BigInt`
|
|
22
|
+
* have no verified cross-target host mapping either (v2).
|
|
23
|
+
*
|
|
24
|
+
* ## Accepted host RHS
|
|
25
|
+
* - `Array` → `list` (`[1,2] instanceof Array` ≡ `isinstance(x, list)`)
|
|
26
|
+
* - `Error` → `Exception` (KERN-thrown errors lower to `Exception`, so
|
|
27
|
+
* `e instanceof Error` ≡ `isinstance(e, Exception)`; mirrors the
|
|
28
|
+
* `new Error(...)` → `Exception(...)` mapping in the Python emitter).
|
|
29
|
+
* `TypeError` is intentionally NOT listed: it maps to Python's native
|
|
30
|
+
* `TypeError` (same name) and emits as-is. RangeError/SyntaxError/etc. stay
|
|
31
|
+
* status-quo (emit as-is) — host mapping for them is v2.
|
|
32
|
+
*
|
|
33
|
+
* Any RHS ident NOT in the reject set and NOT in the accept map emits as-is:
|
|
34
|
+
* user classes work (same-file Python classes), and an unknown name fails loud
|
|
35
|
+
* at Python runtime with `NameError` (registry-precedence hardening is v2). */
|
|
36
|
+
/** Primitive-wrapper RHS — the wrapper-parity trap (`"s" instanceof String`
|
|
37
|
+
* is FALSE in JS, `isinstance("s", str)` is True). */
|
|
38
|
+
export const INSTANCEOF_RHS_WRAPPER_REJECT = new Set(['String', 'Number', 'Boolean']);
|
|
39
|
+
/** Built-in RHS with no verified cross-target host mapping (v2). */
|
|
40
|
+
export const INSTANCEOF_RHS_BUILTIN_REJECT = new Set([
|
|
41
|
+
'Object',
|
|
42
|
+
'Function',
|
|
43
|
+
'Date',
|
|
44
|
+
'RegExp',
|
|
45
|
+
'Promise',
|
|
46
|
+
'Map',
|
|
47
|
+
'Set',
|
|
48
|
+
'Symbol',
|
|
49
|
+
'BigInt',
|
|
50
|
+
]);
|
|
51
|
+
/** Accepted host-global RHS → Python type the `isinstance` call uses. */
|
|
52
|
+
const INSTANCEOF_RHS_PYTHON_MAP = new Map([
|
|
53
|
+
['Array', 'list'],
|
|
54
|
+
['Error', 'Exception'],
|
|
55
|
+
]);
|
|
56
|
+
/** The Python `isinstance` second argument for an accepted host-global RHS
|
|
57
|
+
* ident, or `null` when the name carries no host mapping (a user class /
|
|
58
|
+
* member RHS that emits as-is). Does NOT consult the reject set — callers
|
|
59
|
+
* reject first (see `instanceofRhsRejectReasonForName`). */
|
|
60
|
+
export function instanceofRhsPythonType(name) {
|
|
61
|
+
return INSTANCEOF_RHS_PYTHON_MAP.get(name) ?? null;
|
|
62
|
+
}
|
|
63
|
+
/** Reject reason for a bare RHS ident `name`, or `null` if the ident is
|
|
64
|
+
* acceptable (an accepted host global, a user class, or any other name that
|
|
65
|
+
* emits as-is). Non-ident RHS (call/literal/binary) is classified by the
|
|
66
|
+
* caller as `instanceof-rhs-not-a-type-name`. */
|
|
67
|
+
export function instanceofRhsRejectReasonForName(name) {
|
|
68
|
+
if (INSTANCEOF_RHS_WRAPPER_REJECT.has(name))
|
|
69
|
+
return 'instanceof-rhs-wrapper-rejected';
|
|
70
|
+
if (INSTANCEOF_RHS_BUILTIN_REJECT.has(name))
|
|
71
|
+
return 'instanceof-rhs-unsupported-builtin';
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=instanceof-rhs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instanceof-rhs.js","sourceRoot":"","sources":["../src/instanceof-rhs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gFAkCgF;AAShF;uDACuD;AACvD,MAAM,CAAC,MAAM,6BAA6B,GAAwB,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAE3G,oEAAoE;AACpE,MAAM,CAAC,MAAM,6BAA6B,GAAwB,IAAI,GAAG,CAAC;IACxE,QAAQ;IACR,UAAU;IACV,MAAM;IACN,QAAQ;IACR,SAAS;IACT,KAAK;IACL,KAAK;IACL,QAAQ;IACR,QAAQ;CACT,CAAC,CAAC;AAEH,yEAAyE;AACzE,MAAM,yBAAyB,GAAgC,IAAI,GAAG,CAAC;IACrE,CAAC,OAAO,EAAE,MAAM,CAAC;IACjB,CAAC,OAAO,EAAE,WAAW,CAAC;CACvB,CAAC,CAAC;AAEH;;;6DAG6D;AAC7D,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACrD,CAAC;AAED;;;kDAGkD;AAClD,MAAM,UAAU,gCAAgC,CAAC,IAAY;IAC3D,IAAI,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,iCAAiC,CAAC;IACtF,IAAI,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,oCAAoC,CAAC;IACzF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -84,9 +84,17 @@ function evalValue(node, scope) {
|
|
|
84
84
|
return evalCall(node, scope);
|
|
85
85
|
case 'lambda': {
|
|
86
86
|
const captured = scope;
|
|
87
|
+
// Block-bodied arrows (slices 0+1) carry raw text, not an expression
|
|
88
|
+
// `body`; the expression-semantics reference interpreter does not
|
|
89
|
+
// execute statement blocks. They never reach here in practice (the
|
|
90
|
+
// contract harness runs expression IR only).
|
|
91
|
+
if (!node.body) {
|
|
92
|
+
throw new Error('evalValue: block-bodied arrow closures are not executable by the expression reference interpreter.');
|
|
93
|
+
}
|
|
94
|
+
const lambdaBody = node.body;
|
|
87
95
|
return (...args) => {
|
|
88
96
|
const params = node.params.map((p, i) => [p.name, args[i]]);
|
|
89
|
-
return evalValue(
|
|
97
|
+
return evalValue(lambdaBody, childScope(captured, params));
|
|
90
98
|
};
|
|
91
99
|
}
|
|
92
100
|
case 'binary':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../src/ir/semantics/lambda.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../src/ir/semantics/lambda.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,11 @@
|
|
|
20
20
|
* `kern migrate native-handlers` and `kern review` see actionable hints
|
|
21
21
|
* instead of a generic "ineligible". */
|
|
22
22
|
import ts from 'typescript';
|
|
23
|
+
/** A snapshot of the recorded coherence violations (reasons emitted with no
|
|
24
|
+
* taxonomy row). Empty in a coherent build. */
|
|
25
|
+
export declare function coherenceViolations(): readonly string[];
|
|
26
|
+
/** Test-only: clear the recorded coherence violations between runs. */
|
|
27
|
+
export declare function resetCoherenceViolations(): void;
|
|
23
28
|
export interface AstEligibilityResult {
|
|
24
29
|
eligible: boolean;
|
|
25
30
|
/** When eligible: 'empty' | 'ok'.
|