@sashabogi/foundation 0.1.6 → 0.1.7

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 (109) hide show
  1. package/dist/cli/setup-wizard.d.ts +30 -0
  2. package/dist/cli/setup-wizard.d.ts.map +1 -0
  3. package/dist/cli/setup-wizard.js +1645 -0
  4. package/dist/cli/setup-wizard.js.map +1 -0
  5. package/dist/cli/test-connection.d.ts +76 -0
  6. package/dist/cli/test-connection.d.ts.map +1 -0
  7. package/dist/cli/test-connection.js +697 -0
  8. package/dist/cli/test-connection.js.map +1 -0
  9. package/dist/cli.d.ts +3 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +47 -4
  12. package/dist/cli.js.map +1 -1
  13. package/dist/providers/anthropic.d.ts +178 -0
  14. package/dist/providers/anthropic.d.ts.map +1 -0
  15. package/dist/providers/anthropic.js +514 -0
  16. package/dist/providers/anthropic.js.map +1 -0
  17. package/dist/providers/base.d.ts +154 -0
  18. package/dist/providers/base.d.ts.map +1 -0
  19. package/dist/providers/base.js +227 -0
  20. package/dist/providers/base.js.map +1 -0
  21. package/dist/providers/deepseek.d.ts +23 -0
  22. package/dist/providers/deepseek.d.ts.map +1 -0
  23. package/dist/providers/deepseek.js +31 -0
  24. package/dist/providers/deepseek.js.map +1 -0
  25. package/dist/providers/fireworks.d.ts +23 -0
  26. package/dist/providers/fireworks.d.ts.map +1 -0
  27. package/dist/providers/fireworks.js +31 -0
  28. package/dist/providers/fireworks.js.map +1 -0
  29. package/dist/providers/gemini.d.ts +85 -0
  30. package/dist/providers/gemini.d.ts.map +1 -0
  31. package/dist/providers/gemini.js +414 -0
  32. package/dist/providers/gemini.js.map +1 -0
  33. package/dist/providers/groq.d.ts +23 -0
  34. package/dist/providers/groq.d.ts.map +1 -0
  35. package/dist/providers/groq.js +31 -0
  36. package/dist/providers/groq.js.map +1 -0
  37. package/dist/providers/index.d.ts +23 -0
  38. package/dist/providers/index.d.ts.map +1 -0
  39. package/dist/providers/index.js +27 -0
  40. package/dist/providers/index.js.map +1 -0
  41. package/dist/providers/kimi-code.d.ts +32 -0
  42. package/dist/providers/kimi-code.d.ts.map +1 -0
  43. package/dist/providers/kimi-code.js +46 -0
  44. package/dist/providers/kimi-code.js.map +1 -0
  45. package/dist/providers/kimi.d.ts +19 -0
  46. package/dist/providers/kimi.d.ts.map +1 -0
  47. package/dist/providers/kimi.js +27 -0
  48. package/dist/providers/kimi.js.map +1 -0
  49. package/dist/providers/manager.d.ts +144 -0
  50. package/dist/providers/manager.d.ts.map +1 -0
  51. package/dist/providers/manager.js +279 -0
  52. package/dist/providers/manager.js.map +1 -0
  53. package/dist/providers/ollama.d.ts +83 -0
  54. package/dist/providers/ollama.d.ts.map +1 -0
  55. package/dist/providers/ollama.js +450 -0
  56. package/dist/providers/ollama.js.map +1 -0
  57. package/dist/providers/openai.d.ts +91 -0
  58. package/dist/providers/openai.d.ts.map +1 -0
  59. package/dist/providers/openai.js +445 -0
  60. package/dist/providers/openai.js.map +1 -0
  61. package/dist/providers/openrouter.d.ts +23 -0
  62. package/dist/providers/openrouter.d.ts.map +1 -0
  63. package/dist/providers/openrouter.js +31 -0
  64. package/dist/providers/openrouter.js.map +1 -0
  65. package/dist/providers/perplexity.d.ts +34 -0
  66. package/dist/providers/perplexity.d.ts.map +1 -0
  67. package/dist/providers/perplexity.js +58 -0
  68. package/dist/providers/perplexity.js.map +1 -0
  69. package/dist/providers/together.d.ts +23 -0
  70. package/dist/providers/together.d.ts.map +1 -0
  71. package/dist/providers/together.js +31 -0
  72. package/dist/providers/together.js.map +1 -0
  73. package/dist/providers/types.d.ts +229 -0
  74. package/dist/providers/types.d.ts.map +1 -0
  75. package/dist/providers/types.js +73 -0
  76. package/dist/providers/types.js.map +1 -0
  77. package/dist/providers/zai.d.ts +19 -0
  78. package/dist/providers/zai.d.ts.map +1 -0
  79. package/dist/providers/zai.js +27 -0
  80. package/dist/providers/zai.js.map +1 -0
  81. package/dist/services/provider.service.d.ts +28 -0
  82. package/dist/services/provider.service.d.ts.map +1 -1
  83. package/dist/services/provider.service.js +137 -13
  84. package/dist/services/provider.service.js.map +1 -1
  85. package/dist/tools/demerzel/engine.d.ts +67 -0
  86. package/dist/tools/demerzel/engine.d.ts.map +1 -0
  87. package/dist/tools/demerzel/engine.js +401 -0
  88. package/dist/tools/demerzel/engine.js.map +1 -0
  89. package/dist/tools/demerzel/enhanced-snapshot.d.ts +67 -0
  90. package/dist/tools/demerzel/enhanced-snapshot.d.ts.map +1 -0
  91. package/dist/tools/demerzel/enhanced-snapshot.js +481 -0
  92. package/dist/tools/demerzel/enhanced-snapshot.js.map +1 -0
  93. package/dist/tools/demerzel/index.d.ts +11 -0
  94. package/dist/tools/demerzel/index.d.ts.map +1 -1
  95. package/dist/tools/demerzel/index.js +656 -85
  96. package/dist/tools/demerzel/index.js.map +1 -1
  97. package/dist/tools/demerzel/prompts.d.ts +26 -0
  98. package/dist/tools/demerzel/prompts.d.ts.map +1 -0
  99. package/dist/tools/demerzel/prompts.js +181 -0
  100. package/dist/tools/demerzel/prompts.js.map +1 -0
  101. package/dist/tools/demerzel/semantic-search.d.ts +54 -0
  102. package/dist/tools/demerzel/semantic-search.d.ts.map +1 -0
  103. package/dist/tools/demerzel/semantic-search.js +205 -0
  104. package/dist/tools/demerzel/semantic-search.js.map +1 -0
  105. package/dist/tools/demerzel/snapshot.d.ts +30 -0
  106. package/dist/tools/demerzel/snapshot.d.ts.map +1 -0
  107. package/dist/tools/demerzel/snapshot.js +169 -0
  108. package/dist/tools/demerzel/snapshot.js.map +1 -0
  109. package/package.json +2 -1
