@everywheredev/cli 0.0.5 → 0.0.7
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 +1 -1
- package/dist/index.js +274 -59
- package/package.json +3 -2
- package/scripts/build.mjs +68 -0
- package/dist/agent/agent-loop.d.ts +0 -40
- package/dist/agent/agent-loop.d.ts.map +0 -1
- package/dist/agent/agent-loop.js +0 -162
- package/dist/agent/agent-loop.js.map +0 -1
- package/dist/agent/approval.d.ts +0 -38
- package/dist/agent/approval.d.ts.map +0 -1
- package/dist/agent/approval.js +0 -55
- package/dist/agent/approval.js.map +0 -1
- package/dist/agent/run-tracker.d.ts +0 -26
- package/dist/agent/run-tracker.d.ts.map +0 -1
- package/dist/agent/run-tracker.js +0 -43
- package/dist/agent/run-tracker.js.map +0 -1
- package/dist/auth/device-flow.d.ts +0 -61
- package/dist/auth/device-flow.d.ts.map +0 -1
- package/dist/auth/device-flow.js +0 -141
- package/dist/auth/device-flow.js.map +0 -1
- package/dist/auth/hydra-oauth-auth-provider.d.ts +0 -35
- package/dist/auth/hydra-oauth-auth-provider.d.ts.map +0 -1
- package/dist/auth/hydra-oauth-auth-provider.js +0 -153
- package/dist/auth/hydra-oauth-auth-provider.js.map +0 -1
- package/dist/auth/keychain.d.ts +0 -42
- package/dist/auth/keychain.d.ts.map +0 -1
- package/dist/auth/keychain.js +0 -138
- package/dist/auth/keychain.js.map +0 -1
- package/dist/auth/pkce.d.ts +0 -20
- package/dist/auth/pkce.d.ts.map +0 -1
- package/dist/auth/pkce.js +0 -44
- package/dist/auth/pkce.js.map +0 -1
- package/dist/auth/ports.d.ts +0 -25
- package/dist/auth/ports.d.ts.map +0 -1
- package/dist/auth/ports.js +0 -8
- package/dist/auth/ports.js.map +0 -1
- package/dist/commands/activity.d.ts +0 -17
- package/dist/commands/activity.d.ts.map +0 -1
- package/dist/commands/activity.js +0 -54
- package/dist/commands/activity.js.map +0 -1
- package/dist/commands/agent.d.ts +0 -25
- package/dist/commands/agent.d.ts.map +0 -1
- package/dist/commands/agent.js +0 -80
- package/dist/commands/agent.js.map +0 -1
- package/dist/commands/agents.d.ts +0 -9
- package/dist/commands/agents.d.ts.map +0 -1
- package/dist/commands/agents.js +0 -28
- package/dist/commands/agents.js.map +0 -1
- package/dist/commands/commits.d.ts +0 -16
- package/dist/commands/commits.d.ts.map +0 -1
- package/dist/commands/commits.js +0 -39
- package/dist/commands/commits.js.map +0 -1
- package/dist/commands/diff.d.ts +0 -15
- package/dist/commands/diff.d.ts.map +0 -1
- package/dist/commands/diff.js +0 -27
- package/dist/commands/diff.js.map +0 -1
- package/dist/commands/expose.d.ts +0 -15
- package/dist/commands/expose.d.ts.map +0 -1
- package/dist/commands/expose.js +0 -39
- package/dist/commands/expose.js.map +0 -1
- package/dist/commands/index.d.ts +0 -7
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/index.js +0 -12
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/login.d.ts +0 -9
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -27
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.d.ts +0 -9
- package/dist/commands/logout.d.ts.map +0 -1
- package/dist/commands/logout.js +0 -24
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/me.d.ts +0 -10
- package/dist/commands/me.d.ts.map +0 -1
- package/dist/commands/me.js +0 -25
- package/dist/commands/me.js.map +0 -1
- package/dist/commands/open.d.ts +0 -16
- package/dist/commands/open.d.ts.map +0 -1
- package/dist/commands/open.js +0 -34
- package/dist/commands/open.js.map +0 -1
- package/dist/commands/ports.d.ts +0 -75
- package/dist/commands/ports.d.ts.map +0 -1
- package/dist/commands/ports.js +0 -78
- package/dist/commands/ports.js.map +0 -1
- package/dist/commands/profile.d.ts +0 -21
- package/dist/commands/profile.d.ts.map +0 -1
- package/dist/commands/profile.js +0 -93
- package/dist/commands/profile.js.map +0 -1
- package/dist/commands/push.d.ts +0 -18
- package/dist/commands/push.d.ts.map +0 -1
- package/dist/commands/push.js +0 -116
- package/dist/commands/push.js.map +0 -1
- package/dist/commands/registry.d.ts +0 -15
- package/dist/commands/registry.d.ts.map +0 -1
- package/dist/commands/registry.js +0 -45
- package/dist/commands/registry.js.map +0 -1
- package/dist/commands/request.d.ts +0 -25
- package/dist/commands/request.d.ts.map +0 -1
- package/dist/commands/request.js +0 -58
- package/dist/commands/request.js.map +0 -1
- package/dist/commands/resume.d.ts +0 -22
- package/dist/commands/resume.d.ts.map +0 -1
- package/dist/commands/resume.js +0 -69
- package/dist/commands/resume.js.map +0 -1
- package/dist/commands/save.d.ts +0 -34
- package/dist/commands/save.d.ts.map +0 -1
- package/dist/commands/save.js +0 -141
- package/dist/commands/save.js.map +0 -1
- package/dist/commands/session.d.ts +0 -9
- package/dist/commands/session.d.ts.map +0 -1
- package/dist/commands/session.js +0 -282
- package/dist/commands/session.js.map +0 -1
- package/dist/commands/skills/markdown-loader.d.ts +0 -19
- package/dist/commands/skills/markdown-loader.d.ts.map +0 -1
- package/dist/commands/skills/markdown-loader.js +0 -108
- package/dist/commands/skills/markdown-loader.js.map +0 -1
- package/dist/commands/skills/registry.d.ts +0 -23
- package/dist/commands/skills/registry.d.ts.map +0 -1
- package/dist/commands/skills/registry.js +0 -45
- package/dist/commands/skills/registry.js.map +0 -1
- package/dist/commands/terminal.d.ts +0 -19
- package/dist/commands/terminal.d.ts.map +0 -1
- package/dist/commands/terminal.js +0 -39
- package/dist/commands/terminal.js.map +0 -1
- package/dist/commands/tree.d.ts +0 -16
- package/dist/commands/tree.d.ts.map +0 -1
- package/dist/commands/tree.js +0 -44
- package/dist/commands/tree.js.map +0 -1
- package/dist/commands/undo.d.ts +0 -18
- package/dist/commands/undo.d.ts.map +0 -1
- package/dist/commands/undo.js +0 -46
- package/dist/commands/undo.js.map +0 -1
- package/dist/config/config-store.d.ts +0 -19
- package/dist/config/config-store.d.ts.map +0 -1
- package/dist/config/config-store.js +0 -199
- package/dist/config/config-store.js.map +0 -1
- package/dist/config/defaults.d.ts +0 -22
- package/dist/config/defaults.d.ts.map +0 -1
- package/dist/config/defaults.js +0 -38
- package/dist/config/defaults.js.map +0 -1
- package/dist/config/ports.d.ts +0 -60
- package/dist/config/ports.d.ts.map +0 -1
- package/dist/config/ports.js +0 -8
- package/dist/config/ports.js.map +0 -1
- package/dist/config/profile-constants.d.ts +0 -4
- package/dist/config/profile-constants.d.ts.map +0 -1
- package/dist/config/profile-constants.js +0 -10
- package/dist/config/profile-constants.js.map +0 -1
- package/dist/config/profile.d.ts +0 -84
- package/dist/config/profile.d.ts.map +0 -1
- package/dist/config/profile.js +0 -66
- package/dist/config/profile.js.map +0 -1
- package/dist/contract/index.d.ts +0 -193
- package/dist/contract/index.d.ts.map +0 -1
- package/dist/contract/index.js +0 -14
- package/dist/contract/index.js.map +0 -1
- package/dist/core/app.d.ts +0 -35
- package/dist/core/app.d.ts.map +0 -1
- package/dist/core/app.js +0 -86
- package/dist/core/app.js.map +0 -1
- package/dist/core/command-router.d.ts +0 -29
- package/dist/core/command-router.d.ts.map +0 -1
- package/dist/core/command-router.js +0 -61
- package/dist/core/command-router.js.map +0 -1
- package/dist/core/errors.d.ts +0 -39
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js +0 -106
- package/dist/core/errors.js.map +0 -1
- package/dist/core/preflight.d.ts +0 -16
- package/dist/core/preflight.d.ts.map +0 -1
- package/dist/core/preflight.js +0 -38
- package/dist/core/preflight.js.map +0 -1
- package/dist/core/repl.d.ts +0 -18
- package/dist/core/repl.d.ts.map +0 -1
- package/dist/core/repl.js +0 -128
- package/dist/core/repl.js.map +0 -1
- package/dist/di/container.d.ts +0 -13
- package/dist/di/container.d.ts.map +0 -1
- package/dist/di/container.js +0 -160
- package/dist/di/container.js.map +0 -1
- package/dist/di/tokens.d.ts +0 -20
- package/dist/di/tokens.d.ts.map +0 -1
- package/dist/di/tokens.js +0 -22
- package/dist/di/tokens.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/render/ink-renderer.d.ts +0 -28
- package/dist/render/ink-renderer.d.ts.map +0 -1
- package/dist/render/ink-renderer.js +0 -174
- package/dist/render/ink-renderer.js.map +0 -1
- package/dist/render/plain-renderer.d.ts +0 -16
- package/dist/render/plain-renderer.d.ts.map +0 -1
- package/dist/render/plain-renderer.js +0 -38
- package/dist/render/plain-renderer.js.map +0 -1
- package/dist/render/ports.d.ts +0 -12
- package/dist/render/ports.d.ts.map +0 -1
- package/dist/render/ports.js +0 -10
- package/dist/render/ports.js.map +0 -1
- package/dist/render/raw-renderer.d.ts +0 -11
- package/dist/render/raw-renderer.d.ts.map +0 -1
- package/dist/render/raw-renderer.js +0 -68
- package/dist/render/raw-renderer.js.map +0 -1
- package/dist/render/repl-input.d.ts +0 -15
- package/dist/render/repl-input.d.ts.map +0 -1
- package/dist/render/repl-input.js +0 -102
- package/dist/render/repl-input.js.map +0 -1
- package/dist/session/file-session-store.d.ts +0 -26
- package/dist/session/file-session-store.d.ts.map +0 -1
- package/dist/session/file-session-store.js +0 -174
- package/dist/session/file-session-store.js.map +0 -1
- package/dist/session/ports.d.ts +0 -50
- package/dist/session/ports.d.ts.map +0 -1
- package/dist/session/ports.js +0 -6
- package/dist/session/ports.js.map +0 -1
- package/dist/sync/git-sync.d.ts +0 -16
- package/dist/sync/git-sync.d.ts.map +0 -1
- package/dist/sync/git-sync.js +0 -28
- package/dist/sync/git-sync.js.map +0 -1
- package/dist/sync/git.d.ts +0 -12
- package/dist/sync/git.d.ts.map +0 -1
- package/dist/sync/git.js +0 -100
- package/dist/sync/git.js.map +0 -1
- package/dist/sync/reconciler.d.ts +0 -36
- package/dist/sync/reconciler.d.ts.map +0 -1
- package/dist/sync/reconciler.js +0 -143
- package/dist/sync/reconciler.js.map +0 -1
- package/dist/sync/walk.d.ts +0 -23
- package/dist/sync/walk.d.ts.map +0 -1
- package/dist/sync/walk.js +0 -81
- package/dist/sync/walk.js.map +0 -1
- package/dist/sync/watch.d.ts +0 -13
- package/dist/sync/watch.d.ts.map +0 -1
- package/dist/sync/watch.js +0 -75
- package/dist/sync/watch.js.map +0 -1
- package/dist/tools/git-diff.d.ts +0 -16
- package/dist/tools/git-diff.d.ts.map +0 -1
- package/dist/tools/git-diff.js +0 -25
- package/dist/tools/git-diff.js.map +0 -1
- package/dist/tools/http-request.d.ts +0 -25
- package/dist/tools/http-request.d.ts.map +0 -1
- package/dist/tools/http-request.js +0 -41
- package/dist/tools/http-request.js.map +0 -1
- package/dist/tools/index.d.ts +0 -7
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -22
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/ports.d.ts +0 -58
- package/dist/tools/ports.d.ts.map +0 -1
- package/dist/tools/ports.js +0 -17
- package/dist/tools/ports.js.map +0 -1
- package/dist/tools/read-file.d.ts +0 -16
- package/dist/tools/read-file.d.ts.map +0 -1
- package/dist/tools/read-file.js +0 -24
- package/dist/tools/read-file.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -10
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js +0 -28
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/run-command.d.ts +0 -20
- package/dist/tools/run-command.d.ts.map +0 -1
- package/dist/tools/run-command.js +0 -65
- package/dist/tools/run-command.js.map +0 -1
- package/dist/tools/write-file.d.ts +0 -24
- package/dist/tools/write-file.d.ts.map +0 -1
- package/dist/tools/write-file.js +0 -60
- package/dist/tools/write-file.js.map +0 -1
- package/dist/transport/composite-transport.d.ts +0 -30
- package/dist/transport/composite-transport.d.ts.map +0 -1
- package/dist/transport/composite-transport.js +0 -71
- package/dist/transport/composite-transport.js.map +0 -1
- package/dist/transport/device-browser.d.ts +0 -19
- package/dist/transport/device-browser.d.ts.map +0 -1
- package/dist/transport/device-browser.js +0 -243
- package/dist/transport/device-browser.js.map +0 -1
- package/dist/transport/device-git.d.ts +0 -14
- package/dist/transport/device-git.d.ts.map +0 -1
- package/dist/transport/device-git.js +0 -107
- package/dist/transport/device-git.js.map +0 -1
- package/dist/transport/device-http.d.ts +0 -10
- package/dist/transport/device-http.d.ts.map +0 -1
- package/dist/transport/device-http.js +0 -96
- package/dist/transport/device-http.js.map +0 -1
- package/dist/transport/device-terminal.d.ts +0 -44
- package/dist/transport/device-terminal.d.ts.map +0 -1
- package/dist/transport/device-terminal.js +0 -140
- package/dist/transport/device-terminal.js.map +0 -1
- package/dist/transport/http-transport.d.ts +0 -26
- package/dist/transport/http-transport.d.ts.map +0 -1
- package/dist/transport/http-transport.js +0 -125
- package/dist/transport/http-transport.js.map +0 -1
- package/dist/transport/ports.d.ts +0 -67
- package/dist/transport/ports.d.ts.map +0 -1
- package/dist/transport/ports.js +0 -11
- package/dist/transport/ports.js.map +0 -1
- package/dist/transport/reconnect.d.ts +0 -44
- package/dist/transport/reconnect.d.ts.map +0 -1
- package/dist/transport/reconnect.js +0 -69
- package/dist/transport/reconnect.js.map +0 -1
- package/dist/transport/terminal-transport.d.ts +0 -28
- package/dist/transport/terminal-transport.d.ts.map +0 -1
- package/dist/transport/terminal-transport.js +0 -63
- package/dist/transport/terminal-transport.js.map +0 -1
- package/dist/transport/ws-stream-transport.d.ts +0 -66
- package/dist/transport/ws-stream-transport.d.ts.map +0 -1
- package/dist/transport/ws-stream-transport.js +0 -246
- package/dist/transport/ws-stream-transport.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Skill } from "./registry.js";
|
|
2
|
-
/** A discovered skill plus the source layer it came from (for precedence). */
|
|
3
|
-
export interface DiscoveredSkill {
|
|
4
|
-
skill: Skill;
|
|
5
|
-
source: "user" | "project";
|
|
6
|
-
}
|
|
7
|
-
export declare class MarkdownSkillLoader {
|
|
8
|
-
private readonly home;
|
|
9
|
-
private readonly cwd;
|
|
10
|
-
constructor(home?: string, cwd?: string);
|
|
11
|
-
/** User skills dir: ~/.pocketdev/skills. */
|
|
12
|
-
private userDir;
|
|
13
|
-
/** Project skills dir: ./.pocketdev/skills. */
|
|
14
|
-
private projectDir;
|
|
15
|
-
/** Discover all skills from both layers (project entries override user entries by name). */
|
|
16
|
-
discover(): DiscoveredSkill[];
|
|
17
|
-
private scan;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=markdown-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-loader.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/markdown-loader.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAI3C,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,IAAI,GAAE,MAAkB,EACxB,GAAG,GAAE,MAAsB;IAG9C,4CAA4C;IAC5C,OAAO,CAAC,OAAO;IAIf,+CAA+C;IAC/C,OAAO,CAAC,UAAU;IAIlB,4FAA4F;IAC5F,QAAQ,IAAI,eAAe,EAAE;IAO7B,OAAO,CAAC,IAAI;CAUb"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
// src/commands/skills/markdown-loader.ts — discover markdown skills.
|
|
2
|
-
//
|
|
3
|
-
// Like Claude Code, skills are markdown files. We discover them from:
|
|
4
|
-
// user ~/.pocketdev/skills/*.md
|
|
5
|
-
// project ./.pocketdev/skills/*.md (overrides a user skill of the same name)
|
|
6
|
-
//
|
|
7
|
-
// Each file becomes a lazily-loaded `Skill` whose body is the preset prompt. An optional
|
|
8
|
-
// YAML-ish front-matter block (--- ... ---) may set `name` / `description`; otherwise the
|
|
9
|
-
// filename is the name and the first non-empty line is the description.
|
|
10
|
-
//
|
|
11
|
-
// SRP: this module only does discovery + parsing. The SkillRegistry owns precedence + lookup.
|
|
12
|
-
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
13
|
-
import { homedir } from "node:os";
|
|
14
|
-
import { basename, join } from "node:path";
|
|
15
|
-
import { PROJECT_DIR_NAME, USER_DIR_NAME } from "../../config/defaults.js";
|
|
16
|
-
const SKILLS_SUBDIR = "skills";
|
|
17
|
-
export class MarkdownSkillLoader {
|
|
18
|
-
home;
|
|
19
|
-
cwd;
|
|
20
|
-
constructor(home = homedir(), cwd = process.cwd()) {
|
|
21
|
-
this.home = home;
|
|
22
|
-
this.cwd = cwd;
|
|
23
|
-
}
|
|
24
|
-
/** User skills dir: ~/.pocketdev/skills. */
|
|
25
|
-
userDir() {
|
|
26
|
-
return join(this.home, USER_DIR_NAME, SKILLS_SUBDIR);
|
|
27
|
-
}
|
|
28
|
-
/** Project skills dir: ./.pocketdev/skills. */
|
|
29
|
-
projectDir() {
|
|
30
|
-
return join(this.cwd, PROJECT_DIR_NAME, SKILLS_SUBDIR);
|
|
31
|
-
}
|
|
32
|
-
/** Discover all skills from both layers (project entries override user entries by name). */
|
|
33
|
-
discover() {
|
|
34
|
-
return [
|
|
35
|
-
...this.scan(this.userDir(), "user"),
|
|
36
|
-
...this.scan(this.projectDir(), "project"),
|
|
37
|
-
];
|
|
38
|
-
}
|
|
39
|
-
scan(dir, source) {
|
|
40
|
-
if (!existsSync(dir))
|
|
41
|
-
return [];
|
|
42
|
-
const out = [];
|
|
43
|
-
for (const file of readdirSync(dir)) {
|
|
44
|
-
if (!file.toLowerCase().endsWith(".md"))
|
|
45
|
-
continue;
|
|
46
|
-
const path = join(dir, file);
|
|
47
|
-
out.push({ source, skill: makeSkill(path) });
|
|
48
|
-
}
|
|
49
|
-
return out;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/** Build a lazy Skill from a markdown file path (body read only on `load()`). */
|
|
53
|
-
function makeSkill(path) {
|
|
54
|
-
const fallbackName = basename(path, ".md");
|
|
55
|
-
// Peek the header eagerly so the registry can list name/description without reading bodies
|
|
56
|
-
// repeatedly; the full body is still read lazily in `load()`.
|
|
57
|
-
const header = readHeader(path);
|
|
58
|
-
return {
|
|
59
|
-
name: header.name ?? fallbackName,
|
|
60
|
-
description: header.description ?? "",
|
|
61
|
-
async load() {
|
|
62
|
-
const raw = readFileSync(path, "utf8");
|
|
63
|
-
return { prompt: stripFrontMatter(raw).trim() };
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
/** Read just enough to extract name/description without loading the whole body twice. */
|
|
68
|
-
function readHeader(path) {
|
|
69
|
-
let raw;
|
|
70
|
-
try {
|
|
71
|
-
raw = readFileSync(path, "utf8");
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
return {};
|
|
75
|
-
}
|
|
76
|
-
const fm = parseFrontMatter(raw);
|
|
77
|
-
if (fm.name || fm.description)
|
|
78
|
-
return fm;
|
|
79
|
-
// No front-matter: first markdown heading or first non-empty line is the description.
|
|
80
|
-
const body = stripFrontMatter(raw);
|
|
81
|
-
const firstLine = body.split("\n").map((l) => l.trim()).find((l) => l.length > 0);
|
|
82
|
-
const description = firstLine?.replace(/^#+\s*/, "");
|
|
83
|
-
return { description };
|
|
84
|
-
}
|
|
85
|
-
/** Parse a leading `--- key: value --- ` block into a header (very small, dependency-free). */
|
|
86
|
-
function parseFrontMatter(raw) {
|
|
87
|
-
const match = /^---\s*\n([\s\S]*?)\n---\s*(\n|$)/.exec(raw);
|
|
88
|
-
if (!match)
|
|
89
|
-
return {};
|
|
90
|
-
const header = {};
|
|
91
|
-
for (const line of match[1].split("\n")) {
|
|
92
|
-
const idx = line.indexOf(":");
|
|
93
|
-
if (idx < 0)
|
|
94
|
-
continue;
|
|
95
|
-
const key = line.slice(0, idx).trim().toLowerCase();
|
|
96
|
-
const value = line.slice(idx + 1).trim().replace(/^["']|["']$/g, "");
|
|
97
|
-
if (key === "name")
|
|
98
|
-
header.name = value;
|
|
99
|
-
else if (key === "description")
|
|
100
|
-
header.description = value;
|
|
101
|
-
}
|
|
102
|
-
return header;
|
|
103
|
-
}
|
|
104
|
-
/** Remove a leading front-matter block, returning the prompt body. */
|
|
105
|
-
function stripFrontMatter(raw) {
|
|
106
|
-
return raw.replace(/^---\s*\n[\s\S]*?\n---\s*(\n|$)/, "");
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=markdown-loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-loader.js","sourceRoot":"","sources":["../../../src/commands/skills/markdown-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { MarkdownSkillLoader } from "./markdown-loader.js";
|
|
2
|
-
/** A skill = a named markdown prompt loaded lazily. (Mirrors the `Skill` port in cli.md §4.) */
|
|
3
|
-
export interface Skill {
|
|
4
|
-
readonly name: string;
|
|
5
|
-
readonly description: string;
|
|
6
|
-
/** The markdown body becomes a preset/system prompt the agent runs. */
|
|
7
|
-
load(): Promise<{
|
|
8
|
-
prompt: string;
|
|
9
|
-
}>;
|
|
10
|
-
}
|
|
11
|
-
export declare class SkillRegistry {
|
|
12
|
-
private readonly loader;
|
|
13
|
-
private readonly byName;
|
|
14
|
-
private loaded;
|
|
15
|
-
constructor(loader: MarkdownSkillLoader);
|
|
16
|
-
/** Discover skills from disk once (project overrides user). Idempotent. */
|
|
17
|
-
refresh(): this;
|
|
18
|
-
private ensureLoaded;
|
|
19
|
-
get(name: string): Skill | undefined;
|
|
20
|
-
has(name: string): boolean;
|
|
21
|
-
list(): Skill[];
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/registry.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,gGAAgG;AAChG,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,IAAI,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrC;AAED,qBAAa,aAAa;IAIZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,MAAM,CAAS;gBAEM,MAAM,EAAE,mBAAmB;IAExD,2EAA2E;IAC3E,OAAO,IAAI,IAAI;IAaf,OAAO,CAAC,YAAY;IAIpB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAKpC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,KAAK,EAAE;CAIhB"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
// src/commands/skills/registry.ts — SkillRegistry (OCP) + the Skill interface.
|
|
2
|
-
//
|
|
3
|
-
// Skills are markdown prompts surfaced as `/<skill-name>` in the REPL. The registry loads
|
|
4
|
-
// them via the MarkdownSkillLoader and applies precedence: a PROJECT skill overrides a USER
|
|
5
|
-
// skill of the same name (consistent with config precedence, cli.md §6).
|
|
6
|
-
//
|
|
7
|
-
// SRP: lookup + precedence only. Discovery/parsing lives in the loader (DIP: injected).
|
|
8
|
-
export class SkillRegistry {
|
|
9
|
-
loader;
|
|
10
|
-
byName = new Map();
|
|
11
|
-
loaded = false;
|
|
12
|
-
constructor(loader) {
|
|
13
|
-
this.loader = loader;
|
|
14
|
-
}
|
|
15
|
-
/** Discover skills from disk once (project overrides user). Idempotent. */
|
|
16
|
-
refresh() {
|
|
17
|
-
this.byName.clear();
|
|
18
|
-
// User first, then project, so project entries win on `set`.
|
|
19
|
-
for (const { skill, source } of this.loader.discover()) {
|
|
20
|
-
// Project overrides user; user never overrides an already-set project skill.
|
|
21
|
-
const existing = this.byName.get(skill.name);
|
|
22
|
-
if (existing && source === "user")
|
|
23
|
-
continue;
|
|
24
|
-
this.byName.set(skill.name, skill);
|
|
25
|
-
}
|
|
26
|
-
this.loaded = true;
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
ensureLoaded() {
|
|
30
|
-
if (!this.loaded)
|
|
31
|
-
this.refresh();
|
|
32
|
-
}
|
|
33
|
-
get(name) {
|
|
34
|
-
this.ensureLoaded();
|
|
35
|
-
return this.byName.get(name.startsWith("/") ? name.slice(1) : name);
|
|
36
|
-
}
|
|
37
|
-
has(name) {
|
|
38
|
-
return this.get(name) !== undefined;
|
|
39
|
-
}
|
|
40
|
-
list() {
|
|
41
|
-
this.ensureLoaded();
|
|
42
|
-
return [...this.byName.values()].sort((a, b) => a.name.localeCompare(b.name));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/commands/skills/registry.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,0FAA0F;AAC1F,4FAA4F;AAC5F,yEAAyE;AACzE,EAAE;AACF,wFAAwF;AAYxF,MAAM,OAAO,aAAa;IAIK;IAHZ,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC3C,MAAM,GAAG,KAAK,CAAC;IAEvB,YAA6B,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAE5D,2EAA2E;IAC3E,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,6DAA6D;QAC7D,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACvD,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,QAAQ,IAAI,MAAM,KAAK,MAAM;gBAAE,SAAS;YAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACtC,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;CACF"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import type { Command, CommandContext } from "./ports.js";
|
|
3
|
-
export declare class TerminalCommand implements Command {
|
|
4
|
-
readonly name = "terminal";
|
|
5
|
-
readonly summary = "Open an interactive PTY on the host (raw passthrough)";
|
|
6
|
-
readonly aliases: string[];
|
|
7
|
-
readonly schema: z.ZodObject<{
|
|
8
|
-
cols: z.ZodOptional<z.ZodNumber>;
|
|
9
|
-
rows: z.ZodOptional<z.ZodNumber>;
|
|
10
|
-
}, "strip", z.ZodTypeAny, {
|
|
11
|
-
cols?: number | undefined;
|
|
12
|
-
rows?: number | undefined;
|
|
13
|
-
}, {
|
|
14
|
-
cols?: number | undefined;
|
|
15
|
-
rows?: number | undefined;
|
|
16
|
-
}>;
|
|
17
|
-
run(ctx: CommandContext): Promise<void>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=terminal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/commands/terminal.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQ1D,qBAAa,eAAgB,YAAW,OAAO;IAC7C,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,OAAO,2DAA2D;IAC3E,QAAQ,CAAC,OAAO,WAAqB;IACrC,QAAQ,CAAC,MAAM;;;;;;;;;OAAU;IAEnB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAwB9C"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
// src/commands/terminal.ts — `/terminal` / `pocketdev terminal`
|
|
2
|
-
// WS terminal:create / terminal:input / terminal:resize / terminal:data / terminal:exit
|
|
3
|
-
//
|
|
4
|
-
// SRP: open a host PTY and bridge it to the local terminal. The actual raw-mode plumbing
|
|
5
|
-
// lives in RawRenderer (cli.md §13: the raw PTY stream must NEVER flow through Ink). This
|
|
6
|
-
// command just creates the PTY via TerminalPort and hands the bridge to RawRenderer.
|
|
7
|
-
import { z } from "zod";
|
|
8
|
-
import { RawRenderer } from "../render/raw-renderer.js";
|
|
9
|
-
import { bindArgs, parseArgs } from "./ports.js";
|
|
10
|
-
const schema = z.object({
|
|
11
|
-
cols: z.coerce.number().int().positive().optional(),
|
|
12
|
-
rows: z.coerce.number().int().positive().optional(),
|
|
13
|
-
});
|
|
14
|
-
export class TerminalCommand {
|
|
15
|
-
name = "terminal";
|
|
16
|
-
summary = "Open an interactive PTY on the host (raw passthrough)";
|
|
17
|
-
aliases = ["term", "shell"];
|
|
18
|
-
schema = schema;
|
|
19
|
-
async run(ctx) {
|
|
20
|
-
const args = parseArgs(this.schema, bindArgs(ctx.argv, []));
|
|
21
|
-
if (ctx.nonInteractive) {
|
|
22
|
-
ctx.renderer.error("`terminal` needs an interactive TTY.", "Run it without piping stdin/stdout.");
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
await ctx.stream.connect();
|
|
26
|
-
const initial = {
|
|
27
|
-
cols: args.cols ?? (process.stdout.columns || 80),
|
|
28
|
-
rows: args.rows ?? (process.stdout.rows || 24),
|
|
29
|
-
};
|
|
30
|
-
await ctx.terminal.create(initial);
|
|
31
|
-
// RawRenderer owns: raw mode, stdin→terminal:input, terminal:data→stdout,
|
|
32
|
-
// SIGWINCH→terminal:resize, and cooked-mode restore on terminal:exit. It is kept
|
|
33
|
-
// strictly separate from the Ink render tree so vim/htop/xterm sequences survive.
|
|
34
|
-
const raw = new RawRenderer();
|
|
35
|
-
const exitCode = await raw.attach(ctx.terminal, ctx.signal);
|
|
36
|
-
ctx.renderer.stream(`\n[terminal exited: ${exitCode}]\n`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=terminal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/commands/terminal.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,0FAA0F;AAC1F,EAAE;AACF,yFAAyF;AACzF,0FAA0F;AAC1F,qFAAqF;AAErF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAEH,MAAM,OAAO,eAAe;IACjB,IAAI,GAAG,UAAU,CAAC;IAClB,OAAO,GAAG,uDAAuD,CAAC;IAClE,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,MAAM,GAAG,MAAM,CAAC;IAEzB,KAAK,CAAC,GAAG,CAAC,GAAmB;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAE5D,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,sCAAsC,EAAE,qCAAqC,CAAC,CAAC;YAClG,OAAO;QACT,CAAC;QAED,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAE3B,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACjD,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;SAC/C,CAAC;QACF,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnC,0EAA0E;QAC1E,iFAAiF;QACjF,kFAAkF;QAClF,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAE5D,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,uBAAuB,QAAQ,KAAK,CAAC,CAAC;IAC5D,CAAC;CACF"}
|
package/dist/commands/tree.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import type { Command, CommandContext } from "./ports.js";
|
|
3
|
-
export declare class TreeCommand implements Command {
|
|
4
|
-
readonly name = "tree";
|
|
5
|
-
readonly summary = "List a directory in the project (GET /api/tree)";
|
|
6
|
-
readonly aliases: string[];
|
|
7
|
-
readonly schema: z.ZodObject<{
|
|
8
|
-
path: z.ZodDefault<z.ZodString>;
|
|
9
|
-
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
path: string;
|
|
11
|
-
}, {
|
|
12
|
-
path?: string | undefined;
|
|
13
|
-
}>;
|
|
14
|
-
run(ctx: CommandContext): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/commands/tree.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAY1D,qBAAa,WAAY,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,OAAO,qDAAqD;IACrE,QAAQ,CAAC,OAAO,WAAU;IAC1B,QAAQ,CAAC,MAAM;;;;;;OAAU;IAEnB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAwB9C"}
|
package/dist/commands/tree.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// src/commands/tree.ts — `/tree [path]` / `pocketdev tree [path]` → GET /api/tree?path
|
|
2
|
-
//
|
|
3
|
-
// SRP: list a directory via the host. Depends on HttpPort only (ISP).
|
|
4
|
-
import { z } from "zod";
|
|
5
|
-
import { bindArgs, parseArgs } from "./ports.js";
|
|
6
|
-
const schema = z.object({
|
|
7
|
-
path: z.string().default("."),
|
|
8
|
-
});
|
|
9
|
-
export class TreeCommand {
|
|
10
|
-
name = "tree";
|
|
11
|
-
summary = "List a directory in the project (GET /api/tree)";
|
|
12
|
-
aliases = ["ls"];
|
|
13
|
-
schema = schema;
|
|
14
|
-
async run(ctx) {
|
|
15
|
-
const args = parseArgs(this.schema, bindArgs(ctx.argv, ["path"]));
|
|
16
|
-
const res = await ctx.http.get("/api/tree", { path: args.path });
|
|
17
|
-
if (ctx.json) {
|
|
18
|
-
ctx.renderer.stream(JSON.stringify(res) + "\n");
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
// Dirs first, then files, both alphabetical — deterministic for humans and snapshots.
|
|
22
|
-
const entries = [...res.entries].sort((a, b) => {
|
|
23
|
-
if (a.type !== b.type)
|
|
24
|
-
return a.type === "dir" ? -1 : 1;
|
|
25
|
-
return a.name.localeCompare(b.name);
|
|
26
|
-
});
|
|
27
|
-
ctx.renderer.stream(`${res.path}\n`);
|
|
28
|
-
for (const e of entries) {
|
|
29
|
-
const suffix = e.type === "dir" ? "/" : "";
|
|
30
|
-
const size = e.type === "file" && typeof e.size === "number" ? ` ${formatBytes(e.size)}` : "";
|
|
31
|
-
ctx.renderer.stream(` ${e.name}${suffix}${size}\n`);
|
|
32
|
-
}
|
|
33
|
-
if (entries.length === 0)
|
|
34
|
-
ctx.renderer.stream(" (empty)\n");
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function formatBytes(n) {
|
|
38
|
-
if (n < 1024)
|
|
39
|
-
return `${n}B`;
|
|
40
|
-
if (n < 1024 * 1024)
|
|
41
|
-
return `${(n / 1024).toFixed(1)}K`;
|
|
42
|
-
return `${(n / (1024 * 1024)).toFixed(1)}M`;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=tree.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/commands/tree.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,EAAE;AACF,sEAAsE;AAEtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;CAC9B,CAAC,CAAC;AAOH,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,MAAM,CAAC;IACd,OAAO,GAAG,iDAAiD,CAAC;IAC5D,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,GAAG,MAAM,CAAC;IAEzB,KAAK,CAAC,GAAG,CAAC,GAAmB;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAElE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAe,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/E,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,sFAAsF;QACtF,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/F,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC;CACF;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IAC7B,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC"}
|
package/dist/commands/undo.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import type { Command, CommandContext } from "./ports.js";
|
|
3
|
-
export declare class UndoCommand implements Command {
|
|
4
|
-
readonly name = "undo";
|
|
5
|
-
readonly summary = "Undo an agent's change to a file (POST /api/agent/undo)";
|
|
6
|
-
readonly schema: z.ZodObject<{
|
|
7
|
-
runId: z.ZodOptional<z.ZodString>;
|
|
8
|
-
path: z.ZodOptional<z.ZodString>;
|
|
9
|
-
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
runId?: string | undefined;
|
|
11
|
-
path?: string | undefined;
|
|
12
|
-
}, {
|
|
13
|
-
runId?: string | undefined;
|
|
14
|
-
path?: string | undefined;
|
|
15
|
-
}>;
|
|
16
|
-
run(ctx: CommandContext): Promise<void>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=undo.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"undo.d.ts","sourceRoot":"","sources":["../../src/commands/undo.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAY1D,qBAAa,WAAY,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,OAAO,6DAA6D;IAC7E,QAAQ,CAAC,MAAM;;;;;;;;;OAAU;IAEnB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CA8B9C"}
|
package/dist/commands/undo.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// src/commands/undo.ts — `/undo <runId> <path>` / `pocketdev undo <runId> <path>`
|
|
2
|
-
// POST /api/agent/undo → { action: "restored" | "deleted" }
|
|
3
|
-
//
|
|
4
|
-
// SRP: revert one file an agent run changed. If `runId` is omitted it defaults to the most
|
|
5
|
-
// recent tracked run; if `path` is omitted and the run touched exactly one file, that file is
|
|
6
|
-
// used. The host performs the restore/delete and emits files:changed.
|
|
7
|
-
import { z } from "zod";
|
|
8
|
-
import { CliError } from "../core/errors.js";
|
|
9
|
-
import { bindArgs, parseArgs } from "./ports.js";
|
|
10
|
-
const schema = z.object({
|
|
11
|
-
runId: z.string().optional(),
|
|
12
|
-
path: z.string().optional(),
|
|
13
|
-
});
|
|
14
|
-
export class UndoCommand {
|
|
15
|
-
name = "undo";
|
|
16
|
-
summary = "Undo an agent's change to a file (POST /api/agent/undo)";
|
|
17
|
-
schema = schema;
|
|
18
|
-
async run(ctx) {
|
|
19
|
-
const args = parseArgs(this.schema, bindArgs(ctx.argv, ["runId", "path"]));
|
|
20
|
-
const runId = args.runId ?? ctx.runTracker.latest()?.runId;
|
|
21
|
-
if (!runId)
|
|
22
|
-
throw CliError.config("No runId given and no recent agent run to undo.");
|
|
23
|
-
const run = ctx.runTracker.get(runId);
|
|
24
|
-
let path = args.path;
|
|
25
|
-
if (!path) {
|
|
26
|
-
if (run && run.touchedPaths.length === 1) {
|
|
27
|
-
path = run.touchedPaths[0];
|
|
28
|
-
}
|
|
29
|
-
else if (run && run.touchedPaths.length > 1) {
|
|
30
|
-
throw CliError.config(`Run ${runId} touched ${run.touchedPaths.length} files; specify which.`, `Touched: ${run.touchedPaths.join(", ")}`);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
throw CliError.config("A path is required to undo.", "Usage: pocketdev undo <runId> <path>");
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
const res = await ctx.http.post("/api/agent/undo", { runId, path });
|
|
37
|
-
if (ctx.json) {
|
|
38
|
-
ctx.renderer.stream(JSON.stringify({ runId, path, action: res.action }) + "\n");
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
const verb = res.action === "restored" ? "Restored" : "Deleted";
|
|
42
|
-
ctx.renderer.stream(`${verb} ${path} (run ${runId.slice(0, 8)}).\n`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=undo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"undo.js","sourceRoot":"","sources":["../../src/commands/undo.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,8DAA8D;AAC9D,EAAE;AACF,2FAA2F;AAC3F,8FAA8F;AAC9F,sEAAsE;AAEtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAMH,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,MAAM,CAAC;IACd,OAAO,GAAG,yDAAyD,CAAC;IACpE,MAAM,GAAG,MAAM,CAAC;IAEzB,KAAK,CAAC,GAAG,CAAC,GAAmB;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC;QAC3D,IAAI,CAAC,KAAK;YAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,iDAAiD,CAAC,CAAC;QAErF,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,QAAQ,CAAC,MAAM,CACnB,OAAO,KAAK,YAAY,GAAG,CAAC,YAAY,CAAC,MAAM,wBAAwB,EACvE,YAAY,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,CAAC,MAAM,CAAC,6BAA6B,EAAE,sCAAsC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAe,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAElF,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,SAAS,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { ConfigStore, Profile, ResolvedConfig } from "./ports.js";
|
|
2
|
-
export declare class ConfigStoreImpl implements ConfigStore {
|
|
3
|
-
private readonly flags;
|
|
4
|
-
private readonly env;
|
|
5
|
-
private cached?;
|
|
6
|
-
constructor(argv: readonly string[], env: NodeJS.ProcessEnv);
|
|
7
|
-
resolve(): ResolvedConfig;
|
|
8
|
-
profile(name?: string): Profile;
|
|
9
|
-
/** Apply `--host`/POCKETDEV_HOST(+PORT) on top of a base profile. FULL-REMOTE only. */
|
|
10
|
-
private overlayProfile;
|
|
11
|
-
/**
|
|
12
|
-
* Resolve the base URL honoring precedence:
|
|
13
|
-
* --host > POCKETDEV_HOST(+POCKETDEV_PORT) > profile.hostUrl.
|
|
14
|
-
* POCKETDEV_HOST may be a bare host or a full URL; POCKETDEV_PORT supplies the port (default 4317).
|
|
15
|
-
*/
|
|
16
|
-
private resolveHostUrl;
|
|
17
|
-
private loadConfigFile;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=config-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/config/config-store.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,WAAW,EAAQ,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAa7E,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAEpB,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU;IAK3D,OAAO,IAAI,cAAc;IAsEzB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAc/B,uFAAuF;IACvF,OAAO,CAAC,cAAc;IAatB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,cAAc;CAuBvB"}
|