ccpoke 1.6.13 → 1.6.14

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.
Files changed (42) hide show
  1. package/dist/agent/agent-handler.d.ts +11 -0
  2. package/dist/agent/agent-handler.js +37 -0
  3. package/dist/agent/agent-handler.js.map +1 -1
  4. package/dist/agent/claude-code/claude-code-installer.d.ts +2 -0
  5. package/dist/agent/claude-code/claude-code-installer.js +65 -2
  6. package/dist/agent/claude-code/claude-code-installer.js.map +1 -1
  7. package/dist/channel/telegram/permission-request-handler.d.ts +23 -0
  8. package/dist/channel/telegram/permission-request-handler.js +164 -0
  9. package/dist/channel/telegram/permission-request-handler.js.map +1 -0
  10. package/dist/channel/telegram/telegram-channel.d.ts +3 -1
  11. package/dist/channel/telegram/telegram-channel.js +11 -0
  12. package/dist/channel/telegram/telegram-channel.js.map +1 -1
  13. package/dist/commands/project.js +23 -24
  14. package/dist/commands/project.js.map +1 -1
  15. package/dist/commands/setup.js +2 -0
  16. package/dist/commands/setup.js.map +1 -1
  17. package/dist/i18n/locales/en.js +12 -0
  18. package/dist/i18n/locales/en.js.map +1 -1
  19. package/dist/i18n/locales/vi.js +12 -0
  20. package/dist/i18n/locales/vi.js.map +1 -1
  21. package/dist/i18n/locales/zh.js +12 -0
  22. package/dist/i18n/locales/zh.js.map +1 -1
  23. package/dist/i18n/types.d.ts +12 -0
  24. package/dist/index.js +5 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/server/api-server.js +13 -0
  27. package/dist/server/api-server.js.map +1 -1
  28. package/dist/utils/constants.d.ts +1 -0
  29. package/dist/utils/constants.js +1 -0
  30. package/dist/utils/constants.js.map +1 -1
  31. package/dist/utils/path-prompt.d.ts +1 -0
  32. package/dist/utils/path-prompt.js +70 -0
  33. package/dist/utils/path-prompt.js.map +1 -0
  34. package/dist/utils/paths.d.ts +4 -0
  35. package/dist/utils/paths.js +4 -0
  36. package/dist/utils/paths.js.map +1 -1
  37. package/dist/utils/response-store.js +1 -4
  38. package/dist/utils/response-store.js.map +1 -1
  39. package/dist/utils/shell-completion.d.ts +2 -0
  40. package/dist/utils/shell-completion.js +46 -0
  41. package/dist/utils/shell-completion.js.map +1 -0
  42. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACV,CAAC;AAIX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,IAAI;CACP,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,YAAY;IACtB,gBAAgB,EAAE,qBAAqB;IACvC,gBAAgB,EAAE,oBAAoB;IACtC,mBAAmB,EAAE,yBAAyB;IAC9C,YAAY,EAAE,oBAAoB;IAClC,MAAM,EAAE,SAAS;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,wCAAwC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACV,CAAC;AAIX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,IAAI;CACP,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,YAAY;IACtB,gBAAgB,EAAE,qBAAqB;IACvC,gBAAgB,EAAE,oBAAoB;IACtC,mBAAmB,EAAE,yBAAyB;IAC9C,qBAAqB,EAAE,0BAA0B;IACjD,YAAY,EAAE,oBAAoB;IAClC,MAAM,EAAE,SAAS;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,wCAAwC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function promptPath(message: string, initialValue?: string): Promise<string | symbol>;
