@sixb/core 0.1.15 → 0.1.16

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 (131) hide show
  1. package/dist/actions/index.js +15 -15
  2. package/dist/actions/worker.js +1 -1
  3. package/dist/agents/index.js +26 -26
  4. package/dist/auth/index.js +5 -5
  5. package/dist/authorization/index.js +2 -2
  6. package/dist/bootstrap/index.js +30 -30
  7. package/dist/{chunk-qne45xqq.js → chunk-2xvgy3x5.js} +2 -2
  8. package/dist/{chunk-2tz5vnvz.js → chunk-3q7z9hd4.js} +19 -19
  9. package/dist/{chunk-4jph1t3v.js → chunk-40qb8wpe.js} +9 -9
  10. package/dist/{chunk-4jph1t3v.js.map → chunk-40qb8wpe.js.map} +3 -3
  11. package/dist/{chunk-xr7y35yj.js → chunk-667x4drs.js} +2 -2
  12. package/dist/{chunk-8fjmqjyx.js → chunk-69kt9q43.js} +1 -1
  13. package/dist/{chunk-fjw417jf.js → chunk-6z1q7j19.js} +22 -9
  14. package/dist/{chunk-fjw417jf.js.map → chunk-6z1q7j19.js.map} +4 -4
  15. package/dist/{chunk-8w27xf9e.js → chunk-7g2gjvah.js} +1 -1
  16. package/dist/{chunk-wem5vqjw.js → chunk-8x74221e.js} +7 -7
  17. package/dist/{chunk-wd34wnsy.js → chunk-a7ne02hk.js} +6 -6
  18. package/dist/{chunk-bxx3ms5t.js → chunk-b9y8hcm2.js} +2 -2
  19. package/dist/{chunk-mmac1mp6.js → chunk-chdg6eqq.js} +2 -2
  20. package/dist/{chunk-6q7c68yx.js → chunk-cq44v1a6.js} +2 -2
  21. package/dist/{chunk-adbve9zt.js → chunk-cxj8y8t0.js} +2 -2
  22. package/dist/{chunk-p0nbkys4.js → chunk-dp7yk20b.js} +1 -1
  23. package/dist/{chunk-1jvq82rp.js → chunk-dsv8kdgk.js} +3 -3
  24. package/dist/{chunk-dsfw1bdr.js → chunk-f72rbvsb.js} +2 -2
  25. package/dist/{chunk-ex8s8wsk.js → chunk-gkxsenvp.js} +17 -9
  26. package/dist/{chunk-ex8s8wsk.js.map → chunk-gkxsenvp.js.map} +4 -4
  27. package/dist/{chunk-vef6qa14.js → chunk-gmdvns8f.js} +2 -2
  28. package/dist/{chunk-3c90jvfj.js → chunk-h044jb97.js} +1072 -1075
  29. package/dist/chunk-h044jb97.js.map +15 -0
  30. package/dist/{chunk-z708gemf.js → chunk-h4138ww2.js} +4 -4
  31. package/dist/{chunk-yfppyaty.js → chunk-h866d223.js} +1 -1
  32. package/dist/{chunk-7jc21943.js → chunk-kttr5ftm.js} +4 -4
  33. package/dist/{chunk-py2dw8cw.js → chunk-kvysp909.js} +1 -1
  34. package/dist/{chunk-p1683c0v.js → chunk-kyjcwqz6.js} +5 -2
  35. package/dist/{chunk-p1683c0v.js.map → chunk-kyjcwqz6.js.map} +3 -3
  36. package/dist/{chunk-ffwvdgk1.js → chunk-nj0020ay.js} +1 -1
  37. package/dist/{chunk-y0zmae99.js → chunk-nkbev3tr.js} +3 -3
  38. package/dist/{chunk-r5sc1d2b.js → chunk-nvymebc1.js} +1 -1
  39. package/dist/{chunk-2fv8sajb.js → chunk-qnd7ehe5.js} +2 -2
  40. package/dist/{chunk-n5t4mq6z.js → chunk-sbcm1b92.js} +3 -3
  41. package/dist/{chunk-d8yes9yx.js → chunk-swxzncrv.js} +1 -1
  42. package/dist/{chunk-drz59ve0.js → chunk-tkdbge6v.js} +1 -1
  43. package/dist/{chunk-ky7zpbtt.js → chunk-tnvafr7g.js} +1 -1
  44. package/dist/{chunk-dqkd3kdj.js → chunk-vjqt7q3a.js} +20 -20
  45. package/dist/{chunk-a4g5yjm0.js → chunk-vsvrv7n8.js} +1 -1
  46. package/dist/{chunk-q3grgzp1.js → chunk-zb47r1c8.js} +2 -2
  47. package/dist/{chunk-3nx8vj5a.js → chunk-zvmr2hqk.js} +3 -2
  48. package/dist/chunk-zvmr2hqk.js.map +12 -0
  49. package/dist/execution/agent.js +24 -24
  50. package/dist/execution/primitive.js +24 -24
  51. package/dist/execution/request.js +25 -25
  52. package/dist/index.js +34 -34
  53. package/dist/materializer/index.js +12 -12
  54. package/dist/models/embedding-model.d.ts +4 -0
  55. package/dist/models/embedding-model.d.ts.map +1 -1
  56. package/dist/models/execution/index.js +12 -12
  57. package/dist/models/index.js +2 -2
  58. package/dist/objects/index.js +15 -15
  59. package/dist/objects/query/index.js +13 -13
  60. package/dist/objects/query/index.js.map +1 -1
  61. package/dist/objects/vectors/indexing-generate.d.ts.map +1 -1
  62. package/dist/objects/vectors/profile.d.ts.map +1 -1
  63. package/dist/objects/vectors/query.d.ts +1 -1
  64. package/dist/objects/vectors/query.d.ts.map +1 -1
  65. package/dist/objects/vectors/resolve-query.d.ts.map +1 -1
  66. package/dist/objects/vectors/types.d.ts +1 -1
  67. package/dist/objects/vectors/types.d.ts.map +1 -1
  68. package/dist/ontology/builders.d.ts +13 -4
  69. package/dist/ontology/builders.d.ts.map +1 -1
  70. package/dist/ontology/index.js +3 -3
  71. package/dist/ontology/internal.js +2 -2
  72. package/dist/ontology/vector-profiles.d.ts.map +1 -1
  73. package/dist/pipelines/index.js +13 -13
  74. package/dist/projections/internal.js +12 -12
  75. package/dist/runtime/internal.js +14 -14
  76. package/dist/sandboxes/index.js +5 -5
  77. package/dist/shares/internal.js +11 -11
  78. package/dist/storage/agents/provider.js +1 -1
  79. package/dist/storage/file-upload-sessions/provider.js +6 -6
  80. package/dist/storage/index.js +10 -10
  81. package/dist/storage/workflow-runs/provider.js +6 -6
  82. package/dist/syncs/index.js +14 -14
  83. package/dist/testing/index.js +37 -37
  84. package/dist/testing/index.js.map +1 -1
  85. package/dist/webhooks/internal.js +12 -12
  86. package/dist/workflows/index.js +27 -27
  87. package/package.json +1 -1
  88. package/src/models/embedding-model.ts +12 -0
  89. package/src/models/execution/embedding.ts +5 -1
  90. package/src/objects/query/validate.ts +1 -10
  91. package/src/objects/vectors/README.md +8 -0
  92. package/src/objects/vectors/handle.ts +1 -1
  93. package/src/objects/vectors/indexing-generate.ts +5 -1
  94. package/src/objects/vectors/profile.ts +2 -0
  95. package/src/objects/vectors/query.ts +18 -4
  96. package/src/objects/vectors/resolve-query.ts +9 -5
  97. package/src/objects/vectors/types.ts +3 -1
  98. package/src/ontology/builders.ts +21 -7
  99. package/src/ontology/vector-profiles.ts +1 -0
  100. package/dist/chunk-3c90jvfj.js.map +0 -15
  101. package/dist/chunk-3nx8vj5a.js.map +0 -12
  102. /package/dist/{chunk-qne45xqq.js.map → chunk-2xvgy3x5.js.map} +0 -0
  103. /package/dist/{chunk-2tz5vnvz.js.map → chunk-3q7z9hd4.js.map} +0 -0
  104. /package/dist/{chunk-xr7y35yj.js.map → chunk-667x4drs.js.map} +0 -0
  105. /package/dist/{chunk-8fjmqjyx.js.map → chunk-69kt9q43.js.map} +0 -0
  106. /package/dist/{chunk-8w27xf9e.js.map → chunk-7g2gjvah.js.map} +0 -0
  107. /package/dist/{chunk-wem5vqjw.js.map → chunk-8x74221e.js.map} +0 -0
  108. /package/dist/{chunk-wd34wnsy.js.map → chunk-a7ne02hk.js.map} +0 -0
  109. /package/dist/{chunk-bxx3ms5t.js.map → chunk-b9y8hcm2.js.map} +0 -0
  110. /package/dist/{chunk-mmac1mp6.js.map → chunk-chdg6eqq.js.map} +0 -0
  111. /package/dist/{chunk-6q7c68yx.js.map → chunk-cq44v1a6.js.map} +0 -0
  112. /package/dist/{chunk-adbve9zt.js.map → chunk-cxj8y8t0.js.map} +0 -0
  113. /package/dist/{chunk-p0nbkys4.js.map → chunk-dp7yk20b.js.map} +0 -0
  114. /package/dist/{chunk-1jvq82rp.js.map → chunk-dsv8kdgk.js.map} +0 -0
  115. /package/dist/{chunk-dsfw1bdr.js.map → chunk-f72rbvsb.js.map} +0 -0
  116. /package/dist/{chunk-vef6qa14.js.map → chunk-gmdvns8f.js.map} +0 -0
  117. /package/dist/{chunk-z708gemf.js.map → chunk-h4138ww2.js.map} +0 -0
  118. /package/dist/{chunk-yfppyaty.js.map → chunk-h866d223.js.map} +0 -0
  119. /package/dist/{chunk-7jc21943.js.map → chunk-kttr5ftm.js.map} +0 -0
  120. /package/dist/{chunk-py2dw8cw.js.map → chunk-kvysp909.js.map} +0 -0
  121. /package/dist/{chunk-ffwvdgk1.js.map → chunk-nj0020ay.js.map} +0 -0
  122. /package/dist/{chunk-y0zmae99.js.map → chunk-nkbev3tr.js.map} +0 -0
  123. /package/dist/{chunk-r5sc1d2b.js.map → chunk-nvymebc1.js.map} +0 -0
  124. /package/dist/{chunk-2fv8sajb.js.map → chunk-qnd7ehe5.js.map} +0 -0
  125. /package/dist/{chunk-n5t4mq6z.js.map → chunk-sbcm1b92.js.map} +0 -0
  126. /package/dist/{chunk-d8yes9yx.js.map → chunk-swxzncrv.js.map} +0 -0
  127. /package/dist/{chunk-drz59ve0.js.map → chunk-tkdbge6v.js.map} +0 -0
  128. /package/dist/{chunk-ky7zpbtt.js.map → chunk-tnvafr7g.js.map} +0 -0
  129. /package/dist/{chunk-dqkd3kdj.js.map → chunk-vjqt7q3a.js.map} +0 -0
  130. /package/dist/{chunk-a4g5yjm0.js.map → chunk-vsvrv7n8.js.map} +0 -0
  131. /package/dist/{chunk-q3grgzp1.js.map → chunk-zb47r1c8.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  createTrustedPrimitiveRuntimeAuthorization,
4
4
  getAuthorizationRef,
5
5
  resolveExecutionScopeAuthorization
6
- } from "./chunk-8fjmqjyx.js";
6
+ } from "./chunk-69kt9q43.js";
7
7
  import {
8
8
  ExecutionStorageError2
9
9
  } from "./chunk-tw03bsmb.js";
