@lotics/cli 0.308.0 → 0.309.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/dist/src/cli.js +4 -4
- package/docs/agent_surface.md +1 -1
- package/docs/app_bindings.md +11 -9
- package/package.json +1 -1
package/docs/agent_surface.md
CHANGED
|
@@ -229,7 +229,7 @@ a reading's `alias` take no name the app generates (`lotics docs model/app.gener
|
|
|
229
229
|
```
|
|
230
230
|
|
|
231
231
|
`lotics run set_app_workflow` sets its body (`lotics docs workflows`). A query set on a model's app outside
|
|
232
|
-
the model (`set_app_queries
|
|
232
|
+
the model (`set_app_queries`, on the CLI or in chat) is removed by the next apply, whose plan and answer note it; declared under
|
|
233
233
|
its alias in `queries`, it is the model's. A caller sees the description and
|
|
234
234
|
each input's `description` and nothing else, so each says what the value is and what leaving it out means;
|
|
235
235
|
`check_model` notes one that says nothing.
|
package/docs/app_bindings.md
CHANGED
|
@@ -5,15 +5,15 @@ under an alias — a JS identifier (`/^[a-zA-Z_$][a-zA-Z0-9_$]*$/`):
|
|
|
5
5
|
|
|
6
6
|
| Binding | Declared with | The app calls it with | An agent calls it with |
|
|
7
7
|
|---|---|---|---|
|
|
8
|
-
| Query | `set_app_queries` | `useQuery("<alias>", params?)` | `run_app_query` |
|
|
8
|
+
| Query | `set_app_queries` (CLI, chat) | `useQuery("<alias>", params?)` | `run_app_query` |
|
|
9
9
|
| Workflow | `set_app_workflow` | `useWorkflow("<alias>")({ ...inputs })` | `run_app_workflow` |
|
|
10
|
-
| Agent | `set_app_agent` | `useAgentRun("<alias>")({ ...inputs })` | — |
|
|
10
|
+
| Agent | `set_app_agent` (CLI, chat) | `useAgentRun("<alias>")({ ...inputs })` | — |
|
|
11
11
|
|
|
12
12
|
Each runs under the app's authority (`{ type: "app", app_id }`), the app owner's reach — never the
|
|
13
13
|
calling member's. Declaring one needs the app's owner or an admin. A write is live: the app's next
|
|
14
14
|
call uses it. `get_app_capabilities` lists an app's aliases with their params and inputs.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
On the CLI and in chat, each reader returns a fingerprint of what it read — `get_app_query`'s `sha`, `get_app_workflow`'s
|
|
17
17
|
`body_sha`, `get_app_agent`'s `instructions_sha` — and a write built on that read passes it back:
|
|
18
18
|
`set_app_queries`' `expected_shas` (alias → `sha`), `set_app_workflow`'s `expected_body_sha`,
|
|
19
19
|
`set_app_agent`'s `expected_instructions_sha`, `remove_app_binding`'s `expected_sha`. The write is
|
|
@@ -38,7 +38,7 @@ A save checks what a deploy checks: every table is in this workspace and within
|
|
|
38
38
|
every projected, filtered and sorted field resolves, every param token is declared, and a key a
|
|
39
39
|
node's kind does not take (a stray `sort`, `limit`, `filter`, `search`) is refused by name.
|
|
40
40
|
|
|
41
|
-
`set_app_queries` takes `{ <alias>: <declaration> }`, one alias or several, and merges each: send
|
|
41
|
+
On the CLI and in chat, `set_app_queries` takes `{ <alias>: <declaration> }`, one alias or several, and merges each: send
|
|
42
42
|
only the fields you change, `null` clears `params`, `description` or `templates` (never `ast`), and a
|
|
43
43
|
new alias needs an `ast`. Any other field is refused by name. An alias it omits is kept.
|
|
44
44
|
`remove_app_binding` with `kind: "query"` deletes one; `get_app_query` reads one back.
|
|
@@ -146,13 +146,15 @@ refused as an alias the app does not have.
|
|
|
146
146
|
- A call whose payload does not match `inputs` is refused before the body runs.
|
|
147
147
|
|
|
148
148
|
`get_app_workflow` reads the body back; `dry_run_workflow` with `trigger_type: "app_workflow"`
|
|
149
|
-
runs it against sample inputs before binding; `remove_app_binding` with
|
|
150
|
-
it.
|
|
149
|
+
runs it against sample inputs before binding; on the CLI and in chat, `remove_app_binding` with
|
|
150
|
+
`kind: "workflow"` unbinds it.
|
|
151
151
|
|
|
152
152
|
## Agents
|
|
153
153
|
|
|
154
|
-
`set_app_agent` binds a streaming tool-loop agent to an alias. A run streams its work to the app,
|
|
155
|
-
returns a typed result and keeps a run history per session.
|
|
154
|
+
On the CLI and in chat, `set_app_agent` binds a streaming tool-loop agent to an alias. A run streams its work to the app,
|
|
155
|
+
returns a typed result and keeps a run history per session.
|
|
156
|
+
|
|
157
|
+
The declaration:
|
|
156
158
|
|
|
157
159
|
- `instructions` — the task, every run. A new alias needs it.
|
|
158
160
|
- `tool_names` — the tools it may call, from these and no other: `analyze_pdf_template`,
|
|
@@ -189,4 +191,4 @@ returns a typed result and keeps a run history per session. The declaration:
|
|
|
189
191
|
table. A result that validates is written to that row under the app's authority.
|
|
190
192
|
|
|
191
193
|
Send only what you change: an omitted field keeps its stored value, `null` clears an optional one.
|
|
192
|
-
`get_app_agent` reads one back; `remove_app_binding` with `kind: "agent"` deletes it.
|
|
194
|
+
On the CLI and in chat, `get_app_agent` reads one back; `remove_app_binding` with `kind: "agent"` deletes it.
|