bkper 4.12.13 → 4.12.15

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.
@@ -1,3 +1,3 @@
1
1
  export declare function getBkperAgentSystemPrompt(): string;
2
- export declare const BKPER_AGENT_SYSTEM_PROMPT = "# Bkper Context\n\nYou are a Bkper team member.\n\nProtect the zero-sum invariant above all else.\n\nYou help users by reading files, executing commands, editing code, and writing new files.\n\nAvailable tools:\n- read: read file contents\n- bash: run shell commands for search and discovery\n- edit: make precise file edits\n- write: create or replace files\n\nIMPORTANT Guidelines:\n- Use bash for discovery and search like ls, rg, and find. Use it to run bkper CLI commands when relevant.\n- Use read to inspect file contents instead of cat or sed.\n- Use edit for precise changes.\n- When changing multiple separate locations in one file, use one edit call with multiple entries in edits[].\n- Each edits[].oldText is matched against the original file, not after earlier edits are applied. Do not use overlapping or nested edits. Merge nearby changes into one edit.\n- Keep edits[].oldText as small as possible while still being unique in the file.\n- Use write only for new files or complete rewrites.\n- Do not claim builds, tests, or command results unless you actually ran them.\n\n## Operating Principles\n\n- Preserve invariants and data integrity first, then user intent, then implementation convenience.\n- Think in resources, movements, and balances \u2014 not debits and credits.\n- Extend meaning with properties before adding structural complexity.\n- Model domain and flows before coding; represent business reality, not technical shortcuts.\n- Prefer simplicity over cleverness; choose small, boring, maintainable solutions.\n- Design for global readiness from day one: currencies, timezones, units, and formats.\n";
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":"AAqBA,wBAAgB,yBAAyB,IAAI,MAAM,CAsDlD;AAED,eAAO,MAAM,yBAAyB,qmDAgCrC,CAAC"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AA0FA,wBAAgB,yBAAyB,IAAI,MAAM,CA4DlD;AAED,eAAO,MAAM,yBAAyB,QAkBrC,CAAC"}
@@ -1,6 +1,7 @@
1
+ import { createBashToolDefinition, createEditToolDefinition, createReadToolDefinition, createWriteToolDefinition, } from '@mariozechner/pi-coding-agent';
1
2
  import { existsSync } from 'node:fs';
2
- import { fileURLToPath } from 'node:url';
3
3
  import path from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
4
5
  function resolveDocPath(filename) {
5
6
  const thisDir = path.dirname(fileURLToPath(import.meta.url));
6
7
  return path.resolve(thisDir, '..', 'docs', filename);
@@ -16,6 +17,62 @@ function resolvePiPackageRoot() {
16
17
  }
17
18
  return path.dirname(piIndexPath);
18
19
  }
