@cspeach/cli 1.1.30 → 1.1.31

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 (96) hide show
  1. package/.cspeach/project.json +4 -0
  2. package/README.md +11 -1
  3. package/dist/agent/loop.js +121 -8
  4. package/dist/cli.js +36 -14
  5. package/dist/commands/config-set.js +1 -1
  6. package/dist/commands/plan-continue.js +1 -1
  7. package/dist/commands/plan-gate.js +8 -1
  8. package/dist/commands/plan-resume.js +24 -18
  9. package/dist/commands/plan-startup.js +49 -6
  10. package/dist/commands/team-discover.js +195 -0
  11. package/dist/commands/team-plan.js +585 -0
  12. package/dist/commands/team.js +375 -41
  13. package/dist/journey/chain.js +728 -0
  14. package/dist/journey/clean-core.js +213 -0
  15. package/dist/journey/flow.js +166 -0
  16. package/dist/journey/run.js +435 -0
  17. package/dist/journey/session-deps.js +77 -0
  18. package/dist/journey/trigger.js +153 -0
  19. package/dist/lane/app-chain.js +9 -7
  20. package/dist/lane/chain-token.js +9 -5
  21. package/dist/lane/roots.js +97 -41
  22. package/dist/one-shot.js +20 -1
  23. package/dist/projects/clean-core-confirm.js +156 -0
  24. package/dist/projects/detail-path.js +9 -4
  25. package/dist/projects/extract-clean-core.js +3 -0
  26. package/dist/projects/migration.js +4 -105
  27. package/dist/projects/plan-lane.js +67 -17
  28. package/dist/projects/plan-sources.js +13 -7
  29. package/dist/projects/project-folder.js +131 -0
  30. package/dist/projects/promote-command.js +39 -0
  31. package/dist/projects/save-command.js +83 -12
  32. package/dist/projects/saved-lines.js +17 -3
  33. package/dist/projects/sort-command.js +499 -0
  34. package/dist/projects/sort-core.js +248 -0
  35. package/dist/projects/workspace-retire.js +48 -0
  36. package/dist/projects/workspace.js +182 -121
  37. package/dist/register/discover.js +901 -0
  38. package/dist/register/findings.js +5 -2
  39. package/dist/register/offer.js +100 -8
  40. package/dist/register/picture.js +6 -2
  41. package/dist/register/plan-import.js +325 -0
  42. package/dist/register/records.js +25 -0
  43. package/dist/register/status-file/estate-parts.js +168 -0
  44. package/dist/register/status-file/plan-parts.js +68 -0
  45. package/dist/register/status-file/progress-chart.js +110 -0
  46. package/dist/register/status-file/register-map.js +11 -3
  47. package/dist/register/status-file/register-model.js +40 -6
  48. package/dist/register/status-file/register-parts.js +57 -11
  49. package/dist/register/status-file/register-status-file.js +24 -6
  50. package/dist/register/status-file/team-css.js +1 -1
  51. package/dist/register/status-file-sync.js +3 -0
  52. package/dist/register/status-html.js +3 -1
  53. package/dist/register/store.js +40 -2
  54. package/dist/register/workbooks.js +27 -7
  55. package/dist/register/xlsx.js +13 -3
  56. package/dist/register/xref.js +117 -0
  57. package/dist/renderer/startup-lines.js +11 -0
  58. package/dist/renderer/tool-labels.js +2 -1
  59. package/dist/renderer/tool-widget.js +15 -1
  60. package/dist/repl/at-completer.js +6 -2
  61. package/dist/repl/at-picker.js +1 -1
  62. package/dist/repl/journey-entry.js +25 -0
  63. package/dist/repl.js +157 -39
  64. package/dist/session/backfill.js +342 -0
  65. package/dist/session/project-match.js +63 -0
  66. package/dist/session/resume.js +72 -24
  67. package/dist/session/schema.js +3 -1
  68. package/dist/session/store.js +96 -51
  69. package/dist/skill-catalog.js +2 -2
  70. package/dist/skills/bundled-skills.js +1 -1
  71. package/dist/tools/_filesystem-shared.js +174 -12
  72. package/dist/tools/_team-work-path.js +133 -0
  73. package/dist/tools/approval.js +7 -1
  74. package/dist/tools/filesystem/extract-xlsx.js +27 -3
  75. package/dist/tools/filesystem/file-edit.js +12 -4
  76. package/dist/tools/filesystem/file-read.js +8 -4
  77. package/dist/tools/filesystem/file-write.js +12 -4
  78. package/dist/tools/filesystem/glob.js +33 -8
  79. package/dist/tools/filesystem/grep.js +9 -4
  80. package/dist/tools/filesystem/read-document.js +6 -3
  81. package/dist/tools/project/cca_merge.js +8 -2
  82. package/dist/tools/project/team_estate.js +91 -0
  83. package/dist/tools/project/team_findings.js +77 -4
  84. package/dist/tools/project/upgrade_merge_progress.js +8 -2
  85. package/dist/tools/sap-read.js +21 -4
  86. package/dist/tools/sap-write.js +200 -10
  87. package/dist/tools/subagent/read_agent.js +3 -0
  88. package/dist/tools/tool-loading.js +1 -1
  89. package/dist/tools/transport-fit-check.js +117 -0
  90. package/dist/tools/transport-fit.js +15 -7
  91. package/dist/tools/transport.js +57 -2
  92. package/dist/ui/app.js +2 -2
  93. package/dist/ui/approval-modal.js +74 -6
  94. package/dist/ui/widgets/confirm-card.js +68 -5
  95. package/dist/util/open-in-browser.js +143 -0
  96. package/package.json +120 -120
