bkper 5.3.1 → 5.3.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.
- package/lib/agent/core-concepts-routing.d.ts +9 -0
- package/lib/agent/core-concepts-routing.d.ts.map +1 -0
- package/lib/agent/core-concepts-routing.js +34 -0
- package/lib/agent/core-concepts-routing.js.map +1 -0
- package/lib/agent/extensions/builtins.d.ts.map +1 -1
- package/lib/agent/extensions/builtins.js +3 -1
- package/lib/agent/extensions/builtins.js.map +1 -1
- package/lib/agent/extensions/core-concepts-preload.d.ts +4 -6
- package/lib/agent/extensions/core-concepts-preload.d.ts.map +1 -1
- package/lib/agent/extensions/core-concepts-preload.js +11 -31
- package/lib/agent/extensions/core-concepts-preload.js.map +1 -1
- package/lib/agent/extensions/prompt-routing.d.ts +12 -0
- package/lib/agent/extensions/prompt-routing.d.ts.map +1 -0
- package/lib/agent/extensions/prompt-routing.js +38 -0
- package/lib/agent/extensions/prompt-routing.js.map +1 -0
- package/lib/agent/interactive/interactive-mode.d.ts +1 -0
- package/lib/agent/interactive/interactive-mode.d.ts.map +1 -1
- package/lib/agent/interactive/interactive-mode.js +15 -2
- package/lib/agent/interactive/interactive-mode.js.map +1 -1
- package/lib/agent/interactive/pending-user-message.d.ts +24 -0
- package/lib/agent/interactive/pending-user-message.d.ts.map +1 -0
- package/lib/agent/interactive/pending-user-message.js +82 -0
- package/lib/agent/interactive/pending-user-message.js.map +1 -0
- package/lib/agent/prompt-routing.d.ts +33 -0
- package/lib/agent/prompt-routing.d.ts.map +1 -0
- package/lib/agent/prompt-routing.js +106 -0
- package/lib/agent/prompt-routing.js.map +1 -0
- package/lib/upgrade/update-check.d.ts +3 -2
- package/lib/upgrade/update-check.d.ts.map +1 -1
- package/lib/upgrade/update-check.js +6 -2
- package/lib/upgrade/update-check.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PromptRoute } from './prompt-routing.js';
|
|
2
|
+
export type CoreConceptsPreloadLevel = 'none' | 'full';
|
|
3
|
+
export interface CoreConceptsPreloadInput {
|
|
4
|
+
prompt: string;
|
|
5
|
+
}
|
|
6
|
+
/** Conservative keyword fallback only. Jev is the primary detector. */
|
|
7
|
+
export declare function detectCoreConceptsPreloadLevel(input: CoreConceptsPreloadInput): CoreConceptsPreloadLevel;
|
|
8
|
+
export declare const CORE_CONCEPTS_ROUTE: PromptRoute;
|
|
9
|
+
//# sourceMappingURL=core-concepts-routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-concepts-routing.d.ts","sourceRoot":"","sources":["../../src/agent/core-concepts-routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAqB,MAAM,qBAAqB,CAAC;AAazE,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,MAAM,CAAC;AACvD,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,uEAAuE;AACvE,wBAAgB,8BAA8B,CAC1C,KAAK,EAAE,wBAAwB,GAChC,wBAAwB,CAW1B;AAED,eAAO,MAAM,mBAAmB,EAAE,WAiBjC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const DOCS_PATTERN = /\b(doc|docs|documentation|readme|guide|guides|example|examples|spec|specs|reference)\b/i;
|
|
2
|
+
const ANALYSIS_PATTERN = /\b(review|audit|validate|verify|critique|rewrite|document|describe|explain|design|model|map|check|spot)\b/i;
|
|
3
|
+
const AUTOMATION_PATTERN = /\b(bot|bots|app|apps|automation|automations)\b/i;
|
|
4
|
+
const BOT_PATTERN = /\b(bot|bots)\b/i;
|
|
5
|
+
const SEMANTIC_PATTERN = /\b(bkper|book|books|account|accounts|group|groups|transaction|transactions|balance|balances|incoming|outgoing|asset|assets|liability|liabilities|receivable|receivables|payable|payables|statement|statements|ledger|flow|flows|movement|movements|collection|collections|draft|drafts|checked|unchecked|posted|trashed|tax|taxes)\b/i;
|
|
6
|
+
const FINANCE_PATTERN = /\b(finance|financial|accounting|bookkeeping|money|bank|banking|cash|income|revenue|expense|expenses|budget|budgeting|invoice|invoices|payment|payments|loan|loans|debt|payroll|investment|investments|reconcile|reconciliation|credit|profit|loss|equity|inventory|owe|owed|afford|refund|refunds|salary|interest|dividend|dividends|fee|fees|deposit|deposits|withdrawal|withdrawals|cost|costs|receipt|receipts|contas|transações|transacoes|saldo|saldos|dinheiro|contabilidade)\b/i;
|
|
7
|
+
/** Conservative keyword fallback only. Jev is the primary detector. */
|
|
8
|
+
export function detectCoreConceptsPreloadLevel(input) {
|
|
9
|
+
const prompt = input.prompt.trim();
|
|
10
|
+
if (!prompt)
|
|
11
|
+
return 'none';
|
|
12
|
+
if (SEMANTIC_PATTERN.test(prompt) || FINANCE_PATTERN.test(prompt) || BOT_PATTERN.test(prompt))
|
|
13
|
+
return 'full';
|
|
14
|
+
if ((DOCS_PATTERN.test(prompt) || ANALYSIS_PATTERN.test(prompt)) &&
|
|
15
|
+
AUTOMATION_PATTERN.test(prompt))
|
|
16
|
+
return 'full';
|
|
17
|
+
return 'none';
|
|
18
|
+
}
|
|
19
|
+
export const CORE_CONCEPTS_ROUTE = {
|
|
20
|
+
id: 'bkper-core-concepts',
|
|
21
|
+
threshold: 0.4,
|
|
22
|
+
question: {
|
|
23
|
+
type: 'bool',
|
|
24
|
+
instructions: "Is the user's present goal in `prompt` a finance/accounting task, a Bkper user task, or a task involving the meaning of Bkper's domain model? Use `recentUserMessages` to resolve ambiguous references, but follow explicit topic changes. For app and bot development, answer yes for financial/resource-flow business logic and no for technical infrastructure or general application work. The application's business area or use of Bkper does not by itself make technical work a domain task. Ambiguous Bkper app/bot troubleshooting, reviews, and documentation requests default to domain relevance unless the current task or recent context establishes a technical-only purpose. Do not assume that a documentation review is merely technical.",
|
|
25
|
+
criteria: {
|
|
26
|
+
true: 'Working with finance, money, accounting, bookkeeping, or inventory/resource movements; using or learning Bkper, including user setup, login, permissions, and connecting banks; designing, implementing, debugging, reviewing, explaining, or testing financial rules or Bkper data semantics. Examples of semantics are where resources move, which Accounts/Groups/Books represent a business process, transaction states, balances, taxes, valuation, payments, and refunds. In this CLI, unspecified books, accounts, transactions, checked entries, and bot problems default to Bkper domain tasks unless a different subject or technical cause is established. This includes general Bkper/bot documentation and README reviews whose scope is not limited to installation or tooling.',
|
|
27
|
+
false: "The requested work is general software engineering, UI styling, framework/hosting choice, codebase organization, package installation, compiler/import errors, bundling/build configuration, HTTP routing, deployment/CI plumbing, or configuring the test harness rather than testing business rules. This remains no for Bkper apps/bots and financial products. Vague requests inherit the immediate task's technical subject, not the application's financial domain. Also no for clearly unrelated uses of account, transaction, book, or bot, and unrelated Git work.",
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
fallback(input) {
|
|
31
|
+
return [input.prompt, ...input.recentUserMessages].some(prompt => detectCoreConceptsPreloadLevel({ prompt }) === 'full');
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=core-concepts-routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-concepts-routing.js","sourceRoot":"","sources":["../../src/agent/core-concepts-routing.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GACd,yFAAyF,CAAC;AAC9F,MAAM,gBAAgB,GAClB,4GAA4G,CAAC;AACjH,MAAM,kBAAkB,GAAG,iDAAiD,CAAC;AAC7E,MAAM,WAAW,GAAG,iBAAiB,CAAC;AACtC,MAAM,gBAAgB,GAClB,uUAAuU,CAAC;AAC5U,MAAM,eAAe,GACjB,wdAAwd,CAAC;AAO7d,uEAAuE;AACvE,MAAM,UAAU,8BAA8B,CAC1C,KAA+B;IAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAC3B,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;QACzF,OAAO,MAAM,CAAC;IAClB,IACI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;QAE/B,OAAO,MAAM,CAAC;IAClB,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC5C,EAAE,EAAE,qBAAqB;IACzB,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,YAAY,EACR,8tBAA8tB;QACluB,QAAQ,EAAE;YACN,IAAI,EAAE,+vBAA+vB;YACrwB,KAAK,EAAE,6iBAA6iB;SACvjB;KACJ;IACD,QAAQ,CAAC,KAAyB;QAC9B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,EAAE,CAAC,8BAA8B,CAAC,EAAC,MAAM,EAAC,CAAC,KAAK,MAAM,CAChE,CAAC;IACN,CAAC;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAEH,KAAK,yBAAyB,EACjC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAEH,KAAK,yBAAyB,EACjC,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAGH,KAAK,wBAAwB,EAChC,MAAM,cAAc,CAAC;AAGtB,KAAK,kBAAkB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACpB,eAAe,IAAI,YAAY,CAAC;IAChC,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;CACtC,CAAC;AAKF,eAAO,MAAM,mCAAmC,0BAA0B,CAAC;AAC3E,eAAO,MAAM,mCAAmC,kCAAkC,CAAC;AAGnF,wBAAgB,qCAAqC,CACjD,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACtD,OAAO,CAET;AAyBD,wBAAgB,kCAAkC,CAC9C,MAAM,EAAE,kBAAkB,EAAE,EAC5B,OAAO,EAAE;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,GAC5B,kBAAkB,EAAE,CAatB;AAED,wBAAgB,6BAA6B,CACzC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,GAC5B,oBAAoB,CAMtB;AAED,wBAAgB,0BAA0B,CACtC,EAAE,EAAE,YAAY,EAChB,kBAAkB,GAAE,OAAO,qBAA6C,EACxE,eAAe,CAAC,EAAE,gBAAgB,EAClC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,iBAAiB,CAAC,EAAE,yBAAyB,EAC7C,sBAAsB,CAAC,EAAE,wBAAwB,GAClD,IAAI,CAwBN"}
|
|
@@ -3,6 +3,7 @@ import { runStartupMaintenance } from '../startup-maintenance.js';
|
|
|
3
3
|
import { registerBkperAgentAuthExtension, } from './auth-commands.js';
|
|
4
4
|
import { getBkperAiBaseUrlOverride, registerBkperAiProvider, } from './bkper-ai-provider.js';
|
|
5
5
|
import { registerBkperCoreConceptsPreloadExtension } from './core-concepts-preload.js';
|
|
6
|
+
import { registerPromptRoutingExtension } from './prompt-routing.js';
|
|
6
7
|
import { getBkperHandoffShortcutFromFile, registerBkperHandoffExtension, } from './handoff.js';
|
|
7
8
|
import { registerBkperAgentStartupExtension } from './startup.js';
|
|
8
9
|
// Pi currently labels inline extension factories as <inline:N>.
|
|
@@ -43,7 +44,8 @@ export function normalizeBkperAgentExtensions(base, options) {
|
|
|
43
44
|
}
|
|
44
45
|
export function registerBkperAgentBuiltins(pi, startupMaintenance = runStartupMaintenance, settingsManager, env = process.env, credentialManager, dispatchHandoffCommand) {
|
|
45
46
|
const bkperAiBaseUrlOverride = getBkperAiBaseUrlOverride(env);
|
|
46
|
-
|
|
47
|
+
const promptRouter = registerPromptRoutingExtension(pi);
|
|
48
|
+
registerBkperCoreConceptsPreloadExtension(pi, undefined, promptRouter);
|
|
47
49
|
registerBkperAgentStartupExtension(pi, startupMaintenance, settingsManager, bkperAiBaseUrlOverride);
|
|
48
50
|
registerBkperAgentAuthExtension(pi, undefined, credentialManager);
|
|
49
51
|
registerBkperAiProvider(pi, env);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../../src/agent/extensions/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,GAKd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACH,+BAA+B,GAElC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,yBAAyB,EACzB,uBAAuB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,yCAAyC,EAAC,MAAM,4BAA4B,CAAC;AACrF,OAAO,EACH,+BAA+B,EAC/B,6BAA6B,GAEhC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,kCAAkC,EAAC,MAAM,cAAc,CAAC;AAYhE,gEAAgE;AAChE,gFAAgF;AAChF,MAAM,6BAA6B,GAAG,gBAAgB,CAAC;AACvD,MAAM,CAAC,MAAM,mCAAmC,GAAG,uBAAuB,CAAC;AAC3E,MAAM,CAAC,MAAM,mCAAmC,GAAG,+BAA+B,CAAC;AACnF,MAAM,kCAAkC,GAAG,GAAG,mCAAmC,mBAAmB,CAAC;AAErG,MAAM,UAAU,qCAAqC,CACjD,MAA0C,OAAO,CAAC,GAAG;IAErD,OAAO,GAAG,CAAC,iBAAiB,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC;AACnE,CAAC;AAED,SAAS,+BAA+B,CAAC,IAAY;IACjD,OAAO,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,4BAA4B,CAAC,SAAoB;IACtD,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,uCACO,SAAS;QACZ,2EAA2E;QAC3E,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,mCAAmC,EACzC,YAAY,EAAE,mCAAmC,EACjD,UAAU,kCACH,SAAS,CAAC,UAAU,KACvB,IAAI,EAAE,mCAAmC,EACzC,MAAM,EAAE,QAAQ,OAEtB;AACN,CAAC;AAED,MAAM,UAAU,kCAAkC,CAC9C,MAA4B,EAC5B,OAA2B;IAE3B,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACtB,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO;YACH,IAAI,EAAE,mCAAmC;YACzC,KAAK,EAAE,OAAO,CAAC,OAAO;gBAClB,CAAC,CAAC,GAAG,kCAAkC,cAAc,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;gBAChF,CAAC,CAAC,kCAAkC;SAC3C,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,6BAA6B,CACzC,IAA0B,EAC1B,OAA2B;IAE3B,uCACO,IAAI,KACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAC7D,MAAM,EAAE,kCAAkC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAClE;AACN,CAAC;AAED,MAAM,UAAU,0BAA0B,CACtC,EAAgB,EAChB,qBAAmD,qBAAqB,EACxE,eAAkC,EAClC,MAA0C,OAAO,CAAC,GAAG,EACrD,iBAA6C,EAC7C,sBAAiD;IAEjD,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAE9D,yCAAyC,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../../src/agent/extensions/builtins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { type ExtensionAPI } from '@earendil-works/pi-coding-agent';
|
|
2
|
-
|
|
2
|
+
import { type PromptLoaderRouter } from './prompt-routing.js';
|
|
3
|
+
export { detectCoreConceptsPreloadLevel } from '../core-concepts-routing.js';
|
|
4
|
+
export type { CoreConceptsPreloadInput, CoreConceptsPreloadLevel } from '../core-concepts-routing.js';
|
|
3
5
|
export interface CoreConceptsPreloadDefinition {
|
|
4
6
|
docPath: string;
|
|
5
7
|
markdown: string;
|
|
6
8
|
}
|
|
7
|
-
export interface CoreConceptsPreloadInput {
|
|
8
|
-
prompt: string;
|
|
9
|
-
}
|
|
10
9
|
/** System prompt section that grounds the session in the Bkper data model. */
|
|
11
10
|
export declare const CORE_CONCEPTS_SECTION = "bkper-core-concepts";
|
|
12
11
|
/**
|
|
@@ -17,7 +16,6 @@ export declare const CORE_CONCEPTS_ENTRY_TYPE = "bkper-core-concepts";
|
|
|
17
16
|
export declare function resolveBkperDocPathFromModuleDir(moduleDir: string, relativePath: string): string;
|
|
18
17
|
export declare function getCoreConceptsDocPath(): string;
|
|
19
18
|
export declare function getDefaultCoreConceptsPreloadDefinition(): CoreConceptsPreloadDefinition;
|
|
20
|
-
export declare function detectCoreConceptsPreloadLevel(input: CoreConceptsPreloadInput): CoreConceptsPreloadLevel;
|
|
21
19
|
/**
|
|
22
20
|
* Grounds accounting and finance sessions in the Bkper data model through a system
|
|
23
21
|
* prompt section. Once loaded, the section is kept for the rest of the session: Pi
|
|
@@ -25,5 +23,5 @@ export declare function detectCoreConceptsPreloadLevel(input: CoreConceptsPreloa
|
|
|
25
23
|
* not set again would be removed. Pi appends the section as a mid-conversation
|
|
26
24
|
* system message, which keeps the cached prefix on models that accept those messages.
|
|
27
25
|
*/
|
|
28
|
-
export declare function registerBkperCoreConceptsPreloadExtension(pi: Pick<ExtensionAPI, 'on' | 'registerEntryRenderer' | 'registerMessageRenderer' | 'appendEntry'>, definition?: CoreConceptsPreloadDefinition): void;
|
|
26
|
+
export declare function registerBkperCoreConceptsPreloadExtension(pi: Pick<ExtensionAPI, 'on' | 'registerEntryRenderer' | 'registerMessageRenderer' | 'appendEntry'>, definition?: CoreConceptsPreloadDefinition, router?: PromptLoaderRouter): void;
|
|
29
27
|
//# sourceMappingURL=core-concepts-preload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-concepts-preload.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/core-concepts-preload.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"core-concepts-preload.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/core-concepts-preload.ts"],"names":[],"mappings":"AAGA,OAAO,EAIH,KAAK,YAAY,EAOpB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAiC,KAAK,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAE5F,OAAO,EAAC,8BAA8B,EAAC,MAAM,6BAA6B,CAAC;AAC3E,YAAY,EAAC,wBAAwB,EAAE,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAEpG,MAAM,WAAW,6BAA6B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAK9D,wBAAgB,gCAAgC,CAC5C,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACrB,MAAM,CAaR;AAOD,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,uCAAuC,IAAI,6BAA6B,CAMvF;AA8ED;;;;;;GAMG;AACH,wBAAgB,yCAAyC,CACrD,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,uBAAuB,GAAG,yBAAyB,GAAG,aAAa,CAAC,EAClG,UAAU,GAAE,6BAAyE,EACrF,MAAM,GAAE,kBAAuD,GAChE,IAAI,CA8BN"}
|
|
@@ -3,10 +3,9 @@ import path from 'node:path';
|
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
import { createReadToolDefinition, } from '@earendil-works/pi-coding-agent';
|
|
5
5
|
import { Box } from '../pi-shared-modules.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const SEMANTIC_PATTERN = /\b(bkper|book|books|account|accounts|group|groups|transaction|transactions|balance|balances|incoming|outgoing|asset|assets|liability|liabilities|receivable|receivables|payable|payables|statement|statements|ledger|flow|flows|movement|movements|collection|collections|tax)\b/i;
|
|
6
|
+
import { CORE_CONCEPTS_ROUTE } from '../core-concepts-routing.js';
|
|
7
|
+
import { registerPromptRoutingExtension } from './prompt-routing.js';
|
|
8
|
+
export { detectCoreConceptsPreloadLevel } from '../core-concepts-routing.js';
|
|
10
9
|
/** System prompt section that grounds the session in the Bkper data model. */
|
|
11
10
|
export const CORE_CONCEPTS_SECTION = 'bkper-core-concepts';
|
|
12
11
|
/**
|
|
@@ -40,23 +39,6 @@ export function getDefaultCoreConceptsPreloadDefinition() {
|
|
|
40
39
|
markdown: readFileSync(docPath, 'utf8'),
|
|
41
40
|
};
|
|
42
41
|
}
|
|
43
|
-
export function detectCoreConceptsPreloadLevel(input) {
|
|
44
|
-
const prompt = input.prompt.trim();
|
|
45
|
-
if (!prompt) {
|
|
46
|
-
return 'none';
|
|
47
|
-
}
|
|
48
|
-
const hasDocs = DOCS_PATTERN.test(prompt);
|
|
49
|
-
const hasAnalysis = ANALYSIS_PATTERN.test(prompt);
|
|
50
|
-
const hasAutomation = AUTOMATION_PATTERN.test(prompt);
|
|
51
|
-
const hasSemantic = SEMANTIC_PATTERN.test(prompt);
|
|
52
|
-
if ((hasDocs || hasAnalysis) && (hasAutomation || hasSemantic)) {
|
|
53
|
-
return 'full';
|
|
54
|
-
}
|
|
55
|
-
if (hasSemantic) {
|
|
56
|
-
return 'full';
|
|
57
|
-
}
|
|
58
|
-
return 'none';
|
|
59
|
-
}
|
|
60
42
|
function buildCoreConceptsSection(definition) {
|
|
61
43
|
return `Loaded from \`${definition.docPath}\`. Base all reasoning about Bkper data on this reference.\n\n${definition.markdown}`;
|
|
62
44
|
}
|
|
@@ -115,20 +97,18 @@ function createLegacyCoreConceptsMessageRenderer(definition) {
|
|
|
115
97
|
* not set again would be removed. Pi appends the section as a mid-conversation
|
|
116
98
|
* system message, which keeps the cached prefix on models that accept those messages.
|
|
117
99
|
*/
|
|
118
|
-
export function registerBkperCoreConceptsPreloadExtension(pi, definition = getDefaultCoreConceptsPreloadDefinition()) {
|
|
100
|
+
export function registerBkperCoreConceptsPreloadExtension(pi, definition = getDefaultCoreConceptsPreloadDefinition(), router = registerPromptRoutingExtension(pi)) {
|
|
119
101
|
const section = buildCoreConceptsSection(definition);
|
|
120
102
|
let markLoad = false;
|
|
121
103
|
pi.registerEntryRenderer(CORE_CONCEPTS_ENTRY_TYPE, createCoreConceptsEntryRenderer(definition));
|
|
122
104
|
pi.registerMessageRenderer(CORE_CONCEPTS_ENTRY_TYPE, createLegacyCoreConceptsMessageRenderer(definition));
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
markLoad = !loaded;
|
|
131
|
-
});
|
|
105
|
+
router.registerLoader(Object.assign(Object.assign({}, CORE_CONCEPTS_ROUTE), { isLoaded: wasCoreConceptsLoaded, apply(event, _ctx, load, alreadyLoaded) {
|
|
106
|
+
markLoad = false;
|
|
107
|
+
if (!load)
|
|
108
|
+
return;
|
|
109
|
+
event.systemPromptOptions.sections[CORE_CONCEPTS_SECTION] = section;
|
|
110
|
+
markLoad = !alreadyLoaded;
|
|
111
|
+
} }));
|
|
132
112
|
// The user prompt is persisted once its message ends, so the first assistant
|
|
133
113
|
// message is the earliest point where the marker lands after the prompt.
|
|
134
114
|
pi.on('message_start', (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-concepts-preload.js","sourceRoot":"","sources":["../../../src/agent/extensions/core-concepts-preload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACH,wBAAwB,
|
|
1
|
+
{"version":3,"file":"core-concepts-preload.js","sourceRoot":"","sources":["../../../src/agent/extensions/core-concepts-preload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACH,wBAAwB,GAU3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,8BAA8B,EAA0B,MAAM,qBAAqB,CAAC;AAE5F,OAAO,EAAC,8BAA8B,EAAC,MAAM,6BAA6B,CAAC;AAQ3E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAK9D,MAAM,UAAU,gCAAgC,CAC5C,SAAiB,EACjB,YAAoB;IAEpB,MAAM,UAAU,GAAG;QACf,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC;KACjF,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,cAAc,CAAC,YAAoB;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,OAAO,gCAAgC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,sBAAsB;IAClC,OAAO,cAAc,CAAC,uBAAuB,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,uCAAuC;IACnD,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,OAAO;QACH,OAAO;QACP,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1C,CAAC;AACN,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAyC;IACvE,OAAO,iBAAiB,UAAU,CAAC,OAAO,iEAAiE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACrI,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,GAAqB;IAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC,QAAQ,CAAC;IACtE,OAAO,QAAQ,CAAC,IAAI,CAChB,OAAO,CAAC,EAAE,WACN,OAAA,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAA,MAAA,OAAO,CAAC,QAAQ,0CAAG,qBAAqB,CAAC,CAAA,KAAK,QAAQ,CAAA,EAAA,CACjG,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAC3B,UAAyC,EACzC,QAAiB,EACjB,KAAY;IAEZ,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAkB,EAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAC,CAAC;IACvD,MAAM,OAAO,GAA0B;QACnC,IAAI;QACJ,UAAU,EAAE,wBAAwB;QACpC,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;QAC3B,aAAa,EAAE,SAAS;QACxB,KAAK,EAAE,EAAE;QACT,GAAG;QACH,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,KAAK;QAChB,QAAQ;QACR,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,KAAK;KACjB,CAAC;IAEF,gDAAgD;IAChD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7E,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,GAAG,CAAC,QAAQ,CACR,IAAI,CAAC,YAAY,CACb,EAAC,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAC,EAC1E,EAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAC,EAC5B,KAAK,EACL,OAAO,CACV,CACJ,CAAC;IACF,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,+BAA+B,CAAC,UAAyC;IAC9E,OAAO,CAAC,MAAoC,EAAE,OAA2B,EAAE,KAAY,EAAE,EAAE,CACvF,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,uCAAuC,CAC5C,UAAyC;IAEzC,OAAO,CAAC,QAAwC,EAAE,OAA6B,EAAE,KAAY,EAAE,EAAE,CAC7F,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yCAAyC,CACrD,EAAkG,EAClG,aAA4C,uCAAuC,EAAE,EACrF,SAA6B,8BAA8B,CAAC,EAAE,CAAC;IAE/D,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,EAAE,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,+BAA+B,CAAC,UAAU,CAAC,CAAC,CAAC;IAChG,EAAE,CAAC,uBAAuB,CACtB,wBAAwB,EACxB,uCAAuC,CAAC,UAAU,CAAC,CACtD,CAAC;IAEF,MAAM,CAAC,cAAc,iCACd,mBAAmB,KACtB,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa;YAClC,QAAQ,GAAG,KAAK,CAAC;YACjB,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;YACpE,QAAQ,GAAG,CAAC,aAAa,CAAC;QAC9B,CAAC,IACH,CAAC;IAEH,6EAA6E;IAC7E,yEAAyE;IACzE,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAwB,EAAE,EAAE;QAChD,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAClD,OAAO;QACX,CAAC;QACD,QAAQ,GAAG,KAAK,CAAC;QACjB,EAAE,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BeforeAgentStartEvent, ExtensionAPI, ExtensionContext } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
import { type PromptRoute } from '../prompt-routing.js';
|
|
3
|
+
/** Loaders own injection and persistence; the router only owns prompt decisions. */
|
|
4
|
+
export interface PromptLoader extends PromptRoute {
|
|
5
|
+
isLoaded(ctx: ExtensionContext): boolean;
|
|
6
|
+
apply(event: BeforeAgentStartEvent, ctx: ExtensionContext, load: boolean, alreadyLoaded: boolean): void;
|
|
7
|
+
}
|
|
8
|
+
export interface PromptLoaderRouter {
|
|
9
|
+
registerLoader(loader: PromptLoader): void;
|
|
10
|
+
}
|
|
11
|
+
export declare function registerPromptRoutingExtension(pi: Pick<ExtensionAPI, 'on'>): PromptLoaderRouter;
|
|
12
|
+
//# sourceMappingURL=prompt-routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-routing.d.ts","sourceRoot":"","sources":["../../../src/agent/extensions/prompt-routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGH,KAAK,WAAW,EACnB,MAAM,sBAAsB,CAAC;AAE9B,oFAAoF;AACpF,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC7C,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACzC,KAAK,CACD,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,OAAO,GACvB,IAAI,CAAC;CACX;AAED,MAAM,WAAW,kBAAkB;IAC/B,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CAC9C;AAED,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,kBAAkB,CAoC/F"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { buildPromptRoutingInput, evaluatePromptRoutes, } from '../prompt-routing.js';
|
|
11
|
+
export function registerPromptRoutingExtension(pi) {
|
|
12
|
+
const loaders = [];
|
|
13
|
+
pi.on('before_agent_start', (event, ctx) => __awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
var _a;
|
|
15
|
+
const states = loaders.map(loader => ({ loader, loaded: loader.isLoaded(ctx) }));
|
|
16
|
+
const pending = states.filter(state => !state.loaded).map(state => state.loader);
|
|
17
|
+
const decisions = pending.length > 0
|
|
18
|
+
? yield evaluatePromptRoutes(buildPromptRoutingInput(event.prompt, ctx.sessionManager.buildSessionProjection().messages), pending, ctx.modelRegistry, { signal: ctx.signal })
|
|
19
|
+
: {};
|
|
20
|
+
for (const { loader, loaded } of states) {
|
|
21
|
+
loader.apply(event, ctx, loaded || ((_a = decisions[loader.id]) === null || _a === void 0 ? void 0 : _a.load) === true, loaded);
|
|
22
|
+
}
|
|
23
|
+
}));
|
|
24
|
+
return {
|
|
25
|
+
registerLoader(loader) {
|
|
26
|
+
if (loaders.some(existing => existing.id === loader.id)) {
|
|
27
|
+
throw new Error(`Prompt loader already registered: ${loader.id}`);
|
|
28
|
+
}
|
|
29
|
+
if (!Number.isFinite(loader.threshold) ||
|
|
30
|
+
loader.threshold < 0 ||
|
|
31
|
+
loader.threshold > 1) {
|
|
32
|
+
throw new Error(`Invalid prompt routing threshold: ${loader.id}`);
|
|
33
|
+
}
|
|
34
|
+
loaders.push(loader);
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=prompt-routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-routing.js","sourceRoot":"","sources":["../../../src/agent/extensions/prompt-routing.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,EACH,uBAAuB,EACvB,oBAAoB,GAEvB,MAAM,sBAAsB,CAAC;AAiB9B,MAAM,UAAU,8BAA8B,CAAC,EAA4B;IACvE,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAO,KAAK,EAAE,GAAG,EAAE,EAAE;;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjF,MAAM,SAAS,GACX,OAAO,CAAC,MAAM,GAAG,CAAC;YACd,CAAC,CAAC,MAAM,oBAAoB,CACtB,uBAAuB,CACnB,KAAK,CAAC,MAAM,EACZ,GAAG,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC,QAAQ,CACvD,EACD,OAAO,EACP,GAAG,CAAC,aAAa,EACjB,EAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAC,CACvB;YACH,CAAC,CAAC,EAAE,CAAC;QACb,KAAK,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,IAAI,MAAM,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA,MAAA,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,0CAAE,IAAI,MAAK,IAAI,EAAE,MAAM,CAAC,CAAC;QACpF,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;IACH,OAAO;QACH,cAAc,CAAC,MAAM;YACjB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IACI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;gBAClC,MAAM,CAAC,SAAS,GAAG,CAAC;gBACpB,MAAM,CAAC,SAAS,GAAG,CAAC,EACtB,CAAC;gBACC,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { InteractiveMode } from '@earendil-works/pi-coding-agent';
|
|
|
2
2
|
export type InteractiveRuntimeHost = ConstructorParameters<typeof InteractiveMode>[0];
|
|
3
3
|
export declare function suppressPiResumeHintOutput(): () => void;
|
|
4
4
|
export declare class BkperInteractiveMode extends InteractiveMode {
|
|
5
|
+
private restorePendingUserMessage?;
|
|
5
6
|
init(): Promise<void>;
|
|
6
7
|
run(): Promise<void>;
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/interactive-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,eAAe,EAElB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/interactive-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,eAAe,EAElB,MAAM,iCAAiC,CAAC;AAyBzC,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAStF,wBAAgB,0BAA0B,IAAI,MAAM,IAAI,CAmBvD;AAED,qBAAa,oBAAqB,SAAQ,eAAe;IACrD,OAAO,CAAC,yBAAyB,CAAC,CAAa;IAEzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkFrB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAW7B"}
|
|
@@ -12,6 +12,7 @@ import { installBkperAuthCommandRouting } from '../extensions/auth-commands.js';
|
|
|
12
12
|
import { installHandoffGoalEditorAutocomplete, installHandoffGoalEditorPromptHistory, } from '../extensions/handoff-goal-editor.js';
|
|
13
13
|
import { installPromptHistoryEditor, } from './prompt-history-search.js';
|
|
14
14
|
import { installPromptHistoryShortcut } from './prompt-history-shortcut.js';
|
|
15
|
+
import { installPendingUserMessage, } from './pending-user-message.js';
|
|
15
16
|
import { FilePromptHistory, getPromptHistoryPath, } from './prompt-history-store.js';
|
|
16
17
|
import { installBkperSessionKeybindings, } from './session-keybindings.js';
|
|
17
18
|
const PI_RESUME_HINT_TEXT = 'To resume this session:';
|
|
@@ -37,13 +38,22 @@ export class BkperInteractiveMode extends InteractiveMode {
|
|
|
37
38
|
init: { get: () => super.init }
|
|
38
39
|
});
|
|
39
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
var _a;
|
|
41
|
+
var _a, _b;
|
|
41
42
|
const interactiveMode = this;
|
|
42
43
|
interactiveMode.getChangelogForDisplay = () => undefined;
|
|
43
44
|
if (interactiveMode.keybindings) {
|
|
44
45
|
installBkperSessionKeybindings(interactiveMode.keybindings);
|
|
45
46
|
}
|
|
46
47
|
yield _super.init.call(this);
|
|
48
|
+
(_a = this.restorePendingUserMessage) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
49
|
+
const pendingMessageHost = this;
|
|
50
|
+
if (pendingMessageHost.session &&
|
|
51
|
+
pendingMessageHost.chatContainer &&
|
|
52
|
+
pendingMessageHost.ui &&
|
|
53
|
+
pendingMessageHost.addMessageToChat &&
|
|
54
|
+
pendingMessageHost.handleEvent) {
|
|
55
|
+
this.restorePendingUserMessage = installPendingUserMessage(pendingMessageHost);
|
|
56
|
+
}
|
|
47
57
|
const authRoutingMode = this;
|
|
48
58
|
const promptHistory = new FilePromptHistory(getPromptHistoryPath(getAgentDir()));
|
|
49
59
|
const handoffGoalMode = this;
|
|
@@ -52,7 +62,7 @@ export class BkperInteractiveMode extends InteractiveMode {
|
|
|
52
62
|
installHandoffGoalEditorPromptHistory(handoffGoalHost, promptHistory);
|
|
53
63
|
installHandoffGoalEditorAutocomplete(handoffGoalHost);
|
|
54
64
|
}
|
|
55
|
-
const providerRegistry = (
|
|
65
|
+
const providerRegistry = (_b = authRoutingMode.session) === null || _b === void 0 ? void 0 : _b.modelRuntime;
|
|
56
66
|
if (providerRegistry) {
|
|
57
67
|
const editors = new Set([authRoutingMode.defaultEditor, authRoutingMode.editor].filter(editor => editor !== undefined));
|
|
58
68
|
for (const editor of editors) {
|
|
@@ -73,11 +83,14 @@ export class BkperInteractiveMode extends InteractiveMode {
|
|
|
73
83
|
run: { get: () => super.run }
|
|
74
84
|
});
|
|
75
85
|
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
var _a;
|
|
76
87
|
const restoreResumeHintOutput = suppressPiResumeHintOutput();
|
|
77
88
|
try {
|
|
78
89
|
yield _super.run.call(this);
|
|
79
90
|
}
|
|
80
91
|
finally {
|
|
92
|
+
(_a = this.restorePendingUserMessage) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
93
|
+
this.restorePendingUserMessage = undefined;
|
|
81
94
|
restoreResumeHintOutput();
|
|
82
95
|
}
|
|
83
96
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-mode.js","sourceRoot":"","sources":["../../../src/agent/interactive/interactive-mode.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACH,WAAW,EACX,eAAe,GAElB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,8BAA8B,EAAC,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EACH,oCAAoC,EACpC,qCAAqC,GAExC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,0BAA0B,GAE7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,4BAA4B,EAAC,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EACH,iBAAiB,EACjB,oBAAoB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,8BAA8B,GAEjC,MAAM,0BAA0B,CAAC;AAIlC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AACtD,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD,SAAS,oBAAoB,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,0BAA0B;IACtC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAE3C,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAEnB,KAA0B,EAC1B,QAAyB,EACzB,QAAuC;QAEvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAgC,CAAC;IAEjC,OAAO,GAAG,EAAE;QACR,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;IACzC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,OAAO,oBAAqB,SAAQ,eAAe;
|
|
1
|
+
{"version":3,"file":"interactive-mode.js","sourceRoot":"","sources":["../../../src/agent/interactive/interactive-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { AgentSession, AgentSessionEvent, MessageStartEvent } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
import type { Container, TUI } from '@earendil-works/pi-tui';
|
|
3
|
+
type UserMessage = Extract<MessageStartEvent['message'], {
|
|
4
|
+
role: 'user';
|
|
5
|
+
}>;
|
|
6
|
+
/** Private Pi UI surface, isolated here until Pi supports preflight previews. */
|
|
7
|
+
export interface PendingUserMessageHost {
|
|
8
|
+
session: {
|
|
9
|
+
prompt: AgentSession['prompt'];
|
|
10
|
+
isStreaming: boolean;
|
|
11
|
+
isCompacting: boolean;
|
|
12
|
+
};
|
|
13
|
+
chatContainer: Pick<Container, 'children' | 'removeChild'>;
|
|
14
|
+
ui: Pick<TUI, 'requestRender'>;
|
|
15
|
+
addMessageToChat(message: UserMessage): void;
|
|
16
|
+
handleEvent(event: AgentSessionEvent): Promise<void>;
|
|
17
|
+
rebindCurrentSession?(options?: {
|
|
18
|
+
renderBeforeBind?: boolean;
|
|
19
|
+
}): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
/** Preview only in the UI: Pi remains responsible for canonical messages and history. */
|
|
22
|
+
export declare function installPendingUserMessage(host: PendingUserMessageHost): () => void;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=pending-user-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-user-message.d.ts","sourceRoot":"","sources":["../../../src/agent/interactive/pending-user-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAY,SAAS,EAAE,GAAG,EAAC,MAAM,wBAAwB,CAAC;AAEtE,KAAK,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC;AAEzE,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE;QACL,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/B,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,aAAa,CAAC,CAAC;IAC3D,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC/B,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChF;AAED,yFAAyF;AACzF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,IAAI,CAiElF"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
/** Preview only in the UI: Pi remains responsible for canonical messages and history. */
|
|
11
|
+
export function installPendingUserMessage(host) {
|
|
12
|
+
let session = host.session;
|
|
13
|
+
let prompt = session.prompt;
|
|
14
|
+
const handleEvent = host.handleEvent;
|
|
15
|
+
const rebindCurrentSession = host.rebindCurrentSession;
|
|
16
|
+
let pending;
|
|
17
|
+
const clear = () => {
|
|
18
|
+
if (!pending)
|
|
19
|
+
return;
|
|
20
|
+
for (const component of pending)
|
|
21
|
+
host.chatContainer.removeChild(component);
|
|
22
|
+
pending = undefined;
|
|
23
|
+
host.ui.requestRender();
|
|
24
|
+
};
|
|
25
|
+
const promptWithPreview = (text, options) => __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
const trimmed = text.trim();
|
|
27
|
+
const preview = !pending &&
|
|
28
|
+
!session.isStreaming &&
|
|
29
|
+
!session.isCompacting &&
|
|
30
|
+
(!(options === null || options === void 0 ? void 0 : options.source) || options.source === 'interactive') &&
|
|
31
|
+
trimmed.length > 0 &&
|
|
32
|
+
!trimmed.startsWith('/') &&
|
|
33
|
+
!trimmed.startsWith('!');
|
|
34
|
+
let components;
|
|
35
|
+
if (preview) {
|
|
36
|
+
const start = host.chatContainer.children.length;
|
|
37
|
+
host.addMessageToChat({ role: 'user', content: trimmed, timestamp: Date.now() });
|
|
38
|
+
components = host.chatContainer.children.slice(start);
|
|
39
|
+
pending = components;
|
|
40
|
+
host.ui.requestRender();
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
yield prompt.call(session, text, options);
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
// Handled/rejected input has no user message event. Do not leave a ghost row.
|
|
47
|
+
if (components && pending === components)
|
|
48
|
+
clear();
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
const handleEventWithPreview = (event) => __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
if (event.type === 'message_start' && event.message.role === 'user')
|
|
53
|
+
clear();
|
|
54
|
+
yield handleEvent.call(host, event);
|
|
55
|
+
});
|
|
56
|
+
const rebindWithPreview = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
if (host.session !== session) {
|
|
58
|
+
clear();
|
|
59
|
+
if (session.prompt === promptWithPreview)
|
|
60
|
+
session.prompt = prompt;
|
|
61
|
+
session = host.session;
|
|
62
|
+
prompt = session.prompt;
|
|
63
|
+
session.prompt = promptWithPreview;
|
|
64
|
+
}
|
|
65
|
+
yield (rebindCurrentSession === null || rebindCurrentSession === void 0 ? void 0 : rebindCurrentSession.call(host, options));
|
|
66
|
+
});
|
|
67
|
+
session.prompt = promptWithPreview;
|
|
68
|
+
host.handleEvent = handleEventWithPreview;
|
|
69
|
+
if (rebindCurrentSession)
|
|
70
|
+
host.rebindCurrentSession = rebindWithPreview;
|
|
71
|
+
return () => {
|
|
72
|
+
clear();
|
|
73
|
+
if (session.prompt === promptWithPreview)
|
|
74
|
+
session.prompt = prompt;
|
|
75
|
+
if (host.handleEvent === handleEventWithPreview)
|
|
76
|
+
host.handleEvent = handleEvent;
|
|
77
|
+
if (host.rebindCurrentSession === rebindWithPreview) {
|
|
78
|
+
host.rebindCurrentSession = rebindCurrentSession;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=pending-user-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-user-message.js","sourceRoot":"","sources":["../../../src/agent/interactive/pending-user-message.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ClassifierBoolQuestion } from '@earendil-works/pi-ai';
|
|
2
|
+
import type { ModelRegistry, SessionProjection } from '@earendil-works/pi-coding-agent';
|
|
3
|
+
export declare const PROMPT_ROUTING_MODEL: {
|
|
4
|
+
readonly provider: "bkper";
|
|
5
|
+
readonly id: "jev";
|
|
6
|
+
};
|
|
7
|
+
export declare const PROMPT_ROUTING_TIMEOUT_MS = 5000;
|
|
8
|
+
export interface PromptRoutingInput {
|
|
9
|
+
prompt: string;
|
|
10
|
+
recentUserMessages: string[];
|
|
11
|
+
}
|
|
12
|
+
/** Independent yes/no routes: more than one may match the same prompt. */
|
|
13
|
+
export interface PromptRoute {
|
|
14
|
+
id: string;
|
|
15
|
+
question: ClassifierBoolQuestion;
|
|
16
|
+
threshold: number;
|
|
17
|
+
fallback(input: PromptRoutingInput): boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface PromptRouteDecision {
|
|
20
|
+
load: boolean;
|
|
21
|
+
source: 'classifier' | 'fallback';
|
|
22
|
+
probability?: number;
|
|
23
|
+
reason?: string;
|
|
24
|
+
}
|
|
25
|
+
export type PromptRoutingRegistry = Pick<ModelRegistry, 'getAvailableOfType' | 'classify'>;
|
|
26
|
+
/** Only user text from the current branch is sent; never tool output or images. */
|
|
27
|
+
export declare function buildPromptRoutingInput(prompt: string, messages?: SessionProjection['messages']): PromptRoutingInput;
|
|
28
|
+
/** One bounded Jev call for all pending questions, with a fallback per route. */
|
|
29
|
+
export declare function evaluatePromptRoutes(input: PromptRoutingInput, routes: readonly PromptRoute[], registry: PromptRoutingRegistry, options?: {
|
|
30
|
+
timeoutMs?: number;
|
|
31
|
+
signal?: AbortSignal;
|
|
32
|
+
}): Promise<Record<string, PromptRouteDecision>>;
|
|
33
|
+
//# sourceMappingURL=prompt-routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-routing.d.ts","sourceRoot":"","sources":["../../src/agent/prompt-routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAC,aAAa,EAAE,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAEtF,eAAO,MAAM,oBAAoB;;;CAA0C,CAAC;AAC5E,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAK/C,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,sBAAsB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,oBAAoB,GAAG,UAAU,CAAC,CAAC;AAE3F,mFAAmF;AACnF,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,iBAAiB,CAAC,UAAU,CAAM,GAC7C,kBAAkB,CAmBpB;AAED,iFAAiF;AACjF,wBAAsB,oBAAoB,CACtC,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,GAAE;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAM,GACzD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CA4E9C"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
export const PROMPT_ROUTING_MODEL = { provider: 'bkper', id: 'jev' };
|
|
11
|
+
export const PROMPT_ROUTING_TIMEOUT_MS = 5000;
|
|
12
|
+
const MAX_PROMPT_CHARS = 16000;
|
|
13
|
+
const MAX_RECENT_USER_MESSAGES = 3;
|
|
14
|
+
const MAX_CONTEXT_MESSAGE_CHARS = 2000;
|
|
15
|
+
/** Only user text from the current branch is sent; never tool output or images. */
|
|
16
|
+
export function buildPromptRoutingInput(prompt, messages = []) {
|
|
17
|
+
const recentUserMessages = [];
|
|
18
|
+
for (let i = messages.length - 1; i >= 0 && recentUserMessages.length < MAX_RECENT_USER_MESSAGES; i--) {
|
|
19
|
+
const message = messages[i];
|
|
20
|
+
if (message.role !== 'user')
|
|
21
|
+
continue;
|
|
22
|
+
const text = typeof message.content === 'string'
|
|
23
|
+
? message.content
|
|
24
|
+
: message.content
|
|
25
|
+
.filter(block => block.type === 'text')
|
|
26
|
+
.map(block => block.text)
|
|
27
|
+
.join('\n');
|
|
28
|
+
if (text.trim())
|
|
29
|
+
recentUserMessages.unshift(text.slice(0, MAX_CONTEXT_MESSAGE_CHARS));
|
|
30
|
+
}
|
|
31
|
+
return { prompt: prompt.slice(0, MAX_PROMPT_CHARS), recentUserMessages };
|
|
32
|
+
}
|
|
33
|
+
/** One bounded Jev call for all pending questions, with a fallback per route. */
|
|
34
|
+
export function evaluatePromptRoutes(input_1, routes_1, registry_1) {
|
|
35
|
+
return __awaiter(this, arguments, void 0, function* (input, routes, registry, options = {}) {
|
|
36
|
+
var _a, _b, _c, _d;
|
|
37
|
+
if (routes.length === 0)
|
|
38
|
+
return {};
|
|
39
|
+
const fallback = (route, reason) => ({
|
|
40
|
+
load: route.fallback(input),
|
|
41
|
+
source: 'fallback',
|
|
42
|
+
reason,
|
|
43
|
+
});
|
|
44
|
+
const fallbackAll = (reason) => Object.fromEntries(routes.map(route => [route.id, fallback(route, reason)]));
|
|
45
|
+
if (!input.prompt.trim())
|
|
46
|
+
return fallbackAll('Empty prompt.');
|
|
47
|
+
const controller = new AbortController();
|
|
48
|
+
const cancel = () => controller.abort('Routing cancelled.');
|
|
49
|
+
let onAbort;
|
|
50
|
+
const stopped = new Promise(resolve => {
|
|
51
|
+
onAbort = () => resolve(fallbackAll(String(controller.signal.reason)));
|
|
52
|
+
controller.signal.addEventListener('abort', onAbort, { once: true });
|
|
53
|
+
});
|
|
54
|
+
(_a = options.signal) === null || _a === void 0 ? void 0 : _a.addEventListener('abort', cancel, { once: true });
|
|
55
|
+
const timer = setTimeout(() => controller.abort('Routing timed out.'), (_b = options.timeoutMs) !== null && _b !== void 0 ? _b : PROMPT_ROUTING_TIMEOUT_MS);
|
|
56
|
+
if ((_c = options.signal) === null || _c === void 0 ? void 0 : _c.aborted)
|
|
57
|
+
cancel();
|
|
58
|
+
const classify = () => __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
var _a;
|
|
60
|
+
try {
|
|
61
|
+
if (controller.signal.aborted)
|
|
62
|
+
return yield stopped;
|
|
63
|
+
const available = yield registry.getAvailableOfType('classifier', PROMPT_ROUTING_MODEL.provider, { signal: controller.signal });
|
|
64
|
+
if (controller.signal.aborted)
|
|
65
|
+
return yield stopped;
|
|
66
|
+
const model = available.find(candidate => candidate.id === PROMPT_ROUTING_MODEL.id);
|
|
67
|
+
if (!model)
|
|
68
|
+
return fallbackAll('Jev unavailable.');
|
|
69
|
+
const result = yield registry.classify(model, {
|
|
70
|
+
state: { prompt: input.prompt, recentUserMessages: input.recentUserMessages },
|
|
71
|
+
questions: Object.fromEntries(routes.map(route => [route.id, route.question])),
|
|
72
|
+
}, { signal: controller.signal });
|
|
73
|
+
if (result.stopReason !== 'stop')
|
|
74
|
+
return fallbackAll((_a = result.errorMessage) !== null && _a !== void 0 ? _a : result.stopReason);
|
|
75
|
+
return Object.fromEntries(routes.map(route => {
|
|
76
|
+
const answer = result.answers[route.id];
|
|
77
|
+
const probability = (answer === null || answer === void 0 ? void 0 : answer.type) === 'bool' ? answer.probability : undefined;
|
|
78
|
+
const decision = probability !== undefined &&
|
|
79
|
+
Number.isFinite(probability) &&
|
|
80
|
+
probability >= 0 &&
|
|
81
|
+
probability <= 1
|
|
82
|
+
? {
|
|
83
|
+
load: probability >= route.threshold,
|
|
84
|
+
source: 'classifier',
|
|
85
|
+
probability,
|
|
86
|
+
}
|
|
87
|
+
: fallback(route, 'Missing or invalid answer.');
|
|
88
|
+
return [route.id, decision];
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
return fallbackAll(error instanceof Error ? error.message : String(error));
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
try {
|
|
96
|
+
// Race as well as abort: misbehaving providers must not block a user prompt.
|
|
97
|
+
return yield Promise.race([classify(), stopped]);
|
|
98
|
+
}
|
|
99
|
+
finally {
|
|
100
|
+
clearTimeout(timer);
|
|
101
|
+
(_d = options.signal) === null || _d === void 0 ? void 0 : _d.removeEventListener('abort', cancel);
|
|
102
|
+
controller.signal.removeEventListener('abort', onAbort);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=prompt-routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-routing.js","sourceRoot":"","sources":["../../src/agent/prompt-routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,9 +63,10 @@ export interface UpdateWorkerDependencies {
|
|
|
63
63
|
*/
|
|
64
64
|
export declare function runUpdateWorker(deps?: UpdateWorkerDependencies): Promise<void>;
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* Checks the running copy on disk before reporting a cached update result.
|
|
67
|
+
* Another process may have completed the upgrade since the cache was written.
|
|
67
68
|
*/
|
|
68
|
-
export declare function getUpdateNotice(state: UpdateCheckState, currentVersion?: string): UpdateNotice | undefined;
|
|
69
|
+
export declare function getUpdateNotice(state: UpdateCheckState, currentVersion?: string, installedVersion?: string | undefined): UpdateNotice | undefined;
|
|
69
70
|
export declare function formatUpdateNotice(notice: UpdateNotice): string;
|
|
70
71
|
/**
|
|
71
72
|
* Plain-command hook: prints the fallback warning when the copy cannot
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/upgrade/update-check.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,QAAsB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAgB,CAAC;AAKrD,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,MAAM,YAAY,GAClB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,UAAU,GAAE,MAAoB,EAChC,SAAS,GAAE,MAAyB,GACrC,MAAM,CAGR;AAED,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,GAAiB,GAAG,OAAO,CAMrE;AAED,wBAAgB,eAAe,CAAC,SAAS,GAAE,MAA6B,GAAG,gBAAgB,CA+B1F;AAED,wDAAwD;AACxD,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,gBAAgB,EACvB,SAAS,GAAE,MAA6B,GACzC,OAAO,CAeT;AAwCD,MAAM,WAAW,uBAAuB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAyBpF;AAED,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClE,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,cAAc,CAAC;IACvD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,oBAAoB,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACzE;AA8BD;;;GAGG;AACH,wBAAsB,eAAe,CACjC,IAAI,GAAE,wBAA4D,GACnE,OAAO,CAAC,IAAI,CAAC,CAef;AAED
|
|
1
|
+
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/upgrade/update-check.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,QAAsB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAgB,CAAC;AAKrD,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,MAAM,YAAY,GAClB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,UAAU,GAAE,MAAoB,EAChC,SAAS,GAAE,MAAyB,GACrC,MAAM,CAGR;AAED,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,GAAiB,GAAG,OAAO,CAMrE;AAED,wBAAgB,eAAe,CAAC,SAAS,GAAE,MAA6B,GAAG,gBAAgB,CA+B1F;AAED,wDAAwD;AACxD,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,gBAAgB,EACvB,SAAS,GAAE,MAA6B,GACzC,OAAO,CAeT;AAwCD,MAAM,WAAW,uBAAuB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAyBpF;AAED,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClE,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,cAAc,CAAC;IACvD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,oBAAoB,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACzE;AA8BD;;;GAGG;AACH,wBAAsB,eAAe,CACjC,IAAI,GAAE,wBAA4D,GACnE,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,gBAAgB,EACvB,cAAc,GAAE,MAAgB,EAChC,gBAAgB,GAAE,MAAM,GAAG,SAAwE,GACpG,YAAY,GAAG,SAAS,CAqB1B;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAK/D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,WAAW,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAA+C,GAClF,IAAI,CAaN"}
|
|
@@ -210,10 +210,14 @@ export function runUpdateWorker() {
|
|
|
210
210
|
});
|
|
211
211
|
}
|
|
212
212
|
/**
|
|
213
|
-
*
|
|
213
|
+
* Checks the running copy on disk before reporting a cached update result.
|
|
214
|
+
* Another process may have completed the upgrade since the cache was written.
|
|
214
215
|
*/
|
|
215
|
-
export function getUpdateNotice(state, currentVersion = VERSION) {
|
|
216
|
+
export function getUpdateNotice(state, currentVersion = VERSION, installedVersion = readInstalledVersion(path.join(PACKAGE_DIR, 'package.json'))) {
|
|
216
217
|
var _a;
|
|
218
|
+
if (installedVersion && isNewerVersion(currentVersion, installedVersion)) {
|
|
219
|
+
return { kind: 'installed', current: currentVersion, latest: installedVersion };
|
|
220
|
+
}
|
|
217
221
|
const latest = state.latestVersion;
|
|
218
222
|
if (!latest || !isNewerVersion(currentVersion, latest)) {
|
|
219
223
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/upgrade/update-check.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/upgrade/update-check.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bkper",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.3",
|
|
4
4
|
"description": "Official Bkper CLI for accounting data, automation, apps, and AI agents",
|
|
5
5
|
"bin": {
|
|
6
6
|
"bkper": "lib/cli.js"
|
|
@@ -60,6 +60,7 @@
|
|
|
60
60
|
"release:major": "npm version major -m \"chore(release): v%s\"",
|
|
61
61
|
"docs:compliance": "TS_NODE_PROJECT=tsconfig.test.json node --loader ts-node/esm ./test/tools/docs-compliance/check.ts",
|
|
62
62
|
"docs:compliance:live": "TS_NODE_PROJECT=tsconfig.test.json node --loader ts-node/esm ./test/tools/docs-compliance/live.ts",
|
|
63
|
+
"eval:prompt-routing": "bun ./test/tools/prompt-routing/live.ts",
|
|
63
64
|
"upgrade:api": "bun update @bkper/bkper-api-types --latest && bun update bkper-js --latest"
|
|
64
65
|
},
|
|
65
66
|
"dependencies": {
|