bkper 4.14.0 → 4.15.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 +7 -3
- package/lib/agent/cli-dispatch.d.ts +7 -1
- package/lib/agent/cli-dispatch.d.ts.map +1 -1
- package/lib/agent/cli-dispatch.js +23 -2
- package/lib/agent/cli-dispatch.js.map +1 -1
- package/lib/cli.js +7 -2
- package/lib/cli.js.map +1 -1
- package/lib/commands/apps/index.d.ts +1 -1
- package/lib/commands/apps/index.d.ts.map +1 -1
- package/lib/commands/apps/index.js.map +1 -1
- package/lib/commands/apps/logs.d.ts +3 -3
- package/lib/commands/apps/logs.d.ts.map +1 -1
- package/lib/commands/apps/logs.js +31 -25
- package/lib/commands/apps/logs.js.map +1 -1
- package/lib/commands/apps/register.js +5 -5
- package/lib/commands/apps/register.js.map +1 -1
- package/lib/commands/apps/types.d.ts +2 -2
- package/lib/commands/apps/types.d.ts.map +1 -1
- package/lib/docs/app-management.md +26 -3
- package/lib/docs/cli-reference.md +7 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
A unified **interface for [Bkper](https://bkper.com)**. Use `bkper` in two complementary modes:
|
|
6
6
|
|
|
7
|
-
- **Interactive mode** — run `bkper agent` to open the Bkper Agent TUI
|
|
7
|
+
- **Interactive mode** — run `bkper` or `bkper agent` to open the Bkper Agent TUI
|
|
8
8
|
- **Command mode** — run `bkper <command>` for explicit CLI workflows, scripts, and automation
|
|
9
9
|
|
|
10
10
|
With one tool, you can build and deploy Bkper apps, and manage financial data -- books, accounts, transactions, and balances.
|
|
@@ -50,9 +50,11 @@ This is the only command that opens the browser OAuth flow. When you are done wo
|
|
|
50
50
|
### Interactive mode (recommended)
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
bkper
|
|
53
|
+
bkper
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
`bkper agent` starts the same interactive experience. Bare `bkper` only opens the TUI in an interactive terminal; in non-interactive contexts it prints CLI help instead.
|
|
57
|
+
|
|
56
58
|

|
|
57
59
|
|
|
58
60
|
On first launch, type `/login` and select a provider. We recommend [OpenCode Go](https://opencode.ai/go) for open-weights models and [OpenCode Zen](https://opencode.ai/zen) for frontier models — both give you access to high-quality models with no extra setup.
|
|
@@ -108,6 +110,7 @@ bkper agent <pi-args>
|
|
|
108
110
|
```
|
|
109
111
|
|
|
110
112
|
If no Pi arguments are provided, `bkper agent` starts the interactive Bkper Agent experience.
|
|
113
|
+
A bare `bkper` command is a convenience shortcut for the same TUI when run in an interactive terminal.
|
|
111
114
|
If Pi arguments are provided, everything after `bkper agent` is passed through to Pi.
|
|
112
115
|
|
|
113
116
|
Examples:
|
|
@@ -153,9 +156,10 @@ bkper app init my-app
|
|
|
153
156
|
bkper app dev
|
|
154
157
|
bkper app sync && bkper app deploy
|
|
155
158
|
bkper app logs --last 50
|
|
159
|
+
bkper app logs my-app --level error
|
|
156
160
|
```
|
|
157
161
|
|
|
158
|
-
`bkper app logs` reads recent app logs kept for 15 days. The default output is human-readable, and JSON is available with `--json`.
|
|
162
|
+
`bkper app logs` reads recent app logs kept for 15 days. Run it inside an app directory, or pass an app id like `bkper app logs my-app`. Use `--level warn` or `--level error` to focus on requests with warnings or errors. The default output is human-readable, and JSON is available with `--json`.
|
|
159
163
|
|
|
160
164
|
→ [Full App Management reference](https://github.com/bkper/bkper-cli/blob/main/docs/app-management.md)
|
|
161
165
|
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface CliDispatchEnvironment {
|
|
2
|
+
stdinIsTTY: boolean;
|
|
3
|
+
stdoutIsTTY: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function shouldRunAgentCommand(argv: string[], environment?: CliDispatchEnvironment): boolean;
|
|
6
|
+
export declare function shouldShowHelpForBareInvocation(argv: string[], environment?: CliDispatchEnvironment): boolean;
|
|
7
|
+
export declare function getAgentCommandArgs(argv: string[]): string[];
|
|
2
8
|
//# sourceMappingURL=cli-dispatch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-dispatch.d.ts","sourceRoot":"","sources":["../../src/agent/cli-dispatch.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"cli-dispatch.d.ts","sourceRoot":"","sources":["../../src/agent/cli-dispatch.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACxB;AAiBD,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,GAAE,sBAA2D,GACzE,OAAO,CAMT;AAED,wBAAgB,+BAA+B,CAC3C,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,GAAE,sBAA2D,GACzE,OAAO,CAET;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE5D"}
|
|
@@ -1,4 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
return
|
|
1
|
+
function getDefaultCliDispatchEnvironment() {
|
|
2
|
+
return {
|
|
3
|
+
stdinIsTTY: process.stdin.isTTY === true,
|
|
4
|
+
stdoutIsTTY: process.stdout.isTTY === true,
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
function isBareBkperInvocation(argv) {
|
|
8
|
+
return argv.length === 2;
|
|
9
|
+
}
|
|
10
|
+
function isInteractiveTerminal(environment) {
|
|
11
|
+
return environment.stdinIsTTY && environment.stdoutIsTTY;
|
|
12
|
+
}
|
|
13
|
+
export function shouldRunAgentCommand(argv, environment = getDefaultCliDispatchEnvironment()) {
|
|
14
|
+
if (argv[2] === 'agent') {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return isBareBkperInvocation(argv) && isInteractiveTerminal(environment);
|
|
18
|
+
}
|
|
19
|
+
export function shouldShowHelpForBareInvocation(argv, environment = getDefaultCliDispatchEnvironment()) {
|
|
20
|
+
return isBareBkperInvocation(argv) && !isInteractiveTerminal(environment);
|
|
21
|
+
}
|
|
22
|
+
export function getAgentCommandArgs(argv) {
|
|
23
|
+
return argv[2] === 'agent' ? argv.slice(3) : [];
|
|
3
24
|
}
|
|
4
25
|
//# sourceMappingURL=cli-dispatch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-dispatch.js","sourceRoot":"","sources":["../../src/agent/cli-dispatch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-dispatch.js","sourceRoot":"","sources":["../../src/agent/cli-dispatch.ts"],"names":[],"mappings":"AAKA,SAAS,gCAAgC;IACrC,OAAO;QACH,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;QACxC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;KAC7C,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAc;IACzC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmC;IAC9D,OAAO,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,WAAW,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,IAAc,EACd,cAAsC,gCAAgC,EAAE;IAExE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC3C,IAAc,EACd,cAAsC,gCAAgC,EAAE;IAExE,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAc;IAC9C,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC"}
|
package/lib/cli.js
CHANGED
|
@@ -21,13 +21,13 @@ import { registerCollectionCommands } from './commands/collections/register.js';
|
|
|
21
21
|
import { registerFileCommands } from './commands/files/register.js';
|
|
22
22
|
import { registerUpgradeCommand } from './commands/upgrade.js';
|
|
23
23
|
import { registerAgentCommands, runAgentCommand } from './commands/agent-command.js';
|
|
24
|
-
import { shouldRunAgentCommand } from './agent/cli-dispatch.js';
|
|
24
|
+
import { getAgentCommandArgs, shouldRunAgentCommand, shouldShowHelpForBareInvocation, } from './agent/cli-dispatch.js';
|
|
25
25
|
import { VERSION, autoUpgrade } from './upgrade/index.js';
|
|
26
26
|
function main() {
|
|
27
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
28
|
if (shouldRunAgentCommand(process.argv)) {
|
|
29
29
|
try {
|
|
30
|
-
yield runAgentCommand(process.argv
|
|
30
|
+
yield runAgentCommand(getAgentCommandArgs(process.argv));
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
33
|
catch (err) {
|
|
@@ -36,6 +36,7 @@ function main() {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
// Version
|
|
39
|
+
program.name('bkper');
|
|
39
40
|
program.version(VERSION, '-v, --version');
|
|
40
41
|
// Global output format options
|
|
41
42
|
program.option('--format <format>', 'Output format: table, json, or csv', 'table');
|
|
@@ -59,6 +60,10 @@ function main() {
|
|
|
59
60
|
if (!process.env.BKPER_DISABLE_AUTOUPDATE) {
|
|
60
61
|
autoUpgrade().catch(() => { });
|
|
61
62
|
}
|
|
63
|
+
if (shouldShowHelpForBareInvocation(process.argv)) {
|
|
64
|
+
program.outputHelp();
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
62
67
|
program.parse(process.argv);
|
|
63
68
|
});
|
|
64
69
|
}
|
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,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,
|
|
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,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EACH,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,GAClC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D,SAAe,IAAI;;QACf,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACD,MAAM,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzD,OAAO;YACX,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;QAED,UAAU;QACV,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,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;QACpC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,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,IAAI,+BAA+B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACX,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,4 +1,4 @@
|
|
|
1
|
-
export type { DeployOptions, DeployResult, Environment, HandlerType, LogEntry, LogsMeta, LogsOptions, LogsOutputMode, LogsResponse, SecretsOptions, SyncResult, UndeployResult, } from './types.js';
|
|
1
|
+
export type { DeployOptions, DeployResult, Environment, HandlerType, LogEntry, LogLevel, LogsMeta, LogsOptions, LogsOutputMode, LogsResponse, SecretsOptions, SyncResult, UndeployResult, } from './types.js';
|
|
2
2
|
export type { DevOptions } from './dev.js';
|
|
3
3
|
export { listApps, listAppsFormatted } from './list.js';
|
|
4
4
|
export { createApp, syncApp, updateApp } from './sync.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/apps/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACR,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,UAAU,EACV,cAAc,GACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAO3C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,EACH,cAAc,EACd,OAAO,EACP,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGtE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/apps/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACR,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,UAAU,EACV,cAAc,GACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAO3C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,EACH,cAAc,EACd,OAAO,EACP,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGtE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/apps/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/apps/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAoBhF,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAExD,cAAc;AACd,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE1D,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM;AACN,OAAO,EACH,cAAc,EACd,OAAO,EACP,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,WAAW,CAAC;AAEnB,MAAM;AACN,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO;AACP,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEtE,oBAAoB;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -29,12 +29,12 @@ export declare function buildLogsQuery(options: LogsOptions): {
|
|
|
29
29
|
last: number;
|
|
30
30
|
env: Environment;
|
|
31
31
|
handler?: HandlerType;
|
|
32
|
-
|
|
32
|
+
level?: LogsOptions['level'];
|
|
33
33
|
statusCode?: number;
|
|
34
34
|
};
|
|
35
35
|
export declare function resolveLogsOutputMode(command: Pick<Command, 'optsWithGlobals' | 'getOptionValueSourceWithGlobals'>): LogsOutputMode;
|
|
36
36
|
export declare function renderLogsResponse(response: LogsResponse, mode: LogsOutputMode): string;
|
|
37
|
-
export declare function requestAppLogs(options?: LogsOptions, overrides?: Partial<LogsCommandDependencies
|
|
38
|
-
export declare function logsApp(options?: LogsOptions, overrides?: Partial<LogsCommandDependencies>, command?: Pick<Command, 'optsWithGlobals' | 'getOptionValueSourceWithGlobals'
|
|
37
|
+
export declare function requestAppLogs(options?: LogsOptions, overrides?: Partial<LogsCommandDependencies>, appId?: string): Promise<LogsResponse>;
|
|
38
|
+
export declare function logsApp(options?: LogsOptions, overrides?: Partial<LogsCommandDependencies>, command?: Pick<Command, 'optsWithGlobals' | 'getOptionValueSourceWithGlobals'>, appId?: string): Promise<void>;
|
|
39
39
|
export {};
|
|
40
40
|
//# sourceMappingURL=logs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/commands/apps/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACf,MAAM,YAAY,CAAC;AAEpB,UAAU,kBAAkB;IACxB,GAAG,CACC,IAAI,EAAE,wBAAwB,EAC9B,IAAI,EAAE;QACF,MAAM,EAAE;YACJ,IAAI,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAA;aAAE,CAAC;YACxB,KAAK,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;SAC5C,CAAC;KACL,GACF,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,YAAY,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACxD;AAED,UAAU,uBAAuB;IAC7B,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IACzD,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC9B;AAiBD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,QAAQ,CAAC,GAAG,WAAW,GAAG,SAAS,CAMxG;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/commands/apps/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACf,MAAM,YAAY,CAAC;AAEpB,UAAU,kBAAkB;IACxB,GAAG,CACC,IAAI,EAAE,wBAAwB,EAC9B,IAAI,EAAE;QACF,MAAM,EAAE;YACJ,IAAI,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAA;aAAE,CAAC;YACxB,KAAK,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;SAC5C,CAAC;KACL,GACF,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,YAAY,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACxD;AAED,UAAU,uBAAuB;IAC7B,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IACzD,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC9B;AAiBD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,QAAQ,CAAC,GAAG,WAAW,GAAG,SAAS,CAMxG;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAYA;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,iCAAiC,CAAC,GAAG,cAAc,CAenI;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CA6CvF;AAwBD,wBAAsB,cAAc,CAChC,OAAO,GAAE,WAAgB,EACzB,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,EAChD,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC,CAwBvB;AAED,wBAAsB,OAAO,CACzB,OAAO,GAAE,WAAgB,EACzB,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,EAChD,OAAO,GAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,iCAAiC,CAAW,EACvF,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
|
@@ -29,7 +29,7 @@ export function resolveLogsHandler(options) {
|
|
|
29
29
|
export function buildLogsQuery(options) {
|
|
30
30
|
var _a;
|
|
31
31
|
const handler = resolveLogsHandler(options);
|
|
32
|
-
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ env: options.preview ? 'preview' : 'production', last: (_a = options.last) !== null && _a !== void 0 ? _a : 100 }, (handler ? { handler } : {})), (options.since ? { since: options.since } : {})), (options.until ? { until: options.until } : {})), (options.
|
|
32
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ env: options.preview ? 'preview' : 'production', last: (_a = options.last) !== null && _a !== void 0 ? _a : 100 }, (handler ? { handler } : {})), (options.since ? { since: options.since } : {})), (options.until ? { until: options.until } : {})), (options.level ? { level: options.level } : {})), (options.statusCode !== undefined ? { statusCode: options.statusCode } : {}));
|
|
33
33
|
}
|
|
34
34
|
export function resolveLogsOutputMode(command) {
|
|
35
35
|
const options = command.optsWithGlobals();
|
|
@@ -63,14 +63,12 @@ export function renderLogsResponse(response, mode) {
|
|
|
63
63
|
const orderedLogs = [...response.logs].reverse();
|
|
64
64
|
orderedLogs.forEach((entry, index) => {
|
|
65
65
|
var _a, _b, _c;
|
|
66
|
-
lines.push(`${entry.timestamp} ${entry.environment}/${entry.handler} ${entry.outcome} ${(_a = entry.requestMethod) !== null && _a !== void 0 ? _a : '-'} ${(_b = entry.statusCode) !== null && _b !== void 0 ? _b : '-'} ${(_c = entry.requestUrl) !== null && _c !== void 0 ? _c : ''}`.trim());
|
|
67
|
-
for (const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (exception.stack) {
|
|
73
|
-
for (const stackLine of exception.stack.split('\n')) {
|
|
66
|
+
lines.push(`${entry.timestamp} ${entry.environment}/${entry.handler} ${entry.level} ${entry.outcome} ${(_a = entry.requestMethod) !== null && _a !== void 0 ? _a : '-'} ${(_b = entry.statusCode) !== null && _b !== void 0 ? _b : '-'} ${(_c = entry.requestUrl) !== null && _c !== void 0 ? _c : ''}`.trim());
|
|
67
|
+
for (const logEntry of entry.entries) {
|
|
68
|
+
const label = logEntry.name ? `${logEntry.name}: ${logEntry.message}` : logEntry.message;
|
|
69
|
+
lines.push(` ${logEntry.level}: ${label}`);
|
|
70
|
+
if (logEntry.stack) {
|
|
71
|
+
for (const stackLine of logEntry.stack.split('\n')) {
|
|
74
72
|
lines.push(` ${stackLine}`);
|
|
75
73
|
}
|
|
76
74
|
}
|
|
@@ -81,26 +79,34 @@ export function renderLogsResponse(response, mode) {
|
|
|
81
79
|
});
|
|
82
80
|
return lines.join('\n');
|
|
83
81
|
}
|
|
82
|
+
function resolveLogsAppId(appId, dependencies) {
|
|
83
|
+
const explicitAppId = appId === null || appId === void 0 ? void 0 : appId.trim();
|
|
84
|
+
if (explicitAppId) {
|
|
85
|
+
return explicitAppId;
|
|
86
|
+
}
|
|
87
|
+
let config;
|
|
88
|
+
try {
|
|
89
|
+
config = dependencies.loadAppConfig();
|
|
90
|
+
}
|
|
91
|
+
catch (_a) {
|
|
92
|
+
console.error('Error: bkper.yaml or bkper.json not found');
|
|
93
|
+
return dependencies.exit(1);
|
|
94
|
+
}
|
|
95
|
+
if (!(config === null || config === void 0 ? void 0 : config.id)) {
|
|
96
|
+
console.error('Error: App config is missing "id" field');
|
|
97
|
+
return dependencies.exit(1);
|
|
98
|
+
}
|
|
99
|
+
return config.id;
|
|
100
|
+
}
|
|
84
101
|
export function requestAppLogs() {
|
|
85
|
-
return __awaiter(this, arguments, void 0, function* (options = {}, overrides = {}) {
|
|
102
|
+
return __awaiter(this, arguments, void 0, function* (options = {}, overrides = {}, appId) {
|
|
86
103
|
const dependencies = getLogsDependencies(overrides);
|
|
87
|
-
|
|
88
|
-
try {
|
|
89
|
-
config = dependencies.loadAppConfig();
|
|
90
|
-
}
|
|
91
|
-
catch (_a) {
|
|
92
|
-
console.error('Error: bkper.yaml or bkper.json not found');
|
|
93
|
-
return dependencies.exit(1);
|
|
94
|
-
}
|
|
95
|
-
if (!(config === null || config === void 0 ? void 0 : config.id)) {
|
|
96
|
-
console.error('Error: App config is missing "id" field');
|
|
97
|
-
return dependencies.exit(1);
|
|
98
|
-
}
|
|
104
|
+
const resolvedAppId = resolveLogsAppId(appId, dependencies);
|
|
99
105
|
const token = yield dependencies.getStoredOAuthToken();
|
|
100
106
|
const client = dependencies.createPlatformClient(token);
|
|
101
107
|
const { data, error } = yield client.GET('/api/apps/{appId}/logs', {
|
|
102
108
|
params: {
|
|
103
|
-
path: { appId:
|
|
109
|
+
path: { appId: resolvedAppId },
|
|
104
110
|
query: buildLogsQuery(options),
|
|
105
111
|
},
|
|
106
112
|
});
|
|
@@ -115,9 +121,9 @@ export function requestAppLogs() {
|
|
|
115
121
|
});
|
|
116
122
|
}
|
|
117
123
|
export function logsApp() {
|
|
118
|
-
return __awaiter(this, arguments, void 0, function* (options = {}, overrides = {}, command = program) {
|
|
124
|
+
return __awaiter(this, arguments, void 0, function* (options = {}, overrides = {}, command = program, appId) {
|
|
119
125
|
const outputMode = resolveLogsOutputMode(command);
|
|
120
|
-
const response = yield requestAppLogs(options, overrides);
|
|
126
|
+
const response = yield requestAppLogs(options, overrides, appId);
|
|
121
127
|
console.log(renderLogsResponse(response, outputMode));
|
|
122
128
|
});
|
|
123
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/commands/apps/logs.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAW,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA6BzD,SAAS,mBAAmB,CACxB,YAA8C,EAAE;IAEhD,uBACI,aAAa;QACb,mBAAmB;QACnB,oBAAoB;QACpB,WAAW;QACX,IAAI,CAAC,IAAa;YACd,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,IACE,SAAS,EACd;AACN,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA4C;IAC3E,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAoB;;IAS/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE5C,+EACI,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAC/C,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,GAAG,IACtB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC5B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC/C,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC/C,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/commands/apps/logs.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,18 +57,18 @@ export function registerAppCommands(program) {
|
|
|
57
57
|
yield statusApp();
|
|
58
58
|
}), { skipSetup: true })());
|
|
59
59
|
appCommand
|
|
60
|
-
.command('logs')
|
|
60
|
+
.command('logs [appId]')
|
|
61
61
|
.description('View recent app logs')
|
|
62
62
|
.option('--since <time>', 'ISO8601 or relative lower bound such as 5m, 1h, or 15d')
|
|
63
63
|
.option('--until <time>', 'ISO8601 or relative upper bound such as 5m, 1h, or 15d')
|
|
64
|
-
.option('--last <n>', 'Show newest N
|
|
64
|
+
.option('--last <n>', 'Show newest N requests after filters', value => Number.parseInt(value, 10))
|
|
65
65
|
.option('-p, --preview', 'Query preview logs instead of production logs')
|
|
66
66
|
.option('-w, --web', 'Filter to normal web/API requests')
|
|
67
67
|
.option('-e, --events', 'Filter to /events requests')
|
|
68
|
-
.option('--
|
|
68
|
+
.option('--level <level>', 'Minimum log level threshold: info, warn, or error')
|
|
69
69
|
.option('--status-code <code>', 'Filter by HTTP status code', value => Number.parseInt(value, 10))
|
|
70
|
-
.action(options => withAction('getting app logs', () => __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
yield logsApp(options);
|
|
70
|
+
.action((appId, options, command) => withAction('getting app logs', () => __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
yield logsApp(options, {}, command, appId);
|
|
72
72
|
}), { skipSetup: true })());
|
|
73
73
|
appCommand
|
|
74
74
|
.command('dev')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/commands/apps/register.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/commands/apps/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export type ErrorResponse = components['schemas']['ErrorResponse'];
|
|
|
6
6
|
export type LogsResponse = components['schemas']['LogsResponse'];
|
|
7
7
|
export type LogEntry = components['schemas']['LogEntry'];
|
|
8
8
|
export type LogsMeta = components['schemas']['LogsMeta'];
|
|
9
|
-
export type
|
|
9
|
+
export type LogLevel = components['schemas']['LogLevel'];
|
|
10
10
|
export interface DeployOptions {
|
|
11
11
|
preview?: boolean;
|
|
12
12
|
deleteData?: boolean;
|
|
@@ -22,7 +22,7 @@ export interface LogsOptions {
|
|
|
22
22
|
preview?: boolean;
|
|
23
23
|
web?: boolean;
|
|
24
24
|
events?: boolean;
|
|
25
|
-
|
|
25
|
+
level?: LogLevel;
|
|
26
26
|
statusCode?: number;
|
|
27
27
|
}
|
|
28
28
|
export type LogsOutputMode = 'pretty' | 'json';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/apps/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAM1D,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACrE,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;AACnE,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;AACjE,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AACzD,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AACzD,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/apps/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAM1D,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACrE,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;AACnE,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;AACjE,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AACzD,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AACzD,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;AAMzD,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAM/C,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;CACjC;AAMD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;AAMnD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
|
|
@@ -59,6 +59,28 @@ Verify:
|
|
|
59
59
|
- `bkper app status` shows the deployed version
|
|
60
60
|
- URLs in `bkper.yaml` match the deployed domain (`https://{appId}.bkper.app`)
|
|
61
61
|
|
|
62
|
+
#### Preview testing with menu and events
|
|
63
|
+
|
|
64
|
+
To test a preview deployment from the Bkper UI, keep production URLs unchanged and point the development URLs to the preview Worker:
|
|
65
|
+
|
|
66
|
+
```yaml
|
|
67
|
+
menuUrl: https://{appId}.bkper.app?bookId=${book.id}
|
|
68
|
+
menuUrlDev: https://{appId}-preview.bkper.app?bookId=${book.id}
|
|
69
|
+
|
|
70
|
+
webhookUrl: https://{appId}.bkper.app/events
|
|
71
|
+
webhookUrlDev: https://{appId}-preview.bkper.app/events
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Then build, sync metadata, and deploy to preview:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npm run build
|
|
78
|
+
bkper app sync
|
|
79
|
+
bkper app deploy --preview
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Bkper uses `menuUrlDev` for developer menu access and `webhookUrlDev` for development-mode events. If `bkper app dev` runs later, it may replace `webhookUrlDev` with a local tunnel URL; set it back to the preview URL and run `bkper app sync` before testing preview again.
|
|
83
|
+
|
|
62
84
|
### 5. Validate
|
|
63
85
|
|
|
64
86
|
```bash
|
|
@@ -376,6 +398,7 @@ deployment:
|
|
|
376
398
|
|
|
377
399
|
### Agent
|
|
378
400
|
|
|
401
|
+
- `bkper` - Start the interactive Bkper Agent when run in an interactive terminal; print CLI help in non-interactive contexts
|
|
379
402
|
- `agent` - Start the interactive Bkper Agent
|
|
380
403
|
- `agent <pi-args...>` - Run Pi CLI with Bkper defaults (system prompt/resources)
|
|
381
404
|
|
|
@@ -388,14 +411,14 @@ deployment:
|
|
|
388
411
|
- `app deploy` - Deploy built artifacts to Cloudflare Workers for Platforms
|
|
389
412
|
- `-p, --preview` - Deploy to preview environment
|
|
390
413
|
- `app status` - Show deployment status
|
|
391
|
-
- `app logs` - View recent app logs
|
|
414
|
+
- `app logs [appId]` - View recent app logs. When `appId` is omitted, the app id is read from local app config.
|
|
392
415
|
- `--since <time>` - ISO8601 or relative lower bound (e.g. `5m`, `1h`, `15d`)
|
|
393
416
|
- `--until <time>` - ISO8601 or relative upper bound
|
|
394
|
-
- `--last <n>` - Show newest N
|
|
417
|
+
- `--last <n>` - Show newest N requests after filters (default: 100)
|
|
395
418
|
- `-p, --preview` - Query preview logs instead of production
|
|
396
419
|
- `-w, --web` - Filter to normal web/API requests
|
|
397
420
|
- `-e, --events` - Filter to `/events` requests
|
|
398
|
-
- `--
|
|
421
|
+
- `--level <level>` - Minimum log level threshold (`info`, `warn`, or `error`)
|
|
399
422
|
- `--status-code <code>` - Filter by HTTP status code
|
|
400
423
|
- `app undeploy` - Remove app from platform
|
|
401
424
|
- `-p, --preview` - Remove from preview environment
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
A unified **interface for [Bkper](https://bkper.com)**. Use `bkper` in two complementary modes:
|
|
6
6
|
|
|
7
|
-
- **Interactive mode** — run `bkper agent` to open the Bkper Agent TUI
|
|
7
|
+
- **Interactive mode** — run `bkper` or `bkper agent` to open the Bkper Agent TUI
|
|
8
8
|
- **Command mode** — run `bkper <command>` for explicit CLI workflows, scripts, and automation
|
|
9
9
|
|
|
10
10
|
With one tool, you can build and deploy Bkper apps, and manage financial data -- books, accounts, transactions, and balances.
|
|
@@ -50,9 +50,11 @@ This is the only command that opens the browser OAuth flow. When you are done wo
|
|
|
50
50
|
### Interactive mode (recommended)
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
bkper
|
|
53
|
+
bkper
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
`bkper agent` starts the same interactive experience. Bare `bkper` only opens the TUI in an interactive terminal; in non-interactive contexts it prints CLI help instead.
|
|
57
|
+
|
|
56
58
|

|
|
57
59
|
|
|
58
60
|
On first launch, type `/login` and select a provider. We recommend [OpenCode Go](https://opencode.ai/go) for open-weights models and [OpenCode Zen](https://opencode.ai/zen) for frontier models — both give you access to high-quality models with no extra setup.
|
|
@@ -108,6 +110,7 @@ bkper agent <pi-args>
|
|
|
108
110
|
```
|
|
109
111
|
|
|
110
112
|
If no Pi arguments are provided, `bkper agent` starts the interactive Bkper Agent experience.
|
|
113
|
+
A bare `bkper` command is a convenience shortcut for the same TUI when run in an interactive terminal.
|
|
111
114
|
If Pi arguments are provided, everything after `bkper agent` is passed through to Pi.
|
|
112
115
|
|
|
113
116
|
Examples:
|
|
@@ -153,9 +156,10 @@ bkper app init my-app
|
|
|
153
156
|
bkper app dev
|
|
154
157
|
bkper app sync && bkper app deploy
|
|
155
158
|
bkper app logs --last 50
|
|
159
|
+
bkper app logs my-app --level error
|
|
156
160
|
```
|
|
157
161
|
|
|
158
|
-
`bkper app logs` reads recent app logs kept for 15 days. The default output is human-readable, and JSON is available with `--json`.
|
|
162
|
+
`bkper app logs` reads recent app logs kept for 15 days. Run it inside an app directory, or pass an app id like `bkper app logs my-app`. Use `--level warn` or `--level error` to focus on requests with warnings or errors. The default output is human-readable, and JSON is available with `--json`.
|
|
159
163
|
|
|
160
164
|
→ [Full App Management reference](https://github.com/bkper/bkper-cli/blob/main/docs/app-management.md)
|
|
161
165
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bkper",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.15.0",
|
|
4
4
|
"description": "Command line client for Bkper",
|
|
5
5
|
"bin": {
|
|
6
6
|
"bkper": "./lib/cli.js"
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"upgrade:api": "bun update @bkper/bkper-api-types --latest && bun update bkper-js --latest"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@earendil-works/pi-coding-agent": "0.
|
|
54
|
+
"@earendil-works/pi-coding-agent": "0.76.0",
|
|
55
55
|
"bkper-js": "^2.35.2",
|
|
56
56
|
"commander": "^13.1.0",
|
|
57
57
|
"dotenv": "^8.2.0",
|