@lotics/cli 0.143.2 → 0.144.0
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/AGENTS.md +6 -15
- package/README.md +9 -13
- package/dist/render_page.js +716 -473
- package/dist/src/cli.js +779 -495
- package/dist/src/client.js +8 -0
- package/docs/building_an_app.md +0 -2
- package/docs/cli_reference.md +13 -13
- package/docs/knowledge_docs.md +4 -8
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
# @lotics/cli — agent index
|
|
2
2
|
|
|
3
3
|
The model an agent needs before driving this CLI: which surface answers which question, what the
|
|
4
|
-
conventions are, and where the traps are.
|
|
5
|
-
renders § COMMANDS from the same table the CLI dispatches on, so it is the one inventory that cannot
|
|
6
|
-
fall behind the binary you have.
|
|
4
|
+
conventions are, and where the traps are.
|
|
7
5
|
|
|
8
6
|
| Read | For |
|
|
9
7
|
|---|---|
|
|
@@ -51,18 +49,15 @@ whether something exists, read `lotics --help` § COMMANDS — the whole section
|
|
|
51
49
|
`workspace doctor` on findings. Scripts can gate on them.
|
|
52
50
|
- **Text output is the default and is built for reading**; reach for `--json` only when a field is
|
|
53
51
|
needed programmatically.
|
|
54
|
-
- **`lotics report '<json>'` is the channel for what nothing else records.**
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
when the platform is genuinely missing something, when a success was wrong, or when an error did
|
|
52
|
+
- **`lotics report '<json>'` is the channel for what nothing else records.** Reach for it
|
|
53
|
+
when the platform is genuinely missing something (a capability that does not exist — no
|
|
54
|
+
command ran), when a success was wrong (exited 0, wrong effect), or when an error did
|
|
58
55
|
not name the remedy — not for your own mistakes, which the logs already show.
|
|
59
56
|
**It is a frame, not a paragraph** — `{goal, actual, expected?, tried?, wanted?}`, because a log
|
|
60
57
|
reconstructs what you RAN and never what you WANTED, and that gap is the report. `goal` and
|
|
61
|
-
`actual` are required; there is no severity or category to pick
|
|
62
|
-
off the corpus, and a taxonomy in a released binary cannot be corrected without a release). The
|
|
58
|
+
`actual` are required; there is no severity or category to pick. The
|
|
63
59
|
session's commands attach themselves — do not retype them. Run it bare for the full prompt; a
|
|
64
|
-
long one rides `@file.json` or an explicit `-` for stdin (bare NEVER reads stdin
|
|
65
|
-
inherited pipe cannot wedge the one command meant to unblock you).
|
|
60
|
+
long one rides `@file.json` or an explicit `-` for stdin (bare NEVER reads stdin).
|
|
66
61
|
- **`LOTICS_TELEMETRY=1` correlates a whole session** so the authoring loop's rough edges can be
|
|
67
62
|
found and fixed. Off by default; set it in the shell profile, not per command (each invocation is
|
|
68
63
|
its own process). It sends no arguments, no file contents, and no record data — see README
|
|
@@ -93,7 +88,3 @@ whether something exists, read `lotics --help` § COMMANDS — the whole section
|
|
|
93
88
|
`src/agents/<alias>.md` and is pushed by `app agent set`.
|
|
94
89
|
- **OAuth connections.** Attaching a connected account is web-only; the CLI can list them.
|
|
95
90
|
- **Anything needing a browser.** `app dev` and `file preview` shell out to a local Chrome.
|
|
96
|
-
|
|
97
|
-
Everything above is a *known* boundary. When you hit one that is NOT listed here — a verb that
|
|
98
|
-
should exist and does not — that is the gap worth reporting, and `lotics report` is how it reaches
|
|
99
|
-
us. Working around it silently is how it stays missing.
|
package/README.md
CHANGED
|
@@ -23,9 +23,12 @@ time, so a doc or a whole package added upstream shows up without upgrading this
|
|
|
23
23
|
Per-command contracts, flags, exit codes and gotchas are in
|
|
24
24
|
[docs/cli_reference.md](./docs/cli_reference.md); `lotics --help` is the always-current verb list.
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
The platform's primary surfaces have dedicated usage guides that ship inside this
|
|
27
27
|
package (reachable at `node_modules/@lotics/cli/docs/*.md` once installed):
|
|
28
28
|
|
|
29
|
+
- [`docs/building_an_app.md`](docs/building_an_app.md) — building a custom-code app end to end:
|
|
30
|
+
the sequence the steps go in (clarify → model → types → queries → workflows → screens → ship)
|
|
31
|
+
and the deploy-free inner loop. Read it once before starting an app.
|
|
29
32
|
- [`docs/document_templates.md`](docs/document_templates.md) — generate finished documents
|
|
30
33
|
(PDF, Excel, Word, email) by filling reusable templates: the five template types, the
|
|
31
34
|
create → generate → chain lifecycle, and the marker capabilities.
|
|
@@ -33,8 +36,6 @@ package (reachable at `node_modules/@lotics/cli/docs/*.md` once installed):
|
|
|
33
36
|
workspace facts an agent can't guess, the access-vs-activation model, and the
|
|
34
37
|
catalog-then-stage retrieval model agents use to pull only the lines they need.
|
|
35
38
|
|
|
36
|
-
Both point to `lotics tools <name>` for exact input schemas.
|
|
37
|
-
|
|
38
39
|
## Install
|
|
39
40
|
|
|
40
41
|
```bash
|
|
@@ -118,7 +119,7 @@ Every request identifies the CLI (`user-agent: lotics-cli/<version> node/<v> <pl
|
|
|
118
119
|
- Requests carry a session id shared by every command in the sitting — under an agent harness it adopts the harness's own session id, otherwise it rolls over after 30 minutes idle (`~/.lotics/session.json`).
|
|
119
120
|
- Each invocation appends one record to `~/.lotics/telemetry.ndjson` — the command, its exit code, how long it took, and, on a failure, the message that was printed. Batches are sent on a later run; a failed send is retried, never dropped silently.
|
|
120
121
|
|
|
121
|
-
Arguments contribute a **hash** and a **shape** (`records[].data.name:string`) and nothing else — no values, no file contents, no record data. The hash is the point: two failures in a row with the same hash mean the error message did not tell you enough to fix the call
|
|
122
|
+
Arguments contribute a **hash** and a **shape** (`records[].data.name:string`) and nothing else — no values, no file contents, no record data. The hash is the point: two failures in a row with the same hash mean the error message did not tell you enough to fix the call.
|
|
122
123
|
|
|
123
124
|
Unset, nothing is stored, nothing is sent, and no spool file is created.
|
|
124
125
|
|
|
@@ -148,14 +149,10 @@ reconstruct what you *wanted*, and the gap between the two is the report.
|
|
|
148
149
|
| `tried` | | what you already tried, and what it said |
|
|
149
150
|
| `wanted` | | what would have unblocked you |
|
|
150
151
|
|
|
151
|
-
There is no severity or category to pick.
|
|
152
|
-
were trying to do is not recoverable from anywhere else.
|
|
152
|
+
There is no severity or category to pick.
|
|
153
153
|
|
|
154
|
-
Reading from stdin needs an explicit `-`.
|
|
155
|
-
|
|
156
|
-
writer from a descriptor a supervisor left open, so guessing either hangs forever or drops a
|
|
157
|
-
slow writer's report. With `-` the bare form always prints the frame and a piped one waits as
|
|
158
|
-
long as it takes.
|
|
154
|
+
Reading from stdin needs an explicit `-`. With `-` the bare form always prints the frame and a
|
|
155
|
+
piped one waits as long as it takes.
|
|
159
156
|
|
|
160
157
|
If `LOTICS_TELEMETRY=1` is set, the commands from your session attach themselves — don't retype
|
|
161
158
|
them. It runs whether or not telemetry is on (invoking it is the consent that passive recording
|
|
@@ -163,7 +160,7 @@ needs an opt-in for), posts immediately, and tells you if it did not land.
|
|
|
163
160
|
|
|
164
161
|
Do not paste records, file contents, or credentials.
|
|
165
162
|
|
|
166
|
-
In an app project, `lotics app *` commands derive the credential from the directory when nothing explicit chose one: the manifest names the app's workspace, and when exactly one saved profile owns that workspace, that profile is used — the machine-wide default
|
|
163
|
+
In an app project, `lotics app *` commands derive the credential from the directory when nothing explicit chose one: the manifest names the app's workspace, and when exactly one saved profile owns that workspace, that profile is used — the machine-wide default is never consulted. An explicit flag, env var, or directory pin still wins, and an org whose profile remembers a different workspace simply falls through to the announced default.
|
|
167
164
|
|
|
168
165
|
## Workspaces
|
|
169
166
|
|
|
@@ -313,7 +310,6 @@ cat input.json | lotics app agent run app_abc recognize # inputs via stdi
|
|
|
313
310
|
lotics app agent run app_abc recognize --json # full run summary to stdout
|
|
314
311
|
lotics app agent run app_abc recognize --session cli-123 '{}' # continue an existing thread
|
|
315
312
|
|
|
316
|
-
# Dev-link @lotics/ui to packages/ui/src for live HMR (Vite alias; deploy bundles it)
|
|
317
313
|
# Dev-link @lotics/ui to a monorepo checkout for ONE command — nothing is written to disk
|
|
318
314
|
LOTICS_UI_SRC=/abs/monorepo/packages/ui/src lotics app dev
|
|
319
315
|
LOTICS_UI_SRC=/abs/monorepo/packages/ui/src lotics app deploy -m "..." # warns: bundles YOUR kit copy
|