@functional-systems/lambdadb-cli 0.1.3-dev.14 → 0.1.3-dev.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ### Added
6
+
7
+ - SDK 0.8.0 Bayesian hybrid search through query JSON files, including separate
8
+ candidate budgets and optional reranking. Preserve free-form DSL and server
9
+ error classification; existing search defaults remain unchanged.
10
+ - Native embedding-only index configuration and `collections update --index-config`.
11
+ Preserve explicit `managedEmbedding: true` for older servers. Include copyable
12
+ examples, help, and local/installed/live CLI coverage.
13
+
14
+ ### Dependencies
15
+
16
+ - Pin `@functional-systems/lambdadb` and the npm lockfile to stable 0.8.0.
17
+
5
18
  ### Maintenance
6
19
 
7
20
  - Synchronize the 0.1.2 release history and start the 0.1.3 development line.
package/DESIGN.md CHANGED
@@ -98,6 +98,36 @@ output and the installed tarball, without checking generated files into Git.
98
98
  Server deployment and live readiness are separate dependencies, not consequences
99
99
  of upgrading this CLI.
100
100
 
101
+ ## SDK 0.8.0 contract update (2026-10-06)
102
+
103
+ The runtime and lockfile pin stable `@functional-systems/lambdadb@0.8.0`.
104
+ The [release](https://github.com/lambdadb/lambdadb-typescript-client/releases/tag/v0.8.0),
105
+ [Bayesian contract](https://github.com/lambdadb/lambdadb-typescript-client/blob/v0.8.0/docs/bayesian-search.md)
106
+ and [native embedding contract](https://github.com/lambdadb/lambdadb-typescript-client/blob/v0.8.0/docs/native-embeddings.md)
107
+ are pinned to backend `9072a1bc8925954369a887f558f1eaf387b7ea0e`.
108
+
109
+ Query files can now carry top-level Bayesian `candidateSize`. No query flags,
110
+ DSL parsing, fusion weights, defaults or result projections were introduced.
111
+ SDK serializers still own request shape validation; Bayesian semantics remain
112
+ server-owned, preserving HTTP status classification and exit codes. The CLI
113
+ retains null-size normalization, its existing size bound and explicit ref checks
114
+ in the same order. JSON and human output retain full document envelopes,
115
+ `retrievalScore` and rerank metadata, including SDK-downloaded results.
116
+
117
+ Create accepts embedding-only vector settings through the SDK union. The new
118
+ `collections update --collection NAME --index-config FILE` uses the same map
119
+ input convention and the SDK update serializer/facade. It has the same preflight,
120
+ no-retry mutation policy and unknown-write classification as create. It exposes
121
+ index configuration only; other Collection management is outside this change.
122
+ The server owns permissible index transitions. Neither command infers the legacy
123
+ flag, embedding provider/model, dimensions or similarity. Explicit legacy true
124
+ remains available for older servers.
125
+
126
+ Adjacent describe/list commands already pass through SDK Collection metadata;
127
+ fetch/query already delegate docsUrl to the SDK and preserve full results. Import
128
+ retains its existing bounded preflight and ordinary/bulk behavior; native
129
+ embeddings use ordinary upsert. No changes to those flows were needed.
130
+
101
131
  ## Architecture
102
132
 
103
133
  ```text
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # LambdaDB CLI
2
2
 
3
3
  A first, project-scoped CLI for developers, coding agents and CI. It uses
4
- `@functional-systems/lambdadb@0.7.0` for authentication, HTTP, read retries,
4
+ `@functional-systems/lambdadb@0.8.0` for authentication, HTTP, read retries,
5
5
  pagination, bulk transfers and large response downloads.
6
6
 
7
7
  ## Install and run
@@ -171,7 +171,10 @@ One page is the default; `nextPageToken` is an opaque continuation token.
171
171
  `--all` uses the SDK page iterator and buffers its result within the total network
172
172
  budget. No partial list is printed on failure. Collection statistics describe
173
173
  the committed head of `main`, not the selected read ref or whole-index readiness.
174
- The create input file is the index map itself, not a full create request body.
174
+ Both create and update take the index map itself through `--index-config`, not a
175
+ full request body. Updates are subject to server index-change restrictions and
176
+ return `state: "updated"`, `searchable: "not_verified"`; acceptance does not prove
177
+ query readiness.
175
178
  SDK 0.7.0 accepts 49 fixed lowercase text analyzer presets:
176
179
  `standard`, `english`, `korean`, `japanese`, `chinese`, `cjk`, `arabic`,
177
180
  `french`, `german`, `hindi`, `indonesian`, `italian`, `portuguese`, `russian`,
@@ -188,6 +191,50 @@ analyzer does not confer keyword field sorting/facets. Nepali/Tamil/Telugu are
188
191
  Lucene extensions, not common Elasticsearch/OpenSearch support. See the
189
192
  [SDK analyzer contract](https://github.com/lambdadb/lambdadb-typescript-client/blob/v0.7.0/docs/models/analyzer.md).
190
193
 
194
+ ### Native embeddings and Bayesian search
195
+
196
+ ```sh
197
+ lambdadb collections create --collection native-docs --index-config examples/index-config-native.json --json
198
+ lambdadb docs import --collection native-docs --branch main --file examples/documents.jsonl --json
199
+ lambdadb query --collection native-docs --ref branch:main --file examples/query-bayesian.json --json
200
+ lambdadb query --collection native-docs --ref branch:main --file examples/query-bayesian-rerank.json --json
201
+ lambdadb collections update --collection native-docs --index-config examples/index-config-native.json --json
202
+ ```
203
+
204
+ A vector configuration with `embedding` enables native embedding without a
205
+ `managedEmbedding` flag. Supply `provider`, `model` and `sourceField` explicitly;
206
+ no provider or model is chosen for you. Declare the source field as text and omit
207
+ the generated vector in imported documents. Use ordinary upsert, since bulk
208
+ import does not support embedding fields. Query with `knn.queryText`.
209
+ Optional native `dimensions` and `similarity` belong inside `embedding`.
210
+ `managedEmbedding: false` with embedding, or native top-level dimensions/similarity,
211
+ is rejected before a request. For older servers, explicitly add
212
+ `managedEmbedding: true` to the vector configuration. Normalized server metadata
213
+ may still contain this flag. Caller-supplied vectors retain top-level dimensions
214
+ and use `knn.queryVector`.
215
+
216
+ Bayesian hybrid search uses `query.bayesian` with exactly two subqueries. Neither
217
+ subquery nor any Boolean descendant may have an explicit `boost`, even `1`.
218
+ Nested rank-fusion queries are unsupported. No fusion weights are needed.
219
+ Without reranking, set top-level `candidateSize` so that
220
+ `1 <= size <= candidateSize <= 100`; omitted/null `size` uses the existing default
221
+ of 10. The candidate budget is per signal, independently of final result size.
222
+ With reranking, omit top-level `candidateSize` and use `rerank.candidateSize`,
223
+ whose default remains `max(50, size)`. The CLI does not insert budgets, weights,
224
+ or `knn.k`. Ordinary text/KNN/RRF/Min-Max/L2 requests retain their behavior and
225
+ must omit top-level `candidateSize`.
226
+
227
+ The free-form query DSL passes through unchanged; the server validates Bayesian
228
+ semantics and invalid requests remain API errors (exit 3). Local JSON/type errors
229
+ remain input errors (exit 2). Applied reranking retains the Bayesian score in
230
+ `retrievalScore` and the final score in `score`, with full documents and rerank
231
+ metadata in both JSON and human output.
232
+
233
+ These additions require a supporting deployment; their API contract is pinned to
234
+ backend `9072a1bc8925954369a887f558f1eaf387b7ea0e`. See the SDK 0.8.0
235
+ [Bayesian contract](https://github.com/lambdadb/lambdadb-typescript-client/blob/v0.8.0/docs/bayesian-search.md)
236
+ and [native embedding contract](https://github.com/lambdadb/lambdadb-typescript-client/blob/v0.8.0/docs/native-embeddings.md).
237
+
191
238
  ### Managed reranking
192
239
 
193
240
  ```sh
@@ -293,7 +340,8 @@ lambdadb docs fetch --collection cli-demo-docs --ref branch:main --ids doc-1 --c
293
340
 
294
341
  These examples require the named ref to exist. Query files use the SDK/API
295
342
  request body, with optional `query`, `facets`, `size`, `sort`, `fields`,
296
- `partitionFilter`, `consistentRead` and `includeVectors`. The query DSL is forwarded
343
+ `partitionFilter`, `consistentRead`, `includeVectors`, `rerank` and Bayesian
344
+ `candidateSize`. The query DSL is forwarded
297
345
  to the API, not reimplemented in the CLI. Unknown top-level fields are rejected.
298
346
  Omit `query` for match-all. `size` accepts 1–100, `null`, or omission; null is
299
347
  normalized to SDK omission. `size: 0` is accepted only with at least one facet.
@@ -335,7 +383,7 @@ this SDK update. If migration is needed, deliberately create a new Collection an
335
383
  reinsert the source data; the CLI performs no automatic migration. Accepted imports
336
384
  and `consistentRead` are not proof of committed facet/index readiness.
337
385
 
338
- This source pins SDK 0.7.0. Existing CLI installations keep their packaged SDK
386
+ This source pins SDK 0.8.0. Existing CLI installations keep their packaged SDK
339
387
  until a new CLI version is published and installed.
340
388
 
341
389
  ## Output, deadlines and exit codes
package/RELEASING.md CHANGED
@@ -296,6 +296,12 @@ accepts and verifies metadata for all 49 fixed analyzer presets, checks exact
296
296
  facet-only and document+facet buckets, and checks committed query/fetch contents
297
297
  with a maximum 300-second observation window per stage. It also checks managed reranking with default criteria, null
298
298
  and custom criteria, including final/retrieval scores and status metadata.
299
+ The SDK 0.8.0 extension creates two additional temporary Collections for native
300
+ embedding-only and legacy true inputs. It exercises actual CLI create/update,
301
+ normalized metadata, document/query embedding generation, ordinary retrieval,
302
+ Bayesian candidate budgets, default/explicit rerank budgets, null rerank and
303
+ server-side rejection of invalid Bayesian requests. All three Collections are
304
+ cleaned up with subsequent HTTP 404 verification.
299
305
  Request timeouts and polling sleeps are capped to the remaining
300
306
  budget, and responses at or after the deadline cannot pass. Process termination
301
307
  and event-loop scheduling may delay reporting. It reports elapsed time and
package/VALIDATION.md CHANGED
@@ -1,5 +1,108 @@
1
1
  # Validation record
2
2
 
3
+ ## SDK 0.8.0 CLI compatibility (2026-10-06)
4
+
5
+ Candidate: `feat/sdk-0.8.0`, based on develop `8e76422`; CLI development version
6
+ `0.1.3-dev.1`, exact SDK `0.8.0`, Node `24.15.0`. This change does not publish
7
+ or promote a package. Repository instructions contain no local AGENTS.md;
8
+ CONTRIBUTING.md, RELEASING.md, CI, runtime/input/output and adjacent commands
9
+ were inspected before implementation.
10
+
11
+ ### Local and installed validation
12
+
13
+ The following commands passed:
14
+
15
+ ```sh
16
+ npm ci
17
+ npm run lint
18
+ npm run check:version
19
+ npm run typecheck
20
+ npm test
21
+ npm run test:package
22
+ git diff --check
23
+ ```
24
+
25
+ `npm test` executed 79 tests, with no failures/skips. `npm run test:package`
26
+ packed and separately installed the CLI, checked inventory/version/help, and
27
+ executed all 54 CLI contract tests with no failures/skips. This is executed
28
+ subprocess coverage, not merely compilation. New coverage includes Bayesian
29
+ JSON mapping and budgets, omitted/null defaults, ref/input precedence, unchanged
30
+ ordinary fusion requests, local versus server errors, native/legacy create and
31
+ update, contradictory embedding inputs, uncertain mutations without retries,
32
+ and full JSON/human results with rerank metadata through inline and docsUrl
33
+ responses. No SDK query DSL validator was added.
34
+
35
+ ### Current deployment provenance
36
+
37
+ Read-only AWS inspection used profile `dev`, region `ap-northeast-2`:
38
+ `aws ecs list-services`, `describe-services`, `list-tasks`, `describe-tasks`,
39
+ and `aws ecr describe-images --image-ids imageTag=dev-v3-9072a1b` for the
40
+ Gateway and Query Executor repositories. Both services had desired/running
41
+ counts 1/1, task definition revision 16 and rollout `COMPLETED`.
42
+ Running digest and the ECR `dev-v3-9072a1b` tag agreed:
43
+
44
+ - Gateway: `sha256:300f65269579fcff327366490505327a549e38249c371e93df07f2ae0669bfef`.
45
+ - Query Executor: `sha256:bf87b32fdcbaf1b17f5cacb3ec8e9f1af1eb7ef51566d06cfb74273e3f857a54`.
46
+
47
+ `gh run view 37422611173 --repo lambdadb/lambdadb --json headSha,conclusion,url`
48
+ confirmed the [successful deployment](https://github.com/lambdadb/lambdadb/actions/runs/37422611173)
49
+ for pinned backend `9072a1bc8925954369a887f558f1eaf387b7ea0e`. The deployment
50
+ run, image tag and running digests were compared together; no deployment or
51
+ infrastructure configuration was changed.
52
+
53
+ ### Actual CLI on the authorized development target
54
+
55
+ Target: `bench-recall` at
56
+ `https://internal-dev-aws-apne2-v3-c05a2b5d492a.lambdadb.ai`, following the
57
+ existing repository test-environment workflow. The repository's private
58
+ `.env.local` supplied its existing opt-in and credential; nothing was borrowed
59
+ from another repository. The command was:
60
+
61
+ ```sh
62
+ node --env-file=.env.local /tmp/lambdadb-cli-sdk080/run-live.mjs
63
+ ```
64
+
65
+ This uncommitted launcher verified the exact endpoint/project and opt-in,
66
+ mapped `LAMBDADB_BASE_URL`, `LAMBDADB_PROJECT_NAME`, and
67
+ `LAMBDADB_PROJECT_API_KEY` in memory to the CLI variables, set
68
+ `LAMBDADB_LIVE_CONFIRM_PROJECT`, and ran `npm run test:live` (build followed by
69
+ `node --test test/live/*.test.mjs`). Credentials never entered command arguments,
70
+ logs or committed files. The suite passed in 94.8 seconds: one test, zero
71
+ failures/skips, using the actual CLI for all creation, updates, imports and reads.
72
+
73
+ - Doctor, all 49 analyzer presets, ordinary/bulk imports, exact committed
74
+ query/fetch document contents, facets, and default/null/custom reranking passed.
75
+ - Both native embedding-only and explicit legacy true configurations passed
76
+ create/update and normalized metadata checks with explicit 256 dimensions and
77
+ cosine similarity inside embedding. Actual OpenAI document/query embeddings
78
+ worked through ordinary upsert and KNN queryText.
79
+ - Bayesian retrieval returned all expected documents. Holding candidateSize=30
80
+ while changing size from 3 to 1 preserved the result prefix. Ordinary
81
+ text/KNN/RRF/Min-Max/L2 worked without a top-level candidate budget.
82
+ - Default and explicit rerank budgets both produced `applied`, three candidates,
83
+ three scored candidates and two final results. Finite final scores were in
84
+ [0,1], and retrievalScore exactly matched the baseline Bayesian scores. Null
85
+ rerank preserved the baseline documents/scores without rerank metadata.
86
+ - For each native/legacy Collection, 15 invalid requests retained API_ERROR,
87
+ HTTP 400 and exit 3: missing/invalid/conflicting candidate budgets, wrong signal
88
+ counts, boosts including Boolean descendants, nested fusion and a Bayesian
89
+ budget on an ordinary query.
90
+ - Cleanup deleted and verified HTTP 404 for all temporary Collections:
91
+ `cli-smoke-61877546-2601-4df9-aeeb-91d87f44c2a5`,
92
+ `cli-native-4e72c926-fe9e-4bbd-822e-1667be3e619f`, and
93
+ `cli-native-2892e6ab-af3c-4a23-aff7-bb5793f7f31e`.
94
+
95
+ Sanitized logs and deployment evidence are retained outside the repository in
96
+ `/tmp/lambdadb-cli-sdk080/`. No temporary test data remains in those Collections.
97
+ The live run used the built source CLI; installed-artifact validation used
98
+ loopback servers. Full downloaded documents are covered by local transport tests;
99
+ large live results alone do not prove that the server selected docsUrl.
100
+ Older-server deployment, production behavior, search quality, load, billing,
101
+ and Homebrew installation were not tested. Older servers may require explicit
102
+ `managedEmbedding: true` and may reject Bayesian search. Existing flag precedence,
103
+ ordinary query behavior, output schema and SDK transfer handling are preserved.
104
+
105
+
3
106
  Updated: 2026-10-04. Local contract tests use loopback servers and synthetic
4
107
  credentials. Authenticated development-project evidence is recorded separately.
5
108
 
package/dist/cli.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { Command, CommanderError, Option } from 'commander';
3
3
  import { readFileSync } from 'node:fs';
4
4
  import { integer, name, resolveConfig, saveSettings } from './config.js';
5
- import { createInput, parseRef, queryInput, readJson, readJsonl } from './input.js';
5
+ import { createInput, parseRef, queryInput, readJson, readJsonl, updateInput } from './input.js';
6
6
  import { importDocuments, planBatches } from './import-workflow.js';
7
7
  import { definitelyRejected, describeError, InputError, isInputError } from './errors.js';
8
8
  import { Output } from './output.js';
@@ -71,7 +71,7 @@ program.command('doctor')
71
71
  { name: 'authentication_and_project_collection_list', status: 'passed' },
72
72
  ], writesVerified: false, queryReadinessVerified: false }, 'Connection verified using the project collection-list API.');
73
73
  }));
