@sunilp-org/jam-cli 0.1.0 → 0.1.2

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 (110) hide show
  1. package/README.md +431 -63
  2. package/dist/commands/ask.d.ts +4 -0
  3. package/dist/commands/ask.d.ts.map +1 -1
  4. package/dist/commands/ask.js +202 -10
  5. package/dist/commands/ask.js.map +1 -1
  6. package/dist/commands/commit.d.ts +12 -0
  7. package/dist/commands/commit.d.ts.map +1 -0
  8. package/dist/commands/commit.js +135 -0
  9. package/dist/commands/commit.js.map +1 -0
  10. package/dist/commands/config.d.ts.map +1 -1
  11. package/dist/commands/config.js +2 -1
  12. package/dist/commands/config.js.map +1 -1
  13. package/dist/commands/context.d.ts +12 -0
  14. package/dist/commands/context.d.ts.map +1 -0
  15. package/dist/commands/context.js +52 -0
  16. package/dist/commands/context.js.map +1 -0
  17. package/dist/commands/review.d.ts +25 -0
  18. package/dist/commands/review.d.ts.map +1 -0
  19. package/dist/commands/review.js +117 -0
  20. package/dist/commands/review.js.map +1 -0
  21. package/dist/commands/run.d.ts +1 -0
  22. package/dist/commands/run.d.ts.map +1 -1
  23. package/dist/commands/run.js +199 -197
  24. package/dist/commands/run.js.map +1 -1
  25. package/dist/config/loader.d.ts.map +1 -1
  26. package/dist/config/loader.js +39 -3
  27. package/dist/config/loader.js.map +1 -1
  28. package/dist/index.js +63 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/providers/base.d.ts +26 -0
  31. package/dist/providers/base.d.ts.map +1 -1
  32. package/dist/providers/embedded.d.ts +20 -0
  33. package/dist/providers/embedded.d.ts.map +1 -0
  34. package/dist/providers/embedded.js +302 -0
  35. package/dist/providers/embedded.js.map +1 -0
  36. package/dist/providers/factory.d.ts.map +1 -1
  37. package/dist/providers/factory.js +25 -1
  38. package/dist/providers/factory.js.map +1 -1
  39. package/dist/providers/groq.d.ts +16 -0
  40. package/dist/providers/groq.d.ts.map +1 -0
  41. package/dist/providers/groq.js +23 -0
  42. package/dist/providers/groq.js.map +1 -0
  43. package/dist/providers/ollama.d.ts +6 -1
  44. package/dist/providers/ollama.d.ts.map +1 -1
  45. package/dist/providers/ollama.js +77 -4
  46. package/dist/providers/ollama.js.map +1 -1
  47. package/dist/providers/openai.d.ts +18 -0
  48. package/dist/providers/openai.d.ts.map +1 -0
  49. package/dist/providers/openai.js +229 -0
  50. package/dist/providers/openai.js.map +1 -0
  51. package/dist/tools/all-tools.d.ts +18 -0
  52. package/dist/tools/all-tools.d.ts.map +1 -0
  53. package/dist/tools/all-tools.js +95 -0
  54. package/dist/tools/all-tools.js.map +1 -0
  55. package/dist/tools/apply_patch.js +1 -1
  56. package/dist/tools/apply_patch.js.map +1 -1
  57. package/dist/tools/context-tools.d.ts +14 -0
  58. package/dist/tools/context-tools.d.ts.map +1 -0
  59. package/dist/tools/context-tools.js +63 -0
  60. package/dist/tools/context-tools.js.map +1 -0
  61. package/dist/tools/git_diff.js +1 -1
  62. package/dist/tools/git_diff.js.map +1 -1
  63. package/dist/tools/git_status.js +1 -1
  64. package/dist/tools/git_status.js.map +1 -1
  65. package/dist/tools/registry.d.ts.map +1 -1
  66. package/dist/tools/registry.js +2 -0
  67. package/dist/tools/registry.js.map +1 -1
  68. package/dist/tools/run_command.d.ts +8 -3
  69. package/dist/tools/run_command.d.ts.map +1 -1
  70. package/dist/tools/run_command.js +90 -3
  71. package/dist/tools/run_command.js.map +1 -1
  72. package/dist/ui/chat.d.ts.map +1 -1
  73. package/dist/ui/chat.js +173 -1
  74. package/dist/ui/chat.js.map +1 -1
  75. package/dist/ui/logo.d.ts.map +1 -1
  76. package/dist/ui/logo.js +5 -1
  77. package/dist/ui/logo.js.map +1 -1
  78. package/dist/utils/agent.d.ts +130 -0
  79. package/dist/utils/agent.d.ts.map +1 -0
  80. package/dist/utils/agent.js +449 -0
  81. package/dist/utils/agent.js.map +1 -0
  82. package/dist/utils/cache.d.ts +30 -0
  83. package/dist/utils/cache.d.ts.map +1 -0
  84. package/dist/utils/cache.js +62 -0
  85. package/dist/utils/cache.js.map +1 -0
  86. package/dist/utils/context.d.ts +38 -0
  87. package/dist/utils/context.d.ts.map +1 -0
  88. package/dist/utils/context.js +383 -0
  89. package/dist/utils/context.js.map +1 -0
  90. package/dist/utils/critic.d.ts +31 -0
  91. package/dist/utils/critic.d.ts.map +1 -0
  92. package/dist/utils/critic.js +126 -0
  93. package/dist/utils/critic.js.map +1 -0
  94. package/dist/utils/index-builder.d.ts +53 -0
  95. package/dist/utils/index-builder.d.ts.map +1 -0
  96. package/dist/utils/index-builder.js +241 -0
  97. package/dist/utils/index-builder.js.map +1 -0
  98. package/dist/utils/memory.d.ts +104 -0
  99. package/dist/utils/memory.d.ts.map +1 -0
  100. package/dist/utils/memory.js +215 -0
  101. package/dist/utils/memory.js.map +1 -0
  102. package/dist/utils/past-sessions.d.ts +31 -0
  103. package/dist/utils/past-sessions.d.ts.map +1 -0
  104. package/dist/utils/past-sessions.js +126 -0
  105. package/dist/utils/past-sessions.js.map +1 -0
  106. package/dist/utils/tokens.d.ts +53 -0
  107. package/dist/utils/tokens.d.ts.map +1 -0
  108. package/dist/utils/tokens.js +138 -0
  109. package/dist/utils/tokens.js.map +1 -0
  110. package/package.json +6 -2
