bkper 4.16.1 → 4.16.3
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.
|
@@ -28,6 +28,13 @@ type SessionManagerLike = {
|
|
|
28
28
|
messages: unknown[];
|
|
29
29
|
};
|
|
30
30
|
};
|
|
31
|
+
type KeybindingsConfigValue = string | string[] | undefined;
|
|
32
|
+
type KeybindingsConfigLike = Record<string, KeybindingsConfigValue>;
|
|
33
|
+
export type BkperKeybindingsManager = {
|
|
34
|
+
getUserBindings(): KeybindingsConfigLike;
|
|
35
|
+
setUserBindings(userBindings: KeybindingsConfigLike): void;
|
|
36
|
+
reload(): void;
|
|
37
|
+
};
|
|
31
38
|
type ScopedModel<TModel extends ModelLike = ModelLike> = {
|
|
32
39
|
model: TModel;
|
|
33
40
|
thinkingLevel?: ScopedThinkingLevel;
|
|
@@ -54,6 +61,8 @@ export interface AgentModeDependencies {
|
|
|
54
61
|
export declare function collectSettingsDiagnostics(settingsManager: Pick<SettingsManagerLike, 'drainErrors'>, context: string): AgentSessionRuntimeDiagnostic[];
|
|
55
62
|
export declare function createStartupSessionManager<TSessionManager>(cwd: string, settingsManager: Pick<SettingsManagerLike, 'getSessionDir'>, createSessionManager: (cwd: string, sessionDir?: string) => TSessionManager): TSessionManager;
|
|
56
63
|
export declare function restorePersistedSessionOptions<TModel extends ModelLike>(settingsManager: Pick<SettingsManagerLike, 'getEnabledModels' | 'getDefaultProvider' | 'getDefaultModel'>, modelRegistry: ModelRegistryLike<TModel>, sessionManager: SessionManagerLike): RestoredPersistedSessionOptions<TModel>;
|
|
64
|
+
export declare function applyBkperSessionKeybindings(keybindings: Pick<BkperKeybindingsManager, 'getUserBindings' | 'setUserBindings'>): void;
|
|
65
|
+
export declare function installBkperSessionKeybindings(keybindings: BkperKeybindingsManager): void;
|
|
57
66
|
export declare function registerBkperAgentStartupExtension(pi: StartupExtensionAPI, startupMaintenance?: typeof runStartupMaintenance, settingsManager?: Pick<SettingsManagerLike, 'getQuietStartup'>): void;
|
|
58
67
|
export interface SessionOptions {
|
|
59
68
|
continueSession?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-agent-mode.d.ts","sourceRoot":"","sources":["../../src/agent/run-agent-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,eAAe,EAIf,KAAK,6BAA6B,EAElC,KAAK,YAAY,EAEpB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAGtF,KAAK,mBAAmB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAUnF,KAAK,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAEpD,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACvB,WAAW,IAAI,aAAa,EAAE,CAAC;IAC/B,aAAa,IAAI,MAAM,GAAG,SAAS,CAAC;IACpC,gBAAgB,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;IACzC,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAAC;IACzC,eAAe,IAAI,MAAM,GAAG,SAAS,CAAC;IACtC,eAAe,IAAI,OAAO,CAAC;CAC9B,CAAC;AAEF,KAAK,SAAS,GAAG;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,iBAAiB,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS,IAAI;IAC3D,YAAY,IAAI,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC/D,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACtB,mBAAmB,IAAI;QACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;KACvB,CAAC;CACL,CAAC;AAEF,KAAK,WAAW,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS,IAAI;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACvC,CAAC;AAEF,MAAM,WAAW,+BAA+B,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,WAAW,EAAE,6BAA6B,EAAE,CAAC;CAChD;AAED,qBAAa,oBAAqB,SAAQ,eAAe;IAC/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"run-agent-mode.d.ts","sourceRoot":"","sources":["../../src/agent/run-agent-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,11 @@ export class BkperInteractiveMode extends InteractiveMode {
|
|
|
18
18
|
init: { get: () => super.init }
|
|
19
19
|
});
|
|
20
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
|
|
21
|
+
const interactiveMode = this;
|
|
22
|
+
interactiveMode.getChangelogForDisplay = () => undefined;
|
|
23
|
+
if (interactiveMode.keybindings) {
|
|
24
|
+
installBkperSessionKeybindings(interactiveMode.keybindings);
|
|
25
|
+
}
|
|
22
26
|
yield _super.init.call(this);
|
|
23
27
|
});
|
|
24
28
|
}
|
|
@@ -174,7 +178,51 @@ function reportDiagnostics(diagnostics) {
|
|
|
174
178
|
}
|
|
175
179
|
}
|
|
176
180
|
const STARTUP_LEFT_PADDING = ' ';
|
|
181
|
+
const BKPER_SESSION_KEYBINDINGS = {
|
|
182
|
+
'app.session.resume': 'ctrl+s',
|
|
183
|
+
'app.session.tree': 'ctrl+r',
|
|
184
|
+
'app.session.fork': 'ctrl+x',
|
|
185
|
+
};
|
|
186
|
+
const installedBkperKeybindingsManagers = new WeakSet();
|
|
177
187
|
const NO_MODELS_STARTUP_HINT = 'No model provider configured. Use /login or add an API key.';
|
|
188
|
+
function keybindingConfigIncludesShortcut(configuredBinding, shortcut) {
|
|
189
|
+
const normalizedShortcut = shortcut.toLowerCase();
|
|
190
|
+
const configuredShortcuts = Array.isArray(configuredBinding)
|
|
191
|
+
? configuredBinding
|
|
192
|
+
: [configuredBinding];
|
|
193
|
+
return configuredShortcuts.some(configuredShortcut => (configuredShortcut === null || configuredShortcut === void 0 ? void 0 : configuredShortcut.toLowerCase()) === normalizedShortcut);
|
|
194
|
+
}
|
|
195
|
+
function isShortcutClaimedByUserBinding(userBindings, targetKeybinding, shortcut) {
|
|
196
|
+
return Object.entries(userBindings).some(([keybinding, configuredBinding]) => keybinding !== targetKeybinding &&
|
|
197
|
+
keybindingConfigIncludesShortcut(configuredBinding, shortcut));
|
|
198
|
+
}
|
|
199
|
+
export function applyBkperSessionKeybindings(keybindings) {
|
|
200
|
+
const userBindings = keybindings.getUserBindings();
|
|
201
|
+
const nextBindings = Object.assign({}, userBindings);
|
|
202
|
+
let changed = false;
|
|
203
|
+
for (const [keybinding, shortcut] of Object.entries(BKPER_SESSION_KEYBINDINGS)) {
|
|
204
|
+
if (nextBindings[keybinding] !== undefined ||
|
|
205
|
+
isShortcutClaimedByUserBinding(userBindings, keybinding, shortcut)) {
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
nextBindings[keybinding] = shortcut;
|
|
209
|
+
changed = true;
|
|
210
|
+
}
|
|
211
|
+
if (changed) {
|
|
212
|
+
keybindings.setUserBindings(nextBindings);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
export function installBkperSessionKeybindings(keybindings) {
|
|
216
|
+
if (!installedBkperKeybindingsManagers.has(keybindings)) {
|
|
217
|
+
const reload = keybindings.reload.bind(keybindings);
|
|
218
|
+
keybindings.reload = () => {
|
|
219
|
+
reload();
|
|
220
|
+
applyBkperSessionKeybindings(keybindings);
|
|
221
|
+
};
|
|
222
|
+
installedBkperKeybindingsManagers.add(keybindings);
|
|
223
|
+
}
|
|
224
|
+
applyBkperSessionKeybindings(keybindings);
|
|
225
|
+
}
|
|
178
226
|
function wrapStartupHeaderLine(line, width) {
|
|
179
227
|
const normalizedWidth = Math.max(1, width);
|
|
180
228
|
const trimmedLine = line.trim();
|
|
@@ -225,6 +273,10 @@ const BKPER_BANNER = [
|
|
|
225
273
|
function formatStartupHint(theme, key, description) {
|
|
226
274
|
return theme.fg('dim', key) + theme.fg('muted', ` ${description}`);
|
|
227
275
|
}
|
|
276
|
+
function formatStartupCommandShortcut(command, keybinding) {
|
|
277
|
+
const shortcut = keyText(keybinding);
|
|
278
|
+
return shortcut ? `${command} (${shortcut})` : command;
|
|
279
|
+
}
|
|
228
280
|
function buildStartupHeaderLines(theme, modelRegistry, width) {
|
|
229
281
|
const lines = [
|
|
230
282
|
...BKPER_BANNER.map(line => theme.bold(theme.fg('accent', line))),
|
|
@@ -235,10 +287,10 @@ function buildStartupHeaderLines(theme, modelRegistry, width) {
|
|
|
235
287
|
formatStartupHint(theme, `${keyText('app.clear')} twice`, 'to exit'),
|
|
236
288
|
formatStartupHint(theme, '/', 'for commands'),
|
|
237
289
|
formatStartupHint(theme, '/new', 'to start new session'),
|
|
238
|
-
formatStartupHint(theme, '/resume', 'to resume a session'),
|
|
290
|
+
formatStartupHint(theme, formatStartupCommandShortcut('/resume', 'app.session.resume'), 'to resume a session'),
|
|
239
291
|
formatStartupHint(theme, '/clone', 'to duplicate session'),
|
|
240
|
-
formatStartupHint(theme, '/fork', 'to branch from a message'),
|
|
241
|
-
formatStartupHint(theme, '/tree', 'for session tree'),
|
|
292
|
+
formatStartupHint(theme, formatStartupCommandShortcut('/fork', 'app.session.fork'), 'to branch from a message'),
|
|
293
|
+
formatStartupHint(theme, formatStartupCommandShortcut('/tree', 'app.session.tree'), 'for session tree'),
|
|
242
294
|
formatStartupHint(theme, '!', 'to run bash'),
|
|
243
295
|
];
|
|
244
296
|
if (modelRegistry.getAvailable().length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-agent-mode.js","sourceRoot":"","sources":["../../src/agent/run-agent-mode.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-agent-mode.js","sourceRoot":"","sources":["../../src/agent/run-agent-mode.ts"],"names":[],"mappings":"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"}
|
package/lib/docs/app-building.md
CHANGED
|
@@ -62,17 +62,26 @@ To make your app available to all Bkper users, contact us at [support@bkper.com]
|
|
|
62
62
|
Your app's `README.md` is displayed to end users on the app listing page. Write it for the people who will install and use your app — not for developers.
|
|
63
63
|
|
|
64
64
|
**README should explain:**
|
|
65
|
+
|
|
65
66
|
- What the app does from a user's perspective
|
|
66
67
|
- How to use it (step-by-step for non-technical users)
|
|
67
68
|
- What features are available
|
|
69
|
+
- API access details when the app intentionally exposes `/api/*` routes for users or integrators
|
|
70
|
+
|
|
71
|
+
**API access details should stay concise:**
|
|
72
|
+
|
|
73
|
+
- App base URL for production and preview
|
|
74
|
+
- OpenAPI spec URL at `/openapi.json`
|
|
75
|
+
- One minimal authenticated example, such as a `curl` call with `Authorization: Bearer <token>`
|
|
68
76
|
|
|
69
77
|
**README should NOT contain:**
|
|
78
|
+
|
|
70
79
|
- Tech stack or architecture details
|
|
71
80
|
- Build commands or development setup
|
|
72
81
|
- Project structure or internal file paths
|
|
73
|
-
- API
|
|
82
|
+
- Long API references, generated schemas, SDK internals, or route-by-route developer docs
|
|
74
83
|
|
|
75
|
-
Put developer documentation in `AGENTS.md` or internal docs instead. Keep `README.md` focused on the user experience.
|
|
84
|
+
Put developer documentation in `AGENTS.md` or internal docs instead. Keep `README.md` focused on the user experience and any integration entry points users need.
|
|
76
85
|
|
|
77
86
|
### Where published apps appear
|
|
78
87
|
|
|
@@ -88,6 +97,8 @@ source: /docs/build/apps/architecture.md
|
|
|
88
97
|
|
|
89
98
|
Bkper platform apps use one Worker bundle per app and environment. The same Worker serves the browser client, app-defined `/api/*` routes, and Bkper event ingress at `/events`.
|
|
90
99
|
|
|
100
|
+
Treat `/api/*` as the reusable surface for app behavior. The bundled web client is one consumer of that API; scripts, external clients, and agents can call the same routes with bearer auth.
|
|
101
|
+
|
|
91
102
|
## Structure
|
|
92
103
|
|
|
93
104
|
```txt
|
|
@@ -174,6 +185,47 @@ app.get('*', c => c.env.ASSETS.fetch(c.req.raw));
|
|
|
174
185
|
export default app;
|
|
175
186
|
```
|
|
176
187
|
|
|
188
|
+
### App API contract
|
|
189
|
+
|
|
190
|
+
Expose reusable app behavior through `/api/*` routes when it may be called by more than one client.
|
|
191
|
+
|
|
192
|
+
Use this shape:
|
|
193
|
+
|
|
194
|
+
- **Routes** — Thin Hono handlers under `/api/*`.
|
|
195
|
+
- **Schemas** — Typed request and response schemas for every route.
|
|
196
|
+
- **Services** — Business behavior in server-side service modules.
|
|
197
|
+
- **OpenAPI** — A machine-readable app API spec exposed at `/openapi.json`.
|
|
198
|
+
|
|
199
|
+
The default template generates typed client code from the same OpenAPI contract used by the shipped web client. Keep that contract current so scripts, external clients, and agents can connect without reverse-engineering the UI.
|
|
200
|
+
|
|
201
|
+
App API endpoints use these URLs:
|
|
202
|
+
|
|
203
|
+
```txt
|
|
204
|
+
Production: https://{appId}.bkper.app/api/*
|
|
205
|
+
Preview: https://{appId}-preview.bkper.app/api/*
|
|
206
|
+
Local: http://localhost:8787/api/*
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
The app OpenAPI spec lives at:
|
|
210
|
+
|
|
211
|
+
```txt
|
|
212
|
+
Production: https://{appId}.bkper.app/openapi.json
|
|
213
|
+
Preview: https://{appId}-preview.bkper.app/openapi.json
|
|
214
|
+
Local: http://localhost:8787/openapi.json
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Example script call:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
TOKEN="$(bkper auth token)"
|
|
221
|
+
|
|
222
|
+
curl \
|
|
223
|
+
-H "Authorization: Bearer ${TOKEN}" \
|
|
224
|
+
"https://my-app.bkper.app/api/books"
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Replace `my-app` with the app id from `bkper.yaml`.
|
|
228
|
+
|
|
177
229
|
### Server API authentication
|
|
178
230
|
|
|
179
231
|
For deployed apps, server API routes under `/api/*` require a standard bearer token on the incoming request:
|
|
@@ -253,11 +305,13 @@ See [Event Handlers](https://bkper.com/docs/build/apps/event-handlers.md) for pa
|
|
|
253
305
|
|
|
254
306
|
## When you don't need every part
|
|
255
307
|
|
|
256
|
-
|
|
308
|
+
The platform can host different shapes, but the default template starts as a full app because `/api/*` routes give the app a reusable contract as it grows.
|
|
257
309
|
|
|
310
|
+
Use these shapes intentionally:
|
|
311
|
+
|
|
312
|
+
- **Full app** — Client UI, `/api/*` backend logic, and `/events` automation in one Worker. This is the default growth path.
|
|
258
313
|
- **Event-only app** — Keep `server/` and omit `deployment.client`. Automates reactions to book events without a user interface.
|
|
259
|
-
- **UI-only app** — Use `client/` and keep a minimal server Worker for static assets.
|
|
260
|
-
- **Full app** — Client UI, `/api/*` backend logic, and `/events` automation in one Worker.
|
|
314
|
+
- **UI-only app** — Use `client/` and keep a minimal server Worker for static assets only when the behavior is truly local to the browser. Add `/api/*` as soon as the behavior should be reusable by scripts, external clients, or agents.
|
|
261
315
|
|
|
262
316
|
## Simple App Patterns
|
|
263
317
|
|
|
@@ -265,7 +319,9 @@ These are the minimal, canonical patterns for common app tasks. Use them as star
|
|
|
265
319
|
|
|
266
320
|
### Client-only UI with authentication
|
|
267
321
|
|
|
268
|
-
The smallest useful app can keep
|
|
322
|
+
The smallest useful app can keep browser-only display logic in `client/`. No custom server routes, no event handlers, no custom auth logic.
|
|
323
|
+
|
|
324
|
+
If the behavior should be reused by scripts, external clients, or agents, expose it through `/api/*` instead of keeping it only in the UI.
|
|
269
325
|
|
|
270
326
|
```ts
|
|
271
327
|
// client/src/app.ts
|
|
@@ -307,43 +363,43 @@ Use `bkper-js` for all API calls. Do not call the REST API directly when `bkper-
|
|
|
307
363
|
|
|
308
364
|
## Library Usage Reference
|
|
309
365
|
|
|
310
|
-
| Task
|
|
311
|
-
|
|
312
|
-
| Client authentication
|
|
313
|
-
| API calls from client
|
|
314
|
-
| API calls from app server `/api/*` route | Incoming `Authorization: Bearer <token>` + server-side `new Bkper()`
|
|
315
|
-
| API calls from platform event handler
|
|
316
|
-
| Local development server
|
|
317
|
-
| Event handler routing
|
|
318
|
-
| UI components
|
|
366
|
+
| Task | Use | Do not use |
|
|
367
|
+
| ---------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------- |
|
|
368
|
+
| Client authentication | `@bkper/web-auth` (`BkperAuth`, `getAccessToken`) | Custom OAuth flows, manual `fetch('/auth/refresh')`, `google-auth-library` in the browser |
|
|
369
|
+
| API calls from client | `bkper-js` (`Bkper`, `Book`, `Account`, `Transaction`) | Direct `fetch()` to REST endpoints |
|
|
370
|
+
| API calls from app server `/api/*` route | Incoming `Authorization: Bearer <token>` + server-side `new Bkper()` | Reading OAuth tokens in server code, relying on browser sessions for API auth |
|
|
371
|
+
| API calls from platform event handler | Server-side `new Bkper()` in `/events` | Reading `bkper-oauth-token` or `bkper-agent-id` in platform app code |
|
|
372
|
+
| Local development server | `npm run dev` (template script) | Manual `miniflare` + `cloudflared` invocations |
|
|
373
|
+
| Event handler routing | `switch (event.type)` in `server/src/index.ts` or `server/src/handlers/` | Middleware frameworks, external webhook routers |
|
|
374
|
+
| UI components | `@bkper/web-design` + Lit | Heavy UI frameworks unless the user explicitly requests them |
|
|
319
375
|
|
|
320
376
|
## Common Pitfalls
|
|
321
377
|
|
|
322
378
|
Avoid these patterns even if they seem necessary. The platform or SDK already solves the problem.
|
|
323
379
|
|
|
324
380
|
1. **Implementing custom OAuth on the server**
|
|
325
|
-
|
|
381
|
+
- `@bkper/web-auth` manages the full OAuth lifecycle on the client. The platform handles tokens. Adding a server-side auth layer is unnecessary and will break.
|
|
326
382
|
|
|
327
383
|
2. **Adding `/api/auth/refresh` or similar routes**
|
|
328
|
-
|
|
384
|
+
- Token refresh is internal to `@bkper/web-auth`. Exposing it via Hono routes creates security surface area and duplicates platform functionality.
|
|
329
385
|
|
|
330
386
|
3. **Relying on browser sessions for server API auth**
|
|
331
|
-
|
|
387
|
+
- Sessions let users open app web pages, but `/api/*` routes require `Authorization: Bearer <token>`. Dispatch validates bearer tokens and platform outbound uses that validated context for Bkper API calls.
|
|
332
388
|
|
|
333
389
|
4. **Modifying `server/` for a simple UI task**
|
|
334
|
-
|
|
390
|
+
- If the user only asked for a client-side feature, do not touch server routes. The Vite dev server proxies `/api` to the Miniflare worker automatically. Add routes when the behavior should be reusable by the shipped client, scripts, external clients, or agents.
|
|
335
391
|
|
|
336
392
|
5. **Installing additional auth or HTTP libraries**
|
|
337
|
-
|
|
393
|
+
- `bkper-js` and `@bkper/web-auth` are the only packages you need for Bkper API access and authentication. Adding `axios`, `google-auth-library`, or similar is almost always wrong.
|
|
338
394
|
|
|
339
395
|
6. **Creating event handlers when the user asked for a UI-only feature**
|
|
340
|
-
|
|
396
|
+
- If the user says "show me a list of books in a popup," that is a client-only task. Do not add `/events` logic or subscribe to webhooks.
|
|
341
397
|
|
|
342
398
|
7. **Calling REST endpoints directly when `bkper-js` has the method**
|
|
343
|
-
|
|
399
|
+
- If `bkper-js` exposes `book.getTransactions()`, use it. Do not `fetch('https://api.bkper.com/...')` and parse JSON manually.
|
|
344
400
|
|
|
345
401
|
8. **Reverse-engineering SDK internals**
|
|
346
|
-
|
|
402
|
+
- Use the public API surface documented in the API reference. Do not read SDK source to find private methods or internal request patterns.
|
|
347
403
|
|
|
348
404
|
---
|
|
349
405
|
source: /docs/build/apps/configuration.md
|
|
@@ -600,31 +656,31 @@ source: /docs/build/apps/deploying.md
|
|
|
600
656
|
|
|
601
657
|
1. **Build** — Compile your code
|
|
602
658
|
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
659
|
+
```bash
|
|
660
|
+
npm run build
|
|
661
|
+
```
|
|
606
662
|
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
663
|
+
This runs two build steps:
|
|
664
|
+
- Client (Vite) to static assets in `dist/client/`
|
|
665
|
+
- Server Worker bundle (esbuild) to `dist/server/`
|
|
610
666
|
|
|
611
|
-
|
|
667
|
+
Build output includes size reporting so you can monitor bundle sizes.
|
|
612
668
|
|
|
613
669
|
2. **Sync** — Update app metadata
|
|
614
670
|
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
671
|
+
```bash
|
|
672
|
+
bkper app sync
|
|
673
|
+
```
|
|
618
674
|
|
|
619
|
-
|
|
675
|
+
Syncs your `bkper.yaml` configuration to Bkper — name, description, menu URLs, webhook URLs, access control, and branding. Run this whenever you change app settings.
|
|
620
676
|
|
|
621
677
|
3. **Deploy** — Upload code to the platform
|
|
622
678
|
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
679
|
+
```bash
|
|
680
|
+
bkper app deploy
|
|
681
|
+
```
|
|
626
682
|
|
|
627
|
-
|
|
683
|
+
Deploys your pre-built code from `dist/` to the Bkper Platform. Your app is live at `https://{appId}.bkper.app`.
|
|
628
684
|
|
|
629
685
|
The typical workflow combines all three:
|
|
630
686
|
|
|
@@ -640,6 +696,15 @@ The default deployment target. Your app runs at `https://{appId}.bkper.app`.
|
|
|
640
696
|
bkper app deploy
|
|
641
697
|
```
|
|
642
698
|
|
|
699
|
+
Production serves:
|
|
700
|
+
|
|
701
|
+
```txt
|
|
702
|
+
Client: https://{appId}.bkper.app
|
|
703
|
+
API routes: https://{appId}.bkper.app/api/*
|
|
704
|
+
OpenAPI spec: https://{appId}.bkper.app/openapi.json
|
|
705
|
+
Events: https://{appId}.bkper.app/events
|
|
706
|
+
```
|
|
707
|
+
|
|
643
708
|
### Preview
|
|
644
709
|
|
|
645
710
|
Deploy to a separate preview environment for testing before production:
|
|
@@ -650,6 +715,15 @@ bkper app deploy --preview
|
|
|
650
715
|
|
|
651
716
|
Preview URLs use a dash suffix: `https://{appId}-preview.bkper.app`. For example, an app with `id: my-app` deploys to `https://my-app-preview.bkper.app`.
|
|
652
717
|
|
|
718
|
+
Preview serves:
|
|
719
|
+
|
|
720
|
+
```txt
|
|
721
|
+
Client: https://{appId}-preview.bkper.app
|
|
722
|
+
API routes: https://{appId}-preview.bkper.app/api/*
|
|
723
|
+
OpenAPI spec: https://{appId}-preview.bkper.app/openapi.json
|
|
724
|
+
Events: https://{appId}-preview.bkper.app/events
|
|
725
|
+
```
|
|
726
|
+
|
|
653
727
|
Preview has independent secrets and KV storage from production.
|
|
654
728
|
|
|
655
729
|
There is one app deployment per environment. `/events` is handled by the same Worker as the client assets and `/api/*` routes.
|
|
@@ -691,7 +765,7 @@ bkper app secrets delete EXTERNAL_SERVICE_TOKEN
|
|
|
691
765
|
Secrets are available as `c.env.SECRET_NAME` in your Hono handlers:
|
|
692
766
|
|
|
693
767
|
```ts
|
|
694
|
-
app.get('/api/data', async
|
|
768
|
+
app.get('/api/data', async c => {
|
|
695
769
|
const token = c.env.EXTERNAL_SERVICE_TOKEN;
|
|
696
770
|
// use token
|
|
697
771
|
});
|
|
@@ -757,21 +831,23 @@ The project template runs both processes via `concurrently`:
|
|
|
757
831
|
|
|
758
832
|
1. **`vite dev`** — Client dev server with HMR. Changes to Lit components reflect instantly in the browser. Configured in `vite.config.ts`.
|
|
759
833
|
2. **`bkper app dev`** — The worker runtime:
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
834
|
+
- **Miniflare** — Simulates the single Cloudflare Worker locally.
|
|
835
|
+
- **Cloudflare tunnel** — Exposes `/events` via a public URL so Bkper can route webhook events to your machine.
|
|
836
|
+
- **File watching** — Server changes trigger automatic rebuilds via esbuild.
|
|
763
837
|
|
|
764
838
|
You can also run them independently: `npm run dev:client` for just the UI, or `npm run dev:server` for the local Worker.
|
|
765
839
|
|
|
766
840
|
## URLs
|
|
767
841
|
|
|
768
|
-
| Endpoint
|
|
769
|
-
|
|
|
770
|
-
| Client (Vite dev server)
|
|
771
|
-
| Server Worker (Miniflare)
|
|
842
|
+
| Endpoint | URL |
|
|
843
|
+
| -------------------------------------- | ------------------------------------------- |
|
|
844
|
+
| Client (Vite dev server) | `http://localhost:5173` |
|
|
845
|
+
| Server Worker (Miniflare) | `http://localhost:8787` |
|
|
846
|
+
| App API routes | `http://localhost:8787/api/*` |
|
|
847
|
+
| App OpenAPI spec | `http://localhost:8787/openapi.json` |
|
|
772
848
|
| Events (via tunnel to the same Worker) | `https://<random>.trycloudflare.com/events` |
|
|
773
849
|
|
|
774
|
-
The Vite dev server proxies `/api` requests to `http://localhost:8787` (configured in `vite.config.ts`). The tunnel URL is automatically registered as the `webhookUrlDev` in Bkper, so events from books where you're the developer are routed to your local machine.
|
|
850
|
+
The Vite dev server proxies `/api` requests to `http://localhost:8787` (configured in `vite.config.ts`). The app OpenAPI spec is served by the Worker at `http://localhost:8787/openapi.json`. The tunnel URL is automatically registered as the `webhookUrlDev` in Bkper, so events from books where you're the developer are routed to your local machine.
|
|
775
851
|
|
|
776
852
|
## Configuration flags
|
|
777
853
|
|
|
@@ -1167,7 +1243,7 @@ This tutorial walks you through building and deploying a Bkper app from scratch.
|
|
|
1167
1243
|
|
|
1168
1244
|
7. **Update the README**
|
|
1169
1245
|
|
|
1170
|
-
Edit `README.md` for end users — what the app does and how to use it. Keep developer docs in `AGENTS.md`.
|
|
1246
|
+
Edit `README.md` for end users — what the app does and how to use it. If your app exposes `/api/*` routes for users or integrators, include the app API base URL, `/openapi.json` URL, and one minimal authenticated example. Keep deeper developer docs in `AGENTS.md`.
|
|
1171
1247
|
|
|
1172
1248
|
8. **Deploy**
|
|
1173
1249
|
|
|
@@ -1181,11 +1257,11 @@ This tutorial walks you through building and deploying a Bkper app from scratch.
|
|
|
1181
1257
|
|
|
1182
1258
|
## What you built
|
|
1183
1259
|
|
|
1184
|
-
| You wrote
|
|
1185
|
-
|
|
|
1186
|
-
| ~30 lines of UI
|
|
1187
|
-
| ~40 lines of event logic | Hosting, SSL, edge routing
|
|
1188
|
-
| `bkper.yaml`
|
|
1260
|
+
| You wrote | Platform handled |
|
|
1261
|
+
| ------------------------ | ------------------------------------ |
|
|
1262
|
+
| ~30 lines of UI | OAuth, consent screen, token refresh |
|
|
1263
|
+
| ~40 lines of event logic | Hosting, SSL, edge routing |
|
|
1264
|
+
| `bkper.yaml` | Webhook tunnels, KV, type generation |
|
|
1189
1265
|
|
|
1190
1266
|
## Next steps
|
|
1191
1267
|
|
|
@@ -1207,6 +1283,14 @@ Apps are deployed to `{appId}.bkper.app` on a global edge network powered by [Cl
|
|
|
1207
1283
|
|
|
1208
1284
|
Preview environments are built in — deploy to a preview URL to test before going to production.
|
|
1209
1285
|
|
|
1286
|
+
### App APIs
|
|
1287
|
+
|
|
1288
|
+
The same Worker can expose app-defined `/api/*` routes. Treat those routes as the reusable contract for your app behavior:
|
|
1289
|
+
|
|
1290
|
+
- The bundled web client can call them.
|
|
1291
|
+
- Scripts, external clients, and agents can call them too.
|
|
1292
|
+
- The default template documents them with an app OpenAPI spec at `/openapi.json`.
|
|
1293
|
+
|
|
1210
1294
|
### Authentication
|
|
1211
1295
|
|
|
1212
1296
|
OAuth is pre-configured. No client IDs, no redirect URIs, no consent screens to build.
|
|
@@ -1247,16 +1331,16 @@ Your app is live at `{appId}.bkper.app`. The platform handles routing, SSL, and
|
|
|
1247
1331
|
|
|
1248
1332
|
Without the platform, creating a Bkper app with a UI, event handling, and authentication requires:
|
|
1249
1333
|
|
|
1250
|
-
| Concern
|
|
1251
|
-
|
|
|
1252
|
-
| **Hosting**
|
|
1253
|
-
| **Authentication**
|
|
1254
|
-
| **Event webhooks**
|
|
1255
|
-
| **Local dev webhooks**
|
|
1256
|
-
| **Secrets**
|
|
1257
|
-
| **KV storage**
|
|
1258
|
-
| **Preview environments** | Build a staging pipeline
|
|
1259
|
-
| **Type safety**
|
|
1334
|
+
| Concern | Without the platform | With the platform |
|
|
1335
|
+
| ------------------------ | --------------------------------------------------------------------------------------- | ----------------------------------------------- |
|
|
1336
|
+
| **Hosting** | Provision servers, configure domains, SSL, CDN | `bkper app deploy` |
|
|
1337
|
+
| **Authentication** | Register OAuth client, build consent screen, handle token refresh, manage redirect URIs | `auth.getAccessToken()` |
|
|
1338
|
+
| **Event webhooks** | Set up a public endpoint, configure DNS, handle JWT verification | Declare in `bkper.yaml`, platform routes events |
|
|
1339
|
+
| **Local dev webhooks** | Install ngrok or similar, manually configure tunnel URL | `bkper app dev` starts tunnel automatically |
|
|
1340
|
+
| **Secrets** | Set up a secrets manager, configure access | `bkper app secrets put` |
|
|
1341
|
+
| **KV storage** | Deploy Redis/Memcached, manage connections | Declare `KV` in `bkper.yaml` |
|
|
1342
|
+
| **Preview environments** | Build a staging pipeline | `bkper app deploy --preview` |
|
|
1343
|
+
| **Type safety** | Manually create type definitions | `env.d.ts` auto-generated |
|
|
1260
1344
|
|
|
1261
1345
|
The platform eliminates all of this. You write business logic, the platform handles infrastructure.
|
|
1262
1346
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bkper",
|
|
3
|
-
"version": "4.16.
|
|
3
|
+
"version": "4.16.3",
|
|
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.79.0",
|
|
55
55
|
"bkper-js": "^2.35.2",
|
|
56
56
|
"commander": "^13.1.0",
|
|
57
57
|
"dotenv": "^8.2.0",
|