bkper 4.27.0 → 4.28.1

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 (38) hide show
  1. package/README.md +23 -31
  2. package/lib/agent/extensions/builtins.d.ts +1 -0
  3. package/lib/agent/extensions/builtins.d.ts.map +1 -1
  4. package/lib/agent/extensions/builtins.js.map +1 -1
  5. package/lib/agent/extensions/handoff-goal-editor.d.ts +27 -0
  6. package/lib/agent/extensions/handoff-goal-editor.d.ts.map +1 -0
  7. package/lib/agent/extensions/handoff-goal-editor.js +113 -0
  8. package/lib/agent/extensions/handoff-goal-editor.js.map +1 -0
  9. package/lib/agent/extensions/handoff.d.ts.map +1 -1
  10. package/lib/agent/extensions/handoff.js +2 -1
  11. package/lib/agent/extensions/handoff.js.map +1 -1
  12. package/lib/agent/extensions/startup.d.ts +3 -1
  13. package/lib/agent/extensions/startup.d.ts.map +1 -1
  14. package/lib/agent/extensions/startup.js +21 -7
  15. package/lib/agent/extensions/startup.js.map +1 -1
  16. package/lib/agent/interactive/interactive-mode.d.ts.map +1 -1
  17. package/lib/agent/interactive/interactive-mode.js +9 -2
  18. package/lib/agent/interactive/interactive-mode.js.map +1 -1
  19. package/lib/agent/interactive/run-agent-mode.d.ts.map +1 -1
  20. package/lib/agent/interactive/run-agent-mode.js +7 -2
  21. package/lib/agent/interactive/run-agent-mode.js.map +1 -1
  22. package/lib/agent/interactive/settings.d.ts +18 -1
  23. package/lib/agent/interactive/settings.d.ts.map +1 -1
  24. package/lib/agent/interactive/settings.js +50 -0
  25. package/lib/agent/interactive/settings.js.map +1 -1
  26. package/lib/agent/system-prompt.d.ts +1 -1
  27. package/lib/agent/system-prompt.d.ts.map +1 -1
  28. package/lib/agent/system-prompt.js +24 -10
  29. package/lib/agent/system-prompt.js.map +1 -1
  30. package/lib/docs/apps/architecture.md +40 -7
  31. package/lib/docs/apps/development.md +4 -4
  32. package/lib/docs/apps/event-handlers.md +1 -1
  33. package/lib/docs/apps/security.md +73 -0
  34. package/lib/docs/apps/self-hosted.md +1 -1
  35. package/lib/docs/cli/data-management.md +9 -0
  36. package/lib/docs/index.md +1 -0
  37. package/lib/docs/sdk/bkper-js.md +2 -6
  38. package/package.json +14 -5
package/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  [Developer Docs]: https://bkper.com/docs
2
+ [CLI Docs]: https://bkper.com/docs/build/tools/cli
2
3
  [App Template]: https://github.com/bkper/bkper-app-template
3
4
  [Pi]: https://pi.dev/
4
5
 
