axmap-cli 1.5.0 โ†’ 1.7.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.
Files changed (53) hide show
  1. package/.claude/commands/pipeline.md +9 -0
  2. package/README.ko.md +37 -0
  3. package/README.md +37 -0
  4. package/bin/axmap.mjs +6 -0
  5. package/mcp/README.md +9 -0
  6. package/mcp/pipeline.html +184 -0
  7. package/mcp/server.mjs +161 -20
  8. package/package.json +12 -3
  9. package/skills/pipeline/SKILL.md +14 -0
  10. package/src/agentcli.mjs +17 -14
  11. package/src/agentcli.mts +19 -0
  12. package/src/bridge.mjs +297 -219
  13. package/src/bridge.mts +282 -0
  14. package/src/codex-connection.mjs +151 -0
  15. package/src/codex-connection.mts +83 -0
  16. package/src/external-console.mjs +140 -97
  17. package/src/external-console.mts +128 -0
  18. package/src/managed-session.mjs +325 -169
  19. package/src/managed-session.mts +242 -0
  20. package/src/monitor-cli.mjs +89 -0
  21. package/src/monitor-cli.mts +66 -0
  22. package/src/monitor.mjs +245 -0
  23. package/src/monitor.mts +199 -0
  24. package/src/node-pty.d.ts +13 -0
  25. package/src/pipeline-graph.mjs +55 -0
  26. package/src/pipeline-graph.mts +51 -0
  27. package/src/pipeline-mcp.mjs +111 -0
  28. package/src/pipeline-mcp.mts +105 -0
  29. package/src/pipeline-statusline.mjs +135 -0
  30. package/src/pipeline-statusline.mts +106 -0
  31. package/src/pipeline-web.mjs +56 -0
  32. package/src/pipeline-web.mts +31 -0
  33. package/src/session-dialogue.mjs +168 -116
  34. package/src/session-dialogue.mts +136 -0
  35. package/src/session-mailbox.mjs +190 -0
  36. package/src/session-mailbox.mts +157 -0
  37. package/src/session-status.mjs +47 -41
  38. package/src/session-status.mts +50 -0
  39. package/src/session-types.mjs +7 -0
  40. package/src/session-types.mts +119 -0
  41. package/src/session-usage.mjs +33 -28
  42. package/src/session-usage.mts +39 -0
  43. package/src/terminal-bridge.mjs +293 -209
  44. package/src/terminal-bridge.mts +235 -0
  45. package/src/windows-console.mjs +42 -0
  46. package/src/windows-console.mts +29 -0
  47. package/tools/bench-console.mjs +70 -0
  48. package/tools/bridge.mjs +41 -6
  49. package/tools/build.mjs +39 -0
  50. package/tools/monitor.mjs +5 -0
  51. package/tools/pipeline.mjs +34 -0
  52. package/tools/run-tests.mjs +3 -2
  53. package/tools/windows-console.cs +116 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "//name": "๐Ÿ”ด npm ์˜ 'axmap' ์€ 2022๋…„๋ถ€ํ„ฐ ๋‚จ์ด ์“ฐ๊ณ  ์žˆ๋Š” ๋‹ค๋ฅธ ๊พธ๋Ÿฌ๋ฏธ๋‹ค(leozin_ ์˜ Map ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, 1.1.2). ๊ทธ๋ž˜์„œ `npx axmap` ์€ ์šฐ๋ฆฌ ๊ฒƒ์ด ์•„๋‹ˆ๊ณ , ๋ˆ„๊ตฌ์—๊ฒŒ๋„ ๊ทธ๋ ‡๊ฒŒ ์•ˆ๋‚ดํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. 2026-08-28 ์— axmap-cli ๋กœ ์ •ํ–ˆ๋‹ค โ€” ์Šค์ฝ”ํ”„(@์‚ฌ์šฉ์ž/์ด๋ฆ„)๋ฅผ ์“ฐ์ง€ ์•Š๋Š” ์ด์œ ๋Š” ์Šค์ฝ”ํ”„๊ฐ€ npm ๊ณ„์ • ์ด๋ฆ„์— ๋ฌถ์—ฌ์„œ ๋‚˜์ค‘์— ํŒ€์ด๋‚˜ ์กฐ์ง์œผ๋กœ ์˜ฎ๊ธธ ๋•Œ ์ด๋ฆ„์ด ํ†ต์งธ๋กœ ๋ฐ”๋€Œ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์‚ฌ๋žŒ์ด ์น˜๋Š” **๋ช…๋ น** ์ด๋ฆ„์€ ๊ทธ๋Œ€๋กœ axmap ์ด๋‹ค (์•„๋ž˜ bin) โ€” ๊พธ๋Ÿฌ๋ฏธ ์ด๋ฆ„๊ณผ ๋ช…๋ น ์ด๋ฆ„์€ ๋‹ฌ๋ผ๋„ ๋œ๋‹ค.",