@@ -10,7 +10,7 @@ import {
10
10
  isAllowed2,
11
11
  assertAuthorized2,
12
12
  canViewActionRun2
13
- } from "./chunk-8fjmqjyx.js";
13
+ } from "./chunk-69kt9q43.js";
14
14
  import {
15
15
  ActionRunTimeoutError2,
16
16
  createSixbError2,
@@ -19,10 +19,10 @@ import {
19
19
  import {
20
20
  collectUserRefIds,
21
21
  userReferenceProblem
22
- } from "./chunk-d8yes9yx.js";
22
+ } from "./chunk-swxzncrv.js";
23
23
  import {
24
24
  isObjectRefSchema2
25
- } from "./chunk-drz59ve0.js";
25
+ } from "./chunk-tkdbge6v.js";
26
26
  import {
27
27
  ACTION_RUN_FAILURE_CODES2,
28
28
  parseActionRunFailure2
@@ -35,10 +35,10 @@ import {
35
35
  normalizeActionParams,
36
36
  validateActionSubject,
37
37
  resolveObjectActionSubject
38
- } from "./chunk-qne45xqq.js";
38
+ } from "./chunk-2xvgy3x5.js";
39
39
  import {
40
40
  snapshotVectorProfiles
41
- } from "./chunk-3nx8vj5a.js";
41
+ } from "./chunk-zvmr2hqk.js";
42
42
  import {
43
43
  validateObjectQuery2,
44
44
  validateObjectQueryWithAdmission,
@@ -49,7 +49,7 @@ import {
49
49
  validateObjectFacetRequests,
50
50
  preflightObjectQueryLinks,
51
51
  executeObjectQueryLinks2
52
- } from "./chunk-3c90jvfj.js";
52
+ } from "./chunk-h044jb97.js";
53
53
  import {
54
54
  reportRunFailure2
55
55
  } from "./chunk-vjcd8d27.js";
@@ -60,7 +60,7 @@ import {
60
60
  executionRecordInputFromRuntime,
61
61
  ensureExecutionRecord2,
62
62
  createPrimitiveExecutionRecord
63
- } from "./chunk-8w27xf9e.js";
63
+ } from "./chunk-7g2gjvah.js";
64
64
  import {
65
65
  actionSubjectsEqual2,
66
66
  actionRunParamsEqual2,
@@ -7,16 +7,16 @@ import {
7
7
  ShareDefinitionError2,
8
8
  isShareDefinition,
9
9
  snapshotShareDefinition
10
- } from "./chunk-qne45xqq.js";
10
+ } from "./chunk-2xvgy3x5.js";
11
11
  import {
12
12
  isProjectionDefinition2
13
- } from "./chunk-8fjmqjyx.js";
13
+ } from "./chunk-69kt9q43.js";
14
14
  import {
15
15
  isDatasetDefinition2
16
16
  } from "./chunk-cd234ba4.js";
17
17
  import {
18
18
  isPipelineDefinition2
19
- } from "./chunk-yfppyaty.js";
19
+ } from "./chunk-h866d223.js";
20
20
  import {
21
21
  assertPredicateShape,
22
22
  createPropertyPredicateBuilder,
@@ -28,13 +28,13 @@ import {
28
28
  } from "./chunk-e1c18xjx.js";
29
29
  import {
30
30
  isSyncDefinition2
31
- } from "./chunk-q3grgzp1.js";
31
+ } from "./chunk-zb47r1c8.js";
32
32
  import {
33
33
  isWorkflowDefinition2
34
- } from "./chunk-2tz5vnvz.js";
34
+ } from "./chunk-3q7z9hd4.js";
35
35
  import {
36
36
  compileShareAccessPlan
37
- } from "./chunk-adbve9zt.js";
37
+ } from "./chunk-cxj8y8t0.js";
38
38
  import {
39
39
  isConnectorDefinition
40
40
  } from "./chunk-9x8dybsb.js";
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  defineLanguageModel2
4
- } from "./chunk-ky7zpbtt.js";
4
+ } from "./chunk-tnvafr7g.js";
5
5
  import {
6
6
  ModelCatalogUnavailableError2
7
- } from "./chunk-p1683c0v.js";
7
+ } from "./chunk-kyjcwqz6.js";
8
8
 
9
9
  // src/models/resolve.ts
