bkper 4.9.0 → 4.10.0

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 CHANGED
@@ -1,7 +1,6 @@
1
1
  [bkper.yaml reference]: #bkperyaml-reference
2
2
  [Developer Docs]: https://bkper.com/docs
3
3
  [App Template]: https://github.com/bkper/bkper-app-template
4
- [Skills Repository]: https://github.com/bkper/skills
5
4
  [Pi]: https://pi.dev/
6
5
 
7
6
  A unified **interface for [Bkper](https://bkper.com)**. Use `bkper` in two complementary modes:
@@ -85,14 +84,11 @@ When you run `bkper` with no arguments in an interactive terminal, bkper starts
85
84
  Bkper's agent mode is intentionally a **thin wrapper** around [Pi][Pi]:
86
85
 
87
86
  - Pi provides the core agent runtime and TUI
88
- - bkper adds Bkper-specific domain context, skills distribution defaults, and startup maintenance behavior
87
+ - bkper adds Bkper-specific domain context and startup maintenance behavior
89
88
 
90
89
  ### Startup maintenance (non-blocking)
91
90
 
92
- On each agent startup, bkper performs background checks:
93
-
94
- - CLI auto-update check (same behavior as command mode)
95
- - Bkper skills sync check from [Skills Repository]
91
+ On each agent startup, bkper performs a background CLI auto-update check (same behavior as command mode).
96
92
 
97
93
  ### Pi passthrough
98
94
 
@@ -115,21 +111,6 @@ bkper agent -- install <pi-package-source>
115
111
  For all available passthrough flags and commands, see the Pi CLI reference:
116
112
  https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent#cli-reference
117
113
 
118
- ### Skills
119
-
120
- Bkper skills are synced globally to:
121
-
122
- - `~/.agents/skills`
123
- - state file: `~/.agents/skills/.bkper-skills.yaml`
124
-
125
- Trigger a manual sync at any time:
126
-
127
- ```bash
128
- bkper skills sync
129
- ```
130
-
131
- Skills are agent-agnostic and can be reused by other tools that support `.agents/skills`.
132
-
133
114
  Pi-specific extensions are loaded from Pi extension folders (for example `.pi/extensions` and `~/.pi/agent/extensions`).
134
115
 
135
116
  <!-- Suggested showcase media: add a short terminal GIF here (bkper -> "Bkper Agent ready." -> one prompt). -->
@@ -287,8 +268,11 @@ bkper transaction create -b abc123 --description "Office supplies"
287
268
  bkper transaction create -b abc123 --date 2025-01-15 --amount 100.50 \
288
269
  --from "Bank Account" --to "Office Supplies" --description "Printer paper"
289
270
 
290
- # List transactions with a query
291
- bkper transaction list -b abc123 -q "after:2025-01-01"
271
+ # List transactions for a full year (on:YYYY)
272
+ bkper transaction list -b abc123 -q "on:2025"
273
+
274
+ # List transactions for a month (on:YYYY-MM)
275
+ bkper transaction list -b abc123 -q "on:2025-01"
292
276
 
293
277
  # List with custom properties included
294
278
  bkper transaction list -b abc123 -q "account:Sales" -p
@@ -344,11 +328,11 @@ bkper transaction merge tx_123 tx_456 -b abc123
344
328
  Query account balances and group totals.
345
329
 
346
330
  ```bash
347
- # List balances for a query
348
- bkper balance list -b abc123 -q "period:2025-01"
331
+ # List balances for a specific date (point-in-time)
332
+ bkper balance list -b abc123 -q "on:2025-12-31"
349
333
 
350
- # Expand groups to see individual accounts
351
- bkper balance list -b abc123 -q "period:2025-01" --expanded 2
334
+ # Monthly balance evolution of one account during 2025
335
+ bkper balance list -b abc123 -q "account:'<accountName>' after:2025-01-01 before:2026-01-01 by:m" --expanded 2
352
336
  ```
353
337
 
354
338
  <details>
@@ -359,6 +343,28 @@ bkper balance list -b abc123 -q "period:2025-01" --expanded 2
359
343
 
360
344
  </details>
361
345
 
346
+ ### Query semantics (transactions and balances)
347
+
348
+ Use the same query language across Bkper web app, CLI, and Google Sheets integrations.
349
+
350
+ - `on:` supports different granularities:
351
+ - `on:2025` → full year
352
+ - `on:2025-01` → full month
353
+ - `on:2025-01-31` → specific day
354
+ - `after:` is **inclusive** and `before:` is **exclusive**.
355
+ - Full year 2025: `after:2025-01-01 before:2026-01-01`
356
+ - For point-in-time statements (typically permanent accounts `ASSET`/`LIABILITY`), prefer `on:` or `before:`.
357
+ - For activity statements over a period (typically non-permanent accounts `INCOMING`/`OUTGOING`), prefer `after:` + `before:`.
358
+ - For statement-level analysis, prefer filtering by the report root group. Root names vary by book.
359
+
360
+ ```bash
361
+ # Balance Sheet snapshot (point-in-time)
362
+ bkper balance list -b abc123 -q "group:'<balanceSheetRootGroup>' before:2026-01-01"
363
+
364
+ # P&L activity over 2025
365
+ bkper balance list -b abc123 -q "group:'<profitAndLossRootGroup>' after:2025-01-01 before:2026-01-01"
366
+ ```
367
+
362
368
  ### Collections
363
369
 
364
370
  Organize books into collections.
@@ -401,11 +407,11 @@ bkper collection delete col_789
401
407
 
402
408
  All commands support three output formats via the `--format` global flag:
403
409
 
404
- | Format | Flag | Best for |
405
- | ------ | -------------------------- | --------------------------------------- |
406
- | Table | `--format table` (default) | Human reading in the terminal |
407
- | JSON | `--format json` | Programmatic access, single-item detail |
408
- | CSV | `--format csv` | Spreadsheets, AI agents, data pipelines |
410
+ | Format | Flag | Best for |
411
+ | ------ | -------------------------- | ------------------------------------------- |
412
+ | Table | `--format table` (default) | Human reading in the terminal |
413
+ | JSON | `--format json` | Programmatic access, single-item detail |
414
+ | CSV | `--format csv` | LLM consumption, spreadsheets, list reports |
409
415
 
410
416
  ```bash
411
417
  # Table output (default)
@@ -425,13 +431,20 @@ bkper account list -b abc123 --format csv
425
431
  - **Raw values** -- dates stay in ISO format, numbers are unformatted (no locale formatting)
426
432
  - **Single-item commands** (e.g. `account get`, `transaction create`) fall back to JSON since CSV adds no value for non-tabular data
427
433
 
428
- **AI agent guidance:**
434
+ **LLM-first output guidance (important):**
429
435
 
430
- When using the CLI from an AI agent, LLM, or automated script:
436
+ When command output will be loaded into an LLM context (chat, prompt, memory, or agent reasoning), prefer:
431
437
 
432
- - **Use `--format csv` for list commands.** CSV is dramatically more token-efficient than JSON for tabular data -- typically 3-5x fewer tokens for the same information.
433
- - **Use `--format json` for single-item commands** (`get`, `create`, `update`) where you need structured field access.
434
- - **Pipe data in via stdin** for batch operations (see below).
438
+ - **`--format csv` for list commands** (`balance list`, `transaction list`, `account list`, etc.).
439
+ - **`--format json` for single-item commands** (`get`, `create`, `update`) and CLI-to-CLI pipelines.
440
+
441
+ CSV is significantly more token-efficient than JSON for tabular data, and for wide balance outputs it can reduce token usage by up to **95%**.
442
+
443
+ **Quick rule:**
444
+
445
+ - **LLM consumption of lists/reports** → CSV
446
+ - **Programmatic processing / pipelines** → JSON
447
+ - **Human terminal reading** → Table
435
448
 
436
449
  ### Batch Operations & Piping
437
450
 
@@ -851,10 +864,6 @@ deployment:
851
864
 
852
865
  - `agent -- <pi-args...>` - Run Pi CLI with Bkper defaults (system prompt/resources)
853
866
 
854
- #### Skills
855
-
856
- - `skills sync` - Sync Bkper skills to `~/.agents/skills`
857
-
858
867
  #### App Lifecycle
859
868
 
860
869
  - `app init <name>` - Scaffold a new app from the template
@@ -913,4 +922,3 @@ Bkper.setConfig({
913
922
 
914
923
  - [Developer Docs]
915
924
  - [App Template]
916
- - [Skills Repository]
@@ -8,11 +8,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { createAgentSession, DefaultResourceLoader, InteractiveMode, } from '@mariozechner/pi-coding-agent';
11
- import { BKPER_AGENT_SYSTEM_PROMPT } from './system-prompt.js';
11
+ import { getBkperAgentSystemPrompt } from './system-prompt.js';
12
12
  function createDefaultDependencies() {
13
13
  return {
14
14
  createResourceLoader: () => new DefaultResourceLoader({
15
- systemPromptOverride: () => BKPER_AGENT_SYSTEM_PROMPT,
15
+ systemPromptOverride: () => getBkperAgentSystemPrompt(),
16
16
  appendSystemPromptOverride: () => [],
17
17
  extensionFactories: [
18
18
  (pi) => {
@@ -1 +1 @@
1
- {"version":3,"file":"run-agent-mode.js","sourceRoot":"","sources":["../../src/agent/run-agent-mode.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACH,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAGlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAsB/D,SAAS,yBAAyB;IAC9B,OAAO;QACH,oBAAoB,EAAE,GAAG,EAAE,CACvB,IAAI,qBAAqB,CAAC;YACtB,oBAAoB,EAAE,GAAG,EAAE,CAAC,yBAAyB;YACrD,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAE;YACpC,kBAAkB,EAAE;gBAChB,CAAC,EAAgB,EAAE,EAAE;oBACjB,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAO,MAAM,EAAE,GAAG,EAAE,EAAE;wBACzC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;oBAChD,CAAC,CAAA,CAAC,CAAC;gBACP,CAAC;aACJ;SACJ,CAAC;QACN,aAAa,EAAE,KAA2B,EAAE,0CAAtB,EAAE,cAAc,EAAE;YACpC,OAAA,kBAAkB,CAAC;gBACf,cAAc,EACV,cAA0E;aACjF,CAAC,CAAA;UAAA;QACN,qBAAqB,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,CACrD,IAAI,eAAe,CAAC,OAA2D,EAAE;YAC7E,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,cAAc,GAAG,YAAY,CAAC,oBAAoB,EAAE,CAAC;QAC3D,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;QAE9B,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAG,YAAY,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAE/E,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;CAAA"}
1
+ {"version":3,"file":"run-agent-mode.js","sourceRoot":"","sources":["../../src/agent/run-agent-mode.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACH,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAGlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAsB/D,SAAS,yBAAyB;IAC9B,OAAO;QACH,oBAAoB,EAAE,GAAG,EAAE,CACvB,IAAI,qBAAqB,CAAC;YACtB,oBAAoB,EAAE,GAAG,EAAE,CAAC,yBAAyB,EAAE;YACvD,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAE;YACpC,kBAAkB,EAAE;gBAChB,CAAC,EAAgB,EAAE,EAAE;oBACjB,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAO,MAAM,EAAE,GAAG,EAAE,EAAE;wBACzC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;oBAChD,CAAC,CAAA,CAAC,CAAC;gBACP,CAAC;aACJ;SACJ,CAAC;QACN,aAAa,EAAE,KAA2B,EAAE,0CAAtB,EAAE,cAAc,EAAE;YACpC,OAAA,kBAAkB,CAAC;gBACf,cAAc,EACV,cAA0E;aACjF,CAAC,CAAA;UAAA;QACN,qBAAqB,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,CACrD,IAAI,eAAe,CAAC,OAA2D,EAAE;YAC7E,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,cAAc,GAAG,YAAY,CAAC,oBAAoB,EAAE,CAAC;QAC3D,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;QAE9B,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAG,YAAY,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAE/E,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;CAAA"}
@@ -1,6 +1,5 @@
1
1
  export interface StartupMaintenanceDependencies {
2
2
  autoUpgrade: () => Promise<void>;
3
- updateSkills: () => Promise<unknown>;
4
3
  }
5
4
  export declare function runStartupMaintenance(dependencies?: StartupMaintenanceDependencies): void;
6
5
  //# sourceMappingURL=startup-maintenance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"startup-maintenance.d.ts","sourceRoot":"","sources":["../../src/agent/startup-maintenance.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,8BAA8B;IAC3C,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AASD,wBAAgB,qBAAqB,CACjC,YAAY,GAAE,8BAA4D,GAC3E,IAAI,CAQN"}
1
+ {"version":3,"file":"startup-maintenance.d.ts","sourceRoot":"","sources":["../../src/agent/startup-maintenance.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,8BAA8B;IAC3C,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAQD,wBAAgB,qBAAqB,CACjC,YAAY,GAAE,8BAA4D,GAC3E,IAAI,CAIN"}
@@ -1,17 +1,12 @@
1
- import { updateSkills } from '../commands/skills.js';
2
1
  import { autoUpgrade } from '../upgrade/index.js';
3
2
  function createDefaultDependencies() {
4
3
  return {
5
4
  autoUpgrade,
6
- updateSkills: () => updateSkills({ silent: true }),
7
5
  };
8
6
  }
9
7
  export function runStartupMaintenance(dependencies = createDefaultDependencies()) {
10
8
  if (!process.env.BKPER_DISABLE_AUTOUPDATE) {
11
9
  dependencies.autoUpgrade().catch(() => { });
12
10
  }
13
- if (!process.env.BKPER_DISABLE_SKILLS_SYNC) {
14
- dependencies.updateSkills().catch(() => { });
15
- }
16
11
  }
17
12
  //# sourceMappingURL=startup-maintenance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startup-maintenance.js","sourceRoot":"","sources":["../../src/agent/startup-maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOlD,SAAS,yBAAyB;IAC9B,OAAO;QACH,WAAW;QACX,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KACrD,CAAC;AACN,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,eAA+C,yBAAyB,EAAE;IAE1E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;QACxC,YAAY,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC;QACzC,YAAY,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"startup-maintenance.js","sourceRoot":"","sources":["../../src/agent/startup-maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,SAAS,yBAAyB;IAC9B,OAAO;QACH,WAAW;KACd,CAAC;AACN,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,eAA+C,yBAAyB,EAAE;IAE1E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;QACxC,YAAY,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;AACL,CAAC"}
@@ -1,2 +1,3 @@
1
+ export declare function getBkperAgentSystemPrompt(): string;
1
2
  export declare const BKPER_AGENT_SYSTEM_PROMPT = "# You are a Bkper team member\n\nYou think in resources, movements, and balances \u2014 not debits and credits. You extend meaning with properties before adding structural complexity. You protect the zero-sum invariant above all else.\n\n## Core Concepts Canon\n\n- Bkper tracks resources as movements **from one Account to another**.\n- The system enforces a strict **zero-sum invariant** at Book level: nothing is created or destroyed, only transferred.\n- A **Transaction** is the atomic event with date, amount, from Account, to Account, and description.\n- Transaction states define balance impact: **Draft** does not impact balances; **Unchecked** and **Checked** impact balances; **Trashed** removes impact but preserves auditability.\n- Account types govern balance behavior:\n - **Asset** and **Liability** are permanent (cumulative position to a date).\n - **Incoming** and **Outgoing** are non-permanent (activity within a period).\n- **Groups** organize and aggregate Accounts for analysis; they do not alter ledger truth.\n- **Custom Properties** (`key=value`) are first-class semantic bindings across Books, Accounts, Groups, Transactions, Collections, and Files.\n- Use Custom Properties to map core concepts to higher-level domains (invoice, project, tax, SKU, cost center) without changing the core model.\n- Prefer adding meaning with properties before introducing structural complexity.\n- **Balances** are derived from Transactions, never an independent source of truth.\n- A **Book** is a self-contained ledger that always balances to zero.\n- **Collections** organize multiple Books; each Book remains independently balanced.\n\n## Operating Principles\n\n- Preserve invariants and data integrity first, then user intent, then implementation convenience.\n- Model domain and flows before coding; represent business reality, not technical shortcuts.\n- Design for global readiness from day one: currencies, timezones, units, formats.\n- For conceptual questions, answer directly and concisely before reaching for tools.\n";
2
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,eAAO,MAAM,yBAAyB,igEA2BrC,CAAC"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAQA,wBAAgB,yBAAyB,IAAI,MAAM,CAWlD;AAED,eAAO,MAAM,yBAAyB,igEA2BrC,CAAC"}
@@ -1,3 +1,21 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ import path from 'node:path';
3
+ function resolveCliReferencePath() {
4
+ const thisDir = path.dirname(fileURLToPath(import.meta.url));
5
+ return path.resolve(thisDir, '..', 'docs', 'cli-reference.md');
6
+ }
7
+ export function getBkperAgentSystemPrompt() {
8
+ const cliRefPath = resolveCliReferencePath();
9
+ return `${BKPER_AGENT_SYSTEM_PROMPT}
10
+ ## Bkper CLI Usage
11
+
12
+ Before executing \`bkper\` CLI commands, **read the full CLI reference** at:
13
+
14
+ \`\`\`
15
+ ${cliRefPath}
16
+ \`\`\`
17
+ `;
18
+ }
1
19
  export const BKPER_AGENT_SYSTEM_PROMPT = `# You are a Bkper team member
2
20
 
3
21
  You think in resources, movements, and balances — not debits and credits. You extend meaning with properties before adding structural complexity. You protect the zero-sum invariant above all else.
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BxC,CAAC"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,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,MAAM,UAAU,yBAAyB;IACrC,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;IAC7C,OAAO,GAAG,yBAAyB;;;;;;EAMrC,UAAU;;CAEX,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BxC,CAAC"}
package/lib/cli.js CHANGED
@@ -19,7 +19,6 @@ import { registerTransactionCommands } from './commands/transactions/register.js
19
19
  import { registerBalanceCommands } from './commands/balances/register.js';
20
20
  import { registerCollectionCommands } from './commands/collections/register.js';
21
21
  import { registerUpgradeCommand } from './commands/upgrade.js';
22
- import { registerSkillsCommands } from './commands/skills-command.js';
23
22
  import { registerAgentCommands } from './commands/agent-command.js';
24
23
  import { VERSION, autoUpgrade } from './upgrade/index.js';
25
24
  import { shouldStartAgentMode } from './agent/cli-dispatch.js';
@@ -47,8 +46,6 @@ function main() {
47
46
  registerTransactionCommands(program);
48
47
  registerBalanceCommands(program);
49
48
  registerCollectionCommands(program);
50
- // Skills command
51
- registerSkillsCommands(program);
52
49
  // Agent bridge command
53
50
  registerAgentCommands(program);
54
51
  // Upgrade command
package/lib/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,OAAO,eAAe,CAAC,CAAC,sDAAsD;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,SAAe,IAAI;;QACf,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,qBAAqB,EAAE,CAAC;YACxB,MAAM,YAAY,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAED,UAAU;QACV,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAE1C,+BAA+B;QAC/B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,OAAO,CAAC,CAAC;QACnF,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;QAErE,gBAAgB;QAChB,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,oBAAoB;QACpB,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAEpC,iBAAiB;QACjB,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEhC,uBAAuB;QACvB,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/B,kBAAkB;QAClB,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEhC,4EAA4E;QAC5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;YACxC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CAAA;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,OAAO,eAAe,CAAC,CAAC,sDAAsD;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,SAAe,IAAI;;QACf,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,qBAAqB,EAAE,CAAC;YACxB,MAAM,YAAY,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAED,UAAU;QACV,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAE1C,+BAA+B;QAC/B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,OAAO,CAAC,CAAC;QACnF,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;QAErE,gBAAgB;QAChB,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,oBAAoB;QACpB,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAEpC,uBAAuB;QACvB,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/B,kBAAkB;QAClB,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEhC,4EAA4E;QAC5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;YACxC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CAAA;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { main as runPiMain } from '@mariozechner/pi-coding-agent';
11
- import { BKPER_AGENT_SYSTEM_PROMPT } from '../agent/system-prompt.js';
11
+ import { getBkperAgentSystemPrompt } from '../agent/system-prompt.js';
12
12
  function createDefaultDependencies() {
13
13
  return {
14
14
  runPi: (args) => runPiMain(args),
@@ -21,7 +21,7 @@ function buildPiArgs(args) {
21
21
  if (hasSystemPromptArg(args)) {
22
22
  return args;
23
23
  }
24
- return ['--system-prompt', BKPER_AGENT_SYSTEM_PROMPT, ...args];
24
+ return ['--system-prompt', getBkperAgentSystemPrompt(), ...args];
25
25
  }
26
26
  export function registerAgentCommands(program, dependencies = createDefaultDependencies()) {
27
27
  program
@@ -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,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAMtE,SAAS,yBAAyB;IAC9B,OAAO;QACH,KAAK,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;KAC7C,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,GAAG,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,OAAgB,EAChB,eAAyC,yBAAyB,EAAE;IAEpE,OAAO;SACF,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,8CAA8C,CAAC;SAC3D,kBAAkB,CAAC,IAAI,CAAC;SACxB,oBAAoB,CAAC,IAAI,CAAC;SAC1B,MAAM,CAAC,YAA8B,EAAE,iDAAzB,SAAmB,EAAE;QAChC,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;AACX,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,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAMtE,SAAS,yBAAyB;IAC9B,OAAO;QACH,KAAK,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;KAC7C,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,UAAU,qBAAqB,CACjC,OAAgB,EAChB,eAAyC,yBAAyB,EAAE;IAEpE,OAAO;SACF,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,8CAA8C,CAAC;SAC3D,kBAAkB,CAAC,IAAI,CAAC;SACxB,oBAAoB,CAAC,IAAI,CAAC;SAC1B,MAAM,CAAC,YAA8B,EAAE,iDAAzB,SAAmB,EAAE;QAChC,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;AACX,CAAC"}