@alisio/core 0.1.0-alpha.3

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 (71) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/dist/application.d.ts +192 -0
  4. package/dist/application.js +764 -0
  5. package/dist/config.d.ts +420 -0
  6. package/dist/config.js +416 -0
  7. package/dist/core/compaction.d.ts +48 -0
  8. package/dist/core/compaction.js +206 -0
  9. package/dist/core/contracts.d.ts +141 -0
  10. package/dist/core/contracts.js +1 -0
  11. package/dist/core/registry.d.ts +8 -0
  12. package/dist/core/registry.js +54 -0
  13. package/dist/core/runner.d.ts +121 -0
  14. package/dist/core/runner.js +543 -0
  15. package/dist/extensions/registry.d.ts +28 -0
  16. package/dist/extensions/registry.js +58 -0
  17. package/dist/index.d.ts +28 -0
  18. package/dist/index.js +27 -0
  19. package/dist/integrations/herdr.d.ts +34 -0
  20. package/dist/integrations/herdr.js +174 -0
  21. package/dist/mcp/connector.d.ts +63 -0
  22. package/dist/mcp/connector.js +384 -0
  23. package/dist/plugins/host.d.ts +164 -0
  24. package/dist/plugins/host.js +572 -0
  25. package/dist/providers/openai-compatible.d.ts +14 -0
  26. package/dist/providers/openai-compatible.js +228 -0
  27. package/dist/providers/registry.d.ts +35 -0
  28. package/dist/providers/registry.js +74 -0
  29. package/dist/providers/routing.d.ts +11 -0
  30. package/dist/providers/routing.js +41 -0
  31. package/dist/providers/settings.d.ts +30 -0
  32. package/dist/providers/settings.js +80 -0
  33. package/dist/resources/context.d.ts +39 -0
  34. package/dist/resources/context.js +164 -0
  35. package/dist/resources/prompts.d.ts +77 -0
  36. package/dist/resources/prompts.js +182 -0
  37. package/dist/resources/skills.d.ts +82 -0
  38. package/dist/resources/skills.js +214 -0
  39. package/dist/runtime/fs.d.ts +9 -0
  40. package/dist/runtime/fs.js +73 -0
  41. package/dist/runtime/modules.d.ts +14 -0
  42. package/dist/runtime/modules.js +76 -0
  43. package/dist/runtime/paths.d.ts +4 -0
  44. package/dist/runtime/paths.js +42 -0
  45. package/dist/runtime/process.d.ts +16 -0
  46. package/dist/runtime/process.js +104 -0
  47. package/dist/runtime/sqlite.d.ts +3 -0
  48. package/dist/runtime/sqlite.js +85 -0
  49. package/dist/runtime/store.d.ts +37 -0
  50. package/dist/runtime/store.js +250 -0
  51. package/dist/sessions/children.d.ts +55 -0
  52. package/dist/sessions/children.js +231 -0
  53. package/dist/startup/index.d.ts +41 -0
  54. package/dist/startup/index.js +105 -0
  55. package/dist/startup/mascot.d.ts +6 -0
  56. package/dist/startup/mascot.js +30 -0
  57. package/dist/startup/screen.d.ts +18 -0
  58. package/dist/startup/screen.js +116 -0
  59. package/dist/startup/text.d.ts +19 -0
  60. package/dist/startup/text.js +68 -0
  61. package/dist/tools/execute.d.ts +16 -0
  62. package/dist/tools/execute.js +96 -0
  63. package/dist/tools/search.d.ts +69 -0
  64. package/dist/tools/search.js +232 -0
  65. package/dist/tools/standard.d.ts +22 -0
  66. package/dist/tools/standard.js +408 -0
  67. package/dist/tools/webfetch.d.ts +26 -0
  68. package/dist/tools/webfetch.js +119 -0
  69. package/dist/trust.d.ts +34 -0
  70. package/dist/trust.js +113 -0
  71. package/package.json +62 -0