10
10
  async function resolveLanguageModel2(binding) {
@@ -4,11 +4,11 @@ import {
4
4
  createAiModelCallLimitController2,
5
5
  AiModelCallRecorder2,
6
6
  enqueueAiModelCallRecovery2
7
- } from "./chunk-py2dw8cw.js";
7
+ } from "./chunk-kvysp909.js";
8
8
  import {
9
9
  executionRecordInputFromRuntime,
10
10
  ensureExecutionRecord2
11
- } from "./chunk-8w27xf9e.js";
11
+ } from "./chunk-7g2gjvah.js";
12
12
 
13
13
  // src/models/execution/session.ts
14
14
  class ModelExecutionSession {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  ProjectionValidationError2
4
- } from "./chunk-8fjmqjyx.js";
4
+ } from "./chunk-69kt9q43.js";
5
5
  import {
6
6
  sha256Canonical2
7
7
  } from "./chunk-g4rbm4a6.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-4wn7bxxa.js";
13
13
  import {
14
14
  createPrimitiveExecutionRecord
15
- } from "./chunk-8w27xf9e.js";
15
+ } from "./chunk-7g2gjvah.js";
16
16
  import {
17
17
  findPrimitiveRunExecution
18
18
  } from "./chunk-ey1nk510.js";
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  isPrimitiveSchema,
4
4
  primitiveTraits
5
- } from "./chunk-d8yes9yx.js";
5
+ } from "./chunk-swxzncrv.js";
6
6
  import {
7
7
  ShareDefinitionError2,
8
8
  snapshotShareDefinition
9
- } from "./chunk-qne45xqq.js";
9
+ } from "./chunk-2xvgy3x5.js";
10
10
  import {
11
11
  snapshotShareAccessPlan
12
12
  } from "./chunk-br3k6qbf.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  principalsEqual2
4
- } from "./chunk-qne45xqq.js";
4
+ } from "./chunk-2xvgy3x5.js";
5
5
  import {
6
6
  createFileUploadId2,
7
7
  isFileUploadSessionExpired,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  assertPropertyTokenBelongsToObjectType2,
4
4
  assertTelemetryProperty2
5
- } from "./chunk-d8yes9yx.js";
5
+ } from "./chunk-swxzncrv.js";
6
6
  import {
7
7
  lowerEditBatch2
8
8
  } from "./chunk-wr8qp979.js";
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-7ytf06d3.js";
14
14
  import {
15
15
  createLinkScopeFingerprint2
16
- } from "./chunk-z708gemf.js";
16
+ } from "./chunk-h4138ww2.js";
17
17
  import {
18
18
  ActionValidationError2
19
19
  } from "./chunk-6fsr7y93.js";
@@ -24,7 +24,7 @@ import {
24
24
  effectsWithoutEditsMessage,
25
25
  assertNonEmpty2,
26
26
  isObjectActionDefinition2
27
- } from "./chunk-qne45xqq.js";
27
+ } from "./chunk-2xvgy3x5.js";
28
28
  import {
29
29
  decorateObjectQueryExecutor
30
30
  } from "./chunk-k4kkp58d.js";
@@ -7,14 +7,14 @@ import {
7
7
  import {
8
8
  validateSchemaValue2,
9
9
  normalizeSchemaValue2
10
- } from "./chunk-d8yes9yx.js";
10
+ } from "./chunk-swxzncrv.js";
11
11
  import {
12
12
  AgentDefinitionError2,
13
13
  AgentToolResultValidationError2
14
14
  } from "./chunk-dmn70ztd.js";
15
15
  import {
16
16
  assertValidSchema
17
- } from "./chunk-ffwvdgk1.js";
17
+ } from "./chunk-nj0020ay.js";
18
18
  import {
19
19
  OntologyValidationError2
20
20
  } from "./chunk-cqr3acm1.js";
@@ -9,23 +9,23 @@ import {
9
9
  } from "./chunk-vjcd8d27.js";
10
10
  import {
11
11
  createKernelRuntimeAuthorization
12
- } from "./chunk-8fjmqjyx.js";
12
+ } from "./chunk-69kt9q43.js";
13
13
  import {
14
14
  estimateModelCall
15
- } from "./chunk-ky7zpbtt.js";
15
+ } from "./chunk-tnvafr7g.js";
16
16
  import {
17
17
  vectorConfiguration,
18
18
  vectorSources,
19
19
  normalizeVector2,
20
20
  VECTOR_INDEXING_FAILURE_CODES2
21
- } from "./chunk-fjw417jf.js";
21
+ } from "./chunk-6z1q7j19.js";
22
22
  import {
23
23
  ModelExecutionSession
24
- } from "./chunk-mmac1mp6.js";
24
+ } from "./chunk-chdg6eqq.js";
25
25
  import {
26
26
  executionRecordInputFromRuntime,
27
27
  ensureExecutionRecord2
28
- } from "./chunk-8w27xf9e.js";
28
+ } from "./chunk-7g2gjvah.js";
29
29
  import {
30
30
  MaterializationConflictError2
31
31
  } from "./chunk-96yw3pwd.js";
@@ -33,7 +33,7 @@ import {
33
33
  assertEmbeddingModel,
34
34
  sameEmbeddingModel,
35
35
  EmbeddingModelResponseError2
36
- } from "./chunk-p1683c0v.js";
36
+ } from "./chunk-kyjcwqz6.js";
37
37
 
38
38
  // src/objects/vectors/indexing-shared.ts
39
39
  import { randomUUID } from "crypto";
@@ -193,6 +193,10 @@ async function executeEmbedding(session, binding, input) {
193
193
  throw new TypeError("[SixbModels] Embedding inputs must be nonempty strings.");
194
194
  }
195
195
  const texts = [...input.texts];
196
+ const purpose = input.purpose;
197
+ if (purpose !== undefined && purpose !== "document" && purpose !== "query") {
198
+ throw new TypeError("[SixbModels] Embedding purpose must be 'document' or 'query'.");
199
+ }
196
200
  const signal = session.signal(input.signal);
197
201
  const requestSignal = AbortSignal.any([signal, AbortSignal.timeout(30000)]);
198
202
  requestSignal.throwIfAborted();
