@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.
Files changed (104) hide show
  1. package/dist/capability-matrix.js +8 -6
  2. package/dist/capability-matrix.js.map +1 -1
  3. package/dist/closure-eligibility.d.ts +104 -0
  4. package/dist/closure-eligibility.js +443 -0
  5. package/dist/closure-eligibility.js.map +1 -0
  6. package/dist/closure-python-lowering.d.ts +26 -0
  7. package/dist/closure-python-lowering.js +132 -22
  8. package/dist/closure-python-lowering.js.map +1 -1
  9. package/dist/codegen/body-ts.js +13 -0
  10. package/dist/codegen/body-ts.js.map +1 -1
  11. package/dist/codegen/type-system.js +50 -3
  12. package/dist/codegen/type-system.js.map +1 -1
  13. package/dist/codegen-core.js +29 -0
  14. package/dist/codegen-core.js.map +1 -1
  15. package/dist/codegen-expression.js +7 -0
  16. package/dist/codegen-expression.js.map +1 -1
  17. package/dist/constructor-super.d.ts +34 -0
  18. package/dist/constructor-super.js +122 -0
  19. package/dist/constructor-super.js.map +1 -0
  20. package/dist/core-contracts/boolean.d.ts +147 -0
  21. package/dist/core-contracts/boolean.js +110 -0
  22. package/dist/core-contracts/boolean.js.map +1 -0
  23. package/dist/core-contracts/function.d.ts +6 -0
  24. package/dist/core-contracts/function.js +7 -0
  25. package/dist/core-contracts/function.js.map +1 -0
  26. package/dist/core-contracts/index.d.ts +1032 -0
  27. package/dist/core-contracts/index.js +30 -0
  28. package/dist/core-contracts/index.js.map +1 -0
  29. package/dist/core-contracts/list.d.ts +87 -0
  30. package/dist/core-contracts/list.js +54 -0
  31. package/dist/core-contracts/list.js.map +1 -0
  32. package/dist/core-contracts/nullish.d.ts +12 -0
  33. package/dist/core-contracts/nullish.js +13 -0
  34. package/dist/core-contracts/nullish.js.map +1 -0
  35. package/dist/core-contracts/number.d.ts +291 -0
  36. package/dist/core-contracts/number.js +214 -0
  37. package/dist/core-contracts/number.js.map +1 -0
  38. package/dist/core-contracts/record.d.ts +60 -0
  39. package/dist/core-contracts/record.js +32 -0
  40. package/dist/core-contracts/record.js.map +1 -0
  41. package/dist/core-contracts/schema.d.ts +71 -0
  42. package/dist/core-contracts/schema.js +98 -0
  43. package/dist/core-contracts/schema.js.map +1 -0
  44. package/dist/core-contracts/semantics.d.ts +7 -0
  45. package/dist/core-contracts/semantics.js +221 -0
  46. package/dist/core-contracts/semantics.js.map +1 -0
  47. package/dist/core-contracts/string.d.ts +414 -0
  48. package/dist/core-contracts/string.js +335 -0
  49. package/dist/core-contracts/string.js.map +1 -0
  50. package/dist/core-runtime/contract-adapter.d.ts +8 -0
  51. package/dist/core-runtime/contract-adapter.js +73 -0
  52. package/dist/core-runtime/contract-adapter.js.map +1 -0
  53. package/dist/core-runtime/index.d.ts +109 -0
  54. package/dist/core-runtime/index.js +1946 -0
  55. package/dist/core-runtime/index.js.map +1 -0
  56. package/dist/core-runtime/shape-validator.d.ts +61 -0
  57. package/dist/core-runtime/shape-validator.js +564 -0
  58. package/dist/core-runtime/shape-validator.js.map +1 -0
  59. package/dist/core-runtime/value-brand.d.ts +2 -0
  60. package/dist/core-runtime/value-brand.js +6 -0
  61. package/dist/core-runtime/value-brand.js.map +1 -0
  62. package/dist/decompiler.js +46 -0
  63. package/dist/decompiler.js.map +1 -1
  64. package/dist/eligibility-taxonomy.d.ts +58 -0
  65. package/dist/eligibility-taxonomy.generated.d.ts +472 -0
  66. package/dist/eligibility-taxonomy.generated.js +566 -0
  67. package/dist/eligibility-taxonomy.generated.js.map +1 -0
  68. package/dist/eligibility-taxonomy.js +55 -0
  69. package/dist/eligibility-taxonomy.js.map +1 -0
  70. package/dist/index.d.ts +19 -2
  71. package/dist/index.js +17 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/instanceof-rhs.d.ts +53 -0
  74. package/dist/instanceof-rhs.js +74 -0
  75. package/dist/instanceof-rhs.js.map +1 -0
  76. package/dist/ir/semantics/lambda.js +9 -1
  77. package/dist/ir/semantics/lambda.js.map +1 -1
  78. package/dist/native-eligibility-ast.d.ts +5 -0
  79. package/dist/native-eligibility-ast.js +242 -63
  80. package/dist/native-eligibility-ast.js.map +1 -1
  81. package/dist/parser-expression.d.ts +1 -1
  82. package/dist/parser-expression.js +90 -1
  83. package/dist/parser-expression.js.map +1 -1
  84. package/dist/rag-assertions.d.ts +3 -0
  85. package/dist/rag-assertions.js +15 -0
  86. package/dist/rag-assertions.js.map +1 -0
  87. package/dist/rag-runtime.d.ts +169 -0
  88. package/dist/rag-runtime.js +823 -0
  89. package/dist/rag-runtime.js.map +1 -0
  90. package/dist/schema.d.ts +1 -0
  91. package/dist/schema.js +197 -2
  92. package/dist/schema.js.map +1 -1
  93. package/dist/semantic-substrate.d.ts +108 -0
  94. package/dist/semantic-substrate.js +263 -0
  95. package/dist/semantic-substrate.js.map +1 -0
  96. package/dist/semantic-validator.d.ts +332 -0
  97. package/dist/semantic-validator.js +3387 -0
  98. package/dist/semantic-validator.js.map +1 -1
  99. package/dist/spec.d.ts +2 -2
  100. package/dist/spec.js +15 -1
  101. package/dist/spec.js.map +1 -1
  102. package/dist/value-ir.d.ts +11 -1
  103. package/dist/value-ir.js.map +1 -1
  104. package/package.json +5 -1