74
- const collections = program.command('collections').description('List, describe and create collections');
74
+ const collections = program.command('collections').description('List, describe, create and update collections');
75
75
  collections.command('list')
76
76
  .description('Fetch one page by default, or use the SDK iterator for all pages')
77
77
  .option('--size <count>', 'Page size, 1–100', '20')
@@ -103,7 +103,8 @@ collections.command('describe')
103
103
  collections.command('create')
104
104
  .description('Create a collection from a JSON field-to-index map')
105
105
  .requiredOption('--collection <name>', 'New collection name')
106
- .requiredOption('--index-config <path>', 'JSON indexConfigs map (see examples/index-config.json)')
106
+ .requiredOption('--index-config <path>', 'JSON field-to-index map; native embedding or legacy managedEmbedding:true supported')
107
+ .addHelpText('after', '\nExamples:\n lambdadb collections create --collection demo-docs --index-config examples/index-config.json\n lambdadb collections create --collection native-docs --index-config examples/index-config-native.json')
107
108
  .action(async (opts, cmd) => {
108
109
  const input = createInput(name(opts.collection, 'Collection name'), await readJson(opts.indexConfig));
109
110
  await connected(cmd, async ({ client, options }) => {
@@ -113,6 +114,21 @@ collections.command('create')
113
114
  result({ ...created, state: 'created', searchable: 'not_verified' }, 'Collection created; query-serving readiness has not been verified.');
114
115
  });
115
116
  });