@@ -220,7 +224,7 @@ async function executeEmbedding(session, binding, input) {
220
224
  let result;
221
225
  try {
222
226
  requestSignal.throwIfAborted();
223
- result = await model.embed({ texts, signal: requestSignal });
227
+ result = await model.embed({ texts, purpose, signal: requestSignal });
224
228
  } catch (error) {
225
229
  if (error instanceof EmbeddingModelResponseError2) {
226
230
  await recordEmbedding(accounting, model, callId, error.metadata);
@@ -273,7 +277,11 @@ async function generateVectors(runtime, entries, scope, attempt, signal) {
273
277
  if (!model || !sameEmbeddingModel(model, profile.model)) {
274
278
  throw createSixbError2("vector.model_unavailable", "[Sixb] Vector indexing requires the profile's configured embedding model.");
275
279
  }
276
- const result = await model.embed({ texts: entries.map((entry) => entry.input.text), signal });
280
+ const result = await model.embed({
281
+ texts: entries.map((entry) => entry.input.text),
282
+ purpose: "document",
283
+ signal
284
+ });
277
285
  const values = normalizeEmbeddingResult(result, entries.length, profile.model.definition.dimensions);
278
286
  await runtime.storage.ontology.vectorIndexing.updateBatch({
279
287
  projectId: runtime.projectId,
@@ -549,4 +557,4 @@ function getVectorIndexingRuntime2(host) {
549
557
 
550
558
  export { bindEmbeddingModels, VectorIndexingDeferred2, createVectorIndexingRuntime, registerVectorIndexingRuntime, getVectorIndexingRuntime2 };
551
559
 
552
- //# debugId=01D0910D8E4A772E64756E2164756E21
560
+ //# debugId=B3DAC5AAE8C25E2B64756E2164756E21
@@ -3,15 +3,15 @@
3
3
  "sources": ["../src/objects/vectors/indexing-shared.ts", "../src/models/execution/embedding.ts", "../src/objects/vectors/indexing-generate.ts", "../src/objects/vectors/indexing-single.ts", "../src/objects/vectors/indexing-store-batch.ts", "../src/objects/vectors/indexing-batch.ts", "../src/objects/vectors/indexing.ts", "../src/objects/vectors/indexing-runtime.ts"],
4
4
  "sourcesContent": [
5
5
  "import { randomUUID } from \"node:crypto\"\nimport { reportVectorIndexingFailure } from \"../../error-reporting/capability\"\nimport { captureSixbFailure } from \"../../errors/internal\"\nimport { createKernelRuntimeAuthorization } from \"../../execution/authorization\"\nimport { ensureExecutionRecord, executionRecordInputFromRuntime } from \"../../execution/durable\"\nimport type { ExecutionContext, ExecutionScope } from \"../../execution/types\"\nimport { MaterializationConflictError } from \"../../materialization/errors\"\nimport type { ObjectVectorWrite, PreparedObjectVector } from \"../../materialization/vectors\"\nimport type { OntologyMaterializerContract } from \"../../materializer/materializer\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport {\n type OntologyVectorIndexingStorage,\n VECTOR_INDEXING_FAILURE_CODES,\n type VectorIndexingWork,\n} from \"../../storage/ontology/vector-indexing\"\nimport { vectorConfiguration, vectorSources } from \"./profile\"\n\n/** Return null when the requested representation is obsolete or already stored. */\nexport async function prepare(\n runtime: SixbHostContext,\n work: VectorIndexingWork\n): Promise<PreparedObjectVector | null> {\n const profile = runtime.ontology.getObjectTypeById(work.ref.objectTypeId)?.search?.vectors?.[\n work.profile\n ]\n if (!profile || vectorConfiguration(profile) !== work.configuration) return null\n\n const row = await runtime.storage.objects.getByPrimaryId({\n projectId: runtime.projectId,\n ...work.ref,\n })\n if (!row) return null\n\n const sources = vectorSources(profile.source, row.properties)\n if (sources.sourceFingerprint !== work.sourceFingerprint) return null\n\n const storedVectors = await runtime.storage.ontology.vectors!.list({\n projectId: runtime.projectId,\n ref: work.ref,\n })\n const currentVector = storedVectors.find((entry) => entry.profile === work.profile)\n const alreadyIndexed =\n currentVector?.configuration === work.configuration &&\n currentVector.sourceFingerprint === work.sourceFingerprint\n\n if (alreadyIndexed) return null\n\n return {\n projectId: runtime.projectId,\n ref: work.ref,\n profile: work.profile,\n configuration: work.configuration,\n ...sources,\n expectedObject: {\n ref: work.ref,\n exists: true,\n version: row.version,\n lastCommitId: row.lastCommitId,\n },\n expectedVectorCommitId: currentVector?.lastCommitId ?? null,\n }\n}\n\nexport async function storeVector(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract,\n work: VectorIndexingWork,\n scope: ExecutionScope,\n signal: AbortSignal\n): Promise<void> {\n const indexing = runtime.storage.ontology.vectorIndexing!\n const identity = { projectId: runtime.projectId, id: work.id }\n\n // Unrelated property changes renew the object fence without repeating a paid inference.\n for (let attempt = 0; attempt < 3; attempt++) {\n signal.throwIfAborted()\n const prepared = await prepare(runtime, work)\n\n if (!prepared) {\n await indexing.remove(identity)\n return\n }\n\n try {\n await commitPreparedVectors(materializer, scope, [{ input: prepared, values: work.values! }])\n await indexing.remove(identity)\n return\n } catch (error) {\n if (!(error instanceof MaterializationConflictError)) throw error\n\n const currentWork = await indexing.get(identity)\n if (!currentWork) return\n }\n }\n\n throw new VectorIndexingDeferred(new Date(Date.now() + 1000).toISOString())\n}\n\nexport async function commitPreparedVectors(\n materializer: OntologyMaterializerContract,\n scope: ExecutionScope,\n writes: readonly ObjectVectorWrite[]\n): Promise<void> {\n await materializer.edits.commit({\n scope,\n input: {\n mode: \"atomic\",\n source: { kind: \"runtime\", requestId: randomUUID() },\n operations: [],\n vectorWrites: writes,\n expectedObjects: writes.map((write) => write.input.expectedObject),\n expectedLinks: [],\n expectedLinkScopes: [],\n },\n })\n}\n\nexport async function indexingScope(\n runtime: SixbHostContext,\n work: VectorIndexingWork,\n indexingId = work.id\n): Promise<ExecutionScope> {\n const operation = { type: \"ontology.indexVectors\", indexingId } as const\n const execution: ExecutionContext = {\n id: `exec_vector_${indexingId}`,\n projectId: runtime.projectId,\n executor: { type: \"kernel\", operation },\n source: { type: \"ontologyCommit\", commitId: work.sourceCommitId },\n correlationId: `vector_${indexingId}`,\n }\n const authorization = createKernelRuntimeAuthorization({ execution, operation })\n\n await ensureExecutionRecord(runtime.storage.executions, {\n ...executionRecordInputFromRuntime({ execution, runtimeAuthorization: authorization }),\n requesterGroupIds: [],\n })\n\n return { execution, authorization }\n}\n\nexport async function fail(\n runtime: SixbHostContext,\n indexing: OntologyVectorIndexingStorage,\n work: VectorIndexingWork,\n error: unknown\n): Promise<void> {\n const failure = captureSixbFailure(error, {\n allowedCodes: VECTOR_INDEXING_FAILURE_CODES,\n defaultCode: \"internal.unexpected\",\n })\n\n const recorded = await indexing.update({\n projectId: runtime.projectId,\n id: work.id,\n expectedStatus: work.status,\n status: \"failed\",\n availableAt: new Date().toISOString(),\n error: failure,\n })\n\n if (!recorded) return\n\n reportVectorIndexingFailure(runtime, error, {\n projectId: runtime.projectId,\n indexingId: work.id,\n failure,\n ...work.ref,\n profile: work.profile,\n })\n}\n\nexport function retryAt(details: unknown): string {\n const resetAt =\n details && typeof details === \"object\" && \"resetAt\" in details ? details.resetAt : undefined\n const resetTimestamp = typeof resetAt === \"string\" ? Date.parse(resetAt) : Number.NaN\n\n const minimumRetryTimestamp = Date.now() + 60_000\n const budgetResetTimestamp = Number.isFinite(resetTimestamp) ? resetTimestamp : 0\n const retryTimestamp = Math.max(minimumRetryTimestamp, budgetResetTimestamp)\n\n return new Date(retryTimestamp).toISOString()\n}\n\nexport class VectorIndexingDeferred extends Error {\n constructor(readonly availableAt: string) {\n super(\"[Sixb] Vector indexing is deferred.\")\n }\n}\n",
6
- "import { randomUUID } from \"node:crypto\"\nimport type { EmbeddingModelCatalog, EmbeddingModelEntry, ModelRef } from \"../catalog\"\nimport {\n assertEmbeddingModel,\n type EmbeddingModel,\n type EmbeddingModelRequest,\n EmbeddingModelResponseError,\n type EmbeddingModelResponseMetadata,\n type EmbeddingModelResult,\n sameEmbeddingModel,\n} from \"../embedding-model\"\nimport { estimateModelCall } from \"../pricing\"\nimport type { AiModelCallRecorder } from \"./model-call-recorder\"\nimport type { ModelExecutionSession } from \"./session\"\n\n/** Scope the configured bindings without changing profile identity or object permissions. */\nexport function bindEmbeddingModels(\n catalog: EmbeddingModelCatalog | undefined,\n session: ModelExecutionSession\n): EmbeddingModelCatalog | undefined {\n if (!catalog) return undefined\n const entries: readonly EmbeddingModelEntry[] = Object.freeze(\n catalog.list().map((entry) =>\n Object.freeze({\n ...entry,\n model: Object.freeze({\n providerId: entry.model.providerId,\n modelId: entry.model.modelId,\n definition: entry.model.definition,\n batching: entry.model.batching && Object.freeze({ ...entry.model.batching }),\n embed: (input: EmbeddingModelRequest) => executeEmbedding(session, entry.model, input),\n }),\n })\n )\n )\n const byRef = new Map(\n entries.map((entry) => [JSON.stringify([entry.provider, entry.modelId]), entry])\n )\n return Object.freeze({\n list: () => entries,\n getByRef: (ref: ModelRef) => byRef.get(JSON.stringify([ref.provider, ref.modelId])) ?? null,\n })\n}\n\nasync function executeEmbedding(\n session: ModelExecutionSession,\n binding: EmbeddingModel,\n input: EmbeddingModelRequest\n) {\n if (\n !Array.isArray(input.texts) ||\n input.texts.some((text) => typeof text !== \"string\" || !text.trim())\n ) {\n throw new TypeError(\"[SixbModels] Embedding inputs must be nonempty strings.\")\n }\n const texts = [...input.texts]\n const signal = session.signal(input.signal)\n const requestSignal = AbortSignal.any([signal, AbortSignal.timeout(30_000)])\n requestSignal.throwIfAborted()\n if (!texts.length) return { vectors: [] }\n\n const accounting = await session.accounting()\n accounting.assertHealthy()\n const model = (await binding.resolve?.()) ?? binding\n assertEmbeddingModel(model)\n if (!sameEmbeddingModel(model, binding)) {\n throw new TypeError(\n \"[SixbModels] Resolved embedding model identity does not match the selected model.\"\n )\n }\n requestSignal.throwIfAborted()\n const callId = `call_${randomUUID()}`\n const tokens = texts.reduce(\n (sum, text) => sum + Math.ceil(new TextEncoder().encode(text).byteLength / 4),\n 0\n )\n await session.admitEmbeddingCall(() =>\n accounting.admitCall({\n callId,\n providerId: model.providerId,\n modelId: model.modelId,\n costEstimator: model.costEstimator,\n inputTokens: { status: \"estimated\", tokens, method: \"utf8BytesDividedByFour\" },\n outputTokenAllowance: 0,\n estimatedTotalTokens: tokens,\n })\n )\n\n let result: EmbeddingModelResult\n try {\n requestSignal.throwIfAborted()\n result = await model.embed({ texts, signal: requestSignal })\n } catch (error) {\n if (error instanceof EmbeddingModelResponseError) {\n await recordEmbedding(accounting, model, callId, error.metadata)\n } else {\n // The provider may have accepted the request. Never retry inference or release its budget.\n await recordEmbedding(accounting, model, callId, {})\n }\n throw error\n }\n // Account before cancellation, vector validation or the materializer's optimistic write.\n await recordEmbedding(accounting, model, callId, result ?? {})\n requestSignal.throwIfAborted()\n return result\n}\n\nasync function recordEmbedding(\n accounting: AiModelCallRecorder,\n model: EmbeddingModel,\n callId: string,\n metadata: EmbeddingModelResponseMetadata\n): Promise<void> {\n // Embeddings produce no output tokens; missing INPUT usage must remain unknown.\n const usage = { ...metadata.usage, outputTokens: 0 }\n const estimate = estimateModelCall(model, {\n usage,\n route: metadata.route,\n responseModelId: metadata.responseModelId,\n })\n await accounting.onModelCallEnd({\n callId,\n providerId: model.providerId,\n modelId: model.modelId,\n responseId: metadata.providerIds?.responseId ?? callId,\n responseModelId: metadata.responseModelId,\n providerIds: metadata.providerIds,\n usage,\n cost: metadata.reportedCost ? { status: \"reported\", ...metadata.reportedCost } : estimate,\n ...(metadata.reportedCost ? { estimate } : {}),\n route: metadata.route,\n })\n}\n",
7
- "import { createSixbError, isSixbError } from \"../../errors/internal\"\nimport type { ExecutionScope } from \"../../execution/types\"\nimport type { PreparedObjectVector } from \"../../materialization/vectors\"\nimport {\n EmbeddingModelResponseError,\n type EmbeddingModelResult,\n sameEmbeddingModel,\n} from \"../../models/embedding-model\"\nimport { bindEmbeddingModels } from \"../../models/execution/embedding\"\nimport { ModelExecutionSession } from \"../../models/execution/session\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport type { VectorIndexingWork } from \"../../storage/ontology/vector-indexing\"\nimport { fail, retryAt, VectorIndexingDeferred } from \"./indexing-shared\"\nimport { normalizeVector } from \"./profile\"\n\nexport interface PreparedIndexingWork {\n readonly work: VectorIndexingWork\n readonly input: PreparedObjectVector\n}\n\ninterface GenerationAttempt {\n readonly runtime: SixbHostContext\n readonly entries: readonly PreparedIndexingWork[]\n readonly signal: AbortSignal\n /** Running means the durable claim succeeded; budget admission may still be pending. */\n phase: \"pending\" | \"claiming\" | \"running\"\n}\n\n/** One accounted provider call, with durable admission and atomic result persistence. */\nexport async function generateVectors(\n runtime: SixbHostContext,\n entries: readonly PreparedIndexingWork[],\n scope: ExecutionScope,\n attempt: number,\n signal: AbortSignal\n): Promise<void> {\n const first = entries[0]!\n const profile = runtime.ontology.resolveObjectType(first.work.ref.objectTypeId).search!.vectors![\n first.work.profile\n ]!\n const generation: GenerationAttempt = { runtime, entries, signal, phase: \"pending\" }\n\n const session = new ModelExecutionSession(\n { ...runtime, runtimeAuthorization: scope.authorization },\n scope.execution\n )\n session.bind({\n attempt,\n signal,\n embeddingAdmission: (admit) => admitGeneration(generation, admit),\n })\n\n try {\n const model = bindEmbeddingModels(runtime.embeddingModels, session)?.getByRef({\n provider: profile.model.providerId,\n modelId: profile.model.modelId,\n })?.model\n\n if (!model || !sameEmbeddingModel(model, profile.model)) {\n throw createSixbError(\n \"vector.model_unavailable\",\n \"[Sixb] Vector indexing requires the profile's configured embedding model.\"\n )\n }\n\n const result = await model.embed({ texts: entries.map((entry) => entry.input.text), signal })\n const values = normalizeEmbeddingResult(\n result,\n entries.length,\n profile.model.definition.dimensions\n )\n\n // Persist every surviving result atomically before any vector is published.\n await runtime.storage.ontology.vectorIndexing!.updateBatch({\n projectId: runtime.projectId,\n updates: entries.map(({ work }, index) => ({\n id: work.id,\n expectedStatus: \"running\",\n status: \"ready\",\n values: values[index]!,\n availableAt: new Date().toISOString(),\n })),\n })\n } catch (error) {\n await handleGenerationFailure(generation, error)\n }\n}\n\nasync function admitGeneration(\n generation: GenerationAttempt,\n admit: () => Promise<void>\n): Promise<void> {\n generation.signal.throwIfAborted()\n generation.phase = \"claiming\"\n\n const claimed = await transitionWork(generation, \"pending\", \"running\", { requireAll: true })\n generation.phase = claimed ? \"running\" : \"pending\"\n\n if (!claimed) {\n if (generation.entries.length === 1) {\n throw new Error(\"[Sixb] Vector indexing request was superseded.\")\n }\n throw new VectorIndexingDeferred(new Date().toISOString())\n }\n\n try {\n await admit()\n } catch (error) {\n await transitionWork(generation, \"running\", \"pending\")\n generation.phase = \"pending\"\n throw error\n }\n}\n\nfunction normalizeEmbeddingResult(\n result: EmbeddingModelResult,\n count: number,\n dimensions: number\n): readonly (readonly number[])[] {\n try {\n if (!Array.isArray(result?.vectors) || result.vectors.length !== count) {\n throw new Error(\"Unexpected vector count\")\n }\n\n return result.vectors.map((vector) => normalizeVector(vector, dimensions))\n } catch (cause) {\n throw createSixbError(\"vector.response_invalid\", \"[Sixb] Invalid embedding batch response.\", {\n cause,\n })\n }\n}\n\nasync function handleGenerationFailure(\n generation: GenerationAttempt,\n error: unknown\n): Promise<void> {\n // No provider call can start while the storage claim is unresolved. Retry delivery,\n // not inference; an ambiguously committed claim will be fenced as running on redelivery.\n if (generation.phase === \"claiming\" || error instanceof VectorIndexingDeferred) {\n throw error\n }\n\n if (generation.phase === \"pending\") {\n if (\n isSixbError(error) &&\n (error.code === \"ai.usage_limit_exceeded\" || error.code === \"ai.usage_limit_unavailable\")\n ) {\n const availableAt = retryAt(error.details)\n await transitionWork(generation, \"pending\", \"pending\", { availableAt })\n throw new VectorIndexingDeferred(availableAt)\n }\n\n if (generation.signal.aborted) throw error\n }\n\n const failure =\n error instanceof EmbeddingModelResponseError\n ? createSixbError(\"vector.response_invalid\", \"[Sixb] Invalid embedding batch response.\", {\n cause: error,\n })\n : error\n const { runtime, entries } = generation\n const indexing = runtime.storage.ontology.vectorIndexing!\n\n for (const { work } of entries) {\n await fail(runtime, indexing, { ...work, status: generation.phase }, failure)\n }\n}\n\nfunction transitionWork(\n generation: GenerationAttempt,\n expectedStatus: VectorIndexingWork[\"status\"],\n status: VectorIndexingWork[\"status\"],\n options: { availableAt?: string; requireAll?: boolean } = {}\n): Promise<boolean> {\n const { runtime, entries } = generation\n const availableAt = options.availableAt ?? new Date().toISOString()\n\n return runtime.storage.ontology.vectorIndexing!.updateBatch({\n projectId: runtime.projectId,\n requireAll: options.requireAll ?? false,\n updates: entries.map(({ work }) => ({ id: work.id, expectedStatus, status, availableAt })),\n })\n}\n",
6
+ "import { randomUUID } from \"node:crypto\"\nimport type { EmbeddingModelCatalog, EmbeddingModelEntry, ModelRef } from \"../catalog\"\nimport {\n assertEmbeddingModel,\n type EmbeddingModel,\n type EmbeddingModelRequest,\n EmbeddingModelResponseError,\n type EmbeddingModelResponseMetadata,\n type EmbeddingModelResult,\n sameEmbeddingModel,\n} from \"../embedding-model\"\nimport { estimateModelCall } from \"../pricing\"\nimport type { AiModelCallRecorder } from \"./model-call-recorder\"\nimport type { ModelExecutionSession } from \"./session\"\n\n/** Scope the configured bindings without changing profile identity or object permissions. */\nexport function bindEmbeddingModels(\n catalog: EmbeddingModelCatalog | undefined,\n session: ModelExecutionSession\n): EmbeddingModelCatalog | undefined {\n if (!catalog) return undefined\n const entries: readonly EmbeddingModelEntry[] = Object.freeze(\n catalog.list().map((entry) =>\n Object.freeze({\n ...entry,\n model: Object.freeze({\n providerId: entry.model.providerId,\n modelId: entry.model.modelId,\n definition: entry.model.definition,\n batching: entry.model.batching && Object.freeze({ ...entry.model.batching }),\n embed: (input: EmbeddingModelRequest) => executeEmbedding(session, entry.model, input),\n }),\n })\n )\n )\n const byRef = new Map(\n entries.map((entry) => [JSON.stringify([entry.provider, entry.modelId]), entry])\n )\n return Object.freeze({\n list: () => entries,\n getByRef: (ref: ModelRef) => byRef.get(JSON.stringify([ref.provider, ref.modelId])) ?? null,\n })\n}\n\nasync function executeEmbedding(\n session: ModelExecutionSession,\n binding: EmbeddingModel,\n input: EmbeddingModelRequest\n) {\n if (\n !Array.isArray(input.texts) ||\n input.texts.some((text) => typeof text !== \"string\" || !text.trim())\n ) {\n throw new TypeError(\"[SixbModels] Embedding inputs must be nonempty strings.\")\n }\n const texts = [...input.texts]\n const purpose = input.purpose\n if (purpose !== undefined && purpose !== \"document\" && purpose !== \"query\") {\n throw new TypeError(\"[SixbModels] Embedding purpose must be 'document' or 'query'.\")\n }\n const signal = session.signal(input.signal)\n const requestSignal = AbortSignal.any([signal, AbortSignal.timeout(30_000)])\n requestSignal.throwIfAborted()\n if (!texts.length) return { vectors: [] }\n\n const accounting = await session.accounting()\n accounting.assertHealthy()\n const model = (await binding.resolve?.()) ?? binding\n assertEmbeddingModel(model)\n if (!sameEmbeddingModel(model, binding)) {\n throw new TypeError(\n \"[SixbModels] Resolved embedding model identity does not match the selected model.\"\n )\n }\n requestSignal.throwIfAborted()\n const callId = `call_${randomUUID()}`\n const tokens = texts.reduce(\n (sum, text) => sum + Math.ceil(new TextEncoder().encode(text).byteLength / 4),\n 0\n )\n await session.admitEmbeddingCall(() =>\n accounting.admitCall({\n callId,\n providerId: model.providerId,\n modelId: model.modelId,\n costEstimator: model.costEstimator,\n inputTokens: { status: \"estimated\", tokens, method: \"utf8BytesDividedByFour\" },\n outputTokenAllowance: 0,\n estimatedTotalTokens: tokens,\n })\n )\n\n let result: EmbeddingModelResult\n try {\n requestSignal.throwIfAborted()\n result = await model.embed({ texts, purpose, signal: requestSignal })\n } catch (error) {\n if (error instanceof EmbeddingModelResponseError) {\n await recordEmbedding(accounting, model, callId, error.metadata)\n } else {\n // The provider may have accepted the request. Never retry inference or release its budget.\n await recordEmbedding(accounting, model, callId, {})\n }\n throw error\n }\n // Account before cancellation, vector validation or the materializer's optimistic write.\n await recordEmbedding(accounting, model, callId, result ?? {})\n requestSignal.throwIfAborted()\n return result\n}\n\nasync function recordEmbedding(\n accounting: AiModelCallRecorder,\n model: EmbeddingModel,\n callId: string,\n metadata: EmbeddingModelResponseMetadata\n): Promise<void> {\n // Embeddings produce no output tokens; missing INPUT usage must remain unknown.\n const usage = { ...metadata.usage, outputTokens: 0 }\n const estimate = estimateModelCall(model, {\n usage,\n route: metadata.route,\n responseModelId: metadata.responseModelId,\n })\n await accounting.onModelCallEnd({\n callId,\n providerId: model.providerId,\n modelId: model.modelId,\n responseId: metadata.providerIds?.responseId ?? callId,\n responseModelId: metadata.responseModelId,\n providerIds: metadata.providerIds,\n usage,\n cost: metadata.reportedCost ? { status: \"reported\", ...metadata.reportedCost } : estimate,\n ...(metadata.reportedCost ? { estimate } : {}),\n route: metadata.route,\n })\n}\n",
7
+ "import { createSixbError, isSixbError } from \"../../errors/internal\"\nimport type { ExecutionScope } from \"../../execution/types\"\nimport type { PreparedObjectVector } from \"../../materialization/vectors\"\nimport {\n EmbeddingModelResponseError,\n type EmbeddingModelResult,\n sameEmbeddingModel,\n} from \"../../models/embedding-model\"\nimport { bindEmbeddingModels } from \"../../models/execution/embedding\"\nimport { ModelExecutionSession } from \"../../models/execution/session\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport type { VectorIndexingWork } from \"../../storage/ontology/vector-indexing\"\nimport { fail, retryAt, VectorIndexingDeferred } from \"./indexing-shared\"\nimport { normalizeVector } from \"./profile\"\n\nexport interface PreparedIndexingWork {\n readonly work: VectorIndexingWork\n readonly input: PreparedObjectVector\n}\n\ninterface GenerationAttempt {\n readonly runtime: SixbHostContext\n readonly entries: readonly PreparedIndexingWork[]\n readonly signal: AbortSignal\n /** Running means the durable claim succeeded; budget admission may still be pending. */\n phase: \"pending\" | \"claiming\" | \"running\"\n}\n\n/** One accounted provider call, with durable admission and atomic result persistence. */\nexport async function generateVectors(\n runtime: SixbHostContext,\n entries: readonly PreparedIndexingWork[],\n scope: ExecutionScope,\n attempt: number,\n signal: AbortSignal\n): Promise<void> {\n const first = entries[0]!\n const profile = runtime.ontology.resolveObjectType(first.work.ref.objectTypeId).search!.vectors![\n first.work.profile\n ]!\n const generation: GenerationAttempt = { runtime, entries, signal, phase: \"pending\" }\n\n const session = new ModelExecutionSession(\n { ...runtime, runtimeAuthorization: scope.authorization },\n scope.execution\n )\n session.bind({\n attempt,\n signal,\n embeddingAdmission: (admit) => admitGeneration(generation, admit),\n })\n\n try {\n const model = bindEmbeddingModels(runtime.embeddingModels, session)?.getByRef({\n provider: profile.model.providerId,\n modelId: profile.model.modelId,\n })?.model\n\n if (!model || !sameEmbeddingModel(model, profile.model)) {\n throw createSixbError(\n \"vector.model_unavailable\",\n \"[Sixb] Vector indexing requires the profile's configured embedding model.\"\n )\n }\n\n const result = await model.embed({\n texts: entries.map((entry) => entry.input.text),\n purpose: \"document\",\n signal,\n })\n const values = normalizeEmbeddingResult(\n result,\n entries.length,\n profile.model.definition.dimensions\n )\n\n // Persist every surviving result atomically before any vector is published.\n await runtime.storage.ontology.vectorIndexing!.updateBatch({\n projectId: runtime.projectId,\n updates: entries.map(({ work }, index) => ({\n id: work.id,\n expectedStatus: \"running\",\n status: \"ready\",\n values: values[index]!,\n availableAt: new Date().toISOString(),\n })),\n })\n } catch (error) {\n await handleGenerationFailure(generation, error)\n }\n}\n\nasync function admitGeneration(\n generation: GenerationAttempt,\n admit: () => Promise<void>\n): Promise<void> {\n generation.signal.throwIfAborted()\n generation.phase = \"claiming\"\n\n const claimed = await transitionWork(generation, \"pending\", \"running\", { requireAll: true })\n generation.phase = claimed ? \"running\" : \"pending\"\n\n if (!claimed) {\n if (generation.entries.length === 1) {\n throw new Error(\"[Sixb] Vector indexing request was superseded.\")\n }\n throw new VectorIndexingDeferred(new Date().toISOString())\n }\n\n try {\n await admit()\n } catch (error) {\n await transitionWork(generation, \"running\", \"pending\")\n generation.phase = \"pending\"\n throw error\n }\n}\n\nfunction normalizeEmbeddingResult(\n result: EmbeddingModelResult,\n count: number,\n dimensions: number\n): readonly (readonly number[])[] {\n try {\n if (!Array.isArray(result?.vectors) || result.vectors.length !== count) {\n throw new Error(\"Unexpected vector count\")\n }\n\n return result.vectors.map((vector) => normalizeVector(vector, dimensions))\n } catch (cause) {\n throw createSixbError(\"vector.response_invalid\", \"[Sixb] Invalid embedding batch response.\", {\n cause,\n })\n }\n}\n\nasync function handleGenerationFailure(\n generation: GenerationAttempt,\n error: unknown\n): Promise<void> {\n // No provider call can start while the storage claim is unresolved. Retry delivery,\n // not inference; an ambiguously committed claim will be fenced as running on redelivery.\n if (generation.phase === \"claiming\" || error instanceof VectorIndexingDeferred) {\n throw error\n }\n\n if (generation.phase === \"pending\") {\n if (\n isSixbError(error) &&\n (error.code === \"ai.usage_limit_exceeded\" || error.code === \"ai.usage_limit_unavailable\")\n ) {\n const availableAt = retryAt(error.details)\n await transitionWork(generation, \"pending\", \"pending\", { availableAt })\n throw new VectorIndexingDeferred(availableAt)\n }\n\n if (generation.signal.aborted) throw error\n }\n\n const failure =\n error instanceof EmbeddingModelResponseError\n ? createSixbError(\"vector.response_invalid\", \"[Sixb] Invalid embedding batch response.\", {\n cause: error,\n })\n : error\n const { runtime, entries } = generation\n const indexing = runtime.storage.ontology.vectorIndexing!\n\n for (const { work } of entries) {\n await fail(runtime, indexing, { ...work, status: generation.phase }, failure)\n }\n}\n\nfunction transitionWork(\n generation: GenerationAttempt,\n expectedStatus: VectorIndexingWork[\"status\"],\n status: VectorIndexingWork[\"status\"],\n options: { availableAt?: string; requireAll?: boolean } = {}\n): Promise<boolean> {\n const { runtime, entries } = generation\n const availableAt = options.availableAt ?? new Date().toISOString()\n\n return runtime.storage.ontology.vectorIndexing!.updateBatch({\n projectId: runtime.projectId,\n requireAll: options.requireAll ?? false,\n updates: entries.map(({ work }) => ({ id: work.id, expectedStatus, status, availableAt })),\n })\n}\n",
8
8
  "import { createSixbError } from \"../../errors/internal\"\nimport type { OntologyMaterializerContract } from \"../../materializer/materializer\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport { generateVectors } from \"./indexing-generate\"\nimport {\n fail,\n indexingScope,\n prepare,\n storeVector,\n VectorIndexingDeferred,\n} from \"./indexing-shared\"\n\nexport async function processVector(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract,\n id: string,\n attempt: number,\n signal: AbortSignal\n): Promise<void> {\n const indexing = runtime.storage.ontology.vectorIndexing\n if (!indexing) throw new Error(\"[Sixb] Storage does not support automatic vector indexing.\")\n const projectId = runtime.projectId\n const work = await indexing.get({ projectId, id })\n if (!work || work.status === \"failed\") return\n if (work.status === \"running\") {\n await fail(\n runtime,\n indexing,\n work,\n createSixbError(\n \"vector.outcome_unknown\",\n \"[Sixb] Interrupted embedding call has an unknown outcome; inference was not repeated.\"\n )\n )\n return\n }\n if (Date.parse(work.availableAt) > Date.now()) throw new VectorIndexingDeferred(work.availableAt)\n const prepared = await prepare(runtime, work)\n if (!prepared) {\n await indexing.remove({ projectId, id })\n return\n }\n const scope = await indexingScope(runtime, work, work.batchId ?? work.id)\n if (work.status === \"ready\") {\n await storeVector(runtime, materializer, work, scope, signal)\n return\n }\n await generateVectors(runtime, [{ work, input: prepared }], scope, attempt, signal)\n const ready = await indexing.get({ projectId, id })\n if (ready?.status === \"ready\") await storeVector(runtime, materializer, ready, scope, signal)\n}\n",
9
9
  "import type { ExecutionScope } from \"../../execution/types\"\nimport { MaterializationConflictError } from \"../../materialization/errors\"\nimport type { ObjectVectorWrite } from \"../../materialization/vectors\"\nimport type { OntologyMaterializerContract } from \"../../materializer/materializer\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport {\n commitPreparedVectors,\n prepare,\n storeVector,\n VectorIndexingDeferred,\n} from \"./indexing-shared\"\n\n/** Publish a current subset atomically; reprepare conflicts without repeating inference. */\nexport async function storeVectorBatch(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract,\n batchId: string,\n scope: ExecutionScope,\n signal: AbortSignal\n): Promise<void> {\n const indexing = runtime.storage.ontology.vectorIndexing!\n const identity = { projectId: runtime.projectId, batchId }\n\n for (let attempt = 0; attempt < 3; attempt++) {\n const ready = (await indexing.getBatch(identity)).filter((work) => work.status === \"ready\")\n const writes: ObjectVectorWrite[] = []\n\n for (const work of ready) {\n signal.throwIfAborted()\n const input = await prepare(runtime, work)\n if (input) {\n writes.push({ input, values: work.values! })\n } else {\n await indexing.remove({ projectId: runtime.projectId, id: work.id })\n }\n }\n\n if (!writes.length) return\n\n try {\n signal.throwIfAborted()\n await commitPreparedVectors(materializer, scope, writes)\n return\n } catch (error) {\n if (!(error instanceof MaterializationConflictError)) throw error\n }\n }\n\n // A continuously changing object must not keep stable peers from becoming searchable.\n let deferred = false\n for (const work of await indexing.getBatch(identity)) {\n if (work.status !== \"ready\") continue\n try {\n await storeVector(runtime, materializer, work, scope, signal)\n } catch (error) {\n if (!(error instanceof VectorIndexingDeferred)) throw error\n deferred = true\n }\n }\n\n if (deferred) throw new VectorIndexingDeferred(new Date(Date.now() + 1000).toISOString())\n}\n",
10
10
  "import type { OntologyMaterializerContract } from \"../../materializer/materializer\"\nimport type { EmbeddingBatchLimits } from \"../../models/embedding-model\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport type { VectorIndexingWork } from \"../../storage/ontology/vector-indexing\"\nimport { generateVectors, type PreparedIndexingWork } from \"./indexing-generate\"\nimport { indexingScope, prepare, VectorIndexingDeferred } from \"./indexing-shared\"\nimport { processVector } from \"./indexing-single\"\nimport { storeVectorBatch } from \"./indexing-store-batch\"\n\n/** Membership was persisted by one projection commit; there is no fill timer or memory queue. */\nexport async function processVectorBatch(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract,\n batchId: string,\n batch: readonly VectorIndexingWork[],\n attempt: number,\n signal: AbortSignal\n): Promise<void> {\n if (batch.some((work) => work.status !== \"pending\")) {\n await resumeBatch(runtime, materializer, batchId, batch, attempt, signal)\n return\n }\n\n const entries = await prepareBatch(runtime, batch, signal)\n const first = entries[0]\n if (!first) return\n\n const limits = getBatchLimits(runtime, first.work)\n if (!limits) {\n // Unknown provider batch limits: embed each object/profile individually.\n for (const { work } of entries) {\n await processVector(runtime, materializer, work.id, attempt, signal)\n }\n return\n }\n\n assertCompatibleEntries(entries, first.work)\n const scope = await indexingScope(runtime, first.work, batchId)\n\n for (const group of partition(entries, limits)) {\n if (group.length === 1) {\n await processVector(runtime, materializer, group[0]!.work.id, attempt, signal)\n } else {\n await generateVectors(runtime, group, scope, attempt, signal)\n }\n }\n\n await storeVectorBatch(runtime, materializer, batchId, scope, signal)\n}\n\n/** Resume storage or terminalize interrupted calls; never repeat paid inference. */\nasync function resumeBatch(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract,\n batchId: string,\n batch: readonly VectorIndexingWork[],\n attempt: number,\n signal: AbortSignal\n): Promise<void> {\n const ready = batch.find((work) => work.status === \"ready\")\n if (ready) {\n const scope = await indexingScope(runtime, ready, batchId)\n await storeVectorBatch(runtime, materializer, batchId, scope, signal)\n }\n\n for (const work of batch) {\n if (work.status !== \"ready\") {\n await processVector(runtime, materializer, work.id, attempt, signal)\n }\n }\n}\n\nasync function prepareBatch(\n runtime: SixbHostContext,\n batch: readonly VectorIndexingWork[],\n signal: AbortSignal\n): Promise<PreparedIndexingWork[]> {\n const availableAt = batch.reduce(\n (latest, work) => (work.availableAt > latest ? work.availableAt : latest),\n \"\"\n )\n if (Date.parse(availableAt) > Date.now()) {\n throw new VectorIndexingDeferred(availableAt)\n }\n\n const entries: PreparedIndexingWork[] = []\n const indexing = runtime.storage.ontology.vectorIndexing!\n\n for (const work of batch) {\n signal.throwIfAborted()\n const input = await prepare(runtime, work)\n\n if (input) {\n entries.push({ work, input })\n } else {\n await indexing.remove({ projectId: runtime.projectId, id: work.id })\n }\n }\n\n return entries\n}\n\nfunction getBatchLimits(\n runtime: SixbHostContext,\n work: VectorIndexingWork\n): EmbeddingBatchLimits | undefined {\n const profile = runtime.ontology.resolveObjectType(work.ref.objectTypeId).search!.vectors![\n work.profile\n ]!\n\n return runtime.embeddingModels?.getByRef({\n provider: profile.model.providerId,\n modelId: profile.model.modelId,\n })?.model.batching\n}\n\n/** Do not mix commits or configurations, even with malformed storage membership. */\nfunction assertCompatibleEntries(\n entries: readonly PreparedIndexingWork[],\n reference: VectorIndexingWork\n): void {\n const incompatible = entries.some(\n ({ work }) =>\n work.sourceCommitId !== reference.sourceCommitId ||\n work.ref.objectTypeId !== reference.ref.objectTypeId ||\n work.profile !== reference.profile ||\n work.configuration !== reference.configuration\n )\n\n if (incompatible) {\n throw new Error(\"[Sixb] Incompatible vector batch membership.\")\n }\n}\n\n/** Split an already durable, bounded page; never wait for more work or truncate input. */\nfunction* partition(entries: readonly PreparedIndexingWork[], limits: EmbeddingBatchLimits) {\n let group: PreparedIndexingWork[] = []\n let bytes = 0\n\n for (const entry of entries) {\n const size = Buffer.byteLength(entry.input.text)\n const exceedsGroupLimit =\n group.length >= limits.maxInputs ||\n bytes + size > limits.maxTotalInputBytes ||\n size > limits.maxInputBytes\n\n if (group.length > 0 && exceedsGroupLimit) {\n yield group\n group = []\n bytes = 0\n }\n\n if (size > limits.maxInputBytes || size > limits.maxTotalInputBytes) {\n yield [entry]\n continue\n }\n\n group.push(entry)\n bytes += size\n }\n\n if (group.length > 0) yield group\n}\n",
11
11
  "import type { OntologyMaterializerContract } from \"../../materializer/materializer\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport { processVectorBatch } from \"./indexing-batch\"\nimport type { VectorIndexingRuntime } from \"./indexing-runtime\"\nimport { processVector } from \"./indexing-single\"\n\nexport { VectorIndexingDeferred } from \"./indexing-shared\"\n\n/** Internal processing port; durable projection groups and individual requests share delivery. */\nexport function createVectorIndexingRuntime(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract\n): VectorIndexingRuntime {\n return {\n async process(id, attempt, signal) {\n const indexing = runtime.storage.ontology.vectorIndexing\n if (!indexing) throw new Error(\"[Sixb] Storage does not support automatic vector indexing.\")\n const batch = await indexing.getBatch({ projectId: runtime.projectId, batchId: id })\n if (batch.length) await processVectorBatch(runtime, materializer, id, batch, attempt, signal)\n else await processVector(runtime, materializer, id, attempt, signal)\n },\n }\n}\n",
12
12
  "/** Internal worker entry point; it does not expose the host context or domain SDK. */\nexport interface VectorIndexingRuntime {\n process(id: string, attempt: number, signal: AbortSignal): Promise<void>\n}\n\n// Associates each host with its service. Durable work lives in ontology storage, not this map.\nconst runtimes = new WeakMap<object, VectorIndexingRuntime>()\n\nexport function registerVectorIndexingRuntime(host: object, runtime: VectorIndexingRuntime): void {\n runtimes.set(host, runtime)\n}\n\nexport function getVectorIndexingRuntime(host: object): VectorIndexingRuntime {\n const runtime = runtimes.get(host)\n if (!runtime) throw new Error(\"[Sixb] Vector indexing requires a configured Sixb host.\")\n return runtime\n}\n"
13
13
  ],
14
- "mappings": "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",
15
- "debugId": "01D0910D8E4A772E64756E2164756E21",
14
+ "mappings": "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",
15
+ "debugId": "B3DAC5AAE8C25E2B64756E2164756E21",
16
16
  "names": []
17
17
  }
@@ -1,11 +1,11 @@
1
1
  // @bun
2
2
  import {
3
3
  assertValidSchema
4
- } from "./chunk-ffwvdgk1.js";
4
+ } from "./chunk-nj0020ay.js";
5
5
  import {
6
6
  normalizeParams,
7
7
  coerceParamsToTyped
8
- } from "./chunk-2fv8sajb.js";
8
+ } from "./chunk-qnd7ehe5.js";
9
9
  import {
10
10
  isPlainRecord
11
11
  } from "./chunk-wy0qdqfm.js";