@opengeni/ogtool 0.3.29-canary.0 → 0.3.31-canary.1

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/README.md CHANGED
@@ -23,13 +23,59 @@ to disk. `ogtool doctor` reports the selected delivery mode without printing the
23
23
 
24
24
  Commands:
25
25
 
26
- - `ogtool list`
26
+ - `ogtool list` — all authorized callable paths and short descriptions, one tool per line
27
+ - `ogtool list --json` — compact JSON with `catalogDigest`, `total`, `offset`, `nextOffset`, and `tools: [{path, description}]`
28
+ - `ogtool list [--json] [--query <substring>] [--limit <1..100>] [--offset <integer>]`
29
+ - `ogtool list --full` — the previous full catalog JSON, including identity and schemas
30
+ - `ogtool show <tool-path-or-model-name>` — one tool's details and schemas as JSON
27
31
  - `ogtool call <tool-path-or-model-name> [json-object]`
28
32
  - `ogtool declarations [output-file]`
29
33
  - `ogtool doctor`
30
34
  - `ogtool --version`
31
35
 
36
+ Start with `list`, then use `show docs.search` before constructing a call. Compact
37
+ descriptions collapse whitespace and use at most 160 Unicode code points, including
38
+ an ellipsis when shortened; a missing/empty description falls back to the title.
39
+ Text mode displays C0, C1, and DEL control characters as literal `\uNNNN` escapes
40
+ so descriptions and title fallbacks cannot execute terminal control sequences.
41
+ This is text-only presentation:
42
+ catalog content, query matching, and explicit JSON/full/schema output remain unchanged.
43
+ Catalog order and callable paths are preserved. Compact output contains no identities,
44
+ schemas, approval annotations, or attempt IDs. JSON includes the frozen catalog digest
45
+ so a machine caller can detect a changed catalog between pages.
46
+
47
+ Both default text and `--json` list every authorized catalog entry. There is no
48
+ aggregate stdout byte cap and no default pagination: compactness comes from omitting
49
+ per-tool schemas and shortening summaries, never dropping tools or truncating paths.
50
+ For compatibility, `--limit` accepts 1 through 100 as a strictly opt-in row limit;
51
+ `--offset` alone returns all remaining matching tools. Count/offset metadata remains
52
+ available for callers that explicitly request a slice.
53
+
54
+ `--query` is a literal, case-sensitive substring match against the callable path or
55
+ full whitespace-normalized description (title fallback), including text beyond the
56
+ displayed summary. An empty query matches all tools. `total` counts filtered matches;
57
+ `--offset` is a nonnegative safe integer within that filtered order, not the unfiltered
58
+ catalog. Follow the returned `nextOffset` when explicitly limiting rows.
59
+ Keep the query unchanged and verify the JSON
60
+ `catalogDigest` is unchanged when walking pages. `nextOffset: null` means finished.
61
+ Empty/no-match/past-end pages return no tools and no next offset; text still prints
62
+ the total/offset footer. Both `--flag value` and `--flag=value` are supported.
63
+
64
+ `--full` rejects `--json`, `--query`, `--limit`, and `--offset`, including explicitly
65
+ supplied defaults. Unknown/duplicate flags and extra arguments are errors.
66
+ `show` accepts the same exact path/model-name/identity aliases as `call`
67
+ and rejects unknown or ambiguous names. Its JSON output (including the final newline)
68
+ is limited to 64 KiB; oversized details fail without partial output or schema
69
+ truncation. Use `list --full` redirected to a file, or `declarations <output-file>`,
70
+ for larger schemas. Existing scripts parsing the old `list` JSON must use `list --full`.
71
+
72
+ The Connected Machine fallback, `"$OPENGENI_CODEMODE_NATIVE_CLIENT" codemode`,
73
+ supports the same `list`, `list --json`, `list --full`, and `show` discovery behavior.
74
+ It does not provide the JavaScript CLI's `declarations` command.
75
+
32
76
  The HTTP client submits a caller-chosen operation id and polls the durable result. A lost response
33
77
  therefore cannot silently replay a side effect. `@opengeni/ogtool` also re-exports the typed
34
78
  `@opengeni/codemode` client for application code. Codemode is a projection of the attempt's one
35
- tool authority, not a second tool or credential surface.
79
+ tool authority, not a second tool or credential surface. Aborting the CLI/client wait stops only
80
+ local observation; it does not cancel a journaled server operation, which must be reconciled by the
81
+ same operation id or settled by the owning attempt lifecycle.