117
+ collections.command('update')
118
+ .description('Update collection index configuration from a JSON field-to-index map')
119
+ .requiredOption('--collection <name>', 'Existing collection name')
120
+ .requiredOption('--index-config <path>', 'JSON field-to-index map; native dimensions/similarity go inside embedding')
121
+ .addHelpText('after', '\nExample:\n lambdadb collections update --collection native-docs --index-config examples/index-config-native.json --json\n\nThe server validates permitted index changes. Older servers require managedEmbedding:true.')
122
+ .action(async (opts, cmd) => {
123
+ name(opts.collection, 'Collection name');
124
+ const input = updateInput(await readJson(opts.indexConfig));
125
+ await connected(cmd, async ({ client, options }) => {
126
+ const collection = scoped(cmd);
127
+ mutationStarted = true;
128
+ const updated = await client.collection(collection).update(input, { ...options, retries: { strategy: 'none' } });
129
+ result({ ...updated, state: 'updated', searchable: 'not_verified' }, 'Collection updated; query-serving readiness has not been verified.');
130
+ });
131
+ });
116
132
  const docs = program.command('docs').description('Import JSONL and fetch documents by ID');
117
133
  docs.command('import')
118
134
  .description('Validate JSONL, submit sequential batches, stop on first error; acceptance is not search readiness')
