@cspeach/cli 1.1.26 → 1.1.28
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/dist/agent/loop.js +41 -5
- package/dist/agent/provider-shape.js +9 -2
- package/dist/agent/providers/ai-hub-provider.js +2 -2
- package/dist/agent/providers/byok-provider.js +2 -2
- package/dist/agent/providers/local-provider.js +4 -4
- package/dist/agent/system-prompt.js +34 -7
- package/dist/agent/tool-dispatch.js +20 -1
- package/dist/approvals/grant-claims.js +70 -0
- package/dist/approvals/jwt.js +21 -1
- package/dist/approvals/plan-grant.js +297 -0
- package/dist/commands/config-set.js +12 -0
- package/dist/commands/deploy-card.js +10 -5
- package/dist/commands/export-audit.js +1 -1
- package/dist/commands/plan-audit-evidence.js +47 -1
- package/dist/commands/plan-audit.js +23 -8
- package/dist/commands/plan-batch-audit.js +349 -0
- package/dist/commands/plan-boundary.js +88 -0
- package/dist/commands/plan-chain.js +409 -566
- package/dist/commands/plan-continue.js +21 -7
- package/dist/commands/plan-gate.js +28 -49
- package/dist/commands/plan-reground.js +174 -0
- package/dist/commands/plan-resume.js +227 -103
- package/dist/commands/plan-sap-pause.js +105 -0
- package/dist/commands/plan-startup.js +218 -0
- package/dist/commands/whoami.js +1 -1
- package/dist/config/loader.js +9 -0
- package/dist/doctor/checks/forge-rules.js +67 -85
- package/dist/doctor/checks/skill.js +60 -11
- package/dist/doctor/run.js +4 -6
- package/dist/lane/app-chain.js +116 -9
- package/dist/one-shot.js +1 -0
- package/dist/projects/extract-design.js +4 -3
- package/dist/projects/extract-estimate.js +4 -3
- package/dist/projects/extract-plan.js +34 -1
- package/dist/projects/extract-spec-gap.js +28 -5
- package/dist/projects/handover-md.js +1 -1
- package/dist/projects/plan-objects.js +75 -0
- package/dist/projects/plan-run.js +74 -18
- package/dist/projects/plan-schema.js +6 -0
- package/dist/projects/plan-sources.js +199 -0
- package/dist/projects/promote-command.js +1 -1
- package/dist/projects/save-command.js +15 -14
- package/dist/projects/saved-lines.js +36 -0
- package/dist/projects/title-heading.js +36 -0
- package/dist/renderer/checklist-format.js +5 -5
- package/dist/renderer/machine-blocks.js +141 -0
- package/dist/renderer/thinking-heartbeat.js +2 -1
- package/dist/renderer/tool-labels.js +3 -0
- package/dist/repl/plan-hop.js +22 -0
- package/dist/repl/rule8-detector.js +16 -1
- package/dist/repl.js +320 -55
- package/dist/router/router-core.js +2 -2
- package/dist/sap/reachability-state.js +25 -0
- package/dist/sap/unreachable.js +4 -1
- package/dist/session/audit-export.js +10 -16
- package/dist/session/recap.js +16 -26
- package/dist/skills/bundled-skills.js +1 -1
- package/dist/tools/_filesystem-shared.js +37 -0
- package/dist/tools/approval.js +48 -2
- package/dist/tools/dispatch-skill.js +3 -2
- package/dist/tools/filesystem/file-read.js +5 -3
- package/dist/tools/filesystem/glob.js +27 -4
- package/dist/tools/fiori/tools.js +6 -0
- package/dist/tools/lane/app-lane-resolve.js +1 -1
- package/dist/tools/sap-read.js +37 -3
- package/dist/tools/sap-write.js +65 -0
- package/dist/tools/text-elements/pool.js +250 -0
- package/dist/tools/text-elements/tools.js +433 -0
- package/dist/tools/tool-loading.js +3 -0
- package/dist/tools/transport.js +26 -5
- package/dist/tools/write-mode.js +4 -3
- package/package.json +3 -4
- package/dist/doctor/checks/zcspeach.js +0 -96
- package/dist/projects/email-template.js +0 -56
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
const EDITOR_URL = process.env.CSPEACH_EDITOR_URL ?? 'https://cspeach.dev/edit';
|
|
2
|
-
const SUBJECT_BY_TYPE = {
|
|
3
|
-
'spec-gap': (t) => `Gap analysis — ${t}`,
|
|
4
|
-
'design': (t) => `Design — ${t}`,
|
|
5
|
-
'estimate': (t) => `Estimate — ${t}`,
|
|
6
|
-
'cca': (t) => `Custom code analysis — ${t}`,
|
|
7
|
-
'incident': (t) => `Incident report — ${t}`,
|
|
8
|
-
'upgrade-scan': (t) => `S/4HANA upgrade scan — ${t}`,
|
|
9
|
-
'upgrade-progress': (t) => `Upgrade remediation progress — ${t}`,
|
|
10
|
-
'upgrade-report': (t) => `Upgrade remediation report — ${t}`,
|
|
11
|
-
'cca-assessment': (t) => `Custom code assessment — ${t}`,
|
|
12
|
-
'modernize-result': (t) => `Modernization result — ${t}`,
|
|
13
|
-
'test-coverage': (t) => `Test coverage report — ${t}`,
|
|
14
|
-
'plan': (t) => `Project plan — ${t}`,
|
|
15
|
-
};
|
|
16
|
-
const BODY_BY_TYPE = {
|
|
17
|
-
'spec-gap': (a) => `Attached is the gap analysis for the ${a.title}.\n${a.itemCount} ${a.itemNoun} across business / data / authorisation / edge cases.`,
|
|
18
|
-
'design': (a) => `Attached is the architecture design for the ${a.title}.\n${a.itemCount} ${a.itemNoun} to review (keep / redesign / defer).`,
|
|
19
|
-
'estimate': (a) => `Attached is the effort estimate for the ${a.title}.\n${a.itemCount} ${a.itemNoun} to review (confirm / dispute / defer).`,
|
|
20
|
-
'cca': (a) => `Attached is the custom code analysis for the ${a.title}.\n${a.itemCount} ${a.itemNoun} classified.`,
|
|
21
|
-
'incident': (a) => `Attached is the incident report for the ${a.title}.`,
|
|
22
|
-
'upgrade-scan': (a) => `Attached is the S/4HANA upgrade scan baseline for ${a.title}.\n${a.itemCount} ${a.itemNoun} to remediate.`,
|
|
23
|
-
'upgrade-progress': (a) => `Attached is the upgrade remediation progress for ${a.title}.\n${a.itemCount} ${a.itemNoun} attempted.`,
|
|
24
|
-
'upgrade-report': (a) => `Attached is the upgrade remediation report for ${a.title}.\n${a.itemCount} ${a.itemNoun} listed (regressions to address before sign-off).`,
|
|
25
|
-
'cca-assessment': (a) => `Attached is the custom code assessment for ${a.title}.\n${a.itemCount} ${a.itemNoun} classified — review keep / fix / retire / redesign per object.`,
|
|
26
|
-
'modernize-result': (a) => `Attached is the modernization result for ${a.title}.\n${a.itemCount} ${a.itemNoun} attempted — review applied / skipped / failed per object before sign-off.`,
|
|
27
|
-
'test-coverage': (a) => `Attached is the test coverage report for ${a.title}.\n${a.itemCount} test ${a.itemNoun} generated — review the targets + method counts before merging.`,
|
|
28
|
-
'plan': (a) => `Attached is the project plan for ${a.title}.\n${a.itemCount} ${a.itemNoun} ordered bottom-up — each phase runs in its own session via /abap-plan --resume.`,
|
|
29
|
-
};
|
|
30
|
-
export function renderEmailTemplate(a) {
|
|
31
|
-
const subject = SUBJECT_BY_TYPE[a.artefactType](a.title);
|
|
32
|
-
const body = BODY_BY_TYPE[a.artefactType](a);
|
|
33
|
-
return [
|
|
34
|
-
'─────────────────────────────────────────────────────────────────',
|
|
35
|
-
'Suggested email — copy from below the line, edit, send',
|
|
36
|
-
'─────────────────────────────────────────────────────────────────',
|
|
37
|
-
`Subject: ${subject}`,
|
|
38
|
-
'',
|
|
39
|
-
'Hi,',
|
|
40
|
-
'',
|
|
41
|
-
body,
|
|
42
|
-
'',
|
|
43
|
-
'To review:',
|
|
44
|
-
` 1. Open ${EDITOR_URL}`,
|
|
45
|
-
` 2. Drag the attached ${a.filename} onto the page`,
|
|
46
|
-
' 3. Click each item, mark its status, add comments',
|
|
47
|
-
' 4. Click "Download updated file"',
|
|
48
|
-
' 5. Email me the downloaded file',
|
|
49
|
-
'',
|
|
50
|
-
'If your email blocks .json, rename it to .cspeach.json.txt before sending —',
|
|
51
|
-
'the editor accepts both.',
|
|
52
|
-
'',
|
|
53
|
-
'Thanks,',
|
|
54
|
-
a.author,
|
|
55
|
-
].join('\n');
|
|
56
|
-
}
|