@@ -0,0 +1,70 @@
1
+ import { readdirSync, statSync } from "node:fs";
2
+ import { dirname, join, resolve } from "node:path";
3
+ import { createInterface } from "node:readline";
4
+ import { expandHome } from "./paths.js";
5
+ const CANCEL = Symbol.for("cancel");
6
+ function completer(line) {
7
+ const expanded = expandHome(line);
8
+ const abs = resolve(expanded);
9
+ let dir;
10
+ let partial;
11
+ try {
12
+ if (statSync(abs).isDirectory() && line.endsWith("/")) {
13
+ dir = abs;
14
+ partial = "";
15
+ }
16
+ else {
17
+ dir = dirname(abs);
18
+ partial = abs.slice(dir.length + 1);
19
+ }
20
+ }
21
+ catch {
22
+ dir = dirname(abs);
23
+ partial = abs.slice(dir.length + 1);
24
+ }
25
+ let entries;
26
+ try {
27
+ entries = readdirSync(dir);
28
+ }
29
+ catch {
30
+ return [[], line];
31
+ }
32
+ const matches = entries.filter((e) => e.startsWith(partial));
33
+ const completions = matches.map((m) => {
34
+ const full = join(dir, m);
35
+ try {
36
+ const suffix = statSync(full).isDirectory() ? "/" : "";
37
+ return line.slice(0, line.length - partial.length) + m + suffix;
38
+ }
39
+ catch {
40
+ return line.slice(0, line.length - partial.length) + m;
41
+ }
42
+ });
43
+ return [completions, line];
44
+ }
45
+ export function promptPath(message, initialValue) {
46
+ return new Promise((res) => {
47
+ process.stdout.write(` ${message}\n`);
48
+ let answered = false;
49
+ const rl = createInterface({
50
+ input: process.stdin,
51
+ output: process.stdout,
52
+ completer,
53
+ terminal: true,
54
+ });
55
+ if (initialValue) {
56
+ rl.write(initialValue);
57
+ }
58
+ rl.on("line", (answer) => {
59
+ answered = true;
60
+ rl.close();
61
+ res(answer.trim());
62
+ });
63
+ rl.on("close", () => {
64
+ if (!answered)
65
+ res(CANCEL);
66
+ });
67
+ rl.prompt();
68
+ });
69
+ }
70
+ //# sourceMappingURL=path-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-prompt.js","sourceRoot":"","sources":["../../src/utils/path-prompt.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,14 @@ export declare const paths: {
6
6
  readonly stateFile: string;
7
7
  readonly hooksDir: string;
8
8
  readonly responsesDir: string;
9
+ readonly completionsDir: string;
10
+ readonly zshCompletion: string;
11
+ readonly bashCompletion: string;
9
12
  readonly claudeCodeHookScript: string;
10
13
  readonly claudeCodeSessionStartScript: string;
11
14
  readonly claudeCodeNotificationScript: string;
12
15
  readonly claudeCodePreToolUseScript: string;
16
+ readonly claudeCodePermissionRequestScript: string;
13
17
  readonly cursorHookScript: string;
14
18
  readonly claudeDir: string;
15
19
  readonly claudeSettings: string;