@@ -173,6 +189,7 @@ program.command('query')
173
189
  .requiredOption('--collection <name>', 'Collection name')
174
190
  .requiredOption('--ref <kind:name>', 'branch:NAME, tag:NAME or alias:NAME; must match any ref in the file')
175
191
  .requiredOption('--file <path>', 'JSON request body; omit query for match-all, use size:0 with facets for counts only; optional rerank is per query')
192
+ .addHelpText('after', '\nBayesian: exactly two unboosted subqueries, including Boolean descendants; no nested fusion.\nWithout rerank, set candidateSize with 1 <= size <= candidateSize <= 100.\nWith rerank, omit top-level candidateSize and use rerank.candidateSize (server default preserved).\n lambdadb query --collection native-docs --ref branch:main --file examples/query-bayesian.json --json\n lambdadb query --collection native-docs --ref branch:main --file examples/query-bayesian-rerank.json --json')
176
193
  .addHelpText('after', '\nExamples:\n lambdadb query --collection demo-docs --ref branch:main --file examples/query.json --json\n lambdadb query --collection demo-docs --ref branch:main --file examples/query-facets-only.json --json\n lambdadb query --collection demo-docs --ref branch:main --file examples/query-with-facets.json --json\n lambdadb query --collection demo-docs --ref branch:main --file examples/query-rerank.json --json')
