@kaleidorg/mind 0.6.0 → 0.6.1
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/dist/bitrefill/contract.d.ts +60 -0
- package/dist/bitrefill/contract.d.ts.map +1 -0
- package/dist/bitrefill/contract.js +119 -0
- package/dist/bitrefill/contract.js.map +1 -0
- package/dist/context/compress.d.ts +65 -0
- package/dist/context/compress.d.ts.map +1 -0
- package/dist/context/compress.js +181 -0
- package/dist/context/compress.js.map +1 -0
- package/dist/engine.d.ts +20 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +23 -4
- package/dist/engine.js.map +1 -1
- package/dist/evidence.d.ts +62 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +47 -0
- package/dist/evidence.js.map +1 -0
- package/dist/flashnet/contract.d.ts +56 -0
- package/dist/flashnet/contract.d.ts.map +1 -0
- package/dist/flashnet/contract.js +100 -0
- package/dist/flashnet/contract.js.map +1 -0
- package/dist/funnel.d.ts +11 -0
- package/dist/funnel.d.ts.map +1 -1
- package/dist/funnel.js +50 -7
- package/dist/funnel.js.map +1 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/kaleidoswap/contract.js +1 -1
- package/dist/kaleidoswap/contract.js.map +1 -1
- package/dist/knowledge/bitcoin-copilot.d.ts.map +1 -1
- package/dist/knowledge/bitcoin-copilot.js +83 -0
- package/dist/knowledge/bitcoin-copilot.js.map +1 -1
- package/dist/providers/types.d.ts +17 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/qvac/provider.d.ts.map +1 -1
- package/dist/qvac/provider.js +23 -0
- package/dist/qvac/provider.js.map +1 -1
- package/dist/qvac/stream.d.ts +6 -0
- package/dist/qvac/stream.d.ts.map +1 -1
- package/dist/qvac/stream.js +12 -0
- package/dist/qvac/stream.js.map +1 -1
- package/dist/recipe/flashnet-swap.d.ts +35 -0
- package/dist/recipe/flashnet-swap.d.ts.map +1 -0
- package/dist/recipe/flashnet-swap.js +239 -0
- package/dist/recipe/flashnet-swap.js.map +1 -0
- package/dist/recipe/kaleidoswap-atomic.d.ts.map +1 -1
- package/dist/recipe/kaleidoswap-atomic.js +37 -16
- package/dist/recipe/kaleidoswap-atomic.js.map +1 -1
- package/dist/recipe/kaleidoswap-channel-order.d.ts.map +1 -1
- package/dist/recipe/kaleidoswap-channel-order.js +31 -10
- package/dist/recipe/kaleidoswap-channel-order.js.map +1 -1
- package/dist/recipe/kaleidoswap-price.d.ts.map +1 -1
- package/dist/recipe/kaleidoswap-price.js +7 -1
- package/dist/recipe/kaleidoswap-price.js.map +1 -1
- package/dist/recipe/runner.d.ts.map +1 -1
- package/dist/recipe/runner.js +5 -3
- package/dist/recipe/runner.js.map +1 -1
- package/dist/recipe/swap.d.ts.map +1 -1
- package/dist/recipe/swap.js +14 -1
- package/dist/recipe/swap.js.map +1 -1
- package/dist/wallet/confirm.d.ts.map +1 -1
- package/dist/wallet/confirm.js +1 -0
- package/dist/wallet/confirm.js.map +1 -1
- package/dist/wallet/contract.d.ts.map +1 -1
- package/dist/wallet/contract.js +20 -4
- package/dist/wallet/contract.js.map +1 -1
- package/package.json +4 -4
- package/skills/bitrefill/SKILL.md +152 -52
- package/skills/flashnet-swaps/SKILL.md +158 -0
- package/skills/kaleido-lsps/SKILL.md +25 -8
- package/skills/kaleido-trading/SKILL.md +36 -12
- package/skills/merchant-finder/SKILL.md +1 -1
- package/skills/rgb-lightning-node/SKILL.md +35 -8
- package/skills/spark-wallet/SKILL.md +235 -0
- package/skills/wallet-assistant/SKILL.md +2 -2
- package/src/bitrefill/contract.test.ts +89 -0
- package/src/bitrefill/contract.ts +190 -0
- package/src/context/compress.test.ts +120 -0
- package/src/context/compress.ts +230 -0
- package/src/engine.test.ts +34 -0
- package/src/engine.ts +35 -4
- package/src/evidence.test.ts +80 -0
- package/src/evidence.ts +114 -0
- package/src/flashnet/contract.test.ts +101 -0
- package/src/flashnet/contract.ts +164 -0
- package/src/funnel.ts +59 -8
- package/src/index.ts +51 -1
- package/src/kaleidoswap/contract.ts +1 -1
- package/src/knowledge/bitcoin-copilot.ts +94 -0
- package/src/providers/types.ts +18 -0
- package/src/qvac/provider.ts +25 -1
- package/src/qvac/stream.test.ts +11 -0
- package/src/qvac/stream.ts +16 -0
- package/src/recipe/flashnet-swap.test.ts +114 -0
- package/src/recipe/flashnet-swap.ts +266 -0
- package/src/recipe/kaleidoswap-atomic.test.ts +21 -0
- package/src/recipe/kaleidoswap-atomic.ts +34 -16
- package/src/recipe/kaleidoswap-channel-order.test.ts +38 -0
- package/src/recipe/kaleidoswap-channel-order.ts +27 -9
- package/src/recipe/kaleidoswap-price.ts +7 -1
- package/src/recipe/recipe.test.ts +5 -0
- package/src/recipe/runner.ts +5 -3
- package/src/recipe/swap.ts +16 -1
- package/src/wallet/confirm.test.ts +8 -0
- package/src/wallet/confirm.ts +1 -0
- package/src/wallet/contract.test.ts +10 -0
- package/src/wallet/contract.ts +26 -4
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hackathon evidence JSONL.
|
|
3
|
+
*
|
|
4
|
+
* This is deliberately transport-neutral: Node writes it to disk, React Native
|
|
5
|
+
* writes it to the app documents directory, and tests keep it in memory.
|
|
6
|
+
*/
|
|
7
|
+
import type { InferenceMetrics } from './providers/types.js';
|
|
8
|
+
export declare const EVIDENCE_SCHEMA: "kaleidomind.evidence.v1";
|
|
9
|
+
export type EvidenceSurface = 'desktop' | 'mobile' | 'cli' | 'test';
|
|
10
|
+
export type EvidenceEventType = 'model_load' | 'model_unload' | 'inference' | 'tool_call' | 'tool_result' | 'confirmation' | 'error';
|
|
11
|
+
export interface EvidenceEvent {
|
|
12
|
+
schema: typeof EVIDENCE_SCHEMA;
|
|
13
|
+
event: EvidenceEventType;
|
|
14
|
+
ts: string;
|
|
15
|
+
runId: string;
|
|
16
|
+
surface: EvidenceSurface;
|
|
17
|
+
model?: {
|
|
18
|
+
name: string;
|
|
19
|
+
version?: string;
|
|
20
|
+
source?: 'local' | 'delegated';
|
|
21
|
+
};
|
|
22
|
+
hardware?: {
|
|
23
|
+
device: string;
|
|
24
|
+
os?: string;
|
|
25
|
+
memoryGb?: number;
|
|
26
|
+
};
|
|
27
|
+
prompt?: string;
|
|
28
|
+
response?: string;
|
|
29
|
+
inference?: InferenceMetrics | InferenceMetrics[];
|
|
30
|
+
tool?: {
|
|
31
|
+
name: string;
|
|
32
|
+
arguments?: Record<string, unknown>;
|
|
33
|
+
result?: unknown;
|
|
34
|
+
};
|
|
35
|
+
confirmation?: {
|
|
36
|
+
tool: string;
|
|
37
|
+
approved: boolean;
|
|
38
|
+
reason?: string;
|
|
39
|
+
};
|
|
40
|
+
error?: {
|
|
41
|
+
name: string;
|
|
42
|
+
message: string;
|
|
43
|
+
};
|
|
44
|
+
meta?: Record<string, unknown>;
|
|
45
|
+
}
|
|
46
|
+
export type EvidenceInput = Omit<EvidenceEvent, 'schema' | 'ts'>;
|
|
47
|
+
export interface EvidenceIO {
|
|
48
|
+
appendLine(line: string): Promise<void>;
|
|
49
|
+
now(): Date;
|
|
50
|
+
}
|
|
51
|
+
export interface EvidenceRecorderOptions {
|
|
52
|
+
io: EvidenceIO;
|
|
53
|
+
sanitize?: (event: EvidenceEvent) => EvidenceEvent;
|
|
54
|
+
}
|
|
55
|
+
export declare class EvidenceRecorder {
|
|
56
|
+
private readonly opts;
|
|
57
|
+
constructor(opts: EvidenceRecorderOptions);
|
|
58
|
+
record(input: EvidenceInput): Promise<EvidenceEvent>;
|
|
59
|
+
}
|
|
60
|
+
/** Mask wallet secrets while preserving prompts, model output and benchmark value. */
|
|
61
|
+
export declare function sanitizeEvidenceEvent(event: EvidenceEvent): EvidenceEvent;
|
|
62
|
+
//# sourceMappingURL=evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../src/evidence.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,eAAO,MAAM,eAAe,EAAG,yBAAkC,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AACpE,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,cAAc,GACd,WAAW,GACX,WAAW,GACX,aAAa,GACb,cAAc,GACd,OAAO,CAAC;AAEZ,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,eAAe,CAAC;IAC/B,KAAK,EAAE,iBAAiB,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IAClD,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC;AAEjE,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,GAAG,IAAI,IAAI,CAAC;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC;CACpD;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,uBAAuB;IAEpD,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;CAU3D;AAkBD,sFAAsF;AACtF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAazE"}
|
package/dist/evidence.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export const EVIDENCE_SCHEMA = 'kaleidomind.evidence.v1';
|
|
2
|
+
export class EvidenceRecorder {
|
|
3
|
+
opts;
|
|
4
|
+
constructor(opts) {
|
|
5
|
+
this.opts = opts;
|
|
6
|
+
}
|
|
7
|
+
async record(input) {
|
|
8
|
+
let event = {
|
|
9
|
+
...input,
|
|
10
|
+
schema: EVIDENCE_SCHEMA,
|
|
11
|
+
ts: this.opts.io.now().toISOString(),
|
|
12
|
+
};
|
|
13
|
+
event = (this.opts.sanitize ?? sanitizeEvidenceEvent)(event);
|
|
14
|
+
await this.opts.io.appendLine(JSON.stringify(event));
|
|
15
|
+
return event;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const SENSITIVE_KEYS = new Set([
|
|
19
|
+
'address',
|
|
20
|
+
'invoice',
|
|
21
|
+
'bolt11',
|
|
22
|
+
'seed',
|
|
23
|
+
'mnemonic',
|
|
24
|
+
'private_key',
|
|
25
|
+
'privateKey',
|
|
26
|
+
'access_token',
|
|
27
|
+
'accessToken',
|
|
28
|
+
'preimage',
|
|
29
|
+
]);
|
|
30
|
+
const PAYMENT_TOKEN = /\b(?:ln(?:bc|tb|bcrt)[0-9a-z]{20,}|(?:bc1|tb1|bcrt1)[0-9a-z]{20,})\b/gi;
|
|
31
|
+
/** Mask wallet secrets while preserving prompts, model output and benchmark value. */
|
|
32
|
+
export function sanitizeEvidenceEvent(event) {
|
|
33
|
+
const walk = (value, key) => {
|
|
34
|
+
if (key && SENSITIVE_KEYS.has(key))
|
|
35
|
+
return '[redacted]';
|
|
36
|
+
if (typeof value === 'string')
|
|
37
|
+
return value.replace(PAYMENT_TOKEN, '[payment-data-redacted]');
|
|
38
|
+
if (Array.isArray(value))
|
|
39
|
+
return value.map((item) => walk(item));
|
|
40
|
+
if (value && typeof value === 'object') {
|
|
41
|
+
return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, walk(v, k)]));
|
|
42
|
+
}
|
|
43
|
+
return value;
|
|
44
|
+
};
|
|
45
|
+
return walk(event);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../src/evidence.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAkC,CAAC;AA4DlE,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,IAA6B;QAA7B,SAAI,GAAJ,IAAI,CAAyB;IAAG,CAAC;IAE9D,KAAK,CAAC,MAAM,CAAC,KAAoB;QAC/B,IAAI,KAAK,GAAkB;YACzB,GAAG,KAAK;YACR,MAAM,EAAE,eAAe;YACvB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;QACF,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,UAAU;IACV,aAAa;IACb,YAAY;IACZ,cAAc;IACd,aAAa;IACb,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,aAAa,GACjB,wEAAwE,CAAC;AAE3E,sFAAsF;AACtF,MAAM,UAAU,qBAAqB,CAAC,KAAoB;IACxD,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,GAAY,EAAW,EAAE;QACrD,IAAI,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,YAAY,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC;QAC9F,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAClF,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAkB,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical Flashnet tool contract — AMM swaps on Spark.
|
|
3
|
+
*
|
|
4
|
+
* Flashnet is a Spark-native AMM (constant-product + V3 concentrated-liquidity
|
|
5
|
+
* pools). The agent surface is small and intent-aligned:
|
|
6
|
+
*
|
|
7
|
+
* flashnet_list_pools — discover pools by asset pair (read)
|
|
8
|
+
* flashnet_get_pool — pool details + reserves (read)
|
|
9
|
+
* flashnet_simulate_swap — quote a swap, no funds move (read)
|
|
10
|
+
* flashnet_execute_swap — SPEND, confirmation-gated (the swap itself)
|
|
11
|
+
* flashnet_get_balance — Spark wallet balance (BTC + tokens) as the
|
|
12
|
+
* AMM client sees it
|
|
13
|
+
*
|
|
14
|
+
* The model picks a pool, simulates to see the rate/output, optionally shows
|
|
15
|
+
* the user the quote, and then executes. The host's `FlashnetClient` (built
|
|
16
|
+
* over a `SparkWallet`) does the actual signing.
|
|
17
|
+
*
|
|
18
|
+
* Asset addresses on Flashnet:
|
|
19
|
+
* - BTC is a constant pubkey: `BTC_ASSET_PUBKEY` per network.
|
|
20
|
+
* - Tokens are Spark Bech32m token identifiers (or hex; the client coerces).
|
|
21
|
+
*
|
|
22
|
+
* Pure data — no deps, RN-safe.
|
|
23
|
+
*/
|
|
24
|
+
import type { ToolDef } from '../types.js';
|
|
25
|
+
import { InProcessToolSource } from '../tools/in-process.js';
|
|
26
|
+
export interface FlashnetToolDef extends ToolDef {
|
|
27
|
+
/** Moves funds → confirmation-gated. */
|
|
28
|
+
spend?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** Canonical Flashnet tools. */
|
|
31
|
+
export declare const FLASHNET_TOOLS: FlashnetToolDef[];
|
|
32
|
+
/** All Flashnet tool names that move funds (confirmation-gated). */
|
|
33
|
+
export declare const FLASHNET_SPEND_TOOLS: Set<string>;
|
|
34
|
+
export declare function isFlashnetSpendTool(name: string): boolean;
|
|
35
|
+
export declare function getFlashnetTool(name: string): FlashnetToolDef | undefined;
|
|
36
|
+
/** A handler bound to one Flashnet tool. */
|
|
37
|
+
export type FlashnetHandler = (args: Record<string, unknown>) => Promise<unknown>;
|
|
38
|
+
export interface BindFlashnetOptions {
|
|
39
|
+
/** Skip tools without a handler instead of throwing (default false). */
|
|
40
|
+
allowMissing?: boolean;
|
|
41
|
+
/** ToolSource id for the registry (default 'flashnet'). */
|
|
42
|
+
id?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Bind Flashnet contract tools to in-process handlers → an InProcessToolSource.
|
|
46
|
+
*
|
|
47
|
+
* const source = bindFlashnetTools({
|
|
48
|
+
* flashnet_list_pools: async (a) => client.listPools(a),
|
|
49
|
+
* flashnet_get_pool: async ({ pool_id }) => client.getPoolDetails(pool_id),
|
|
50
|
+
* flashnet_simulate_swap: async (a) => client.simulateSwap(a),
|
|
51
|
+
* flashnet_execute_swap: async (a) => client.executeSwap(a),
|
|
52
|
+
* flashnet_get_balance: async () => client.getBalance(),
|
|
53
|
+
* });
|
|
54
|
+
*/
|
|
55
|
+
export declare function bindFlashnetTools(handlers: Record<string, FlashnetHandler>, opts?: BindFlashnetOptions): InProcessToolSource;
|
|
56
|
+
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/flashnet/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAuBD,gCAAgC;AAChC,eAAO,MAAM,cAAc,EAAE,eAAe,EAoD3C,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAE5C,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEzE;AAED,4CAA4C;AAC5C,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAElF,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2DAA2D;IAC3D,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACzC,IAAI,GAAE,mBAAwB,GAC7B,mBAAmB,CAiBrB"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical Flashnet tool contract — AMM swaps on Spark.
|
|
3
|
+
*
|
|
4
|
+
* Flashnet is a Spark-native AMM (constant-product + V3 concentrated-liquidity
|
|
5
|
+
* pools). The agent surface is small and intent-aligned:
|
|
6
|
+
*
|
|
7
|
+
* flashnet_list_pools — discover pools by asset pair (read)
|
|
8
|
+
* flashnet_get_pool — pool details + reserves (read)
|
|
9
|
+
* flashnet_simulate_swap — quote a swap, no funds move (read)
|
|
10
|
+
* flashnet_execute_swap — SPEND, confirmation-gated (the swap itself)
|
|
11
|
+
* flashnet_get_balance — Spark wallet balance (BTC + tokens) as the
|
|
12
|
+
* AMM client sees it
|
|
13
|
+
*
|
|
14
|
+
* The model picks a pool, simulates to see the rate/output, optionally shows
|
|
15
|
+
* the user the quote, and then executes. The host's `FlashnetClient` (built
|
|
16
|
+
* over a `SparkWallet`) does the actual signing.
|
|
17
|
+
*
|
|
18
|
+
* Asset addresses on Flashnet:
|
|
19
|
+
* - BTC is a constant pubkey: `BTC_ASSET_PUBKEY` per network.
|
|
20
|
+
* - Tokens are Spark Bech32m token identifiers (or hex; the client coerces).
|
|
21
|
+
*
|
|
22
|
+
* Pure data — no deps, RN-safe.
|
|
23
|
+
*/
|
|
24
|
+
import { InProcessToolSource } from '../tools/in-process.js';
|
|
25
|
+
function t(name, description, properties = {}, required = [], spend = false) {
|
|
26
|
+
return {
|
|
27
|
+
name,
|
|
28
|
+
description,
|
|
29
|
+
spend,
|
|
30
|
+
requiresConfirmation: spend,
|
|
31
|
+
parameters: { type: 'object', properties, required },
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/** Canonical Flashnet tools. */
|
|
35
|
+
export const FLASHNET_TOOLS = [
|
|
36
|
+
t('flashnet_list_pools', "List Flashnet AMM pools. Filter by asset pair to find a venue for a swap (e.g. asset_a=BTC, asset_b=<USDB address> → pools that swap between them). Returns pools sorted by TVL by default. Use this BEFORE simulate_swap to pick a `pool_id`.", {
|
|
37
|
+
asset_a: { type: 'string', description: 'OPTIONAL — first asset address (BTC pubkey or Spark token id). Filters pools.' },
|
|
38
|
+
asset_b: { type: 'string', description: 'OPTIONAL — second asset address. Filters pools containing both assets.' },
|
|
39
|
+
sort: { type: 'string', description: 'OPTIONAL — sort order. Default TVL_DESC.', enum: ['TVL_DESC', 'TVL_ASC', 'VOLUME24H_DESC', 'VOLUME24H_ASC', 'CREATED_AT_DESC', 'CREATED_AT_ASC'] },
|
|
40
|
+
limit: { type: 'number', description: 'OPTIONAL — max pools (1–50, default 10).' },
|
|
41
|
+
}),
|
|
42
|
+
t('flashnet_get_pool', "Get a single pool's details — reserves, fees, current price, TVL. Use after flashnet_list_pools when the user wants to inspect a pool before swapping.", {
|
|
43
|
+
pool_id: { type: 'string', description: 'Pool id (LP pubkey) from flashnet_list_pools.' },
|
|
44
|
+
}, ['pool_id']),
|
|
45
|
+
t('flashnet_simulate_swap', "Simulate a swap WITHOUT executing — returns `amount_out`, `execution_price`, `price_impact_pct`, `fee_paid`. Read-only. Use this to quote the user before they confirm. The `amount_in` is in smallest units of `asset_in` (sats for BTC, smallest unit of the token).", {
|
|
46
|
+
pool_id: { type: 'string', description: 'Pool id from flashnet_list_pools.' },
|
|
47
|
+
asset_in_address: { type: 'string', description: 'Address of the asset the user is selling (BTC pubkey or Spark token id).' },
|
|
48
|
+
asset_out_address: { type: 'string', description: 'Address of the asset the user is buying.' },
|
|
49
|
+
amount_in: { type: 'string', description: 'Amount to swap, in smallest units of asset_in. Strings (BigInt-safe). e.g. "100000" for 100k sats.' },
|
|
50
|
+
}, ['pool_id', 'asset_in_address', 'asset_out_address', 'amount_in']),
|
|
51
|
+
t('flashnet_execute_swap', "SPEND: confirmation-gated. Execute a swap quoted by flashnet_simulate_swap. `min_amount_out` and `max_slippage_bps` cap the worst-case fill (basis points: 100 = 1%, 50 = 0.5%). Returns the swap request id and the amount actually received.", {
|
|
52
|
+
pool_id: { type: 'string', description: 'Pool id from flashnet_list_pools.' },
|
|
53
|
+
asset_in_address: { type: 'string' },
|
|
54
|
+
asset_out_address: { type: 'string' },
|
|
55
|
+
amount_in: { type: 'string', description: 'Amount to swap, smallest units.' },
|
|
56
|
+
min_amount_out: { type: 'string', description: 'Minimum acceptable output, smallest units. Calculate from simulate_swap.amount_out × (1 − max_slippage_bps/10000) and pass that — never trust the simulated value as-is.' },
|
|
57
|
+
max_slippage_bps: { type: 'number', description: 'Maximum slippage in basis points (default 50 = 0.5%). 100 = 1%, 500 = 5%.' },
|
|
58
|
+
}, ['pool_id', 'asset_in_address', 'asset_out_address', 'amount_in', 'min_amount_out'],
|
|
59
|
+
/* spend */ true),
|
|
60
|
+
t('flashnet_get_balance', "Get the Spark wallet's BTC + token balances as the Flashnet client sees them. Useful to verify the user has enough of asset_in before quoting or executing a swap. Returns `{ btc_sats, tokens: [{ address, balance, symbol?, decimals? }] }`."),
|
|
61
|
+
];
|
|
62
|
+
/** All Flashnet tool names that move funds (confirmation-gated). */
|
|
63
|
+
export const FLASHNET_SPEND_TOOLS = new Set(FLASHNET_TOOLS.filter((t) => t.spend).map((t) => t.name));
|
|
64
|
+
export function isFlashnetSpendTool(name) {
|
|
65
|
+
return FLASHNET_SPEND_TOOLS.has(name);
|
|
66
|
+
}
|
|
67
|
+
export function getFlashnetTool(name) {
|
|
68
|
+
return FLASHNET_TOOLS.find((t) => t.name === name);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Bind Flashnet contract tools to in-process handlers → an InProcessToolSource.
|
|
72
|
+
*
|
|
73
|
+
* const source = bindFlashnetTools({
|
|
74
|
+
* flashnet_list_pools: async (a) => client.listPools(a),
|
|
75
|
+
* flashnet_get_pool: async ({ pool_id }) => client.getPoolDetails(pool_id),
|
|
76
|
+
* flashnet_simulate_swap: async (a) => client.simulateSwap(a),
|
|
77
|
+
* flashnet_execute_swap: async (a) => client.executeSwap(a),
|
|
78
|
+
* flashnet_get_balance: async () => client.getBalance(),
|
|
79
|
+
* });
|
|
80
|
+
*/
|
|
81
|
+
export function bindFlashnetTools(handlers, opts = {}) {
|
|
82
|
+
const bound = [];
|
|
83
|
+
for (const def of FLASHNET_TOOLS) {
|
|
84
|
+
const handler = handlers[def.name];
|
|
85
|
+
if (!handler) {
|
|
86
|
+
if (opts.allowMissing)
|
|
87
|
+
continue;
|
|
88
|
+
throw new Error(`bindFlashnetTools: no handler for "${def.name}"`);
|
|
89
|
+
}
|
|
90
|
+
bound.push({
|
|
91
|
+
name: def.name,
|
|
92
|
+
description: def.description,
|
|
93
|
+
parameters: def.parameters,
|
|
94
|
+
requiresConfirmation: def.requiresConfirmation,
|
|
95
|
+
handler,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return new InProcessToolSource(opts.id ?? 'flashnet', bound);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/flashnet/contract.ts"],"names":[],"mappings":"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"}
|
package/dist/funnel.d.ts
CHANGED
|
@@ -18,11 +18,13 @@
|
|
|
18
18
|
* Safety is unchanged from the Engine: spend tools are confirmation-gated by
|
|
19
19
|
* the contract; with no `onConfirm` the gate fails closed.
|
|
20
20
|
*/
|
|
21
|
+
import type { ToolCrushOptions } from './context/compress.js';
|
|
21
22
|
import type { ToolRegistry } from './tools/registry.js';
|
|
22
23
|
import type { FastIntent } from './fastpath/fastpath.js';
|
|
23
24
|
import type { Recipe } from './recipe/types.js';
|
|
24
25
|
import type { Skill } from './skills/types.js';
|
|
25
26
|
import type { LLMProvider } from './providers/types.js';
|
|
27
|
+
import type { InferenceMetrics } from './providers/types.js';
|
|
26
28
|
import type { Retriever } from './rag/retriever.js';
|
|
27
29
|
import type { ConfirmDecision, Message, ToolResult } from './types.js';
|
|
28
30
|
/** Base system prompt for the wallet assistant. Hosts may override. */
|
|
@@ -77,6 +79,8 @@ export interface FunnelResult {
|
|
|
77
79
|
/** Agentic tier only: executed tool calls + reasoning turns. */
|
|
78
80
|
toolCalls?: ToolResult[];
|
|
79
81
|
turns?: number;
|
|
82
|
+
/** Agentic tier only: one local-inference receipt per model call. */
|
|
83
|
+
inference?: InferenceMetrics[];
|
|
80
84
|
}
|
|
81
85
|
export interface FunnelOptions {
|
|
82
86
|
provider: LLMProvider;
|
|
@@ -92,6 +96,13 @@ export interface FunnelOptions {
|
|
|
92
96
|
system?: string;
|
|
93
97
|
/** Max reasoning↔tool rounds in the agentic tier. Default 5. */
|
|
94
98
|
maxTurns?: number;
|
|
99
|
+
/**
|
|
100
|
+
* Crush verbose tool results before they re-enter the agentic loop's history,
|
|
101
|
+
* so a tiny on-device model's window isn't drowned in repetitive JSON. `true`
|
|
102
|
+
* uses safe defaults (amounts/addresses/invoices preserved); pass options to
|
|
103
|
+
* tune. Off by default. See compressToolResult.
|
|
104
|
+
*/
|
|
105
|
+
compressToolOutput?: boolean | ToolCrushOptions;
|
|
95
106
|
/** User settings, read fresh each turn. */
|
|
96
107
|
getSettings?: () => FunnelSettings;
|
|
97
108
|
/** Render a fast-path tool result as user-facing text. Default: built-in. */
|
package/dist/funnel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funnel.d.ts","sourceRoot":"","sources":["../src/funnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEvE,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,QAkCtB,CAAC;AAQb,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,uDAAuD;IACvD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,qEAAqE;IACrE,UAAU,CAAC,EAAE,CACX,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAC1D,IAAI,EAAE;QAAE,oBAAoB,EAAE,OAAO,CAAA;KAAE,KACpC,IAAI,CAAC;IACV,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,MAAM,EAAE,OAAO,CAAC;KACjB,KAAK,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CACxH;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpC,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gEAAgE;IAChE,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"funnel.d.ts","sourceRoot":"","sources":["../src/funnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEvE,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,QAkCtB,CAAC;AAQb,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,uDAAuD;IACvD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,qEAAqE;IACrE,UAAU,CAAC,EAAE,CACX,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAC1D,IAAI,EAAE;QAAE,oBAAoB,EAAE,OAAO,CAAA;KAAE,KACpC,IAAI,CAAC;IACV,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,MAAM,EAAE,OAAO,CAAC;KACjB,KAAK,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CACxH;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpC,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gEAAgE;IAChE,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,WAAW,CAAC;IACtB,uEAAuE;IACvE,KAAK,EAAE,YAAY,CAAC;IACpB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,uEAAuE;IACvE,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAChD,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,cAAc,CAAC;IACnC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC;IACzD,oEAAoE;IACpE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAcD,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8C;IACzE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yEAAyE;IACzE,OAAO,CAAC,WAAW,CAAoD;gBAE3D,IAAI,EAAE,aAAa;IAoB/B,0DAA0D;IAC1D,UAAU,IAAI,KAAK,EAAE;IAIrB,OAAO,CAAC,SAAS;IAWX,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,eAAoB,GAAG,OAAO,CAAC,YAAY,CAAC;CAsK9E"}
|
package/dist/funnel.js
CHANGED
|
@@ -98,6 +98,7 @@ export class Funnel {
|
|
|
98
98
|
provider: opts.provider,
|
|
99
99
|
tools: opts.tools,
|
|
100
100
|
defaultMaxTurns: opts.maxTurns ?? 5,
|
|
101
|
+
compressToolOutput: opts.compressToolOutput,
|
|
101
102
|
});
|
|
102
103
|
this.fastPath = new FastPath(opts.fastIntents ?? WALLET_FAST_INTENTS);
|
|
103
104
|
this.recipes = new RecipeRegistry(opts.recipes ?? [assetSendRecipe, paymentsRecipe, receiveRecipe]);
|
|
@@ -126,6 +127,8 @@ export class Funnel {
|
|
|
126
127
|
}
|
|
127
128
|
async runTurn(text, cbs = {}) {
|
|
128
129
|
const settings = this.getSettings();
|
|
130
|
+
const memoryOn = settings.memoryEnabled !== false;
|
|
131
|
+
const ragOn = settings.ragEnabled !== false;
|
|
129
132
|
// ── T0: deterministic fast-path (no LLM) ──
|
|
130
133
|
// Only fires when the host's registry actually implements the intent's
|
|
131
134
|
// tool — a partial tool surface (e.g. desktop without the core aggregate
|
|
@@ -145,13 +148,27 @@ export class Funnel {
|
|
|
145
148
|
// running steps with bad data.
|
|
146
149
|
// Either way the registry must implement the recipe's final action.
|
|
147
150
|
const recipe = this.recipes.select(text);
|
|
148
|
-
|
|
149
|
-
|
|
151
|
+
// For forceModelExtract recipes (channel-order, atomic) the det extractor is
|
|
152
|
+
// de-emphasized: only used inside runRecipe as a backfill safety net; firing
|
|
153
|
+
// decision + log do not depend on brittle regex for varied NL.
|
|
154
|
+
let slotsForLog = null;
|
|
155
|
+
let detConfident = false;
|
|
156
|
+
if (recipe) {
|
|
157
|
+
if (recipe.forceModelExtract === true) {
|
|
158
|
+
slotsForLog = { forceModelExtract: true };
|
|
159
|
+
detConfident = true; // force path handles via LLM inside; prefilter only needs tool presence
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
const d = recipe.extract?.(text) ?? null;
|
|
163
|
+
slotsForLog = d;
|
|
164
|
+
detConfident = !!d && (recipe.confident ? recipe.confident(d) : Object.keys(d).length > 0);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
150
167
|
const fires = !!recipe &&
|
|
151
|
-
(recipe.forceModelExtract === true ||
|
|
168
|
+
(recipe.forceModelExtract === true || detConfident) &&
|
|
152
169
|
!!(await this.registry.getDef(recipe.final.tool));
|
|
153
170
|
if (recipe && fires) {
|
|
154
|
-
this.log(`tier=recipe:${recipe.name} slots=${JSON.stringify(
|
|
171
|
+
this.log(`tier=recipe:${recipe.name} slots=${JSON.stringify(slotsForLog)}`);
|
|
155
172
|
const res = await runRecipe(recipe, text, {
|
|
156
173
|
provider: this.provider,
|
|
157
174
|
tools: this.registry,
|
|
@@ -161,6 +178,27 @@ export class Funnel {
|
|
|
161
178
|
cbs.onStep?.(name);
|
|
162
179
|
},
|
|
163
180
|
});
|
|
181
|
+
// Auto-remember ids/tokens from recipe summaries (the "remember: ..." lines)
|
|
182
|
+
// via the tool so status follow-ups can reliably recall even cross-session.
|
|
183
|
+
if (res.status === 'done' && memoryOn) {
|
|
184
|
+
try {
|
|
185
|
+
const hasRemember = await this.registry.getDef('remember');
|
|
186
|
+
if (hasRemember) {
|
|
187
|
+
const text = res.text || '';
|
|
188
|
+
const lines = text.split(/\n+/).filter((l) => /^\s*remember:/i.test(l));
|
|
189
|
+
for (const line of lines) {
|
|
190
|
+
const clean = line.trim();
|
|
191
|
+
if (clean.length > 8) {
|
|
192
|
+
void this.registry
|
|
193
|
+
.execute('remember', { text: clean, kind: 'event', tags: ['recipe', 'order', 'status'] })
|
|
194
|
+
.catch(() => { });
|
|
195
|
+
this.log(`auto-remembered: ${clean.slice(0, 80)}`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
catch { }
|
|
201
|
+
}
|
|
164
202
|
return { text: res.text, tier: 'recipe', route: recipe.name };
|
|
165
203
|
}
|
|
166
204
|
// ── T1: skill-scoped agentic loop ──
|
|
@@ -172,7 +210,6 @@ export class Funnel {
|
|
|
172
210
|
// RAG block sits above history so the model treats it as authoritative).
|
|
173
211
|
// Only fires for agentic turns and only when the host opts in via
|
|
174
212
|
// `retriever` AND the user hasn't disabled RAG in settings.
|
|
175
|
-
const ragOn = settings.ragEnabled !== false;
|
|
176
213
|
if (this.retriever && ragOn && this.topKRag > 0) {
|
|
177
214
|
try {
|
|
178
215
|
const hits = await this.retriever.search(text, this.topKRag);
|
|
@@ -189,7 +226,6 @@ export class Funnel {
|
|
|
189
226
|
const { system, allowedTools } = skills.compose(base, skill);
|
|
190
227
|
// Ambient tools stay available even when a skill narrows the set — gated
|
|
191
228
|
// by the user's memory/knowledge toggles (default on).
|
|
192
|
-
const memoryOn = settings.memoryEnabled !== false;
|
|
193
229
|
const ambient = [...(memoryOn ? AMBIENT_MEMORY : []), ...(ragOn ? AMBIENT_RAG : [])];
|
|
194
230
|
const disabledAmbient = [...(memoryOn ? [] : AMBIENT_MEMORY), ...(ragOn ? [] : AMBIENT_RAG)];
|
|
195
231
|
let scoped;
|
|
@@ -239,7 +275,14 @@ export class Funnel {
|
|
|
239
275
|
onToolResult: cbs.onToolResult,
|
|
240
276
|
onConfirm: cbs.onConfirm,
|
|
241
277
|
});
|
|
242
|
-
return {
|
|
278
|
+
return {
|
|
279
|
+
text: res.text ?? '',
|
|
280
|
+
tier: 'agentic',
|
|
281
|
+
route: skill?.name,
|
|
282
|
+
toolCalls: res.toolCalls,
|
|
283
|
+
turns: res.turns,
|
|
284
|
+
inference: res.inference,
|
|
285
|
+
};
|
|
243
286
|
}
|
|
244
287
|
}
|
|
245
288
|
//# sourceMappingURL=funnel.js.map
|
package/dist/funnel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funnel.js","sourceRoot":"","sources":["../src/funnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMrD,uEAAuE;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,0EAA0E;IAC1E,kDAAkD;IAClD,EAAE;IACF,sDAAsD;IACtD,4EAA4E;IAC5E,gFAAgF;IAChF,4BAA4B;IAC5B,6EAA6E;IAC7E,gFAAgF;IAChF,yCAAyC;IACzC,+EAA+E;IAC/E,6EAA6E;IAC7E,qBAAqB;IACrB,8EAA8E;IAC9E,8EAA8E;IAC9E,gCAAgC;IAChC,8EAA8E;IAC9E,+EAA+E;IAC/E,0EAA0E;IAC1E,gFAAgF;IAChF,2EAA2E;IAC3E,6EAA6E;IAC7E,gCAAgC;IAChC,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,0BAA0B;IAC1B,EAAE;IACF,+EAA+E;IAC/E,8EAA8E;IAC9E,2EAA2E;IAC3E,kBAAkB;CACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,mEAAmE;AACnE,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC9C,MAAM,WAAW,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAEzC,MAAM,eAAe,GAAG,CAAC,CAAC;AAqF1B,SAAS,iBAAiB,CAAC,MAAc,EAAE,CAAM;IAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;QACjC,OAAO,YAAY,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACxF,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,iCAAiC,CAAC;IAC7G,CAAC;IACD,OAAO,eAAe,MAAM,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC;AACtE,CAAC;AAED,MAAM,OAAO,MAAM;IACA,QAAQ,CAAc;IACtB,QAAQ,CAAe;IACvB,MAAM,CAAS;IACf,QAAQ,CAAW;IACnB,OAAO,CAAiB;IACxB,SAAS,CAAU;IACnB,MAAM,CAAS;IACf,WAAW,CAAuB;IAClC,UAAU,CAA8C;IACxD,GAAG,CAA4B;IAC/B,SAAS,CAAa;IACtB,OAAO,CAAS;IAEjC,yEAAyE;IACjE,WAAW,GAA+C,IAAI,CAAC;IAEvE,YAAY,IAAmB;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,qBAAqB,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC;QACvD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,0DAA0D;IAC1D,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,CAAC;IAEO,SAAS,CAAC,WAAqB,EAAE;QACvC,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG;gBACjB,GAAG;gBACH,GAAG,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACjF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,MAAuB,EAAE;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,6CAA6C;QAC7C,uEAAuE;QACvE,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAClI,CAAC;QAED,yCAAyC;QACzC,kEAAkE;QAClE,uEAAuE;QACvE,uEAAuE;QACvE,kEAAkE;QAClE,mEAAmE;QACnE,qCAAqC;QACrC,oEAAoE;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAC9C,MAAM,0BAA0B,GAC9B,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3F,MAAM,KAAK,GACT,CAAC,CAAC,MAAM;YACR,CAAC,MAAM,CAAC,iBAAiB,KAAK,IAAI,IAAI,0BAA0B,CAAC;YACjE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtE,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE;gBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,QAAQ;gBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAChE,CAAC;QAED,sCAAsC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,wBAAwB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAErG,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,kEAAkE;QAClE,4DAA4D;QAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,KAAK,KAAK,CAAC;QAC5C,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzD,IAAI,GAAG,GAAG,IAAI,+EAA+E,MAAM,EAAE,CAAC;oBACtG,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,eAAgB,CAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7D,yEAAyE;QACzE,uDAAuD;QACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,KAAK,KAAK,CAAC;QAClD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrF,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7F,IAAI,MAA4B,CAAC;QACjC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrD,wEAAwE;YACxE,0EAA0E;YAC1E,qEAAqE;YACrE,sEAAsE;YACtE,2EAA2E;YAC3E,0EAA0E;YAC1E,mEAAmE;YACnE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,GAAG,CACN,wBAAwB,KAAK,EAAE,IAAI,IAAI,GAAG,4DAA4D,CACvG,CAAC;gBACF,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YAClC,qEAAqE;YACrE,kEAAkE;YAClE,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,sEAAsE;QACtE,qDAAqD;QACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,IAAI,eAAe,CAAC;QACvD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAc;YAC1B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YACnC,GAAG,OAAO;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;SAChC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,IAAI,IAAI,MAAM,WAAW,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE;YACjD,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;YAChD,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAChE,uEAAuE;gBACvE,KAAK,IAAI,CAAC,QAAQ;qBACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;qBACjB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC,GAAG,EAAE,oBAAoB,EAAE,CAAC,CAAC;qBAC5F,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1E,CAAC;YACD,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IACnH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"funnel.js","sourceRoot":"","sources":["../src/funnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD,uEAAuE;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,0EAA0E;IAC1E,kDAAkD;IAClD,EAAE;IACF,sDAAsD;IACtD,4EAA4E;IAC5E,gFAAgF;IAChF,4BAA4B;IAC5B,6EAA6E;IAC7E,gFAAgF;IAChF,yCAAyC;IACzC,+EAA+E;IAC/E,6EAA6E;IAC7E,qBAAqB;IACrB,8EAA8E;IAC9E,8EAA8E;IAC9E,gCAAgC;IAChC,8EAA8E;IAC9E,+EAA+E;IAC/E,0EAA0E;IAC1E,gFAAgF;IAChF,2EAA2E;IAC3E,6EAA6E;IAC7E,gCAAgC;IAChC,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,0BAA0B;IAC1B,EAAE;IACF,+EAA+E;IAC/E,8EAA8E;IAC9E,2EAA2E;IAC3E,kBAAkB;CACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,mEAAmE;AACnE,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC9C,MAAM,WAAW,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAEzC,MAAM,eAAe,GAAG,CAAC,CAAC;AA8F1B,SAAS,iBAAiB,CAAC,MAAc,EAAE,CAAM;IAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;QACjC,OAAO,YAAY,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACxF,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,iCAAiC,CAAC;IAC7G,CAAC;IACD,OAAO,eAAe,MAAM,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC;AACtE,CAAC;AAED,MAAM,OAAO,MAAM;IACA,QAAQ,CAAc;IACtB,QAAQ,CAAe;IACvB,MAAM,CAAS;IACf,QAAQ,CAAW;IACnB,OAAO,CAAiB;IACxB,SAAS,CAAU;IACnB,MAAM,CAAS;IACf,WAAW,CAAuB;IAClC,UAAU,CAA8C;IACxD,GAAG,CAA4B;IAC/B,SAAS,CAAa;IACtB,OAAO,CAAS;IAEjC,yEAAyE;IACjE,WAAW,GAA+C,IAAI,CAAC;IAEvE,YAAY,IAAmB;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;YACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,qBAAqB,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC;QACvD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,0DAA0D;IAC1D,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,CAAC;IAEO,SAAS,CAAC,WAAqB,EAAE;QACvC,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG;gBACjB,GAAG;gBACH,GAAG,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACjF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,MAAuB,EAAE;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,KAAK,KAAK,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,KAAK,KAAK,CAAC;QAE5C,6CAA6C;QAC7C,uEAAuE;QACvE,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAClI,CAAC;QAED,yCAAyC;QACzC,kEAAkE;QAClE,uEAAuE;QACvE,uEAAuE;QACvE,kEAAkE;QAClE,mEAAmE;QACnE,qCAAqC;QACrC,oEAAoE;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,6EAA6E;QAC7E,6EAA6E;QAC7E,+DAA+D;QAC/D,IAAI,WAAW,GAAQ,IAAI,CAAC;QAC5B,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBACtC,WAAW,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;gBAC1C,YAAY,GAAG,IAAI,CAAC,CAAC,wEAAwE;YAC/F,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;gBACzC,WAAW,GAAG,CAAC,CAAC;gBAChB,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GACT,CAAC,CAAC,MAAM;YACR,CAAC,MAAM,CAAC,iBAAiB,KAAK,IAAI,IAAI,YAAY,CAAC;YACnD,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5E,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE;gBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,QAAQ;gBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;YACH,6EAA6E;YAC7E,4EAA4E;YAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC3D,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;wBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACxE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;4BAC1B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACrB,KAAK,IAAI,CAAC,QAAQ;qCACf,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;qCACxF,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gCACnB,IAAI,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;4BACrD,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAChE,CAAC;QAED,sCAAsC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,wBAAwB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAErG,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,kEAAkE;QAClE,4DAA4D;QAC5D,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzD,IAAI,GAAG,GAAG,IAAI,+EAA+E,MAAM,EAAE,CAAC;oBACtG,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,eAAgB,CAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7D,yEAAyE;QACzE,uDAAuD;QACvD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrF,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7F,IAAI,MAA4B,CAAC;QACjC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrD,wEAAwE;YACxE,0EAA0E;YAC1E,qEAAqE;YACrE,sEAAsE;YACtE,2EAA2E;YAC3E,0EAA0E;YAC1E,mEAAmE;YACnE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,GAAG,CACN,wBAAwB,KAAK,EAAE,IAAI,IAAI,GAAG,4DAA4D,CACvG,CAAC;gBACF,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YAClC,qEAAqE;YACrE,kEAAkE;YAClE,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,sEAAsE;QACtE,qDAAqD;QACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,IAAI,eAAe,CAAC;QACvD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAc;YAC1B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YACnC,GAAG,OAAO;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;SAChC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,IAAI,IAAI,MAAM,WAAW,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE;YACjD,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;YAChD,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAChE,uEAAuE;gBACvE,KAAK,IAAI,CAAC,QAAQ;qBACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;qBACjB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC,GAAG,EAAE,oBAAoB,EAAE,CAAC,CAAC;qBAC5F,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1E,CAAC;YACD,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;YACpB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,KAAK,EAAE,IAAI;YAClB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC;IACJ,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* and get the shared agentic loop, identical on mobile / desktop / agent.
|
|
9
9
|
*/
|
|
10
10
|
export type { Role, Message, ToolDef, ToolCall, ToolResult, ConfirmDecision, } from './types.js';
|
|
11
|
-
export type { LLMProvider, TurnInput, TurnOutput } from './providers/types.js';
|
|
11
|
+
export type { InferenceMetrics, LLMProvider, TurnInput, TurnOutput, } from './providers/types.js';
|
|
12
12
|
export type { ToolSource } from './tools/source.js';
|
|
13
13
|
export { InProcessToolSource } from './tools/in-process.js';
|
|
14
14
|
export type { InProcessTool } from './tools/in-process.js';
|
|
@@ -24,8 +24,13 @@ export { KALEIDOSWAP_TOOLS, KALEIDOSWAP_SPEND_TOOLS, isKaleidoswapSpendTool, get
|
|
|
24
24
|
export type { KaleidoswapGroup, KaleidoswapToolDef, KaleidoswapHandler, BindKaleidoswapOptions, } from './kaleidoswap/contract.js';
|
|
25
25
|
export { LSPS1_TOOLS, LSPS1_SPEND_TOOLS, isLsps1SpendTool, getLsps1Tool, bindLsps1Tools, } from './lsps1/contract.js';
|
|
26
26
|
export type { Lsps1ToolDef, Lsps1Handler, BindLsps1Options, } from './lsps1/contract.js';
|
|
27
|
+
export { BITREFILL_TOOLS, BITREFILL_SPEND_TOOLS, isBitrefillSpendTool, getBitrefillTool, bindBitrefillTools, } from './bitrefill/contract.js';
|
|
28
|
+
export type { BitrefillToolDef, BitrefillHandler, BindBitrefillOptions, } from './bitrefill/contract.js';
|
|
29
|
+
export { FLASHNET_TOOLS, FLASHNET_SPEND_TOOLS, isFlashnetSpendTool, getFlashnetTool, bindFlashnetTools, } from './flashnet/contract.js';
|
|
30
|
+
export type { FlashnetToolDef, FlashnetHandler, BindFlashnetOptions, } from './flashnet/contract.js';
|
|
27
31
|
export { kaleidoswapPriceRecipe } from './recipe/kaleidoswap-price.js';
|
|
28
32
|
export { kaleidoswapAtomicRecipe } from './recipe/kaleidoswap-atomic.js';
|
|
33
|
+
export { flashnetSwapRecipe } from './recipe/flashnet-swap.js';
|
|
29
34
|
export { kaleidoswapChannelOrderRecipe, extractChannelOrder, } from './recipe/kaleidoswap-channel-order.js';
|
|
30
35
|
export { buyAssetChannelRecipe, extractBuyAsset } from './recipe/buy-asset-channel.js';
|
|
31
36
|
export { runRecipe, extractSlots, RecipeRegistry } from './recipe/runner.js';
|
|
@@ -51,6 +56,8 @@ export { ContextBuilder } from './context/builder.js';
|
|
|
51
56
|
export type { ContextBuilderOptions, BuildInput } from './context/builder.js';
|
|
52
57
|
export { estimateTokens, clampToTokens, contextBudgetTokens, } from './context/budget.js';
|
|
53
58
|
export type { BudgetReserves } from './context/budget.js';
|
|
59
|
+
export { compressToolResult, DEFAULT_PRESERVE_KEYS } from './context/compress.js';
|
|
60
|
+
export type { ToolCrushOptions, CrushResult } from './context/compress.js';
|
|
54
61
|
export { capabilityProfile } from './capabilities.js';
|
|
55
62
|
export type { CapabilityInput, MindCapabilities } from './capabilities.js';
|
|
56
63
|
export { BITCOIN_COPILOT_DOCS } from './knowledge/bitcoin-copilot.js';
|
|
@@ -71,6 +78,8 @@ export type { SkillBundle, BundledSkill } from './skills/bundle.js';
|
|
|
71
78
|
export type { Skill, SkillReference, SkillSelector } from './skills/types.js';
|
|
72
79
|
export { TurnLogger, defaultMask } from './logger.js';
|
|
73
80
|
export type { TurnLog, Device, LoggerIO, LoggerOptions } from './logger.js';
|
|
81
|
+
export { EVIDENCE_SCHEMA, EvidenceRecorder, sanitizeEvidenceEvent, } from './evidence.js';
|
|
82
|
+
export type { EvidenceEvent, EvidenceEventType, EvidenceInput, EvidenceIO, EvidenceRecorderOptions, EvidenceSurface, } from './evidence.js';
|
|
74
83
|
export { InMemoryTaskStore, defaultTaskSeeds, TaskRunLog, createTaskScheduler, evaluateSpend, DEFAULT_RISK_LIMITS, buildTaskPrompt, ZERO_ALLOCATION, } from './autonomy/index.js';
|
|
75
84
|
export type { TaskAllocation, AgentTask, NewTask, TaskSeed, TaskStore, TaskStoreIO, TaskStoreOptions, TaskRunCost, TaskStats, TaskRunRecord, RunLogSnapshot, RunLogIO, RunLogOptions, TaskRunOutcome, RunTask, TimerHandle, SchedulerOptions, TaskScheduler, SpendKind, RiskLimits, SpendAction, RiskContext, RiskOutcome, RiskVerdict, TaskPromptOptions, } from './autonomy/index.js';
|
|
76
85
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EACV,IAAI,EACJ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,UAAU,EACV,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,12 +18,17 @@ export { confirmReadback } from './wallet/confirm.js';
|
|
|
18
18
|
export { KALEIDOSWAP_TOOLS, KALEIDOSWAP_SPEND_TOOLS, isKaleidoswapSpendTool, getKaleidoswapTool, kaleidoswapTools, bindKaleidoswapTools, } from './kaleidoswap/contract.js';
|
|
19
19
|
// ── LSPS1 (Lightning Service Provider channel orders) ───────────────────────
|
|
20
20
|
export { LSPS1_TOOLS, LSPS1_SPEND_TOOLS, isLsps1SpendTool, getLsps1Tool, bindLsps1Tools, } from './lsps1/contract.js';
|
|
21
|
+
// ── Bitrefill (gift cards / mobile top-ups / eSIMs) ─────────────────────────
|
|
22
|
+
export { BITREFILL_TOOLS, BITREFILL_SPEND_TOOLS, isBitrefillSpendTool, getBitrefillTool, bindBitrefillTools, } from './bitrefill/contract.js';
|
|
23
|
+
// ── Flashnet (Spark-native AMM — swaps over Spark) ──────────────────────────
|
|
24
|
+
export { FLASHNET_TOOLS, FLASHNET_SPEND_TOOLS, isFlashnetSpendTool, getFlashnetTool, bindFlashnetTools, } from './flashnet/contract.js';
|
|
21
25
|
// ── KaleidoSwap recipes (opt-in — register via Funnel.recipes) ──
|
|
22
26
|
// price recipe is read-only (quote-only); atomic recipe runs the full swap.
|
|
23
27
|
// Register the price recipe FIRST so phrasings like "BTC price" are answered
|
|
24
28
|
// without firing any spend.
|
|
25
29
|
export { kaleidoswapPriceRecipe } from './recipe/kaleidoswap-price.js';
|
|
26
30
|
export { kaleidoswapAtomicRecipe } from './recipe/kaleidoswap-atomic.js';
|
|
31
|
+
export { flashnetSwapRecipe } from './recipe/flashnet-swap.js';
|
|
27
32
|
export { kaleidoswapChannelOrderRecipe, extractChannelOrder, } from './recipe/kaleidoswap-channel-order.js';
|
|
28
33
|
// ── Buy-an-asset-channel recipe (opt-in — register via Funnel.recipes) ─────
|
|
29
34
|
export { buyAssetChannelRecipe, extractBuyAsset } from './recipe/buy-asset-channel.js';
|
|
@@ -45,6 +50,7 @@ export { createRagToolSource } from './rag/tool.js';
|
|
|
45
50
|
// ── Context assembly + hardware budget ─────────────────────────────────────
|
|
46
51
|
export { ContextBuilder } from './context/builder.js';
|
|
47
52
|
export { estimateTokens, clampToTokens, contextBudgetTokens, } from './context/budget.js';
|
|
53
|
+
export { compressToolResult, DEFAULT_PRESERVE_KEYS } from './context/compress.js';
|
|
48
54
|
export { capabilityProfile } from './capabilities.js';
|
|
49
55
|
// ── Knowledge packs + corpus adapters (for RAG) ────────────────────────────
|
|
50
56
|
export { BITCOIN_COPILOT_DOCS } from './knowledge/bitcoin-copilot.js';
|
|
@@ -58,6 +64,7 @@ export { SkillRegistry, parseSkill, keywordSelector, createEmbeddingSkillSelecto
|
|
|
58
64
|
export { createSkillReferenceToolSource } from './skills/reference-source.js';
|
|
59
65
|
export { skillsFromBundle } from './skills/bundle.js';
|
|
60
66
|
export { TurnLogger, defaultMask } from './logger.js';
|
|
67
|
+
export { EVIDENCE_SCHEMA, EvidenceRecorder, sanitizeEvidenceEvent, } from './evidence.js';
|
|
61
68
|
// ── Autonomy (the task brain: scheduled tasks + run history + spend guardrails)
|
|
62
69
|
// The operational half of the agent's memory — the state nanobot kept in
|
|
63
70
|
// tasks.json + cron + run history, lifted into core (storage/timers injected).
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|