3
3
  "name": "axmap-cli",
4
- "version": "1.5.0",
4
+ "version": "1.7.0",
5
5
  "//private": "๐Ÿ”ด ์—ฌ๊ธฐ ์žˆ๋˜ \"private\": true ๋ฅผ 2026-08-28 ์— ์ง€์› ๋‹ค. ๊ทธ ์ค„์ด ์žˆ๋Š” ๋™์•ˆ npm publish ๋Š” ๊ฑฐ๋ถ€๋๋‹ค. ๋˜๋Œ๋ฆฌ๋ ค๋ฉด ๋‹ค์‹œ ๋„ฃ์œผ๋ฉด ๋˜์ง€๋งŒ, ์ด๋ฏธ ์˜ฌ๋ผ๊ฐ„ ๋ฒ„์ „์€ ๊ทธ๋ž˜๋„ ์•ˆ ์‚ฌ๋ผ์ง„๋‹ค โ€” npm ์€ ๊ฐ™์€ ๋ฒˆํ˜ธ๋ฅผ ๋ฎ์–ด์“ฐ์ง€ ๋ชปํ•˜๊ณ  ์‚ญ์ œ๋„ 72์‹œ๊ฐ„ ์•ˆ์—๋งŒ ๋œ๋‹ค. ์ฆ‰ ์ด ์ค„์„ ๋˜์‚ด๋ฆฌ๋Š” ๊ฒƒ์€ '์•ž์œผ๋กœ ์•ˆ ์˜ฌ๋ฆฐ๋‹ค' ๋Š” ๋œป์ด์ง€ '์˜ฌ๋ฆฐ ๊ฒƒ์„ ์—†์•ค๋‹ค' ๋Š” ๋œป์ด ์•„๋‹ˆ๋‹ค.",
6
6
  "//publishConfig": "axmap-cli ๋Š” ์Šค์ฝ”ํ”„๊ฐ€ ์—†์–ด์„œ ๊ธฐ๋ณธ์ด ์ด๋ฏธ ๊ณต๊ฐœ๋‹ค. ์ฆ‰ ์ง€๊ธˆ์€ ์—†์–ด๋„ ๋œ๋‹ค. ๊ทธ๋ž˜๋„ ๋‚จ๊ฒจ ๋‘๋Š” ์ด์œ : ๋‚˜์ค‘์— @์กฐ์ง/axmap ์ฒ˜๋Ÿผ ์Šค์ฝ”ํ”„๋ฅผ ๋ถ™์ด๋Š” ๋‚  ์ด ์ค„์ด ์—†์œผ๋ฉด publish ๊ฐ€ '์œ ๋ฃŒ ํ”Œ๋žœ์ด ํ•„์š”ํ•˜๋‹ค'๋Š” ์—‰๋šฑํ•œ ๋ง๋กœ ์‹คํŒจํ•œ๋‹ค.",
7
7
  "publishConfig": {
@@ -32,16 +32,21 @@
32
32
  "src/",
33
33
  "mcp/",
34
34
  "tools/",
35
+ "skills/",
35
36
  "governance/",
36
37
  ".claude/",
37
38
  "CLAUDE.md"
38
39
  ],
39
40
  "scripts": {
40
- "test": "node tools/run-tests.mjs",
41
+ "test": "npm run build:check && node tools/run-tests.mjs",
41
42
  "setup": "node tools/setup.mjs",
42
43
  "demo": "bash demo/run-demo.sh",
43
44
  "demo:compare": "bash demo/conflict-vs-parser.sh",
44
- "demo:chaos": "bash demo/chaos.sh"
45
+ "demo:chaos": "bash demo/chaos.sh",
46
+ "build": "node tools/build.mjs",
47
+ "build:check": "node tools/build.mjs --check",
48
+ "typecheck": "tsc --noEmit",
49
+ "prepack": "npm run build"
45
50
  },
46
51
  "engines": {
47
52
  "node": ">=20"
@@ -52,5 +57,9 @@
52
57
  },