@@ -1,6 +1,7 @@
1
1
  import { cosmiconfig } from 'cosmiconfig';
2
2
  import { homedir } from 'node:os';
3
3
  import { join } from 'node:path';
4
+ import { existsSync } from 'node:fs';
4
5
  import { JamConfigSchema } from './schema.js';
5
6
  import { CONFIG_DEFAULTS } from './defaults.js';
6
7
  import { JamError } from '../utils/errors.js';
@@ -49,8 +50,35 @@ async function loadFile(searchFrom) {
49
50
  }
50
51
  return parsed.data;
51
52
  }
52
- async function loadUserConfig() {
53
+ /**
54
+ * Load config from ~/.jam/config.json (user home-directory dotfile).
55
+ * This is the preferred user-level config location.
56
+ */
57
+ async function loadDotJamConfig() {
58
+ const dotJamDir = join(homedir(), '.jam');
59
+ if (!existsSync(dotJamDir))
60
+ return {};
61
+ const explorer = cosmiconfig(MODULE_NAME, {
62
+ searchPlaces: ['config.json', 'config.yaml', 'config.yml'],
63
+ stopDir: dotJamDir,
64
+ });
65
+ const result = await explorer.search(dotJamDir);
66
+ if (!result)
67
+ return {};
68
+ const parsed = JamConfigSchema.partial().safeParse(result.config);
69
+ if (!parsed.success) {
70
+ throw new JamError(`Invalid config at ${result.filepath}: ${parsed.error.message}`, 'CONFIG_INVALID');
71
+ }
72
+ return parsed.data;
73
+ }
74
+ /**
75
+ * Load config from ~/.config/jam/config.json (XDG-style user config).
76
+ * Lower priority than ~/.jam/config.json.
77
+ */
78
+ async function loadXdgUserConfig() {
53
79
  const userConfigDir = join(homedir(), '.config', MODULE_NAME);
80
+ if (!existsSync(userConfigDir))
81
+ return {};
54
82
  const explorer = cosmiconfig(MODULE_NAME, {
55
83
  searchPlaces: ['config.json', 'config.yaml', 'config.yml'],
56
84
  stopDir: userConfigDir,
@@ -65,9 +93,17 @@ async function loadUserConfig() {
65
93
  return parsed.data;
66
94
  }
67
95
  export async function loadConfig(cwd = process.cwd(), cliOverrides = {}) {
68
- const userConfig = await loadUserConfig();
96
+ // Merge order (lowest → highest priority):
97
+ // 1. Built-in defaults
98
+ // 2. ~/.config/jam/config.json (XDG user config)
99
+ // 3. ~/.jam/config.json (home-dir dotfile — preferred)
100
+ // 4. .jam/config.json / .jamrc (repo-level)
101
+ // 5. CLI flags
102
+ const xdgConfig = await loadXdgUserConfig();
103
+ const dotJamConfig = await loadDotJamConfig();
69
104
  const repoConfig = await loadFile(cwd);
70
- let config = mergeConfigs(CONFIG_DEFAULTS, userConfig);
105
+ let config = mergeConfigs(CONFIG_DEFAULTS, xdgConfig);
106
+ config = mergeConfigs(config, dotJamConfig);
71
107
  config = mergeConfigs(config, repoConfig);
72
108
  // Apply CLI overrides to the active profile
73
109
  const profileName = cliOverrides.profile ?? config.defaultProfile;
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,7 +18,8 @@ program
18
18
  .option('--model <name>', 'override the model')
19
19
  .option('--base-url <url>', 'override the provider base URL')
20
20
  .option('--no-color', 'disable color output')
21
- .option('--verbose', 'enable debug logging');
21
+ .option('--verbose', 'enable debug logging')
22
+ .option('-q, --quiet', 'suppress non-essential output (spinners, status lines, decorations)');
22
23
  // ── Helpers ───────────────────────────────────────────────────────────────────
23
24
  function globalOpts() {
24
25
  return program.opts();
@@ -30,6 +31,7 @@ program
30
31
  .option('--file <path>', 'read prompt from file')
31
32
  .option('--json', 'output response as JSON')
32
33
  .option('--system <prompt>', 'override the system prompt')
34
+ .option('--no-tools', 'disable read-only tool use (file discovery off)')
33
35
  .action(async (prompt, cmdOpts) => {
34
36
  const g = globalOpts();
35
37
  const { runAsk } = await import('./commands/ask.js');
@@ -39,9 +41,11 @@ program
39
41
  model: g.model,
40
42
  baseUrl: g.baseUrl,
41
43
  noColor: g.color === false,
44
+ quiet: g.quiet,
42
45
  file: cmdOpts['file'],
43
46
  json: cmdOpts['json'],
44
47
  system: cmdOpts['system'],
48
+ tools: cmdOpts['tools'],
45
49
  });
46
50
  });
47
51
  // ── chat ──────────────────────────────────────────────────────────────────────
@@ -75,6 +79,7 @@ program
75
79
  model: g.model,
76
80
  baseUrl: g.baseUrl,
77
81
  noColor: g.color === false,
82
+ quiet: g.quiet,
78
83
  });
79
84
  });