@@ -23,13 +23,16 @@
23
23
  * - Session delegation for Anthropic
24
24
  */
25
25
  import { StorageService } from './storage.service.js';
26
+ import { createProviderManager, isSessionDelegation, } from '../providers/index.js';
26
27
  export class ProviderService {
27
28
  static instance;
28
29
  config = null;
29
30
  storage;
31
+ providerManager;
30
32
  initialized = false;
31
33
  constructor() {
32
34
  this.storage = StorageService.getInstance();
35
+ this.providerManager = createProviderManager();
33
36
  }
34
37
  static getInstance() {
35
38
  if (!ProviderService.instance) {
@@ -44,8 +47,30 @@ export class ProviderService {
44
47
  if (this.initialized)
45
48
  return;
46
49
  this.config = config;
50
+ // Configure providers from Foundation config
51
+ this.configureProviders(config);
47
52
  this.initialized = true;
48
53
  }
54
+ /**
55
+ * Configure providers from Foundation config
56
+ */
57
+ configureProviders(config) {
58
+ const providerConfigs = {};
59
+ // Map Foundation provider configs to provider module configs
60
+ for (const [name, providerConfig] of Object.entries(config.providers)) {
61
+ if (providerConfig) {
62
+ providerConfigs[name] = {
63
+ api_key: providerConfig.api_key,
64
+ default_model: providerConfig.default_model,
65
+ base_url: providerConfig.base_url,
66
+ access_mode: providerConfig.access_mode,
67
+ organization: providerConfig.organization,
68
+ headers: providerConfig.headers,
69
+ };
70
+ }
71
+ }
72
+ this.providerManager.updateConfig(providerConfigs);
73
+ }
49
74
  /**
50
75
  * Invoke an agent role with a task
51
76
  */
@@ -69,10 +94,11 @@ export class ProviderService {
69
94
  });
70
95
  return {
71
96
  success: true,
72
- output: result,
97
+ output: result.output,
73
98
  provider: roleConfig.provider,
74
99
  model: roleConfig.model || 'default',
75
100
  latencyMs: Date.now() - startTime,
101
+ tokensUsed: result.tokensUsed,
76
102
  };
77
103
  }
78
104
  catch (error) {
@@ -107,10 +133,11 @@ export class ProviderService {
107
133
  const result = await this.invokeProvider({ ...roleConfig, provider: fallback.provider, model: fallback.model }, options);
108
134
  return {
109
135
  success: true,
110
- output: result,
136
+ output: result.output,
111
137
  provider: fallback.provider,
112
138
  model: fallback.model || 'default',
113
139
  latencyMs: Date.now() - startTime,
140
+ tokensUsed: result.tokensUsed,
114
141
  failedOver: true,
115
142
  failoverChain,
116
143
  };
@@ -133,15 +160,72 @@ export class ProviderService {
133
160
  * Invoke a specific provider
134
161
  */
135
162
  async invokeProvider(roleConfig, options) {
136
- // TODO: Implement actual provider calls
137
- // This is a stub that will be replaced with real implementations
138
- // ported from hari-seldon
139
- const provider = roleConfig.provider;
140
- const model = roleConfig.model;
141
- console.error(`[ProviderService] Would invoke ${provider}/${model} for role ${options.role}`);
142
- console.error(`[ProviderService] Task: ${options.task.slice(0, 100)}...`);
143
- // For now, return a placeholder
144
- return `[Stub response from ${provider}/${model}] This is where the real AI response would go.`;
163
+ const providerName = roleConfig.provider;
164
+ const model = roleConfig.model || this.config?.providers[providerName]?.default_model;
165
+ if (!model) {
166
+ throw new Error(`No model configured for provider ${providerName}`);
167
+ }
168
+ // Get the provider instance
169
+ const provider = this.providerManager.get(providerName);
170
+ // Update provider config with role-specific settings for session delegation
171
+ const providerConfig = this.providerManager.getConfig(providerName);
172
+ if (providerConfig) {
173
+ providerConfig.system_prompt = options.systemPrompt || roleConfig.system_prompt;
174
+ providerConfig.role_name = options.role;
175
+ }
176
+ // Build the completion request
177
+ const request = {
178
+ model,
179
+ messages: [
180
+ {
181
+ role: 'user',
182
+ content: this.buildPrompt(options),
183
+ },
184
+ ],
185
+ temperature: options.temperature ?? roleConfig.temperature ?? this.config?.defaults.temperature,
186
+ max_tokens: options.maxTokens ?? roleConfig.max_tokens ?? this.config?.defaults.max_tokens,
187
+ timeout_ms: this.config?.defaults.timeout_ms,
188
+ };
189
+ // Execute the completion
190
+ const response = await provider.complete(request);
191
+ // Handle session delegation response
192
+ if (isSessionDelegation(response)) {
193
+ return this.handleSessionDelegation(response);
194
+ }
195
+ // Extract text content from response
196
+ const textContent = response.content
197
+ .filter(block => block.type === 'text')
198
+ .map(block => block.text || '')
199
+ .join('\n');
200
+ const tokensUsed = response.usage
201
+ ? response.usage.input_tokens + response.usage.output_tokens
202
+ : undefined;
203
+ return {
204
+ output: textContent,
205
+ tokensUsed,
206
+ };
207
+ }
208
+ /**
209
+ * Build the prompt from invoke options
210
+ */
211
+ buildPrompt(options) {
212
+ let prompt = options.task;
213
+ if (options.context) {
214
+ prompt = `Context:\n${options.context}\n\nTask:\n${options.task}`;
215
+ }
216
+ return prompt;
217
+ }
218
+ /**
219
+ * Handle session delegation response
220
+ * Returns formatted instructions for the current Claude session
221
+ */
222
+ handleSessionDelegation(delegation) {
223
+ // For session delegation, we return the instructions as the output
224
+ // The calling Claude session will interpret these instructions
225
+ return {
226
+ output: delegation.instructions,
227
+ tokensUsed: 0, // No tokens used for session delegation
228
+ };
145
229
  }
146
230
  /**
147
231
  * List available providers
@@ -163,14 +247,35 @@ export class ProviderService {
163
247
  async testProvider(provider) {
164
248
  const startTime = Date.now();
165
249
  try {
166
- // TODO: Implement actual connectivity test
167
- console.error(`[ProviderService] Testing ${provider}...`);
250
+ // Check if provider is configured
251
+ if (!this.providerManager.isConfigured(provider)) {
252
+ return {
253
+ success: false,
254
+ latencyMs: Date.now() - startTime,
255
+ error: `Provider '${provider}' is not configured`,
256
+ };
257
+ }
258
+ // Get provider and run health check
259
+ const providerInstance = this.providerManager.get(provider);
260
+ await providerInstance.healthCheck();
261
+ // Update health tracking
262
+ this.storage.updateProviderHealth(provider, {
263
+ healthy: true,
264
+ lastCheck: Date.now(),
265
+ lastSuccess: Date.now(),
266
+ });
168
267
  return {
169
268
  success: true,
170
269
  latencyMs: Date.now() - startTime,
171
270
  };
172
271
  }
173
272
  catch (error) {
273
+ // Update health tracking
274
+ this.storage.updateProviderHealth(provider, {
275
+ healthy: false,
276
+ lastCheck: Date.now(),
277
+ lastError: error.message,
278
+ });
174
279
  return {
175
280
  success: false,
176
281
  latencyMs: Date.now() - startTime,
@@ -178,5 +283,24 @@ export class ProviderService {
178
283
  };
179
284
  }
180
285
  }
286
+ /**
287
+ * Test all configured providers
288
+ */
289
+ async testAllProviders() {
290
+ const results = new Map();
291
+ const providers = this.listProviders();
292
+ await Promise.all(providers.map(async (provider) => {
293
+ const result = await this.testProvider(provider);
294
+ results.set(provider, result);
295
+ }));
296
+ return results;
297
+ }
298
+ /**
299
+ * Get the underlying provider manager
300
+ * Useful for advanced use cases
301
+ */
302
+ getProviderManager() {
303
+ return this.providerManager;
304
+ }
181
305
  }
182
306
  //# sourceMappingURL=provider.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.service.js","sourceRoot":"","sources":["../../src/services/provider.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.service.js","sourceRoot":"","sources":["../../src/services/provider.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Demerzel RLM Engine
3
+ *
4
+ * Recursive Language Model engine for document analysis.
5
+ * Based on the Matryoshka RLM approach by Dmitri Sotnikov.
6
+ *
7
+ * The engine uses an LLM to generate Nucleus DSL commands that are
8
+ * executed against documents, enabling analysis of content far
9
+ * exceeding typical context limits.
10
+ *
11
+ * Ported from Argus to Foundation.
12
+ */
13
+ export interface AIProvider {
14
+ name: string;
15
+ complete(messages: Message[], options?: CompletionOptions): Promise<CompletionResult>;
16
+ }
17
+ export interface Message {
18
+ role: 'system' | 'user' | 'assistant';
19
+ content: string;
20
+ }
21
+ export interface CompletionOptions {
22
+ temperature?: number;
23
+ maxTokens?: number;
24
+ stopSequences?: string[];
25
+ }
26
+ export interface CompletionResult {
27
+ content: string;
28
+ finishReason?: 'stop' | 'length' | 'error';
29
+ usage?: {
30
+ promptTokens: number;
31
+ completionTokens: number;
32
+ totalTokens: number;
33
+ };
34
+ }
35
+ export interface AnalysisOptions {
36
+ maxTurns?: number;
37
+ turnTimeoutMs?: number;
38
+ verbose?: boolean;
39
+ onProgress?: (turn: number, command: string, result: unknown) => void;
40
+ }
41
+ export interface AnalysisResult {
42
+ answer: string;
43
+ turns: number;
44
+ commands: string[];
45
+ success: boolean;
46
+ error?: string;
47
+ }
48
+ interface GrepMatch {
49
+ match: string;
50
+ line: string;
51
+ lineNum: number;
52
+ index: number;
53
+ groups: string[];
54
+ }
55
+ /**
56
+ * Run RLM analysis on a document
57
+ */
58
+ export declare function analyze(provider: AIProvider, documentPath: string, query: string, options?: AnalysisOptions): Promise<AnalysisResult>;
59
+ /**
60
+ * Fast grep search without AI
61
+ */
62
+ export declare function searchDocument(documentPath: string, pattern: string, options?: {
63
+ caseInsensitive?: boolean;
64
+ maxResults?: number;
65
+ }): GrepMatch[];
66
+ export type { GrepMatch };
67
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/tools/demerzel/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACvF;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3C,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAuQD;;GAEG;AACH,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CA6JzB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/D,SAAS,EAAE,CA6Bb;AAGD,YAAY,EAAE,SAAS,EAAE,CAAC"}