@kaleidorg/mind 0.9.0 → 0.10.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/engine/answer.d.ts +3 -0
- package/dist/engine/answer.d.ts.map +1 -1
- package/dist/engine/answer.js +19 -2
- package/dist/engine/answer.js.map +1 -1
- package/dist/engine/rgb-ticker.d.ts +17 -0
- package/dist/engine/rgb-ticker.d.ts.map +1 -0
- package/dist/engine/rgb-ticker.js +47 -0
- package/dist/engine/rgb-ticker.js.map +1 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +8 -2
- package/dist/engine.js.map +1 -1
- package/dist/guards.d.ts +12 -0
- package/dist/guards.d.ts.map +1 -1
- package/dist/guards.js +60 -0
- package/dist/guards.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/kaleidoswap/contract.d.ts +7 -0
- package/dist/kaleidoswap/contract.d.ts.map +1 -1
- package/dist/kaleidoswap/contract.js +71 -17
- package/dist/kaleidoswap/contract.js.map +1 -1
- package/dist/kaleidoswap/index.d.ts +1 -1
- package/dist/kaleidoswap/index.d.ts.map +1 -1
- package/dist/kaleidoswap/index.js +1 -1
- package/dist/kaleidoswap/index.js.map +1 -1
- package/dist/qvac/parse.d.ts.map +1 -1
- package/dist/qvac/parse.js +13 -0
- package/dist/qvac/parse.js.map +1 -1
- package/dist/qvac/provider.d.ts.map +1 -1
- package/dist/qvac/provider.js +127 -95
- package/dist/qvac/provider.js.map +1 -1
- package/dist/recipe/asset-send.js +1 -1
- package/dist/recipe/asset-send.js.map +1 -1
- package/dist/testing/mock-wallet.d.ts.map +1 -1
- package/dist/testing/mock-wallet.js +6 -0
- package/dist/testing/mock-wallet.js.map +1 -1
- package/dist/wallet/contract.d.ts +5 -0
- package/dist/wallet/contract.d.ts.map +1 -1
- package/dist/wallet/contract.js +39 -6
- package/dist/wallet/contract.js.map +1 -1
- package/package.json +1 -1
- package/scripts/snapshot-mcp-tools.mjs +38 -0
- package/skills/README.md +98 -64
- package/skills/bitrefill/SKILL.md +30 -157
- package/skills/channel-manager/SKILL.md +31 -52
- package/skills/flashnet-swaps/SKILL.md +24 -150
- package/skills/kaleido-node/SKILL.md +25 -55
- package/skills/kaleido-trading/SKILL.md +28 -172
- package/skills/kaleido-trading/references/assets.md +4 -4
- package/skills/kaleido-trading/references/atomic.md +5 -7
- package/skills/merchant-finder/SKILL.md +25 -108
- package/skills/paid-data/SKILL.md +25 -58
- package/skills/portfolio-manager/SKILL.md +26 -60
- package/skills/rgb-lightning-node/SKILL.md +37 -255
- package/skills/rgb-lightning-node/references/channels.md +34 -0
- package/skills/spark-wallet/SKILL.md +26 -228
- package/skills/submarine-swaps/SKILL.md +19 -37
- package/skills/wallet-assistant/SKILL.md +26 -44
- package/src/engine/answer.ts +26 -2
- package/src/engine/rgb-ticker.test.ts +29 -0
- package/src/engine/rgb-ticker.ts +54 -0
- package/src/engine.ts +16 -2
- package/src/funnel.mind.test.ts +6 -5
- package/src/guards.test.ts +39 -0
- package/src/guards.ts +61 -0
- package/src/index.ts +4 -0
- package/src/kaleidoswap/contract.test.ts +32 -3
- package/src/kaleidoswap/contract.ts +65 -17
- package/src/kaleidoswap/index.ts +1 -0
- package/src/qvac/parse.test.ts +14 -0
- package/src/qvac/parse.ts +11 -0
- package/src/qvac/provider.test.ts +33 -0
- package/src/qvac/provider.ts +37 -4
- package/src/recipe/asset-send.ts +1 -1
- package/src/recipe/recipe.test.ts +1 -1
- package/src/skills/catalog.test.ts +215 -0
- package/src/skills/mcp-tools.snapshot.json +1938 -0
- package/src/testing/mock-wallet.ts +6 -0
- package/src/wallet/contract.test.ts +20 -1
- package/src/wallet/contract.ts +36 -6
- package/skills/dca/SKILL.md +0 -48
- package/skills/kaleido-lsps/SKILL.md +0 -131
- package/skills/liquidity-optimizer/SKILL.md +0 -91
|
@@ -38,26 +38,34 @@ export const KALEIDOSWAP_TOOLS = [
|
|
|
38
38
|
// ─── market (read) ─────────────────────────────────────────────────────
|
|
39
39
|
t('market', 'kaleidoswap_get_assets', 'List the assets KaleidoSwap supports — BTC plus the RGB assets the maker has inventory for (e.g. USDT, XAUT). Returns symbol, precision, and issuer/contract id. No args.'),
|
|
40
40
|
t('market', 'kaleidoswap_get_pairs', 'List the trading pairs currently quoted by the maker, with the latest bid/ask and the minimum/maximum executable size on each side. Use this before quoting to pick a valid pair. No args.'),
|
|
41
|
-
t('market', 'kaleidoswap_get_quote', 'Get an executable quote for
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
t('market', 'kaleidoswap_get_quote', 'Get an executable quote for one pair. Amounts are DISPLAY units (0.0005 = 0.0005 BTC = 50,000 sats). Give exactly one of from_amount (sell a fixed input) or to_amount (buy a fixed output). Returns rfq_id, from_asset/to_asset with amount_display and amount_raw, price and expires_at (~60s).', {
|
|
42
|
+
from_asset_id: { type: 'string', description: "Asset to sell: ticker ('BTC', 'USDT') or RGB id ('rgb:…')." },
|
|
43
|
+
to_asset_id: { type: 'string', description: "Asset to buy: ticker ('USDT', 'BTC') or RGB id ('rgb:…')." },
|
|
44
|
+
from_layer: { type: 'string', description: "Optional: 'BTC_LN', 'RGB_LN', 'BTC_SPARK'. Derived from the asset when omitted." },
|
|
45
|
+
to_layer: { type: 'string', description: "Optional: 'RGB_LN', 'BTC_LN', 'BTC_SPARK'. Derived from the asset when omitted." },
|
|
46
|
+
from_amount: { type: 'number', description: 'Amount to SELL in display units (e.g. 0.001 BTC, 10 USDT).' },
|
|
47
|
+
to_amount: { type: 'number', description: 'Amount to BUY in display units (e.g. 10 USDT).' },
|
|
48
|
+
}, ['from_asset_id', 'to_asset_id']),
|
|
47
49
|
t('market', 'kaleidoswap_get_nodeinfo', "Get info about the maker's Lightning node — pubkey, host, port, connect URI. Useful before opening a channel or when the user wants to see the counterparty. No args."),
|
|
48
50
|
// ─── atomic (the trust-minimised swap chain — used by the recipe) ───────
|
|
49
|
-
t('atomic', 'kaleidoswap_atomic_init',
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
t('atomic', 'kaleidoswap_atomic_init', 'Start an atomic swap from a fresh quote. SPEND: confirmation-gated. Pass the quote rfq_id, both asset ids and the quote legs\' amount_raw values unchanged. Returns swapstring, payment_hash and access_token (keep it for status).', {
|
|
52
|
+
rfq_id: { type: 'string', description: 'rfq_id from kaleidoswap_get_quote.' },
|
|
53
|
+
from_asset_id: { type: 'string', description: 'from_asset.asset_id from the quote.' },
|
|
54
|
+
from_amount_raw: { type: 'integer', description: 'from_asset.amount_raw from the quote, unchanged.' },
|
|
55
|
+
to_asset_id: { type: 'string', description: 'to_asset.asset_id from the quote.' },
|
|
56
|
+
to_amount_raw: { type: 'integer', description: 'to_asset.amount_raw from the quote, unchanged.' },
|
|
57
|
+
}, ['rfq_id', 'from_asset_id', 'from_amount_raw', 'to_asset_id', 'to_amount_raw'],
|
|
53
58
|
/* spend */ true),
|
|
54
|
-
t('atomic', 'kaleidoswap_atomic_execute',
|
|
55
|
-
|
|
56
|
-
|
|
59
|
+
t('atomic', 'kaleidoswap_atomic_execute', 'Confirm the swap after rln_atomic_taker whitelisted the swapstring. SPEND: confirmation-gated. taker_pubkey is the pubkey from rln_get_node_info.', {
|
|
60
|
+
swapstring: { type: 'string', description: 'swapstring from kaleidoswap_atomic_init.' },
|
|
61
|
+
taker_pubkey: { type: 'string', description: 'Node pubkey from rln_get_node_info.' },
|
|
62
|
+
payment_hash: { type: 'string', description: 'payment_hash from kaleidoswap_atomic_init.' },
|
|
63
|
+
}, ['swapstring', 'taker_pubkey', 'payment_hash'],
|
|
57
64
|
/* spend */ true),
|
|
58
|
-
t('atomic', 'kaleidoswap_atomic_status', 'Poll
|
|
59
|
-
|
|
60
|
-
|
|
65
|
+
t('atomic', 'kaleidoswap_atomic_status', 'Poll an atomic swap by payment_hash: Waiting → Pending → Succeeded | Expired | Failed.', {
|
|
66
|
+
payment_hash: { type: 'string', description: 'payment_hash from kaleidoswap_atomic_init.' },
|
|
67
|
+
access_token: { type: 'string', description: 'access_token from kaleidoswap_atomic_init, when the host needs it.' },
|
|
68
|
+
}, ['payment_hash']),
|
|
61
69
|
// ─── liquidity (buy a NEW channel pre-loaded with an asset — onboarding) ──
|
|
62
70
|
t('liquidity', 'kaleidoswap_lsp_quote_asset_channel', 'Quote buying a NEW Lightning channel pre-loaded with an RGB asset (e.g. USDT, XAUT) from the maker LSP. This is the onboarding path for a user who has on-chain BTC but no channel yet and wants to hold an asset — they pay once to receive a channel that already holds the asset. Read-only: returns an rfq_id, the BTC price in sats, the channel/setup fee, the total to pay, and when the quote expires. Re-quote rather than reusing a stale rfq_id.', {
|
|
63
71
|
asset: { type: 'string', description: 'RGB asset to receive in the channel, e.g. "USDT" or "XAUT".' },
|
|
@@ -87,6 +95,52 @@ export function kaleidoswapTools(opts = {}) {
|
|
|
87
95
|
const groups = new Set(opts.groups);
|
|
88
96
|
return KALEIDOSWAP_TOOLS.filter((x) => groups.has(x.group));
|
|
89
97
|
}
|
|
98
|
+
const isBtc = (asset) => typeof asset === 'string' && /^(btc|sats?)$/i.test(asset.trim());
|
|
99
|
+
/**
|
|
100
|
+
* Map kaleido-mcp argument names onto the pre-0.9 contract names (and back), so
|
|
101
|
+
* one call shape works on every surface and older host handlers keep working.
|
|
102
|
+
* Canonical names win; legacy names are only filled in when absent. The legacy
|
|
103
|
+
* quote `amount` is sats for BTC and display units otherwise.
|
|
104
|
+
*/
|
|
105
|
+
export function normalizeKaleidoswapArgs(name, args) {
|
|
106
|
+
const a = { ...args };
|
|
107
|
+
const alias = (canonical, legacy) => {
|
|
108
|
+
if (a[canonical] == null && a[legacy] != null)
|
|
109
|
+
a[canonical] = a[legacy];
|
|
110
|
+
if (a[legacy] == null && a[canonical] != null)
|
|
111
|
+
a[legacy] = a[canonical];
|
|
112
|
+
};
|
|
113
|
+
if (name === 'kaleidoswap_get_quote') {
|
|
114
|
+
if (a.from_asset_id == null && a.from_asset != null)
|
|
115
|
+
a.from_asset_id = a.from_asset;
|
|
116
|
+
if (a.to_asset_id == null && a.to_asset != null)
|
|
117
|
+
a.to_asset_id = a.to_asset;
|
|
118
|
+
if (a.from_amount == null && a.to_amount == null && a.amount != null) {
|
|
119
|
+
const side = a.amount_side === 'to' || a.side === 'buy' ? 'to' : 'from';
|
|
120
|
+
const asset = side === 'to' ? a.to_asset_id : a.from_asset_id;
|
|
121
|
+
const display = isBtc(asset) ? Number(a.amount) / 1e8 : Number(a.amount);
|
|
122
|
+
a[side === 'to' ? 'to_amount' : 'from_amount'] = display;
|
|
123
|
+
}
|
|
124
|
+
a.from_asset ??= a.from_asset_id;
|
|
125
|
+
a.to_asset ??= a.to_asset_id;
|
|
126
|
+
if (a.amount == null) {
|
|
127
|
+
const toSide = a.from_amount == null && a.to_amount != null;
|
|
128
|
+
const display = Number(toSide ? a.to_amount : a.from_amount);
|
|
129
|
+
const asset = toSide ? a.to_asset_id : a.from_asset_id;
|
|
130
|
+
if (Number.isFinite(display))
|
|
131
|
+
a.amount = isBtc(asset) ? Math.round(display * 1e8) : display;
|
|
132
|
+
if (toSide)
|
|
133
|
+
a.amount_side = 'to';
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else if (name === 'kaleidoswap_atomic_init') {
|
|
137
|
+
alias('rfq_id', 'quote_id');
|
|
138
|
+
}
|
|
139
|
+
else if (name === 'kaleidoswap_atomic_execute' || name === 'kaleidoswap_atomic_status') {
|
|
140
|
+
alias('payment_hash', 'atomic_id');
|
|
141
|
+
}
|
|
142
|
+
return a;
|
|
143
|
+
}
|
|
90
144
|
/**
|
|
91
145
|
* Bind contract tools to in-process handlers → an InProcessToolSource.
|
|
92
146
|
*
|
|
@@ -115,7 +169,7 @@ export function bindKaleidoswapTools(handlers, opts = {}) {
|
|
|
115
169
|
description: def.description,
|
|
116
170
|
parameters: def.parameters,
|
|
117
171
|
requiresConfirmation: def.requiresConfirmation,
|
|
118
|
-
handler,
|
|
172
|
+
handler: (args) => handler(normalizeKaleidoswapArgs(def.name, args)),
|
|
119
173
|
});
|
|
120
174
|
}
|
|
121
175
|
return new InProcessToolSource(opts.id ?? 'kaleidoswap', bound);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/kaleidoswap/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAe7D,SAAS,CAAC,CACR,KAAuB,EACvB,IAAY,EACZ,WAAmB,EACnB,UAAU,GAAU,EAAE,EACtB,QAAQ,GAAa,EAAE,EACvB,KAAK,GAAG,KAAK;IAEb,OAAO;QACL,KAAK;QACL,IAAI;QACJ,WAAW;QACX,KAAK;QACL,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE;KACrD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAyB;IACrD,0EAA0E;IAC1E,CAAC,CAAC,QAAQ,EACR,wBAAwB,EACxB,2KAA2K,CAAC;IAE9K,CAAC,CAAC,QAAQ,EACR,uBAAuB,EACvB,4LAA4L,CAAC;IAE/L,CAAC,CAAC,QAAQ,EACR,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/kaleidoswap/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAe7D,SAAS,CAAC,CACR,KAAuB,EACvB,IAAY,EACZ,WAAmB,EACnB,UAAU,GAAU,EAAE,EACtB,QAAQ,GAAa,EAAE,EACvB,KAAK,GAAG,KAAK;IAEb,OAAO;QACL,KAAK;QACL,IAAI;QACJ,WAAW;QACX,KAAK;QACL,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE;KACrD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAyB;IACrD,0EAA0E;IAC1E,CAAC,CAAC,QAAQ,EACR,wBAAwB,EACxB,2KAA2K,CAAC;IAE9K,CAAC,CAAC,QAAQ,EACR,uBAAuB,EACvB,4LAA4L,CAAC;IAE/L,CAAC,CAAC,QAAQ,EACR,uBAAuB,EACvB,mSAAmS,EACnS;QACE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;QAC5G,WAAW,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2DAA2D,EAAE;QAC3G,UAAU,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iFAAiF,EAAE;QACjI,QAAQ,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iFAAiF,EAAE;QACjI,WAAW,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;QAC5G,SAAS,EAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;KACjG,EACD,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAEnC,CAAC,CAAC,QAAQ,EACR,0BAA0B,EAC1B,uKAAuK,CAAC;IAE1K,2EAA2E;IAC3E,CAAC,CAAC,QAAQ,EACR,yBAAyB,EACzB,qOAAqO,EACrO;QACE,MAAM,EAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;QACtF,aAAa,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;QACvF,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kDAAkD,EAAE;QACrG,WAAW,EAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;QACrF,aAAa,EAAI,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gDAAgD,EAAE;KACpG,EACD,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,CAAC;IAC9E,WAAW,CAAC,IAAI,CAAC;IAEnB,CAAC,CAAC,QAAQ,EACR,4BAA4B,EAC5B,mJAAmJ,EACnJ;QACE,UAAU,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;QACzF,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;QACpF,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;KAC5F,EACD,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC;IAC9C,WAAW,CAAC,IAAI,CAAC;IAEnB,CAAC,CAAC,QAAQ,EACR,2BAA2B,EAC3B,wFAAwF,EACxF;QACE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;QAC3F,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oEAAoE,EAAE;KACpH,EACD,CAAC,cAAc,CAAC,CAAC;IAEnB,6EAA6E;IAC7E,CAAC,CAAC,WAAW,EACX,qCAAqC,EACrC,6bAA6b,EAC7b;QACE,KAAK,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6DAA6D,EAAE;QAC5G,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uGAAuG,EAAE;KACvJ,EACD,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAE5B,CAAC,CAAC,WAAW,EACX,sCAAsC,EACtC,wXAAwX,EACxX;QACE,KAAK,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;QAC7F,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;QACtG,MAAM,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4EAA4E,EAAE;KAC5H,EACD,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC;IACnC,WAAW,CAAC,IAAI,CAAC;CACpB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,uBAAuB,GAAgB,IAAI,GAAG,CACzD,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5D,CAAC;AAEF,oBAAoB;AACpB,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAC9B,IAAI,GAAoC,EAAE;IAE1C,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAEnG;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,IAA6B;IAClF,MAAM,CAAC,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE;QAClD,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI;YAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI;YAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC,CAAC;IACF,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI;YAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,UAAU,CAAC;QACpF,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI;YAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC5E,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YACxE,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACzE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;QAC3D,CAAC;QACD,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,aAAa,CAAC;QACjC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5F,IAAI,MAAM;gBAAE,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;QACnC,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;QAC9C,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,IAAI,KAAK,4BAA4B,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACzF,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAcD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAA4C,EAC5C,IAAI,GAA2B,EAAE;IAEjC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,YAAY;gBAAE,SAAS;YAChC,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;YAC9C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACrE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,aAAa,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** KaleidoSwap maker: tool contract and recipes (price, atomic swap, channel order, buy asset channel). */
|
|
2
|
-
export { KALEIDOSWAP_TOOLS, KALEIDOSWAP_SPEND_TOOLS, isKaleidoswapSpendTool, getKaleidoswapTool, kaleidoswapTools, bindKaleidoswapTools, } from './contract.js';
|
|
2
|
+
export { KALEIDOSWAP_TOOLS, KALEIDOSWAP_SPEND_TOOLS, isKaleidoswapSpendTool, normalizeKaleidoswapArgs, getKaleidoswapTool, kaleidoswapTools, bindKaleidoswapTools, } from './contract.js';
|
|
3
3
|
export type { KaleidoswapGroup, KaleidoswapToolDef, KaleidoswapHandler, BindKaleidoswapOptions, } from './contract.js';
|
|
4
4
|
export { kaleidoswapPriceRecipe } from '../recipe/kaleidoswap-price.js';
|
|
5
5
|
export { kaleidoswapAtomicRecipe } from '../recipe/kaleidoswap-atomic.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kaleidoswap/index.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kaleidoswap/index.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** KaleidoSwap maker: tool contract and recipes (price, atomic swap, channel order, buy asset channel). */
|
|
2
|
-
export { KALEIDOSWAP_TOOLS, KALEIDOSWAP_SPEND_TOOLS, isKaleidoswapSpendTool, getKaleidoswapTool, kaleidoswapTools, bindKaleidoswapTools, } from './contract.js';
|
|
2
|
+
export { KALEIDOSWAP_TOOLS, KALEIDOSWAP_SPEND_TOOLS, isKaleidoswapSpendTool, normalizeKaleidoswapArgs, getKaleidoswapTool, kaleidoswapTools, bindKaleidoswapTools, } from './contract.js';
|
|
3
3
|
export { kaleidoswapPriceRecipe } from '../recipe/kaleidoswap-price.js';
|
|
4
4
|
export { kaleidoswapAtomicRecipe } from '../recipe/kaleidoswap-atomic.js';
|
|
5
5
|
export { kaleidoswapChannelOrderRecipe, extractChannelOrder } from '../recipe/kaleidoswap-channel-order.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kaleidoswap/index.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAOvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kaleidoswap/index.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAOvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC"}
|
package/dist/qvac/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/qvac/parse.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,uEAAuE;IACvE,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACtF,0FAA0F;IAC1F,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;IAC7C,iFAAiF;IACjF,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACpF,wFAAwF;IACxF,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,gFAAgF;IAChF,SAAS,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AA2DD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/qvac/parse.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,uEAAuE;IACvE,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACtF,0FAA0F;IAC1F,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;IAC7C,iFAAiF;IACjF,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACpF,wFAAwF;IACxF,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,gFAAgF;IAChF,SAAS,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AA2DD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CA0B7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,SAAK,GAAG,UAAU,CAqB3E"}
|
package/dist/qvac/parse.js
CHANGED
|
@@ -70,6 +70,19 @@ export function extractTextToolCalls(text) {
|
|
|
70
70
|
}
|
|
71
71
|
if (calls.length)
|
|
72
72
|
return calls;
|
|
73
|
+
// The whole reply is one call in the skills' example notation,
|
|
74
|
+
// `tool_name {"arg": 1}` (models without native tool calling copy it).
|
|
75
|
+
const bare = text.trim().match(/^`?([a-z][a-z0-9]*(?:_[a-z0-9]+)+)\s*(\{[\s\S]*\})`?$/);
|
|
76
|
+
if (bare) {
|
|
77
|
+
try {
|
|
78
|
+
const args = JSON.parse(bare[2]);
|
|
79
|
+
if (args && typeof args === 'object' && !Array.isArray(args))
|
|
80
|
+
return [{ name: bare[1], arguments: args }];
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
/* not a call */
|
|
84
|
+
}
|
|
85
|
+
}
|
|
73
86
|
// No tags — accept a bare tool-call object only at the very start of the
|
|
74
87
|
// text (so we don't misread JSON the model is merely talking about).
|
|
75
88
|
if (/^\s*\{?\s*"name"\s*:/i.test(text)) {
|
package/dist/qvac/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/qvac/parse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/qvac/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/qvac/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAoB,WAAW,EAAE,SAAS,EAAc,MAAM,uBAAuB,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,KAAK,YAAY,GAAG,OAAO,OAAO,CAAC,UAAU,CAAC;AAC9C,KAAK,QAAQ,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC;AACtC,KAAK,aAAa,GAAG,OAAO,OAAO,CAAC,WAAW,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,UAAU,EAAE,YAAY,CAAC;IACzB,qCAAqC;IACrC,MAAM,EAAE,QAAQ,CAAC;IACjB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oEAAoE;IACpE,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/qvac/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAoB,WAAW,EAAE,SAAS,EAAc,MAAM,uBAAuB,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,KAAK,YAAY,GAAG,OAAO,OAAO,CAAC,UAAU,CAAC;AAC9C,KAAK,QAAQ,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC;AACtC,KAAK,aAAa,GAAG,OAAO,OAAO,CAAC,WAAW,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,UAAU,EAAE,YAAY,CAAC;IACzB,qCAAqC;IACrC,MAAM,EAAE,QAAQ,CAAC;IACjB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oEAAoE;IACpE,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;AAoBD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,CAwJ5E"}
|
package/dist/qvac/provider.js
CHANGED
|
@@ -1,106 +1,138 @@
|
|
|
1
1
|
import { consumeRun } from './stream.js';
|
|
2
2
|
import { toQvacTools } from './tools.js';
|
|
3
|
+
/**
|
|
4
|
+
* llama.cpp's tool-call grammar can reject the `</think>` it inserts when a
|
|
5
|
+
* reasoning budget runs out ("Unexpected empty grammar stack after accepting
|
|
6
|
+
* piece: </think>"), which aborts the turn.
|
|
7
|
+
*/
|
|
8
|
+
function isReasoningGrammarError(err) {
|
|
9
|
+
return /empty grammar stack/i.test(err instanceof Error ? err.message : String(err));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Some chat templates (e.g. Llama 3.2 tool-calling 1B) don't render the tool
|
|
13
|
+
* definitions the way a forced `tool_choice` needs ("tool_choice demanded a
|
|
14
|
+
* tool call, but the chat template did not render the tool definitions").
|
|
15
|
+
*/
|
|
16
|
+
function isToolChoiceTemplateError(err) {
|
|
17
|
+
return /did not render the tool definitions/i.test(err instanceof Error ? err.message : String(err));
|
|
18
|
+
}
|
|
3
19
|
export function createQvacProvider(options) {
|
|
20
|
+
const runTurnOnce = async (input) => {
|
|
21
|
+
const modelId = options.getModelId();
|
|
22
|
+
if (!modelId)
|
|
23
|
+
throw new Error('QVAC model not loaded');
|
|
24
|
+
const history = input.system
|
|
25
|
+
? [{ role: 'system', content: input.system }, ...input.messages]
|
|
26
|
+
: input.messages;
|
|
27
|
+
// Tools are forwarded by schema only — the Engine validates + executes.
|
|
28
|
+
// JSON-Schema tools are normalised to the SDK's Tool shape (see tools.ts).
|
|
29
|
+
const tools = toQvacTools(input.tools);
|
|
30
|
+
// QVAC (0.13+) nests sampling under `generationParams`; top-level
|
|
31
|
+
// `temperature`/`max_tokens` (as older rate code passed) are dropped by
|
|
32
|
+
// validation, so the cap silently no-op'd. Build it here, and only send it
|
|
33
|
+
// when a value is set so a host that passes neither keeps SDK defaults.
|
|
34
|
+
const temp = input.temperature ?? options.defaultTemperature;
|
|
35
|
+
const predict = input.maxTokens ?? options.defaultMaxTokens;
|
|
36
|
+
// A thinking budget at or above the output cap never binds: the model can
|
|
37
|
+
// spend the whole turn reasoning and return no answer. Keep half for it.
|
|
38
|
+
const thinkingCap = input.thinking === 'off' ? 0 : (input.maxThinkingTokens ?? options.maxThinkingTokens);
|
|
39
|
+
const maxThinkingTokens = thinkingCap !== undefined && predict !== undefined && thinkingCap >= predict
|
|
40
|
+
? Math.floor(predict / 2)
|
|
41
|
+
: thinkingCap;
|
|
42
|
+
// `tool_choice` is only meaningful with tools; the SDK rejects a named
|
|
43
|
+
// choice that isn't among them.
|
|
44
|
+
const toolChoice = tools && input.toolChoice ? input.toolChoice : undefined;
|
|
45
|
+
const generationParamsRaw = {
|
|
46
|
+
...(temp !== undefined ? { temp } : {}),
|
|
47
|
+
...(predict !== undefined ? { predict } : {}),
|
|
48
|
+
...(maxThinkingTokens !== undefined ? { reasoning_budget: maxThinkingTokens } : {}),
|
|
49
|
+
...(toolChoice ? { tool_choice: toolChoice } : {}),
|
|
50
|
+
};
|
|
51
|
+
const generationParams = Object.keys(generationParamsRaw).length ? generationParamsRaw : undefined;
|
|
52
|
+
const run = options.completion({
|
|
53
|
+
modelId,
|
|
54
|
+
history,
|
|
55
|
+
stream: true,
|
|
56
|
+
// Split `<think>` into separate thinkingDelta events so reasoning never
|
|
57
|
+
// pollutes the visible answer.
|
|
58
|
+
captureThinking: true,
|
|
59
|
+
...(options.sessionCache && input.sessionKey ? { kvCache: input.sessionKey } : {}),
|
|
60
|
+
...(generationParams ? { generationParams } : {}),
|
|
61
|
+
...(tools ? { tools } : {}),
|
|
62
|
+
});
|
|
63
|
+
// Honor an external AbortSignal (e.g. the desktop "stop" button): cancel
|
|
64
|
+
// the in-flight run the moment it fires. The SDK keeps generating
|
|
65
|
+
// otherwise; `final` then resolves with stopReason 'cancelled'. This is
|
|
66
|
+
// the single place that makes signal-based cancellation work for EVERY
|
|
67
|
+
// caller (agentic loop + recipe slot extraction).
|
|
68
|
+
if (input.signal) {
|
|
69
|
+
if (input.signal.aborted) {
|
|
70
|
+
void options.cancel({ requestId: run.requestId }).catch(() => { });
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
input.signal.addEventListener('abort', () => void options.cancel({ requestId: run.requestId }).catch(() => { }), { once: true });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const result = await consumeRun(run, {
|
|
77
|
+
onToken: input.onToken,
|
|
78
|
+
onThinking: input.onThinking ?? options.onThinking,
|
|
79
|
+
});
|
|
80
|
+
// Surface the real per-turn inference stats (backend device + throughput).
|
|
81
|
+
if (result.stats)
|
|
82
|
+
(input.onStats ?? options.onStats)?.(result.stats);
|
|
83
|
+
const text = result.text;
|
|
84
|
+
const promptTokens = result.stats?.promptTokens;
|
|
85
|
+
const generated = result.stats?.generatedTokens;
|
|
86
|
+
const totalTokens = result.stats?.totalTokens ??
|
|
87
|
+
(typeof generated === 'number' && typeof promptTokens === 'number' ? promptTokens + generated : undefined);
|
|
88
|
+
const inference = {
|
|
89
|
+
requestId: result.requestId,
|
|
90
|
+
durationMs: result.timing.durationMs,
|
|
91
|
+
status: result.stopReason === 'cancelled'
|
|
92
|
+
? 'cancelled'
|
|
93
|
+
: result.truncated
|
|
94
|
+
? 'truncated'
|
|
95
|
+
: 'completed',
|
|
96
|
+
...(result.stats?.backendDevice ? { backendDevice: result.stats.backendDevice } : {}),
|
|
97
|
+
...(typeof promptTokens === 'number' ? { promptTokens } : {}),
|
|
98
|
+
...(typeof totalTokens === 'number' ? { totalTokens } : {}),
|
|
99
|
+
...(typeof totalTokens === 'number' && typeof promptTokens === 'number'
|
|
100
|
+
? { completionTokens: Math.max(0, totalTokens - promptTokens) }
|
|
101
|
+
: {}),
|
|
102
|
+
...(typeof result.timing.ttftMs === 'number' ? { ttftMs: result.timing.ttftMs } : {}),
|
|
103
|
+
...(typeof result.stats?.tokensPerSecond === 'number'
|
|
104
|
+
? { tokensPerSecond: result.stats.tokensPerSecond }
|
|
105
|
+
: {}),
|
|
106
|
+
...(result.stopReason ? { stopReason: result.stopReason } : {}),
|
|
107
|
+
};
|
|
108
|
+
const incomplete = !result.text && result.toolCalls.length === 0 && !!result.truncated;
|
|
109
|
+
return {
|
|
110
|
+
text,
|
|
111
|
+
rawContent: result.rawContent,
|
|
112
|
+
toolCalls: result.toolCalls,
|
|
113
|
+
...(result.toolErrors ? { toolErrors: result.toolErrors } : {}),
|
|
114
|
+
requestId: result.requestId,
|
|
115
|
+
inference,
|
|
116
|
+
...(incomplete ? { incomplete: true } : {}),
|
|
117
|
+
};
|
|
118
|
+
};
|
|
4
119
|
return {
|
|
5
120
|
name: 'qvac',
|
|
6
121
|
async runTurn(input) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
// validation, so the cap silently no-op'd. Build it here, and only send it
|
|
19
|
-
// when a value is set so a host that passes neither keeps SDK defaults.
|
|
20
|
-
const temp = input.temperature ?? options.defaultTemperature;
|
|
21
|
-
const predict = input.maxTokens ?? options.defaultMaxTokens;
|
|
22
|
-
// A thinking budget at or above the output cap never binds: the model can
|
|
23
|
-
// spend the whole turn reasoning and return no answer. Keep half for it.
|
|
24
|
-
const thinkingCap = input.thinking === 'off' ? 0 : (input.maxThinkingTokens ?? options.maxThinkingTokens);
|
|
25
|
-
const maxThinkingTokens = thinkingCap !== undefined && predict !== undefined && thinkingCap >= predict
|
|
26
|
-
? Math.floor(predict / 2)
|
|
27
|
-
: thinkingCap;
|
|
28
|
-
// `tool_choice` is only meaningful with tools; the SDK rejects a named
|
|
29
|
-
// choice that isn't among them.
|
|
30
|
-
const toolChoice = tools && input.toolChoice ? input.toolChoice : undefined;
|
|
31
|
-
const generationParamsRaw = {
|
|
32
|
-
...(temp !== undefined ? { temp } : {}),
|
|
33
|
-
...(predict !== undefined ? { predict } : {}),
|
|
34
|
-
...(maxThinkingTokens !== undefined ? { reasoning_budget: maxThinkingTokens } : {}),
|
|
35
|
-
...(toolChoice ? { tool_choice: toolChoice } : {}),
|
|
36
|
-
};
|
|
37
|
-
const generationParams = Object.keys(generationParamsRaw).length ? generationParamsRaw : undefined;
|
|
38
|
-
const run = options.completion({
|
|
39
|
-
modelId,
|
|
40
|
-
history,
|
|
41
|
-
stream: true,
|
|
42
|
-
// Split `<think>` into separate thinkingDelta events so reasoning never
|
|
43
|
-
// pollutes the visible answer.
|
|
44
|
-
captureThinking: true,
|
|
45
|
-
...(options.sessionCache && input.sessionKey ? { kvCache: input.sessionKey } : {}),
|
|
46
|
-
...(generationParams ? { generationParams } : {}),
|
|
47
|
-
...(tools ? { tools } : {}),
|
|
48
|
-
});
|
|
49
|
-
// Honor an external AbortSignal (e.g. the desktop "stop" button): cancel
|
|
50
|
-
// the in-flight run the moment it fires. The SDK keeps generating
|
|
51
|
-
// otherwise; `final` then resolves with stopReason 'cancelled'. This is
|
|
52
|
-
// the single place that makes signal-based cancellation work for EVERY
|
|
53
|
-
// caller (agentic loop + recipe slot extraction).
|
|
54
|
-
if (input.signal) {
|
|
55
|
-
if (input.signal.aborted) {
|
|
56
|
-
void options.cancel({ requestId: run.requestId }).catch(() => { });
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
input.signal.addEventListener('abort', () => void options.cancel({ requestId: run.requestId }).catch(() => { }), { once: true });
|
|
122
|
+
try {
|
|
123
|
+
return await runTurnOnce(input);
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
// Retry once without reasoning: no budget, so nothing to insert.
|
|
127
|
+
if (input.thinking !== 'off' && isReasoningGrammarError(err))
|
|
128
|
+
return runTurnOnce({ ...input, thinking: 'off' });
|
|
129
|
+
// Retry once without forcing a tool call; the model may still call one.
|
|
130
|
+
if (input.toolChoice && isToolChoiceTemplateError(err)) {
|
|
131
|
+
const { toolChoice: _forced, ...rest } = input;
|
|
132
|
+
return runTurnOnce(rest);
|
|
60
133
|
}
|
|
134
|
+
throw err;
|
|
61
135
|
}
|
|
62
|
-
const result = await consumeRun(run, {
|
|
63
|
-
onToken: input.onToken,
|
|
64
|
-
onThinking: input.onThinking ?? options.onThinking,
|
|
65
|
-
});
|
|
66
|
-
// Surface the real per-turn inference stats (backend device + throughput).
|
|
67
|
-
if (result.stats)
|
|
68
|
-
(input.onStats ?? options.onStats)?.(result.stats);
|
|
69
|
-
const text = result.text;
|
|
70
|
-
const promptTokens = result.stats?.promptTokens;
|
|
71
|
-
const generated = result.stats?.generatedTokens;
|
|
72
|
-
const totalTokens = result.stats?.totalTokens ??
|
|
73
|
-
(typeof generated === 'number' && typeof promptTokens === 'number' ? promptTokens + generated : undefined);
|
|
74
|
-
const inference = {
|
|
75
|
-
requestId: result.requestId,
|
|
76
|
-
durationMs: result.timing.durationMs,
|
|
77
|
-
status: result.stopReason === 'cancelled'
|
|
78
|
-
? 'cancelled'
|
|
79
|
-
: result.truncated
|
|
80
|
-
? 'truncated'
|
|
81
|
-
: 'completed',
|
|
82
|
-
...(result.stats?.backendDevice ? { backendDevice: result.stats.backendDevice } : {}),
|
|
83
|
-
...(typeof promptTokens === 'number' ? { promptTokens } : {}),
|
|
84
|
-
...(typeof totalTokens === 'number' ? { totalTokens } : {}),
|
|
85
|
-
...(typeof totalTokens === 'number' && typeof promptTokens === 'number'
|
|
86
|
-
? { completionTokens: Math.max(0, totalTokens - promptTokens) }
|
|
87
|
-
: {}),
|
|
88
|
-
...(typeof result.timing.ttftMs === 'number' ? { ttftMs: result.timing.ttftMs } : {}),
|
|
89
|
-
...(typeof result.stats?.tokensPerSecond === 'number'
|
|
90
|
-
? { tokensPerSecond: result.stats.tokensPerSecond }
|
|
91
|
-
: {}),
|
|
92
|
-
...(result.stopReason ? { stopReason: result.stopReason } : {}),
|
|
93
|
-
};
|
|
94
|
-
const incomplete = !result.text && result.toolCalls.length === 0 && !!result.truncated;
|
|
95
|
-
return {
|
|
96
|
-
text,
|
|
97
|
-
rawContent: result.rawContent,
|
|
98
|
-
toolCalls: result.toolCalls,
|
|
99
|
-
...(result.toolErrors ? { toolErrors: result.toolErrors } : {}),
|
|
100
|
-
requestId: result.requestId,
|
|
101
|
-
inference,
|
|
102
|
-
...(incomplete ? { incomplete: true } : {}),
|
|
103
|
-
};
|
|
104
136
|
},
|
|
105
137
|
async endSession(sessionKey) {
|
|
106
138
|
if (!options.sessionCache || !options.deleteCache)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/qvac/provider.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAyDzC,
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/qvac/provider.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAyDzC;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,GAAY;IAC3C,OAAO,sBAAsB,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,GAAY;IAC7C,OAAO,sCAAsC,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,MAAM,WAAW,GAAG,KAAK,EAAE,KAAoB,EAAuB,EAAE;QACpE,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM;YAC1B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QAEnB,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEvC,kEAAkE;QAClE,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,kBAAkB,CAAC;QAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;QAC5D,0EAA0E;QAC1E,yEAAyE;QACzE,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC1G,MAAM,iBAAiB,GACrB,WAAW,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,WAAW,IAAI,OAAO;YAC1E,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YACzB,CAAC,CAAC,WAAW,CAAC;QAClB,uEAAuE;QACvE,gCAAgC;QAChC,MAAM,UAAU,GAAG,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,mBAAmB,GAAG;YAC1B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnG,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;YAC7B,OAAO;YACP,OAAO;YACP,MAAM,EAAE,IAAI;YACZ,wEAAwE;YACxE,+BAA+B;YAC/B,eAAe,EAAE,IAAI;YACrB,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACc,CAAC,CAAC;QAE7C,yEAAyE;QACzE,kEAAkE;QAClE,wEAAwE;QACxE,uEAAuE;QACvE,kDAAkD;QAClD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzB,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAC3B,OAAO,EACP,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EACvE,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE;YACnC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU;SACnD,CAAC,CAAC;QAEH,2EAA2E;QAC3E,IAAI,MAAM,CAAC,KAAK;YAAE,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC;QAChD,MAAM,WAAW,GACf,MAAM,CAAC,KAAK,EAAE,WAAW;YACzB,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7G,MAAM,SAAS,GAAqB;YAClC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;YACpC,MAAM,EACJ,MAAM,CAAC,UAAU,KAAK,WAAW;gBAC/B,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,MAAM,CAAC,SAAS;oBAChB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,WAAW;YACnB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ;gBACrE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,EAAE;gBAC/D,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,eAAe,KAAK,QAAQ;gBACnD,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC;QAEF,MAAM,UAAU,GACd,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QACtE,OAAO;YACL,IAAI;YACJ,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS;YACT,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;IACN,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,MAAM;QAEZ,KAAK,CAAC,OAAO,CAAC,KAAoB;YAChC,IAAI,CAAC;gBACH,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,iEAAiE;gBACjE,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,IAAI,uBAAuB,CAAC,GAAG,CAAC;oBAAE,OAAO,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChH,wEAAwE;gBACxE,IAAI,KAAK,CAAC,UAAU,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;oBAC/C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,UAAkB;YACjC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO;YAC1D,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,SAAiB;YAC5B,2EAA2E;YAC3E,oEAAoE;YACpE,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -72,7 +72,7 @@ export const assetSendRecipe = {
|
|
|
72
72
|
tool: 'rln_send_asset',
|
|
73
73
|
args: (ctx) => {
|
|
74
74
|
const contact = ctx.results.contact;
|
|
75
|
-
return {
|
|
75
|
+
return { asset_id: ctx.slots.asset, amount: ctx.slots.amount, recipient_id: contact?.ln_address ?? ctx.slots.recipient };
|
|
76
76
|
},
|
|
77
77
|
},
|
|
78
78
|
summary: (ctx) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-send.js","sourceRoot":"","sources":["../../src/recipe/asset-send.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"asset-send.js","sourceRoot":"","sources":["../../src/recipe/asset-send.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-wallet.d.ts","sourceRoot":"","sources":["../../src/testing/mock-wallet.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mock-wallet.d.ts","sourceRoot":"","sources":["../../src/testing/mock-wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -110,6 +110,12 @@ export class MockWallet {
|
|
|
110
110
|
}),
|
|
111
111
|
spark_get_balance: async () => ({ btc_sats: this.balances.spark }),
|
|
112
112
|
rln_get_balances: async () => ({ btc_sats: this.balances.rln, assets: this.assets }),
|
|
113
|
+
rln_get_node_info: async () => ({
|
|
114
|
+
pubkey: '02' + 'ab'.repeat(32),
|
|
115
|
+
num_channels: 0,
|
|
116
|
+
num_usable_channels: 0,
|
|
117
|
+
local_balance_sat: 0,
|
|
118
|
+
}),
|
|
113
119
|
arkade_get_balance: async () => ({ btc_sats: this.balances.arkade }),
|
|
114
120
|
spark_get_address: async () => ({ address: 'bc1qspark0mockreceiveaddr' }),
|
|
115
121
|
arkade_get_address: async () => ({ address: 'ark1q0mockreceiveaddr' }),
|