80
85
  // ── explain ───────────────────────────────────────────────────────────────────
@@ -138,6 +143,46 @@ program
138
143
  json: cmdOpts['json'],
139
144
  });
140
145
  });
146
+ // ── review ────────────────────────────────────────────────────────────────────
147
+ program
148
+ .command('review')
149
+ .description('Review a branch or PR with AI')
150
+ .option('--base <ref>', 'base branch or ref to diff against (default: main)')
151
+ .option('--pr <number>', 'review a specific PR number (requires GitHub CLI)')
152
+ .option('--json', 'output response as JSON')
153
+ .action(async (cmdOpts) => {
154
+ const g = globalOpts();
155
+ const { runReview } = await import('./commands/review.js');
156
+ await runReview({
157
+ profile: g.profile,
158
+ provider: g.provider,
159
+ model: g.model,
160
+ baseUrl: g.baseUrl,
161
+ base: cmdOpts['base'],
162
+ pr: cmdOpts['pr'] !== undefined ? parseInt(String(cmdOpts['pr']), 10) : undefined,
163
+ json: cmdOpts['json'],
164
+ });
165
+ });
166
+ // ── commit ────────────────────────────────────────────────────────────────────
167
+ program
168
+ .command('commit')
169
+ .description('Generate an AI commit message from staged changes and commit')
170
+ .option('--dry', 'generate the message but do not commit')
171
+ .option('--yes', 'auto-confirm without prompting')
172
+ .option('--amend', 'amend the last commit with a new AI-generated message')
173
+ .action(async (cmdOpts) => {
174
+ const g = globalOpts();
175
+ const { runCommit } = await import('./commands/commit.js');
176
+ await runCommit({
177
+ profile: g.profile,
178
+ provider: g.provider,
179
+ model: g.model,
180
+ baseUrl: g.baseUrl,
181
+ dry: cmdOpts['dry'],
182
+ yes: cmdOpts['yes'],
183
+ amend: cmdOpts['amend'],
184
+ });
185
+ });
141
186
  // ── patch ─────────────────────────────────────────────────────────────────────
