@phnx-labs/agents-cli 1.14.2 → 1.14.4
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 +17 -7
- package/dist/browser.d.ts +2 -0
- package/dist/browser.js +7 -0
- package/dist/commands/browser.d.ts +3 -0
- package/dist/commands/browser.js +392 -0
- package/dist/commands/daemon.js +1 -1
- package/dist/commands/doctor.d.ts +16 -9
- package/dist/commands/doctor.js +248 -12
- package/dist/commands/prune.js +9 -3
- package/dist/commands/refresh-rules.d.ts +15 -0
- package/dist/commands/{refresh-memory.js → refresh-rules.js} +14 -14
- package/dist/commands/routines.js +1 -1
- package/dist/commands/rules.js +100 -4
- package/dist/commands/secrets.js +198 -11
- package/dist/commands/sync.js +19 -0
- package/dist/commands/teams.js +184 -22
- package/dist/commands/trash.d.ts +10 -0
- package/dist/commands/trash.js +187 -0
- package/dist/commands/view.js +47 -14
- package/dist/index.js +62 -4
- package/dist/lib/agents.js +2 -2
- package/dist/lib/browser/cdp.d.ts +24 -0
- package/dist/lib/browser/cdp.js +94 -0
- package/dist/lib/browser/chrome.d.ts +16 -0
- package/dist/lib/browser/chrome.js +157 -0
- package/dist/lib/browser/drivers/local.d.ts +8 -0
- package/dist/lib/browser/drivers/local.js +22 -0
- package/dist/lib/browser/drivers/ssh.d.ts +9 -0
- package/dist/lib/browser/drivers/ssh.js +129 -0
- package/dist/lib/browser/index.d.ts +5 -0
- package/dist/lib/browser/index.js +5 -0
- package/dist/lib/browser/input.d.ts +6 -0
- package/dist/lib/browser/input.js +52 -0
- package/dist/lib/browser/ipc.d.ts +12 -0
- package/dist/lib/browser/ipc.js +223 -0
- package/dist/lib/browser/profiles.d.ts +11 -0
- package/dist/lib/browser/profiles.js +61 -0
- package/dist/lib/browser/refs.d.ts +21 -0
- package/dist/lib/browser/refs.js +88 -0
- package/dist/lib/browser/service.d.ts +45 -0
- package/dist/lib/browser/service.js +404 -0
- package/dist/lib/browser/types.d.ts +73 -0
- package/dist/lib/browser/types.js +7 -0
- package/dist/lib/cloud/codex.js +1 -1
- package/dist/lib/cloud/registry.js +2 -2
- package/dist/lib/cloud/rush.js +2 -2
- package/dist/lib/cloud/store.js +2 -2
- package/dist/lib/daemon.d.ts +1 -1
- package/dist/lib/daemon.js +47 -11
- package/dist/lib/diff-text.d.ts +25 -0
- package/dist/lib/diff-text.js +47 -0
- package/dist/lib/doctor-diff.d.ts +64 -0
- package/dist/lib/doctor-diff.js +497 -0
- package/dist/lib/git.js +3 -3
- package/dist/lib/hooks.d.ts +6 -0
- package/dist/lib/hooks.js +6 -1
- package/dist/lib/migrate.js +123 -0
- package/dist/lib/pty-client.js +3 -3
- package/dist/lib/pty-server.js +36 -7
- package/dist/lib/resources/commands.d.ts +46 -0
- package/dist/lib/resources/commands.js +208 -0
- package/dist/lib/resources/hooks.d.ts +12 -0
- package/dist/lib/resources/hooks.js +136 -0
- package/dist/lib/resources/index.d.ts +36 -0
- package/dist/lib/resources/index.js +69 -0
- package/dist/lib/resources/mcp.d.ts +34 -0
- package/dist/lib/resources/mcp.js +483 -0
- package/dist/lib/resources/permissions.d.ts +13 -0
- package/dist/lib/resources/permissions.js +184 -0
- package/dist/lib/resources/rules.d.ts +43 -0
- package/dist/lib/resources/rules.js +146 -0
- package/dist/lib/resources/skills.d.ts +37 -0
- package/dist/lib/resources/skills.js +238 -0
- package/dist/lib/resources/subagents.d.ts +46 -0
- package/dist/lib/resources/subagents.js +198 -0
- package/dist/lib/resources/types.d.ts +82 -0
- package/dist/lib/resources/types.js +8 -0
- package/dist/lib/resources.js +1 -1
- package/dist/lib/rotate.d.ts +8 -1
- package/dist/lib/rotate.js +17 -4
- package/dist/lib/rules/compile.d.ts +104 -0
- package/dist/lib/{memory-compile.js → rules/compile.js} +160 -21
- package/dist/lib/rules/compose.d.ts +78 -0
- package/dist/lib/rules/compose.js +170 -0
- package/dist/lib/{memory.d.ts → rules/rules.d.ts} +5 -5
- package/dist/lib/{memory.js → rules/rules.js} +10 -10
- package/dist/lib/secrets/AgentsKeychain.app/Contents/CodeResources +0 -0
- package/dist/lib/secrets/AgentsKeychain.app/Contents/MacOS/AgentsKeychain +0 -0
- package/dist/lib/secrets/bundles.d.ts +61 -4
- package/dist/lib/secrets/bundles.js +222 -54
- package/dist/lib/secrets/index.d.ts +24 -5
- package/dist/lib/secrets/index.js +70 -41
- package/dist/lib/session/active.js +5 -5
- package/dist/lib/session/db.js +4 -4
- package/dist/lib/session/discover.js +2 -2
- package/dist/lib/session/render.js +21 -7
- package/dist/lib/shims.d.ts +28 -4
- package/dist/lib/shims.js +72 -14
- package/dist/lib/state.d.ts +22 -28
- package/dist/lib/state.js +83 -78
- package/dist/lib/sync-manifest.d.ts +2 -2
- package/dist/lib/sync-manifest.js +5 -5
- package/dist/lib/teams/agents.d.ts +4 -2
- package/dist/lib/teams/agents.js +11 -4
- package/dist/lib/teams/api.d.ts +1 -1
- package/dist/lib/teams/api.js +2 -2
- package/dist/lib/teams/index.d.ts +1 -0
- package/dist/lib/teams/index.js +1 -0
- package/dist/lib/teams/persistence.js +3 -3
- package/dist/lib/teams/registry.d.ts +12 -1
- package/dist/lib/teams/registry.js +12 -2
- package/dist/lib/teams/worktree.d.ts +30 -0
- package/dist/lib/teams/worktree.js +96 -0
- package/dist/lib/types.d.ts +12 -6
- package/dist/lib/types.js +3 -3
- package/dist/lib/versions.d.ts +32 -3
- package/dist/lib/versions.js +147 -119
- package/package.json +3 -2
- package/scripts/postinstall.js +29 -0
- package/dist/commands/refresh-memory.d.ts +0 -15
- package/dist/lib/memory-compile.d.ts +0 -66
package/scripts/postinstall.js
CHANGED
|
@@ -48,6 +48,35 @@ function runMigrations() {
|
|
|
48
48
|
fs.unlinkSync(configSrc);
|
|
49
49
|
} catch { /* best-effort */ }
|
|
50
50
|
}
|
|
51
|
+
|
|
52
|
+
// 4. Move installed agent versions from ~/.agents/versions/ -> ~/.agents-system/versions/
|
|
53
|
+
// Pre-split layout put binaries under the user repo. Post-split, listInstalledVersions
|
|
54
|
+
// only scans the system root, so legacy installs become invisible without this move.
|
|
55
|
+
const userVersions = path.join(USER_DIR, 'versions');
|
|
56
|
+
const sysVersions = path.join(SYSTEM_DIR, 'versions');
|
|
57
|
+
if (fs.existsSync(userVersions)) {
|
|
58
|
+
try {
|
|
59
|
+
let moved = 0;
|
|
60
|
+
let skipped = 0;
|
|
61
|
+
for (const agent of fs.readdirSync(userVersions, { withFileTypes: true })) {
|
|
62
|
+
if (!agent.isDirectory()) continue;
|
|
63
|
+
const srcAgentDir = path.join(userVersions, agent.name);
|
|
64
|
+
const dstAgentDir = path.join(sysVersions, agent.name);
|
|
65
|
+
try { fs.mkdirSync(dstAgentDir, { recursive: true }); } catch {}
|
|
66
|
+
for (const ver of fs.readdirSync(srcAgentDir, { withFileTypes: true })) {
|
|
67
|
+
if (!ver.isDirectory()) continue;
|
|
68
|
+
const src = path.join(srcAgentDir, ver.name);
|
|
69
|
+
const dst = path.join(dstAgentDir, ver.name);
|
|
70
|
+
if (fs.existsSync(dst)) { skipped++; continue; }
|
|
71
|
+
try { fs.renameSync(src, dst); moved++; } catch {}
|
|
72
|
+
}
|
|
73
|
+
try { if (fs.readdirSync(srcAgentDir).length === 0) fs.rmdirSync(srcAgentDir); } catch {}
|
|
74
|
+
}
|
|
75
|
+
try { if (fs.readdirSync(userVersions).length === 0) fs.rmdirSync(userVersions); } catch {}
|
|
76
|
+
if (moved > 0) console.log(` Migrated ${moved} agent version dir(s) to ~/.agents-system/versions/`);
|
|
77
|
+
if (skipped > 0) console.log(` Kept ${skipped} legacy version dir(s) at ~/.agents/versions/ (already present in system root)`);
|
|
78
|
+
} catch { /* best-effort */ }
|
|
79
|
+
}
|
|
51
80
|
}
|
|
52
81
|
|
|
53
82
|
runMigrations();
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Internal memory refresh command.
|
|
3
|
-
*
|
|
4
|
-
* Registers the hidden `agents refresh-memory` command invoked by
|
|
5
|
-
* shims for agents that do not natively resolve @-imports in their
|
|
6
|
-
* memory file. Recompiles memory only when source files have changed.
|
|
7
|
-
*/
|
|
8
|
-
import { Command } from 'commander';
|
|
9
|
-
/**
|
|
10
|
-
* Hidden command invoked by shims for agents that don't natively resolve
|
|
11
|
-
* @-imports in their memory file. Fast-path check first (sha256 of tracked
|
|
12
|
-
* source files); only recompiles if a source has changed since the last
|
|
13
|
-
* sync. Typical cost: 10-20ms when memory is fresh.
|
|
14
|
-
*/
|
|
15
|
-
export declare function registerRefreshMemoryCommand(program: Command): void;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rules file compilation -- resolving @-imports into a single flat file.
|
|
3
|
-
*
|
|
4
|
-
* Agents that do not natively resolve `@path/to/file` imports (Codex, Gemini)
|
|
5
|
-
* need a pre-compiled rules file with all imports inlined. This module
|
|
6
|
-
* handles that expansion.
|
|
7
|
-
*/
|
|
8
|
-
import type { AgentId } from './types.js';
|
|
9
|
-
/** Sidecar manifest recording source file hashes for staleness detection. */
|
|
10
|
-
export interface CompileManifest {
|
|
11
|
-
compiledAt: string;
|
|
12
|
-
sources: {
|
|
13
|
-
path: string;
|
|
14
|
-
sha256: string;
|
|
15
|
-
mtime?: number;
|
|
16
|
-
size?: number;
|
|
17
|
-
}[];
|
|
18
|
-
}
|
|
19
|
-
/** Result of resolving @-imports in a rules file. */
|
|
20
|
-
export interface ResolveResult {
|
|
21
|
-
/** Fully-inlined content. */
|
|
22
|
-
content: string;
|
|
23
|
-
/** Absolute paths of every file read during resolution (including the root). */
|
|
24
|
-
sources: string[];
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Expand all `@path/to/file` imports in `content`, recursively up to
|
|
28
|
-
* MAX_DEPTH. Imports inside fenced code blocks and inline code spans are
|
|
29
|
-
* left alone, matching Claude Code's parser. Missing files are left as-is
|
|
30
|
-
* (silent skip), matching the documented behavior.
|
|
31
|
-
*
|
|
32
|
-
* Relative paths resolve against `baseDir`; absolute and tilde-prefixed
|
|
33
|
-
* paths resolve against the filesystem root / home directory.
|
|
34
|
-
*/
|
|
35
|
-
export declare function resolveImports(content: string, baseDir: string): ResolveResult;
|
|
36
|
-
/** True if the agent's native runtime resolves `@path` imports in its rules file. */
|
|
37
|
-
export declare function supportsMemoryImports(agentId: AgentId): boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Fast staleness check. Returns true when:
|
|
40
|
-
* - the compiled file or its manifest is missing
|
|
41
|
-
* - any recorded source file is missing
|
|
42
|
-
* - any recorded source's sha256 no longer matches
|
|
43
|
-
*
|
|
44
|
-
* For agents that support @-imports natively, always returns false — there's
|
|
45
|
-
* nothing to compile.
|
|
46
|
-
*/
|
|
47
|
-
export declare function isMemoryStale(agentId: AgentId, version: string): boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Resolve the source `rules/AGENTS.md` (with all @-imports expanded) and
|
|
50
|
-
* write the result into the version home, alongside a sidecar manifest that
|
|
51
|
-
* records source file hashes for staleness detection.
|
|
52
|
-
*
|
|
53
|
-
* Agents that natively resolve @-imports are skipped (no-op) — their sync
|
|
54
|
-
* uses the standard copyFileSync path in `syncResourcesToVersion`.
|
|
55
|
-
*/
|
|
56
|
-
export declare function compileMemoryForAgent(agentId: AgentId, version: string): {
|
|
57
|
-
compiled: boolean;
|
|
58
|
-
compiledPath: string;
|
|
59
|
-
sources: number;
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* Recompile memory if stale. Safe to call on every agent invocation — the
|
|
63
|
-
* staleness check is fast (sha256 of 8-10 small files, ~10-20ms). Returns
|
|
64
|
-
* true if a recompile happened, false otherwise.
|
|
65
|
-
*/
|
|
66
|
-
export declare function ensureMemoryFresh(agentId: AgentId, version: string): boolean;
|