177
194
  .action(async (opts, cmd) => {
178
195
  const ref = parseRef(opts.ref);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;IAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACpG,IAAI,WAAW,GAAG,UAAU,CAAC;AAC7B,IAAI,MAA2C,CAAC;AAChD,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KAC1B,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;KAC9F,MAAM,CAAC,QAAQ,EAAE,sEAAsE,CAAC;KACxF,MAAM,CAAC,kBAAkB,EAAE,kEAAkE,CAAC;KAC9F,MAAM,CAAC,kBAAkB,EAAE,uEAAuE,CAAC;KACnG,MAAM,CAAC,sBAAsB,EAAE,uEAAuE,CAAC;KACvG,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,CAAC;KAC3E,MAAM,CAAC,mBAAmB,EAAE,oDAAoD,CAAC;KACjF,wBAAwB,CAAC,KAAK,CAAC;KAC/B,YAAY,EAAE;KACd,eAAe,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;KACvC,WAAW,CAAC,OAAO,EAAE,oUAAoU,CAAC,CAAC;AAE9V,SAAS,MAAM,CAAC,IAAa,EAAE,OAAe,EAAE,QAAQ,GAAG,CAAC;IAC1D,MAAM,QAAQ,GAAa,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACxG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC;AAGD,KAAK,UAAU,SAAS,CAAC,OAAgB,EAAE,MAAuC;IAChF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAChE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC;QAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;YAAS,CAAC;QAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AACrD,CAAC;AAED,SAAS,MAAM,CAAC,OAAgB;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACtE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC;IACnC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IAC7C,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC;IAC/C,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;QAAE,WAAW,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;AAC5G,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;KACzB,WAAW,CAAC,mFAAmF,CAAC;KAChG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;IACpC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,eAAe,EAAa,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,EAAE,4FAA4F,CAAC,CAAC;AAC9G,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;KACtB,WAAW,CAAC,wEAAwE,CAAC;KACrF,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IAClF,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,EAAE;YACf,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC3C,EAAE,IAAI,EAAE,4CAA4C,EAAE,MAAM,EAAE,QAAQ,EAAE;SACzE,EAAE,cAAc,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,EAAE,4DAA4D,CAAC,CAAC;AAC3H,CAAC,CAAC,CAAC,CAAC;AAEN,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,+CAA+C,CAAC,CAAC;AAChH,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACxB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,IAAI,CAAC;KAClD,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;KAC3D,MAAM,CAAC,OAAO,EAAE,iEAAiE,CAAC;KAClF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAY,EAAE,EAAE;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACjD,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,iBAAiB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjH,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACvG,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;KAC5B,WAAW,CAAC,oEAAoE,CAAC;KACjF,cAAc,CAAC,qBAAqB,EAAE,iBAAiB,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;IAClF,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,sEAAsE,CAAC,CAAC;AACnI,CAAC,CAAC,CAAC,CAAC;AAEN,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC1B,WAAW,CAAC,oDAAoD,CAAC;KACjE,cAAc,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;KAC5D,cAAc,CAAC,uBAAuB,EAAE,qFAAqF,CAAC;KAC9H,WAAW,CAAC,OAAO,EAAE,sNAAsN,CAAC;KAC5O,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAY,EAAE,EAAE;IACnC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACtG,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,eAAe,GAAG,IAAI,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACpG,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,oEAAoE,CAAC,CAAC;IAC7I,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC1B,WAAW,CAAC,sEAAsE,CAAC;KACnF,cAAc,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;KACjE,cAAc,CAAC,uBAAuB,EAAE,2EAA2E,CAAC;KACpH,WAAW,CAAC,OAAO,EAAE,0NAA0N,CAAC;KAChP,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAY,EAAE,EAAE;IACnC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,eAAe,GAAG,IAAI,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACjH,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,oEAAoE,CAAC,CAAC;IAC7I,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;AAC3F,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;KACnB,WAAW,CAAC,oGAAoG,CAAC;KACjH,cAAc,CAAC,qBAAqB,EAAE,iBAAiB,CAAC;KACxD,cAAc,CAAC,iBAAiB,EAAE,6CAA6C,CAAC;KAChF,cAAc,CAAC,eAAe,EAAE,uDAAuD,CAAC;KACxF,SAAS,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;KACxG,MAAM,CAAC,sBAAsB,EAAE,sCAAsC,EAAE,MAAM,CAAC;KAC9E,MAAM,CAAC,uBAAuB,EAAE,6DAA6D,CAAC;KAC9F,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAY,EAAE,EAAE;IACnC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3H,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrE,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,MAAM,4BAA4B,OAAO,CAAC,MAAM,oBAAoB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACtH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;YACjH,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,uBAAuB,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzI,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7H,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,wDAAwD,EAAE,QAAQ,CAAC,CAAC;QAC3H,IAAI,QAAQ;YAAE,MAAM,CAAC,UAAU,CAAC,oHAAoH,CAAC,CAAC;IACxJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;KAClB,WAAW,CAAC,2FAA2F,CAAC;KACxG,cAAc,CAAC,qBAAqB,EAAE,iBAAiB,CAAC;KACxD,cAAc,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;KAC1E,cAAc,CAAC,eAAe,EAAE,wCAAwC,CAAC;KACzE,MAAM,CAAC,mBAAmB,EAAE,4EAA4E,CAAC;KACzG,MAAM,CAAC,mBAAmB,EAAE,6CAA6C,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAY,EAAE,EAAE;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC5H,IAAI,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;IACxH,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAC7D,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;SAC7G,EAAE,OAAO,CAAC,CAAC;QACZ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QACjD,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,uBAAuB,CAAC,CAAC;IAClI,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;KACrB,WAAW,CAAC,mFAAmF,CAAC;KAChG,cAAc,CAAC,qBAAqB,EAAE,iBAAiB,CAAC;KACxD,cAAc,CAAC,mBAAmB,EAAE,qEAAqE,CAAC;KAC1G,cAAc,CAAC,eAAe,EAAE,mHAAmH,CAAC;KACpJ,WAAW,CAAC,OAAO,EAAE,seAAse,CAAC;KAC5f,WAAW,CAAC,OAAO,EAAE,gaAAga,CAAC;KACtb,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAY,EAAE,EAAE;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QACjD,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,IAAI,CAAC;IACH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,KAAK,YAAY,cAAc;YAC7C,CAAC,CAAC,IAAI,UAAU,CAAC,oFAAoF,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjH,MAAM,YAAY,GAAG,eAAe,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC;YACV,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM;YACzD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC;SAC9B,EAAE,YAAY,CAAC,CAAC,CAAC,4DAA4D,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACpG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC;AACH,CAAC"}
package/dist/input.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { CreateCollectionInput, QueryCollectionInput, ReadRef } from '@functional-systems/lambdadb';
1
+ import type { CreateCollectionInput, QueryCollectionInput, ReadRef, UpdateCollectionInput } from '@functional-systems/lambdadb';
2
2
  export declare const MAX_INPUT_BYTES: number;
3
3
  export declare const MAX_INPUT_DOCUMENTS = 100000;
4
4
  export declare function readText(path: string, limit?: number): Promise<string>;
@@ -7,6 +7,7 @@ export declare function readJson(path: string): Promise<Record<string, unknown>>
7
7
  export declare function parseRef(value: string): ReadRef;
8
8
  export declare function queryInput(body: Record<string, unknown>, ref: ReadRef): QueryCollectionInput;
9
9
  export declare function createInput(collectionName: string, indexConfigs: Record<string, unknown>): CreateCollectionInput;
10
+ export declare function updateInput(indexConfigs: Record<string, unknown>): UpdateCollectionInput;
10
11
  export type DocumentRow = {
11
12
  line: number;
12
13
  doc: Record<string, unknown>;
package/dist/input.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { open } from 'node:fs/promises';
2
2
  import { TextDecoder } from 'node:util';
3
- import { createCollectionRequestToJSON, queryCollectionRequestBodyToJSON } from '@functional-systems/lambdadb/models/operations';
3
+ import { createCollectionRequestToJSON, queryCollectionRequestBodyToJSON, updateCollectionRequestBodyToJSON } from '@functional-systems/lambdadb/models/operations';
4
4
  import { InputError } from './errors.js';
5
5
  import { name } from './config.js';
6
6
  export const MAX_INPUT_BYTES = 64 * 1024 * 1024;
@@ -67,7 +67,7 @@ export function queryInput(body, ref) {
67
67
  }
68
68
  }
69
69
  const input = { ...body, ref };
70
- // Public API accepts null size, while SDK 0.7.0 only accepts undefined/number.
70
+ // Public API accepts null size, while the SDK only accepts undefined/number.
71
71
  if (input.size === null)
72
72
  delete input.size;
73
73
  // The SDK requires integer sizes and facets for zero; bound non-reranked queries here.
@@ -92,6 +92,16 @@ export function createInput(collectionName, indexConfigs) {
92
92
  }
93
93
  return input;
94
94
  }
95
+ export function updateInput(indexConfigs) {
96
+ const input = { indexConfigs };
97
+ try {
98
+ updateCollectionRequestBodyToJSON(input);
99
+ }
100
+ catch {
101
+ throw new InputError('Invalid index configuration. Provide a nonempty field-to-index map matching the SDK contract.');
102
+ }
103
+ return input;
104
+ }
95
105
  export async function readJsonl(path) {
96
106
  const text = await readText(path);
97
107
  const rows = [];
package/dist/input.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ {
2
+ "text": {
3
+ "type": "text",
4
+ "analyzers": [
5
+ "english"
6
+ ]
7
+ },
8
+ "vector": {
9
+ "type": "vector",
10
+ "embedding": {
11
+ "provider": "openai",
12
+ "model": "text-embedding-3-small",
13
+ "sourceField": "text"
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "query": {
3
+ "bayesian": [
4
+ {
5
+ "queryString": {
6
+ "query": "text:serverless"
7
+ }
8
+ },
9
+ {
10
+ "knn": {
11
+ "field": "vector",
12
+ "queryText": "How does serverless search work?",
13
+ "k": 30
14
+ }
15
+ }
16
+ ]
17
+ },
18
+ "size": 10,
19
+ "rerank": {
20
+ "provider": "typesafe",
21
+ "model": "jev-1.13.0",
22
+ "queryText": "How does serverless search work?",
23
+ "fields": [
24
+ "text"
25
+ ]
26
+ }
27
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "query": {
3
+ "bayesian": [
4
+ {
5
+ "queryString": {
6
+ "query": "text:serverless"
7
+ }
8
+ },
9
+ {
10
+ "knn": {
11
+ "field": "vector",
12
+ "queryText": "How does serverless search work?",
13
+ "k": 30
14
+ }
15
+ }
16
+ ]
17
+ },
18
+ "size": 10,
19
+ "candidateSize": 30
20
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@functional-systems/lambdadb-cli",
3
- "version": "0.1.3-dev.14",
3
+ "version": "0.1.3-dev.15",
4
4
  "private": false,
5
5
  "description": "Project-scoped LambdaDB command-line tools",
6
6
  "type": "module",
@@ -33,7 +33,7 @@
33
33
  "test:live": "npm run build && node --test test/live/*.test.mjs"
34
34
  },
35
35
  "dependencies": {
36
- "@functional-systems/lambdadb": "0.7.0",
36
+ "@functional-systems/lambdadb": "0.8.0",
37
37
  "commander": "14.0.3"
38
38
  },
39
39
  "devDependencies": {
@@ -53,5 +53,5 @@
53
53
  "url": "https://github.com/lambdadb/lambdadb-cli/issues"
54
54
  },
55
55
  "license": "Apache-2.0",
56
- "gitHead": "8e764223142f9e9655b85bb5057e1636b69aec29"
56
+ "gitHead": "caee1bcb6ce864c33647673b54a48f7cc06dcf84"
57
57
  }
package/src/cli.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  import { Command, CommanderError, Option } from 'commander';
3
3
  import { readFileSync } from 'node:fs';
4
4
  import { integer, name, resolveConfig, saveSettings, type Options } from './config.js';
5
- import { createInput, parseRef, queryInput, readJson, readJsonl } from './input.js';
5
+ import { createInput, parseRef, queryInput, readJson, readJsonl, updateInput } from './input.js';
6
6
  import { importDocuments, planBatches } from './import-workflow.js';
7
7
  import { definitelyRejected, describeError, InputError, isInputError } from './errors.js';
8
8
  import { Output, type Envelope } from './output.js';
@@ -74,7 +74,7 @@ program.command('doctor')
74
74
  ], writesVerified: false, queryReadinessVerified: false }, 'Connection verified using the project collection-list API.');
