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

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,21 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.1.3] - 2026-10-06
6
+
7
+ ### Added
8
+
9
+ - SDK 0.8.0 Bayesian hybrid search through query JSON files, including separate
10
+ candidate budgets and optional reranking. Preserve free-form DSL and server
11
+ error classification; existing search defaults remain unchanged.
12
+ - Native embedding-only index configuration and `collections update --index-config`.
13
+ Preserve explicit `managedEmbedding: true` for older servers. Include copyable
14
+ examples, help, and local/installed/live CLI coverage.
15
+
16
+ ### Dependencies
17
+
18
+ - Pin `@functional-systems/lambdadb` and the npm lockfile to stable 0.8.0.
19
+
5
20
  ### Maintenance
6
21
 
7
22
  - 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
@@ -2,6 +2,18 @@
2
2
 
3
3
  ## Current status
4
4
 
5
+ CLI 0.1.3 is prepared on `release/0.1.3` from reviewed develop commit
6
+ `caee1bcb6ce864c33647673b54a48f7cc06dcf84` ([PR #18](https://github.com/lambdadb/lambdadb-cli/pull/18)).
7
+ It pins SDK 0.8.0 and adds Bayesian JSON queries, native embedding configuration
8
+ and Collection index updates. Existing search defaults and error/output contracts
9
+ are preserved. See [candidate validation](VALIDATION.md#cli-013-release-preparation-2026-10-06).
10
+ This is release preparation; stable npm and the public Homebrew tap remain at
11
+ 0.1.2. Merge the release PR with a merge commit to preserve develop ancestry.
12
+ Tag creation, GitHub Release publication and npm latest promotion require the
13
+ explicit authorization described below.
14
+
15
+ ### Latest published stable release
16
+
5
17
  CLI 0.1.2 was published on 2026-10-04 from merged main commit
6
18
  `6628fe0ed1f405c88fbd91d591e5223d3250dd73` through
7
19
  [GitHub Release v0.1.2](https://github.com/lambdadb/lambdadb-cli/releases/tag/v0.1.2)
@@ -296,6 +308,12 @@ accepts and verifies metadata for all 49 fixed analyzer presets, checks exact
296
308
  facet-only and document+facet buckets, and checks committed query/fetch contents
297
309
  with a maximum 300-second observation window per stage. It also checks managed reranking with default criteria, null
298
310
  and custom criteria, including final/retrieval scores and status metadata.
311
+ The SDK 0.8.0 extension creates two additional temporary Collections for native
312
+ embedding-only and legacy true inputs. It exercises actual CLI create/update,
313
+ normalized metadata, document/query embedding generation, ordinary retrieval,
314
+ Bayesian candidate budgets, default/explicit rerank budgets, null rerank and
315
+ server-side rejection of invalid Bayesian requests. All three Collections are
316
+ cleaned up with subsequent HTTP 404 verification.
299
317
  Request timeouts and polling sleeps are capped to the remaining
300
318
  budget, and responses at or after the deadline cannot pass. Process termination
301
319
  and event-loop scheduling may delay reporting. It reports elapsed time and
package/VALIDATION.md CHANGED
@@ -1,5 +1,176 @@
1
1
  # Validation record
2
2
 
3
+ ## CLI 0.1.3 release preparation (2026-10-06)
4
+
5
+ Prepared from reviewed develop `caee1bcb6ce864c33647673b54a48f7cc06dcf84`
6
+ ([PR #18](https://github.com/lambdadb/lambdadb-cli/pull/18)); its tree matches
7
+ feature head `9589c7a`, whose Node 22/24 CI and automatic review completed with
8
+ no findings. The release branch changes only version/changelog and release
9
+ evidence relative to develop. Runtime source, examples, tests and workflow
10
+ remain identical. Stable publication is not authorized or claimed here.
11
+
12
+ On Node 24.15.0, these commands passed:
13
+
14
+ ```sh
15
+ npm ci
16
+ npm run lint
17
+ npm run check:version
18
+ RELEASE_TAG=v0.1.3 RELEASE_PRERELEASE=false node scripts/check-release.mjs --release
19
+ npm run typecheck
20
+ npm test
21
+ npm pack --json --pack-destination /tmp/lambdadb-cli-release013
22
+ npm run test:package -- /tmp/lambdadb-cli-release013/functional-systems-lambdadb-cli-0.1.3.tgz
23
+ ```
24
+
25
+ The metadata check validates release settings without creating a tag. All 79
26
+ source tests and 54 separately installed CLI tests passed, with zero failures
27
+ or skips. The candidate inventory contains 45 files, including the new examples
28
+ and no credentials, scratch files or test harnesses.
29
+
30
+ An isolated installation of the packed 0.1.3 candidate, with SDK 0.8.0, then ran
31
+ the actual CLI against authorized development project `bench-recall` at
32
+ `https://internal-dev-aws-apne2-v3-c05a2b5d492a.lambdadb.ai`:
33
+
34
+ ```sh
35
+ npm install --prefix /tmp/lambdadb-cli-release013/consumer --no-audit --no-fund /tmp/lambdadb-cli-release013/functional-systems-lambdadb-cli-0.1.3.tgz
36
+ LAMBDADB_TEST_CLI=/tmp/lambdadb-cli-release013/consumer/node_modules/@functional-systems/lambdadb-cli/dist/cli.js node --env-file=.env.local /tmp/lambdadb-cli-sdk080/run-live.mjs
37
+ ```
38
+
39
+ The launcher used the existing private environment only in memory and ran
40
+ `npm run test:live`; the harness selected the installed binary through
41
+ LAMBDADB_TEST_CLI. The complete suite passed in 113.4 seconds: 1 test, zero
42
+ failures/skips. It exercised analyzer metadata, ordinary/bulk imports, committed
43
+ query/fetch contents, facets, native/legacy create/update and actual embeddings,
44
+ Bayesian budgets and reranking, retrieval scores and all 30 server rejection
45
+ checks described in the SDK 0.8.0 record below.
46
+
47
+ Deletion and subsequent HTTP 404 verified cleanup of all three Collections:
48
+
49
+ - `cli-smoke-29074d17-7e21-460a-9823-a6e49f30d067`
50
+ - `cli-native-3c9bcae9-1b91-424f-8504-ac755078ac13`
51
+ - `cli-native-3b18c438-83d7-44eb-8c8d-bfc7949f35c5`
52
+
53
+ The live-tested tarball has integrity
54
+ `sha512-GzQVy1ZJgtT8O2q5wXDV+mhegYk6MBzZ6hSNMOjKq1BGUu6dW1P0F69dHDFJC3Q8o6gvUYQGv41DZMvfMXxaIQ==`.
55
+ It and its manifest remain under `/tmp/lambdadb-cli-release013/live-tested/`;
56
+ logs and the installed consumer remain in the parent directory. This evidence
57
+ section changes packaged documentation after the live run. The final package is
58
+ repacked and checked by the installed CLI suite; its runtime and examples are
59
+ compared byte-for-byte to the live-tested installation. Its final integrity and
60
+ remote CI/review results are recorded in the release PR.
61
+
62
+ The earlier same-day deployment provenance record below identifies backend
63
+ `9072a1bc8925954369a887f558f1eaf387b7ea0e`. This bounded test does not establish
64
+ production availability, ranking quality, load or billing behavior. No new
65
+ Homebrew installation or older-server tests were run. The checked-in/public tap
66
+ still points to published 0.1.2; its 0.1.3 update follows a separately authorized
67
+ stable publication. No server deployment, npm latest change, tag or GitHub
68
+ Release was performed by this preparation.
69
+
70
+
71
+ ## SDK 0.8.0 CLI compatibility (2026-10-06)
72
+
73
+ Candidate: `feat/sdk-0.8.0`, based on develop `8e76422`; CLI development version
74
+ `0.1.3-dev.1`, exact SDK `0.8.0`, Node `24.15.0`. This change does not publish
75
+ or promote a package. Repository instructions contain no local AGENTS.md;
76
+ CONTRIBUTING.md, RELEASING.md, CI, runtime/input/output and adjacent commands
77
+ were inspected before implementation.
78
+
79
+ ### Local and installed validation
80
+
81
+ The following commands passed:
82
+
83
+ ```sh
84
+ npm ci
85
+ npm run lint
86
+ npm run check:version
87
+ npm run typecheck
88
+ npm test
89
+ npm run test:package
90
+ git diff --check
91
+ ```
92
+
93
+ `npm test` executed 79 tests, with no failures/skips. `npm run test:package`
94
+ packed and separately installed the CLI, checked inventory/version/help, and
95
+ executed all 54 CLI contract tests with no failures/skips. This is executed
96
+ subprocess coverage, not merely compilation. New coverage includes Bayesian
97
+ JSON mapping and budgets, omitted/null defaults, ref/input precedence, unchanged
98
+ ordinary fusion requests, local versus server errors, native/legacy create and
99
+ update, contradictory embedding inputs, uncertain mutations without retries,
100
+ and full JSON/human results with rerank metadata through inline and docsUrl
101
+ responses. No SDK query DSL validator was added.
102
+
103
+ ### Current deployment provenance
104
+
105
+ Read-only AWS inspection used profile `dev`, region `ap-northeast-2`:
106
+ `aws ecs list-services`, `describe-services`, `list-tasks`, `describe-tasks`,
107
+ and `aws ecr describe-images --image-ids imageTag=dev-v3-9072a1b` for the
108
+ Gateway and Query Executor repositories. Both services had desired/running
109
+ counts 1/1, task definition revision 16 and rollout `COMPLETED`.
110
+ Running digest and the ECR `dev-v3-9072a1b` tag agreed:
111
+
112
+ - Gateway: `sha256:300f65269579fcff327366490505327a549e38249c371e93df07f2ae0669bfef`.
113
+ - Query Executor: `sha256:bf87b32fdcbaf1b17f5cacb3ec8e9f1af1eb7ef51566d06cfb74273e3f857a54`.
114
+
115
+ `gh run view 37422611173 --repo lambdadb/lambdadb --json headSha,conclusion,url`
116
+ confirmed the [successful deployment](https://github.com/lambdadb/lambdadb/actions/runs/37422611173)
117
+ for pinned backend `9072a1bc8925954369a887f558f1eaf387b7ea0e`. The deployment
118
+ run, image tag and running digests were compared together; no deployment or
119
+ infrastructure configuration was changed.
120
+
121
+ ### Actual CLI on the authorized development target
122
+
123
+ Target: `bench-recall` at
124
+ `https://internal-dev-aws-apne2-v3-c05a2b5d492a.lambdadb.ai`, following the
125
+ existing repository test-environment workflow. The repository's private
126
+ `.env.local` supplied its existing opt-in and credential; nothing was borrowed
127
+ from another repository. The command was:
128
+
129
+ ```sh
130
+ node --env-file=.env.local /tmp/lambdadb-cli-sdk080/run-live.mjs
131
+ ```
132
+
133
+ This uncommitted launcher verified the exact endpoint/project and opt-in,
134
+ mapped `LAMBDADB_BASE_URL`, `LAMBDADB_PROJECT_NAME`, and
135
+ `LAMBDADB_PROJECT_API_KEY` in memory to the CLI variables, set
136
+ `LAMBDADB_LIVE_CONFIRM_PROJECT`, and ran `npm run test:live` (build followed by
137
+ `node --test test/live/*.test.mjs`). Credentials never entered command arguments,
138
+ logs or committed files. The suite passed in 94.8 seconds: one test, zero
139
+ failures/skips, using the actual CLI for all creation, updates, imports and reads.
140
+
141
+ - Doctor, all 49 analyzer presets, ordinary/bulk imports, exact committed
142
+ query/fetch document contents, facets, and default/null/custom reranking passed.
143
+ - Both native embedding-only and explicit legacy true configurations passed
144
+ create/update and normalized metadata checks with explicit 256 dimensions and
145
+ cosine similarity inside embedding. Actual OpenAI document/query embeddings
146
+ worked through ordinary upsert and KNN queryText.
147
+ - Bayesian retrieval returned all expected documents. Holding candidateSize=30
148
+ while changing size from 3 to 1 preserved the result prefix. Ordinary
149
+ text/KNN/RRF/Min-Max/L2 worked without a top-level candidate budget.
150
+ - Default and explicit rerank budgets both produced `applied`, three candidates,
151
+ three scored candidates and two final results. Finite final scores were in
152
+ [0,1], and retrievalScore exactly matched the baseline Bayesian scores. Null
153
+ rerank preserved the baseline documents/scores without rerank metadata.
154
+ - For each native/legacy Collection, 15 invalid requests retained API_ERROR,
155
+ HTTP 400 and exit 3: missing/invalid/conflicting candidate budgets, wrong signal
156
+ counts, boosts including Boolean descendants, nested fusion and a Bayesian
157
+ budget on an ordinary query.
158
+ - Cleanup deleted and verified HTTP 404 for all temporary Collections:
159
+ `cli-smoke-61877546-2601-4df9-aeeb-91d87f44c2a5`,
160
+ `cli-native-4e72c926-fe9e-4bbd-822e-1667be3e619f`, and
161
+ `cli-native-2892e6ab-af3c-4a23-aff7-bb5793f7f31e`.
162
+
163
+ Sanitized logs and deployment evidence are retained outside the repository in
164
+ `/tmp/lambdadb-cli-sdk080/`. No temporary test data remains in those Collections.
165
+ The live run used the built source CLI; installed-artifact validation used
166
+ loopback servers. Full downloaded documents are covered by local transport tests;
167
+ large live results alone do not prove that the server selected docsUrl.
168
+ Older-server deployment, production behavior, search quality, load, billing,
169
+ and Homebrew installation were not tested. Older servers may require explicit
170
+ `managedEmbedding: true` and may reject Bayesian search. Existing flag precedence,
171
+ ordinary query behavior, output schema and SDK transfer handling are preserved.
172
+
173
+
3
174
  Updated: 2026-10-04. Local contract tests use loopback servers and synthetic
4
175
  credentials. Authenticated development-project evidence is recorded separately.
5
176
 
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":"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"}
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",
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": {
@@ -52,6 +52,5 @@
52
52
  "bugs": {
53
53
  "url": "https://github.com/lambdadb/lambdadb-cli/issues"
54
54
  },
55
- "license": "Apache-2.0",
56
- "gitHead": "8e764223142f9e9655b85bb5057e1636b69aec29"
55
+ "license": "Apache-2.0"
57
56
  }
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[]> {