@kaleidorg/mind 0.0.1 → 0.1.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.
Files changed (62) hide show
  1. package/dist/engine.d.ts +9 -0
  2. package/dist/engine.d.ts.map +1 -1
  3. package/dist/engine.js +18 -2
  4. package/dist/engine.js.map +1 -1
  5. package/dist/index.d.ts +7 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +4 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/skills/bundle.d.ts +30 -0
  10. package/dist/skills/bundle.d.ts.map +1 -0
  11. package/dist/skills/bundle.js +24 -0
  12. package/dist/skills/bundle.js.map +1 -0
  13. package/dist/skills/loader.d.ts +33 -0
  14. package/dist/skills/loader.d.ts.map +1 -0
  15. package/dist/skills/loader.js +59 -0
  16. package/dist/skills/loader.js.map +1 -0
  17. package/dist/skills/reference-source.d.ts +18 -0
  18. package/dist/skills/reference-source.d.ts.map +1 -0
  19. package/dist/skills/reference-source.js +53 -0
  20. package/dist/skills/reference-source.js.map +1 -0
  21. package/dist/skills/registry.d.ts +41 -0
  22. package/dist/skills/registry.d.ts.map +1 -0
  23. package/dist/skills/registry.js +167 -0
  24. package/dist/skills/registry.js.map +1 -0
  25. package/dist/skills/types.d.ts +53 -0
  26. package/dist/skills/types.d.ts.map +1 -0
  27. package/dist/skills/types.js +18 -0
  28. package/dist/skills/types.js.map +1 -0
  29. package/dist/tools/l402.d.ts +47 -0
  30. package/dist/tools/l402.d.ts.map +1 -0
  31. package/dist/tools/l402.js +84 -0
  32. package/dist/tools/l402.js.map +1 -0
  33. package/package.json +9 -2
  34. package/scripts/bundle-skills.mjs +84 -0
  35. package/skills/README.md +74 -0
  36. package/skills/bitrefill/SKILL.md +66 -0
  37. package/skills/bitrefill/references/api.md +99 -0
  38. package/skills/bitrefill/references/browse.md +71 -0
  39. package/skills/bitrefill/references/capability-matrix.md +115 -0
  40. package/skills/bitrefill/references/cli-headless-auth.md +133 -0
  41. package/skills/bitrefill/references/cli.md +237 -0
  42. package/skills/bitrefill/references/host-openclaw.md +167 -0
  43. package/skills/bitrefill/references/mcp.md +150 -0
  44. package/skills/bitrefill/references/safeguards.md +138 -0
  45. package/skills/bitrefill/references/troubleshooting.md +182 -0
  46. package/skills/kaleido-trading/SKILL.md +31 -0
  47. package/skills/kaleido-wallet/SKILL.md +28 -0
  48. package/src/engine.test.ts +204 -0
  49. package/src/engine.ts +27 -2
  50. package/src/index.ts +17 -0
  51. package/src/skills/bundle.ts +42 -0
  52. package/src/skills/loader.ts +63 -0
  53. package/src/skills/reference-source.ts +60 -0
  54. package/src/skills/registry.ts +183 -0
  55. package/src/skills/skills.test.ts +191 -0
  56. package/src/skills/types.ts +55 -0
  57. package/src/tools/l402.test.ts +113 -0
  58. package/src/tools/l402.ts +122 -0
  59. package/dist/providers/qvac.d.ts +0 -89
  60. package/dist/providers/qvac.d.ts.map +0 -1
  61. package/dist/providers/qvac.js +0 -150
  62. package/dist/providers/qvac.js.map +0 -1