75
75
  }));
76
76
 
77
- const collections = program.command('collections').description('List, describe and create collections');
77
+ const collections = program.command('collections').description('List, describe, create and update collections');
78
78
  collections.command('list')
79
79
  .description('Fetch one page by default, or use the SDK iterator for all pages')
80
80
  .option('--size <count>', 'Page size, 1–100', '20')
@@ -106,7 +106,8 @@ collections.command('describe')
106
106
  collections.command('create')
107
107
  .description('Create a collection from a JSON field-to-index map')
108
108
  .requiredOption('--collection <name>', 'New collection name')
109
- .requiredOption('--index-config <path>', 'JSON indexConfigs map (see examples/index-config.json)')
109
+ .requiredOption('--index-config <path>', 'JSON field-to-index map; native embedding or legacy managedEmbedding:true supported')
110
+ .addHelpText('after', '\nExamples:\n lambdadb collections create --collection demo-docs --index-config examples/index-config.json\n lambdadb collections create --collection native-docs --index-config examples/index-config-native.json')
110
111
  .action(async (opts, cmd: Command) => {
111
112
  const input = createInput(name(opts.collection, 'Collection name'), await readJson(opts.indexConfig));
112
113
  await connected(cmd, async ({ client, options }) => {
@@ -117,6 +118,22 @@ collections.command('create')
117
118
  });
118
119
  });