@@ -0,0 +1,108 @@
1
+ import { type PortableLogicPrimitiveId, type PortableLogicSupport, type PortableLogicTarget } from './codegen/portable-logic-primitives.js';
2
+ import { type CoreShapeFacts } from './core-runtime/shape-validator.js';
3
+ import type { NodeContract } from './ir/semantics/index.js';
4
+ import { type ClassSemanticFacts, type RagSemanticFacts } from './semantic-validator.js';
5
+ import type { IRNode } from './types.js';
6
+ export type KernSemanticSubstrateSource = 'codegen-from-ts' | 'native-kern';
7
+ export type KernSemanticSubstrateTarget = PortableLogicTarget;
8
+ export interface KernSemanticSupport {
9
+ readonly ts: PortableLogicSupport;
10
+ readonly python: PortableLogicSupport;
11
+ readonly go: PortableLogicSupport;
12
+ }
13
+ export interface KernSemanticCoreOperation {
14
+ readonly id: string;
15
+ readonly kind: string;
16
+ readonly args: readonly string[];
17
+ readonly returns: readonly string[];
18
+ readonly lowerings: Readonly<Record<string, string>>;
19
+ readonly fixtureCount: number;
20
+ readonly reviewSummary: string;
21
+ readonly reviewTags: readonly string[];
22
+ }
23
+ export interface KernSemanticCoreType {
24
+ readonly id: string;
25
+ readonly name: string;
26
+ readonly kind: string;
27
+ readonly strict: true;
28
+ readonly operations: readonly KernSemanticCoreOperation[];
29
+ }
30
+ export interface KernSemanticPrimitive {
31
+ readonly id: PortableLogicPrimitiveId;
32
+ readonly kernName: string;
33
+ readonly domain: string;
34
+ readonly description: string;
35
+ readonly intent: string;
36
+ readonly purity: string;
37
+ readonly hostPatterns: readonly string[];
38
+ readonly portabilityNotes: readonly string[];
39
+ readonly support: KernSemanticSupport;
40
+ }
41
+ export interface KernSemanticStdlibOperation {
42
+ readonly id: string;
43
+ readonly module: string;
44
+ readonly method: string;
45
+ readonly arity: number;
46
+ readonly support: KernSemanticSupport;
47
+ }
48
+ export interface KernSemanticIrContract {
49
+ readonly nodeType: string;
50
+ readonly forbiddenRewrites: readonly string[];
51
+ readonly fixtureCount: number;
52
+ }
53
+ export interface KernSemanticValidationSummary {
54
+ readonly total: number;
55
+ readonly byRule: Readonly<Record<string, number>>;
56
+ }
57
+ export type KernSemanticRagAnswerReviewStatus = 'ready' | 'incomplete' | 'invalid';
58
+ export interface KernSemanticRagAnswerReviewFact {
59
+ readonly pipelineName: string;
60
+ readonly retrieverName: string;
61
+ readonly prompt?: string;
62
+ readonly answer?: string;
63
+ readonly citationsRequired: boolean;
64
+ readonly groundingCount: number;
65
+ readonly evalCount: number;
66
+ readonly evalCaseCount: number;
67
+ readonly answerContractCount: number;
68
+ readonly mcpRetrievalCount: number;
69
+ readonly compatibleMcpRetrievalCount: number;
70
+ readonly provenanceRequired: boolean;
71
+ readonly provenanceComplete: boolean;
72
+ readonly validationStatus: KernSemanticRagAnswerReviewStatus;
73
+ readonly issues: readonly string[];
74
+ }
75
+ export interface KernSemanticSubstrate {
76
+ readonly schemaVersion: 1;
77
+ readonly generatedBy: 'kern-semantic-substrate';
78
+ readonly source: KernSemanticSubstrateSource;
79
+ readonly coreTypes: readonly KernSemanticCoreType[];
80
+ readonly coreGraphEdges: readonly {
81
+ readonly from: string;
82
+ readonly relation: string;
83
+ readonly to: string;
84
+ readonly operation?: string;
85
+ readonly index?: number;
86
+ }[];
87
+ readonly portablePrimitives: readonly KernSemanticPrimitive[];
88
+ readonly stdlibOperations: readonly KernSemanticStdlibOperation[];
89
+ readonly irContracts: readonly KernSemanticIrContract[];
90
+ readonly classFacts?: ClassSemanticFacts;
91
+ readonly classValidationSummary?: KernSemanticValidationSummary;
92
+ readonly ragFacts?: RagSemanticFacts;
93
+ readonly ragValidationSummary?: KernSemanticValidationSummary;
94
+ readonly ragAnswerReviewFacts?: readonly KernSemanticRagAnswerReviewFact[];
95
+ readonly coreShapeFacts?: CoreShapeFacts;
96
+ }
97
+ export interface BuildKernSemanticSubstrateOptions {
98
+ readonly source?: KernSemanticSubstrateSource;
99
+ readonly irContracts?: ReadonlyMap<string, NodeContract>;
100
+ readonly documentClasses?: IRNode | readonly IRNode[];
101
+ readonly includeClassValidationSummary?: boolean;
102
+ readonly documentRag?: IRNode | readonly IRNode[];
103
+ readonly includeRagValidationSummary?: boolean;
104
+ readonly documentShapes?: IRNode | readonly IRNode[];
105
+ }
106
+ export declare function buildKernSemanticSubstrate(options?: BuildKernSemanticSubstrateOptions): KernSemanticSubstrate;
107
+ export declare function lookupSemanticPrimitive(substrate: KernSemanticSubstrate, id: PortableLogicPrimitiveId): KernSemanticPrimitive;
108
+ export declare function semanticPrimitiveSupportSummary(primitive: KernSemanticPrimitive, targets: readonly KernSemanticSubstrateTarget[]): string;
@@ -0,0 +1,263 @@
1
+ import { KERN_STDLIB } from './codegen/kern-stdlib.js';
2
+ import { PORTABLE_LOGIC_PRIMITIVE_IDS, PORTABLE_LOGIC_PRIMITIVES, } from './codegen/portable-logic-primitives.js';
3
+ import { CORE_TYPE_CONTRACTS, contractToGraphEdges, } from './core-contracts/index.js';
4
+ import { collectCoreShapeFacts } from './core-runtime/shape-validator.js';
5
+ import { snapshotRegistry } from './ir/semantics/index.js';
6
+ import { collectClassSemanticFacts, collectRagSemanticFacts, RAG_MCP_RETRIEVE_OUTPUT_ITEM_SHAPE, RAG_MCP_RETRIEVE_OUTPUT_SHAPE, validateClassSemantics, validateRagSemantics, } from './semantic-validator.js';
7
+ export function buildKernSemanticSubstrate(options = {}) {
8
+ const ragFacts = options.documentRag ? collectRagSemanticFacts(options.documentRag) : undefined;
9
+ // The registry guarantees every value is a CoreTypeContract; pin the element type so
10
+ // Object.values does not widen to unknown/any under stricter tsconfig settings (ts18046).
11
+ const coreContracts = Object.values(CORE_TYPE_CONTRACTS.types);
12
+ const coreTypes = coreContracts.map((contract) => ({
13
+ id: `core.type.${contract.name}`,
14
+ name: contract.name,
15
+ kind: contract.kind,
16
+ strict: contract.strict,
17
+ operations: contract.operations.map((operation) => ({
18
+ id: operation.id,
19
+ kind: operation.kind,
20
+ args: [...operation.args],
21
+ returns: normalizeReturns(operation.returns),
22
+ lowerings: operation.lowers ? { ...operation.lowers } : {},
23
+ fixtureCount: operation.fixtures.length,
24
+ reviewSummary: operation.review.summary,
25
+ reviewTags: [...operation.review.graph],
26
+ })),
27
+ }));
28
+ return {
29
+ schemaVersion: 1,
30
+ generatedBy: 'kern-semantic-substrate',
31
+ source: options.source ?? 'codegen-from-ts',
32
+ coreTypes,
33
+ coreGraphEdges: coreContracts.flatMap((contract) => contractToGraphEdges(contract)),
34
+ portablePrimitives: PORTABLE_LOGIC_PRIMITIVE_IDS.map((id) => {
35
+ const primitive = PORTABLE_LOGIC_PRIMITIVES[id];
36
+ return {
37
+ id,
38
+ kernName: kernPrimitiveName(id),
39
+ domain: id.split('.')[0],
40
+ description: primitive.description,
41
+ intent: primitive.intent,
42
+ purity: primitive.purity,
43
+ hostPatterns: [...primitive.hostPatterns],
44
+ portabilityNotes: [...primitive.portabilityNotes],
45
+ support: { ...primitive.targets },
46
+ };
47
+ }),
48
+ stdlibOperations: stdlibOperationSummaries(),
49
+ irContracts: options.irContracts
50
+ ? snapshotRegistry(options.irContracts).contracts.map((contract) => ({
51
+ nodeType: contract.nodeType,
52
+ forbiddenRewrites: [...contract.forbiddenRewrites],
53
+ fixtureCount: contract.fixtureCount,
54
+ }))
55
+ : [],
56
+ ...(options.documentClasses ? { classFacts: collectClassSemanticFacts(options.documentClasses) } : {}),
57
+ ...(options.documentClasses && options.includeClassValidationSummary
58
+ ? { classValidationSummary: semanticValidationSummary(options.documentClasses) }
59
+ : {}),
60
+ ...(ragFacts ? { ragFacts, ragAnswerReviewFacts: buildRagAnswerReviewFacts(ragFacts) } : {}),
61
+ ...(options.documentRag && options.includeRagValidationSummary
62
+ ? { ragValidationSummary: ragValidationSummary(options.documentRag) }
63
+ : {}),
64
+ ...(options.documentShapes ? { coreShapeFacts: collectCoreShapeFacts(options.documentShapes) } : {}),
65
+ };
66
+ }
67
+ export function lookupSemanticPrimitive(substrate, id) {
68
+ const primitive = substrate.portablePrimitives.find((candidate) => candidate.id === id);
69
+ if (!primitive) {
70
+ throw new Error(`KERN semantic substrate missing portable primitive '${id}'.`);
71
+ }
72
+ return primitive;
73
+ }
74
+ export function semanticPrimitiveSupportSummary(primitive, targets) {
75
+ const bySupport = {
76
+ preview: [],
77
+ stable: [],
78
+ unsupported: [],
79
+ };
80
+ for (const target of targets) {
81
+ bySupport[semanticSupportForTarget(primitive.support, target)].push(target);
82
+ }
83
+ const parts = [];
84
+ for (const support of ['stable', 'preview', 'unsupported']) {
85
+ const targetNames = bySupport[support];
86
+ if (targetNames.length > 0)
87
+ parts.push(`${support}: ${targetNames.join(', ')}`);
88
+ }
89
+ return parts.join('; ');
90
+ }
91
+ function semanticSupportForTarget(support, target) {
92
+ switch (target) {
93
+ case 'ts':
94
+ return support.ts;
95
+ case 'python':
96
+ return support.python;
97
+ case 'go':
98
+ return support.go;
99
+ }
100
+ }
101
+ function stdlibOperationSummaries() {
102
+ const stdlib = KERN_STDLIB;
103
+ const operations = [];
104
+ for (const module of Object.keys(stdlib)) {
105
+ const entries = stdlib[module];
106
+ if (!entries)
107
+ continue;
108
+ for (const method of Object.keys(entries)) {
109
+ const entry = entries[method];
110
+ if (!entry)
111
+ continue;
112
+ operations.push({
113
+ id: `stdlib.${module}.${method}`,
114
+ module,
115
+ method,
116
+ arity: entry.arity,
117
+ support: {
118
+ ts: entry.ts ? 'stable' : 'unsupported',
119
+ python: entry.py ? 'stable' : 'unsupported',
120
+ go: 'unsupported',
121
+ },
122
+ });
123
+ }
124
+ }
125
+ return operations;
126
+ }
127
+ function normalizeReturns(returns) {
128
+ return typeof returns === 'string' ? [returns] : [...returns];
129
+ }
130
+ function semanticValidationSummary(root) {
131
+ return summarizeSemanticViolations(validateClassSemantics(root));
132
+ }
133
+ function ragValidationSummary(root) {
134
+ return summarizeSemanticViolations(validateRagSemantics(root));
135
+ }
136
+ function summarizeSemanticViolations(violations) {
137
+ const byRule = {};
138
+ for (const violation of violations) {
139
+ byRule[violation.rule] = (byRule[violation.rule] ?? 0) + 1;
140
+ }
141
+ return { total: violations.length, byRule };
142
+ }
143
+ function buildRagAnswerReviewFacts(facts) {
144
+ const unresolvedRetrievers = new Set(facts.unresolvedRetrieverRefs);
145
+ return facts.pipelines.map((pipeline) => {
146
+ const citationsRequired = pipeline.citations || pipeline.groundings.some((grounding) => grounding.requireCitations);
147
+ const mcpRetrievals = facts.mcpRetrievals.filter((retrieval) => retrieval.targetKind === 'rag' && retrieval.targetName === pipeline.name);
148
+ const compatibleMcpRetrievals = mcpRetrievals.filter((retrieval) => isRagAnswerCompatibleMcpRetrieval(retrieval, citationsRequired));
149
+ const evalCaseCount = pipeline.evals.reduce((count, evaluation) => count + (evaluation.caseCount ?? 0), 0);
150
+ const answerContractCount = pipeline.answerContracts.length;
151
+ const issues = ragAnswerReviewIssues(facts, pipeline.name, pipeline.retrieverName, pipeline.prompt, pipeline.answer, answerContractCount, citationsRequired, pipeline.groundings.length, pipeline.groundings.some((grounding) => grounding.requireCitations), pipeline.evals.length, evalCaseCount, mcpRetrievals.length, compatibleMcpRetrievals.length, unresolvedRetrievers.has(pipeline.retrieverName));
152
+ return {
153
+ pipelineName: pipeline.name,
154
+ retrieverName: pipeline.retrieverName,
155
+ ...optionalStringValue('prompt', pipeline.prompt),
156
+ ...optionalStringValue('answer', pipeline.answer),
157
+ citationsRequired,
158
+ groundingCount: pipeline.groundings.length,
159
+ evalCount: pipeline.evals.length,
160
+ evalCaseCount,
161
+ answerContractCount,
162
+ mcpRetrievalCount: mcpRetrievals.length,
163
+ compatibleMcpRetrievalCount: compatibleMcpRetrievals.length,
164
+ provenanceRequired: citationsRequired || mcpRetrievals.some((retrieval) => retrieval.requireGrounding),
165
+ provenanceComplete: mcpRetrievals.length === 0 || compatibleMcpRetrievals.length === mcpRetrievals.length,
166
+ validationStatus: ragAnswerReviewStatus(issues),
167
+ issues,
168
+ };
169
+ });
170
+ }
171
+ function ragAnswerReviewIssues(facts, pipelineName, retrieverName, prompt, answer, answerContractCount, citationsRequired, groundingCount, hasCitationGrounding, evalCount, evalCaseCount, mcpRetrievalCount, compatibleMcpRetrievalCount, unresolvedRetriever) {
172
+ const issues = [];
173
+ if (unresolvedRetriever)
174
+ issues.push(`unresolved-retriever:${retrieverName}`);
175
+ if (!prompt && !answer && answerContractCount === 0)
176
+ issues.push('missing-answer-surface');
177
+ if (citationsRequired && groundingCount === 0)
178
+ issues.push('missing-grounding');
179
+ if (citationsRequired && !hasCitationGrounding)
180
+ issues.push('missing-citation-grounding');
181
+ if (evalCount === 0)
182
+ issues.push('missing-eval');
183
+ if (evalCount > 0 && evalCaseCount === 0)
184
+ issues.push('missing-eval-case');
185
+ if (facts.mcpRetrievals.some((retrieval) => retrieval.targetKind === 'rag' &&
186
+ retrieval.targetName === pipelineName &&
187
+ retrieval.contractStatus === 'invalid')) {
188
+ issues.push('invalid-mcp-retrieve-contract');
189
+ }
190
+ if (mcpRetrievalCount > 0 && compatibleMcpRetrievalCount === 0)
191
+ issues.push('missing-compatible-mcp-retrieve');
192
+ return issues;
193
+ }
194
+ function ragAnswerReviewStatus(issues) {
195
+ if (issues.some((issue) => INVALID_RAG_ANSWER_REVIEW_ISSUES.has(issue.split(':', 1)[0] ?? '')))
196
+ return 'invalid';
197
+ return issues.length === 0 ? 'ready' : 'incomplete';
198
+ }
199
+ function isRagAnswerCompatibleMcpRetrieval(retrieval, citationsRequired) {
200
+ if (retrieval.contractStatus !== 'valid')
201
+ return false;
202
+ if (retrieval.outputShape !== RAG_MCP_RETRIEVE_OUTPUT_SHAPE)
203
+ return false;
204
+ if (retrieval.outputItemShape !== undefined && retrieval.outputItemShape !== RAG_MCP_RETRIEVE_OUTPUT_ITEM_SHAPE) {
205
+ return false;
206
+ }
207
+ if (citationsRequired || retrieval.effectiveRequiresCitations) {
208
+ return (!!retrieval.citationField &&
209
+ (!!retrieval.sourceField || retrieval.provenance === 'source' || retrieval.provenance === 'citation'));
210
+ }
211
+ return true;
212
+ }
213
+ function optionalStringValue(key, value) {
214
+ return value === undefined ? {} : { [key]: value };
215
+ }
216
+ const INVALID_RAG_ANSWER_REVIEW_ISSUES = new Set(['unresolved-retriever', 'invalid-mcp-retrieve-contract']);
217
+ const KERN_PRIMITIVE_NAMES = {
218
+ 'collection.has': 'includes',
219
+ 'collection.count': 'count',
220
+ 'collection.filter': 'filter',
221
+ 'collection.compact': 'compact',
222
+ 'collection.pluck': 'pluck',
223
+ 'collection.take': 'take',
224
+ 'collection.drop': 'drop',
225
+ 'collection.slice': 'slice',
226
+ 'collection.reverse': 'reverse',
227
+ 'collection.at': 'at',
228
+ 'collection.join': 'join',
229
+ 'collection.concat': 'concat',
230
+ 'collection.includes': 'includes',
231
+ 'collection.indexOf': 'indexOf',
232
+ 'collection.lastIndexOf': 'lastIndexOf',
233
+ 'collection.sort': 'sort',
234
+ 'collection.uniqueBy': 'uniqueBy',
235
+ 'collection.groupBy': 'groupBy',
236
+ 'collection.partition': 'partition',
237
+ 'collection.indexBy': 'indexBy',
238
+ 'collection.countBy': 'countBy',
239
+ 'logic.firstTruthy': 'firstTruthy',
240
+ 'logic.coalesce': 'coalesce',
241
+ 'time.epochMs': 'epochMs',
242
+ 'logic.not': 'not',
243
+ 'number.clamp': 'clamp',
244
+ 'object.keys': 'objectKeys',
245
+ 'object.values': 'objectValues',
246
+ 'object.entries': 'objectEntries',
247
+ 'object.merge': 'objectMerge',
248
+ 'object.omit': 'objectOmit',
249
+ 'object.pick': 'objectPick',
250
+ 'string.trim': 'trim',
251
+ 'string.split': 'split',
252
+ 'string.replaceFirst': 'replaceFirst',
253
+ 'string.replaceAll': 'replaceAll',
254
+ 'logic.firstDefined': 'firstDefined',
255
+ 'string.coerce': 'string',
256
+ };
257
+ function kernPrimitiveName(id) {
258
+ const name = KERN_PRIMITIVE_NAMES[id];
259
+ if (!name)
260
+ throw new Error(`KERN semantic substrate missing KERN primitive name for '${id}'.`);
261
+ return name;
262
+ }
263
+ //# sourceMappingURL=semantic-substrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-substrate.js","sourceRoot":"","sources":["../src/semantic-substrate.ts"],"names":[],"mappings":"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"}