20
+ function normalizePromptSnippet(text) {
21
+ if (!text) {
22
+ return undefined;
23
+ }
24
+ const oneLine = text.replace(/[\r\n]+/g, ' ').replace(/\s+/g, ' ').trim();
25
+ return oneLine.length > 0 ? oneLine : undefined;
26
+ }
27
+ function normalizePromptGuidelines(guidelines) {
28
+ if (!guidelines || guidelines.length === 0) {
29
+ return [];
30
+ }
31
+ const unique = new Set();
32
+ for (const guideline of guidelines) {
33
+ const normalized = guideline.trim();
34
+ if (normalized.length > 0) {
35
+ unique.add(normalized);
36
+ }
37
+ }
38
+ return Array.from(unique);
39
+ }
40
+ function getCodingToolDefinitions() {
41
+ return [
42
+ createReadToolDefinition(process.cwd()),
43
+ createBashToolDefinition(process.cwd()),
44
+ createEditToolDefinition(process.cwd()),
45
+ createWriteToolDefinition(process.cwd()),
46
+ ];
47
+ }
48
+ function buildToolPromptSection() {
49
+ const toolDefinitions = getCodingToolDefinitions();
50
+ const toolLines = toolDefinitions
51
+ .flatMap(definition => {
52
+ const snippet = normalizePromptSnippet(definition.promptSnippet);
53
+ return snippet ? [`- ${definition.name}: ${snippet}`] : [];
54
+ })
55
+ .join('\n');
56
+ const guidelineLines = [];
57
+ const seenGuidelines = new Set();
58
+ const addGuideline = (guideline) => {
59
+ const normalized = guideline.trim();
60
+ if (normalized.length === 0 || seenGuidelines.has(normalized)) {
61
+ return;
62
+ }
63
+ seenGuidelines.add(normalized);
64
+ guidelineLines.push(`- ${normalized}`);
65
+ };
66
+ addGuideline('Use bash for discovery and search like ls, rg, and find. Use it to run bkper CLI commands when relevant.');
67
+ for (const definition of toolDefinitions) {
68
+ for (const guideline of normalizePromptGuidelines(definition.promptGuidelines)) {
69
+ addGuideline(guideline);
70
+ }
71
+ }
72
+ addGuideline('Do not claim builds, tests, or command results unless you actually ran them.');
73
+ const toolsList = toolLines.length > 0 ? toolLines : '(none)';
74
+ 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')}`;
75
+ }
19
76
  export function getBkperAgentSystemPrompt() {
20
77
  const cliRefPath = resolveDocPath('cli-reference.md');
21
78
  const coreConceptsPath = resolveDocPath('core-concepts.md');
@@ -64,11 +121,17 @@ ${piExamplesPath}
64
121
 
65
122
  - For generic engineering work, do not load Bkper reference docs unless directly relevant.
66
123
  - When scope is unclear, inspect local files and project instructions first; load reference docs only after identifying a concrete need.
67
- - For any other question about Bkper — product features, accounting guides, app architecture, integrations, or general usage — fetch and read:
124
+ - For any other question about Bkper — product features, accounting guides, app architecture, integrations, or general usage — first read the core concepts file for foundational vocabulary and invariants:
125
+
126
+ \`\`\`
127
+ ${coreConceptsPath}
128
+ \`\`\`
129
+
130
+ Then fetch and read:
68
131
 
69
132
  https://bkper.com/llms.txt
70
133
 
71
- Then follow the most relevant link to find the answer.
134
+ And follow the most relevant link to find the answer.
72
135
  `;
73
136
  }
