nolo-cli 0.1.43 → 0.1.44

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Bin Zhang
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,290 +1,143 @@
1
- # @nolo/cli
1
+ # nolo-cli
2
2
 
3
- Agent-first terminal client for Nolo.
3
+ Local-first agent automation for open-source maintainers.
4
4
 
5
- `nolo` should be understood as the terminal workspace for Nolo agents. The
6
- existing command mode still wraps repo scripts, but the product direction is a
7
- TUI-first experience similar to Claude Code / Codex CLI:
5
+ [![npm version](https://img.shields.io/npm/v/nolo-cli.svg)](https://www.npmjs.com/package/nolo-cli)
6
+ [![npm downloads](https://img.shields.io/npm/dm/nolo-cli.svg)](https://www.npmjs.com/package/nolo-cli)
7
+ [![test](https://github.com/nolotus/nolo-cli/actions/workflows/test.yml/badge.svg)](https://github.com/nolotus/nolo-cli/actions/workflows/test.yml)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)
8
9
 
9
- - open `nolo` and work inside a persistent Agent session;
10
- - chat with an Agent;
11
- - inspect and manage that Agent's dialogs, docs, tables, skills, and spaces;
12
- - run internal ops/doctor agents with the same mental model;
13
- - use non-interactive commands and `--json` for automation.
10
+ `nolo-cli` is a Bun-powered command-line and TUI client for running local and
11
+ remote AI agents around real repository maintenance. It focuses on practical
12
+ open-source maintainer workflows: Codex-assisted review, issue triage, release
13
+ smoke checks, docs updates, runtime diagnostics, and automation-friendly JSON
14
+ commands.
14
15
 
15
- The current MVP uses a dependency-free readline workspace. It is intentionally
16
- small: status line, text input, lightweight slash commands, and script-backed
17
- Agent chat. A richer Ink UI can replace the rendering layer later without
18
- changing the session model.
16
+ The project is moving toward a no-login, bring-your-own-key local mode:
19
17
 
20
- Inside `nolo`, normal text continues the current dialog after the first agent
21
- reply. Use `/new` when you want a clean dialog. Response token details stay
22
- hidden by default; set `NOLO_SHOW_USAGE=1` when debugging usage.
18
+ - `nolo run "review this repository"` runs a local Codex-style agent in the
19
+ current repository without requiring a Nolo account.
20
+ - Authenticated Nolo workflows remain available for synced agents, dialogs,
21
+ docs, tables, and machine-bound automation.
22
+ - The desktop direction is local-first by default: users should be able to run
23
+ with their own OpenAI, Anthropic, OpenRouter, Codex CLI, Qoder, or other
24
+ provider credentials without depending on hosted Nolo infrastructure.
23
25
 
24
- Nolo is intentionally not trying to copy coding-only CLIs one-for-one. Claude
25
- Code, Codex CLI, and Copilot CLI are strongest when a developer is already
26
- inside a codebase. Nolo's CLI should sit between ordinary users and developers:
27
- one assistant by default, with specialist agents, docs, tables, dialogs, and
28
- synced workspace data one slash command away.
29
-
30
- ## Usage
26
+ The npm package is published as `nolo-cli`:
31
27
 
32
28
  ```bash
33
29
  npm install -g nolo-cli
34
30
  nolo
35
-
36
- # see which install you are running
37
31
  nolo doctor
38
32
  nolo --version
39
-
40
- # no Nolo login required: runs the local Codex CLI in the current directory
41
33
  nolo run "review this repository"
42
-
43
- # update later from your shell
44
- nolo update
45
34
  ```
46
35
 
47
- Inside the TUI, run:
36
+ ## Why This Matters
48
37
 
49
- ```text
50
- /update
51
- ```
38
+ Open-source maintainers are increasingly using coding agents for issue triage,
39
+ pull-request review, release checks, documentation, and repository maintenance.
40
+ Those workflows need more than a single chat box: they need repeatable command
41
+ entry points, local runtime checks, scoped shell permissions, structured
42
+ task/dialog history, release smoke checks, and automation-friendly output.
52
43
 
53
- The npm package expects Bun to be available because the executable is a Bun
54
- TypeScript script.
44
+ `nolo-cli` is aimed at that layer. It is designed to make agent-maintainer
45
+ workflows inspectable and scriptable, while keeping local runtime boundaries
46
+ clear.
55
47
 
56
- For local maintainer workflows, `nolo run "..."` does not require a Nolo
57
- account. It resolves to the built-in `local-codex` agent, runs in the current
58
- working directory, and uses the local Codex CLI installation. This is intended
59
- for repository-local review, triage, and release-check tasks.
48
+ ## Maintainer Workflows
60
49
 
61
- Remote Nolo records and synced workflows still require a token:
50
+ The project is built around ongoing maintainer duties that can be reviewed,
51
+ tested, and improved in public:
62
52
 
63
- ```bash
64
- NOLO_SERVER=https://nolo.chat AUTH_TOKEN=<token> nolo
65
- ```
53
+ - **Pull request review:** run local Codex or another CLI agent against a diff,
54
+ ask for risk-focused review, and keep the review prompt reproducible.
55
+ - **Issue triage:** classify bug reports, installation failures, runtime
56
+ provider issues, and docs gaps into actionable labels.
57
+ - **Release management:** run doctor checks, smoke checks, changelog review,
58
+ and package verification before publishing.
59
+ - **Security review:** keep shell, machine connector, BYOK provider, and token
60
+ boundaries explicit so contributors can reason about local access.
66
61
 
67
- Or save a local profile once:
62
+ See [MAINTAINER_WORKFLOWS.md](./MAINTAINER_WORKFLOWS.md) for concrete command
63
+ patterns and [OPEN_SOURCE_BOUNDARY.md](./OPEN_SOURCE_BOUNDARY.md) for what is
64
+ being opened versus intentionally kept private.
68
65
 
69
- ```bash
70
- nolo login --server https://nolo.chat
71
- nolo whoami
72
- nolo
73
- ```
66
+ ## Public Source
74
67
 
75
- By default, `nolo login` opens the Nolo website and waits for browser
76
- authorization. In SSH or browserless environments, use:
68
+ The first reusable source modules are now mirrored in this repository:
77
69
 
78
- ```bash
79
- nolo login --no-browser
80
- ```
70
+ - [`src/localRun.ts`](./src/localRun.ts) documents and tests the no-login local
71
+ run contract for `nolo run` and `nolo chat`.
72
+ - [`src/providerConfig.ts`](./src/providerConfig.ts) documents the BYOK
73
+ provider credential boundary: public config stores environment variable
74
+ references, not raw API keys.
75
+ - [`src/runtimeBoundary.ts`](./src/runtimeBoundary.ts) documents the local
76
+ runtime boundary for no-login CLI and desktop flows: local provider
77
+ credentials, workspace-scoped shell policy, local persistence, and no remote
78
+ sync by default.
79
+ - [`src/localRun.test.ts`](./src/localRun.test.ts) verifies that shorthand runs
80
+ use local Codex without requiring Nolo auth, while explicit agent runs remain
81
+ distinct.
81
82
 
82
- Then open the printed URL on a logged-in browser. Automation can still save a
83
- token directly:
83
+ Run the public tests with:
84
84
 
85
85
  ```bash
86
- nolo login --server https://nolo.chat --token <token>
86
+ bun test src
87
87
  ```
88
88
 
89
- Local repo development should use `nolo login` or an explicit `AUTH_TOKEN` for
90
- agent runs.
89
+ Current public source status:
91
90
 
92
- Inside the TUI, `/update` is the shortcut for the same global `nolo update`
93
- command.
91
+ | Area | Public evidence |
92
+ | --- | --- |
93
+ | No-login local run | `src/localRun.ts`, `src/localRun.test.ts`, passing GitHub Actions |
94
+ | BYOK provider boundary | `src/providerConfig.ts`, `src/providerConfig.test.ts`, PR #8 |
95
+ | Local runtime boundary | `src/runtimeBoundary.ts`, `src/runtimeBoundary.test.ts`, PR #8 |
96
+ | Release management | `RELEASE_CHECKLIST.md`, issue #9 |
97
+ | Source mirror safety | `OPEN_SOURCE_BOUNDARY.md`, `SOURCE_MIRROR_CHECKLIST.md`, issues #1 and #5 |
94
98
 
95
- ```bash
96
- nolo --help
97
- nolo doctor
98
- nolo update
99
- nolo
100
- nolo run "review this repository"
101
- nolo chat "triage the failing tests"
102
- nolo chat
103
- nolo connect
104
- nolo connect --watch
105
- nolo connect --daemon
106
- nolo daemon --server-url https://api.nolo.chat --machine-key sk_machine_xxx
107
- nolo machine status
108
- nolo run "summarize my latest agent dialogs"
109
- nolo doc create --title "Trip Notes" --body "hello" --sync local,us --dry-run
110
- nolo doc create --title "Proxy Notes" --description "Windows setup" --body-file ./proxy.md --sync local,main,us --allow-secrets
111
- nolo skill-doc create --title "Agent Query Skill" --description "Inspect recent agent dialogs" --body-file ./skill.md --sync local,main,us
112
- nolo space read 01KKY77TT0DA9NY7TNW3R7255N --content-key page-user-id --brief
113
- nolo agent list --json
114
- nolo agent bind-current agent-user-1-agent-1
115
- nolo agent runtime-doctor agent-user-1-agent-1
116
- nolo agent smoke-current agent-user-1-agent-1 --msg "ping"
117
- nolo chat --agent agent-pub-01APPBUILDER00000001YAII3I --msg "你好"
118
- ```
119
-
120
- For document creation, prefer the CLI over direct scripts. Use `nolo doc create`
121
- for ordinary pages and `nolo skill-doc create` for skill-backed pages. Both
122
- support `--sync`, `--dry-run`, `--json`, and `--allow-secrets`, and both write
123
- for the current auth token user rather than a demo bootstrap user.
99
+ ## Project Status
124
100
 
125
- Experimental machine connector commands:
126
-
127
- ```bash
128
- nolo connect # send one machine heartbeat
129
- nolo connect --watch # keep this terminal process online with periodic heartbeats
130
- nolo connect --ws # keep a live connector websocket for bound agent runs
131
- nolo connect --daemon # start connect --ws silently in the background
132
- nolo daemon --server-url https://api.nolo.chat --machine-key sk_machine_xxx
133
- nolo machine status # list machines registered to the current profile
134
- ```
101
+ This repository is the public OSS entry point for the CLI project. The package
102
+ is actively maintained and has frequent releases on npm. As of June 2026,
103
+ `nolo-cli` is prepared at version `0.1.44`; npm reports about 3.5k downloads
104
+ for the last-month window ending 2026-06-02.
135
105
 
136
- These commands only register machine presence and runtime capabilities today.
137
- They do not expose shell, file-write, or raw local LLM endpoints.
106
+ The current implementation is developed in a broader private monorepo because
107
+ it shares product infrastructure with Nolo. Public source mirroring is being
108
+ prepared in a staged way so that reusable CLI, local runtime, provider adapter,
109
+ desktop local-mode, docs, tests, and maintainer workflow code can be opened
110
+ without exposing private product records, credentials, production operations,
111
+ billing systems, or user-data paths.
138
112
 
139
- Run a Slock-style connector command:
113
+ See [OPEN_SOURCE_STATUS.md](./OPEN_SOURCE_STATUS.md) and
114
+ [ROADMAP.md](./ROADMAP.md) for the public-source migration plan.
140
115
 
141
- ```bash
142
- nolo daemon --server-url https://api.nolo.chat --machine-key sk_machine_xxx
143
- ```
144
-
145
- Future published package shape:
146
-
147
- ```bash
148
- npx @nolo/daemon@latest --server-url https://api.nolo.chat --machine-key sk_machine_xxx
149
- ```
116
+ ## Maintenance Scope
150
117
 
151
- The daemon registers this computer, reports local CLI capabilities, keeps a live
152
- websocket open, and executes bound CLI agents on this computer. Agents bind to a
153
- machine, not to a workspace or project folder.
118
+ The public maintenance scope for this project is:
154
119
 
155
- Bind an agent to the current machine:
120
+ - Agent-first terminal and TUI workflows for OSS maintainers.
121
+ - No-login local agent runs in the current repository.
122
+ - BYOK provider configuration for CLI and desktop local mode.
123
+ - Local-first agent runtime boundaries and scoped shell permissions.
124
+ - Runtime doctor, release smoke-check, and package verification workflows.
125
+ - Optional authenticated commands for synced Nolo agents, dialogs, docs, tables,
126
+ and machine connectors.
156
127
 
157
- ```bash
158
- nolo agent bind-current <agentKey>
159
- ```
160
-
161
- The agent keeps its own CLI settings. The binding only records which connected
162
- machine must be online when that agent runs.
163
-
164
- Run a one-command connector smoke test:
165
-
166
- ```bash
167
- nolo agent runtime-doctor <agentKey>
168
- nolo agent smoke-current <agentKey> --msg "ping"
169
- ```
170
-
171
- `runtime-doctor` checks whether the agent is a CLI agent and whether the current
172
- machine has the required CLI capability. `smoke-current` heartbeats the current
173
- machine, binds the agent to it, opens a temporary connector websocket, calls
174
- `/api/agent/run`, and prints the returned dialog id/content.
175
-
176
- ## Product Shape
177
-
178
- The preferred command model is Agent-first:
179
-
180
- ```bash
181
- nolo agent list
182
- nolo agent switch <agent>
183
- nolo agent read <agent>
184
- nolo agent update <agent> --model gpt-5.4 --cli-provider codex --api-source cli
185
- nolo agent run <agent> "检查最近失败任务"
186
- nolo agent run frontend-implementer --msg "修一个小的通知弹窗 CSS 问题"
187
- nolo agent list --space <space>
188
- nolo dialog list
189
- nolo dialog list --space <space>
190
- nolo dialog read <dialog>
191
- nolo dialog delete <dialog...> --yes
192
- nolo doc list --agent <agent>
193
- nolo table query --table meta-0e95801d90-NOLOTASKBOARD --limit 20
194
- nolo table query --table meta-0e95801d90-NOLOTASKBOARD --columns '["title","status","owner","priority","codeStatus"]' --no-base-fields --output items
195
- nolo table update-row --table meta-0e95801d90-NOLOTASKBOARD --row 01ROWID --changes '{"status":"已完成"}'
196
- nolo table add-column --table meta-0e95801d90-NOLOTASKBOARD --schema-write-ok --name "blockedBy" --label "Blocked By"
197
- ```
198
-
199
- `agent list`, `dialog list`, and record delete commands use global server
200
- candidates for the current CLI profile: the selected `--server` / `NOLO_SERVER`
201
- plus known Nolo cluster peers. List commands merge tombstones so a newer delete
202
- on one server hides older live records from another. Dialog, doc, skill-doc,
203
- space, and agent public-record deletes send the delete to all target servers;
204
- each server applies the normal tombstone/cascade behavior for that record type.
205
-
206
- `nolo table add-column` mutates table schema metadata, so it requires
207
- `--schema-write-ok` and should be run serially per table. Row-level table writes
208
- do not require this flag.
209
-
210
- For agent config inspection and small config mutations, prefer the CLI-native
211
- commands instead of ad hoc scripts:
212
-
213
- - `nolo agent list` is CLI-native and prefers the local cache, then degrades to
214
- remote query when the local LevelDB cache is unavailable or locked.
215
- - `nolo agent read <agent>` reads local cached agent records first, then falls
216
- back to remote fetch + local cache refresh across known server candidates.
217
- - if the local LevelDB cache is unavailable or locked, `nolo agent read`
218
- degrades to remote-only lookup instead of hard-failing on the local DB.
219
- - `nolo agent update <agent> ...` is CLI-native and supports small targeted
220
- updates such as `--model`, `--cli-provider`, `--api-source`, and repeated
221
- `--field key=value`.
222
-
223
- Account ownership matters for private agent maintenance. Default new tests,
224
- validation dialogs, task-board writes, machine-bound agent runs, and
225
- user-visible results should write to the current operator account
226
- `0e95801d90`. The legacy
227
- `b2e06f801f` / platform-demo account still owns older public/shared records, but
228
- it is being retired as the default write target. Use `nolo agent read`,
229
- `nolo agent update`, and repo-native helpers as the normal entrypoints; only
230
- owner-only operations that explicitly target legacy records should use the
231
- maintained platform-demo token from `scripts/testUtils.ts` or a regenerated
232
- token from `scripts/generateToken.ts`. Do not copy token strings into docs,
233
- logs, or prompts.
234
-
235
- Inside the current TUI, examples of supported slash commands include:
236
- `/agent`, `/agents`, `/switch`, `/context` (alias `/ctx`), `/dialog`, `/doc`,
237
- `/help`, `/new`, `/customize`, `/login`, `/profile`, `/version`, `/quit`
238
- (alias `/exit`), and `/update` (which maps to `nolo update`).
239
-
240
- Future product-direction examples for the broader TUI command model:
241
-
242
- ```text
243
- /agent list
244
- /agent switch ops
245
- /dialog open latest
246
- /doc list
247
- /table query builtin-dialog-probe-runs
248
- ```
249
-
250
- See [`docs/nolo-cli-tui.md`](../../docs/nolo-cli-tui.md) for the product and
251
- technical direction.
252
-
253
- ## Building for Publish
254
-
255
- The CLI is developed in a monorepo with workspace dependencies (`ai` and
256
- `connector-experimental`). To generate a publish-safe package that can be
257
- installed via npm outside the monorepo:
258
-
259
- ```bash
260
- bun run build:publish
261
- ```
262
-
263
- This creates a `dist/` directory with:
264
- - All source files from the `files` array in package.json
265
- - Inlined workspace dependencies (copied as nested directories)
266
- - A modified package.json with workspace dependencies stripped
267
-
268
- The `dist/` directory is the publish-safe artifact consumed by the CI npm
269
- publish workflow:
270
-
271
- ```bash
272
- bun ./scripts/release/prepareCliPublishPackage.ts --out-dir .tmp/nolo-cli-publish
273
- cd .tmp/nolo-cli-publish
274
- npm pack
275
- ```
128
+ ## Links
276
129
 
277
- For this repository, the default release path for `nolo-cli` is the GitHub
278
- Actions workflow [`.github/workflows/cli-npm-publish.yml`](../../.github/workflows/cli-npm-publish.yml).
279
- Use local `npm pack` or tarball-based `npm install -g` as preflight verification.
280
- Do not treat manual local `npm publish` as the normal release route unless you
281
- are intentionally debugging the CI publish lane.
130
+ - npm package: https://www.npmjs.com/package/nolo-cli
131
+ - Nolo: https://nolo.chat
132
+ - Maintainer workflows: [MAINTAINER_WORKFLOWS.md](./MAINTAINER_WORKFLOWS.md)
133
+ - Open-source boundary: [OPEN_SOURCE_BOUNDARY.md](./OPEN_SOURCE_BOUNDARY.md)
134
+ - Open-source status: [OPEN_SOURCE_STATUS.md](./OPEN_SOURCE_STATUS.md)
135
+ - Roadmap: [ROADMAP.md](./ROADMAP.md)
136
+ - BYOK provider setup: [docs/provider-setup.md](./docs/provider-setup.md)
137
+ - Desktop local mode: [docs/desktop-local-mode.md](./docs/desktop-local-mode.md)
138
+ - Release checklist: [RELEASE_CHECKLIST.md](./RELEASE_CHECKLIST.md)
139
+ - Source mirror checklist: [SOURCE_MIRROR_CHECKLIST.md](./SOURCE_MIRROR_CHECKLIST.md)
282
140
 
283
- Key differences between repo-local and published versions:
284
- - **Repo-local**: Runs from source (`packages/cli/index.ts`) with workspace
285
- dependencies resolved by the monorepo
286
- - **Published**: Runs from dist (`dist/index.ts`) with workspace dependencies
287
- inlined as nested directories
141
+ ## License
288
142
 
289
- Both versions use the same Bun runtime and TypeScript source files. The build
290
- process does not transpile; it only restructures the package for standalone use.
143
+ MIT
@@ -153,6 +153,34 @@ const resolveRecordTimestamp = (record: UserContentRecord): string | number =>
153
153
  record.created ??
154
154
  0;
155
155
 
156
+ export function buildOwnedAppContentItems(
157
+ apps: readonly AppSummary[],
158
+ myAppsLabel: string
159
+ ): OwnedAppContentItem[] {
160
+ return apps
161
+ .flatMap((app): OwnedAppContentItem[] => {
162
+ const contentKey = app.appKey ?? normalizeAppRouteId(app.appId ?? "");
163
+ if (!contentKey) return [];
164
+ const timestamp = app.modifiedOn ?? 0;
165
+ return [
166
+ {
167
+ source: "owned-app",
168
+ title: typeof app.name === "string" && app.name.trim() ? app.name : contentKey,
169
+ type: ContentType.APP,
170
+ contentKey,
171
+ pinned: false,
172
+ createdAt: timestamp,
173
+ updatedAt: timestamp,
174
+ spaceId: null,
175
+ spaceName: myAppsLabel,
176
+ serverOrigin: app.serverOrigin,
177
+ app,
178
+ },
179
+ ];
180
+ })
181
+ .sort((left, right) => toTimestamp(right.updatedAt) - toTimestamp(left.updatedAt));
182
+ }
183
+
156
184
  export function buildMyContentItemsFromUserData(
157
185
  records: UserContentRecord[],
158
186
  currentServer: string,
@@ -1996,7 +1996,7 @@ describe("CLI local runtime adapter", () => {
1996
1996
  cliWorkspaceTool: true,
1997
1997
  exitCode: 0,
1998
1998
  });
1999
- expect(spawnCalls[0]?.cmd.at(-5)?.endsWith("packages/cli/index.ts")).toBe(true);
1999
+ expect(spawnCalls[0]?.cmd.at(-5)?.endsWith("index.ts")).toBe(true);
2000
2000
  expect(spawnCalls[0]?.cmd.slice(-4)).toEqual([
2001
2001
  "dialog",
2002
2002
  "list",
@@ -12,6 +12,7 @@ describe("CLI local runtime dry run", () => {
12
12
  "readFile",
13
13
  "writeFile",
14
14
  "editFile",
15
+ "globFiles",
15
16
  "searchFiles",
16
17
  "execShell",
17
18
  "listDialogs",
@@ -22,6 +23,7 @@ describe("CLI local runtime dry run", () => {
22
23
  "readSpace",
23
24
  "readDoc",
24
25
  "readSkillDoc",
26
+ "listTables",
25
27
  "queryTableRows",
26
28
  "cliWhoami",
27
29
  "cliDoctor",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nolo-cli",
3
- "version": "0.1.43",
3
+ "version": "0.1.44",
4
4
  "type": "module",
5
5
  "description": "Agent-first terminal workspace for Nolo",
6
6
  "repository": {
@@ -15,6 +15,10 @@
15
15
  "nolo": "index.ts"
16
16
  },
17
17
  "module": "index.ts",
18
+ "scripts": {
19
+ "test": "bun test",
20
+ "pack:dry-run": "npm pack --dry-run"
21
+ },
18
22
  "files": [
19
23
  "index.ts",
20
24
  "agentRuntimeLocal.ts",
@@ -60,38 +64,38 @@
60
64
  "runtimeModeArgs.ts",
61
65
  "tableCommands.ts",
62
66
  "updateCommands.ts",
63
- "client/agentRun.ts",
64
- "client/streamingOutput.ts",
65
- "client/localRuntimeAdapter.ts",
66
- "client/compactDialog.test.ts",
67
- "client/localProviderResolver.ts",
67
+ "client/localAgentRecords.ts",
68
68
  "client/localDialogRecords.ts",
69
+ "client/localToolPolicy.test.ts",
70
+ "client/localRuntimeAdapter.ts",
71
+ "client/localDialogRecords.test.ts",
72
+ "client/agentConfigResolver.ts",
69
73
  "client/localAgentRecords.test.ts",
70
- "client/compactDialog.ts",
71
- "client/hybridRecordStore.ts",
72
74
  "client/agentConfigResolver.test.ts",
73
- "client/localAgentRecords.ts",
74
75
  "client/localProviderResolver.test.ts",
75
- "client/localToolPolicy.test.ts",
76
- "client/localRuntimeDryRun.test.ts",
77
- "client/agentConfigResolver.ts",
76
+ "client/hybridRecordStore.test.ts",
77
+ "client/localRuntimeAdapter.test.ts",
78
78
  "client/localToolPolicy.ts",
79
- "client/localDialogRecords.test.ts",
80
- "client/agentRun.test.ts",
79
+ "client/compactDialog.ts",
81
80
  "client/streamingOutput.test.ts",
82
- "client/hybridRecordStore.test.ts",
83
81
  "client/profileConfig.ts",
84
82
  "client/profileConfig.test.ts",
85
- "client/localRuntimeAdapter.test.ts",
86
- "tui/session.ts",
83
+ "client/streamingOutput.ts",
84
+ "client/hybridRecordStore.ts",
85
+ "client/compactDialog.test.ts",
86
+ "client/agentRun.test.ts",
87
+ "client/localRuntimeDryRun.test.ts",
88
+ "client/agentRun.ts",
89
+ "client/localProviderResolver.ts",
87
90
  "tui/readlineWorkspace.ts",
91
+ "tui/session.ts",
88
92
  "README.md",
89
- "ai/index.ts",
90
93
  "ai/agent.ts",
91
94
  "ai/agent/agentSlice.ts",
92
95
  "ai/agent/machineRunPermissions.ts",
93
- "connector-experimental/protocol.ts",
96
+ "ai/index.ts",
94
97
  "connector-experimental/machineInfo.ts",
98
+ "connector-experimental/protocol.ts",
95
99
  "machineDaemonCommands.ts",
96
100
  "machineHeartbeatCommands.ts",
97
101
  "machineWatchCommands.ts",
@@ -161,11 +165,11 @@
161
165
  "cli/machineStatusCommands.ts",
162
166
  "cli/authCommands.ts",
163
167
  "cli/tableCommands.ts",
164
- "cli/client/streamingOutput.ts",
168
+ "cli/client/localToolPolicy.ts",
165
169
  "cli/client/agentConfigResolver.ts",
166
170
  "cli/client/localProviderResolver.ts",
167
171
  "cli/client/localDialogRecords.ts",
168
- "cli/client/localToolPolicy.ts",
172
+ "cli/client/streamingOutput.ts",
169
173
  "cli/client/compactDialog.ts",
170
174
  "cli/tui/session.ts",
171
175
  "cli/connectorRunArtifact.ts",