53
58
  "dependencies": {
54
59
  "node-pty": "npm:@lydell/node-pty@1.1.0"
60
+ },
61
+ "devDependencies": {
62
+ "@types/node": "20.19.43",
63
+ "typescript": "7.0.2"
55
64
  }
56
65
  }
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: pipeline
3
+ description: Show the current repository's axMap local session graph, request and reply routing, observed usage and events. Use for /pipeline or axMap pipeline monitoring requests.
4
+ ---
5
+
6
+ Use the current Git repository as scope. When the workspace root is outside Git, use its explicitly configured primary repository; never choose another repository silently.
7
+
8
+ Call `ax_pipeline` if available to show its MCP Apps session graph. This is read-only and does not invoke models. If the host lacks the tool/UI, use `axmap pipeline --cwd <absolute-repository>` in an interactive terminal, or `axmap pipeline --web --cwd <absolute-repository>` for the read-only loopback graphical view. For a snapshot use `--once`, and identify it as a snapshot rather than a live view.
9
+
10
+ The display shows registered bridge sessions and observed request IDs, roles, actual usage and events. An unregistered native Codex thread is not automatically visible. Missing usage is unknown, not zero; no invented task percentages. Opening the view never starts or resumes a model session or approves a request.
11
+
12
+ For an existing, user-selected Codex conversation, `axmap bridge connect codex --thread <existing-thread-id> --socket <official-local-control-socket> --role <role>` attaches through the already-running daemon. It preserves the original conversation and requires verified idle state. The connection process must stay running. Never replace failed attachment with a new blank session.
13
+
14
+ Codex-enabled skills may appear in the slash menu or be invoked as `$pipeline`; exact `/pipeline` menu availability depends on the host. Do not claim the client reserves a custom bare command when it does not.
package/src/agentcli.mjs CHANGED
@@ -1,19 +1,22 @@
1
+ // Generated from src/agentcli.mts. Edit the .mts source and run npm run build.
1
2
  /** AI CLI executable discovery shared by setup and MCP registration. */
2
- import { spawnSync } from 'node:child_process'
3
-
3
+ import { spawnSync } from 'node:child_process';
4
4
  export const AGENTS = [
5
- { id: 'claude', name: 'Claude Code', bin: 'claude' },
6
- { id: 'agy', name: 'Antigravity', bin: 'agy' },
7
- { id: 'codex', name: 'Codex CLI', bin: 'codex' },
8
- ]
9
-
5
+ { id: 'claude', name: 'Claude Code', bin: 'claude' },
6
+ { id: 'agy', name: 'Antigravity', bin: 'agy' },
7
+ { id: 'codex', name: 'Codex CLI', bin: 'codex' },
8
+ ];
10
9
  /** Resolve the executable without a shell so paths and arguments stay intact. */
11
10
  export function resolveBin(bin) {
12
- try {
13
- const r = spawnSync(process.platform === 'win32' ? 'where.exe' : 'which', [bin], {
14
- encoding: 'utf8', windowsHide: true,
15
- })
16
- if (r.status !== 0) return null
17
- return r.stdout.split(/\r?\n/).map(s => s.trim()).find(Boolean) || null
18
- } catch { return null }
11
+ try {
12
+ const r = spawnSync(process.platform === 'win32' ? 'where.exe' : 'which', [bin], {
13
+ encoding: 'utf8', windowsHide: true,
14
+ });
15
+ if (r.status !== 0)
16
+ return null;
17
+ return r.stdout.split(/\r?\n/).map(s => s.trim()).find(Boolean) || null;
18
+ }
19
+ catch {
20
+ return null;
21
+ }
19
22
  }
@@ -0,0 +1,19 @@
1
+ /** AI CLI executable discovery shared by setup and MCP registration. */
2
+ import { spawnSync } from 'node:child_process'
3
+
4
+ export const AGENTS = [
5
+ { id: 'claude', name: 'Claude Code', bin: 'claude' },
6
+ { id: 'agy', name: 'Antigravity', bin: 'agy' },
7
+ { id: 'codex', name: 'Codex CLI', bin: 'codex' },
8
+ ]
9
+
10
+ /** Resolve the executable without a shell so paths and arguments stay intact. */
11
+ export function resolveBin(bin: string): string | null {
12
+ try {
13
+ const r = spawnSync(process.platform === 'win32' ? 'where.exe' : 'which', [bin], {
14
+ encoding: 'utf8', windowsHide: true,
15
+ })
16
+ if (r.status !== 0) return null
17
+ return r.stdout.split(/\r?\n/).map(s => s.trim()).find(Boolean) || null
18
+ } catch { return null }
19
+ }