5
- A unified **interface for [Bkper](https://bkper.com)**. Use `bkper` in two complementary ways:
6
+ The official Bkper CLI is published on npm as [`bkper`](https://www.npmjs.com/package/bkper). Use it in two complementary ways:
6
7
 
7
8
  - **Ask the Bkper Agent** — run `bkper` for guided, interactive help in your terminal
8
9
  - **Run CLI commands** — run `bkper <command>` for scripts, exports, automations, and app workflows
@@ -16,12 +17,12 @@ With one tool, you can work with Bkper from your terminal, built-in agent, or ex
16
17
  ### Prerequisites
17
18
 
18
19
  - [Node.js](https://nodejs.org/) >= 22.19.0
19
- - **Windows:** [install with WSL](#install-on-windows-with-wsl) — the agent relies on Linux tooling that doesn't work reliably in PowerShell
20
+ - Windows, macOS, Linux, or WSL
20
21
 
21
22
  ### Install (choose one)
22
23
 
23
24
  ```bash tab="npm"
24
- npm i -g bkper
25
+ npm install -g bkper
25
26
  ```
26
27
 
27
28
  ```bash tab="bun"
@@ -36,40 +37,24 @@ pnpm add -g bkper
36
37
  yarn global add bkper
37
38
  ```
38
39
 
39
- ### Install on Windows with WSL
40
+ Or run it without a global installation:
40
41
 
41
- Run Bkper inside WSL rather than PowerShell. If WSL is not set up yet:
42
-
43
- 1. Open **PowerShell as Administrator** and install WSL:
44
-
45
- ```powershell
46
- wsl --install
47
- ```
48
-
49
- Restart Windows if prompted, then open **Ubuntu** from the Start menu and create your Linux username and password.
50
-
51
- Reference: [Install WSL](https://learn.microsoft.com/en-us/windows/wsl/install).
52
-
53
- 2. In the **Ubuntu terminal**, install Node.js:
42
+ ```bash
43
+ npx bkper
44
+ ```
54
45
 
55
- ```bash
56
- sudo apt update
57
- sudo apt install -y curl
58
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
59
- source ~/.bashrc
60
- nvm install --lts
61
- ```
46
+ The package and executable are both named `bkper`. See the [CLI Docs] for the dedicated command-line guide.
62
47
 
63
- Reference: [Set up Node.js on WSL](https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-wsl).
48
+ ### Install on Windows
64
49
 
65
- 3. Still in the **Ubuntu terminal**, install and open Bkper:
50
+ After installing Node.js, run Bkper directly from PowerShell:
66
51
 
67
- ```bash
68
- npm i -g bkper
69
- bkper
70
- ```
52
+ ```powershell
53
+ npm install -g bkper
54
+ bkper
55
+ ```
71
56
 
72
- If the Bkper Agent opens, the installation is working.
57
+ The Bkper Agent uses PowerShell natively on Windows. WSL remains supported and uses Bash.
73
58
 
74
59
  ### Authenticate with Bkper
75
60
 
@@ -146,6 +131,13 @@ Capture a receipt as a draft, then review and complete it in Bkper or with the a
146
131
  bkper transaction create -b <bookId> --file ./receipt.pdf
147
132
  ```
148
133
 
134
+ For AI-derived transactions, set `draft: true` to bypass Book auto-posting. They stay out of balances until explicitly posted:
135
+
136
+ ```bash
137
+ printf '%s\n' '[{"date":"2026-08-18","amount":"25.50","creditAccount":{"name":"Bank Account"},"debitAccount":{"name":"Meals"},"description":"Extracted receipt","draft":true}]' |
138
+ bkper transaction create -b <bookId>
139
+ ```
140
+
149
141
  > Run `bkper --help` or `bkper <command> --help` for built-in documentation on any command.
150
142
 
151
143
  → See [Data Management](#data-management) and [App Management](#app-management) below for full references.
@@ -9,6 +9,7 @@ type ExtensionLoadError = {
9
9
  type BuiltinsSettings = {
10
10
  getQuietStartup(): boolean;
11
11
  getCompactionReserveTokens(): number;
12
+ getShellPath(): string | undefined;
12
13
  };
13
14
  export declare const BKPER_AGENT_BUILTINS_EXTENSION_NAME = "Bkper Agent built-ins";
14
15
  export declare const BKPER_AGENT_BUILTINS_EXTENSION_PATH = "<inline:bkper-agent-builtins>";
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAEH,KAAK,yBAAyB,EACjC,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAKH,KAAK,wBAAwB,EAChC,MAAM,cAAc,CAAC;AAItB,KAAK,kBAAkB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACpB,eAAe,IAAI,OAAO,CAAC;IAC3B,0BAA0B,IAAI,MAAM,CAAC;CACxC,CAAC;AAKF,eAAO,MAAM,mCAAmC,0BAA0B,CAAC;AAC3E,eAAO,MAAM,mCAAmC,kCAAkC,CAAC;AAGnF,wBAAgB,qCAAqC,CACjD,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACtD,OAAO,CAET;AAuBD,wBAAgB,kCAAkC,CAC9C,MAAM,EAAE,kBAAkB,EAAE,EAC5B,OAAO,EAAE;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,GAC5B,kBAAkB,EAAE,CAatB;AAED,wBAAgB,6BAA6B,CACzC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,GAC5B,oBAAoB,CAMtB;AAED,wBAAgB,0BAA0B,CACtC,EAAE,EAAE,YAAY,EAChB,kBAAkB,GAAE,OAAO,qBAA6C,EACxE,eAAe,CAAC,EAAE,gBAAgB,EAClC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,iBAAiB,CAAC,EAAE,yBAAyB,EAC7C,sBAAsB,CAAC,EAAE,wBAAwB,GAClD,IAAI,CAsBN"}
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAEH,KAAK,yBAAyB,EACjC,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAKH,KAAK,wBAAwB,EAChC,MAAM,cAAc,CAAC;AAItB,KAAK,kBAAkB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACpB,eAAe,IAAI,OAAO,CAAC;IAC3B,0BAA0B,IAAI,MAAM,CAAC;IACrC,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;CACtC,CAAC;AAKF,eAAO,MAAM,mCAAmC,0BAA0B,CAAC;AAC3E,eAAO,MAAM,mCAAmC,kCAAkC,CAAC;AAGnF,wBAAgB,qCAAqC,CACjD,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACtD,OAAO,CAET;AAuBD,wBAAgB,kCAAkC,CAC9C,MAAM,EAAE,kBAAkB,EAAE,EAC5B,OAAO,EAAE;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,GAC5B,kBAAkB,EAAE,CAatB;AAED,wBAAgB,6BAA6B,CACzC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,GAC5B,oBAAoB,CAMtB;AAED,wBAAgB,0BAA0B,CACtC,EAAE,EAAE,YAAY,EAChB,kBAAkB,GAAE,OAAO,qBAA6C,EACxE,eAAe,CAAC,EAAE,gBAAgB,EAClC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,iBAAiB,CAAC,EAAE,yBAAyB,EAC7C,sBAAsB,CAAC,EAAE,wBAAwB,GAClD,IAAI,CAsBN"}
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../../src/agent/extensions/builtins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../../src/agent/extensions/builtins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { type AutocompleteProvider } from '@earendil-works/pi-tui';
2
+ export declare const HANDOFF_GOAL_EDITOR_TITLE = "Next session goal";
3
+ export interface HandoffPromptTemplate {
4
+ name: string;
5
+ description: string;
6
+ argumentHint?: string;
7
+ content: string;
8
+ }
9
+ interface HandoffGoalEditor {
10
+ setAutocompleteProvider(provider: AutocompleteProvider): void;
11
+ }
12
+ export interface HandoffGoalEditorHost {
13
+ showExtensionEditor(title: string, prefill?: string): Promise<string | undefined>;
14
+ extensionEditor?: {
15
+ editor?: HandoffGoalEditor;
16
+ };
17
+ session?: {
18
+ promptTemplates: ReadonlyArray<HandoffPromptTemplate>;
19
+ };
20
+ sessionManager?: {
21
+ getCwd(): string;
22
+ };
23
+ }
24
+ export declare function expandHandoffGoalTemplate(goal: string, templates: ReadonlyArray<HandoffPromptTemplate>): string;
25
+ export declare function installHandoffGoalEditorAutocomplete(host: HandoffGoalEditorHost): void;
26
+ export {};
27
+ //# sourceMappingURL=handoff-goal-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handoff-goal-editor.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/handoff-goal-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,oBAAoB,EAC5B,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAE7D,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,iBAAiB;IACvB,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACjE;AAED,MAAM,WAAW,qBAAqB;IAClC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClF,eAAe,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,iBAAiB,CAAC;KAC9B,CAAC;IACF,OAAO,CAAC,EAAE;QACN,eAAe,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;KACzD,CAAC;IACF,cAAc,CAAC,EAAE;QACb,MAAM,IAAI,MAAM,CAAC;KACpB,CAAC;CACL;AA+DD,wBAAgB,yBAAyB,CACrC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAChD,MAAM,CAYR;AAgCD,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAuBtF"}
@@ -0,0 +1,113 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { CombinedAutocompleteProvider, } from '@earendil-works/pi-tui';
11
+ export const HANDOFF_GOAL_EDITOR_TITLE = 'Next session goal';
12
+ function parseCommandArgs(argsString) {
13
+ const args = [];
14
+ let current = '';
15
+ let inQuote;
16
+ for (const char of argsString) {
17
+ if (inQuote) {
18
+ if (char === inQuote) {
19
+ inQuote = undefined;
20
+ }
21
+ else {
22
+ current += char;
23
+ }
24
+ }
25
+ else if (char === '"' || char === "'") {
26
+ inQuote = char;
27
+ }
28
+ else if (/\s/.test(char)) {
29
+ if (current) {
30
+ args.push(current);
31
+ current = '';
32
+ }
33
+ }
34
+ else {
35
+ current += char;
36
+ }
37
+ }
38
+ if (current) {
39
+ args.push(current);
40
+ }
41
+ return args;
42
+ }
43
+ function substituteArgs(content, args) {
44
+ const allArgs = args.join(' ');
45
+ return content.replace(/\$\{(\d+|ARGUMENTS|@):-([^}]*)\}|\$\{@:(\d+)(?::(\d+))?\}|\$(ARGUMENTS|@|\d+)/g, (_match, defaultTarget, defaultValue, sliceStart, sliceLength, simple) => {
46
+ var _a;
47
+ if (defaultTarget) {
48
+ const value = defaultTarget === '@' || defaultTarget === 'ARGUMENTS'
49
+ ? allArgs
50
+ : args[parseInt(defaultTarget, 10) - 1];
51
+ return value || defaultValue;
52
+ }
53
+ if (sliceStart) {
54
+ const start = Math.max(0, parseInt(sliceStart, 10) - 1);
55
+ if (sliceLength) {
56
+ const length = parseInt(sliceLength, 10);
57
+ return args.slice(start, start + length).join(' ');
58
+ }
59
+ return args.slice(start).join(' ');
60
+ }
61
+ if (simple === 'ARGUMENTS' || simple === '@') {
62
+ return allArgs;
63
+ }
64
+ return (_a = args[parseInt(simple, 10) - 1]) !== null && _a !== void 0 ? _a : '';
65
+ });
66
+ }
67
+ export function expandHandoffGoalTemplate(goal, templates) {
68
+ var _a;
69
+ const match = goal.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);
70
+ if (!match) {
71
+ return goal;
72
+ }
73
+ const template = templates.find(candidate => candidate.name === match[1]);
74
+ if (!template) {
75
+ return goal;
76
+ }
77
+ return substituteArgs(template.content, parseCommandArgs((_a = match[2]) !== null && _a !== void 0 ? _a : ''));
78
+ }
79
+ function createPromptTemplateAutocompleteProvider(templates, cwd) {
80
+ const provider = new CombinedAutocompleteProvider(templates.map(template => (Object.assign({ name: template.name, description: template.description }, (template.argumentHint ? { argumentHint: template.argumentHint } : {})))), cwd);
81
+ return {
82
+ getSuggestions(lines, cursorLine, cursorCol, options) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ var _a;
85
+ const textBeforeCursor = ((_a = lines[cursorLine]) !== null && _a !== void 0 ? _a : '').slice(0, cursorCol);
86
+ if (cursorLine !== 0 || !/^\/[^\s]*$/.test(textBeforeCursor)) {
87
+ return null;
88
+ }
89
+ return provider.getSuggestions(lines, cursorLine, cursorCol, Object.assign(Object.assign({}, options), { force: false }));
90
+ });
91
+ },
92
+ applyCompletion: (lines, cursorLine, cursorCol, item, prefix) => provider.applyCompletion(lines, cursorLine, cursorCol, item, prefix),
93
+ shouldTriggerFileCompletion: () => false,
94
+ };
95
+ }
96
+ export function installHandoffGoalEditorAutocomplete(host) {
97
+ const showExtensionEditor = host.showExtensionEditor.bind(host);
98
+ host.showExtensionEditor = (title, prefill) => __awaiter(this, void 0, void 0, function* () {
99
+ var _a, _b, _c, _d, _e;
100
+ if (title !== HANDOFF_GOAL_EDITOR_TITLE) {
101
+ return showExtensionEditor(title, prefill);
102
+ }
103
+ const templates = [...((_b = (_a = host.session) === null || _a === void 0 ? void 0 : _a.promptTemplates) !== null && _b !== void 0 ? _b : [])];
104
+ const result = showExtensionEditor(title, prefill);
105
+ const editor = (_c = host.extensionEditor) === null || _c === void 0 ? void 0 : _c.editor;
106
+ if (editor) {
107
+ editor.setAutocompleteProvider(createPromptTemplateAutocompleteProvider(templates, (_e = (_d = host.sessionManager) === null || _d === void 0 ? void 0 : _d.getCwd()) !== null && _e !== void 0 ? _e : process.cwd()));
108
+ }
109
+ const goal = yield result;
110
+ return goal === undefined ? undefined : expandHandoffGoalTemplate(goal, templates);
111
+ });
112
+ }
113
+ //# sourceMappingURL=handoff-goal-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handoff-goal-editor.js","sourceRoot":"","sources":["../../../src/agent/extensions/handoff-goal-editor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/handoff.ts"],"names":[],"mappings":"AAIA,OAAO,EAIH,KAAK,YAAY,EAEjB,KAAK,gBAAgB,EAExB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,KAAK,KAAK,EAAE,KAAK,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAEpE,eAAO,MAAM,wBAAwB,OAAO,CAAC;AA8B7C,MAAM,WAAW,mBAAmB;IAChC,SAAS,IAAI,OAAO,CAAC;IACrB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjG;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,uBAAuB;IACpC,oBAAoB,IAAI,IAAI,CAAC;IAC7B,eAAe,EAAE;QACb,QAAQ,EAAE,OAAO,EAAE,CAAC;KACvB,CAAC;CACL;AAED,KAAK,sBAAsB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAC5D,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AA4ChE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,KAAK,GAAG,SAAS,CAItF;AAED,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAwBnF;AA+BD,wBAAgB,6BAA6B,CACzC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACtB,MAAM,CAER;AAED,wBAAgB,2BAA2B,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAE5E;AAyBD,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,mBAAmB,GAC9B,IAAI,CAqBN;AAMD,wBAAgB,qCAAqC,CACjD,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,EAAE,mBAAmB,GAC9B,IAAI,CASN;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,qBAAa,uBAAwB,YAAW,mBAAmB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE7C,SAAS,IAAI,OAAO;IAIpB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAkBrC;AAgKD,wBAAgB,6BAA6B,CACzC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,iBAAiB,GAAG,kBAAkB,CAAC,EACrE,QAAQ,EAAE,mBAAmB,EAC7B,aAAa,EAAE,MAAM,MAAM,EAC3B,YAAY,EAAE,mBAAmB,YAAsB,EACvD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,eAAe,EAAE,wBAAwB,GAAG,SAAS,EACrD,eAAe,EAAE,KAAK,GAAG,SAAS,GACnC,IAAI,CA6FN"}
1
+ {"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/handoff.ts"],"names":[],"mappings":"AAIA,OAAO,EAIH,KAAK,YAAY,EAEjB,KAAK,gBAAgB,EAExB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,KAAK,KAAK,EAAE,KAAK,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAGpE,eAAO,MAAM,wBAAwB,OAAO,CAAC;AA8B7C,MAAM,WAAW,mBAAmB;IAChC,SAAS,IAAI,OAAO,CAAC;IACrB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjG;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,uBAAuB;IACpC,oBAAoB,IAAI,IAAI,CAAC;IAC7B,eAAe,EAAE;QACb,QAAQ,EAAE,OAAO,EAAE,CAAC;KACvB,CAAC;CACL;AAED,KAAK,sBAAsB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAC5D,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AA4ChE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,KAAK,GAAG,SAAS,CAItF;AAED,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAwBnF;AA+BD,wBAAgB,6BAA6B,CACzC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACtB,MAAM,CAER;AAED,wBAAgB,2BAA2B,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAE5E;AAyBD,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,mBAAmB,GAC9B,IAAI,CAqBN;AAMD,wBAAgB,qCAAqC,CACjD,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,EAAE,mBAAmB,GAC9B,IAAI,CASN;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,qBAAa,uBAAwB,YAAW,mBAAmB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE7C,SAAS,IAAI,OAAO;IAIpB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAkBrC;AAgKD,wBAAgB,6BAA6B,CACzC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,iBAAiB,GAAG,kBAAkB,CAAC,EACrE,QAAQ,EAAE,mBAAmB,EAC7B,aAAa,EAAE,MAAM,MAAM,EAC3B,YAAY,EAAE,mBAAmB,YAAsB,EACvD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,eAAe,EAAE,wBAAwB,GAAG,SAAS,EACrD,eAAe,EAAE,KAAK,GAAG,SAAS,GACnC,IAAI,CAgGN"}
@@ -11,6 +11,7 @@ import { randomUUID } from 'node:crypto';
11
11
  import { mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from 'node:fs';
12
12
  import path from 'node:path';
13
13
  import { BorderedLoader, convertToLlm, serializeConversation, } from '@earendil-works/pi-coding-agent';
14
+ import { HANDOFF_GOAL_EDITOR_TITLE } from './handoff-goal-editor.js';
14
15
  export const AUTO_HANDOFF_LEAD_TOKENS = 8192;
15
16
  const BKPER_HANDOFF_SHORTCUT = 'ctrl+h';
16
17
  const AUTO_HANDOFF_SETTING_ID = 'auto-handoff';
@@ -361,7 +362,7 @@ export function registerBkperHandoffExtension(pi, settings, reserveTokens, depen
361
362
  if (!goal) {
362
363
  const goalPrefill = pendingGoalPrefill !== null && pendingGoalPrefill !== void 0 ? pendingGoalPrefill : '';
363
364
  pendingGoalPrefill = undefined;
364
- const editedGoal = yield context.ui.editor('Next session goal', goalPrefill);
365
+ const editedGoal = yield context.ui.editor(HANDOFF_GOAL_EDITOR_TITLE, goalPrefill);
365
366
  if (editedGoal === undefined || !editedGoal.trim()) {
366
367
  context.ui.notify('Handoff cancelled.', 'info');
367
368
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/agent/extensions/handoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/agent/extensions/handoff.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { runStartupMaintenance } from '../startup-maintenance.js';
3
3
  type StartupExtensionAPI = Pick<ExtensionAPI, 'on'>;
4
4
  export declare function registerBkperAgentStartupExtension(pi: StartupExtensionAPI, startupMaintenance?: typeof runStartupMaintenance, settingsManager?: {
5
5
  getQuietStartup(): boolean;
6
- }, bkperAiBaseUrlOverride?: string): void;
6
+ getShellPath?(): string | undefined;
7
+ getDefaultTools?(): string[] | undefined;
8
+ }, bkperAiBaseUrlOverride?: string, bashAvailable?: boolean): void;
7
9
  export {};
8
10
  //# sourceMappingURL=startup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/startup.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,KAAK,YAAY,EAEpB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAUhE,KAAK,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AA0IpD,wBAAgB,kCAAkC,CAC9C,EAAE,EAAE,mBAAmB,EACvB,kBAAkB,GAAE,OAAO,qBAA6C,EACxE,eAAe,CAAC,EAAE;IAAC,eAAe,IAAI,OAAO,CAAA;CAAC,EAC9C,sBAAsB,CAAC,EAAE,MAAM,GAChC,IAAI,CAwBN"}
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/startup.ts"],"names":[],"mappings":"AACA,OAAO,EAIH,KAAK,YAAY,EAEpB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAUhE,KAAK,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAyJpD,wBAAgB,kCAAkC,CAC9C,EAAE,EAAE,mBAAmB,EACvB,kBAAkB,GAAE,OAAO,qBAA6C,EACxE,eAAe,CAAC,EAAE;IACd,eAAe,IAAI,OAAO,CAAC;IAC3B,YAAY,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;IACpC,eAAe,CAAC,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;CAC5C,EACD,sBAAsB,CAAC,EAAE,MAAM,EAC/B,aAAa,CAAC,EAAE,OAAO,GACxB,IAAI,CA8BN"}
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { getKeybindings } from '@earendil-works/pi-tui';
11
- import { keyText, VERSION as PI_VERSION, } from '@earendil-works/pi-coding-agent';
11
+ import { getShellConfig, keyText, VERSION as PI_VERSION, } from '@earendil-works/pi-coding-agent';
12
12
  import { formatBkperSessionCommandShortcut } from '../interactive/session-keybindings.js';
13
13
  import { runStartupMaintenance } from '../startup-maintenance.js';
14
14
  import { getBkperHandoffShortcut } from './handoff.js';
@@ -65,11 +65,20 @@ const BKPER_BANNER = [
65
65
  function formatStartupHint(theme, key, description) {
66
66
  return theme.fg('dim', key) + theme.fg('muted', ` ${description}`);
67
67
  }
68
+ function isBashAvailable(shellPath) {
69
+ try {
70
+ getShellConfig(shellPath);
71
+ return true;
72
+ }
73
+ catch (_a) {
74
+ return false;
75
+ }
76
+ }
68
77
  function formatHandoffStartupCommand() {
69
78
  const shortcut = getBkperHandoffShortcut(getKeybindings().getResolvedBindings());
70
79
  return shortcut ? `/handoff (${shortcut})` : '/handoff';
71
80
  }
72
- function buildStartupHeaderLines(theme, modelRegistry, width) {
81
+ function buildStartupHeaderLines(theme, modelRegistry, width, showBashShortcut) {
73
82
  const lines = [
74
83
  ...BKPER_BANNER.map(line => theme.bold(theme.fg('accent', line))),
75
84
  theme.fg('muted', `powered by `) + theme.fg('dim', `pi v${PI_VERSION}`),
@@ -84,24 +93,29 @@ function buildStartupHeaderLines(theme, modelRegistry, width) {
84
93
  formatStartupHint(theme, formatBkperSessionCommandShortcut('/fork', 'app.session.fork'), 'to branch from a message'),
85
94
  formatStartupHint(theme, formatBkperSessionCommandShortcut('/tree', 'app.session.tree'), 'for session tree'),
86
95
  formatStartupHint(theme, formatHandoffStartupCommand(), 'to continue in a focused session'),
87
- formatStartupHint(theme, '!', 'to run bash'),
88
96
  ];
97
+ if (showBashShortcut) {
98
+ lines.push(formatStartupHint(theme, '!', 'to run bash'));
99
+ }
89
100
  if (modelRegistry.getAvailable().length === 0) {
90
101
  lines.push('', ...wrapStartupHeaderLine(NO_MODELS_STARTUP_HINT, width).map(line => theme.fg('warning', line)));
91
102
  }
92
103
  return lines.map(line => (line.length > 0 ? STARTUP_LEFT_PADDING + line : line));
93
104
  }
94
- function createStartupHeaderFactory(modelRegistry) {
105
+ function createStartupHeaderFactory(modelRegistry, showBashShortcut) {
95
106
  return (_tui, theme) => ({
96
- render: (width) => buildStartupHeaderLines(theme, modelRegistry, width),
107
+ render: (width) => buildStartupHeaderLines(theme, modelRegistry, width, showBashShortcut),
97
108
  invalidate: () => { },
98
109
  });
99
110
  }
100
- export function registerBkperAgentStartupExtension(pi, startupMaintenance = runStartupMaintenance, settingsManager, bkperAiBaseUrlOverride) {
111
+ export function registerBkperAgentStartupExtension(pi, startupMaintenance = runStartupMaintenance, settingsManager, bkperAiBaseUrlOverride, bashAvailable) {
101
112
  let startupMaintenanceTriggered = false;
102
113
  pi.on('session_start', (_event, ctx) => __awaiter(this, void 0, void 0, function* () {
114
+ var _a, _b, _c, _d;
103
115
  if (!(settingsManager === null || settingsManager === void 0 ? void 0 : settingsManager.getQuietStartup())) {
104
- ctx.ui.setHeader(createStartupHeaderFactory(ctx.modelRegistry));
116
+ const showBashShortcut = bashAvailable !== null && bashAvailable !== void 0 ? bashAvailable : (((_c = (_b = (_a = settingsManager === null || settingsManager === void 0 ? void 0 : settingsManager.getDefaultTools) === null || _a === void 0 ? void 0 : _a.call(settingsManager)) === null || _b === void 0 ? void 0 : _b.includes('bash')) !== null && _c !== void 0 ? _c : true) &&
117
+ isBashAvailable((_d = settingsManager === null || settingsManager === void 0 ? void 0 : settingsManager.getShellPath) === null || _d === void 0 ? void 0 : _d.call(settingsManager)));
118
+ ctx.ui.setHeader(createStartupHeaderFactory(ctx.modelRegistry, showBashShortcut));
105
119
  }
106
120
  if (startupMaintenanceTriggered) {
107
121
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/agent/extensions/startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/agent/extensions/startup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/interactive-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,eAAe,EAElB,MAAM,iCAAiC,CAAC;AAazC,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAStF,wBAAgB,0BAA0B,IAAI,MAAM,IAAI,CAmBvD;AAED,qBAAa,oBAAqB,SAAQ,eAAe;IAC/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwDrB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B"}
1
+ {"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/interactive-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,eAAe,EAElB,MAAM,iCAAiC,CAAC;AAiBzC,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAStF,wBAAgB,0BAA0B,IAAI,MAAM,IAAI,CAmBvD;AAED,qBAAa,oBAAqB,SAAQ,eAAe;IAC/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2DrB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B"}
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { getAgentDir, InteractiveMode, } from '@earendil-works/pi-coding-agent';
11
11
  import { installBkperAuthCommandRouting } from '../extensions/auth-commands.js';
12
+ import { installHandoffGoalEditorAutocomplete, } from '../extensions/handoff-goal-editor.js';
12
13
  import { FileAutoHandoffSettings, getAutoHandoffSettingsPath, installAutoHandoffSettingsIntegration, } from '../extensions/handoff.js';
13
14
  import { installBkperSessionKeybindings, } from './session-keybindings.js';
14
15
  const PI_RESUME_HINT_TEXT = 'To resume this session:';
@@ -34,6 +35,7 @@ export class BkperInteractiveMode extends InteractiveMode {
34
35
  init: { get: () => super.init }
35
36
  });
36
37
  return __awaiter(this, void 0, void 0, function* () {
38
+ var _a;
37
39
  const interactiveMode = this;
38
40
  interactiveMode.getChangelogForDisplay = () => undefined;
39
41
  if (interactiveMode.keybindings) {
@@ -44,10 +46,15 @@ export class BkperInteractiveMode extends InteractiveMode {
44
46
  if (authRoutingMode.editorContainer && authRoutingMode.showSettingsSelector) {
45
47
  installAutoHandoffSettingsIntegration(authRoutingMode, new FileAutoHandoffSettings(getAutoHandoffSettingsPath(getAgentDir())));
46
48
  }
47
- if (authRoutingMode.session) {
49
+ const handoffGoalMode = this;
50
+ if (handoffGoalMode.showExtensionEditor) {
51
+ installHandoffGoalEditorAutocomplete(handoffGoalMode);
52
+ }
53
+ const providerRegistry = (_a = authRoutingMode.session) === null || _a === void 0 ? void 0 : _a.modelRuntime;
54
+ if (providerRegistry) {
48
55
  const editors = new Set([authRoutingMode.defaultEditor, authRoutingMode.editor].filter(editor => editor !== undefined));
49
56
  for (const editor of editors) {
50
- installBkperAuthCommandRouting(editor, authRoutingMode.session.modelRegistry);
57
+ installBkperAuthCommandRouting(editor, providerRegistry);
51
58
  }
52
59
  }
53
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode.js","sourceRoot":"","sources":["../../../src/agent/interactive/interactive-mode.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACH,WAAW,EACX,eAAe,GAElB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,8BAA8B,EAAC,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EACH,uBAAuB,EACvB,0BAA0B,EAC1B,qCAAqC,GAExC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,8BAA8B,GAEjC,MAAM,0BAA0B,CAAC;AAIlC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AACtD,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD,SAAS,oBAAoB,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,0BAA0B;IACtC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAE3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAEnB,KAA0B,EAC1B,QAAyB,EACzB,QAAuC;QAEvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAgC,CAAC;IAEjC,OAAO,GAAG,EAAE;QACR,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;IACzC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IAC/C,IAAI;;;;;YACN,MAAM,eAAe,GAAG,IAGvB,CAAC;YACF,eAAe,CAAC,sBAAsB,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;YAEzD,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC;gBAC9B,8BAA8B,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,OAAM,IAAI,WAAE,CAAC;YAEnB,MAAM,eAAe,GAAG,IAoBvB,CAAC;YACF,IAAI,eAAe,CAAC,eAAe,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC;gBAC1E,qCAAqC,CACjC,eAAqD,EACrD,IAAI,uBAAuB,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC,CAAC,CACzE,CAAC;YACN,CAAC;YAED,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,IAAI,GAAG,CACnB,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CACjC,CACJ,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,8BAA8B,CAC1B,MAAM,EACN,eAAe,CAAC,OAAO,CAAC,aAAa,CACxC,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;KAAA;IAEK,GAAG;;;;;YACL,MAAM,uBAAuB,GAAG,0BAA0B,EAAE,CAAC;YAE7D,IAAI,CAAC;gBACD,MAAM,OAAM,GAAG,WAAE,CAAC;YACtB,CAAC;oBAAS,CAAC;gBACP,uBAAuB,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC;KAAA;CACJ"}
1
+ {"version":3,"file":"interactive-mode.js","sourceRoot":"","sources":["../../../src/agent/interactive/interactive-mode.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACH,WAAW,EACX,eAAe,GAElB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,8BAA8B,EAAC,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EACH,oCAAoC,GAEvC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,uBAAuB,EACvB,0BAA0B,EAC1B,qCAAqC,GAExC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,8BAA8B,GAEjC,MAAM,0BAA0B,CAAC;AAIlC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AACtD,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD,SAAS,oBAAoB,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,0BAA0B;IACtC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAE3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAEnB,KAA0B,EAC1B,QAAyB,EACzB,QAAuC;QAEvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAgC,CAAC;IAEjC,OAAO,GAAG,EAAE;QACR,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;IACzC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IAC/C,IAAI;;;;;;YACN,MAAM,eAAe,GAAG,IAGvB,CAAC;YACF,eAAe,CAAC,sBAAsB,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;YAEzD,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC;gBAC9B,8BAA8B,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,OAAM,IAAI,WAAE,CAAC;YAEnB,MAAM,eAAe,GAAG,IAoBvB,CAAC;YACF,IAAI,eAAe,CAAC,eAAe,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC;gBAC1E,qCAAqC,CACjC,eAAqD,EACrD,IAAI,uBAAuB,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC,CAAC,CACzE,CAAC;YACN,CAAC;YAED,MAAM,eAAe,GAAG,IAAiD,CAAC;YAC1E,IAAI,eAAe,CAAC,mBAAmB,EAAE,CAAC;gBACtC,oCAAoC,CAAC,eAAwC,CAAC,CAAC;YACnF,CAAC;YAED,MAAM,gBAAgB,GAAG,MAAA,eAAe,CAAC,OAAO,0CAAE,YAAY,CAAC;YAC/D,IAAI,gBAAgB,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,IAAI,GAAG,CACnB,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CACjC,CACJ,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,8BAA8B,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAC7D,CAAC;YACL,CAAC;QACL,CAAC;KAAA;IAEK,GAAG;;;;;YACL,MAAM,uBAAuB,GAAG,0BAA0B,EAAE,CAAC;YAE7D,IAAI,CAAC;gBACD,MAAM,OAAM,GAAG,WAAE,CAAC;YACtB,CAAC;oBAAS,CAAC;gBACP,uBAAuB,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC;KAAA;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-agent-mode.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/run-agent-mode.ts"],"names":[],"mappings":"AACA,OAAO,EAQH,KAAK,6BAA6B,EAGrC,MAAM,iCAAiC,CAAC;AASzC,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,WAAW,qBAAqB;IAClC,aAAa,EAAE,MAAM,OAAO,CAAC;QACzB,OAAO,EAAE,sBAAsB,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,WAAW,CAAC,EAAE,6BAA6B,EAAE,CAAC;KACjD,CAAC,CAAC;IACH,qBAAqB,EAAE,CACnB,OAAO,EAAE,sBAAsB,EAC/B,oBAAoB,CAAC,EAAE,MAAM,KAC5B;QACD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACxB,CAAC;CACL;AAcD,MAAM,WAAW,cAAc;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,2BAA2B,CACvC,cAAc,GAAE,cAAmB,GACpC,qBAAqB,CAwHvB;AAED,wBAAsB,YAAY,CAC9B,YAAY,GAAE,qBAAqD,GACpE,OAAO,CAAC,IAAI,CAAC,CAUf"}
1
+ {"version":3,"file":"run-agent-mode.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/run-agent-mode.ts"],"names":[],"mappings":"AACA,OAAO,EAQH,KAAK,6BAA6B,EAGrC,MAAM,iCAAiC,CAAC;AASzC,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,uBAAuB,CAAC;AAS/B,MAAM,WAAW,qBAAqB;IAClC,aAAa,EAAE,MAAM,OAAO,CAAC;QACzB,OAAO,EAAE,sBAAsB,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,WAAW,CAAC,EAAE,6BAA6B,EAAE,CAAC;KACjD,CAAC,CAAC;IACH,qBAAqB,EAAE,CACnB,OAAO,EAAE,sBAAsB,EAC/B,oBAAoB,CAAC,EAAE,MAAM,KAC5B;QACD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACxB,CAAC;CACL;AAcD,MAAM,WAAW,cAAc;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,2BAA2B,CACvC,cAAc,GAAE,cAAmB,GACpC,qBAAqB,CA6HvB;AAED,wBAAsB,YAAY,CAC9B,YAAY,GAAE,qBAAqD,GACpE,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -15,7 +15,7 @@ import { runStartupMaintenance } from '../startup-maintenance.js';
15
15
  import { getBkperAgentSystemPrompt } from '../system-prompt.js';
16
16
  import { BkperInteractiveMode, } from './interactive-mode.js';
17
17
  import { restorePersistedSessionOptions } from './session-restore.js';
18
- import { applyBkperAgentSettingsDefaults, collectSettingsDiagnostics, createStartupSessionManager, } from './settings.js';
18
+ import { applyBkperAgentSettingsDefaults, applyBkperAgentToolSelection, collectSettingsDiagnostics, createStartupSessionManager, } from './settings.js';
19
19
  function reportDiagnostics(diagnostics) {
20
20
  for (const diagnostic of diagnostics) {
21
21
  const prefix = diagnostic.type === 'error'
@@ -35,7 +35,10 @@ export function createAgentModeDependencies(sessionOptions = {}) {
35
35
  const startupSettingsManager = SettingsManager.create(cwd, agentDir);
36
36
  const startupDiagnostics = collectSettingsDiagnostics(startupSettingsManager, 'startup session lookup');
37
37
  const createRuntime = (_a) => __awaiter(this, [_a], void 0, function* ({ cwd, agentDir, sessionManager, sessionStartEvent, }) {
38
+ var _b;
38
39
  const settingsManager = SettingsManager.create(cwd, agentDir);
40
+ const toolDiagnostics = applyBkperAgentToolSelection(settingsManager);
41
+ const selectedTools = (_b = settingsManager.getDefaultTools()) !== null && _b !== void 0 ? _b : [];
39
42
  const modelRuntime = yield ModelRuntime.create({
40
43
  authPath: join(agentDir, 'auth.json'),
41
44
  modelsPath: join(agentDir, 'models.json'),
@@ -53,7 +56,7 @@ export function createAgentModeDependencies(sessionOptions = {}) {
53
56
  settingsManager,
54
57
  modelRuntime,
55
58
  resourceLoaderOptions: {
56
- systemPromptOverride: () => getBkperAgentSystemPrompt(),
59
+ systemPromptOverride: () => getBkperAgentSystemPrompt(selectedTools),
57
60
  extensionFactories: [
58
61
  (pi) => {
59
62
  registerBkperAgentBuiltins(pi, runStartupMaintenance, settingsManager, process.env, modelRuntime, dispatchHandoffCommand);
@@ -65,6 +68,7 @@ export function createAgentModeDependencies(sessionOptions = {}) {
65
68
  },
66
69
  });
67
70
  applyBkperAgentSettingsDefaults(settingsManager);
71
+ settingsManager.applyOverrides({ defaultTools: selectedTools });
68
72
  const restoredSessionOptions = restorePersistedSessionOptions(settingsManager, {
69
73
  getAvailable: () => [...services.modelRuntime.getAvailableSnapshot()],
70
74
  find: (provider, modelId) => services.modelRuntime.getModel(provider, modelId),
@@ -80,6 +84,7 @@ export function createAgentModeDependencies(sessionOptions = {}) {
80
84
  promptHandoffCommand = command => sessionResult.session.prompt(command);
81
85
  return Object.assign(Object.assign({}, sessionResult), { services, diagnostics: [
82
86
  ...services.diagnostics,
87
+ ...toolDiagnostics,
83
88
  ...collectSettingsDiagnostics(settingsManager, 'runtime creation'),
84
89
  ...restoredSessionOptions.diagnostics,
85
90
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"run-agent-mode.js","sourceRoot":"","sources":["../../../src/agent/interactive/run-agent-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-agent-mode.js","sourceRoot":"","sources":["../../../src/agent/interactive/run-agent-mode.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,25 @@
1
- import type { AgentSessionRuntimeDiagnostic, TuiMode } from '@earendil-works/pi-coding-agent';
1
+ import { type AgentSessionRuntimeDiagnostic, type TuiMode } from '@earendil-works/pi-coding-agent';
2
2
  type SettingsError = {
3
3
  scope: 'global' | 'project';
4
4
  error: Error;
5
5
  };
6
+ export interface ShellAvailability {
7
+ bash: boolean;
8
+ powershell: boolean;
9
+ }
10
+ export interface ResolvedBkperAgentTools {
11
+ tools: string[];
12
+ warning?: string;
13
+ }
14
+ export declare function resolveBkperAgentTools(configuredTools: string[] | undefined, platform: NodeJS.Platform, availability: ShellAvailability): ResolvedBkperAgentTools;
15
+ type BkperAgentToolSettingsManager = {
16
+ getDefaultTools(): string[] | undefined;
17
+ getShellPath(): string | undefined;
18
+ applyOverrides(overrides: {
19
+ defaultTools: string[];
20
+ }): void;
21
+ };
22
+ export declare function applyBkperAgentToolSelection(settingsManager: BkperAgentToolSettingsManager, platform?: NodeJS.Platform): AgentSessionRuntimeDiagnostic[];
6
23
  type BkperAgentSettingsDefaultsManager = {
7
24
  getGlobalSettings(): {
8
25
  showCacheMissNotices?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,6BAA6B,EAC7B,OAAO,EACV,MAAM,iCAAiC,CAAC;AAEzC,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACrC,iBAAiB,IAAI;QACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,kBAAkB,IAAI;QAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,wBAAgB,+BAA+B,CAC3C,eAAe,EAAE,iCAAiC,GACnD,IAAI,CAkBN;AAED,wBAAgB,0BAA0B,CACtC,eAAe,EAAE;IAAC,WAAW,IAAI,aAAa,EAAE,CAAA;CAAC,EACjD,OAAO,EAAE,MAAM,GAChB,6BAA6B,EAAE,CAKjC;AAED,wBAAgB,2BAA2B,CAAC,eAAe,EACvD,GAAG,EAAE,MAAM,EACX,eAAe,EAAE;IAAC,aAAa,IAAI,MAAM,GAAG,SAAS,CAAA;CAAC,EACtD,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,eAAe,GAC5E,eAAe,CAEjB"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,6BAA6B,EAClC,KAAK,OAAO,EACf,MAAM,iCAAiC,CAAC;AAEzC,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,sBAAsB,CAClC,eAAe,EAAE,MAAM,EAAE,GAAG,SAAS,EACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,YAAY,EAAE,iBAAiB,GAChC,uBAAuB,CAmCzB;AAED,KAAK,6BAA6B,GAAG;IACjC,eAAe,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,SAAS,EAAE;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAC,GAAG,IAAI,CAAC;CAC7D,CAAC;AAWF,wBAAgB,4BAA4B,CACxC,eAAe,EAAE,6BAA6B,EAC9C,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC7C,6BAA6B,EAAE,CAkBjC;AAED,KAAK,iCAAiC,GAAG;IACrC,iBAAiB,IAAI;QACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,kBAAkB,IAAI;QAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,wBAAgB,+BAA+B,CAC3C,eAAe,EAAE,iCAAiC,GACnD,IAAI,CAkBN;AAED,wBAAgB,0BAA0B,CACtC,eAAe,EAAE;IAAC,WAAW,IAAI,aAAa,EAAE,CAAA;CAAC,EACjD,OAAO,EAAE,MAAM,GAChB,6BAA6B,EAAE,CAKjC;AAED,wBAAgB,2BAA2B,CAAC,eAAe,EACvD,GAAG,EAAE,MAAM,EACX,eAAe,EAAE;IAAC,aAAa,IAAI,MAAM,GAAG,SAAS,CAAA;CAAC,EACtD,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,eAAe,GAC5E,eAAe,CAEjB"}
@@ -1,3 +1,53 @@
1
+ import { getPowerShellConfig, getShellConfig, } from '@earendil-works/pi-coding-agent';
2
+ export function resolveBkperAgentTools(configuredTools, platform, availability) {
3
+ if (configuredTools) {
4
+ const unavailableShells = configuredTools.filter(tool => (tool === 'bash' && !availability.bash) ||
5
+ (tool === 'powershell' && !availability.powershell));
6
+ const tools = configuredTools.filter(tool => !unavailableShells.includes(tool));
7
+ return unavailableShells.length > 0
8
+ ? {
9
+ tools,
10
+ warning: `Unavailable configured shell tools were disabled: ${unavailableShells.join(', ')}.`,
11
+ }
12
+ : { tools };
13
+ }
14
+ if (platform === 'win32' && availability.powershell) {
15
+ return { tools: ['read', 'powershell', 'edit', 'write'] };
16
+ }
17
+ if (availability.bash) {
18
+ return platform === 'win32'
19
+ ? {
20
+ tools: ['read', 'bash', 'edit', 'write'],
21
+ warning: 'PowerShell is unavailable; using Bash instead.',
22
+ }
23
+ : { tools: ['read', 'bash', 'edit', 'write'] };
24
+ }
25
+ return {
26
+ tools: ['read', 'edit', 'write'],
27
+ warning: 'No supported shell is available; command execution is disabled.',
28
+ };
29
+ }
30
+ function canResolveShell(resolve) {
31
+ try {
32
+ resolve();
33
+ return true;
34
+ }
35
+ catch (_a) {
36
+ return false;
37
+ }
38
+ }
39
+ export function applyBkperAgentToolSelection(settingsManager, platform = process.platform) {
40
+ const forceWindows = process.env.BKPER_AGENT_FORCE_PLATFORM === 'win32';
41
+ const effectivePlatform = forceWindows ? 'win32' : platform;
42
+ const availability = {
43
+ bash: canResolveShell(() => getShellConfig(settingsManager.getShellPath())),
44
+ powershell: effectivePlatform === 'win32' &&
45
+ (forceWindows || canResolveShell(() => getPowerShellConfig())),
46
+ };
47
+ const resolved = resolveBkperAgentTools(settingsManager.getDefaultTools(), effectivePlatform, availability);
48
+ settingsManager.applyOverrides({ defaultTools: resolved.tools });
49
+ return resolved.warning ? [{ type: 'warning', message: resolved.warning }] : [];
50
+ }
1
51
  export function applyBkperAgentSettingsDefaults(settingsManager) {
2
52
  const globalSettings = settingsManager.getGlobalSettings();
3
53
  const projectSettings = settingsManager.getProjectSettings();
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/agent/interactive/settings.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,+BAA+B,CAC3C,eAAkD;IAElD,MAAM,cAAc,GAAG,eAAe,CAAC,iBAAiB,EAAE,CAAC;IAC3D,MAAM,eAAe,GAAG,eAAe,CAAC,kBAAkB,EAAE,CAAC;IAC7D,MAAM,2BAA2B,GAAG;QAChC,cAAc,CAAC,oBAAoB;QACnC,eAAe,CAAC,oBAAoB;KACvC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IACrC,MAAM,kBAAkB,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7E,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,CAC/B,CAAC;IAEF,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC/B,eAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CACtC,eAAiD,EACjD,OAAe;IAEf,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI,OAAO,KAAK,KAAK,cAAc,KAAK,CAAC,OAAO,EAAE;KAC9D,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,GAAW,EACX,eAAsD,EACtD,oBAA2E;IAE3E,OAAO,oBAAoB,CAAC,GAAG,EAAE,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/agent/interactive/settings.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare function getBkperAgentSystemPrompt(): string;
1
+ export declare function getBkperAgentSystemPrompt(selectedTools?: string[]): string;
2
2
  export declare const BKPER_AGENT_SYSTEM_PROMPT: string;
3
3
  //# sourceMappingURL=system-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAqHA,wBAAgB,yBAAyB,IAAI,MAAM,CAsDlD;AAED,eAAO,MAAM,yBAAyB,QAsBrC,CAAC"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AA6HA,wBAAgB,yBAAyB,CACrC,aAAa,GAAE,MAAM,EAAsC,GAC5D,MAAM,CAsDR;AA4BD,eAAO,MAAM,yBAAyB,QAKpC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { createBashToolDefinition, createEditToolDefinition, createReadToolDefinition, createWriteToolDefinition, } from '@earendil-works/pi-coding-agent';
1
+ import { createBashToolDefinition, createEditToolDefinition, createPowerShellToolDefinition, createReadToolDefinition, createWriteToolDefinition, } from '@earendil-works/pi-coding-agent';
2
2
  import { existsSync } from 'node:fs';
3
3
  import path from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
@@ -58,16 +58,17 @@ function normalizePromptGuidelines(guidelines) {
58
58
  }
59
59
  return Array.from(unique);
60
60
  }
61
- function getCodingToolDefinitions() {
61
+ function getCodingToolDefinitions(selectedTools) {
62
62
  return [
63
63
  createReadToolDefinition(process.cwd()),
64
64
  createBashToolDefinition(process.cwd()),
65
+ createPowerShellToolDefinition(process.cwd()),
65
66
  createEditToolDefinition(process.cwd()),
66
67
  createWriteToolDefinition(process.cwd()),
67
- ];
68
+ ].filter(definition => selectedTools.includes(definition.name));
68
69
  }
69
- function buildToolPromptSection() {
70
- const toolDefinitions = getCodingToolDefinitions();
70
+ function buildToolPromptSection(selectedTools) {
71
+ const toolDefinitions = getCodingToolDefinitions(selectedTools);
71
72
  const toolLines = toolDefinitions
72
73
  .flatMap(definition => {
73
74
  const snippet = normalizePromptSnippet(definition.promptSnippet);
@@ -84,7 +85,12 @@ function buildToolPromptSection() {
84
85
  seenGuidelines.add(normalized);
85
86
  guidelineLines.push(`- ${normalized}`);
86
87
  };
87
- addGuideline('Use bash for discovery and search like ls, rg, and find. Use it to run bkper CLI commands when relevant.');
88
+ if (selectedTools.includes('powershell')) {
89
+ addGuideline('Use PowerShell for file operations like listing, searching, and finding files. Use it to run bkper CLI commands when relevant.');
90
+ }
91
+ else if (selectedTools.includes('bash')) {
92
+ addGuideline('Use bash for discovery and search like ls, rg, and find. Use it to run bkper CLI commands when relevant.');
93
+ }
88
94
  for (const definition of toolDefinitions) {
89
95
  for (const guideline of normalizePromptGuidelines(definition.promptGuidelines)) {
90
96
  addGuideline(guideline);
@@ -94,14 +100,14 @@ function buildToolPromptSection() {
94
100
  const toolsList = toolLines.length > 0 ? toolLines : '(none)';
95
101
  return `Available tools:\n${toolsList}\n\nIn addition to the tools above, you may have access to other custom tools depending on the project.\n\nGuidelines:\n${guidelineLines.join('\n')}`;
96
102
  }
97
- export function getBkperAgentSystemPrompt() {
103
+ export function getBkperAgentSystemPrompt(selectedTools = ['read', 'bash', 'edit', 'write']) {
98
104
  const coreConceptsPath = resolveReferenceDocPath('core/core-concepts.md');
99
105
  const indexPath = resolveDocsIndexPath('index.md');
100
106
  const referenceDocsDir = path.dirname(indexPath);
101
107
  const piRoot = resolvePiPackageRoot();
102
108
  const piDocsPath = path.resolve(piRoot, 'docs');
103
109
  const piExamplesPath = path.resolve(piRoot, 'examples');
104
- return `${BKPER_AGENT_SYSTEM_PROMPT}
110
+ return `${buildBkperOperatingContext(selectedTools)}
105
111
  ## Required Reading
106
112
 
107
113
  Bkper's accounting model is intentionally non-standard. Generic accounting knowledge — debit/credit, account categories, sign conventions — will lead you to wrong answers here.
@@ -149,7 +155,8 @@ ${piExamplesPath}
149
155
  And follow the most relevant link to find the answer.
150
156
  `;
151
157
  }
152
- export const BKPER_AGENT_SYSTEM_PROMPT = `# Bkper Context
158
+ function buildBkperOperatingContext(selectedTools) {
159
+ return `# Bkper Context
153
160
 
154
161
  You are a Bkper team member.
155
162
 
@@ -157,7 +164,7 @@ Protect the zero-sum invariant above all else.
157
164
 
158
165
  You help users by reading files, executing commands, editing code, and writing new files.
159
166
 
160
- ${buildToolPromptSection()}
167
+ ${buildToolPromptSection(selectedTools)}
161
168
 
162
169
  ## IMPORTANT Operating Principles
163
170
 
@@ -172,4 +179,11 @@ ${buildToolPromptSection()}
172
179
  - Model domain and flows before coding; represent business reality, not technical shortcuts.
173
180
  - Prefer simplicity over cleverness; choose small, boring, maintainable solutions.
174
181
  `;
182
+ }
183
+ export const BKPER_AGENT_SYSTEM_PROMPT = buildBkperOperatingContext([
184
+ 'read',
185
+ 'bash',
186
+ 'edit',
187
+ 'write',
188
+ ]);
175
189
  //# sourceMappingURL=system-prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,6 @@ my-app/
14
14
  │ ├── vite.config.ts
15
15
  │ └── src/
16
16
  │ ├── api/
17
- │ ├── app/
18
17
  │ ├── auth/
19
18
  │ ├── components/
20
19
  │ └── services/
@@ -44,10 +43,14 @@ The client uses:
44
43
  - [`@bkper/web-design`](https://www.npmjs.com/package/@bkper/web-design) for Bkper design tokens.
45
44
  - [Vite](https://vitejs.dev/) for development and production builds, configured in `client/vite.config.ts`.
46
45
 
47
- Client code has two data paths:
46
+ Client code has two data paths. Choose based on who owns the behavior:
48
47
 
49
- - **Direct Bkper calls** use `bkper-js` for browser-specific behavior.
50
- - **App API calls** use the generated typed client in `client/src/api/` with `auth.authenticatedFetch()`.
48
+ - **Direct Bkper calls** use `bkper-js` for generic Bkper data needed only by the browser UI.
49
+ - **App API calls** use the generated typed client in `client/src/api/` with `auth.authenticatedFetch()` for app-owned behavior, especially when it needs server-only capabilities or more than one caller.
50
+
51
+ Keep app-owned behavior in one place. Do not implement the same behavior separately in the UI and the app API.
52
+
53
+ For stateful feature components, co-locate view, controller, and CSS files in one folder under `components/`. Simple presentational components can remain in one file.
51
54
 
52
55
  ### Client authentication
53
56
 
@@ -115,7 +118,7 @@ The default template publishes versioned routes under `/api/v1/*` and exposes th
115
118
  | Business behavior | `server/src/services/` |
116
119
  | Generated client types | `client/src/api/generated/types.d.ts` |
117
120
  | Typed client wrapper | `client/src/api/app-api.ts` |
118
- | Contract snapshot | `server/test/openapi.snapshot.json` |
121
+ | Contract snapshot | `server/test/api/openapi.snapshot.json` |
119
122
 
120
123
  When changing the API:
121
124
 
@@ -126,6 +129,30 @@ When changing the API:
126
129
 
127
130
  Keep existing `/api/v1/*` contracts backward compatible. Additive fields and routes can remain in `v1`; breaking changes belong in a new namespace such as `/api/v2/*`.
128
131
 
132
+ ### Reuse Bkper API types
133
+
134
+ When an app API returns payloads from the Bkper REST API, reference the canonical types from `@bkper/bkper-api-types` instead of recreating their fields in the app. The template's balances endpoint demonstrates this with `bkper.Book`:
135
+
136
+ ```ts
137
+ export const BookSchema = z
138
+ .custom<bkper.Book>(value => value !== undefined)
139
+ .openapi('Book', {
140
+ type: 'object',
141
+ additionalProperties: true,
142
+ 'x-typescript-type': 'bkper.Book',
143
+ });
144
+ ```
145
+
146
+ The template's API generator recognizes `x-typescript-type`, imports `@bkper/bkper-api-types`, and emits the canonical reference in `client/src/api/generated/types.d.ts`:
147
+
148
+ ```ts
149
+ Book: bkper.Book;
150
+ ```
151
+
152
+ Both the server and client packages include `@bkper/bkper-api-types` for local typechecking. Run `npm run api` after adding or changing these schemas.
153
+
154
+ This bridge provides compile-time types but does not validate payload fields at runtime. Use it directly for trusted Bkper-owned responses. Request bodies, especially those used to create or modify Book resources, still require concrete Zod validation.
155
+
129
156
  ### URLs
130
157
 
131
158
  ```txt
@@ -145,7 +172,7 @@ TOKEN="$(bkper auth token)"
145
172
 
146
173
  curl \
147
174
  -H "Authorization: Bearer ${TOKEN}" \
148
- "https://my-app.bkper.app/api/v1/books"
175
+ "https://my-app.bkper.app/api/v1/ping"
149
176
  ```
150
177
 
151
178
  Replace `my-app` with the app id from `bkper.yaml`.
@@ -155,7 +182,7 @@ Replace `my-app` with the app id from `bkper.yaml`.
155
182
  Deployed `/api/*` routes require a Bkper OAuth bearer token. The template client uses `authenticatedFetch()` so token attachment and refresh stay inside `@bkper/web-auth`:
156
183
 
157
184
  ```ts
158
- const response = await auth.authenticatedFetch('/api/v1/books');
185
+ const response = await auth.authenticatedFetch('/api/v1/ping');
159
186
  ```
160
187
 
161
188
  Dispatch validates the incoming bearer token and strips the `Authorization` header before the Worker runs. Server code should not read or forward the token.
@@ -171,6 +198,12 @@ const books = await bkper.getBooks();
171
198
 
172
199
  Platform outbound authentication injects the validated user's OAuth token on Bkper API requests.
173
200
 
201
+ ### Authorize app operations
202
+
203
+ Authentication identifies the Bkper user, but each app must authorize sensitive data and actions server-side. Client-side checks are not an authorization boundary.
204
+
205
+ See [App Security](https://bkper.com/docs/build/apps/security.md) for domain restrictions, Book permissions, and app installation checks.
206
+
174
207
  ## Event handlers
175
208
 
176
209
  Platform event deliveries reach `/events` on the same Worker. Event adapters live in `server/src/events/`, while reusable business behavior belongs in `server/src/services/`.
@@ -25,10 +25,10 @@ You can also run them independently: `npm run dev:client` for just the UI, or `n
25
25
  | Client (Vite dev server) | `http://localhost:5173` |
26
26
  | Server Worker (Miniflare) | `http://localhost:8787` |
27
27
  | App API routes | `http://localhost:8787/api/*` |
28
- | App OpenAPI spec | `http://localhost:8787/openapi.json` |
28
+ | App OpenAPI spec | `http://localhost:5173/openapi.json` |
29
29
  | Events (via tunnel to the same Worker) | `https://<random>.trycloudflare.com/events` |
30
30
 
31
- The Vite dev server proxies `/api` requests to `http://localhost:8787` through `client/vite.config.ts`. The app OpenAPI spec is served by the Worker at `http://localhost:8787/openapi.json`. The tunnel URL is automatically registered as `webhookUrlDev`, so development-mode events are routed to your local machine.
31
+ The Vite dev server proxies `/api` and `/openapi.json` requests to `http://localhost:8787` through `client/vite.config.ts`, so the client and OpenAPI spec share the same local origin just as they do in production. The spec also remains available directly from the Worker at `http://localhost:8787/openapi.json`. The tunnel URL is automatically registered as `webhookUrlDev`, so development-mode events are routed to your local machine.
32
32
 
33
33
  ## Configuration flags
34
34
 
@@ -40,13 +40,13 @@ bkper app dev --sp 8787
40
40
 
41
41
  ## Client configuration
42
42
 
43
- The client dev server is configured in `client/vite.config.ts`. This standard Vite configuration registers local auth middleware and proxies `/api` requests to the Worker.
43
+ The client dev server is configured in `client/vite.config.ts`. This standard Vite configuration registers local auth middleware and proxies `/api` and `/openapi.json` requests to the Worker.
44
44
 
45
45
  ### Local development authentication
46
46
 
47
47
  During local development, the Vite dev server runs `createBkperAuthMiddleware()` from `bkper/dev`. It serves the local `/auth/refresh` endpoint used by `@bkper/web-auth`, obtaining OAuth tokens from your CLI credentials.
48
48
 
49
- The separate Vite proxy configuration forwards `/api` requests to the Miniflare Worker.
49
+ The separate Vite proxy configuration forwards `/api` and `/openapi.json` requests to the Miniflare Worker.
50
50
 
51
51
  Before starting development, run:
52
52
 
@@ -1,4 +1,4 @@
1
- # Event Handlers
1
+ # Bkper Webhooks and Event Handlers
2
2
 
3
3
  Event handlers are the code that reacts to events in your Bkper Books. When a transaction is checked, an account is created, or any other event occurs, your handler receives it and can take action — calculate taxes, sync data between books, post to external services, and more.
4
4
 
@@ -0,0 +1,73 @@
1
+ # App Security
2
+
3
+ Bkper and each platform app have separate security responsibilities. This guide explains the platform authentication boundary and common authorization checks an app must enforce.
4
+
5
+ ## Authentication and authorization
6
+
7
+ Authentication identifies the Bkper user making a request. The platform handles this flow for deployed apps.
8
+
9
+ Authorization determines whether that user may perform a specific operation.
10
+
11
+ See [App Architecture](https://bkper.com/docs/build/apps/architecture.md) for the client and server authentication flow.
12
+
13
+ ## Authorize app operations
14
+
15
+ Platform authentication identifies the Bkper user and provides outbound authentication for server-side Bkper requests. Your app must still decide which authenticated users may perform each operation. Protect sensitive data and actions in the server API; client-side checks may improve the UI, but they are not an authorization boundary.
16
+
17
+ ### Restrict an internal app by user domain
18
+
19
+ For an app intended only for people in one organization, authorize the authenticated user's hosted domain:
20
+
21
+ ```ts
22
+ const ALLOWED_DOMAIN = 'example.com';
23
+
24
+ const user = await context.bkper.getUser();
25
+ const domain = user.getHostedDomain()?.toLowerCase();
26
+
27
+ if (domain !== ALLOWED_DOMAIN) {
28
+ return c.json(buildApiError('FORBIDDEN', 'This app is restricted to your organization'), 403);
29
+ }
30
+ ```
31
+
32
+ ### Authorize a Book-backed operation
33
+
34
+ When an operation acts on a Book, use an explicit permission allowlist appropriate to that operation. For an operation that requires edit access:
35
+
36
+ ```ts
37
+ import { Permission } from 'bkper-js';
38
+
39
+ const EDIT_PERMISSIONS: readonly Permission[] = [Permission.EDITOR, Permission.OWNER];
40
+
41
+ const book = await context.bkper.getBook(bookId);
42
+
43
+ if (!EDIT_PERMISSIONS.includes(book.getPermission())) {
44
+ return c.json(
45
+ buildApiError('FORBIDDEN', 'Editor or owner permission required for this operation'),
46
+ 403
47
+ );
48
+ }
49
+ ```
50
+
51
+ Read, posting, and other operations may require different policies. Choose the minimum authorization appropriate to the behavior instead of treating every authenticated user as authorized.
52
+
53
+ ### Require app installation
54
+
55
+ Having permission to access a Book does not mean the app is installed in that Book. If an app is only supposed to be used with Books where it is installed, verify installation:
56
+
57
+ ```ts
58
+ const APP_ID = 'my-app';
59
+
60
+ const book = await context.bkper.getBook(bookId);
61
+ const installedApps = await book.getApps();
62
+ const isInstalled = installedApps.some(app => app.getId() === APP_ID);
63
+
64
+ if (!isInstalled) {
65
+ return c.json(buildApiError('FORBIDDEN', 'This app is not installed in this Book'), 403);
66
+ }
67
+ ```
68
+
69
+ ## Next Steps
70
+
71
+ - [App Architecture](https://bkper.com/docs/build/apps/architecture.md) — Understand client and server authentication flows.
72
+ - [Building & Deploying](https://bkper.com/docs/build/apps/deploying.md#setting-secrets) — Store production and preview secrets.
73
+ - [Event Handlers](https://bkper.com/docs/build/apps/event-handlers.md#authentication) — Understand authentication for platform and self-hosted events.
@@ -1,4 +1,4 @@
1
- # Self-Hosted Alternative
1
+ # Bkper Self-Hosted Webhooks
2
2
 
3
3
  The [Bkper Platform](https://bkper.com/docs/build/apps/overview.md) handles hosting, authentication, and deployment for you. However, you can host event handlers on your own infrastructure if you have specific requirements — existing cloud setup, compliance constraints, or legacy apps.
4
4
 
@@ -238,6 +238,10 @@ bkper transaction create -b abc123 --description "Office supplies"
238
238
  bkper transaction create -b abc123 --date 2025-01-15 --amount 100.50 \
239
239
  --from "Bank Account" --to "Office Supplies" --description "Printer paper"
240
240
 
241
+ # Keep a complete AI-derived transaction as a draft
242
+ printf '%s\n' '[{"date":"2025-01-15","amount":"100.50","creditAccount":{"name":"Bank Account"},"debitAccount":{"name":"Office Supplies"},"description":"Extracted printer paper","draft":true}]' | \
243
+ bkper transaction create -b abc123
244
+
241
245
  # Create a transaction with one local attachment
242
246
  bkper transaction create -b abc123 --date 2025-01-15 --amount 23.90 \
243
247
  --from "Cash" --to "Meals" --description "Team lunch" --file ./receipt.pdf
@@ -540,6 +544,10 @@ python export_bank.py | bkper transaction create -b abc123
540
544
 
541
545
  The input follows the exact `bkper.Transaction` or `bkper.Account` type from the [Bkper API Types](https://raw.githubusercontent.com/bkper/bkper-api-types/refs/heads/master/index.d.ts). Custom properties go inside the `properties` object.
542
546
 
547
+ ### AI-derived transaction safety
548
+
549
+ Always set `"draft": true` for AI-derived transactions, even when complete. It bypasses Book auto-posting, so the transaction stays out of balances until explicitly posted. Do not rely on missing fields; parsing or Account discovery may complete them.
550
+
543
551
  Groups are created explicitly with `bkper group create --name` and optional `--parent` so hierarchy stays deterministic during setup.
544
552
 
545
553
  The `--property` CLI flag can override or delete properties from the stdin payload:
@@ -604,6 +612,7 @@ Only the fields below are meaningful when creating or updating resources via std
604
612
  | `creditAccount` | `{"name":"..."}` or `{"id":"..."}` | Reference to an existing account |
605
613
  | `debitAccount` | `{"name":"..."}` or `{"id":"..."}` | Reference to an existing account |
606
614
  | `description` | `string` | Free-text description |
615
+ | `draft` | `boolean` | `true` forces a draft and bypasses Book auto-posting |
607
616
  | `urls` | `string[]` | Attached URLs (e.g. receipts) |
608
617
  | `remoteIds` | `string[]` | External IDs to prevent duplicates |
609
618
  | `properties` | `{"key": "value", ...}` | Custom key/value properties |
package/lib/docs/index.md CHANGED
@@ -11,6 +11,7 @@ For Bkper data, accounting, reporting, tax, or financial-flow tasks, read `core/
11
11
  - `apps/ai.md` — Bkper AI integration for Platform apps: authenticated `/api/*` request flow, outbound authorization and app attribution, live model discovery, strict structured output, response validation, error preservation, data minimization, and unit-test boundaries.
12
12
  - `apps/first-app.md` — First-app walkthrough: scaffold, install, run locally, trigger an event, customize the listing, establish shared source, check, and deploy.
13
13
  - `apps/architecture.md` — App and template architecture: npm workspace structure, Lit/Vite client, Hono Worker, typed `/api/*` contracts, authentication, `/events`, static assets, and supported app shapes.
14
+ - `apps/security.md` — App security responsibilities and server-side authorization: platform authentication boundaries, user-domain restrictions, Book permission allowlists, and app installation checks.
14
15
  - `apps/configuration.md` — Complete `bkper.yaml` reference: identity, branding, ownership, access, context menus, event subscriptions, property schemas, and single-Worker deployment settings.
15
16
  - `apps/development.md` — Local development: Vite and Worker processes, ports, API proxy, local authentication, secrets, KV, generated environment types, development loop, and debugging.
16
17
  - `apps/event-handlers.md` — Event handler behavior: `/events` routing, responses, replay, loop prevention, platform and self-hosted authentication, event payloads, and event types.
@@ -636,7 +636,8 @@ It contains all `Accounts` where `Transactions` are recorded/posted;
636
636
  - `listEvents(options: ListEventsOptions)` → `Promise<EventList>` — Lists events in the Book based on the provided options.
637
637
  - `listFiles(limit?: number, cursor?: string)` → `Promise<FileList>` — Lists files in the Book, for pagination.
638
638
  - `listTransactions(query?: string, limit?: number, cursor?: string)` → `Promise<TransactionList>` — Lists transactions in the Book based on the provided query, limit, and cursor, for pagination.
639
- - `mergeTransactions(transaction1: string | bkper.Transaction | Transaction, transaction2: string | bkper.Transaction | Transaction)` → `Promise<Transaction>` — Merge two `Transactions` into a single new canonical transaction.
639
+ - `mergeTransactions(primary: string | bkper.Transaction | Transaction, secondary: string | bkper.Transaction | Transaction)` → `Promise<Transaction>` — Merge a primary and secondary `Transaction`. Submitted primary fields
640
+ have highest precedence; an id string sends no field overrides.
640
641
  - `parseDate(date: string)` → `Date` — Parse a date string according to date pattern and timezone of the Book. Also parse ISO yyyy-mm-dd format.
641
642
  - `parseValue(value: string)` → `Amount | undefined` — Parse a value string according to `DecimalSeparator` and fraction digits of the Book.
642
643
  - `remove()` → `Promise<Book>` — Warning!
@@ -736,11 +737,6 @@ const groups2 = await bookWithGroups.getGroups(); // Already cached
736
737
 
737
738
  Requests are sent sequentially in batches of up to 200 IDs.
738
739
 
739
- **mergeTransactions**
740
-
741
- The merged transaction is created synchronously. Cleanup of the two
742
- originals is scheduled asynchronously by the backend.
743
-
744
740
  **remove**
745
741
 
746
742
  Deletes this Book and all its data (transactions, accounts, groups). Book owner only.
package/package.json CHANGED
@@ -1,14 +1,23 @@
1
1
  {
2
2
  "name": "bkper",
3
- "version": "4.27.0",
4
- "description": "Command line client for Bkper",
3
+ "version": "4.28.1",
4
+ "description": "Official Bkper CLI for accounting data, automation, apps, and AI agents",
5
5
  "bin": {
6
6
  "bkper": "./lib/cli.js"
7
7
  },
8
8
  "repository": "https://github.com/bkper/bkper-cli.git",
9
- "homepage": "https://bkper.com/docs",
9
+ "homepage": "https://bkper.com/docs/build/tools/cli",
10
10
  "author": "mael <mael@bkper.com>",
11
11
  "license": "Apache-2.0",
12
+ "keywords": [
13
+ "bkper",
14
+ "cli",
15
+ "accounting",
16
+ "bookkeeping",
17
+ "finance",
18
+ "automation",
19
+ "ai-agent"
20
+ ],
12
21
  "private": false,
13
22
  "main": "./lib/index.js",
14
23
  "module": "./lib/index.js",
@@ -52,8 +61,8 @@
52
61
  "upgrade:api": "bun update @bkper/bkper-api-types --latest && bun update bkper-js --latest"
53
62
  },
54
63
  "dependencies": {
55
- "@earendil-works/pi-coding-agent": "0.84.2",
56
- "@earendil-works/pi-tui": "0.84.2",
64
+ "@earendil-works/pi-coding-agent": "0.84.3",
65
+ "@earendil-works/pi-tui": "0.84.3",
57
66
  "bkper-js": "^2.42.0",
58
67
  "commander": "^13.1.0",
59
68
  "dotenv": "^8.2.0",