119
120
 
121
+ collections.command('update')
122
+ .description('Update collection index configuration from a JSON field-to-index map')
123
+ .requiredOption('--collection <name>', 'Existing collection name')
124
+ .requiredOption('--index-config <path>', 'JSON field-to-index map; native dimensions/similarity go inside embedding')
125
+ .addHelpText('after', '\nExample:\n lambdadb collections update --collection native-docs --index-config examples/index-config-native.json --json\n\nThe server validates permitted index changes. Older servers require managedEmbedding:true.')
126
+ .action(async (opts, cmd: Command) => {
127
+ name(opts.collection, 'Collection name');
128
+ const input = updateInput(await readJson(opts.indexConfig));
129
+ await connected(cmd, async ({ client, options }) => {
130
+ const collection = scoped(cmd);
131
+ mutationStarted = true;
132
+ const updated = await client.collection(collection).update(input, { ...options, retries: { strategy: 'none' } });
133
+ result({ ...updated, state: 'updated', searchable: 'not_verified' }, 'Collection updated; query-serving readiness has not been verified.');
134
+ });
135
+ });
136
+
120
137
  const docs = program.command('docs').description('Import JSONL and fetch documents by ID');
121
138
  docs.command('import')
122
139
  .description('Validate JSONL, submit sequential batches, stop on first error; acceptance is not search readiness')
