@kernlang/core 4.1.0 → 4.1.1-canary.227.1.dcaa3f78

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 (57) hide show
  1. package/dist/codegen/body-ts.js +18 -0
  2. package/dist/codegen/body-ts.js.map +1 -1
  3. package/dist/index.d.ts +5 -4
  4. package/dist/index.js +7 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/ir/semantics/assign.js +4 -4
  7. package/dist/ir/semantics/assign.js.map +1 -1
  8. package/dist/ir/semantics/branch.js +11 -9
  9. package/dist/ir/semantics/branch.js.map +1 -1
  10. package/dist/ir/semantics/each.js +11 -10
  11. package/dist/ir/semantics/each.js.map +1 -1
  12. package/dist/ir/semantics/expression-v1.js +17 -17
  13. package/dist/ir/semantics/expression-v1.js.map +1 -1
  14. package/dist/ir/semantics/fmt.js +3 -3
  15. package/dist/ir/semantics/fmt.js.map +1 -1
  16. package/dist/ir/semantics/for.js +14 -10
  17. package/dist/ir/semantics/for.js.map +1 -1
  18. package/dist/ir/semantics/if.js +12 -4
  19. package/dist/ir/semantics/if.js.map +1 -1
  20. package/dist/ir/semantics/index.d.ts +35 -1
  21. package/dist/ir/semantics/index.js +59 -1
  22. package/dist/ir/semantics/index.js.map +1 -1
  23. package/dist/ir/semantics/let.js +3 -3
  24. package/dist/ir/semantics/let.js.map +1 -1
  25. package/dist/ir/semantics/portable-scalar.js +6 -5
  26. package/dist/ir/semantics/portable-scalar.js.map +1 -1
  27. package/dist/ir/semantics/primitives.js +3 -3
  28. package/dist/ir/semantics/primitives.js.map +1 -1
  29. package/dist/ir/semantics/print.d.ts +36 -0
  30. package/dist/ir/semantics/print.js +102 -0
  31. package/dist/ir/semantics/print.js.map +1 -0
  32. package/dist/ir/semantics/register-all.js +2 -0
  33. package/dist/ir/semantics/register-all.js.map +1 -1
  34. package/dist/ir/semantics/testing.d.ts +18 -0
  35. package/dist/ir/semantics/testing.js +19 -0
  36. package/dist/ir/semantics/testing.js.map +1 -0
  37. package/dist/ir/semantics/try.js +6 -6
  38. package/dist/ir/semantics/try.js.map +1 -1
  39. package/dist/ir/semantics/while.js +7 -4
  40. package/dist/ir/semantics/while.js.map +1 -1
  41. package/dist/parser-validate-body-statements.js +1 -0
  42. package/dist/parser-validate-body-statements.js.map +1 -1
  43. package/dist/rag-retrieve-runner.d.ts +9 -1
  44. package/dist/rag-retrieve-runner.js +149 -2
  45. package/dist/rag-retrieve-runner.js.map +1 -1
  46. package/dist/runner.d.ts +28 -0
  47. package/dist/runner.js +30 -0
  48. package/dist/runner.js.map +1 -0
  49. package/dist/schema.js +8 -0
  50. package/dist/schema.js.map +1 -1
  51. package/dist/spec.d.ts +2 -2
  52. package/dist/spec.js +3 -1
  53. package/dist/spec.js.map +1 -1
  54. package/dist/testing.d.ts +16 -0
  55. package/dist/testing.js +17 -0
  56. package/dist/testing.js.map +1 -0
  57. package/package.json +9 -1
@@ -26,7 +26,7 @@
26
26
  * `while ... else` are excluded.
27
27
  */
28
28
  import { parseExpression } from '../../parser-expression.js';
29
- import { registerContract } from './index.js';
29
+ import { childEnv, registerContract } from './index.js';
30
30
  import { evalPortableValue } from './portable-scalar.js';
31
31
  import { referenceRunSequence } from './reference-runner.js';
32
32
  import { emptyTrace } from './trace.js';