@@ -15,10 +15,14 @@ export const paths = {
15
15
  stateFile: join(CCPOKE_HOME, "state.json"),
16
16
  hooksDir: join(CCPOKE_HOME, "hooks"),
17
17
  responsesDir: join(CCPOKE_HOME, "responses"),
18
+ completionsDir: join(CCPOKE_HOME, "completions"),
19
+ zshCompletion: join(CCPOKE_HOME, "completions", "_ccpoke"),
20
+ bashCompletion: join(CCPOKE_HOME, "completions", "ccpoke.bash"),
18
21
  claudeCodeHookScript: join(CCPOKE_HOME, "hooks", process.platform === "win32" ? "claude-code-stop.cmd" : "claude-code-stop.sh"),
19
22
  claudeCodeSessionStartScript: join(CCPOKE_HOME, "hooks", "claude-code-session-start.sh"),
20
23
  claudeCodeNotificationScript: join(CCPOKE_HOME, "hooks", "claude-code-notification.sh"),
21
24
  claudeCodePreToolUseScript: join(CCPOKE_HOME, "hooks", "claude-code-pretooluse.sh"),
25
+ claudeCodePermissionRequestScript: join(CCPOKE_HOME, "hooks", "claude-code-permission-request.sh"),
22
26
  cursorHookScript: join(CCPOKE_HOME, "hooks", process.platform === "win32" ? "cursor-stop.cmd" : "cursor-stop.sh"),
23
27
  claudeDir: CLAUDE_HOME,
24
28
  claudeSettings: join(CLAUDE_HOME, "settings.json"),
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAElD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,WAAW,EAAE,YAAY;IAEzB,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;IAE/C,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC;IAC5C,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC;IAC1C,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;IACpC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;IAE5C,oBAAoB,EAAE,IAAI,CACxB,WAAW,EACX,OAAO,EACP,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,CAC9E;IACD,4BAA4B,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,8BAA8B,CAAC;IACxF,4BAA4B,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,6BAA6B,CAAC;IACvF,0BAA0B,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,2BAA2B,CAAC;IACnF,gBAAgB,EAAE,IAAI,CACpB,WAAW,EACX,OAAO,EACP,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CACpE;IAED,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC;IAClD,iBAAiB,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IAEhD,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC;IAChD,iBAAiB,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;CACxC,CAAC;AAEX,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"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"}
@@ -19,10 +19,7 @@ class ResponseStore {
19
19
  save(data) {
20
20
  this.ensureInitialized();
21
21
  this.cleanup();
22
- let id;
23
- do {
24
- id = randomUUID().slice(0, 8);
25
- } while (this.responses.has(id));
22
+ const id = randomUUID();
26
23
  const entry = { ...data, id, timestamp: Date.now() };
27
24
  this.responses.set(id, entry);
28
25
  this.persistToDisk(id, entry);
@@ -1 +1 @@
1
- {"version":3,"file":"response-store.js","sourceRoot":"","sources":["../../src/utils/response-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-store.js","sourceRoot":"","sources":["../../src/utils/response-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAwB,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAgB/C,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC;AAErC,MAAM,aAAa;IACT,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9C,WAAW,GAAG,KAAK,CAAC;IAEpB,iBAAiB;QACvB,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,IAA8C;QACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,KAAK,GAAmB,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACrE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,kBAAkB,EAAE,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,OAAO;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,kBAAkB,EAAE,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,oBAAoB,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC7F,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpD,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,EAAU,EAAE,KAAqB;QACrD,IAAI,CAAC;YACH,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvF,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,EAAU;QAC/B,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC1D,MAAM,KAAK,GAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/C,IAAI,KAAK,CAAC,EAAE,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,kBAAkB,EAAE,CAAC;wBAC3D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,yBAAyB;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function installShellCompletion(): void;
2
+ export declare function ensureShellCompletion(): void;
@@ -0,0 +1,46 @@
1
+ import { existsSync, mkdirSync, writeFileSync } from "node:fs";
2
+ import * as p from "@clack/prompts";
3
+ import { t } from "../i18n/index.js";
4
+ import { paths } from "./paths.js";
5
+ const ZSH_SCRIPT = `#compdef ccpoke
6
+
7
+ _ccpoke() {
8
+ local -a commands
9
+ commands=(
10
+ 'setup:Run the setup wizard'
11
+ 'project:Manage registered projects'
12
+ 'update:Update ccpoke to latest version'
13
+ 'uninstall:Remove ccpoke hooks and config'
14
+ 'help:Show help information'
15
+ )
16
+ _describe 'command' commands
17
+ }
18
+
19
+ _ccpoke "$@"
20
+ `;
21
+ const BASH_SCRIPT = `_ccpoke_completions() {
22
+ local cur="\${COMP_WORDS[COMP_CWORD]}"
23
+ COMPREPLY=( $(compgen -W "setup project update uninstall help" -- "$cur") )
24
+ }
25
+
26
+ complete -F _ccpoke_completions ccpoke
27
+ `;
28
+ function writeCompletionScripts() {
29
+ mkdirSync(paths.completionsDir, { recursive: true });
30
+ writeFileSync(paths.zshCompletion, ZSH_SCRIPT);
31
+ writeFileSync(paths.bashCompletion, BASH_SCRIPT);
32
+ }
33
+ export function installShellCompletion() {
34
+ if (process.platform === "win32")
35
+ return;
36
+ writeCompletionScripts();
37
+ p.log.step(t("setup.shellCompletionHint", { dir: paths.completionsDir }));
38
+ }
39
+ export function ensureShellCompletion() {
40
+ if (process.platform === "win32")
41
+ return;
42
+ if (existsSync(paths.zshCompletion) && existsSync(paths.bashCompletion))
43
+ return;
44
+ writeCompletionScripts();
45
+ }
46
+ //# sourceMappingURL=shell-completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-completion.js","sourceRoot":"","sources":["../../src/utils/shell-completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;CAelB,CAAC;AAEF,MAAM,WAAW,GAAG;;;;;;CAMnB,CAAC;AAEF,SAAS,sBAAsB;IAC7B,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,aAAa,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC/C,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO;IACzC,sBAAsB,EAAE,CAAC;IACzB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO;IACzC,IAAI,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;QAAE,OAAO;IAChF,sBAAsB,EAAE,CAAC;AAC3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccpoke",
3
- "version": "1.6.13",
3
+ "version": "1.6.14",
4
4
  "description": "Your AI agent pokes you when it's done — zero-config, one command: npx -y ccpoke",
5
5
  "type": "module",
6
6
  "license": "MIT",