@@ -1,150 +0,0 @@
1
- /**
2
- * QVAC provider — primary, on-device.
3
- *
4
- * Wraps the QVAC SDK's llamacpp-completion plugin. The actual binding
5
- * differs slightly per host (RN vs Node vs browser worker), so the heavy
6
- * lifting is delegated to a `QvacBinding` injected by the adapter packages.
7
- *
8
- * Node (kaleido-agent): binding = await import('@qvac/sdk/node')
9
- * React Native (rate): binding from @kaleido/mind-rn → wraps QVACService
10
- * Browser (rate-extension): binding from @kaleido/mind-browser → talks to worker
11
- */
12
- export class QvacProvider {
13
- name = 'qvac';
14
- modelId;
15
- binding;
16
- contextSize;
17
- temperature;
18
- topP;
19
- template;
20
- backend;
21
- constructor(opts) {
22
- this.modelId = opts.model;
23
- this.binding = opts.binding;
24
- this.contextSize = opts.contextSize ?? 32768;
25
- this.temperature = opts.temperature ?? 0.2;
26
- this.topP = opts.topP ?? 0.9;
27
- this.template = opts.template ?? this.detectTemplate(opts.model);
28
- this.backend = opts.backend ?? 'auto';
29
- }
30
- async load() {
31
- if (this.binding.isReady())
32
- return;
33
- await this.binding.load(this.modelId, {
34
- contextSize: this.contextSize,
35
- backend: this.backend,
36
- });
37
- }
38
- async unload() {
39
- await this.binding.unload();
40
- }
41
- isReady() {
42
- return this.binding.isReady();
43
- }
44
- async run(messages, tools, opts = {}) {
45
- await this.load();
46
- const prompt = this.formatPrompt(messages, tools, opts);
47
- const { text, usage } = await this.binding.complete(prompt, {
48
- temperature: this.temperature,
49
- topP: this.topP,
50
- stop: opts.stop,
51
- signal: opts.signal,
52
- });
53
- return this.parseCompletion(text, usage);
54
- }
55
- async *stream(messages, tools, opts = {}) {
56
- await this.load();
57
- const prompt = this.formatPrompt(messages, tools, opts);
58
- let buffer = '';
59
- for await (const chunk of this.binding.stream(prompt, {
60
- temperature: this.temperature,
61
- topP: this.topP,
62
- stop: opts.stop,
63
- signal: opts.signal,
64
- })) {
65
- buffer += chunk;
66
- yield { type: 'token', text: chunk };
67
- }
68
- const parsed = this.parseCompletion(buffer);
69
- for (const call of parsed.tool_calls) {
70
- yield { type: 'tool_call', call };
71
- }
72
- yield { type: 'done', final: parsed.text };
73
- }
74
- detectTemplate(model) {
75
- const m = model.toLowerCase();
76
- if (m.includes('qwen3') || m.includes('qwen-3'))
77
- return 'qwen3';
78
- if (m.includes('hermes'))
79
- return 'hermes';
80
- if (m.includes('llama-3') || m.includes('llama3'))
81
- return 'llama3';
82
- return 'chatml';
83
- }
84
- /**
85
- * Render messages + tools into the model's chat template.
86
- * TODO: full implementations per family. This stub uses a minimal
87
- * tool-aware ChatML rendering that works for Qwen3 / Hermes / Llama 3.
88
- */
89
- formatPrompt(messages, tools, opts) {
90
- const toolDescriptions = tools.length
91
- ? `\n\n<tools>\n${tools.map(t => JSON.stringify({
92
- name: t.name,
93
- description: t.description,
94
- parameters: '<schema:' + t.name + '>',
95
- })).join('\n')}\n</tools>\n\n` +
96
- `When you need to call a tool, emit a single line of JSON wrapped in <tool_call></tool_call> tags. ` +
97
- `Wait for the tool result before continuing.`
98
- : '';
99
- const sys = (opts.system ?? '') + toolDescriptions;
100
- let prompt = sys ? `<|im_start|>system\n${sys}<|im_end|>\n` : '';
101
- for (const m of messages) {
102
- if (m.role === 'system')
103
- continue;
104
- prompt += `<|im_start|>${m.role}\n${m.content ?? ''}`;
105
- if (m.tool_calls?.length) {
106
- for (const c of m.tool_calls) {
107
- prompt += `\n<tool_call>${JSON.stringify({ name: c.name, arguments: c.args })}</tool_call>`;
108
- }
109
- }
110
- prompt += `<|im_end|>\n`;
111
- }
112
- prompt += `<|im_start|>assistant\n`;
113
- if (this.template === 'qwen3' && !opts.thinking) {
114
- prompt += `<think>\n</think>\n`;
115
- }
116
- return prompt;
117
- }
118
- /**
119
- * Parse the model's text output into (text, tool_calls).
120
- * Recognises <tool_call>{...}</tool_call> blocks.
121
- */
122
- parseCompletion(text, usage) {
123
- const tool_calls = [];
124
- const callRegex = /<tool_call>\s*([\s\S]*?)\s*<\/tool_call>/g;
125
- let match;
126
- let i = 0;
127
- while ((match = callRegex.exec(text)) !== null) {
128
- const raw = match[1];
129
- if (!raw)
130
- continue;
131
- try {
132
- const parsed = JSON.parse(raw);
133
- tool_calls.push({
134
- id: `c-${i++}`,
135
- name: parsed.name,
136
- args: parsed.arguments ?? {},
137
- });
138
- }
139
- catch {
140
- // Ignore malformed — the engine's retry loop will reprompt.
141
- }
142
- }
143
- const cleaned = text.replace(callRegex, '').trim();
144
- const result = { text: cleaned, tool_calls };
145
- if (usage)
146
- result.usage = usage;
147
- return result;
148
- }
149
- }
150
- //# sourceMappingURL=qvac.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"qvac.js","sourceRoot":"","sources":["../../src/providers/qvac.ts"],"names":[],"mappings":"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"}