@kaleidorg/mind 0.6.4 → 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 +345 -0
- package/dist/autonomy/risk.js.map +1 -1
- package/dist/autonomy/run-state.d.ts.map +1 -1
- package/dist/autonomy/run-state.js.map +1 -1
- package/dist/autonomy/task-store.d.ts.map +1 -1
- package/dist/autonomy/task-store.js.map +1 -1
- package/dist/bitrefill/contract.js.map +1 -1
- package/dist/context/budget.js.map +1 -1
- package/dist/context/builder.d.ts.map +1 -1
- package/dist/context/builder.js.map +1 -1
- 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/evidence.d.ts +1 -1
- package/dist/evidence.d.ts.map +1 -1
- package/dist/evidence.js.map +1 -1
- package/dist/fastpath/fastpath.d.ts.map +1 -1
- package/dist/fastpath/fastpath.js.map +1 -1
- package/dist/flashnet/contract.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 +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -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/knowledge/btc-map.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/lsps1/contract.js.map +1 -1
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.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/assistant.js.map +1 -1
- package/dist/qvac/config.d.ts +7 -7
- package/dist/qvac/config.d.ts.map +1 -1
- package/dist/qvac/config.js +1 -1
- package/dist/qvac/delegate.d.ts +2 -0
- package/dist/qvac/delegate.d.ts.map +1 -1
- package/dist/qvac/delegate.js +2 -0
- package/dist/qvac/delegate.js.map +1 -1
- package/dist/qvac/index.d.ts +2 -0
- package/dist/qvac/index.d.ts.map +1 -1
- package/dist/qvac/index.js +2 -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 +16 -2
- 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 +30 -21
- 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 +29 -1
- package/dist/qvac/stream.js.map +1 -1
- package/dist/qvac/tools.d.ts +37 -0
- package/dist/qvac/tools.d.ts.map +1 -0
- package/dist/qvac/tools.js +94 -0
- package/dist/qvac/tools.js.map +1 -0
- package/dist/qvac/voice.js.map +1 -1
- package/dist/rag/retriever.d.ts.map +1 -1
- package/dist/rag/tool.js.map +1 -1
- package/dist/rag/vector-store.d.ts.map +1 -1
- package/dist/rag/vector-store.js.map +1 -1
- package/dist/recipe/issue-asset.d.ts +16 -0
- package/dist/recipe/issue-asset.d.ts.map +1 -0
- package/dist/recipe/issue-asset.js +120 -0
- package/dist/recipe/issue-asset.js.map +1 -0
- 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/loader.js.map +1 -1
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +1 -1
- package/dist/skills/registry.js.map +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/index.d.ts +14 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +12 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-wallet.d.ts +103 -0
- package/dist/testing/mock-wallet.d.ts.map +1 -0
- package/dist/testing/mock-wallet.js +249 -0
- package/dist/testing/mock-wallet.js.map +1 -0
- package/dist/testing/scripted-provider.d.ts +17 -0
- package/dist/testing/scripted-provider.d.ts.map +1 -0
- package/dist/testing/scripted-provider.js +26 -0
- package/dist/testing/scripted-provider.js.map +1 -0
- package/dist/tools/in-process.d.ts.map +1 -1
- package/dist/tools/mcp.d.ts.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js.map +1 -1
- package/dist/wallet/confirm.d.ts.map +1 -1
- package/dist/wallet/confirm.js +43 -5
- package/dist/wallet/confirm.js.map +1 -1
- package/dist/wallet/contract.d.ts.map +1 -1
- package/dist/wallet/contract.js +36 -0
- package/dist/wallet/contract.js.map +1 -1
- package/package.json +15 -5
- package/skills/README.md +2 -1
- package/skills/kaleido-node/SKILL.md +63 -0
- package/skills/kaleido-trading/SKILL.md +34 -27
- package/skills/kaleido-trading/references/api.md +61 -0
- package/skills/kaleido-trading/references/assets.md +57 -0
- package/skills/kaleido-trading/references/atomic.md +93 -0
- package/skills/paid-data/SKILL.md +59 -6
- package/skills/rgb-lightning-node/SKILL.md +142 -17
- 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 +40 -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/delegate.ts +2 -0
- package/src/qvac/index.ts +12 -0
- package/src/qvac/models.ts +98 -0
- package/src/qvac/parse.test.ts +7 -0
- package/src/qvac/parse.ts +38 -3
- package/src/qvac/provider.test.ts +72 -1
- package/src/qvac/provider.ts +40 -27
- package/src/qvac/stream.test.ts +28 -0
- package/src/qvac/stream.ts +33 -6
- package/src/qvac/tools.test.ts +86 -0
- package/src/qvac/tools.ts +116 -0
- package/src/recipe/issue-asset.test.ts +131 -0
- package/src/recipe/issue-asset.ts +123 -0
- 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/index.ts +14 -0
- package/src/testing/mock-wallet.ts +278 -0
- package/src/testing/scripted-provider.ts +37 -0
- package/src/wallet/confirm.test.ts +16 -0
- package/src/wallet/confirm.ts +43 -5
- package/src/wallet/contract.test.ts +38 -0
- package/src/wallet/contract.ts +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripted-provider.js","sourceRoot":"","sources":["../../src/testing/scripted-provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,MAAM,UAAU,gBAAgB,CAAC,KAAK,GAAmB,EAAE,EAAE,QAAQ,GAAG,0BAA0B;IAChG,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,KAAK,CAAC,OAAO,CAAC,KAAK;YACjB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACrD,MAAM,IAAI,GAAyB,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;gBACjG,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE;gBAChF,CAAC,CAAC,SAAS,CAAC;YACd,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;gBACxB,UAAU,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;gBAC9B,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7B,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE;aAClD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-process.d.ts","sourceRoot":"","sources":["../../src/tools/in-process.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3C;AAED,qBAAa,mBAAoB,YAAW,UAAU;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;
|
|
1
|
+
{"version":3,"file":"in-process.d.ts","sourceRoot":"","sources":["../../src/tools/in-process.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3C;AAED,qBAAa,mBAAoB,YAAW,UAAU;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAE1D,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,EAG7C;IAED,SAAS,IAAI,OAAO,EAAE,CAOrB;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzB;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAI3E;CACF"}
|
package/dist/tools/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/tools/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAc9C,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACjF;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,YAAY,CAAC;IACxB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAiBpD;AAED,qBAAa,aAAc,YAAW,UAAU;IAC9C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,KAAK,CAAiB;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/tools/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAc9C,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACjF;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,YAAY,CAAC;IACxB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAiBpD;AAED,qBAAa,aAAc,YAAW,UAAU;IAC9C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,KAAK,CAAiB;IAE9B,YAAY,IAAI,EAAE,oBAAoB,EAGrC;IAED,+EAA+E;IACzE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAmC7B;IAED,SAAS,IAAI,OAAO,EAAE,CAErB;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzB;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAU3E;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,YAAY,OAAO,GAAE,UAAU,EAAO,EAErC;IAED,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAG5B;IAED,0DAA0D;IACpD,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAYpC;IAED,iDAAiD;IACjD,OAAO,CAAC,OAAO;IAIf,oDAAoD;IAC9C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAI3E;IAED,sEAAsE;IAChE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAGvD;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,OAAO,YAAY;IACN,OAAO,GAAiB,EAAE,CAAC;IAE5C,YAAY,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,OAAO,YAAY;IACN,OAAO,GAAiB,EAAE,CAAC;IAE5C,YAAY,OAAO,GAAiB,EAAE;QACpC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,MAAkB;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAc,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,SAAS,CAAC,oBAAoB;gBACpD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iDAAiD;IACzC,OAAO,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAA6B;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF"}
|
|
@@ -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;
|
|
@@ -54,12 +72,32 @@ export function confirmReadback(call) {
|
|
|
54
72
|
return ask(`Send ${sats(a.amount_sats)} to ${to()}${over(name, a)}`);
|
|
55
73
|
case 'rln_send_asset':
|
|
56
74
|
case 'liquid_send':
|
|
57
|
-
|
|
75
|
+
// kaleido-mcp names these asset_id / recipient_id.
|
|
76
|
+
return ask(`Send ${asset(a.amount, a.asset ?? shortRef(String(a.asset_id ?? '')))} to ${to(a.to != null ? 'to' : 'recipient_id')}${over(name, a)}`);
|
|
58
77
|
case 'rln_pay_invoice':
|
|
59
78
|
case 'spark_pay_invoice':
|
|
60
79
|
return ask(`Pay Lightning invoice ${shortRef(String(a.invoice ?? ''))}${over(name, a)}`);
|
|
80
|
+
case 'rln_issue_asset': {
|
|
81
|
+
const named = a.name != null && a.ticker != null && label(a.name) !== label(a.ticker) ? ` (${label(a.name)})` : '';
|
|
82
|
+
return a.schema === 'UDA'
|
|
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`);
|
|
85
|
+
}
|
|
86
|
+
case 'rln_create_utxos':
|
|
87
|
+
return ask(`Create ${fmtNum(num(a.num) ?? 5)} RGB UTXOs on-chain${over(name, a)}`);
|
|
88
|
+
case 'rln_send_btc':
|
|
89
|
+
return ask(`Send ${sats(a.amount_sat)} on-chain to ${to('address')}${over(name, a)}`);
|
|
90
|
+
case 'rln_open_channel': {
|
|
91
|
+
const peer = shortRef(String(a.peer_pubkey_and_addr ?? '').split('@')[0] ?? '');
|
|
92
|
+
const withAsset = a.asset_id != null && num(a.asset_amount) !== undefined ? ` with ${fmtNum(num(a.asset_amount))} of ${shortRef(String(a.asset_id))}` : '';
|
|
93
|
+
return ask(`Open a ${sats(a.capacity_sat)} channel to ${peer}${withAsset}`);
|
|
94
|
+
}
|
|
95
|
+
case 'rln_close_channel':
|
|
96
|
+
return ask(`${a.force ? 'Force-close' : 'Close'} channel ${shortRef(String(a.channel_id ?? ''))}`);
|
|
97
|
+
case 'rln_atomic_taker':
|
|
98
|
+
return ask(`Accept atomic swap ${shortRef(String(a.swapstring ?? ''))} on your node`);
|
|
61
99
|
case 'execute_swap':
|
|
62
|
-
return ask(`Swap ${
|
|
100
|
+
return ask(`Swap ${asset(a.amount, a.from_asset)} for ${label(a.to_asset)}`);
|
|
63
101
|
default:
|
|
64
102
|
// Unknown but spend-flagged tool → a generic, still-honest readback.
|
|
65
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/wallet/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzE,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,6DAA6D;IAC7D,KAAK,EAAE,WAAW,CAAC;IACnB,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAyBD,iFAAiF;AACjF,eAAO,MAAM,YAAY,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/wallet/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzE,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,6DAA6D;IAC7D,KAAK,EAAE,WAAW,CAAC;IACnB,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAyBD,iFAAiF;AACjF,eAAO,MAAM,YAAY,EAAE,aAAa,EA+FvC,CAAC;AAIF,eAAO,MAAM,aAAa,EAAE,WAAW,EAAiD,CAAC;AAEzF,6EAA6E;AAC7E,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAAmE,CAAC;AAEhH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAErE;AAED,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,aAAa,EAAE,CAIzG;AAED,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAE5D;AAED,4CAA4C;AAC5C,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhF,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,IAAI,GAAE,iBAAsB,GAAG,mBAAmB,CAkB1H"}
|
package/dist/wallet/contract.js
CHANGED
|
@@ -60,6 +60,42 @@ export const WALLET_TOOLS = [
|
|
|
60
60
|
t('rln', 'rln_create_rgb_invoice', 'Create an RGB asset invoice to receive an asset (e.g. USDT).', { asset, amount: { type: 'number', description: 'Asset amount' } }, ['asset', 'amount']),
|
|
61
61
|
t('rln', 'rln_pay_invoice', 'Pay a Lightning invoice from the RLN node.', { invoice: { type: 'string' } }, ['invoice'], true),
|
|
62
62
|
t('rln', 'rln_send_asset', 'Send an RGB asset (e.g. USDT) to a recipient.', { asset, amount: { type: 'number' }, to: { type: 'string' } }, ['asset', 'amount', 'to'], true),
|
|
63
|
+
t('rln', 'rln_list_assets', 'List RGB assets held by the RLN node (asset_id, ticker, name, precision, balances).'),
|
|
64
|
+
t('rln', 'rln_get_asset_balance', 'Get the balance of one RGB asset by asset_id (settled, future, spendable, off-chain).', { asset_id: { type: 'string', description: "RGB asset id, e.g. 'rgb:2JEUOrsc-…'" } }, ['asset_id']),
|
|
65
|
+
t('rln', 'rln_refresh_transfers', 'Refresh pending RGB transfers so balances and transfer status are up to date.'),
|
|
66
|
+
t('rln', 'rln_get_address', 'Get an on-chain BTC address of the RLN node for deposits.'),
|
|
67
|
+
t('rln', 'rln_send_btc', 'Send on-chain BTC from the RLN node.', { address: { type: 'string', description: 'Destination Bitcoin address' }, amount_sat: { type: 'number', description: 'Amount in satoshis' }, fee_rate: { type: 'number', description: 'sat/vbyte (default 3)' } }, ['address', 'amount_sat'], true),
|
|
68
|
+
t('rln', 'rln_list_payments', 'List recent Lightning payments (sent and received) on the RLN node.', { limit: { type: 'number', description: 'Max payments (default 20)' } }),
|
|
69
|
+
t('rln', 'rln_connect_peer', 'Connect the RLN node to a Lightning peer.', { peer_pubkey_and_addr: { type: 'string', description: 'pubkey@host:port' } }, ['peer_pubkey_and_addr']),
|
|
70
|
+
t('rln', 'rln_open_channel', 'Open a Lightning channel, optionally allocating an RGB asset to it.', {
|
|
71
|
+
peer_pubkey_and_addr: { type: 'string', description: 'pubkey@host:port' },
|
|
72
|
+
capacity_sat: { type: 'number', description: 'Channel capacity in satoshis' },
|
|
73
|
+
push_msat: { type: 'number', description: 'Millisatoshis pushed to the peer (default 0)' },
|
|
74
|
+
asset_id: { type: 'string', description: 'RGB asset id to allocate' },
|
|
75
|
+
asset_amount: { type: 'number', description: 'RGB asset amount to allocate' },
|
|
76
|
+
is_public: { type: 'boolean', description: 'Announce the channel (default false)' },
|
|
77
|
+
}, ['peer_pubkey_and_addr', 'capacity_sat'], true),
|
|
78
|
+
t('rln', 'rln_close_channel', 'Close a Lightning channel (force only for an unresponsive peer).', { channel_id: { type: 'string' }, peer_pubkey: { type: 'string' }, force: { type: 'boolean', description: 'Unilateral close (default false)' } }, ['channel_id', 'peer_pubkey'], true),
|
|
79
|
+
t('rln', 'rln_get_channel_id', 'Resolve a temporary_channel_id from rln_open_channel to the final channel_id.', { temporary_channel_id: { type: 'string' } }, ['temporary_channel_id']),
|
|
80
|
+
t('rln', 'rln_atomic_taker', 'Whitelist a maker swap on the node (taker side). Pass the swapstring from kaleidoswap_atomic_init, before kaleidoswap_atomic_execute.', { swapstring: { type: 'string' } }, ['swapstring'], true),
|
|
81
|
+
t('rln', 'rln_list_swaps', 'List atomic swaps on the RLN node (maker and taker sides).'),
|
|
82
|
+
t('rln', 'rln_get_swap', 'Get an atomic swap by payment_hash.', { payment_hash: { type: 'string' }, taker: { type: 'boolean', description: 'Taker-side swap' } }, ['payment_hash']),
|
|
83
|
+
t('rln', 'rln_list_transfers', 'List RGB transfers for one asset (issuance, sends, receives) with their status — use to check if an RGB invoice was paid.', { asset_id: { type: 'string', description: 'RGB asset id (in-app wallets also accept a ticker)' } }, ['asset_id']),
|
|
84
|
+
// Issuance + UTXO prep spend on-chain BTC and are irreversible → gated like any spend.
|
|
85
|
+
t('rln', 'rln_create_utxos', 'Create colorable UTXOs on the RLN node — needed before issuing or receiving RGB assets on a fresh node.', {
|
|
86
|
+
num: { type: 'number', description: 'How many UTXOs (default 5)' },
|
|
87
|
+
size: { type: 'number', description: 'Size of each UTXO in sats (default: node decides)' },
|
|
88
|
+
up_to: { type: 'boolean', description: 'Only top up to `num` free UTXOs (default false)' },
|
|
89
|
+
fee_rate: { type: 'number', description: 'sat/vbyte (default 1)' },
|
|
90
|
+
}, [], true),
|
|
91
|
+
t('rln', 'rln_issue_asset', 'Issue a NEW RGB asset owned by this node (e.g. an event ticket or loyalty token).', {
|
|
92
|
+
schema: { type: 'string', enum: ['NIA', 'CFA', 'UDA'], description: 'NIA = token (default), CFA = collectible, UDA = unique/NFT' },
|
|
93
|
+
name: { type: 'string', description: 'Asset name, e.g. "Hackathon Ticket"' },
|
|
94
|
+
ticker: { type: 'string', description: 'Uppercase ticker, e.g. "TICKET". Required for NIA and UDA' },
|
|
95
|
+
amount: { type: 'number', description: 'Total supply in display units. Required for NIA and CFA; UDA is always 1' },
|
|
96
|
+
precision: { type: 'number', description: 'Decimal places (default 0)' },
|
|
97
|
+
details: { type: 'string', description: 'Optional description (CFA and UDA)' },
|
|
98
|
+
}, ['name'], true),
|
|
63
99
|
// ── Arkade ─────────────────────────────────────────────────────────────
|
|
64
100
|
t('arkade', 'arkade_get_balance', 'Get the Arkade wallet balance.'),
|
|
65
101
|
t('arkade', 'arkade_get_address', 'Get an Arkade address to receive funds.'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/wallet/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAc7D,SAAS,CAAC,CACR,KAAkB,EAClB,IAAY,EACZ,WAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/wallet/contract.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",
|
|
@@ -39,6 +39,16 @@
|
|
|
39
39
|
"types": "./dist/qvac/index.d.ts",
|
|
40
40
|
"import": "./dist/qvac/index.js",
|
|
41
41
|
"default": "./dist/qvac/index.js"
|
|
42
|
+
},
|
|
43
|
+
"./openai": {
|
|
44
|
+
"types": "./dist/providers/openai.d.ts",
|
|
45
|
+
"import": "./dist/providers/openai.js",
|
|
46
|
+
"default": "./dist/providers/openai.js"
|
|
47
|
+
},
|
|
48
|
+
"./testing": {
|
|
49
|
+
"types": "./dist/testing/index.d.ts",
|
|
50
|
+
"import": "./dist/testing/index.js",
|
|
51
|
+
"default": "./dist/testing/index.js"
|
|
42
52
|
}
|
|
43
53
|
},
|
|
44
54
|
"files": [
|
|
@@ -58,7 +68,7 @@
|
|
|
58
68
|
"bundle-skills": "node scripts/bundle-skills.mjs"
|
|
59
69
|
},
|
|
60
70
|
"peerDependencies": {
|
|
61
|
-
"@qvac/sdk": ">=0.
|
|
71
|
+
"@qvac/sdk": ">=0.13.1"
|
|
62
72
|
},
|
|
63
73
|
"peerDependenciesMeta": {
|
|
64
74
|
"@qvac/sdk": {
|
|
@@ -66,8 +76,8 @@
|
|
|
66
76
|
}
|
|
67
77
|
},
|
|
68
78
|
"devDependencies": {
|
|
69
|
-
"@qvac/sdk": "^0.
|
|
70
|
-
"@types/node": "^
|
|
71
|
-
"vitest": "^
|
|
79
|
+
"@qvac/sdk": "^0.21.0",
|
|
80
|
+
"@types/node": "^26.6.4",
|
|
81
|
+
"vitest": "^5.0.3"
|
|
72
82
|
}
|
|
73
83
|
}
|
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
|
---
|
|
@@ -28,7 +29,7 @@ Markdown instructions injected into the system prompt when this skill is active.
|
|
|
28
29
|
|
|
29
30
|
## Loading (same skills, every surface)
|
|
30
31
|
|
|
31
|
-
**Node** (desktop sidecar,
|
|
32
|
+
**Node** (desktop sidecar, CLI, servers) — read folders from disk:
|
|
32
33
|
|
|
33
34
|
```ts
|
|
34
35
|
import { loadSkillsDir, packagedSkillsDir } from '@kaleidorg/mind/skills';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kaleido-node
|
|
3
|
+
description: "Run the RGB Lightning Node itself: list environments, start/stop/tear down the Docker stack, check reachability, initialise the wallet once, unlock it after every restart, and recover from a down or locked node. Triggers when the user wants to start, stop, unlock or set up their node, or when node calls fail with 'unreachable' or 'wallet locked'. Uses kaleido-mcp's kaleido_node_* tools (or the kaleido CLI)."
|
|
4
|
+
tools: kaleido_node_list, kaleido_node_up, kaleido_node_ps, kaleido_node_status, kaleido_node_info, kaleido_node_use, kaleido_node_init, kaleido_node_unlock, kaleido_node_lock, kaleido_node_stop, kaleido_node_down, rln_get_node_info, rln_create_utxos
|
|
5
|
+
triggers: start node, stop node, start my node, stop my node, node up, node down, unlock, unlock node, lock node, wallet locked, init node, initialise node, initialize node, docker, environment, node status, node unreachable, mnemonic, seed phrase
|
|
6
|
+
metadata:
|
|
7
|
+
author: kaleidoswap
|
|
8
|
+
version: "0.1.0"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Kaleido node lifecycle
|
|
12
|
+
|
|
13
|
+
Operate the node process, not the wallet. For balances, invoices, payments and
|
|
14
|
+
channels use the `rgb-lightning-node` skill.
|
|
15
|
+
|
|
16
|
+
These tools come from kaleido-mcp and wrap the `kaleido` CLI, which must be
|
|
17
|
+
installed on the machine running the MCP server. In-app wallets don't have
|
|
18
|
+
them. If a tool is not in your list, say what the user should run instead
|
|
19
|
+
(CLI column below).
|
|
20
|
+
|
|
21
|
+
## Tools
|
|
22
|
+
|
|
23
|
+
| Step | MCP tool | CLI equivalent |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| List environments | `kaleido_node_list()` | `kaleido --json --agent node list` |
|
|
26
|
+
| Start | `kaleido_node_up({ name? })` | `kaleido --agent node up <NAME>` |
|
|
27
|
+
| Container status | `kaleido_node_ps({ name? })` | `kaleido --agent node ps <NAME>` |
|
|
28
|
+
| Reachability | `kaleido_node_status()` | `kaleido --json --agent node info` |
|
|
29
|
+
| Node + network info | `kaleido_node_info()` | `kaleido --json --agent node info` |
|
|
30
|
+
| Select active node | `kaleido_node_use({ name, node? })` | — |
|
|
31
|
+
| First-time wallet init | `kaleido_node_init({ password, mnemonic? })` | `kaleido --agent node init` |
|
|
32
|
+
| Unlock after restart | `kaleido_node_unlock({ password, announce_alias?, announce_address? })` | `kaleido --agent node unlock <PASSWORD>` |
|
|
33
|
+
| Lock | `kaleido_node_lock()` | — |
|
|
34
|
+
| Stop (keep data) | `kaleido_node_stop({ name? })` | `kaleido --agent node stop <NAME>` |
|
|
35
|
+
| Tear down (keep volumes) | `kaleido_node_down({ name? })` | `kaleido --agent node down <NAME>` |
|
|
36
|
+
|
|
37
|
+
`name` can be omitted when only one environment exists.
|
|
38
|
+
|
|
39
|
+
## Flows
|
|
40
|
+
|
|
41
|
+
- **First run:** `kaleido_node_up` → `kaleido_node_init` → `kaleido_node_unlock`
|
|
42
|
+
→ create colored UTXOs (`rln_create_utxos`, or
|
|
43
|
+
`kaleido --agent wallet create-utxos`). Until UTXOs exist, issuing or
|
|
44
|
+
receiving RGB assets fails.
|
|
45
|
+
- **After a restart:** `kaleido_node_up` (if containers are down) →
|
|
46
|
+
`kaleido_node_unlock`. Unlock is needed after every restart.
|
|
47
|
+
- **Node unreachable** (`rln_get_node_info` fails): `kaleido_node_status`, then
|
|
48
|
+
`kaleido_node_up` and `kaleido_node_unlock`.
|
|
49
|
+
- **"wallet locked" errors:** `kaleido_node_unlock`.
|
|
50
|
+
- **Stuck pending RGB transfers:** `kaleido --json asset fail-transfers` marks
|
|
51
|
+
them failed (CLI only).
|
|
52
|
+
|
|
53
|
+
## Safety
|
|
54
|
+
|
|
55
|
+
1. **Passwords:** ask the user for the password at the moment it is needed.
|
|
56
|
+
Never store, repeat or log it.
|
|
57
|
+
2. **Mnemonic:** `kaleido_node_init` shows the seed phrase once. Tell the user
|
|
58
|
+
to write it down offline before continuing. It cannot be recovered.
|
|
59
|
+
Never paste it back into the chat.
|
|
60
|
+
3. **State changes need a yes:** `up`, `stop`, `down`, `init`, `unlock` and
|
|
61
|
+
`lock` change the node; confirm first. `down` removes containers (volumes
|
|
62
|
+
stay); say so.
|
|
63
|
+
4. **Dry run:** describe the steps only; call no state-changing tool.
|
|
@@ -1,11 +1,11 @@
|
|
|
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
|
|
8
|
-
version: "0.
|
|
8
|
+
version: "0.5.0"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# KaleidoSwap trading
|
|
@@ -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,15 +158,22 @@ 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
|
|
171
166
|
multi-step, two-service swap on a small model. Status for atomics uses the
|
|
172
167
|
`atomic_id` (or payment_hash) surfaced in the recipe summary.
|
|
168
|
+
|
|
169
|
+
## Over kaleido-mcp (desktop, Claude Code)
|
|
170
|
+
|
|
171
|
+
kaleido-mcp 0.3.0+ is **atomic-only**. Its quote takes `from_asset_id` / `from_layer` /
|
|
172
|
+
`from_amount` (display units) and returns `amount_raw` values that
|
|
173
|
+
`kaleidoswap_atomic_init` takes unchanged. The full chain is quote →
|
|
174
|
+
`kaleidoswap_atomic_init` → `rln_atomic_taker` + `rln_get_node_info` →
|
|
175
|
+
`kaleidoswap_atomic_execute` → poll `kaleidoswap_atomic_status` →
|
|
176
|
+
`rln_refresh_transfers`. Read `references/atomic.md` before the first swap,
|
|
177
|
+
and `references/assets.md` for units and precision. Always follow the
|
|
178
|
+
argument names in the tool schema you were given.
|
|
179
|
+
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# KaleidoSwap maker API (what the tools call)
|
|
2
|
+
|
|
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
|
+
directly. Amounts on the wire are raw units (see `assets.md`).
|
|
7
|
+
|
|
8
|
+
| Endpoint | Tool |
|
|
9
|
+
|---|---|
|
|
10
|
+
| `GET /api/v1/market/assets` | `kaleidoswap_get_assets` |
|
|
11
|
+
| `GET /api/v1/market/pairs` | `kaleidoswap_get_pairs` |
|
|
12
|
+
| `POST /api/v1/market/quote` | `kaleidoswap_get_quote` |
|
|
13
|
+
| `POST /api/v1/swaps/init` | `kaleidoswap_atomic_init` |
|
|
14
|
+
| `POST /api/v1/swaps/execute` | `kaleidoswap_atomic_execute` |
|
|
15
|
+
| `POST /api/v1/swaps/atomic/status` | `kaleidoswap_atomic_status` |
|
|
16
|
+
| `GET /api/v1/lsps1/get_info` | `kaleidoswap_lsp_get_info` |
|
|
17
|
+
| `POST /api/v1/lsps1/estimate_fees` | `kaleidoswap_lsp_estimate_fees` |
|
|
18
|
+
| `POST /api/v1/lsps1/create_order` | `kaleidoswap_lsp_create_order` |
|
|
19
|
+
| `POST /api/v1/lsps1/get_order` | `kaleidoswap_lsp_get_order` |
|
|
20
|
+
|
|
21
|
+
## Pairs
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
[{
|
|
25
|
+
"base": { "ticker": "BTC", "precision": 11 },
|
|
26
|
+
"quote": { "ticker": "USDT", "precision": 6 },
|
|
27
|
+
"routes": [
|
|
28
|
+
{ "from_layer": "BTC_LN", "to_layer": "RGB_LN", "min_amount": 50000, "max_amount": 10000000000 },
|
|
29
|
+
{ "from_layer": "RGB_LN", "to_layer": "BTC_LN", "min_amount": 1000000, "max_amount": 999999000000 }
|
|
30
|
+
]
|
|
31
|
+
}]
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
`min_amount` / `max_amount` are raw units of the route's `from` asset.
|
|
35
|
+
|
|
36
|
+
## Quote
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"rfq_id": "uuid", "expires_at": "2026-01-01T00:01:00Z",
|
|
41
|
+
"from_asset": { "ticker": "BTC", "layer": "BTC_LN", "amount_raw": 100000000, "amount_display": 0.001 },
|
|
42
|
+
"to_asset": { "ticker": "USDT", "layer": "RGB_LN", "amount_raw": 65763000, "amount_display": 65.763 },
|
|
43
|
+
"price": 65763.0
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Swap
|
|
48
|
+
|
|
49
|
+
- `init` → `{ swapstring, payment_hash, access_token }` (`access_token` only here)
|
|
50
|
+
- `execute` takes `{ swapstring, taker_pubkey, payment_hash }`
|
|
51
|
+
- `status` takes `{ payment_hash, access_token }` →
|
|
52
|
+
`{ swap: { status: "Waiting" | "Pending" | "Succeeded" | "Expired" | "Failed" } }`
|
|
53
|
+
|
|
54
|
+
## LSPS1 orders
|
|
55
|
+
|
|
56
|
+
`estimate_fees` / `create_order` take `{ client_pubkey, lsp_balance_sat,
|
|
57
|
+
client_balance_sat, channel_expiry_blocks }`. `create_order` returns
|
|
58
|
+
`{ order_id, bolt11_invoice, order_total_sat }`; `get_order` reports
|
|
59
|
+
`PENDING → CHANNEL_OPENING → COMPLETED | FAILED`. Good defaults:
|
|
60
|
+
`lsp_balance_sat = 500000`, `client_balance_sat = 0`,
|
|
61
|
+
`channel_expiry_blocks = 4320`.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Assets, units and precision
|
|
2
|
+
|
|
3
|
+
Asset ids differ between signet and mainnet and may rotate on signet. Always
|
|
4
|
+
discover them with `kaleidoswap_get_assets()` (cache for at most ~5 minutes);
|
|
5
|
+
never hard-code them.
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{ "asset_id": "BTC" | "rgb:...", "ticker": "USDT", "name": "...", "precision": 6 }
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Some environments omit BTC from the assets list; `kaleidoswap_get_pairs()`
|
|
12
|
+
always includes it.
|
|
13
|
+
|
|
14
|
+
## Units
|
|
15
|
+
|
|
16
|
+
BTC uses **millisatoshis** as its raw unit (precision 11):
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
1 BTC = 100,000,000 sats = 1e11 msat
|
|
20
|
+
0.001 BTC = 100,000 sats = 1e8 msat
|
|
21
|
+
1 sat = 1,000 msat
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
RGB assets use their own precision:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
raw = round(display × 10^precision)
|
|
28
|
+
display = raw / 10^precision
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
| Asset | Typical precision | Raw unit |
|
|
32
|
+
|---|---|---|
|
|
33
|
+
| BTC | 11 | msat |
|
|
34
|
+
| USDT | 6 | micro-USDT |
|
|
35
|
+
| XAUT | 9 | nano-XAUT |
|
|
36
|
+
|
|
37
|
+
Read precision from the API; the table is illustrative.
|
|
38
|
+
|
|
39
|
+
## Which unit each tool takes
|
|
40
|
+
|
|
41
|
+
| Tool | Units |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `kaleidoswap_get_quote` (kaleido-mcp) | display (`0.001` BTC, `65.0` USDT) |
|
|
44
|
+
| `kaleidoswap_atomic_init` (kaleido-mcp) | raw: pass `quote.*.amount_raw` unchanged |
|
|
45
|
+
| `kaleidoswap_get_quote` (in-app contract) | sats for BTC, asset units otherwise |
|
|
46
|
+
| `rln_send_asset` / `rln_create_rgb_invoice` (kaleido-mcp) | display units |
|
|
47
|
+
|
|
48
|
+
## Mapping user words
|
|
49
|
+
|
|
50
|
+
- "BTC" over Lightning → `asset_id: "BTC"`, layer `BTC_LN`; on-chain → `BTC_L1`.
|
|
51
|
+
- "USDT" → the asset whose `ticker === "USDT"`. "USD" usually means USDT: confirm.
|
|
52
|
+
- "gold" / "XAUT" → `ticker === "XAUT"`. Confirm "gold".
|
|
53
|
+
|
|
54
|
+
## Layers
|
|
55
|
+
|
|
56
|
+
`BTC_L1`, `BTC_LN`, `BTC_SPARK`, `BTC_ARKADE`, `RGB_L1`, `RGB_LN`. Use the
|
|
57
|
+
values from `kaleidoswap_get_pairs()` routes verbatim.
|