bkper 5.5.0 → 5.5.2
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/lib/agent/pi-shared-modules.d.ts +2 -2
- package/lib/agent/system-prompt.d.ts.map +1 -1
- package/lib/agent/system-prompt.js +2 -5
- package/lib/agent/system-prompt.js.map +1 -1
- package/lib/agent/themes/bkper-dark.json +1 -1
- package/lib/agent/themes/bkper-light.json +1 -1
- package/lib/commands/apps/git/clone.d.ts +8 -2
- package/lib/commands/apps/git/clone.d.ts.map +1 -1
- package/lib/commands/apps/git/clone.js +17 -5
- package/lib/commands/apps/git/clone.js.map +1 -1
- package/lib/commands/apps/git/platform-source.d.ts +5 -1
- package/lib/commands/apps/git/platform-source.d.ts.map +1 -1
- package/lib/commands/apps/git/platform-source.js +19 -10
- package/lib/commands/apps/git/platform-source.js.map +1 -1
- package/lib/docs/core/core-concepts.md +1 -1
- package/package.json +8 -4
|
@@ -2,8 +2,8 @@ import type * as PiTui from '@earendil-works/pi-tui';
|
|
|
2
2
|
/**
|
|
3
3
|
* Runtime access to the Pi packages that Pi itself uses.
|
|
4
4
|
*
|
|
5
|
-
* pi-coding-agent publishes an npm-shrinkwrap.json,
|
|
6
|
-
* under it instead of sharing ours. Importing those packages directly would load a second, separate instance:
|
|
5
|
+
* When pi-coding-agent publishes an npm-shrinkwrap.json (1.0.0 did), npm installs its own copies of pi-tui and
|
|
6
|
+
* pi-ai nested under it instead of sharing ours. Importing those packages directly would load a second, separate instance:
|
|
7
7
|
* `instanceof` checks against Pi's objects fail and module state such as the user's keybindings is not seen.
|
|
8
8
|
* Bun ignores the shrinkwrap and installs a single copy, so the problem never shows up in local development.
|
|
9
9
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAiKA,wBAAgB,yBAAyB,CACrC,aAAa,GAAE,MAAM,EAAsC,GAC5D,MAAM,CAsDR;AA2BD,eAAO,MAAM,yBAAyB,QAKpC,CAAC"}
|
|
@@ -81,7 +81,6 @@ function getBkperCodemodeGuidelines(codemodeDocsPath) {
|
|
|
81
81
|
return [
|
|
82
82
|
'Use codemode, not shell loops or jq pipelines, to repeat commands across items.',
|
|
83
83
|
`For judgments across many items — rank, score, classify, or filter by sentiment, urgency, relevance, or quality — do not read the items yourself: in one codemode script, load them, run a classifier with models.classify() per item, and return only counts and the selected items. Read ${codemodeDocsPath} first; find classifiers with models.getAvailableOfType("classifier").`,
|
|
84
|
-
"Book writes in a codemode script need the same confirmation as single commands: resolve targets read-only, show the script and changes, run only after the user confirms, and report each item's result.",
|
|
85
84
|
];
|
|
86
85
|
}
|
|
87
86
|
function buildToolPromptSection(selectedTools) {
|
|
@@ -189,8 +188,6 @@ You are an agent specialized in Bkper.
|
|
|
189
188
|
|
|
190
189
|
Protect the zero-sum invariant above all else.
|
|
191
190
|
|
|
192
|
-
You help users by reading files, executing commands, editing code, and writing new files.
|
|
193
|
-
|
|
194
191
|
${buildToolPromptSection(selectedTools)}
|
|
195
192
|
|
|
196
193
|
## IMPORTANT Operating Principles
|
|
@@ -198,8 +195,8 @@ ${buildToolPromptSection(selectedTools)}
|
|
|
198
195
|
- Interview me about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
|
|
199
196
|
- Ask the questions one at a time. Before asking the next question, check whether there is already enough information to start; if so, proceed instead.
|
|
200
197
|
- If a question can be answered by exploring the codebase, explore the codebase instead.
|
|
201
|
-
-
|
|
202
|
-
-
|
|
198
|
+
- Do the work with your tools instead of giving the user steps to do it themselves.
|
|
199
|
+
- Only make changes the user asked for; when exploring or unsure, propose them instead.
|
|
203
200
|
- For accounting numbers — balances, statements, reconciliations, taxes — never let raw LLM output be final; use or establish a deterministic, auditable route, keep computation separate from commentary, and make assumptions explicit.
|
|
204
201
|
- Think in resources, movements, and balances — not debits and credits.
|
|
205
202
|
- Extend meaning with properties before adding structural complexity.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,19 +6,25 @@ export interface CloneManagedAppOptions {
|
|
|
6
6
|
cwd?: string;
|
|
7
7
|
api?: PlatformSourceApi;
|
|
8
8
|
runner?: GitRunner;
|
|
9
|
+
/** Whether the CLI has a stored login; without one, an outbound proxy must authenticate Git. */
|
|
10
|
+
hasStoredLogin?: () => boolean;
|
|
9
11
|
/** Test-only: skip real network clone and use this factory. */
|
|
10
12
|
cloneImpl?: (args: {
|
|
11
13
|
appId: string;
|
|
12
14
|
remote: string;
|
|
13
|
-
token
|
|
15
|
+
token?: string;
|
|
14
16
|
tempDir: string;
|
|
15
17
|
runner: GitRunner;
|
|
16
18
|
}) => Promise<void>;
|
|
17
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Clones with a pre-issued read token, given to the credential helper through the environment. Without a token,
|
|
22
|
+
* Git sends no credentials of its own, for an outbound proxy to authenticate.
|
|
23
|
+
*/
|
|
18
24
|
export declare function cloneWithReadToken(args: {
|
|
19
25
|
appId: string;
|
|
20
26
|
remote: string;
|
|
21
|
-
token
|
|
27
|
+
token?: string;
|
|
22
28
|
tempDir: string;
|
|
23
29
|
runner: GitRunner;
|
|
24
30
|
}): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/clone.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/clone.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,EAGH,KAAK,iBAAiB,EACzB,MAAM,sBAAsB,CAAC;AAM9B,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC;IAC/B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,SAAS,CAAC;KACrB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AA0BD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8FtF;AAED,wBAAsB,sBAAsB,CACxC,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CASf"}
|
|
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import fs from 'fs';
|
|
11
11
|
import path from 'path';
|
|
12
12
|
import * as YAML from 'yaml';
|
|
13
|
+
import { isLoggedIn } from '../../../auth/local-auth-service.js';
|
|
13
14
|
import { runGit } from './run-git.js';
|
|
14
15
|
import { createPlatformSourceApi, stripRepositoryTokenSecret, } from './platform-source.js';
|
|
15
16
|
import { buildCredentialHelperCommand } from './credentials.js';
|
|
@@ -38,9 +39,12 @@ function readClonedAppId(repoDir) {
|
|
|
38
39
|
}
|
|
39
40
|
return undefined;
|
|
40
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Clones with a pre-issued read token, given to the credential helper through the environment. Without a token,
|
|
44
|
+
* Git sends no credentials of its own, for an outbound proxy to authenticate.
|
|
45
|
+
*/
|
|
41
46
|
export function cloneWithReadToken(args) {
|
|
42
47
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
const password = stripRepositoryTokenSecret(args.token);
|
|
44
48
|
const helper = buildCredentialHelperCommand(args.appId);
|
|
45
49
|
yield args.runner([
|
|
46
50
|
'-c',
|
|
@@ -55,7 +59,12 @@ export function cloneWithReadToken(args) {
|
|
|
55
59
|
args.remote,
|
|
56
60
|
args.tempDir,
|
|
57
61
|
], {
|
|
58
|
-
env: Object.assign(Object.assign({}, process.env),
|
|
62
|
+
env: Object.assign(Object.assign(Object.assign({}, process.env), (args.token
|
|
63
|
+
? {
|
|
64
|
+
BKPER_CLONE_TOKEN: stripRepositoryTokenSecret(args.token),
|
|
65
|
+
BKPER_CLONE_REMOTE: args.remote,
|
|
66
|
+
}
|
|
67
|
+
: {})), { GIT_TERMINAL_PROMPT: '0' }),
|
|
59
68
|
});
|
|
60
69
|
});
|
|
61
70
|
}
|
|
@@ -65,7 +74,7 @@ export function cloneWithReadToken(args) {
|
|
|
65
74
|
*/
|
|
66
75
|
export function cloneManagedApp(options) {
|
|
67
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
var _a, _b, _c, _d;
|
|
77
|
+
var _a, _b, _c, _d, _e;
|
|
69
78
|
const cwd = (_a = options.cwd) !== null && _a !== void 0 ? _a : process.cwd();
|
|
70
79
|
const destination = resolveDestination(options.appId, options.destination, cwd);
|
|
71
80
|
const runner = (_b = options.runner) !== null && _b !== void 0 ? _b : runGit;
|
|
@@ -88,12 +97,15 @@ export function cloneManagedApp(options) {
|
|
|
88
97
|
'If the App publishes a repository URL, use that provider clone command instead of `bkper app clone`.',
|
|
89
98
|
].join('\n'));
|
|
90
99
|
}
|
|
91
|
-
|
|
100
|
+
// Without a stored login, clone the registered remote with no repository token of our own.
|
|
101
|
+
const credential = ((_d = options.hasStoredLogin) !== null && _d !== void 0 ? _d : isLoggedIn)()
|
|
102
|
+
? yield api.issueCredential(options.appId, 'read')
|
|
103
|
+
: { remote: status.remote, token: undefined };
|
|
92
104
|
const parentDir = path.dirname(destination);
|
|
93
105
|
fs.mkdirSync(parentDir, { recursive: true });
|
|
94
106
|
const tempDir = fs.mkdtempSync(path.join(parentDir, `.${options.appId}-clone-`));
|
|
95
107
|
try {
|
|
96
|
-
const cloneImpl = (
|
|
108
|
+
const cloneImpl = (_e = options.cloneImpl) !== null && _e !== void 0 ? _e : cloneWithReadToken;
|
|
97
109
|
try {
|
|
98
110
|
yield cloneImpl({
|
|
99
111
|
appId: options.appId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/clone.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAC,MAAM,EAAiB,MAAM,cAAc,CAAC;AACpD,OAAO,EACH,uBAAuB,EACvB,0BAA0B,GAE7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,4BAA4B,EAAC,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AACnD,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/clone.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,11 @@ export interface PlatformSourceApi {
|
|
|
4
4
|
activate(appId: string, activationId: string): Promise<ManagedSourceActivationResult>;
|
|
5
5
|
issueCredential(appId: string, scope: 'read' | 'write'): Promise<ManagedSourceCredential>;
|
|
6
6
|
}
|
|
7
|
-
export
|
|
7
|
+
export interface PlatformSourceDependencies {
|
|
8
|
+
getToken(): Promise<string | undefined>;
|
|
9
|
+
fetch(input: string, init: RequestInit): Promise<Response>;
|
|
10
|
+
}
|
|
11
|
+
export declare function createPlatformSourceApi(dependencies?: PlatformSourceDependencies): PlatformSourceApi;
|
|
8
12
|
/**
|
|
9
13
|
* Ensures the platform client module remains the auth base for non-source routes.
|
|
10
14
|
* Source operations keep a small fetch wrapper for explicit no-store and token-redaction handling.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-source.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/platform-source.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EACnC,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,iBAAiB;IAC9B,SAAS,CACL,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,2BAA2B,GAAG,kBAAkB,GAAG,eAAe,CAAC,CAAC;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACtF,eAAe,CACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,OAAO,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACvC;
|
|
1
|
+
{"version":3,"file":"platform-source.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/platform-source.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EACnC,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,iBAAiB;IAC9B,SAAS,CACL,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,2BAA2B,GAAG,kBAAkB,GAAG,eAAe,CAAC,CAAC;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACtF,eAAe,CACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,OAAO,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACvC;AA6BD,MAAM,WAAW,0BAA0B;IACvC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC9D;AAyFD,wBAAgB,uBAAuB,CACnC,YAAY,GAAE,0BAAgD,GAC/D,iBAAiB,CAyFnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhE"}
|
|
@@ -23,14 +23,23 @@ function asErrorMessage(body, fallback) {
|
|
|
23
23
|
const message = (_b = (_a = body === null || body === void 0 ? void 0 : body.error) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : fallback;
|
|
24
24
|
return redactSecrets(message);
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
const defaultDependencies = {
|
|
27
|
+
getToken: getStoredOAuthToken,
|
|
28
|
+
fetch: (input, init) => fetch(input, init),
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Sends the stored login when there is one. Without it, requests go out unauthenticated so an outbound
|
|
32
|
+
* proxy (such as the managed Agent's sandbox egress) can authenticate them, or Platform rejects them.
|
|
33
|
+
* Repository credentials are the exception: they are issued only to a stored login.
|
|
34
|
+
*/
|
|
35
|
+
function authorizedFetch(dependencies_1, path_1) {
|
|
36
|
+
return __awaiter(this, arguments, void 0, function* (dependencies, path, init = {}, requireStoredLogin = false) {
|
|
28
37
|
var _a;
|
|
29
|
-
const token = yield
|
|
30
|
-
if (!token &&
|
|
38
|
+
const token = yield dependencies.getToken();
|
|
39
|
+
if (!token && requireStoredLogin) {
|
|
31
40
|
throw new ManagedGitError('AUTHENTICATION_REQUIRED', AUTHENTICATION_REQUIRED_MESSAGE);
|
|
32
41
|
}
|
|
33
|
-
const response = yield fetch(`${PLATFORM_API_URL}${path}`, Object.assign(Object.assign({}, init), { headers: Object.assign(Object.assign(Object.assign(Object.assign({}, (token ? { Authorization: `Bearer ${token}` } : {})), { Accept: 'application/json' }), (init.body ? { 'Content-Type': 'application/json' } : {})), ((_a = init.headers) !== null && _a !== void 0 ? _a : {})) }));
|
|
42
|
+
const response = yield dependencies.fetch(`${PLATFORM_API_URL}${path}`, Object.assign(Object.assign({}, init), { headers: Object.assign(Object.assign(Object.assign(Object.assign({}, (token ? { Authorization: `Bearer ${token}` } : {})), { Accept: 'application/json' }), (init.body ? { 'Content-Type': 'application/json' } : {})), ((_a = init.headers) !== null && _a !== void 0 ? _a : {})) }));
|
|
34
43
|
let body = undefined;
|
|
35
44
|
const text = yield response.text();
|
|
36
45
|
if (text) {
|
|
@@ -67,12 +76,12 @@ function throwPlatformError(response, body, fallback) {
|
|
|
67
76
|
}
|
|
68
77
|
throw new ManagedGitError('MANAGED_SOURCE_UNAVAILABLE', message || fallback);
|
|
69
78
|
}
|
|
70
|
-
export function createPlatformSourceApi() {
|
|
79
|
+
export function createPlatformSourceApi(dependencies = defaultDependencies) {
|
|
71
80
|
return {
|
|
72
81
|
getStatus(appId) {
|
|
73
82
|
return __awaiter(this, void 0, void 0, function* () {
|
|
74
83
|
var _a, _b;
|
|
75
|
-
const { response, body } = yield authorizedFetch(`/api/apps/${encodeURIComponent(appId)}/source
|
|
84
|
+
const { response, body } = yield authorizedFetch(dependencies, `/api/apps/${encodeURIComponent(appId)}/source`);
|
|
76
85
|
const errorBody = body;
|
|
77
86
|
if (response.status === 503 || ((_a = errorBody === null || errorBody === void 0 ? void 0 : errorBody.error) === null || _a === void 0 ? void 0 : _a.code) === 'SOURCE_FEATURE_DISABLED') {
|
|
78
87
|
return 'feature_disabled';
|
|
@@ -94,7 +103,7 @@ export function createPlatformSourceApi() {
|
|
|
94
103
|
activate(appId, activationId) {
|
|
95
104
|
return __awaiter(this, void 0, void 0, function* () {
|
|
96
105
|
var _a;
|
|
97
|
-
const { response, body } = yield authorizedFetch(`/api/apps/${encodeURIComponent(appId)}/source/activate`, {
|
|
106
|
+
const { response, body } = yield authorizedFetch(dependencies, `/api/apps/${encodeURIComponent(appId)}/source/activate`, {
|
|
98
107
|
method: 'POST',
|
|
99
108
|
body: JSON.stringify({ activationId }),
|
|
100
109
|
});
|
|
@@ -113,10 +122,10 @@ export function createPlatformSourceApi() {
|
|
|
113
122
|
},
|
|
114
123
|
issueCredential(appId, scope) {
|
|
115
124
|
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
-
const { response, body } = yield authorizedFetch(`/api/apps/${encodeURIComponent(appId)}/source/credentials`, {
|
|
125
|
+
const { response, body } = yield authorizedFetch(dependencies, `/api/apps/${encodeURIComponent(appId)}/source/credentials`, {
|
|
117
126
|
method: 'POST',
|
|
118
127
|
body: JSON.stringify({ scope }),
|
|
119
|
-
});
|
|
128
|
+
}, true);
|
|
120
129
|
const errorBody = body;
|
|
121
130
|
if (!response.ok) {
|
|
122
131
|
throwPlatformError(response, errorBody, 'Failed to issue managed source credentials.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-source.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/platform-source.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,+BAA+B,EAAC,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAC,mBAAmB,EAAC,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACH,eAAe,GAIlB,MAAM,YAAY,CAAC;AAEpB,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,4BAA4B,CAAC;AAsBxF,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,KAAK;SACP,OAAO,CAAC,uBAAuB,EAAE,cAAc,CAAC;SAChD,OAAO,CACJ,+BAA+B,EAC/B,cAAc,CACjB;SACA,OAAO,CACJ,uBAAuB,EACvB,cAAc,CACjB,CAAC;AACV,CAAC;AAED,SAAS,cAAc,CAAC,IAAmC,EAAE,QAAgB;;IACzE,MAAM,OAAO,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,OAAO,mCAAI,QAAQ,CAAC;IACjD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;
|
|
1
|
+
{"version":3,"file":"platform-source.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/platform-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,7 @@ Groups inherit the nature of the accounts they contain:
|
|
|
65
65
|
|
|
66
66
|
## Books
|
|
67
67
|
|
|
68
|
-
A **Book** is a self-contained ledger — the complete scope of an entity, whether an individual, a project, or a business. Every Account, Transaction, and Group lives within a Book, and every Book balances to zero. Books can track any countable resource using the same from-to model.
|
|
68
|
+
A **Book** is a self-contained ledger — the complete scope of an entity, whether an individual, a project, or a business. Every Account, Transaction, and Group lives within a Book, and every Book balances to zero. Books can track any countable resource using the same from-to model. Their amounts are plain quantities of one unit — money, stocks, inventory — whose meaning comes from the people using them, not the ledger. Track each unit in its own Book.
|
|
69
69
|
|
|
70
70
|
The sum of all credits and debits recorded in a Book always tallies to zero — nothing is created or destroyed, only transferred. For more complex entities, multiple Books can be organized into a Collection.
|
|
71
71
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bkper",
|
|
3
|
-
"version": "5.5.
|
|
3
|
+
"version": "5.5.2",
|
|
4
4
|
"description": "Official Bkper CLI for accounting data, automation, apps, and AI agents",
|
|
5
5
|
"bin": {
|
|
6
6
|
"bkper": "lib/cli.js"
|
|
@@ -63,7 +63,13 @@
|
|
|
63
63
|
"upgrade:api": "bun update @bkper/bkper-api-types --latest && bun update bkper-js --latest"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@earendil-works/pi-
|
|
66
|
+
"@earendil-works/pi-agent-core": "1.2.0",
|
|
67
|
+
"@earendil-works/pi-ai": "1.2.0",
|
|
68
|
+
"@earendil-works/pi-codemode": "1.2.0",
|
|
69
|
+
"@earendil-works/pi-coding-agent": "1.2.0",
|
|
70
|
+
"@earendil-works/pi-mcp": "1.2.0",
|
|
71
|
+
"@earendil-works/pi-telemetry": "1.2.0",
|
|
72
|
+
"@earendil-works/pi-tui": "1.2.0",
|
|
67
73
|
"bkper-js": "^2.42.0",
|
|
68
74
|
"commander": "^13.1.0",
|
|
69
75
|
"dotenv": "^8.2.0",
|
|
@@ -87,8 +93,6 @@
|
|
|
87
93
|
},
|
|
88
94
|
"devDependencies": {
|
|
89
95
|
"@bkper/bkper-api-types": "^5.44.0",
|
|
90
|
-
"@earendil-works/pi-ai": "1.1.0",
|
|
91
|
-
"@earendil-works/pi-tui": "1.1.0",
|
|
92
96
|
"@types/chai": "^4.3.0",
|
|
93
97
|
"@types/mocha": "^10.0.0",
|
|
94
98
|
"@types/node": "^22.5.1",
|