@@ -62,9 +62,12 @@ function whileEffects(ir, env) {
62
62
  throw new Error(`while: exceeded ${MAX_ITERATIONS} iterations — non-terminating fixture`);
63
63
  }
64
64
  iterations += 1;
65
- // SAME env (not cloned): the loop relies on the body mutating the shared
66
- // bindings (e.g. `assign n += 1`) for the condition to flip and terminate.
67
- const childTrace = referenceRunSequence(children, env);
65
+ // Each iteration runs in a fresh CHILD scope: an `assign` to an OUTER binding
66
+ // (e.g. `n += 1`) writes THROUGH to its declaring scope, so the condition still
67
+ // flips and the loop terminates; meanwhile any inner `let` in the body lives
68
+ // only in the child scope and is fresh per iteration (no cross-iteration
69
+ // redeclaration abstain, no post-loop leak) — matching TS/Python block scoping.
70
+ const childTrace = referenceRunSequence(children, childEnv(env));
68
71
  out.events.push(...childTrace.events);
69
72
  const c = childTrace.completion;
70
73
  if (c.kind === 'break')
@@ -1 +1 @@
1
- {"version":3,"file":"while.js","sourceRoot":"","sources":["../../../src/ir/semantics/while.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"while.js","sourceRoot":"","sources":["../../../src/ir/semantics/while.ts"],"names":[],"mappings":"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"}
@@ -141,6 +141,7 @@ function isBodyStatementMisplaced(node, ctx) {
141
141
  case 'expression-v1':
142
142
  case 'return':
143
143
  case 'throw':
144
+ case 'print':
144
145
  case 'continue':
145
146
  case 'break':
146
147
  case 'while':
@@ -1 +1 @@
1
- {"version":3,"file":"parser-validate-body-statements.js","sourceRoot":"","sources":["../src/parser-validate-body-statements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser-validate-body-statements.js","sourceRoot":"","sources":["../src/parser-validate-body-statements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,cAAc,EAAmB,MAAM,yBAAyB,CAAC;AAoB1E,MAAM,QAAQ,GAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;AAE9G,MAAM,UAAU,sBAAsB,CAAC,KAAiB,EAAE,IAAY;IACpE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,IAAI,CAAC,KAAiB,EAAE,IAAY,EAAE,GAAgB;IAC7D,IAAI,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACvD,cAAc,CACZ,KAAK,EACL,uCAAuC,EACvC,OAAO,EACP,KAAK,IAAI,CAAC,IAAI,sJAAsJ,EACpK,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,EACP,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CACtC,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7E,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACvD,cAAc,CACZ,KAAK,EACL,gCAAgC,EAChC,OAAO,EACP,iMAAiM,EACjM,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,EACP,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CACtC,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,YAAY,IAAI,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACvD,cAAc,CACZ,KAAK,EACL,gCAAgC,EAChC,OAAO,EACP,KAAK,IAAI,CAAC,IAAI,gFAAgF,EAC9F,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,EACP,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CACtC,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;QAAE,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpF,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;QAAE,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAgB;QAC5B,YAAY;QACZ,SAAS,EAAE,YAAY,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS;QACxF,UAAU,EAAE,IAAI,CAAC,IAAI;QACrB,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;KAC9D,CAAC;IACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAiB,EAAE,IAAY;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;IACjC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO;IAChG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACvD,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,6CAA6C,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE;QACnH,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;KAClC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY,EAAE,GAAgB;IAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,0EAA0E;IAC1E,yEAAyE;IACzE,wBAAwB;IACxB,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AAC9E,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAiB,EAAE,IAAY;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;IACjC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACzF,cAAc,CACZ,KAAK,EACL,uBAAuB,EACvB,OAAO,EACP,4FAA4F,EAC5F,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,EACP,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CACtC,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;IACjC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACzF,cAAc,CACZ,KAAK,EACL,uBAAuB,EACvB,OAAO,EACP,uFAAuF,EACvF,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,EACP,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CACtC,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,IAAI,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC9F,cAAc,CACZ,KAAK,EACL,wBAAwB,EACxB,OAAO,EACP,SAAS,QAAQ,mGAAmG,EACpH,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,EACP,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CACtC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC;AAChE,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY,EAAE,GAAgB;IAC9D,IAAI,GAAG,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAEnC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,KAAK;YACR,yEAAyE;YACzE,0EAA0E;YAC1E,sEAAsE;YACtE,0EAA0E;YAC1E,yDAAyD;YACzD,OAAO,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC;QACjC,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,oEAAoE;YACpE,4EAA4E;YAC5E,0EAA0E;YAC1E,yEAAyE;YACzE,4EAA4E;YAC5E,oEAAoE;YACpE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAC9B,KAAK,MAAM,CAAC;QACZ,KAAK,eAAe,CAAC;QACrB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,IAAI;YACP,sEAAsE;YACtE,mEAAmE;YACnE,kEAAkE;YAClE,kBAAkB;YAClB,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC;QACxC,KAAK,MAAM;YACT,oEAAoE;YACpE,kEAAkE;YAClE,wBAAwB;YACxB,OAAO,GAAG,CAAC,UAAU,KAAK,aAAa,CAAC;QAC1C,KAAK,KAAK;YACR,kEAAkE;YAClE,gEAAgE;YAChE,+DAA+D;YAC/D,4DAA4D;YAC5D,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC;QACxC;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
- import { type Embedder } from './rag-embedding.js';
1
+ import { type RagProviderEmbeddingOptions } from './rag-embed-resolver.js';
2
+ import { type AsyncEmbedder, type Embedder } from './rag-embedding.js';
2
3
  import { type RagIngestResult } from './rag-ingest.js';
3
4
  import type { RetrieveOptions, RetrieveResult } from './rag-runtime.js';
4
5
  import { type SemanticViolation } from './semantic-validator.js';
@@ -11,6 +12,12 @@ export interface RagRetrieveDocumentOptions {
11
12
  /** Override embedder for local, synchronous retrieval tests and tools. Provider-backed retrieval is future async work. */
12
13
  readonly embedder?: Embedder;
13
14
  }
15
+ export interface RagRetrieveAsyncDocumentOptions extends Omit<RagRetrieveDocumentOptions, 'embedder'> {
16
+ /** Optional explicit async embedder override; otherwise resolved from ragIndex embed declarations. */
17
+ readonly embedder?: AsyncEmbedder;
18
+ /** Provider options. Supplying OpenAI here is the only path that can make network calls. */
19
+ readonly providers?: RagProviderEmbeddingOptions;
20
+ }
14
21
  export interface RagRetrieveDocumentEntry {
15
22
  readonly name: string;
16
23
  readonly indexName: string;
@@ -30,4 +37,5 @@ export interface RagRetrieveDocumentReport {
30
37
  * over declared local sources. Provider vector stores remain future async work.
31
38
  */
32
39
  export declare function retrieveRagDocument(source: string, options: RagRetrieveDocumentOptions): RagRetrieveDocumentReport;
40
+ export declare function retrieveRagDocumentAsync(source: string, options: RagRetrieveAsyncDocumentOptions): Promise<RagRetrieveDocumentReport>;
33
41
  export declare function ragRetrieveCorpusSourceSummary(report: RagRetrieveDocumentReport): string;
@@ -2,8 +2,8 @@ import { createHash } from 'node:crypto';
2
2
  import { lstatSync, realpathSync } from 'node:fs';
3
3
  import { dirname, isAbsolute, relative, resolve } from 'node:path';
4
4
  import { parseDocument } from './parser.js';
5
- import { canonicalRagEmbedModel, defaultDimsForRagEmbedModel, RAG_EMBED_MODEL_LOCAL_HASH, RAG_EMBED_MODEL_LOCAL_SEMANTIC, } from './rag-embed-resolver.js';
6
- import { DeterministicHashEmbedder, EmbeddingRagIndex, LocalSemanticEmbedder } from './rag-embedding.js';
5
+ import { canonicalRagEmbedModel, defaultDimsForRagEmbedModel, RAG_EMBED_MODEL_LOCAL_HASH, RAG_EMBED_MODEL_LOCAL_SEMANTIC, RAG_EMBED_MODEL_OPENAI_TEXT_EMBEDDING_3_LARGE, RAG_EMBED_MODEL_OPENAI_TEXT_EMBEDDING_3_SMALL, } from './rag-embed-resolver.js';
6
+ import { AsyncEmbeddingRagIndex, asAsyncEmbedder, DeterministicHashEmbedder, EmbeddingRagIndex, LocalSemanticEmbedder, OpenAIEmbeddingAdapter, } from './rag-embedding.js';
7
7
  import { LocalPersistentRagVectorStoreAdapter } from './rag-embedding-node.js';
8
8
  import { ingestRagDeclaredLocalSources } from './rag-ingest.js';
9
9
  import { collectRagSemanticFacts, validateRagSemantics, } from './semantic-validator.js';
@@ -114,6 +114,108 @@ export function retrieveRagDocument(source, options) {
114
114
  throw closeError;
115
115
  return { diagnostics, retrievals, ingestion };
116
116
  }
117
+ export async function retrieveRagDocumentAsync(source, options) {
118
+ const root = parseDocument(source);
119
+ const diagnostics = validateRagSemantics(root);
120
+ if (diagnostics.length > 0)
121
+ return { diagnostics, retrievals: [] };
122
+ const facts = collectRagSemanticFacts(root);
123
+ const indexByName = new Map(facts.indexes.map((index) => [index.name, index]));
124
+ const vectorStoreByName = new Map(facts.vectorStores.map((store) => [store.name, store]));
125
+ const preparedRetrievals = facts.runtimeRetrievals.map((retrieval) => {
126
+ const index = indexByName.get(retrieval.indexName);
127
+ if (!index)
128
+ throw new Error(`KERN RAG runtime retrieval '${retrieval.name}' references missing index.`);
129
+ const vectorStore = vectorStoreByName.get(index.storeName);
130
+ if (!vectorStore) {
131
+ throw new Error(`KERN RAG runtime retrieval '${retrieval.name}' references missing vector store.`);
132
+ }
133
+ const vectorStoreKind = vectorStore.kind ?? 'memory';
134
+ if (vectorStoreKind !== 'memory' && vectorStoreKind !== 'local-persistent') {
135
+ throw new Error(`KERN RAG runtime retrieval '${retrieval.name}' references vectorStore '${vectorStore.name}' kind='${vectorStoreKind}', but the async ragRetrieve runner only supports kind=memory and kind=local-persistent.`);
136
+ }
137
+ if (index.chunkingName) {
138
+ throw new Error(`KERN RAG runtime retrieval '${retrieval.name}' references index '${index.name}' with chunking='${index.chunkingName}', which is not supported by the async ragRetrieve runner yet.`);
139
+ }
140
+ const query = queryForRuntimeRetrieval(retrieval, options);
141
+ const embedder = options.embedder ?? asyncEmbedderForIndex(facts, index.embedName, options);
142
+ return { retrieval, index, query, embedder, vectorStore };
143
+ });
144
+ const corpusNames = Array.from(new Set(preparedRetrievals.map(({ index }) => index.corpusName))).sort();
145
+ if (corpusNames.length === 0)
146
+ return { diagnostics, retrievals: [] };
147
+ const ingestion = ingestRagDeclaredLocalSources(root, {
148
+ sourcePath: options.sourcePath,
149
+ corpusNames,
150
+ });
151
+ const embeddingIndexByKey = new Map();
152
+ const persistentStoreByKey = new Map();
153
+ const retrievals = [];
154
+ let retrievalError;
155
+ let closeError;
156
+ try {
157
+ for (const { retrieval, index, query, embedder, vectorStore } of preparedRetrievals) {
158
+ const corpusChunks = ingestion.chunks.filter((chunk) => chunk.metadata?.corpusName === index.corpusName);
159
+ const retrieveOptions = retrieveOptionsForFact(retrieval);
160
+ let result;
161
+ if ((vectorStore.kind ?? 'memory') === 'local-persistent') {
162
+ const config = localPersistentStoreConfig(vectorStore, index, embedder, corpusChunks, options.sourcePath);
163
+ let entry = persistentStoreByKey.get(config.physicalKey);
164
+ if (entry && entry.fingerprint !== config.fingerprint) {
165
+ throw new Error(`KERN RAG vectorStore '${vectorStore.name}' resolves to local snapshot '${config.fileName}' with multiple incompatible fingerprints. Use distinct namespace or path values for each local-persistent index.`);
166
+ }
167
+ if (!entry) {
168
+ entry = {
169
+ fingerprint: config.fingerprint,
170
+ store: new LocalPersistentRagVectorStoreAdapter({
171
+ directory: config.directory,
172
+ fileName: config.fileName,
173
+ fingerprint: config.fingerprint,
174
+ dims: embedder.dims,
175
+ rebuildOnFingerprintMismatch: true,
176
+ }),
177
+ };
178
+ persistentStoreByKey.set(config.physicalKey, entry);
179
+ }
180
+ const { fingerprint, store } = entry;
181
+ await ensureLocalPersistentStoreIndexedAsync(store, fingerprint, embedder, corpusChunks);
182
+ result = store.search(query, await embedder.embed(query), retrieveOptions, fingerprint);
183
+ }
184
+ else {
185
+ const cacheKey = JSON.stringify([index.corpusName, embedder.id, embedder.dims]);
186
+ let embeddingIndex = embeddingIndexByKey.get(cacheKey);
187
+ if (!embeddingIndex) {
188
+ embeddingIndex = AsyncEmbeddingRagIndex.create(corpusChunks, { embedder });
189
+ embeddingIndexByKey.set(cacheKey, embeddingIndex);
190
+ }
191
+ result = await (await embeddingIndex).retrieve(query, retrieveOptions);
192
+ }
193
+ retrievals.push({
194
+ name: retrieval.name,
195
+ indexName: retrieval.indexName,
196
+ ...(retrieval.ragName ? { ragName: retrieval.ragName } : {}),
197
+ query,
198
+ retrieveOptions,
199
+ result,
200
+ });
201
+ }
202
+ }
203
+ catch (error) {
204
+ retrievalError = error;
205
+ }
206
+ finally {
207
+ closeError = closeLocalPersistentStores(persistentStoreByKey.values());
208
+ }
209
+ if (retrievalError) {
210
+ if (closeError && retrievalError instanceof Error) {
211
+ retrievalError.closeError = closeError;
212
+ }
213
+ throw retrievalError;
214
+ }
215
+ if (closeError)
216
+ throw closeError;
217
+ return { diagnostics, retrievals, ingestion };
218
+ }
117
219
  function queryForRuntimeRetrieval(retrieval, options) {
118
220
  if (retrieval.query !== undefined) {
119
221
  if (retrieval.queryKind === 'expression') {
@@ -173,6 +275,25 @@ function ensureLocalPersistentStoreIndexed(store, fingerprint, embedder, chunks)
173
275
  fingerprint,
174
276
  })));
175
277
  }
278
+ async function ensureLocalPersistentStoreIndexedAsync(store, fingerprint, embedder, chunks) {
279
+ const snapshot = store.snapshot();
280
+ const actualChunks = snapshot.entries.map((entry) => entry.chunk);
281
+ if (snapshot.entries.length === chunks.length && stableChunkDigest(actualChunks) === stableChunkDigest(chunks)) {
282
+ return;
283
+ }
284
+ const vectors = await embedManyForRetrieve(embedder, chunks.map((chunk) => chunk.text));
285
+ if (vectors.length !== chunks.length) {
286
+ throw new Error(`KERN async embedder returned ${vectors.length} vectors for ${chunks.length} retrieval chunks.`);
287
+ }
288
+ store.replaceAll(chunks.map((chunk, index) => ({
289
+ chunk,
290
+ vector: vectors[index],
291
+ fingerprint,
292
+ })));
293
+ }
294
+ async function embedManyForRetrieve(embedder, texts) {
295
+ return embedder.embedMany ? embedder.embedMany(texts) : Promise.all(texts.map((text) => embedder.embed(text)));
296
+ }
176
297
  function closeLocalPersistentStores(entries) {
177
298
  let firstError;
178
299
  for (const { store } of entries) {
@@ -273,6 +394,32 @@ function embedderForIndex(facts, embedName) {
273
394
  return new LocalSemanticEmbedder();
274
395
  throw new Error(`RAG embed model '${model}' requires async provider execution.`);
275
396
  }
397
+ function asyncEmbedderForIndex(facts, embedName, options) {
398
+ const embed = embedName
399
+ ? facts.corpora.flatMap((corpus) => corpus.embeds).find((entry) => entry.name === embedName)
400
+ : undefined;
401
+ if (embedName && !embed)
402
+ throw new Error(`KERN RAG embed '${embedName}' not found.`);
403
+ const model = canonicalRagEmbedModel(embed?.model);
404
+ const dims = embed?.dims ?? defaultDimsForRagEmbedModel(model);
405
+ if (model === RAG_EMBED_MODEL_LOCAL_HASH)
406
+ return asAsyncEmbedder(new DeterministicHashEmbedder({ dims }));
407
+ if (model === RAG_EMBED_MODEL_LOCAL_SEMANTIC)
408
+ return asAsyncEmbedder(new LocalSemanticEmbedder());
409
+ if (model === RAG_EMBED_MODEL_OPENAI_TEXT_EMBEDDING_3_SMALL ||
410
+ model === RAG_EMBED_MODEL_OPENAI_TEXT_EMBEDDING_3_LARGE) {
411
+ const openai = options.providers?.openai;
412
+ if (!openai?.apiKey?.trim())
413
+ throw new Error(`RAG embed model '${model}' requires OpenAI provider options.`);
414
+ return new OpenAIEmbeddingAdapter({
415
+ ...openai,
416
+ apiKey: openai.apiKey,
417
+ model: model.replace(/^openai:/u, ''),
418
+ dims,
419
+ });
420
+ }
421
+ throw new Error(`Unhandled RAG embed model '${model}'.`);
422
+ }
276
423
  export function ragRetrieveCorpusSourceSummary(report) {
277
424
  const ingestion = report.ingestion;
278
425
  if (!ingestion)
@@ -1 +1 @@
1
- {"version":3,"file":"rag-retrieve-runner.js","sourceRoot":"","sources":["../src/rag-retrieve-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rag-retrieve-runner.js","sourceRoot":"","sources":["../src/rag-retrieve-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * `@kernlang/core/runner` — the GUARANTEED typescript-free standalone runtime entry.
3
+ *
4
+ * This is the first-class executor surface for "KERN runs on its own": the
5
+ * tree-walking ReferenceRunner plus the lazy expression parser the runner calls
6
+ * at eval time, and nothing else. Its STATIC import closure has `decimal.js` as
7
+ * its ONLY external dependency and ZERO `typescript` — pinned by
8
+ * `tests/runner-entry-import-graph.test.ts` (the anti-rot gate).
9
+ *
10
+ * Why a dedicated entry: importing from the `.` barrel (`@kernlang/core`) loads
11
+ * the whole module graph, which still includes Node-only TS-backed codegen and
12
+ * the differential-test harness, dragging in the ~10MB TS compiler. A browser /
13
+ * edge / embedded consumer imports from HERE instead and pays none of that.
14
+ *
15
+ * Usage:
16
+ * import { registerAllContracts, referenceRun, makeEnv } from '@kernlang/core/runner';
17
+ * registerAllContracts(); // idempotent
18
+ * const trace = referenceRun(node, makeEnv()); // execute one IR node
19
+ *
20
+ * The differential harness (`runDifferential`, etc.) is INTENTIONALLY absent —
21
+ * it is test-only and lives behind `@kernlang/core/testing`.
22
+ */
23
+ export type { CanonicalError, CompletionKind, CompletionRecord, NodeContract, NodeFixture, SemanticEnv, Trace, TraceEvent, } from './ir/semantics/index.js';
24
+ export { CONTRACT_REGISTRY, completionsEqual, deepEqual, emptyTrace, eventsEqual, makeEnv, ReferenceRunnerError, referenceRun, referenceRunSequence, registerAllContracts, registerContract, tracesEqual, } from './ir/semantics/index.js';
25
+ export type { ParseExpressionOptions } from './parser-expression.js';
26
+ export { parseExpression } from './parser-expression.js';
27
+ export type { IRNode } from './types.js';
28
+ export type { ValueIR } from './value-ir.js';
package/dist/runner.js ADDED
@@ -0,0 +1,30 @@
1
+ /**
2
+ * `@kernlang/core/runner` — the GUARANTEED typescript-free standalone runtime entry.
3
+ *
4
+ * This is the first-class executor surface for "KERN runs on its own": the
5
+ * tree-walking ReferenceRunner plus the lazy expression parser the runner calls
6
+ * at eval time, and nothing else. Its STATIC import closure has `decimal.js` as
7
+ * its ONLY external dependency and ZERO `typescript` — pinned by
8
+ * `tests/runner-entry-import-graph.test.ts` (the anti-rot gate).
9
+ *
10
+ * Why a dedicated entry: importing from the `.` barrel (`@kernlang/core`) loads
11
+ * the whole module graph, which still includes Node-only TS-backed codegen and
12
+ * the differential-test harness, dragging in the ~10MB TS compiler. A browser /
13
+ * edge / embedded consumer imports from HERE instead and pays none of that.
14
+ *
15
+ * Usage:
16
+ * import { registerAllContracts, referenceRun, makeEnv } from '@kernlang/core/runner';
17
+ * registerAllContracts(); // idempotent
18
+ * const trace = referenceRun(node, makeEnv()); // execute one IR node
19
+ *
20
+ * The differential harness (`runDifferential`, etc.) is INTENTIONALLY absent —
21
+ * it is test-only and lives behind `@kernlang/core/testing`.
22
+ */
23
+ // ── Runtime execution surface (runner + registry + env) ──────────────────────
24
+ export { CONTRACT_REGISTRY, completionsEqual, deepEqual, emptyTrace, eventsEqual, makeEnv, ReferenceRunnerError, referenceRun, referenceRunSequence, registerAllContracts, registerContract, tracesEqual, } from './ir/semantics/index.js';
25
+ // ── Lazy expression parsing — the runner parses string-valued IR expression
26
+ // props at eval time. `parseExpression` is already typescript-free (it imports
27
+ // only the dependency-free `closure-classifier`), which is what makes this
28
+ // whole entry spine-clean. ──────────────────────────────────────────────────
29
+ export { parseExpression } from './parser-expression.js';
30
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAYH,gFAAgF;AAChF,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAEjC,6EAA6E;AAC7E,kFAAkF;AAClF,8EAA8E;AAC9E,iFAAiF;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/schema.js CHANGED
@@ -1808,6 +1808,14 @@ export const NODE_SCHEMAS = {
1808
1808
  trailingComment: { kind: 'string' },
1809
1809
  },
1810
1810
  },
1811
+ print: {
1812
+ description: 'Body-statement print — KERN\'s portable stdout primitive. Emits `console.log(`${value}`)` (TS) or `print(_kern_fmt(value))` (Python), appending exactly one newline on both targets. `value=` is evaluated over the portable-scalar domain; the reference runner fail-closes (abstains) on non-integer floats, UNSAFE integers (|n| > 2^53-1, which JS rounds but CPython does not), objects/arrays, and undefined. Only valid inside a `lang="kern"` handler body.',
1813
+ example: 'print value="user.name"',
1814
+ props: {
1815
+ value: { required: true, kind: 'expression' },
1816
+ trailingComment: { kind: 'string' },
1817
+ },
1818
+ },
1811
1819
  continue: {
1812
1820
  description: 'Body-statement loop-continue — emits `continue;` (TS) or `continue` (Python). Only valid inside a `lang="kern"` handler body, and the surrounding TS/Python compiler still rejects use outside an enclosing loop. Pair with `for`/`each` to express skip-this-iteration logic without dropping into a raw handler.',
1813
1821
  example: 'each name=item in=items\n if cond="item.skip"\n continue\n do value="process(item)"',