package/package.json CHANGED
@@ -1,120 +1,120 @@
1
- {
2
- "name": "@cspeach/cli",
3
- "version": "1.1.30",
4
- "description": "CSPeach — AI-assisted ABAP development CLI. Direct SAP access, 34 skills, safety gates.",
5
- "keywords": [
6
- "abap",
7
- "sap",
8
- "ai",
9
- "cli",
10
- "ai-assisted-development",
11
- "s4hana",
12
- "abap-development",
13
- "claude",
14
- "anthropic"
15
- ],
16
- "homepage": "https://cspeach.dev",
17
- "bugs": {
18
- "email": "laeeq.siddique@cremencing.com"
19
- },
20
- "author": "Laeeq Siddique (Cremencing Solutions)",
21
- "license": "SEE LICENSE IN LICENSE",
22
- "private": false,
23
- "publishConfig": {
24
- "access": "public"
25
- },
26
- "type": "module",
27
- "bin": {
28
- "cspeach": "dist/index.js"
29
- },
30
- "scripts": {
31
- "dev": "tsx src/index.ts",
32
- "prebuild": "tsx scripts/prebuild.ts",
33
- "build": "tsc && node scripts/make-bin-executable.js",
34
- "install:global": "tsx scripts/install-global.ts",
35
- "pretest": "tsx scripts/sync-signing-key.ts || node -e \"console.warn('WARN: sync-signing-key skipped — using stub')\"",
36
- "start": "node dist/index.js",
37
- "typecheck": "tsc --noEmit",
38
- "test": "vitest run",
39
- "test:watch": "vitest",
40
- "test:smoke-e2e": "vitest run --config vitest.smoke-e2e.config.ts",
41
- "adt:smoke": "tsx scripts/adt-smoke.ts",
42
- "smoke:all": "pnpm adt:smoke",
43
- "bench:models": "tsx scripts/bench-models.ts",
44
- "bench:audit": "tsx scripts/bench-audit-task.ts",
45
- "bench:replay": "tsx bench/replay/run.ts",
46
- "fiori": "tsx src/tools/fiori/bin.ts",
47
- "prepare": "husky",
48
- "prepublishOnly": "node -e \"const deps=require('./package.json').dependencies||{}; for (const n of ['@cspeach/sap-client','@cspeach/register-core']) { const d=deps[n]||''; if(d.startsWith('file:')||d.startsWith('link:')){console.error('publish blocked: '+n+' is a local link ('+d+') — point it at the published version before npm publish'); process.exit(1)} }\""
49
- },
50
- "engines": {
51
- "node": ">=20.0.0"
52
- },
53
- "dependencies": {
54
- "@anthropic-ai/sdk": "^0.90.0",
55
- "@cspeach/register-core": "0.2.0",
56
- "@cspeach/sap-client": "0.1.16",
57
- "@iarna/toml": "^2.2.5",
58
- "@inkjs/ui": "^2.0.0",
59
- "@inquirer/prompts": "^7.0.0",
60
- "@napi-rs/keyring": "2.1.0",
61
- "@noble/ed25519": "2.1.0",
62
- "@noble/hashes": "1.4.0",
63
- "@sap-ux/annotation-converter": "0.10.21",
64
- "@sap-ux/edmx-parser": "0.10.0",
65
- "@sap-ux/fe-fpm-writer": "0.43.7",
66
- "@sap-ux/fiori-elements-writer": "^3.0.39",
67
- "@sap-ux/fiori-freestyle-writer": "3.0.12",
68
- "@sap-ux/vocabularies-types": "0.15.0",
69
- "adm-zip": "0.5.17",
70
- "chalk": "^5.3.0",
71
- "cli-highlight": "^2.1.11",
72
- "cli-table3": "^0.6.5",
73
- "clipboardy": "^5.3.1",
74
- "cross-spawn": "^7.0.6",
75
- "diff": "^9.0.0",
76
- "ejs": "3.1.10",
77
- "fuse.js": "^7.0.0",
78
- "ink": "^5.0.0",
79
- "ink-text-input": "^6.0.0",
80
- "jose": "^5.9.0",
81
- "mammoth": "^1.8.0",
82
- "marked": "^11.2.0",
83
- "marked-terminal": "^6.2.0",
84
- "mem-fs": "2.1.0",
85
- "mem-fs-editor": "9.4.0",
86
- "node-machine-id": "^1.1.12",
87
- "openai": "^6.49.0",
88
- "puppeteer-core": "24.10.2",
89
- "react": "^18.3.0",
90
- "string-width": "^7.2.0",
91
- "turndown": "^7.2.0",
92
- "unpdf": "1.7.0",
93
- "zod": "^3.23.0"
94
- },
95
- "devDependencies": {
96
- "@sap-ux/ui5-middleware-fe-mockserver": "2.4.17",
97
- "@types/adm-zip": "0.5.8",
98
- "@types/cross-spawn": "^6.0.6",
99
- "@types/diff": "^7.0.2",
100
- "@types/ejs": "^3.1.5",
101
- "@types/node": "^20.17.0",
102
- "@types/react": "^18.3.0",
103
- "@types/turndown": "^5.0.5",
104
- "@ui5/builder": "4.3.2",
105
- "@ui5/fs": "4.0.6",
106
- "docx": "^9.0.2",
107
- "husky": "^9.1.7",
108
- "ink-testing-library": "^4.0.0",
109
- "pdf-lib": "^1.17.1",
110
- "strip-ansi": "6.0.1",
111
- "tsx": "^4.19.0",
112
- "typescript": "^5.7.0",
113
- "vitest": "^2.1.0"
114
- },
115
- "pnpm": {
116
- "onlyBuiltDependencies": [
117
- "esbuild"
118
- ]
119
- }
120
- }
1
+ {
2
+ "name": "@cspeach/cli",
3
+ "version": "1.1.31",
4
+ "description": "CSPeach — AI-assisted ABAP development CLI. Direct SAP access, 34 skills, safety gates.",
5
+ "keywords": [
6
+ "abap",
7
+ "sap",
8
+ "ai",
9
+ "cli",
10
+ "ai-assisted-development",
11
+ "s4hana",
12
+ "abap-development",
13
+ "claude",
14
+ "anthropic"
15
+ ],
16
+ "homepage": "https://cspeach.dev",
17
+ "bugs": {
18
+ "email": "laeeq.siddique@cremencing.com"
19
+ },
20
+ "author": "Laeeq Siddique (Cremencing Solutions)",
21
+ "license": "SEE LICENSE IN LICENSE",
22
+ "private": false,
23
+ "publishConfig": {
24
+ "access": "public"
25
+ },
26
+ "type": "module",
27
+ "bin": {
28
+ "cspeach": "dist/index.js"
29
+ },
30
+ "scripts": {
31
+ "dev": "tsx src/index.ts",
32
+ "prebuild": "tsx scripts/prebuild.ts",
33
+ "build": "tsc && node scripts/make-bin-executable.js",
34
+ "install:global": "tsx scripts/install-global.ts",
35
+ "pretest": "tsx scripts/sync-signing-key.ts || node -e \"console.warn('WARN: sync-signing-key skipped — using stub')\"",
36
+ "start": "node dist/index.js",
37
+ "typecheck": "tsc --noEmit",
38
+ "test": "vitest run",
39
+ "test:watch": "vitest",
40
+ "test:smoke-e2e": "vitest run --config vitest.smoke-e2e.config.ts",
41
+ "adt:smoke": "tsx scripts/adt-smoke.ts",
42
+ "smoke:all": "pnpm adt:smoke",
43
+ "bench:models": "tsx scripts/bench-models.ts",
44
+ "bench:audit": "tsx scripts/bench-audit-task.ts",
45
+ "bench:replay": "tsx bench/replay/run.ts",
46
+ "fiori": "tsx src/tools/fiori/bin.ts",
47
+ "prepare": "husky",
48
+ "prepublishOnly": "node -e \"const deps=require('./package.json').dependencies||{}; for (const n of ['@cspeach/sap-client','@cspeach/register-core']) { const d=deps[n]||''; if(d.startsWith('file:')||d.startsWith('link:')){console.error('publish blocked: '+n+' is a local link ('+d+') — point it at the published version before npm publish'); process.exit(1)} }\""
49
+ },
50
+ "engines": {
51
+ "node": ">=20.0.0"
52
+ },
53
+ "dependencies": {
54
+ "@anthropic-ai/sdk": "^0.90.0",
55
+ "@cspeach/register-core": "0.3.0",
56
+ "@cspeach/sap-client": "0.1.17",
57
+ "@iarna/toml": "^2.2.5",
58
+ "@inkjs/ui": "^2.0.0",
59
+ "@inquirer/prompts": "^7.0.0",
60
+ "@napi-rs/keyring": "2.1.0",
61
+ "@noble/ed25519": "2.1.0",
62
+ "@noble/hashes": "1.4.0",
63
+ "@sap-ux/annotation-converter": "0.10.21",
64
+ "@sap-ux/edmx-parser": "0.10.0",
65
+ "@sap-ux/fe-fpm-writer": "0.43.7",
66
+ "@sap-ux/fiori-elements-writer": "^3.0.39",
67
+ "@sap-ux/fiori-freestyle-writer": "3.0.12",
68
+ "@sap-ux/vocabularies-types": "0.15.0",
69
+ "adm-zip": "0.5.17",
70
+ "chalk": "^5.3.0",
71
+ "cli-highlight": "^2.1.11",
72
+ "cli-table3": "^0.6.5",
73
+ "clipboardy": "^5.3.1",
74
+ "cross-spawn": "^7.0.6",
75
+ "diff": "^9.0.0",
76
+ "ejs": "3.1.10",
77
+ "fuse.js": "^7.0.0",
78
+ "ink": "^5.0.0",
79
+ "ink-text-input": "^6.0.0",
80
+ "jose": "^5.9.0",
81
+ "mammoth": "^1.8.0",
82
+ "marked": "^11.2.0",
83
+ "marked-terminal": "^6.2.0",
84
+ "mem-fs": "2.1.0",
85
+ "mem-fs-editor": "9.4.0",
86
+ "node-machine-id": "^1.1.12",
87
+ "openai": "^6.49.0",
88
+ "puppeteer-core": "24.10.2",
89
+ "react": "^18.3.0",
90
+ "string-width": "^7.2.0",
91
+ "turndown": "^7.2.0",
92
+ "unpdf": "1.7.0",
93
+ "zod": "^3.23.0"
94
+ },
95
+ "devDependencies": {
96
+ "@sap-ux/ui5-middleware-fe-mockserver": "2.4.17",
97
+ "@types/adm-zip": "0.5.8",
98
+ "@types/cross-spawn": "^6.0.6",
99
+ "@types/diff": "^7.0.2",
100
+ "@types/ejs": "^3.1.5",
101
+ "@types/node": "^20.17.0",
102
+ "@types/react": "^18.3.0",
103
+ "@types/turndown": "^5.0.5",
104
+ "@ui5/builder": "4.3.2",
105
+ "@ui5/fs": "4.0.6",
106
+ "docx": "^9.0.2",
107
+ "husky": "^9.1.7",
108
+ "ink-testing-library": "^4.0.0",
109
+ "pdf-lib": "^1.17.1",
110
+ "strip-ansi": "6.0.1",
111
+ "tsx": "^4.19.0",
112
+ "typescript": "^5.7.0",
113
+ "vitest": "^2.1.0"
114
+ },
115
+ "pnpm": {
116
+ "onlyBuiltDependencies": [
117
+ "esbuild"
118
+ ]
119
+ }
120
+ }