@otto-code/cli 0.7.6 → 0.8.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/commands/agent/delete.d.ts +1 -1
- package/dist/commands/agent/delete.js +1 -1
- package/dist/commands/agent/send.js +1 -1
- package/dist/commands/daemon/local-daemon.js +2 -2
- package/dist/commands/provider/ls.js +1 -1
- package/dist/utils/paths.js +1 -1
- package/dist/utils/provider-model.d.ts +1 -1
- package/dist/utils/provider-model.js +1 -1
- package/package.json +5 -5
|
@@ -22,7 +22,7 @@ export type AgentDeleteScope = "active" | "archived" | "both";
|
|
|
22
22
|
* `--all` / `--cwd` still mean active-only.
|
|
23
23
|
*
|
|
24
24
|
* Both flags at once is contradictory ("only archived" and "also archived"), so
|
|
25
|
-
* it is refused rather than guessed
|
|
25
|
+
* it is refused rather than guessed - this command is irreversible.
|
|
26
26
|
*/
|
|
27
27
|
export declare function resolveAgentDeleteScope(options: {
|
|
28
28
|
archived?: boolean;
|
|
@@ -20,7 +20,7 @@ export const deleteSchema = {
|
|
|
20
20
|
* `--all` / `--cwd` still mean active-only.
|
|
21
21
|
*
|
|
22
22
|
* Both flags at once is contradictory ("only archived" and "also archived"), so
|
|
23
|
-
* it is refused rather than guessed
|
|
23
|
+
* it is refused rather than guessed - this command is irreversible.
|
|
24
24
|
*/
|
|
25
25
|
export function resolveAgentDeleteScope(options) {
|
|
26
26
|
if (options.archived && options.includeArchived) {
|
|
@@ -153,7 +153,7 @@ export async function runSendCommand(agentIdArg, prompt, options, _command) {
|
|
|
153
153
|
images,
|
|
154
154
|
...(options.queue ? { delivery: "queue" } : {}),
|
|
155
155
|
});
|
|
156
|
-
// A queued message has no run to wait for yet
|
|
156
|
+
// A queued message has no run to wait for yet - it starts when the current
|
|
157
157
|
// turn ends, so report it and return rather than blocking on --wait.
|
|
158
158
|
if (dispatch.queued) {
|
|
159
159
|
await client.close();
|
|
@@ -79,9 +79,9 @@ function buildChildEnv(options) {
|
|
|
79
79
|
// A packaged desktop build runs this CLI on the Electron binary
|
|
80
80
|
// (`process.execPath` is e.g. /opt/Otto/Otto). Spawning the daemon through that
|
|
81
81
|
// binary then needs two things the plain-Node path doesn't:
|
|
82
|
-
// 1. ELECTRON_RUN_AS_NODE=1
|
|
82
|
+
// 1. ELECTRON_RUN_AS_NODE=1 - otherwise the binary boots as the Otto GUI/CLI
|
|
83
83
|
// (commander) and rejects the daemon entry as an "unknown command".
|
|
84
|
-
// 2. The unpacked node-entrypoint-runner
|
|
84
|
+
// 2. The unpacked node-entrypoint-runner - the supervisor entry resolves to a
|
|
85
85
|
// path inside app.asar, which can't be the direct entry under
|
|
86
86
|
// ELECTRON_RUN_AS_NODE, so it must be loaded via the runner (mirroring the
|
|
87
87
|
// desktop daemon-manager: `<runner> node-script <entry>`).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AGENT_PROVIDER_DEFINITIONS } from "@otto-code/protocol/provider-manifest";
|
|
2
2
|
import { tryConnectToDaemon } from "../../utils/client.js";
|
|
3
|
-
/** Derive provider list from the manifest
|
|
3
|
+
/** Derive provider list from the manifest - single source of truth */
|
|
4
4
|
const PROVIDERS = AGENT_PROVIDER_DEFINITIONS.map((def) => ({
|
|
5
5
|
provider: def.id,
|
|
6
6
|
label: def.label,
|
package/dist/utils/paths.js
CHANGED
|
@@ -12,7 +12,7 @@ export function isSameOrDescendantPath(basePath, candidatePath) {
|
|
|
12
12
|
// Normalize both paths: replace all backslashes with forward slashes, strip trailing separator
|
|
13
13
|
let normalizedBase = basePath.replace(/\\/g, "/").replace(/\/$/, "");
|
|
14
14
|
let normalizedCandidate = candidatePath.replace(/\\/g, "/").replace(/\/$/, "");
|
|
15
|
-
// Windows paths are case-insensitive
|
|
15
|
+
// Windows paths are case-insensitive - detect by drive letter prefix (e.g. "C:/")
|
|
16
16
|
if (/^[a-zA-Z]:\//.test(normalizedBase) || /^[a-zA-Z]:\//.test(normalizedCandidate)) {
|
|
17
17
|
normalizedBase = normalizedBase.toLowerCase();
|
|
18
18
|
normalizedCandidate = normalizedCandidate.toLowerCase();
|
|
@@ -13,7 +13,7 @@ export interface ResolvedProviderModel {
|
|
|
13
13
|
*
|
|
14
14
|
* Callers run this **before** connecting. Full resolution happens after a connection because it
|
|
15
15
|
* consults the host (personalities, defaults), so leaving this check there meant a plainly
|
|
16
|
-
* malformed command line reported "Cannot connect to daemon" instead of the real problem
|
|
16
|
+
* malformed command line reported "Cannot connect to daemon" instead of the real problem - and
|
|
17
17
|
* only on machines without a daemon running, which is why it read as a CI-only failure.
|
|
18
18
|
*
|
|
19
19
|
* Silent when either input is absent or they agree; `resolveProviderAndModel` still repeats the
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Callers run this **before** connecting. Full resolution happens after a connection because it
|
|
6
6
|
* consults the host (personalities, defaults), so leaving this check there meant a plainly
|
|
7
|
-
* malformed command line reported "Cannot connect to daemon" instead of the real problem
|
|
7
|
+
* malformed command line reported "Cannot connect to daemon" instead of the real problem - and
|
|
8
8
|
* only on machines without a daemon running, which is why it read as a CI-only failure.
|
|
9
9
|
*
|
|
10
10
|
* Silent when either input is absent or they agree; `resolveProviderAndModel` still repeats the
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@otto-code/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Otto CLI - control your AI coding agents from the command line",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"bin": {
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@clack/prompts": "^1.0.0",
|
|
32
|
-
"@otto-code/brain": "0.
|
|
33
|
-
"@otto-code/client": "0.
|
|
34
|
-
"@otto-code/protocol": "0.
|
|
35
|
-
"@otto-code/server": "0.
|
|
32
|
+
"@otto-code/brain": "0.8.0",
|
|
33
|
+
"@otto-code/client": "0.8.0",
|
|
34
|
+
"@otto-code/protocol": "0.8.0",
|
|
35
|
+
"@otto-code/server": "0.8.0",
|
|
36
36
|
"chalk": "^5.3.0",
|
|
37
37
|
"commander": "^12.0.0",
|
|
38
38
|
"mime-types": "^2.1.35",
|