bkper 4.12.3 → 4.12.5
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/README.md +2 -2
- package/lib/agent/run-agent-mode.d.ts +5 -10
- package/lib/agent/run-agent-mode.d.ts.map +1 -1
- package/lib/agent/run-agent-mode.js +33 -21
- package/lib/agent/run-agent-mode.js.map +1 -1
- package/lib/agent/system-prompt.d.ts +2 -2
- package/lib/agent/system-prompt.d.ts.map +1 -1
- package/lib/agent/system-prompt.js +23 -10
- package/lib/agent/system-prompt.js.map +1 -1
- package/lib/commands/agent-command.js +2 -2
- package/lib/commands/agent-command.js.map +1 -1
- package/lib/docs/cli-reference.md +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -115,7 +115,7 @@ bkper agent install <pi-package-source>
|
|
|
115
115
|
bkper agent --help
|
|
116
116
|
```
|
|
117
117
|
|
|
118
|
-
`bkper agent` keeps Bkper defaults (
|
|
118
|
+
`bkper agent` keeps Bkper defaults (including the Bkper system prompt) unless you explicitly pass `--system-prompt`.
|
|
119
119
|
Use `bkper help agent` for the Bkper CLI command help, and `bkper agent --help` for Pi help.
|
|
120
120
|
|
|
121
121
|
For all available passthrough flags and commands, see the Pi CLI reference:
|
|
@@ -871,7 +871,7 @@ deployment:
|
|
|
871
871
|
#### Agent
|
|
872
872
|
|
|
873
873
|
- `agent` - Start the interactive Bkper Agent
|
|
874
|
-
- `agent <pi-args...>` - Run Pi CLI with Bkper defaults (
|
|
874
|
+
- `agent <pi-args...>` - Run Pi CLI with Bkper defaults (system prompt/resources)
|
|
875
875
|
|
|
876
876
|
#### App Lifecycle
|
|
877
877
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
+
import { InteractiveMode } from '@mariozechner/pi-coding-agent';
|
|
1
2
|
import { runStartupMaintenance } from './startup-maintenance.js';
|
|
2
|
-
type
|
|
3
|
-
reload(): Promise<void>;
|
|
4
|
-
};
|
|
3
|
+
export type InteractiveRuntimeHost = ConstructorParameters<typeof InteractiveMode>[0];
|
|
5
4
|
type NotificationType = 'info' | 'warning' | 'error';
|
|
6
5
|
type SessionStartContext = {
|
|
7
6
|
ui: {
|
|
@@ -13,18 +12,14 @@ type StartupExtensionAPI = {
|
|
|
13
12
|
on: (event: 'session_start', handler: SessionStartHandler) => void;
|
|
14
13
|
};
|
|
15
14
|
export interface AgentModeDependencies {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
resourceLoader: ReloadableResourceLoader;
|
|
19
|
-
}) => Promise<{
|
|
20
|
-
session: unknown;
|
|
15
|
+
createRuntime: () => Promise<{
|
|
16
|
+
runtime: InteractiveRuntimeHost;
|
|
21
17
|
modelFallbackMessage?: string;
|
|
22
18
|
}>;
|
|
23
|
-
createInteractiveMode: (
|
|
19
|
+
createInteractiveMode: (runtime: InteractiveRuntimeHost, modelFallbackMessage?: string) => {
|
|
24
20
|
run(): Promise<void>;
|
|
25
21
|
};
|
|
26
22
|
}
|
|
27
|
-
export declare function appendBkperAgentPrompt(base: string[]): string[];
|
|
28
23
|
export declare function registerBkperAgentStartupExtension(pi: StartupExtensionAPI, startupMaintenance?: typeof runStartupMaintenance): void;
|
|
29
24
|
export declare function runAgentMode(dependencies?: AgentModeDependencies): Promise<void>;
|
|
30
25
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-agent-mode.d.ts","sourceRoot":"","sources":["../../src/agent/run-agent-mode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-agent-mode.d.ts","sourceRoot":"","sources":["../../src/agent/run-agent-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,eAAe,EAIlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtF,KAAK,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD,KAAK,mBAAmB,GAAG;IACvB,EAAE,EAAE;QACA,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;KAC9D,CAAC;CACL,CAAC;AAEF,KAAK,mBAAmB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3F,KAAK,mBAAmB,GAAG;IACvB,EAAE,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACtE,CAAC;AAEF,MAAM,WAAW,qBAAqB;IAClC,aAAa,EAAE,MAAM,OAAO,CAAC;QACzB,OAAO,EAAE,sBAAsB,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;KACjC,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;AAED,wBAAgB,kCAAkC,CAC9C,EAAE,EAAE,mBAAmB,EACvB,kBAAkB,GAAE,OAAO,qBAA6C,GACzE,IAAI,CAeN;AAqDD,wBAAsB,YAAY,CAC9B,YAAY,GAAE,qBAAmD,GAClE,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
|
@@ -7,12 +7,9 @@ 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 {
|
|
10
|
+
import { createAgentSessionFromServices, createAgentSessionRuntime, createAgentSessionServices, getAgentDir, InteractiveMode, SessionManager, } from '@mariozechner/pi-coding-agent';
|
|
11
11
|
import { runStartupMaintenance } from './startup-maintenance.js';
|
|
12
|
-
import {
|
|
13
|
-
export function appendBkperAgentPrompt(base) {
|
|
14
|
-
return [...base, getBkperAgentAppendPrompt()];
|
|
15
|
-
}
|
|
12
|
+
import { getBkperAgentSystemPrompt } from './system-prompt.js';
|
|
16
13
|
export function registerBkperAgentStartupExtension(pi, startupMaintenance = runStartupMaintenance) {
|
|
17
14
|
let startupMaintenanceTriggered = false;
|
|
18
15
|
pi.on('session_start', (_event, ctx) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -28,20 +25,37 @@ export function registerBkperAgentStartupExtension(pi, startupMaintenance = runS
|
|
|
28
25
|
}
|
|
29
26
|
function createDefaultDependencies() {
|
|
30
27
|
return {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
28
|
+
createRuntime: () => __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const createRuntime = (_a) => __awaiter(this, [_a], void 0, function* ({ cwd, agentDir, sessionManager, sessionStartEvent, }) {
|
|
30
|
+
const services = yield createAgentSessionServices({
|
|
31
|
+
cwd,
|
|
32
|
+
agentDir,
|
|
33
|
+
resourceLoaderOptions: {
|
|
34
|
+
systemPromptOverride: () => getBkperAgentSystemPrompt(),
|
|
35
|
+
extensionFactories: [
|
|
36
|
+
(pi) => {
|
|
37
|
+
registerBkperAgentStartupExtension(pi);
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
return Object.assign(Object.assign({}, (yield createAgentSessionFromServices({
|
|
43
|
+
services,
|
|
44
|
+
sessionManager,
|
|
45
|
+
sessionStartEvent,
|
|
46
|
+
}))), { services, diagnostics: services.diagnostics });
|
|
47
|
+
});
|
|
48
|
+
const runtime = yield createAgentSessionRuntime(createRuntime, {
|
|
49
|
+
cwd: process.cwd(),
|
|
50
|
+
agentDir: getAgentDir(),
|
|
51
|
+
sessionManager: SessionManager.create(process.cwd()),
|
|
42
52
|
});
|
|
53
|
+
return {
|
|
54
|
+
runtime,
|
|
55
|
+
modelFallbackMessage: runtime.modelFallbackMessage,
|
|
56
|
+
};
|
|
43
57
|
}),
|
|
44
|
-
createInteractiveMode: (
|
|
58
|
+
createInteractiveMode: (runtime, modelFallbackMessage) => new InteractiveMode(runtime, {
|
|
45
59
|
modelFallbackMessage,
|
|
46
60
|
}),
|
|
47
61
|
};
|
|
@@ -51,10 +65,8 @@ export function runAgentMode() {
|
|
|
51
65
|
var _a;
|
|
52
66
|
var _b;
|
|
53
67
|
(_a = (_b = process.env).PI_SKIP_VERSION_CHECK) !== null && _a !== void 0 ? _a : (_b.PI_SKIP_VERSION_CHECK = '1');
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
const { session, modelFallbackMessage } = yield dependencies.createSession({ resourceLoader });
|
|
57
|
-
const mode = dependencies.createInteractiveMode(session, modelFallbackMessage);
|
|
68
|
+
const { runtime, modelFallbackMessage } = yield dependencies.createRuntime();
|
|
69
|
+
const mode = dependencies.createInteractiveMode(runtime, modelFallbackMessage);
|
|
58
70
|
yield mode.run();
|
|
59
71
|
});
|
|
60
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-agent-mode.js","sourceRoot":"","sources":["../../src/agent/run-agent-mode.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"run-agent-mode.js","sourceRoot":"","sources":["../../src/agent/run-agent-mode.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACH,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,WAAW,EACX,eAAe,EACf,cAAc,GAGjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AA+B/D,MAAM,UAAU,kCAAkC,CAC9C,EAAuB,EACvB,qBAAmD,qBAAqB;IAExE,IAAI,2BAA2B,GAAG,KAAK,CAAC;IAExC,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAO,MAAM,EAAE,GAAG,EAAE,EAAE;QACzC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QAE5C,IAAI,2BAA2B,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QACD,2BAA2B,GAAG,IAAI,CAAC;QAEnC,KAAK,kBAAkB,CAAC;YACpB,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;SAC1D,CAAC,CAAC;IACP,CAAC,CAAA,CAAC,CAAC;AACP,CAAC;AAED,SAAS,yBAAyB;IAC9B,OAAO;QACH,aAAa,EAAE,GAAS,EAAE;YACtB,MAAM,aAAa,GAAqC,KAKrD,EAAE,0CAL0D,EAC3D,GAAG,EACH,QAAQ,EACR,cAAc,EACd,iBAAiB,GACpB;gBACG,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC;oBAC9C,GAAG;oBACH,QAAQ;oBACR,qBAAqB,EAAE;wBACnB,oBAAoB,EAAE,GAAG,EAAE,CAAC,yBAAyB,EAAE;wBACvD,kBAAkB,EAAE;4BAChB,CAAC,EAAgB,EAAE,EAAE;gCACjB,kCAAkC,CAAC,EAAE,CAAC,CAAC;4BAC3C,CAAC;yBACJ;qBACJ;iBACJ,CAAC,CAAC;gBAEH,uCACO,CAAC,MAAM,8BAA8B,CAAC;oBACrC,QAAQ;oBACR,cAAc;oBACd,iBAAiB;iBACpB,CAAC,CAAC,KACH,QAAQ,EACR,WAAW,EAAE,QAAQ,CAAC,WAAW,IACnC;YACN,CAAC,CAAA,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,aAAa,EAAE;gBAC3D,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,QAAQ,EAAE,WAAW,EAAE;gBACvB,cAAc,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;aACvD,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO;gBACP,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;aACrD,CAAC;QACN,CAAC,CAAA;QACD,qBAAqB,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,CACrD,IAAI,eAAe,CAAC,OAAO,EAAE;YACzB,oBAAoB;SACvB,CAAC;KACT,CAAC;AACN,CAAC;AAED,MAAM,UAAgB,YAAY;yDAC9B,eAAsC,yBAAyB,EAAE;;;QAEjE,YAAA,OAAO,CAAC,GAAG,EAAC,qBAAqB,uCAArB,qBAAqB,GAAK,GAAG,EAAC;QAE1C,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,CAAC;QAC7E,MAAM,IAAI,GAAG,YAAY,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAE/E,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function
|
|
2
|
-
export declare const
|
|
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\nGuidelines:\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";
|
|
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":"AAaA,wBAAgB,yBAAyB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAaA,wBAAgB,yBAAyB,IAAI,MAAM,CAsBlD;AAED,eAAO,MAAM,yBAAyB,2lDAgCrC,CAAC"}
|
|
@@ -8,10 +8,10 @@ function resolveCoreConceptsPath() {
|
|
|
8
8
|
const thisDir = path.dirname(fileURLToPath(import.meta.url));
|
|
9
9
|
return path.resolve(thisDir, '..', 'docs', 'core-concepts.md');
|
|
10
10
|
}
|
|
11
|
-
export function
|
|
11
|
+
export function getBkperAgentSystemPrompt() {
|
|
12
12
|
const cliRefPath = resolveCliReferencePath();
|
|
13
13
|
const coreConceptsPath = resolveCoreConceptsPath();
|
|
14
|
-
return `${
|
|
14
|
+
return `${BKPER_AGENT_SYSTEM_PROMPT}
|
|
15
15
|
## Reference Routing
|
|
16
16
|
|
|
17
17
|
- Read local \`AGENTS.md\`, nearby files, and existing tests first for project-specific work.
|
|
@@ -27,28 +27,41 @@ ${coreConceptsPath}
|
|
|
27
27
|
${cliRefPath}
|
|
28
28
|
\`\`\`
|
|
29
29
|
|
|
30
|
-
-
|
|
31
|
-
- For generic engineering work, do not load Bkper or Pi reference docs unless directly relevant.
|
|
30
|
+
- For generic engineering work, do not load Bkper reference docs unless directly relevant.
|
|
32
31
|
- When scope is unclear, inspect local files and project instructions first; load reference docs only after identifying a concrete need.
|
|
33
32
|
`;
|
|
34
33
|
}
|
|
35
|
-
export const
|
|
34
|
+
export const BKPER_AGENT_SYSTEM_PROMPT = `# Bkper Context
|
|
36
35
|
|
|
37
36
|
You are a Bkper team member.
|
|
38
37
|
|
|
39
|
-
|
|
38
|
+
Protect the zero-sum invariant above all else.
|
|
39
|
+
|
|
40
|
+
You help users by reading files, executing commands, editing code, and writing new files.
|
|
41
|
+
|
|
42
|
+
Available tools:
|
|
43
|
+
- read: read file contents
|
|
44
|
+
- bash: run shell commands for search and discovery
|
|
45
|
+
- edit: make precise file edits
|
|
46
|
+
- write: create or replace files
|
|
47
|
+
|
|
48
|
+
Guidelines:
|
|
49
|
+
- Use bash for discovery and search like ls, rg, and find. Use it to run bkper CLI commands when relevant.
|
|
50
|
+
- Use read to inspect file contents instead of cat or sed.
|
|
51
|
+
- Use edit for precise changes.
|
|
52
|
+
- When changing multiple separate locations in one file, use one edit call with multiple entries in edits[].
|
|
53
|
+
- 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.
|
|
54
|
+
- Keep edits[].oldText as small as possible while still being unique in the file.
|
|
55
|
+
- Use write only for new files or complete rewrites.
|
|
56
|
+
- Do not claim builds, tests, or command results unless you actually ran them.
|
|
40
57
|
|
|
41
58
|
## Operating Principles
|
|
42
59
|
|
|
43
|
-
- Protect the zero-sum invariant above all else.
|
|
44
60
|
- Preserve invariants and data integrity first, then user intent, then implementation convenience.
|
|
45
61
|
- Think in resources, movements, and balances — not debits and credits.
|
|
46
62
|
- Extend meaning with properties before adding structural complexity.
|
|
47
63
|
- Model domain and flows before coding; represent business reality, not technical shortcuts.
|
|
48
64
|
- Prefer simplicity over cleverness; choose small, boring, maintainable solutions.
|
|
49
|
-
- Question the premise before adding complexity; prefer simplifying or removing over layering new structure.
|
|
50
65
|
- Design for global readiness from day one: currencies, timezones, units, and formats.
|
|
51
|
-
- Treat performance and security as foundational concerns.
|
|
52
|
-
- For conceptual questions, answer directly and concisely before reaching for tools.
|
|
53
66
|
`;
|
|
54
67
|
//# sourceMappingURL=system-prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,SAAS,uBAAuB;IAC5B,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,kBAAkB,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,uBAAuB;IAC5B,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,kBAAkB,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,yBAAyB;IACrC,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;IAC7C,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;IACnD,OAAO,GAAG,yBAAyB;;;;;;;EAOrC,gBAAgB;;;;;;EAMhB,UAAU
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,SAAS,uBAAuB;IAC5B,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,kBAAkB,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,uBAAuB;IAC5B,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,kBAAkB,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,yBAAyB;IACrC,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;IAC7C,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;IACnD,OAAO,GAAG,yBAAyB;;;;;;;EAOrC,gBAAgB;;;;;;EAMhB,UAAU;;;;;CAKX,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCxC,CAAC"}
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { main as runPiMain } from '@mariozechner/pi-coding-agent';
|
|
11
11
|
import { runAgentMode } from '../agent/run-agent-mode.js';
|
|
12
|
-
import {
|
|
12
|
+
import { getBkperAgentSystemPrompt } from '../agent/system-prompt.js';
|
|
13
13
|
function createDefaultDependencies() {
|
|
14
14
|
return {
|
|
15
15
|
runPi: (args) => runPiMain(args),
|
|
@@ -23,7 +23,7 @@ function buildPiArgs(args) {
|
|
|
23
23
|
if (hasSystemPromptArg(args)) {
|
|
24
24
|
return args;
|
|
25
25
|
}
|
|
26
|
-
return ['--
|
|
26
|
+
return ['--system-prompt', getBkperAgentSystemPrompt(), ...args];
|
|
27
27
|
}
|
|
28
28
|
export function runAgentCommand(piArgs_1) {
|
|
29
29
|
return __awaiter(this, arguments, void 0, function* (piArgs, dependencies = createDefaultDependencies()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-command.js","sourceRoot":"","sources":["../../src/commands/agent-command.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAOtE,SAAS,yBAAyB;IAC9B,OAAO;QACH,KAAK,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1C,kBAAkB,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE;KAC3C,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,iBAAiB,IAAI,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,WAAW,CAAC,IAAc;IAC/B,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"agent-command.js","sourceRoot":"","sources":["../../src/commands/agent-command.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAOtE,SAAS,yBAAyB;IAC9B,OAAO;QACH,KAAK,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1C,kBAAkB,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE;KAC3C,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,iBAAiB,IAAI,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,WAAW,CAAC,IAAc;IAC/B,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAgB,eAAe;yDACjC,MAAgB,EAChB,eAAyC,yBAAyB,EAAE;QAEpE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACxC,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;CAAA;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,OAAO;SACF,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,qDAAqD,CAAC;SAClE,kBAAkB,CAAC,IAAI,CAAC;SACxB,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -115,7 +115,7 @@ bkper agent install <pi-package-source>
|
|
|
115
115
|
bkper agent --help
|
|
116
116
|
```
|
|
117
117
|
|
|
118
|
-
`bkper agent` keeps Bkper defaults (
|
|
118
|
+
`bkper agent` keeps Bkper defaults (including the Bkper system prompt) unless you explicitly pass `--system-prompt`.
|
|
119
119
|
Use `bkper help agent` for the Bkper CLI command help, and `bkper agent --help` for Pi help.
|
|
120
120
|
|
|
121
121
|
For all available passthrough flags and commands, see the Pi CLI reference:
|
|
@@ -871,7 +871,7 @@ deployment:
|
|
|
871
871
|
#### Agent
|
|
872
872
|
|
|
873
873
|
- `agent` - Start the interactive Bkper Agent
|
|
874
|
-
- `agent <pi-args...>` - Run Pi CLI with Bkper defaults (
|
|
874
|
+
- `agent <pi-args...>` - Run Pi CLI with Bkper defaults (system prompt/resources)
|
|
875
875
|
|
|
876
876
|
#### App Lifecycle
|
|
877
877
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bkper",
|
|
3
|
-
"version": "4.12.
|
|
3
|
+
"version": "4.12.5",
|
|
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.
|
|
50
|
+
"@mariozechner/pi-coding-agent": "^0.65.2",
|
|
51
51
|
"bkper-js": "^2.32.1",
|
|
52
52
|
"commander": "^13.1.0",
|
|
53
53
|
"dotenv": "^8.2.0",
|