142
187
  program
143
188
  .command('patch [instruction]')
@@ -230,6 +275,23 @@ completion
230
275
  const { runCompletionInstall } = await import('./commands/completion.js');
231
276
  runCompletionInstall({ shell: opts.shell });
232
277
  });
278
+ // ── context ───────────────────────────────────────────────────────────────────
279
+ const context = program.command('context').description('Manage the JAM.md project context file');
280
+ context
281
+ .command('init')
282
+ .description('Generate a JAM.md file with auto-discovered project context')
283
+ .option('--force', 'overwrite existing JAM.md')
284
+ .action(async (opts) => {
285
+ const { runContextInit } = await import('./commands/context.js');
286
+ await runContextInit({ force: opts.force });
287
+ });
288
+ context
289
+ .command('show')
290
+ .description('Display the current JAM.md contents')
291
+ .action(async () => {
292
+ const { runContextShow } = await import('./commands/context.js');
293
+ await runContextShow();
294
+ });
233
295
  // ── doctor ────────────────────────────────────────────────────────────────────
234
296
  program
235
297
  .command('doctor')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAElF,CAAC;AAEF,iFAAiF;AACjF,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,wCAAwC,CAAC;KACrD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACpB,WAAW,CAAC,QAAQ,EAAE,KAAK,UAAU,IAAI,CAAC;KAC1C,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;KAC3D,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;KACvD,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;KAC9C,MAAM,CAAC,kBAAkB,EAAE,gCAAgC,CAAC;KAC5D,MAAM,CAAC,YAAY,EAAE,sBAAsB,CAAC;KAC5C,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;AAE/C,iFAAiF;AACjF,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,IAAI,EAOf,CAAC;AACP,CAAC;AAED,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;KAChD,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;KAC3C,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;KACzD,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,OAAgC,EAAE,EAAE;IAC7E,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACrD,MAAM,MAAM,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK;QAC1B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAuB;QAC3C,IAAI,EAAE,OAAO,CAAC,MAAM,CAAwB;QAC5C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAuB;KAChD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;KAC3D,MAAM,CAAC,eAAe,EAAE,0BAA0B,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,OAAgC,EAAE,EAAE;IACjD,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACvD,MAAM,OAAO,CAAC;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAuB;QAC/C,IAAI,EAAE,OAAO,CAAC,MAAM,CAAuB;KAC5C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,KAAK,EAAE,WAA+B,EAAE,EAAE;IAChD,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACrD,MAAM,MAAM,CAAC,WAAW,EAAE;QACxB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK;KAC3B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,OAAgC,EAAE,EAAE;IAClE,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC7D,MAAM,UAAU,CAAC,KAAK,EAAE;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK;QAC1B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAwB;KAC7C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,kBAAkB,EAAE,qCAAqC,CAAC;KACjE,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,IAAI,CAAC;KAC9D,MAAM,CAAC,OAAO,EAAE,oCAAoC,CAAC;KACrD,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,KAAyB,EAAE,OAAgC,EAAE,EAAE;IAC5E,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC3D,MAAM,SAAS,CAAC,KAAK,EAAE;QACrB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAuB;QAC3C,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3F,GAAG,EAAE,OAAO,CAAC,KAAK,CAAwB;QAC1C,IAAI,EAAE,OAAO,CAAC,MAAM,CAAwB;KAC7C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,UAAU,EAAE,uBAAuB,CAAC;KAC3C,MAAM,CAAC,eAAe,EAAE,+BAA+B,CAAC;KACxD,MAAM,CAAC,aAAa,EAAE,kCAAkC,CAAC;KACzD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,OAAgC,EAAE,EAAE;IACjD,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACvD,MAAM,OAAO,CAAC;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAwB;QAChD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAuB;QAC3C,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK;QACrC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAwB;KAC7C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,kBAAkB,EAAE,gCAAgC,CAAC;KAC5D,MAAM,CAAC,OAAO,EAAE,8CAA8C,CAAC;KAC/D,MAAM,CAAC,OAAO,EAAE,gCAAgC,CAAC;KACjD,MAAM,CAAC,KAAK,EAAE,WAA+B,EAAE,OAAgC,EAAE,EAAE;IAClF,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACzD,MAAM,QAAQ,CAAC,WAAW,EAAE;QAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAyB;QAC7C,GAAG,EAAE,OAAO,CAAC,KAAK,CAAwB;QAC1C,GAAG,EAAE,OAAO,CAAC,KAAK,CAAwB;KAC3C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC;AAEtF,IAAI;KACD,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC5D,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACvG,CAAC,CAAC,CAAC;AAEL,IAAI;KACD,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC7D,MAAM,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;AAEjF,MAAM;KACH,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC/D,MAAM,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEL,MAAM;KACH,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,UAAU,EAAE,kDAAkD,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,IAA0B,EAAE,EAAE;IAC3C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC/D,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAEzE,MAAM;KACH,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC/D,MAAM,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;AAEtF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACjE,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,EAAE;IAClC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACjE,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;AAEzF,UAAU;KACP,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,sDAAsD,CAAC;KACjF,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC1E,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC3D,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC;AAEL,+EAA+E;AAC/E,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACpD,SAAS,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,30 @@ export interface Message {
2
2
  role: 'system' | 'user' | 'assistant';
3
3
  content: string;
4
4
  }