@@ -176,6 +193,7 @@ program.command('query')
176
193
  .requiredOption('--collection <name>', 'Collection name')
177
194
  .requiredOption('--ref <kind:name>', 'branch:NAME, tag:NAME or alias:NAME; must match any ref in the file')
178
195
  .requiredOption('--file <path>', 'JSON request body; omit query for match-all, use size:0 with facets for counts only; optional rerank is per query')
196
+ .addHelpText('after', '\nBayesian: exactly two unboosted subqueries, including Boolean descendants; no nested fusion.\nWithout rerank, set candidateSize with 1 <= size <= candidateSize <= 100.\nWith rerank, omit top-level candidateSize and use rerank.candidateSize (server default preserved).\n lambdadb query --collection native-docs --ref branch:main --file examples/query-bayesian.json --json\n lambdadb query --collection native-docs --ref branch:main --file examples/query-bayesian-rerank.json --json')
179
197
  .addHelpText('after', '\nExamples:\n lambdadb query --collection demo-docs --ref branch:main --file examples/query.json --json\n lambdadb query --collection demo-docs --ref branch:main --file examples/query-facets-only.json --json\n lambdadb query --collection demo-docs --ref branch:main --file examples/query-with-facets.json --json\n lambdadb query --collection demo-docs --ref branch:main --file examples/query-rerank.json --json')
180
198
  .action(async (opts, cmd: Command) => {
181
199
  const ref = parseRef(opts.ref);
package/src/input.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { open } from 'node:fs/promises';
2
2
  import { TextDecoder } from 'node:util';
3
- import type { CreateCollectionInput, QueryCollectionInput, ReadRef } from '@functional-systems/lambdadb';
4
- import { createCollectionRequestToJSON, queryCollectionRequestBodyToJSON } from '@functional-systems/lambdadb/models/operations';
3
+ import type { CreateCollectionInput, QueryCollectionInput, ReadRef, UpdateCollectionInput } from '@functional-systems/lambdadb';
4
+ import { createCollectionRequestToJSON, queryCollectionRequestBodyToJSON, updateCollectionRequestBodyToJSON } from '@functional-systems/lambdadb/models/operations';
5
5
  import { InputError } from './errors.js';
6
6
  import { name } from './config.js';
7
7
 
@@ -57,7 +57,7 @@ export function queryInput(body: Record<string, unknown>, ref: ReadRef): QueryCo
57
57
  }
58
58
  }
59
59
  const input: Record<string, unknown> = { ...body, ref };
60
- // Public API accepts null size, while SDK 0.7.0 only accepts undefined/number.
60
+ // Public API accepts null size, while the SDK only accepts undefined/number.
61
61
  if (input.size === null) delete input.size;
62
62
  // The SDK requires integer sizes and facets for zero; bound non-reranked queries here.
63
63
  if (typeof input.size === 'number' && (input.size < 0 || input.size > 100)) {
@@ -75,6 +75,13 @@ export function createInput(collectionName: string, indexConfigs: Record<string,
75
75
  return input;
76
76
  }
77
77
 
78
+ export function updateInput(indexConfigs: Record<string, unknown>): UpdateCollectionInput {
79
+ const input = { indexConfigs } as UpdateCollectionInput;
80
+ try { updateCollectionRequestBodyToJSON(input); }
81
+ catch { throw new InputError('Invalid index configuration. Provide a nonempty field-to-index map matching the SDK contract.'); }
82
+ return input;
83
+ }
84
+
78
85
  export type DocumentRow = { line: number; doc: Record<string, unknown>; bytes: number };
79
86
 
80
87
  export async function readJsonl(path: string): Promise<DocumentRow[]> {