74
137
  export const BKPER_AGENT_SYSTEM_PROMPT = `# Bkper Context
@@ -79,21 +142,7 @@ Protect the zero-sum invariant above all else.
79
142
 
80
143
  You help users by reading files, executing commands, editing code, and writing new files.
81
144
 
82
- Available tools:
83
- - read: read file contents
84
- - bash: run shell commands for search and discovery
85
- - edit: make precise file edits
86
- - write: create or replace files
87
-
88
- IMPORTANT Guidelines:
89
- - Use bash for discovery and search like ls, rg, and find. Use it to run bkper CLI commands when relevant.
90
- - Use read to inspect file contents instead of cat or sed.
91
- - Use edit for precise changes.
92
- - When changing multiple separate locations in one file, use one edit call with multiple entries in edits[].
93
- - Each edits[].oldText is matched against the original file, not after earlier edits are applied. Do not use overlapping or nested edits. Merge nearby changes into one edit.
94
- - Keep edits[].oldText as small as possible while still being unique in the file.
95
- - Use write only for new files or complete rewrites.
96
- - Do not claim builds, tests, or command results unless you actually ran them.
145
+ ${buildToolPromptSection()}
97
146
 
98
147
  ## Operating Principles
99
148
 
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,SAAS,cAAc,CAAC,QAAgB;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,oBAAoB;IACzB,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACxF,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YAC7C,OAAO,GAAG,CAAC;QACf,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,yBAAyB;IACrC,MAAM,UAAU,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxD,OAAO,GAAG,yBAAyB;;;;;;;EAOrC,gBAAgB;;;;;;EAMhB,UAAU;;;;;;EAMV,WAAW;;;;EAIX,iBAAiB;;;;;;EAMjB,UAAU;;;;;;EAMV,cAAc;;;;;;;;;;CAUf,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCxC,CAAC"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,11 @@ export interface WorkerServerOptions {
7
7
  persist?: boolean;
8
8
  persistPath?: string;
9
9
  }
10
+ /**
11
+ * Resolves the Miniflare entry point from the app project root.
12
+ * This allows a globally installed bkper CLI to load the app-local devDependency.
13
+ */
14
+ export declare function resolveMiniflareModulePath(projectRoot: string): string;
10
15
  /**
11
16
  * Creates and starts a Miniflare instance for local Worker development
12
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"miniflare.d.ts","sourceRoot":"","sources":["../../src/dev/miniflare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAO,MAAM,WAAW,CAAC;AAGhD,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAoCD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC7B,OAAO,CAAC,SAAS,CAAC,CAuDpB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnF;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BjF;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
1
+ {"version":3,"file":"miniflare.d.ts","sourceRoot":"","sources":["../../src/dev/miniflare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAO,MAAM,WAAW,CAAC;AAKhD,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAwBD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtE;AAqBD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC7B,OAAO,CAAC,SAAS,CAAC,CAuDpB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnF;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BjF;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
@@ -7,25 +7,38 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
+ import { createRequire } from 'module';
11
+ import { pathToFileURL } from 'url';
10
12
  import { buildWorker } from './esbuild.js';
11
13
  /**
12
14
  * Store the base configuration for each Miniflare instance to support hot reload.
13
15
  * Maps Miniflare instance to its base configuration (without modules).
14
16
  */
15
17
  const instanceConfigs = new WeakMap();
18
+ const require = createRequire(import.meta.url);
16
19
  /**
17
- * Dynamically imports miniflare, exiting with a helpful message if not installed.
20
+ * Resolves the Miniflare entry point from the app project root.
21
+ * This allows a globally installed bkper CLI to load the app-local devDependency.
22
+ */
23
+ export function resolveMiniflareModulePath(projectRoot) {
24
+ return require.resolve('miniflare', { paths: [projectRoot] });
25
+ }
26
+ /**
27
+ * Dynamically imports Miniflare from the app project root, exiting with a helpful
28
+ * message if it is not installed there.
18
29
  */
19
30
  function loadMiniflare() {
20
- return __awaiter(this, void 0, void 0, function* () {
31
+ return __awaiter(this, arguments, void 0, function* (projectRoot = process.cwd()) {
32
+ let resolvedPath;
21
33
  try {
22
- return yield import('miniflare');
34
+ resolvedPath = resolveMiniflareModulePath(projectRoot);
23
35
  }
24
36
  catch (_a) {
25
37
  console.error('miniflare is required for local development.');
26
- console.error('Install it as a devDependency (e.g. npm install -D miniflare).');
38
+ console.error('Install it in the app root devDependencies (e.g. bun add -d miniflare or npm install -D miniflare).');
27
39
  process.exit(1);
28
40
  }
41
+ return (yield import(pathToFileURL(resolvedPath).href));
29
42
  });
30
43
  }
31
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"miniflare.js","sourceRoot":"","sources":["../../src/dev/miniflare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miniflare.js","sourceRoot":"","sources":["../../src/dev/miniflare.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bkper",
3
- "version": "4.12.13",
3
+ "version": "4.12.15",
4
4
  "description": "Command line client for Bkper",
5
5
  "bin": {
6
6
  "bkper": "./lib/cli.js"
@@ -47,7 +47,7 @@
47
47
  "upgrade:api": "bun update @bkper/bkper-api-types --latest && bun update bkper-js --latest"
48
48
  },
49
49
  "dependencies": {
50
- "@mariozechner/pi-coding-agent": "^0.66.1",
50
+ "@mariozechner/pi-coding-agent": "0.67.2",
51
51
  "bkper-js": "^2.32.2",
52
52
  "commander": "^13.1.0",
53
53
  "dotenv": "^8.2.0",