@kaleidorg/mind 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -8
- package/dist/context/compress.d.ts.map +1 -1
- package/dist/context/compress.js +1 -0
- package/dist/context/compress.js.map +1 -1
- package/dist/context/rgb-units.d.ts +18 -0
- package/dist/context/rgb-units.d.ts.map +1 -0
- package/dist/context/rgb-units.js +86 -0
- package/dist/context/rgb-units.js.map +1 -0
- package/dist/engine.d.ts +53 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +179 -17
- package/dist/engine.js.map +1 -1
- package/dist/funnel.d.ts.map +1 -1
- package/dist/funnel.js +23 -4
- package/dist/funnel.js.map +1 -1
- package/dist/guards.d.ts +63 -0
- package/dist/guards.d.ts.map +1 -0
- package/dist/guards.js +284 -0
- package/dist/guards.js.map +1 -0
- package/dist/index.d.ts +9 -2
- 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.d.ts +3 -4
- package/dist/kaleidoswap/contract.d.ts.map +1 -1
- package/dist/kaleidoswap/contract.js +3 -17
- package/dist/kaleidoswap/contract.js.map +1 -1
- package/dist/providers/openai.d.ts +64 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +233 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/types.d.ts +20 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/qvac/config.d.ts +1 -1
- package/dist/qvac/config.js +1 -1
- package/dist/qvac/index.d.ts +1 -0
- package/dist/qvac/index.d.ts.map +1 -1
- package/dist/qvac/index.js +1 -0
- package/dist/qvac/index.js.map +1 -1
- package/dist/qvac/models.d.ts +31 -0
- package/dist/qvac/models.d.ts.map +1 -0
- package/dist/qvac/models.js +80 -0
- package/dist/qvac/models.js.map +1 -0
- package/dist/qvac/parse.d.ts +11 -0
- package/dist/qvac/parse.d.ts.map +1 -1
- package/dist/qvac/parse.js +29 -7
- package/dist/qvac/parse.js.map +1 -1
- package/dist/qvac/provider.d.ts +5 -4
- package/dist/qvac/provider.d.ts.map +1 -1
- package/dist/qvac/provider.js +22 -8
- package/dist/qvac/provider.js.map +1 -1
- package/dist/qvac/stream.d.ts +3 -5
- package/dist/qvac/stream.d.ts.map +1 -1
- package/dist/qvac/stream.js.map +1 -1
- package/dist/qvac/tools.d.ts +5 -0
- package/dist/qvac/tools.d.ts.map +1 -1
- package/dist/qvac/tools.js +10 -0
- package/dist/qvac/tools.js.map +1 -1
- package/dist/recipe/issue-asset.d.ts.map +1 -1
- package/dist/recipe/issue-asset.js +42 -16
- package/dist/recipe/issue-asset.js.map +1 -1
- package/dist/recipe/runner.d.ts.map +1 -1
- package/dist/recipe/runner.js +1 -0
- package/dist/recipe/runner.js.map +1 -1
- package/dist/recipe/submarine-pay.d.ts +17 -0
- package/dist/recipe/submarine-pay.d.ts.map +1 -0
- package/dist/recipe/submarine-pay.js +79 -0
- package/dist/recipe/submarine-pay.js.map +1 -0
- package/dist/skills/registry.js +1 -1
- package/dist/skills/select.d.ts +20 -0
- package/dist/skills/select.d.ts.map +1 -0
- package/dist/skills/select.js +32 -0
- package/dist/skills/select.js.map +1 -0
- package/dist/submarine/contract.d.ts +42 -0
- package/dist/submarine/contract.d.ts.map +1 -0
- package/dist/submarine/contract.js +73 -0
- package/dist/submarine/contract.js.map +1 -0
- package/dist/testing/mock-wallet.d.ts +24 -0
- package/dist/testing/mock-wallet.d.ts.map +1 -1
- package/dist/testing/mock-wallet.js +75 -6
- package/dist/testing/mock-wallet.js.map +1 -1
- package/dist/wallet/confirm.d.ts.map +1 -1
- package/dist/wallet/confirm.js +27 -9
- package/dist/wallet/confirm.js.map +1 -1
- package/package.json +6 -1
- package/skills/README.md +1 -0
- package/skills/kaleido-trading/SKILL.md +22 -28
- package/skills/kaleido-trading/references/api.md +3 -3
- package/skills/rgb-lightning-node/SKILL.md +32 -12
- package/skills/spark-wallet/SKILL.md +1 -0
- package/skills/submarine-swaps/SKILL.md +48 -0
- package/src/context/compress.ts +1 -0
- package/src/context/rgb-units.test.ts +42 -0
- package/src/context/rgb-units.ts +89 -0
- package/src/engine.test.ts +94 -3
- package/src/engine.ts +234 -19
- package/src/funnel.mind.test.ts +4 -2
- package/src/funnel.ts +23 -4
- package/src/guards.test.ts +399 -0
- package/src/guards.ts +299 -0
- package/src/index.ts +37 -1
- package/src/kaleidoswap/contract.test.ts +8 -16
- package/src/kaleidoswap/contract.ts +4 -32
- package/src/providers/openai.test.ts +127 -0
- package/src/providers/openai.ts +282 -0
- package/src/providers/types.ts +22 -0
- package/src/qvac/config.ts +1 -1
- package/src/qvac/index.ts +10 -0
- package/src/qvac/models.ts +98 -0
- package/src/qvac/parse.test.ts +7 -0
- package/src/qvac/parse.ts +33 -1
- package/src/qvac/provider.test.ts +34 -1
- package/src/qvac/provider.ts +30 -13
- package/src/qvac/stream.ts +3 -5
- package/src/qvac/tools.ts +10 -0
- package/src/recipe/issue-asset.test.ts +39 -0
- package/src/recipe/issue-asset.ts +41 -13
- package/src/recipe/runner.ts +1 -0
- package/src/recipe/submarine-pay.test.ts +87 -0
- package/src/recipe/submarine-pay.ts +78 -0
- package/src/skills/registry.ts +1 -1
- package/src/skills/select.ts +41 -0
- package/src/submarine/contract.ts +112 -0
- package/src/testing/mock-wallet.ts +73 -6
- package/src/wallet/confirm.ts +27 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/submarine/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAQD,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,YAAI,QAAQ,EAAE,OAAO,CAAU,CAAC;AAClE,MAAM,MAAM,kBAAkB,GAAG,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAEtE,4EAA4E;AAC5E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAA+B,CAAC;AAIxG,eAAO,MAAM,eAAe,EAAE,gBAAgB,EAsB7C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAsE,CAAC;AAErH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE3E;AAED,iGAAiG;AACjG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM,CAOnF;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnF,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,IAAI,GAAE,oBAAyB,GAAG,mBAAmB,CAiBnI"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical submarine-swap tool contract — pay a Lightning invoice from Liquid
|
|
3
|
+
* funds through the KaleidoSwap Boltz /v2 maker (kaleidoswap-maker-rs).
|
|
4
|
+
*
|
|
5
|
+
* The names match kaleido-mcp, which implements them over @kaleidorg/swap-sdk.
|
|
6
|
+
* Hosts with the SDK in-process (desktop sidecar, React Native) bind the same
|
|
7
|
+
* names with `bindSubmarineTools`.
|
|
8
|
+
*
|
|
9
|
+
* Keys and preimages never cross this contract: the host derives the refund key
|
|
10
|
+
* from its wallet mnemonic and persists the swap. `kaleidoswap_submarine_fund`
|
|
11
|
+
* — the only spend — takes nothing but the swap id, so the model cannot alter
|
|
12
|
+
* the amount, asset or lockup address it pays.
|
|
13
|
+
*
|
|
14
|
+
* Pure data — no deps, no fetch, RN-safe.
|
|
15
|
+
*/
|
|
16
|
+
import { InProcessToolSource } from '../tools/in-process.js';
|
|
17
|
+
function t(name, description, properties = {}, required = [], spend = false) {
|
|
18
|
+
return { name, description, spend, requiresConfirmation: spend, parameters: { type: 'object', properties, required } };
|
|
19
|
+
}
|
|
20
|
+
/** Assets a submarine swap can be paid from, as the maker names them. */
|
|
21
|
+
export const SUBMARINE_FROM_ASSETS = ['L-USDT', 'L-BTC'];
|
|
22
|
+
/** Smallest-unit decimals of each source asset (L-USDT: 8, L-BTC: sats). */
|
|
23
|
+
export const SUBMARINE_ASSET_DECIMALS = { 'L-USDT': 8, 'L-BTC': 8 };
|
|
24
|
+
const swapId = { type: 'string', description: 'Swap id returned by kaleidoswap_submarine_create' };
|
|
25
|
+
export const SUBMARINE_TOOLS = [
|
|
26
|
+
t('kaleidoswap_submarine_pairs', 'List what can pay a Lightning invoice through a submarine swap (e.g. L-USDT on Liquid → Lightning BTC): rate, min/max, fees. No args.'),
|
|
27
|
+
t('kaleidoswap_submarine_create', 'Open a submarine swap that pays a Lightning (BOLT11) invoice from Liquid funds. No funds move: returns swap_id and expected_amount (source asset smallest unit). Then confirm with the user and call kaleidoswap_submarine_fund.', {
|
|
28
|
+
invoice: { type: 'string', description: 'BOLT11 Lightning invoice to pay (must carry an amount)' },
|
|
29
|
+
from_asset: { type: 'string', enum: [...SUBMARINE_FROM_ASSETS], description: 'Asset to pay with (default L-USDT)' },
|
|
30
|
+
}, ['invoice']),
|
|
31
|
+
t('kaleidoswap_submarine_fund', 'SPEND: lock the funds for a swap from kaleidoswap_submarine_create. Takes only the swap id — amount, asset and address come from the stored swap. The maker then pays the invoice.', { swap_id: swapId }, ['swap_id'],
|
|
32
|
+
/* spend */ true),
|
|
33
|
+
t('kaleidoswap_submarine_status', 'Status of a submarine swap. "transaction.claimed" = invoice paid, done. A failed funded swap needs a refund.', { swap_id: swapId }, ['swap_id']),
|
|
34
|
+
];
|
|
35
|
+
export const SUBMARINE_SPEND_TOOLS = new Set(SUBMARINE_TOOLS.filter((d) => d.spend).map((d) => d.name));
|
|
36
|
+
export function isSubmarineSpendTool(name) {
|
|
37
|
+
return SUBMARINE_SPEND_TOOLS.has(name);
|
|
38
|
+
}
|
|
39
|
+
export function getSubmarineTool(name) {
|
|
40
|
+
return SUBMARINE_TOOLS.find((d) => d.name === name);
|
|
41
|
+
}
|
|
42
|
+
/** Format a smallest-unit amount of a source asset for display ("52.3 L-USDT", "1,200 sats"). */
|
|
43
|
+
export function formatSubmarineAmount(asset, smallestUnits) {
|
|
44
|
+
const n = Number(smallestUnits);
|
|
45
|
+
if (!Number.isFinite(n))
|
|
46
|
+
return `${String(smallestUnits)} ${asset}`;
|
|
47
|
+
if (asset === 'L-BTC')
|
|
48
|
+
return `${n.toLocaleString('en-US')} sats of L-BTC`;
|
|
49
|
+
const decimals = SUBMARINE_ASSET_DECIMALS[asset] ?? 0;
|
|
50
|
+
const value = n / 10 ** decimals;
|
|
51
|
+
return `${value.toLocaleString('en-US', { maximumFractionDigits: decimals })} ${asset}`;
|
|
52
|
+
}
|
|
53
|
+
/** Bind the submarine contract to in-process handlers → an InProcessToolSource. */
|
|
54
|
+
export function bindSubmarineTools(handlers, opts = {}) {
|
|
55
|
+
const bound = [];
|
|
56
|
+
for (const def of SUBMARINE_TOOLS) {
|
|
57
|
+
const handler = handlers[def.name];
|
|
58
|
+
if (!handler) {
|
|
59
|
+
if (opts.allowMissing)
|
|
60
|
+
continue;
|
|
61
|
+
throw new Error(`bindSubmarineTools: no handler for "${def.name}"`);
|
|
62
|
+
}
|
|
63
|
+
bound.push({
|
|
64
|
+
name: def.name,
|
|
65
|
+
description: def.description,
|
|
66
|
+
parameters: def.parameters,
|
|
67
|
+
requiresConfirmation: def.requiresConfirmation,
|
|
68
|
+
handler,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return new InProcessToolSource(opts.id ?? 'submarine', bound);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/submarine/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { type WalletHandler } from '../wallet/contract.js';
|
|
12
12
|
import { ToolRegistry } from '../tools/registry.js';
|
|
13
|
+
import { type SubmarineHandler } from '../submarine/contract.js';
|
|
13
14
|
export interface SendRecord {
|
|
14
15
|
tool: string;
|
|
15
16
|
to: string;
|
|
@@ -34,6 +35,11 @@ export interface MockWalletOptions {
|
|
|
34
35
|
assets?: Record<string, number>;
|
|
35
36
|
/** Free colored UTXOs on the RLN node (issuance / RGB receive consume one). */
|
|
36
37
|
utxos?: number;
|
|
38
|
+
/** Liquid balances in smallest units (L-USDT: 8 decimals, L-BTC: sats) for submarine swaps. */
|
|
39
|
+
liquid?: {
|
|
40
|
+
'L-USDT': number;
|
|
41
|
+
'L-BTC': number;
|
|
42
|
+
};
|
|
37
43
|
}
|
|
38
44
|
export interface MockRgbAsset {
|
|
39
45
|
asset_id: string;
|
|
@@ -61,18 +67,36 @@ export declare class MockWallet {
|
|
|
61
67
|
assets: Record<string, number>;
|
|
62
68
|
contacts: MockContact[];
|
|
63
69
|
utxos: number;
|
|
70
|
+
liquid: {
|
|
71
|
+
'L-USDT': number;
|
|
72
|
+
'L-BTC': number;
|
|
73
|
+
};
|
|
74
|
+
/** Submarine swaps opened against the mock /v2 maker, by id. */
|
|
75
|
+
submarineSwaps: Record<string, {
|
|
76
|
+
from: 'L-USDT' | 'L-BTC';
|
|
77
|
+
invoice: string;
|
|
78
|
+
expected: number;
|
|
79
|
+
funded: boolean;
|
|
80
|
+
}>;
|
|
64
81
|
/** RGB assets the node knows about (seeded USDT/XAUT + anything issued). */
|
|
65
82
|
rgbAssets: MockRgbAsset[];
|
|
66
83
|
transfers: MockTransfer[];
|
|
67
84
|
sends: SendRecord[];
|
|
85
|
+
private readonly opts;
|
|
68
86
|
constructor(o?: MockWalletOptions);
|
|
69
87
|
private findAsset;
|
|
70
88
|
/** Issue a new RGB asset — mirrors the node: needs a free colored UTXO. */
|
|
71
89
|
issueAsset(args: Record<string, unknown>): MockRgbAsset;
|
|
72
90
|
totalSats(): number;
|
|
91
|
+
/** Back to the constructor state: balances, contacts, UTXOs, issued assets, history. */
|
|
73
92
|
reset(): void;
|
|
74
93
|
private send;
|
|
75
94
|
handlers(): Record<string, WalletHandler>;
|
|
95
|
+
/**
|
|
96
|
+
* The KaleidoSwap /v2 submarine contract against a toy maker: 0.5% fee, the
|
|
97
|
+
* invoice amount read from its BOLT11 human-readable part, L-USDT at `priceUsd`.
|
|
98
|
+
*/
|
|
99
|
+
submarineHandlers(): Record<string, SubmarineHandler>;
|
|
76
100
|
/** Bind the contract tools to this wallet (optionally overriding some — e.g. to inject). */
|
|
77
101
|
registry(overrides?: Partial<Record<string, WalletHandler>>): ToolRegistry;
|
|
78
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-wallet.d.ts","sourceRoot":"","sources":["../../src/testing/mock-wallet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"mock-wallet.d.ts","sourceRoot":"","sources":["../../src/testing/mock-wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { bindWalletTools } from '../wallet/contract.js';
|
|
12
12
|
import { ToolRegistry } from '../tools/registry.js';
|
|
13
|
+
import { bindSubmarineTools } from '../submarine/contract.js';
|
|
13
14
|
export class MockWallet {
|
|
14
15
|
priceUsd;
|
|
15
16
|
failRoute;
|
|
@@ -17,22 +18,29 @@ export class MockWallet {
|
|
|
17
18
|
assets;
|
|
18
19
|
contacts;
|
|
19
20
|
utxos;
|
|
21
|
+
liquid;
|
|
22
|
+
/** Submarine swaps opened against the mock /v2 maker, by id. */
|
|
23
|
+
submarineSwaps = {};
|
|
20
24
|
/** RGB assets the node knows about (seeded USDT/XAUT + anything issued). */
|
|
21
25
|
rgbAssets;
|
|
22
26
|
transfers = [];
|
|
23
27
|
sends = [];
|
|
28
|
+
opts;
|
|
24
29
|
constructor(o = {}) {
|
|
30
|
+
this.opts = o;
|
|
25
31
|
this.priceUsd = o.priceUsd ?? 65_000;
|
|
26
32
|
this.failRoute = o.failRoute ?? false;
|
|
27
|
-
|
|
28
|
-
this.
|
|
29
|
-
this.
|
|
33
|
+
// Copies: the wallet mutates its state, and reset() rebuilds from `o`.
|
|
34
|
+
this.balances = { ...(o.balances ?? { spark: 500_000, rln: 300_000, arkade: 200_000 }) };
|
|
35
|
+
this.assets = { ...(o.assets ?? { USDT: 25_000_000, XAUT: 0 }) };
|
|
36
|
+
this.contacts = o.contacts ? [...o.contacts] : [
|
|
30
37
|
{ name: 'bob', ln_address: 'bob@kaleidoswap.com' },
|
|
31
38
|
{ name: 'alice', ln_address: 'alice@kaleidoswap.com' },
|
|
32
39
|
{ name: 'john', ln_address: 'john.smith@kaleidoswap.com' },
|
|
33
40
|
{ name: 'john', ln_address: 'john.doe@kaleidoswap.com' }, // ambiguous on purpose
|
|
34
41
|
];
|
|
35
42
|
this.utxos = o.utxos ?? 5;
|
|
43
|
+
this.liquid = { ...(o.liquid ?? { 'L-USDT': 100 * 1e8, 'L-BTC': 200_000 }) };
|
|
36
44
|
this.rgbAssets = Object.keys(this.assets).map((ticker) => ({
|
|
37
45
|
asset_id: mockAssetId(ticker),
|
|
38
46
|
ticker,
|
|
@@ -77,9 +85,9 @@ export class MockWallet {
|
|
|
77
85
|
totalSats() {
|
|
78
86
|
return this.balances.spark + this.balances.rln + this.balances.arkade;
|
|
79
87
|
}
|
|
88
|
+
/** Back to the constructor state: balances, contacts, UTXOs, issued assets, history. */
|
|
80
89
|
reset() {
|
|
81
|
-
this
|
|
82
|
-
this.transfers = [];
|
|
90
|
+
Object.assign(this, new MockWallet(this.opts));
|
|
83
91
|
}
|
|
84
92
|
send(tool, rec) {
|
|
85
93
|
if (this.failRoute)
|
|
@@ -164,10 +172,61 @@ export class MockWallet {
|
|
|
164
172
|
},
|
|
165
173
|
};
|
|
166
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* The KaleidoSwap /v2 submarine contract against a toy maker: 0.5% fee, the
|
|
177
|
+
* invoice amount read from its BOLT11 human-readable part, L-USDT at `priceUsd`.
|
|
178
|
+
*/
|
|
179
|
+
submarineHandlers() {
|
|
180
|
+
return {
|
|
181
|
+
kaleidoswap_submarine_pairs: async () => ({
|
|
182
|
+
pairs: [
|
|
183
|
+
{ from: 'L-USDT', to: 'BTC', fees: { percentage: 0.5 }, limits: { minimal: 10 * 1e8, maximal: 1_000 * 1e8 } },
|
|
184
|
+
{ from: 'L-BTC', to: 'BTC', fees: { percentage: 0.5 }, limits: { minimal: 10_000, maximal: 1_000_000 } },
|
|
185
|
+
],
|
|
186
|
+
}),
|
|
187
|
+
kaleidoswap_submarine_create: async ({ invoice, from_asset }) => {
|
|
188
|
+
const from = (from_asset ?? 'L-USDT');
|
|
189
|
+
if (from !== 'L-USDT' && from !== 'L-BTC')
|
|
190
|
+
throw new Error(`Unsupported from_asset "${String(from_asset)}".`);
|
|
191
|
+
const sats = bolt11Sats(String(invoice));
|
|
192
|
+
if (sats == null)
|
|
193
|
+
throw new Error('invalid_invoice: the invoice must be BOLT11 with an amount.');
|
|
194
|
+
const withFee = sats * 1.005;
|
|
195
|
+
const expected = Math.ceil(from === 'L-USDT' ? (withFee / 1e8) * this.priceUsd * 1e8 : withFee);
|
|
196
|
+
const id = `sub${Object.keys(this.submarineSwaps).length + 1}`;
|
|
197
|
+
this.submarineSwaps[id] = { from, invoice: String(invoice), expected, funded: false };
|
|
198
|
+
return { swap_id: id, from_asset: from, expected_amount: String(expected), lockup_address: `tlq1qmock${id}` };
|
|
199
|
+
},
|
|
200
|
+
kaleidoswap_submarine_fund: async ({ swap_id }) => {
|
|
201
|
+
const swap = this.submarineSwaps[String(swap_id)];
|
|
202
|
+
if (!swap)
|
|
203
|
+
throw new Error(`No submarine swap "${String(swap_id)}" was created by this server.`);
|
|
204
|
+
if (swap.funded)
|
|
205
|
+
throw new Error(`Swap ${String(swap_id)} is already funded.`);
|
|
206
|
+
if (this.liquid[swap.from] < swap.expected)
|
|
207
|
+
throw new Error(`Insufficient ${swap.from} balance.`);
|
|
208
|
+
this.liquid[swap.from] -= swap.expected;
|
|
209
|
+
swap.funded = true;
|
|
210
|
+
this.sends.push({ tool: 'kaleidoswap_submarine_fund', to: swap.invoice, asset: swap.from, amount: swap.expected });
|
|
211
|
+
return { funded: true, swap_id, asset: swap.from, amount: String(swap.expected), txid: `mocktx${String(swap_id)}` };
|
|
212
|
+
},
|
|
213
|
+
kaleidoswap_submarine_status: async ({ swap_id }) => {
|
|
214
|
+
const swap = this.submarineSwaps[String(swap_id)];
|
|
215
|
+
if (!swap)
|
|
216
|
+
throw new Error(`invalid_swap_id: "${String(swap_id)}" is not a swap id`);
|
|
217
|
+
const status = swap.funded ? 'transaction.claimed' : 'swap.created';
|
|
218
|
+
return { swap_id, status, done: swap.funded, failed: false, funded: swap.funded };
|
|
219
|
+
},
|
|
220
|
+
};
|
|
221
|
+
}
|
|
167
222
|
/** Bind the contract tools to this wallet (optionally overriding some — e.g. to inject). */
|
|
168
223
|
registry(overrides) {
|
|
169
224
|
const h = { ...this.handlers(), ...(overrides ?? {}) };
|
|
170
|
-
|
|
225
|
+
const sub = { ...this.submarineHandlers(), ...(overrides ?? {}) };
|
|
226
|
+
return new ToolRegistry([
|
|
227
|
+
bindWalletTools(h, { layers: ['spark', 'rln', 'arkade', 'core'], allowMissing: true }),
|
|
228
|
+
bindSubmarineTools(sub, { allowMissing: true }),
|
|
229
|
+
]);
|
|
171
230
|
}
|
|
172
231
|
}
|
|
173
232
|
/** Deterministic fake RGB contract id per ticker (stable across runs). */
|
|
@@ -177,4 +236,14 @@ function mockAssetId(ticker) {
|
|
|
177
236
|
h = (h * 31 + c.charCodeAt(0)) >>> 0;
|
|
178
237
|
return `rgb:mock-${ticker.toLowerCase()}-${h.toString(36)}`;
|
|
179
238
|
}
|
|
239
|
+
/** Amount in sats from a BOLT11 human-readable part ("lntbs10u…" → 1000), or null. */
|
|
240
|
+
function bolt11Sats(invoice) {
|
|
241
|
+
const m = invoice.toLowerCase().match(/^ln(?:bcrt|tbs|bc|tb)(\d+)([munp])?1/);
|
|
242
|
+
if (!m)
|
|
243
|
+
return null;
|
|
244
|
+
const n = Number(m[1]);
|
|
245
|
+
const mult = { m: 1e5, u: 100, n: 0.1, p: 0.0001 }[m[2] ?? ''] ?? 1e8;
|
|
246
|
+
const sats = n * mult;
|
|
247
|
+
return sats >= 1 ? Math.round(sats) : null;
|
|
248
|
+
}
|
|
180
249
|
//# sourceMappingURL=mock-wallet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-wallet.js","sourceRoot":"","sources":["../../src/testing/mock-wallet.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mock-wallet.js","sourceRoot":"","sources":["../../src/testing/mock-wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirm.d.ts","sourceRoot":"","sources":["../../src/wallet/confirm.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"confirm.d.ts","sourceRoot":"","sources":["../../src/wallet/confirm.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2DH,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CA+CzG"}
|
package/dist/wallet/confirm.js
CHANGED
|
@@ -27,7 +27,7 @@ function isRef(s) {
|
|
|
27
27
|
/** Shorten an address/invoice for speech; leave contact names intact. */
|
|
28
28
|
function shortRef(s) {
|
|
29
29
|
const v = s.trim();
|
|
30
|
-
return isRef(v) ? `${v.slice(0, 6)}…${v.slice(-4)}` : v;
|
|
30
|
+
return isRef(v) && v.length > 12 ? `${v.slice(0, 6)}…${v.slice(-4)}` : v;
|
|
31
31
|
}
|
|
32
32
|
/** " over Spark" suffix for the call's layer (explicit arg wins, else the tool's). */
|
|
33
33
|
function over(name, args) {
|
|
@@ -35,8 +35,26 @@ function over(name, args) {
|
|
|
35
35
|
const label = layer ? LAYER_LABEL[layer] : undefined;
|
|
36
36
|
return label ? ` over ${label}` : '';
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
/** A finite number from a tool arg, else undefined (never NaN in a readback). */
|
|
39
|
+
function num(v) {
|
|
40
|
+
if (typeof v === 'number')
|
|
41
|
+
return Number.isFinite(v) ? v : undefined;
|
|
42
|
+
if (typeof v === 'string' && v.trim() !== '' && Number.isFinite(Number(v)))
|
|
43
|
+
return Number(v);
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
/** A display string from a tool arg, stripped of stray quotes/commas a model may leave in. */
|
|
47
|
+
function label(v) {
|
|
48
|
+
return String(v ?? '').trim().replace(/^[\s'"`,]+|[\s'"`,]+$/g, '') || '?';
|
|
49
|
+
}
|
|
50
|
+
const sats = (v) => {
|
|
51
|
+
const n = num(v);
|
|
52
|
+
return n === undefined ? 'an unspecified amount of sats' : `${fmtNum(n)} sats`;
|
|
53
|
+
};
|
|
54
|
+
const asset = (amount, ticker) => {
|
|
55
|
+
const n = num(amount);
|
|
56
|
+
return n === undefined ? `an unspecified amount of ${label(ticker)}` : `${fmtNum(n)} ${label(ticker)}`;
|
|
57
|
+
};
|
|
40
58
|
/** A spoken confirmation ending in "Confirm?", or null for non-spend tools. */
|
|
41
59
|
export function confirmReadback(call) {
|
|
42
60
|
const { name, arguments: a } = call;
|
|
@@ -60,18 +78,18 @@ export function confirmReadback(call) {
|
|
|
60
78
|
case 'spark_pay_invoice':
|
|
61
79
|
return ask(`Pay Lightning invoice ${shortRef(String(a.invoice ?? ''))}${over(name, a)}`);
|
|
62
80
|
case 'rln_issue_asset': {
|
|
63
|
-
const
|
|
81
|
+
const named = a.name != null && a.ticker != null && label(a.name) !== label(a.ticker) ? ` (${label(a.name)})` : '';
|
|
64
82
|
return a.schema === 'UDA'
|
|
65
|
-
? ask(`Issue unique asset ${
|
|
66
|
-
: ask(`Issue ${asset(a.amount, a.ticker ?? a.name)}${
|
|
83
|
+
? ask(`Issue unique asset ${label(a.ticker ?? a.name)}${named} on RGB`)
|
|
84
|
+
: ask(`Issue ${asset(a.amount, a.ticker ?? a.name)}${named}, a new RGB asset`);
|
|
67
85
|
}
|
|
68
86
|
case 'rln_create_utxos':
|
|
69
|
-
return ask(`Create ${fmtNum(
|
|
87
|
+
return ask(`Create ${fmtNum(num(a.num) ?? 5)} RGB UTXOs on-chain${over(name, a)}`);
|
|
70
88
|
case 'rln_send_btc':
|
|
71
89
|
return ask(`Send ${sats(a.amount_sat)} on-chain to ${to('address')}${over(name, a)}`);
|
|
72
90
|
case 'rln_open_channel': {
|
|
73
91
|
const peer = shortRef(String(a.peer_pubkey_and_addr ?? '').split('@')[0] ?? '');
|
|
74
|
-
const withAsset = a.asset_id != null && a.asset_amount
|
|
92
|
+
const withAsset = a.asset_id != null && num(a.asset_amount) !== undefined ? ` with ${fmtNum(num(a.asset_amount))} of ${shortRef(String(a.asset_id))}` : '';
|
|
75
93
|
return ask(`Open a ${sats(a.capacity_sat)} channel to ${peer}${withAsset}`);
|
|
76
94
|
}
|
|
77
95
|
case 'rln_close_channel':
|
|
@@ -79,7 +97,7 @@ export function confirmReadback(call) {
|
|
|
79
97
|
case 'rln_atomic_taker':
|
|
80
98
|
return ask(`Accept atomic swap ${shortRef(String(a.swapstring ?? ''))} on your node`);
|
|
81
99
|
case 'execute_swap':
|
|
82
|
-
return ask(`Swap ${
|
|
100
|
+
return ask(`Swap ${asset(a.amount, a.from_asset)} for ${label(a.to_asset)}`);
|
|
83
101
|
default:
|
|
84
102
|
// Unknown but spend-flagged tool → a generic, still-honest readback.
|
|
85
103
|
return getWalletTool(name)?.spend ? ask(`Confirm ${name.replace(/_/g, ' ')}`) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirm.js","sourceRoot":"","sources":["../../src/wallet/confirm.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,GAA2B;IAC1C,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,sFAAsF;AACtF,SAAS,MAAM,CAAC,CAAS;IACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,GAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,qEAAqE;AACrE,SAAS,KAAK,CAAC,CAAS;IACtB,OAAO,sCAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,yEAAyE;AACzE,SAAS,QAAQ,CAAC,CAAS;IACzB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"confirm.js","sourceRoot":"","sources":["../../src/wallet/confirm.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaleidorg/mind",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Local-first reasoning + function-calling engine for KaleidoSwap. QVAC-powered.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -40,6 +40,11 @@
|
|
|
40
40
|
"import": "./dist/qvac/index.js",
|
|
41
41
|
"default": "./dist/qvac/index.js"
|
|
42
42
|
},
|
|
43
|
+
"./openai": {
|
|
44
|
+
"types": "./dist/providers/openai.d.ts",
|
|
45
|
+
"import": "./dist/providers/openai.js",
|
|
46
|
+
"default": "./dist/providers/openai.js"
|
|
47
|
+
},
|
|
43
48
|
"./testing": {
|
|
44
49
|
"types": "./dist/testing/index.d.ts",
|
|
45
50
|
"import": "./dist/testing/index.js",
|
package/skills/README.md
CHANGED
|
@@ -19,6 +19,7 @@ name: my-skill # required — stable id
|
|
|
19
19
|
description: When to use this… # required — selection signal (embed triggers here)
|
|
20
20
|
tools: tool_a, tool_b # optional — scope the model to these tools
|
|
21
21
|
triggers: foo, bar # optional — keywords that boost selection
|
|
22
|
+
requires-tools: tool_a # optional — skip this skill unless ALL of these tools are live
|
|
22
23
|
metadata: # optional — anything else (author, version, …)
|
|
23
24
|
author: kaleidoswap
|
|
24
25
|
---
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: kaleido-trading
|
|
3
|
-
description: "Trade on KaleidoSwap — quote and execute swaps between BTC and RGB assets (USDT, XAUT). Get assets and pairs, pull an executable quote,
|
|
4
|
-
tools: kaleidoswap_get_assets, kaleidoswap_get_pairs, kaleidoswap_get_quote,
|
|
3
|
+
description: "Trade on KaleidoSwap — quote and execute swaps between BTC and RGB assets (USDT, XAUT). Get assets and pairs, pull an executable quote, or run/poll an atomic swap end-to-end. Triggers when the user wants a quote, to swap or trade assets, to rebalance between BTC and stablecoins, or to check the status of a swap / atomic swap."
|
|
4
|
+
tools: kaleidoswap_get_assets, kaleidoswap_get_pairs, kaleidoswap_get_quote, kaleidoswap_atomic_init, kaleidoswap_atomic_execute, kaleidoswap_atomic_status, rln_get_node_info, rln_atomic_taker, rln_refresh_transfers, rln_get_asset_balance, rln_list_channels, rln_list_swaps, rln_get_swap
|
|
5
5
|
triggers: quote, swap, trade, rebalance, slippage, pair, pairs, usdt, xaut, kaleidoswap, rfq, check status, order status, check the order, swap status, check my swap, atomic status
|
|
6
6
|
metadata:
|
|
7
7
|
author: kaleidoswap
|
|
@@ -110,7 +110,7 @@ verbatim. Do NOT do any arithmetic yourself.** The response looks like:
|
|
|
110
110
|
To state the answer, copy the strings:
|
|
111
111
|
- Receive amount → `to_amount_display`.
|
|
112
112
|
- Fee → `fee_display`.
|
|
113
|
-
- `rfq_id` is the quote handle (needed to
|
|
113
|
+
- `rfq_id` is the quote handle (needed to start the atomic swap), short-lived (~60s) —
|
|
114
114
|
mention it expires soon.
|
|
115
115
|
|
|
116
116
|
**Read `to_amount_display` / `fee_display` exactly as given.** Do NOT compute
|
|
@@ -121,21 +121,18 @@ correct numbers are the `*_display` strings in the CURRENT tool result.
|
|
|
121
121
|
A good reply: *"100,000 sats → <to_amount_display> (fee <fee_display>). Quote
|
|
122
122
|
<rfq_id> is valid ~60s — want me to place it?"*
|
|
123
123
|
|
|
124
|
-
### `
|
|
124
|
+
### `kaleidoswap_atomic_init` 🔒 spend
|
|
125
125
|
Only after `kaleidoswap_get_quote` returned an `rfq_id` THIS turn, and only when
|
|
126
|
-
the user has explicitly approved the amount + direction.
|
|
127
|
-
`
|
|
126
|
+
the user has explicitly approved the amount + direction. Starts the atomic
|
|
127
|
+
swap from that quote; the rest of the chain (`rln_atomic_taker` →
|
|
128
|
+
`kaleidoswap_atomic_execute` → `kaleidoswap_atomic_status`) is described
|
|
129
|
+
below and in `references/atomic.md`.
|
|
128
130
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
to terminal states. Always pass the exact values from the previous
|
|
135
|
-
`kaleidoswap_place_order` result **or from the most recent assistant message/summary**
|
|
136
|
-
(the one that said something like "order_id=xxx access_token=yyy" or "To check status use: kaleidoswap_get_order_status(order_id=..., access_token=...)").
|
|
137
|
-
If memory/remember is available, first recall the last order/swap details.
|
|
138
|
-
Report the outcome plainly.
|
|
131
|
+
### `kaleidoswap_atomic_status`
|
|
132
|
+
Poll after executing an atomic swap until it reaches a terminal state
|
|
133
|
+
(completed / failed / expired). Pass the exact ids returned by
|
|
134
|
+
`kaleidoswap_atomic_init` (or surfaced in the most recent swap summary) — never
|
|
135
|
+
invent them. Report the outcome plainly.
|
|
139
136
|
|
|
140
137
|
## Flow
|
|
141
138
|
|
|
@@ -143,12 +140,15 @@ Report the outcome plainly.
|
|
|
143
140
|
2. **Quote** — `kaleidoswap_get_quote`. REQUIRES amount; ask if missing.
|
|
144
141
|
3. **Read + present** — compute the receive amount + fee from the response (see
|
|
145
142
|
"Reading the quote response"). **Never hide cost.**
|
|
146
|
-
4. **
|
|
147
|
-
|
|
143
|
+
4. **Swap** — `kaleidoswap_atomic_init` → `rln_atomic_taker` →
|
|
144
|
+
`kaleidoswap_atomic_execute`. Spend-gated by the engine; the host pauses for
|
|
145
|
+
the user.
|
|
146
|
+
5. **Track** — poll `kaleidoswap_atomic_status` with the ids from
|
|
147
|
+
`kaleidoswap_atomic_init` until it terminates.
|
|
148
148
|
|
|
149
149
|
## Don'ts
|
|
150
150
|
|
|
151
|
-
- Don't invent prices, quotes, rfq_ids,
|
|
151
|
+
- Don't invent prices, quotes, rfq_ids, swap ids, or access_tokens.
|
|
152
152
|
- Don't reuse a number from a previous turn.
|
|
153
153
|
- Don't describe how a tool works — call it.
|
|
154
154
|
- Don't call `kaleidoswap_get_quote` with from/to only — ask for the amount.
|
|
@@ -158,13 +158,8 @@ Report the outcome plainly.
|
|
|
158
158
|
- Don't accept `XAU` as `XAUT` or `USD` as `USDT` silently — confirm.
|
|
159
159
|
- Don't retry the same failing tool call in a loop. If a call fails, read the
|
|
160
160
|
error and either ask the user, fix the args, or stop.
|
|
161
|
-
- Don't claim
|
|
162
|
-
|
|
163
|
-
- Never call `kaleidoswap_get_order_status` with only the access_token or only
|
|
164
|
-
the order_id. Always extract the exact values from the previous turn's summary
|
|
165
|
-
(the one that said "order_id=... access_token=..." or the explicit "To check
|
|
166
|
-
status use..." line) and pass them as separate arguments. If using the
|
|
167
|
-
`remember` tool, first recall the last order details.
|
|
161
|
+
- Don't claim a swap completed without polling `kaleidoswap_atomic_status`
|
|
162
|
+
and seeing a terminal state.
|
|
168
163
|
|
|
169
164
|
For the full atomic-swap flow (init → whitelist on the RGB node → execute), a
|
|
170
165
|
deterministic recipe drives the chain — the agentic loop is not safe to plan a
|
|
@@ -173,8 +168,7 @@ multi-step, two-service swap on a small model. Status for atomics uses the
|
|
|
173
168
|
|
|
174
169
|
## Over kaleido-mcp (desktop, Claude Code)
|
|
175
170
|
|
|
176
|
-
kaleido-mcp 0.3.0+ is **atomic-only
|
|
177
|
-
or order status. Its quote takes `from_asset_id` / `from_layer` /
|
|
171
|
+
kaleido-mcp 0.3.0+ is **atomic-only**. Its quote takes `from_asset_id` / `from_layer` /
|
|
178
172
|
`from_amount` (display units) and returns `amount_raw` values that
|
|
179
173
|
`kaleidoswap_atomic_init` takes unchanged. The full chain is quote →
|
|
180
174
|
`kaleidoswap_atomic_init` → `rln_atomic_taker` + `rln_get_node_info` →
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# KaleidoSwap maker API (what the tools call)
|
|
2
2
|
|
|
3
|
-
Base
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Base URL: `https://api.signet.kaleidoswap.com` (signet, `KALEIDO_NETWORK=signet`
|
|
4
|
+
in kaleido-mcp). There is no public mainnet API; for mainnet, set
|
|
5
|
+
`KALEIDOSWAP_API_URL` to your own maker endpoint. The MCP tools wrap these endpoints; you normally never call them
|
|
6
6
|
directly. Amounts on the wire are raw units (see `assets.md`).
|
|
7
7
|
|
|
8
8
|
| Endpoint | Tool |
|