5
+ export interface ToolParameterSchema {
6
+ type: string;
7
+ description?: string;
8
+ enum?: string[];
9
+ }
10
+ export interface ToolDefinition {
11
+ name: string;
12
+ description: string;
13
+ parameters: {
14
+ type: 'object';
15
+ properties: Record<string, ToolParameterSchema>;
16
+ required?: string[];
17
+ };
18
+ }
19
+ export interface ToolCall {
20
+ id?: string;
21
+ name: string;
22
+ arguments: Record<string, unknown>;
23
+ }
24
+ export interface ChatWithToolsResponse {
25
+ content: string | null;
26
+ toolCalls?: ToolCall[];
27
+ usage?: TokenUsage;
28
+ }
5
29
  export interface TokenUsage {
6
30
  promptTokens: number;
7
31
  completionTokens: number;
@@ -28,5 +52,7 @@ export interface ProviderAdapter {
28
52
  validateCredentials(): Promise<void>;
29
53
  streamCompletion(request: CompletionRequest): AsyncIterable<StreamChunk>;
30
54
  listModels(): Promise<string[]>;
55
+ /** Optional: single non-streaming turn that may return tool calls. */
56
+ chatWithTools?(messages: Message[], tools: ToolDefinition[], options?: Pick<CompletionRequest, 'model' | 'temperature' | 'maxTokens' | 'systemPrompt'>): Promise<ChatWithToolsResponse>;
31
57
  }
32
58
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACzE,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACjC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACzE,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,sEAAsE;IACtE,aAAa,CAAC,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,cAAc,CAAC,GACxF,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC"}
@@ -0,0 +1,20 @@
1
+ import type { ProviderAdapter, ProviderInfo, CompletionRequest, StreamChunk, Message, ToolDefinition, ChatWithToolsResponse } from './base.js';
2
+ export declare class EmbeddedAdapter implements ProviderAdapter {
3
+ readonly info: ProviderInfo;
4
+ private readonly modelSpec;
5
+ private _llama;
6
+ private _model;
7
+ constructor(options?: {
8
+ model?: string;
9
+ });
10
+ /**
11
+ * Lazily load node-llama-cpp, download the model if needed, and warm up.
12
+ * All heavy work happens here so the constructor stays synchronous.
13
+ */
14
+ private boot;
15
+ validateCredentials(): Promise<void>;
16
+ listModels(): Promise<string[]>;
17
+ streamCompletion(request: CompletionRequest): AsyncIterable<StreamChunk>;
18
+ chatWithTools(messages: Message[], tools: ToolDefinition[], options?: Pick<CompletionRequest, 'model' | 'temperature' | 'maxTokens' | 'systemPrompt'>): Promise<ChatWithToolsResponse>;
19
+ }
20
+ //# sourceMappingURL=embedded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded.d.ts","sourceRoot":"","sources":["../../src/providers/embedded.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,cAAc,EAEd,qBAAqB,EACtB,MAAM,WAAW,CAAC;AAsFnB,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAGzB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAiB;gBAEnB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO;IAM5C;;;OAGG;YACW,IAAI;IA0FZ,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAuB9B,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa,CAAC,WAAW,CAAC;IA6DzE,aAAa,CACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,GAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,cAAc,CAAM,GAC5F,OAAO,CAAC,qBAAqB,CAAC;CAuElC"}
@@ -0,0 +1,302 @@
1
+ import { JamError } from '../utils/errors.js';
2
+ import { homedir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ import { existsSync, mkdirSync } from 'node:fs';
5
+ // ── Defaults ─────────────────────────────────────────────────────────────────
6
+ /**
7
+ * Directory where embedded GGUF models are cached.
8
+ * ~/.jam/models/
9
+ */
10
+ const MODELS_DIR = join(homedir(), '.jam', 'models');
11
+ /**
12
+ * Default model to download when no model is specified.
13
+ * SmolLM2-360M is extremely lightweight (~250 MB quantized) and runs
14
+ * comfortably on machines without a GPU.
15
+ */
16
+ const DEFAULT_HF_REPO = 'HuggingFaceTB/SmolLM2-360M-Instruct-GGUF';
17
+ const DEFAULT_MODEL_FILENAME = 'smollm2-360m-instruct-q4_k_m.gguf';
18
+ const DEFAULT_MODEL_LABEL = 'SmolLM2-360M-Instruct-Q4_K_M';
19
+ /**
20
+ * A curated list of known models users can request by short alias.
21
+ * Maps alias → { repo, file }.
22
+ */
23
+ const MODEL_ALIASES = {
24
+ 'smollm2-135m': {
25
+ repo: 'HuggingFaceTB/SmolLM2-135M-Instruct-GGUF',
26
+ file: 'smollm2-135m-instruct-q4_k_m.gguf',
27
+ },
28
+ 'smollm2-360m': {
29
+ repo: 'HuggingFaceTB/SmolLM2-360M-Instruct-GGUF',
30
+ file: 'smollm2-360m-instruct-q4_k_m.gguf',
31
+ },
32
+ 'smollm2-1.7b': {
33
+ repo: 'HuggingFaceTB/SmolLM2-1.7B-Instruct-GGUF',
34
+ file: 'smollm2-1.7b-instruct-q4_k_m.gguf',
35
+ },
36
+ };
37
+ // ── Helpers ──────────────────────────────────────────────────────────────────
38
+ function ensureModelsDir() {
39
+ if (!existsSync(MODELS_DIR)) {
40
+ mkdirSync(MODELS_DIR, { recursive: true });
41
+ }
42
+ }
43
+ /**
44
+ * Resolve a model specifier to { repo, file }.
45
+ * Supports:
46
+ * - Known aliases → "smollm2-360m"
47
+ * - HF repo paths → "HuggingFaceTB/SmolLM2-360M-Instruct-GGUF/smollm2-360m-instruct-q4_k_m.gguf"
48
+ * - Plain filenames → treated as already-downloaded under ~/.jam/models/
49
+ */
50
+ function resolveModel(model) {
51
+ if (!model) {
52
+ return { repo: DEFAULT_HF_REPO, file: DEFAULT_MODEL_FILENAME };
53
+ }
54
+ const lower = model.toLowerCase();
55
+ if (MODEL_ALIASES[lower]) {
56
+ return MODEL_ALIASES[lower];
57
+ }
58
+ // HF-style "org/repo/filename.gguf"
59
+ const parts = model.split('/');
60
+ if (parts.length >= 3 && model.endsWith('.gguf')) {
61
+ const file = parts.pop();
62
+ const repo = parts.join('/');
63
+ return { repo, file };
64
+ }
65
+ // Already a local path or just a filename
66
+ if (model.endsWith('.gguf')) {
67
+ return { localPath: model.startsWith('/') ? model : join(MODELS_DIR, model) };
68
+ }
69
+ // Default: treat as alias key, fall back to default model
70
+ return { repo: DEFAULT_HF_REPO, file: DEFAULT_MODEL_FILENAME };
71
+ }
72
+ // ── Adapter ──────────────────────────────────────────────────────────────────
73
+ export class EmbeddedAdapter {
74
+ info = {
75
+ name: 'embedded (experimental)',
76
+ supportsStreaming: true,
77
+ };
78
+ modelSpec;
79
+ // Lazy-loaded resources
80
+ _llama = null;
81
+ _model = null;
82
+ constructor(options = {}) {
83
+ this.modelSpec = options.model;
84
+ }
85
+ // ── Bootstrap ────────────────────────────────────────────────────────────
86
+ /**
87
+ * Lazily load node-llama-cpp, download the model if needed, and warm up.
88
+ * All heavy work happens here so the constructor stays synchronous.
89
+ */
90
+ async boot() {
91
+ if (this._llama && this._model) {
92
+ return { llama: this._llama, model: this._model };
93
+ }
94
+ let nlc;
95
+ try {
96
+ nlc = await import('node-llama-cpp');
97
+ }
98
+ catch {
99
+ throw new JamError('The "embedded" provider requires the `node-llama-cpp` package.\n' +
100
+ 'Install it with: npm install node-llama-cpp\n' +
101
+ 'Then run `jam doctor` to verify.', 'PROVIDER_UNAVAILABLE', { retryable: false });
102
+ }
103
+ ensureModelsDir();
104
+ process.stderr.write('\n ⚠️ Embedded provider is EXPERIMENTAL. Quality is limited by small model size.\n' +
105
+ ' For production workloads, consider using Ollama or OpenAI.\n\n');
106
+ const resolved = resolveModel(this.modelSpec);
107
+ let modelPath;
108
+ if ('localPath' in resolved) {
109
+ modelPath = resolved.localPath;
110
+ if (!existsSync(modelPath)) {
111
+ throw new JamError(`Model file not found: ${modelPath}`, 'PROVIDER_MODEL_NOT_FOUND', { retryable: false });
112
+ }
113
+ }
114
+ else {
115
+ // Check if already downloaded
116
+ const cached = join(MODELS_DIR, resolved.file);
117
+ if (existsSync(cached)) {
118
+ modelPath = cached;
119
+ }
120
+ else {
121
+ process.stderr.write(`\n Downloading embedded model: ${resolved.file}\n` +
122
+ ` From: huggingface.co/${resolved.repo}\n` +
123
+ ` Destination: ${cached}\n` +
124
+ ` This is a one-time download...\n\n`);
125
+ try {
126
+ await nlc.downloadModel({
127
+ url: `https://huggingface.co/${resolved.repo}/resolve/main/${resolved.file}`,
128
+ dirPath: MODELS_DIR,
129
+ fileName: resolved.file,
130
+ onProgress: (progress) => {
131
+ const pct = Math.round((progress.downloaded / progress.total) * 100);
132
+ process.stderr.write(`\r Progress: ${pct}%`);
133
+ },
134
+ });
135
+ process.stderr.write('\n Download complete!\n\n');
136
+ }
137
+ catch (err) {
138
+ throw new JamError(`Failed to download model "${resolved.file}" from huggingface.co/${resolved.repo}.\n` +
139
+ `Check your internet connection and try again.`, 'PROVIDER_UNAVAILABLE', { retryable: true, cause: err });
140
+ }
141
+ modelPath = cached;
142
+ }
143
+ }
144
+ try {
145
+ const llama = await nlc.getLlama();
146
+ const model = await llama.loadModel({ modelPath });
147
+ this._llama = llama;
148
+ this._model = model;
149
+ return { llama, model };
150
+ }
151
+ catch (err) {
152
+ throw new JamError(`Failed to load model from ${modelPath}. The file may be corrupted.\n` +
153
+ `Try deleting it and re-running so it re-downloads.`, 'PROVIDER_UNAVAILABLE', { retryable: true, cause: err });
154
+ }
155
+ }
156
+ // ── ProviderAdapter interface ────────────────────────────────────────────
157
+ async validateCredentials() {
158
+ await this.boot();
159
+ }
160
+ async listModels() {
161
+ // List known aliases + any .gguf files already cached
162
+ const aliases = Object.keys(MODEL_ALIASES);
163
+ const cached = [];
164
+ try {
165
+ const { readdirSync } = await import('node:fs');
166
+ const files = readdirSync(MODELS_DIR);
167
+ for (const f of files) {
168
+ if (f.endsWith('.gguf')) {
169
+ cached.push(f);
170
+ }
171
+ }
172
+ }
173
+ catch {
174
+ // Models dir may not exist yet — that's fine
175
+ }
176
+ return [
177
+ ...aliases.map((a) => `${a} (alias)`),
178
+ ...cached.map((f) => `${f} (cached)`),
179
+ ];
180
+ }
181
+ async *streamCompletion(request) {
182
+ const { model } = await this.boot();
183
+ // node-llama-cpp v3 API
184
+ const nlc = await import('node-llama-cpp');
185
+ const context = await model.createContext();
186
+ const session = new nlc.LlamaChatSession({ contextSequence: context.getSequence() });
187
+ // Build prompt from messages
188
+ const promptParts = [];
189
+ if (request.systemPrompt) {
190
+ promptParts.push(request.systemPrompt);
191
+ }
192
+ for (const msg of request.messages) {
193
+ if (msg.role === 'system') {
194
+ promptParts.push(msg.content);
195
+ }
196
+ else if (msg.role === 'user') {
197
+ promptParts.push(msg.content);
198
+ }
199
+ else if (msg.role === 'assistant') {
200
+ promptParts.push(msg.content);
201
+ }
202
+ }
203
+ // Get the last user message as the prompt (chat session manages history)
204
+ const lastUserMsg = [...request.messages].reverse().find((m) => m.role === 'user');
205
+ const prompt = lastUserMsg?.content ?? promptParts.join('\n');
206
+ let totalTokens = 0;
207
+ let completionText = '';
208
+ try {
209
+ const response = await session.prompt(prompt, {
210
+ maxTokens: request.maxTokens ?? 2048,
211
+ temperature: request.temperature ?? 0.7,
212
+ onTextChunk: undefined, // we'll use the non-streaming path and chunk it
213
+ });
214
+ completionText = response;
215
+ totalTokens = completionText.split(/\s+/).length; // rough estimate
216
+ // Emit the complete response as chunks for streaming compatibility
217
+ const chunkSize = 4; // characters per chunk for simulated streaming
218
+ for (let i = 0; i < completionText.length; i += chunkSize) {
219
+ const delta = completionText.slice(i, i + chunkSize);
220
+ yield { delta, done: false };
221
+ }
222
+ yield {
223
+ delta: '',
224
+ done: true,
225
+ usage: {
226
+ promptTokens: 0, // node-llama-cpp doesn't expose this easily
227
+ completionTokens: totalTokens,
228
+ totalTokens,
229
+ },
230
+ };
231
+ }
232
+ finally {
233
+ context.dispose();
234
+ }
235
+ }
236
+ async chatWithTools(messages, tools, options = {}) {
237
+ const { model } = await this.boot();
238
+ const nlc = await import('node-llama-cpp');
239
+ const context = await model.createContext();
240
+ const session = new nlc.LlamaChatSession({ contextSequence: context.getSequence() });
241
+ // Build prompt that describes available tools (small models won't do
242
+ // native function calling, so we describe them in the system prompt).
243
+ const toolDescriptions = tools.map((t) => {
244
+ const params = Object.entries(t.parameters.properties)
245
+ .map(([name, schema]) => ` - ${name} (${schema.type}): ${schema.description ?? ''}`)
246
+ .join('\n');
247
+ return `Tool: ${t.name}\nDescription: ${t.description}\nParameters:\n${params}`;
248
+ }).join('\n\n');
249
+ const systemInstructions = [
250
+ options.systemPrompt ?? '',
251
+ tools.length > 0
252
+ ? `You have access to the following tools. To call a tool, respond with EXACTLY this JSON format on its own line:\n` +
253
+ `{"tool_call": {"name": "<tool_name>", "arguments": {<args>}}}\n\n` +
254
+ `Available tools:\n${toolDescriptions}`
255
+ : '',
256
+ ].filter(Boolean).join('\n\n');
257
+ const lastUserMsg = [...messages].reverse().find((m) => m.role === 'user');
258
+ const prompt = (systemInstructions ? systemInstructions + '\n\n' : '') +
259
+ (lastUserMsg?.content ?? '');
260
+ let response;
261
+ try {
262
+ response = await session.prompt(prompt, {
263
+ maxTokens: options.maxTokens ?? 2048,
264
+ temperature: options.temperature ?? 0.3,
265
+ });
266
+ }
267
+ finally {
268
+ context.dispose();
269
+ }
270
+ // Parse tool calls from the response
271
+ const toolCalls = [];
272
+ const lines = response.split('\n');
273
+ const textParts = [];
274
+ for (const line of lines) {
275
+ const trimmed = line.trim();
276
+ if (trimmed.startsWith('{"tool_call"')) {
277
+ try {
278
+ const parsed = JSON.parse(trimmed);
279
+ toolCalls.push({
280
+ name: parsed.tool_call.name,
281
+ arguments: parsed.tool_call.arguments,
282
+ });
283
+ continue;
284
+ }
285
+ catch {
286
+ // Not valid JSON — treat as text
287
+ }
288
+ }
289
+ textParts.push(line);
290
+ }
291
+ return {
292
+ content: textParts.join('\n').trim() || null,
293
+ toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
294
+ usage: {
295
+ promptTokens: 0,
296
+ completionTokens: 0,
297
+ totalTokens: 0,
298
+ },
299
+ };
300
+ }
301
+ }
302
+ //# sourceMappingURL=embedded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded.js","sourceRoot":"","sources":["../../src/providers/embedded.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAe/E"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CA4C/E"}