@@ -0,0 +1,420 @@
1
+ import { z } from "zod";
2
+ declare const serverSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ transport: z.ZodLiteral<"stdio">;
4
+ enabled: z.ZodDefault<z.ZodBoolean>;
5
+ command: z.ZodString;
6
+ args: z.ZodDefault<z.ZodArray<z.ZodString>>;
7
+ envAllow: z.ZodDefault<z.ZodArray<z.ZodString>>;
8
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
9
+ }, z.core.$strict>, z.ZodObject<{
10
+ transport: z.ZodLiteral<"http">;
11
+ enabled: z.ZodDefault<z.ZodBoolean>;
12
+ url: z.ZodString;
13
+ bearerTokenEnv: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$strict>], "transport">;
15
+ export declare const configSchema: z.ZodPipe<z.ZodObject<{
16
+ schemaVersion: z.ZodDefault<z.ZodLiteral<1>>;
17
+ provider: z.ZodDefault<z.ZodObject<{
18
+ baseURL: z.ZodDefault<z.ZodURL>;
19
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
20
+ model: z.ZodDefault<z.ZodString>;
21
+ apiMode: z.ZodDefault<z.ZodEnum<{
22
+ chat: "chat";
23
+ responses: "responses";
24
+ }>>;
25
+ auth: z.ZodDefault<z.ZodEnum<{
26
+ bearer: "bearer";
27
+ none: "none";
28
+ }>>;
29
+ tokenParameter: z.ZodDefault<z.ZodEnum<{
30
+ max_completion_tokens: "max_completion_tokens";
31
+ max_tokens: "max_tokens";
32
+ omit: "omit";
33
+ }>>;
34
+ streamUsage: z.ZodDefault<z.ZodBoolean>;
35
+ contextWindow: z.ZodOptional<z.ZodNumber>;
36
+ }, z.core.$strict>>;
37
+ plugins: z.ZodDefault<z.ZodArray<z.ZodString>>;
38
+ skills: z.ZodDefault<z.ZodArray<z.ZodString>>;
39
+ skillOverrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
40
+ enabled: z.ZodBoolean;
41
+ }, z.core.$strict>>>;
42
+ mcp: z.ZodDefault<z.ZodObject<{
43
+ servers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
44
+ transport: z.ZodLiteral<"stdio">;
45
+ enabled: z.ZodDefault<z.ZodBoolean>;
46
+ command: z.ZodString;
47
+ args: z.ZodDefault<z.ZodArray<z.ZodString>>;
48
+ envAllow: z.ZodDefault<z.ZodArray<z.ZodString>>;
49
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
50
+ }, z.core.$strict>, z.ZodObject<{
51
+ transport: z.ZodLiteral<"http">;
52
+ enabled: z.ZodDefault<z.ZodBoolean>;
53
+ url: z.ZodString;
54
+ bearerTokenEnv: z.ZodOptional<z.ZodString>;
55
+ }, z.core.$strict>], "transport">, z.ZodPipe<z.ZodObject<{
56
+ command: z.ZodString;
57
+ enabled: z.ZodDefault<z.ZodBoolean>;
58
+ args: z.ZodDefault<z.ZodArray<z.ZodString>>;
59
+ envAllow: z.ZodDefault<z.ZodArray<z.ZodString>>;
60
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
61
+ }, z.core.$strict>, z.ZodTransform<{
62
+ command: string;
63
+ enabled: boolean;
64
+ args: string[];
65
+ envAllow: string[];
66
+ env: Record<string, string>;
67
+ transport: "stdio";
68
+ }, {
69
+ command: string;
70
+ enabled: boolean;
71
+ args: string[];
72
+ envAllow: string[];
73
+ env: Record<string, string>;
74
+ }>>, z.ZodPipe<z.ZodObject<{
75
+ url: z.ZodString;
76
+ enabled: z.ZodDefault<z.ZodBoolean>;
77
+ bearerTokenEnv: z.ZodOptional<z.ZodString>;
78
+ }, z.core.$strict>, z.ZodTransform<{
79
+ url: string;
80
+ enabled: boolean;
81
+ bearerTokenEnv?: string | undefined;
82
+ transport: "http";
83
+ }, {
84
+ url: string;
85
+ enabled: boolean;
86
+ bearerTokenEnv?: string | undefined;
87
+ }>>]>>>;
88
+ }, z.core.$strict>>;
89
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
90
+ transport: z.ZodLiteral<"stdio">;
91
+ enabled: z.ZodDefault<z.ZodBoolean>;
92
+ command: z.ZodString;
93
+ args: z.ZodDefault<z.ZodArray<z.ZodString>>;
94
+ envAllow: z.ZodDefault<z.ZodArray<z.ZodString>>;
95
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
96
+ }, z.core.$strict>, z.ZodObject<{
97
+ transport: z.ZodLiteral<"http">;
98
+ enabled: z.ZodDefault<z.ZodBoolean>;
99
+ url: z.ZodString;
100
+ bearerTokenEnv: z.ZodOptional<z.ZodString>;
101
+ }, z.core.$strict>], "transport">, z.ZodPipe<z.ZodObject<{
102
+ command: z.ZodString;
103
+ enabled: z.ZodDefault<z.ZodBoolean>;
104
+ args: z.ZodDefault<z.ZodArray<z.ZodString>>;
105
+ envAllow: z.ZodDefault<z.ZodArray<z.ZodString>>;
106
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
107
+ }, z.core.$strict>, z.ZodTransform<{
108
+ command: string;
109
+ enabled: boolean;
110
+ args: string[];
111
+ envAllow: string[];
112
+ env: Record<string, string>;
113
+ transport: "stdio";
114
+ }, {
115
+ command: string;
116
+ enabled: boolean;
117
+ args: string[];
118
+ envAllow: string[];
119
+ env: Record<string, string>;
120
+ }>>, z.ZodPipe<z.ZodObject<{
121
+ url: z.ZodString;
122
+ enabled: z.ZodDefault<z.ZodBoolean>;
123
+ bearerTokenEnv: z.ZodOptional<z.ZodString>;
124
+ }, z.core.$strict>, z.ZodTransform<{
125
+ url: string;
126
+ enabled: boolean;
127
+ bearerTokenEnv?: string | undefined;
128
+ transport: "http";
129
+ }, {
130
+ url: string;
131
+ enabled: boolean;
132
+ bearerTokenEnv?: string | undefined;
133
+ }>>]>>>;
134
+ builtinPlugins: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
135
+ enabled: z.ZodOptional<z.ZodBoolean>;
136
+ }, z.core.$loose>>>;
137
+ pluginOverrides: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
138
+ enabled: z.ZodBoolean;
139
+ }, z.core.$strict>>>;
140
+ pluginHooks: z.ZodDefault<z.ZodObject<{
141
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
142
+ sessionEndTimeoutMs: z.ZodDefault<z.ZodNumber>;
143
+ }, z.core.$strict>>;
144
+ context: z.ZodDefault<z.ZodObject<{
145
+ claudeMdFallback: z.ZodDefault<z.ZodBoolean>;
146
+ maxBytes: z.ZodDefault<z.ZodNumber>;
147
+ }, z.core.$strict>>;
148
+ compaction: z.ZodDefault<z.ZodObject<{
149
+ auto: z.ZodDefault<z.ZodBoolean>;
150
+ threshold: z.ZodDefault<z.ZodNumber>;
151
+ keepTurns: z.ZodDefault<z.ZodNumber>;
152
+ }, z.core.$strict>>;
153
+ websearch: z.ZodDefault<z.ZodObject<{
154
+ provider: z.ZodOptional<z.ZodEnum<{
155
+ brave: "brave";
156
+ "duckduckgo-instant": "duckduckgo-instant";
157
+ native: "native";
158
+ searxng: "searxng";
159
+ serpapi: "serpapi";
160
+ tavily: "tavily";
161
+ }>>;
162
+ searxngUrl: z.ZodOptional<z.ZodString>;
163
+ apiKeyEnv: z.ZodOptional<z.ZodString>;
164
+ nativeToolType: z.ZodDefault<z.ZodString>;
165
+ }, z.core.$strict>>;
166
+ limits: z.ZodDefault<z.ZodObject<{
167
+ maxTurns: z.ZodDefault<z.ZodNumber>;
168
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
169
+ maxContextChars: z.ZodDefault<z.ZodNumber>;
170
+ maxOutputTokens: z.ZodDefault<z.ZodNumber>;
171
+ maxTokens: z.ZodOptional<z.ZodNumber>;
172
+ }, z.core.$strip>>;
173
+ }, z.core.$strict>, z.ZodTransform<{
174
+ schemaVersion: 1;
175
+ provider: {
176
+ baseURL: string;
177
+ apiKeyEnv: string;
178
+ model: string;
179
+ apiMode: "chat" | "responses";
180
+ auth: "bearer" | "none";
181
+ tokenParameter: "max_completion_tokens" | "max_tokens" | "omit";
182
+ streamUsage: boolean;
183
+ contextWindow?: number | undefined;
184
+ };
185
+ plugins: string[];
186
+ skills: string[];
187
+ skillOverrides: Record<string, {
188
+ enabled: boolean;
189
+ }>;
190
+ builtinPlugins: Record<string, {
191
+ [x: string]: unknown;
192
+ enabled?: boolean | undefined;
193
+ }>;
194
+ pluginOverrides: Record<string, {
195
+ enabled: boolean;
196
+ }>;
197
+ pluginHooks: {
198
+ timeoutMs: number;
199
+ sessionEndTimeoutMs: number;
200
+ };
201
+ context: {
202
+ claudeMdFallback: boolean;
203
+ maxBytes: number;
204
+ };
205
+ compaction: {
206
+ auto: boolean;
207
+ threshold: number;
208
+ keepTurns: number;
209
+ };
210
+ websearch: {
211
+ provider?: "brave" | "duckduckgo-instant" | "native" | "searxng" | "serpapi" | "tavily" | undefined;
212
+ searxngUrl?: string | undefined;
213
+ apiKeyEnv?: string | undefined;
214
+ nativeToolType: string;
215
+ };
216
+ limits: {
217
+ maxTurns: number;
218
+ timeoutMs: number;
219
+ maxContextChars: number;
220
+ maxOutputTokens: number;
221
+ maxTokens?: number | undefined;
222
+ };
223
+ mcp: {
224
+ servers: {
225
+ [x: string]: {
226
+ transport: "stdio";
227
+ enabled: boolean;
228
+ command: string;
229
+ args: string[];
230
+ envAllow: string[];
231
+ env: Record<string, string>;
232
+ } | {
233
+ transport: "http";
234
+ enabled: boolean;
235
+ url: string;
236
+ bearerTokenEnv?: string | undefined;
237
+ } | {
238
+ command: string;
239
+ enabled: boolean;
240
+ args: string[];
241
+ envAllow: string[];
242
+ env: Record<string, string>;
243
+ transport: "stdio";
244
+ } | {
245
+ url: string;
246
+ enabled: boolean;
247
+ bearerTokenEnv?: string | undefined;
248
+ transport: "http";
249
+ };
250
+ };
251
+ };
252
+ }, {
253
+ schemaVersion: 1;
254
+ provider: {
255
+ baseURL: string;
256
+ apiKeyEnv: string;
257
+ model: string;
258
+ apiMode: "chat" | "responses";
259
+ auth: "bearer" | "none";
260
+ tokenParameter: "max_completion_tokens" | "max_tokens" | "omit";
261
+ streamUsage: boolean;
262
+ contextWindow?: number | undefined;
263
+ };
264
+ plugins: string[];
265
+ skills: string[];
266
+ skillOverrides: Record<string, {
267
+ enabled: boolean;
268
+ }>;
269
+ mcp: {
270
+ servers: Record<string, {
271
+ transport: "stdio";
272
+ enabled: boolean;
273
+ command: string;
274
+ args: string[];
275
+ envAllow: string[];
276
+ env: Record<string, string>;
277
+ } | {
278
+ transport: "http";
279
+ enabled: boolean;
280
+ url: string;
281
+ bearerTokenEnv?: string | undefined;
282
+ } | {
283
+ command: string;
284
+ enabled: boolean;
285
+ args: string[];
286
+ envAllow: string[];
287
+ env: Record<string, string>;
288
+ transport: "stdio";
289
+ } | {
290
+ url: string;
291
+ enabled: boolean;
292
+ bearerTokenEnv?: string | undefined;
293
+ transport: "http";
294
+ }>;
295
+ };
296
+ mcpServers?: Record<string, {
297
+ transport: "stdio";
298
+ enabled: boolean;
299
+ command: string;
300
+ args: string[];
301
+ envAllow: string[];
302
+ env: Record<string, string>;
303
+ } | {
304
+ transport: "http";
305
+ enabled: boolean;
306
+ url: string;
307
+ bearerTokenEnv?: string | undefined;
308
+ } | {
309
+ command: string;
310
+ enabled: boolean;
311
+ args: string[];
312
+ envAllow: string[];
313
+ env: Record<string, string>;
314
+ transport: "stdio";
315
+ } | {
316
+ url: string;
317
+ enabled: boolean;
318
+ bearerTokenEnv?: string | undefined;
319
+ transport: "http";
320
+ }> | undefined;
321
+ builtinPlugins: Record<string, {
322
+ [x: string]: unknown;
323
+ enabled?: boolean | undefined;
324
+ }>;
325
+ pluginOverrides: Record<string, {
326
+ enabled: boolean;
327
+ }>;
328
+ pluginHooks: {
329
+ timeoutMs: number;
330
+ sessionEndTimeoutMs: number;
331
+ };
332
+ context: {
333
+ claudeMdFallback: boolean;
334
+ maxBytes: number;
335
+ };
336
+ compaction: {
337
+ auto: boolean;
338
+ threshold: number;
339
+ keepTurns: number;
340
+ };
341
+ websearch: {
342
+ provider?: "brave" | "duckduckgo-instant" | "native" | "searxng" | "serpapi" | "tavily" | undefined;
343
+ searxngUrl?: string | undefined;
344
+ apiKeyEnv?: string | undefined;
345
+ nativeToolType: string;
346
+ };
347
+ limits: {
348
+ maxTurns: number;
349
+ timeoutMs: number;
350
+ maxContextChars: number;
351
+ maxOutputTokens: number;
352
+ maxTokens?: number | undefined;
353
+ };
354
+ }>>;
355
+ export type Config = z.infer<typeof configSchema>;
356
+ export type ServerConfig = z.infer<typeof serverSchema>;
357
+ export type McpServerSourceKind = "global" | "project" | "explicit" | "builtin" | "plugin";
358
+ export interface McpServerSource {
359
+ kind: McpServerSourceKind;
360
+ file?: string;
361
+ form: "canonical" | "alias";
362
+ }
363
+ export type LoadedConfig = Config & {
364
+ mcpSources: Record<string, McpServerSource>;
365
+ };
366
+ export interface ConfigProvenance {
367
+ selectedLayer?: {
368
+ kind: "project" | "explicit";
369
+ hasLegacyProvider: boolean;
370
+ };
371
+ }
372
+ export interface ConfigLoadResult {
373
+ config: LoadedConfig;
374
+ provenance: ConfigProvenance;
375
+ }
376
+ /** Whether legacy provider selection should take priority over a saved plugin profile for this run. */
377
+ export declare function overridesSavedProviderProfile(provenance: ConfigProvenance, hasEndpointOverride: boolean): boolean;
378
+ export declare const configHome: () => string;
379
+ export declare const stateHome: () => string;
380
+ /** Highest-priority configuration file selected for a workspace (it may not exist). */
381
+ export declare function configFile(workspace: string, options?: {
382
+ file?: string;
383
+ trustProject?: boolean;
384
+ }): string;
385
+ export declare function loadConfigWithProvenance(workspace: string, options?: {
386
+ file?: string;
387
+ trustProject?: boolean;
388
+ baseURL?: string;
389
+ model?: string;
390
+ apiMode?: string;
391
+ }): Promise<ConfigLoadResult>;
392
+ export declare function loadConfig(workspace: string, options?: {
393
+ file?: string;
394
+ trustProject?: boolean;
395
+ baseURL?: string;
396
+ model?: string;
397
+ apiMode?: string;
398
+ }): Promise<LoadedConfig>;
399
+ /** Atomically toggles one MCP server in the form and file that defined it. */
400
+ export declare function setMcpServerEnabled(input: {
401
+ source: McpServerSource;
402
+ name: string;
403
+ enabled: boolean;
404
+ }): Promise<string>;
405
+ /** Atomically updates one project plugin override while preserving every unrelated JSON field. */
406
+ export declare function setProjectPluginEnabled(input: {
407
+ workspace: string;
408
+ id: string;
409
+ enabled: boolean;
410
+ builtin: boolean;
411
+ trusted: boolean;
412
+ }): Promise<string>;
413
+ /** Atomically updates one project skill override while preserving every unrelated JSON field. */
414
+ export declare function setProjectSkillEnabled(input: {
415
+ workspace: string;
416
+ id: string;
417
+ enabled: boolean;
418
+ trusted: boolean;
419
+ }): Promise<string>;
420
+ export {};