@intella/sdk 0.0.1 → 0.0.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 (117) hide show
  1. package/README.md +6 -483
  2. package/dist/agent-manager.d.ts +47 -0
  3. package/dist/agent-manager.d.ts.map +1 -0
  4. package/dist/agent-manager.js +90 -0
  5. package/dist/agent-manager.js.map +1 -0
  6. package/dist/agents/base-agent.d.ts +41 -0
  7. package/dist/agents/base-agent.d.ts.map +1 -0
  8. package/dist/agents/base-agent.js +148 -0
  9. package/dist/agents/base-agent.js.map +1 -0
  10. package/dist/agents/claude-agent.d.ts +24 -0
  11. package/dist/agents/claude-agent.d.ts.map +1 -0
  12. package/dist/agents/claude-agent.js +65 -0
  13. package/dist/agents/claude-agent.js.map +1 -0
  14. package/dist/agents/codex-agent.d.ts +25 -0
  15. package/dist/agents/codex-agent.d.ts.map +1 -0
  16. package/dist/agents/codex-agent.js +62 -0
  17. package/dist/agents/codex-agent.js.map +1 -0
  18. package/dist/agents/intella-lite-agent.d.ts +21 -0
  19. package/dist/agents/intella-lite-agent.d.ts.map +1 -0
  20. package/dist/agents/intella-lite-agent.js +43 -0
  21. package/dist/agents/intella-lite-agent.js.map +1 -0
  22. package/dist/agents/opencode-agent.d.ts +20 -0
  23. package/dist/agents/opencode-agent.d.ts.map +1 -0
  24. package/dist/agents/opencode-agent.js +36 -0
  25. package/dist/agents/opencode-agent.js.map +1 -0
  26. package/dist/filesystem/base-provider.d.ts +55 -0
  27. package/dist/filesystem/base-provider.d.ts.map +1 -0
  28. package/dist/filesystem/base-provider.js +45 -0
  29. package/dist/filesystem/base-provider.js.map +1 -0
  30. package/dist/filesystem/index.d.ts +3 -0
  31. package/dist/filesystem/index.d.ts.map +1 -0
  32. package/{src/filesystem/index.ts → dist/filesystem/index.js} +1 -2
  33. package/dist/filesystem/index.js.map +1 -0
  34. package/dist/filesystem/memory-provider.d.ts +44 -0
  35. package/dist/filesystem/memory-provider.d.ts.map +1 -0
  36. package/dist/filesystem/memory-provider.js +227 -0
  37. package/dist/filesystem/memory-provider.js.map +1 -0
  38. package/dist/filesystem-manager.d.ts +75 -0
  39. package/dist/filesystem-manager.d.ts.map +1 -0
  40. package/dist/filesystem-manager.js +162 -0
  41. package/dist/filesystem-manager.js.map +1 -0
  42. package/dist/index.d.ts +18 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/{src/index.ts → dist/index.js} +4 -47
  45. package/dist/index.js.map +1 -0
  46. package/dist/orchestrator.d.ts +32 -0
  47. package/dist/orchestrator.d.ts.map +1 -0
  48. package/dist/orchestrator.js +137 -0
  49. package/dist/orchestrator.js.map +1 -0
  50. package/dist/sandbox/base-provider.d.ts +106 -0
  51. package/dist/sandbox/base-provider.d.ts.map +1 -0
  52. package/dist/sandbox/base-provider.js +74 -0
  53. package/dist/sandbox/base-provider.js.map +1 -0
  54. package/dist/sandbox/daytona-provider.d.ts +93 -0
  55. package/dist/sandbox/daytona-provider.d.ts.map +1 -0
  56. package/dist/sandbox/daytona-provider.js +378 -0
  57. package/dist/sandbox/daytona-provider.js.map +1 -0
  58. package/dist/sandbox/e2b-provider.d.ts +85 -0
  59. package/dist/sandbox/e2b-provider.d.ts.map +1 -0
  60. package/dist/sandbox/e2b-provider.js +363 -0
  61. package/dist/sandbox/e2b-provider.js.map +1 -0
  62. package/dist/sandbox/modal-provider.d.ts +92 -0
  63. package/dist/sandbox/modal-provider.d.ts.map +1 -0
  64. package/dist/sandbox/modal-provider.js +516 -0
  65. package/dist/sandbox/modal-provider.js.map +1 -0
  66. package/dist/sandbox-manager.d.ts +59 -0
  67. package/dist/sandbox-manager.d.ts.map +1 -0
  68. package/dist/sandbox-manager.js +141 -0
  69. package/dist/sandbox-manager.js.map +1 -0
  70. package/dist/sdk.d.ts +173 -0
  71. package/dist/sdk.d.ts.map +1 -0
  72. package/dist/sdk.js +277 -0
  73. package/dist/sdk.js.map +1 -0
  74. package/dist/types.d.ts +423 -0
  75. package/dist/types.d.ts.map +1 -0
  76. package/dist/types.js +2 -0
  77. package/dist/types.js.map +1 -0
  78. package/dist/utils/code-extractor.d.ts +103 -0
  79. package/dist/utils/code-extractor.d.ts.map +1 -0
  80. package/dist/utils/code-extractor.js +133 -0
  81. package/dist/utils/code-extractor.js.map +1 -0
  82. package/package.json +23 -11
  83. package/examples/claude-code/README.md +0 -178
  84. package/examples/claude-code/advanced-config.ts +0 -55
  85. package/examples/claude-code/basic-usage.ts +0 -56
  86. package/examples/claude-code/model-comparison.ts +0 -50
  87. package/examples/claude-code/orchestration.ts +0 -70
  88. package/examples/claude-code/streaming.ts +0 -69
  89. package/examples/claude-code/tsconfig.json +0 -19
  90. package/examples/code-extractor/README.md +0 -77
  91. package/examples/code-extractor/example.ts +0 -145
  92. package/examples/filesystem/basic-usage.ts +0 -84
  93. package/examples/integrated-task/README.md +0 -68
  94. package/examples/integrated-task/integrated-usage.ts +0 -193
  95. package/examples/integrated-task/simple-example.ts +0 -51
  96. package/examples/integrated-task/tsconfig.json +0 -19
  97. package/examples/sandbox/basic-usage.ts +0 -173
  98. package/src/agent-manager.ts +0 -104
  99. package/src/agents/base-agent.ts +0 -166
  100. package/src/agents/claude-agent.ts +0 -77
  101. package/src/agents/codex-agent.ts +0 -72
  102. package/src/agents/intella-lite-agent.ts +0 -55
  103. package/src/agents/opencode-agent.ts +0 -45
  104. package/src/filesystem/agentfs-provider.ts +0 -328
  105. package/src/filesystem/base-provider.ts +0 -98
  106. package/src/filesystem/memory-provider.ts +0 -267
  107. package/src/filesystem-manager.ts +0 -213
  108. package/src/orchestrator.ts +0 -177
  109. package/src/sandbox/base-provider.ts +0 -184
  110. package/src/sandbox/daytona-provider.ts +0 -462
  111. package/src/sandbox/e2b-provider.ts +0 -419
  112. package/src/sandbox/modal-provider.ts +0 -597
  113. package/src/sandbox-manager.ts +0 -175
  114. package/src/sdk.ts +0 -401
  115. package/src/types.ts +0 -451
  116. package/src/utils/code-extractor.ts +0 -194
  117. package/tsconfig.json +0 -25
@@ -0,0 +1,148 @@
1
+ import { generateText, streamText } from 'ai';
2
+ /**
3
+ * Abstract base class for all agents
4
+ * Provides common functionality using AI SDK v6
5
+ */
6
+ export class BaseAgent {
7
+ config;
8
+ type;
9
+ constructor(type, config = {}) {
10
+ this.type = type;
11
+ this.config = { ...config };
12
+ }
13
+ /**
14
+ * Execute a task and return the response
15
+ */
16
+ async execute(request) {
17
+ const model = await Promise.resolve(this.getModel());
18
+ const messages = this.buildMessages(request);
19
+ const result = await generateText({
20
+ model,
21
+ messages,
22
+ temperature: request.temperature ?? this.config.temperature,
23
+ maxOutputTokens: request.maxTokens ?? this.config.maxTokens,
24
+ });
25
+ return {
26
+ text: result.text,
27
+ agentType: this.type,
28
+ metadata: {
29
+ usage: result.usage,
30
+ finishReason: result.finishReason,
31
+ },
32
+ };
33
+ }
34
+ /**
35
+ * Stream a task execution
36
+ */
37
+ async *stream(request) {
38
+ const model = await Promise.resolve(this.getModel());
39
+ const messages = this.buildMessages(request);
40
+ const result = streamText({
41
+ model,
42
+ messages,
43
+ temperature: request.temperature ?? this.config.temperature,
44
+ maxOutputTokens: request.maxTokens ?? this.config.maxTokens,
45
+ });
46
+ let fullText = '';
47
+ for await (const chunk of result.fullStream) {
48
+ console.log('chunk', chunk);
49
+ let text = '';
50
+ if (chunk.type === 'text-delta' || 'text' in chunk) {
51
+ fullText += chunk.text;
52
+ text = chunk.text;
53
+ }
54
+ yield {
55
+ id: `chunk-${Date.now() * 1}`,
56
+ text: text,
57
+ agentType: this.type,
58
+ isDone: false,
59
+ };
60
+ }
61
+ // Final chunk to indicate completion
62
+ yield {
63
+ id: `chunk-${Date.now() * 1}`,
64
+ text: '',
65
+ agentType: this.type,
66
+ isDone: true,
67
+ };
68
+ }
69
+ /**
70
+ * Configure the agent
71
+ */
72
+ configure(config) {
73
+ this.config = { ...this.config, ...config };
74
+ }
75
+ /**
76
+ * Get current configuration
77
+ */
78
+ getConfig() {
79
+ return { ...this.config };
80
+ }
81
+ /**
82
+ * Convert TaskRequest content to AI SDK ModelMessage content format
83
+ */
84
+ convertContent(content) {
85
+ // If content is a string, return as-is
86
+ if (typeof content === 'string') {
87
+ return content;
88
+ }
89
+ // If content is an array, convert to AI SDK format
90
+ return content.map(part => {
91
+ if (part.type === 'text') {
92
+ return {
93
+ type: 'text',
94
+ text: part.text,
95
+ };
96
+ }
97
+ else if (part.type === 'file') {
98
+ return {
99
+ type: 'file',
100
+ data: part.data,
101
+ filename: part.filename,
102
+ mediaType: part.mediaType,
103
+ };
104
+ }
105
+ // Fallback for unknown types
106
+ return {
107
+ type: 'text',
108
+ text: String(part),
109
+ };
110
+ });
111
+ }
112
+ /**
113
+ * Build messages array from request
114
+ */
115
+ buildMessages(request) {
116
+ const messages = [];
117
+ // Add system prompt if provided
118
+ if (request.systemPrompt) {
119
+ messages.push({
120
+ role: 'system',
121
+ content: request.systemPrompt,
122
+ });
123
+ }
124
+ // Add previous messages if provided
125
+ if (request.messages && request.messages.length > 0) {
126
+ for (const msg of request.messages) {
127
+ // Skip system messages in the messages array (they're handled separately)
128
+ if (msg.role === 'system') {
129
+ continue;
130
+ }
131
+ messages.push({
132
+ role: msg.role,
133
+ content: this.convertContent(msg.content),
134
+ });
135
+ }
136
+ }
137
+ // Add the main prompt as user message (only if not empty)
138
+ // If prompt is empty, the message is likely already in the messages array
139
+ if (request.prompt && request.prompt.trim()) {
140
+ messages.push({
141
+ role: 'user',
142
+ content: request.prompt,
143
+ });
144
+ }
145
+ return messages;
146
+ }
147
+ }
148
+ //# sourceMappingURL=base-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { BaseAgent } from './base-agent.js';
2
+ import type { AgentConfig } from '../types.js';
3
+ import type { LanguageModel } from 'ai';
4
+ /**
5
+ * Claude Agent
6
+ * Powered by Claude Code provider
7
+ */
8
+ export declare class ClaudeAgent extends BaseAgent {
9
+ private modelInstance;
10
+ constructor(config?: AgentConfig);
11
+ /**
12
+ * Get or create the language model instance
13
+ *
14
+ * Supports Claude Code provider options:
15
+ * - allowedTools, disallowedTools, mcpServers, permissionMode, maxTurns, cwd, verbose
16
+ * See: https://ai-sdk.dev/providers/community-providers/claude-code
17
+ */
18
+ getModel(): Promise<LanguageModel>;
19
+ /**
20
+ * Override configure to reset model instance when config changes
21
+ */
22
+ configure(config: AgentConfig): void;
23
+ }
24
+ //# sourceMappingURL=claude-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../src/agents/claude-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAKxC;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,OAAO,CAAC,aAAa,CAA8B;gBAEvC,MAAM,GAAE,WAAgB;IAIpC;;;;;;OAMG;IACG,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IA0CxC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAKrC"}
@@ -0,0 +1,65 @@
1
+ import { BaseAgent } from './base-agent.js';
2
+ import { claudeCode, createClaudeCode } from 'ai-sdk-provider-claude-code';
3
+ /**
4
+ * Claude Agent
5
+ * Powered by Claude Code provider
6
+ */
7
+ export class ClaudeAgent extends BaseAgent {
8
+ modelInstance = null;
9
+ constructor(config = {}) {
10
+ super('claude', config);
11
+ }
12
+ /**
13
+ * Get or create the language model instance
14
+ *
15
+ * Supports Claude Code provider options:
16
+ * - allowedTools, disallowedTools, mcpServers, permissionMode, maxTurns, cwd, verbose
17
+ * See: https://ai-sdk.dev/providers/community-providers/claude-code
18
+ */
19
+ async getModel() {
20
+ if (!this.modelInstance) {
21
+ // Dynamic import to handle optional peer dependency
22
+ // Claude Code provider takes model ID as string parameter
23
+ // Uses CLI authentication (claude login) - API key not needed in code
24
+ // Model shortcuts: 'opus', 'sonnet', 'haiku'
25
+ const modelId = this.config.model || 'sonnet';
26
+ // Check if custom provider options are provided
27
+ const hasCustomOptions = this.config.allowedTools ||
28
+ this.config.disallowedTools ||
29
+ this.config.mcpServers ||
30
+ this.config.permissionMode ||
31
+ this.config.maxTurns ||
32
+ this.config.cwd !== undefined ||
33
+ this.config.verbose !== undefined;
34
+ if (hasCustomOptions) {
35
+ // Create custom provider instance with options
36
+ const customProvider = createClaudeCode({
37
+ defaultSettings: {
38
+ allowedTools: this.config.allowedTools,
39
+ disallowedTools: this.config.disallowedTools,
40
+ mcpServers: this.config.mcpServers,
41
+ permissionMode: this.config.permissionMode,
42
+ maxTurns: this.config.maxTurns,
43
+ cwd: this.config.cwd,
44
+ verbose: this.config.verbose,
45
+ }
46
+ });
47
+ this.modelInstance = customProvider(modelId);
48
+ }
49
+ else {
50
+ // Use default provider instance
51
+ this.modelInstance = claudeCode(modelId);
52
+ }
53
+ }
54
+ return this.modelInstance;
55
+ }
56
+ /**
57
+ * Override configure to reset model instance when config changes
58
+ */
59
+ configure(config) {
60
+ super.configure(config);
61
+ // Reset model instance so it's recreated with new config
62
+ this.modelInstance = null;
63
+ }
64
+ }
65
+ //# sourceMappingURL=claude-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-agent.js","sourceRoot":"","sources":["../../src/agents/claude-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAwB,MAAM,6BAA6B,CAAC;AAGjG;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAChC,aAAa,GAAyB,IAAI,CAAC;IAEnD,YAAY,SAAsB,EAAE;QAClC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,oDAAoD;YAEpD,0DAA0D;YAC1D,sEAAsE;YACtE,6CAA6C;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC;YAE9C,gDAAgD;YAChD,MAAM,gBAAgB,GACpB,IAAI,CAAC,MAAM,CAAC,YAAY;gBACxB,IAAI,CAAC,MAAM,CAAC,eAAe;gBAC3B,IAAI,CAAC,MAAM,CAAC,UAAU;gBACtB,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ;gBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;gBAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC;YAEpC,IAAI,gBAAgB,EAAE,CAAC;gBACrB,+CAA+C;gBAC/C,MAAM,cAAc,GAAG,gBAAgB,CAAC;oBACtC,eAAe,EAAE;wBACf,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAoC;wBAC9D,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAuC;wBACpE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAyD;wBACjF,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAsF;wBAClH,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAA8B;wBACpD,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAyB;wBAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAA8B;qBACpD;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,gCAAgC;gBAChC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAmB;QAC3B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,yDAAyD;QACzD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,25 @@
1
+ import { BaseAgent } from './base-agent.js';
2
+ import type { AgentConfig } from '../types.js';
3
+ import type { LanguageModel } from 'ai';
4
+ /**
5
+ * Codex Agent
6
+ * Powered by Codex CLI provider
7
+ */
8
+ export declare class CodexAgent extends BaseAgent {
9
+ private modelInstance;
10
+ constructor(config?: AgentConfig);
11
+ /**
12
+ * Get or create the language model instance
13
+ *
14
+ * Supports Codex CLI provider options:
15
+ * - reasoningEffort, approvalMode, sandboxMode, mcpServers, verbose, logger
16
+ * - Can use OPENAI_API_KEY environment variable for authentication
17
+ * See: https://ai-sdk.dev/providers/community-providers/codex-cli
18
+ */
19
+ getModel(): Promise<LanguageModel>;
20
+ /**
21
+ * Override configure to reset model instance when config changes
22
+ */
23
+ configure(config: AgentConfig): void;
24
+ }
25
+ //# sourceMappingURL=codex-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-agent.d.ts","sourceRoot":"","sources":["../../src/agents/codex-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC;;;GAGG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACvC,OAAO,CAAC,aAAa,CAA8B;gBAEvC,MAAM,GAAE,WAAgB;IAIpC;;;;;;;OAOG;IACG,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAuCxC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAKrC"}
@@ -0,0 +1,62 @@
1
+ import { BaseAgent } from './base-agent.js';
2
+ /**
3
+ * Codex Agent
4
+ * Powered by Codex CLI provider
5
+ */
6
+ export class CodexAgent extends BaseAgent {
7
+ modelInstance = null;
8
+ constructor(config = {}) {
9
+ super('codex', config);
10
+ }
11
+ /**
12
+ * Get or create the language model instance
13
+ *
14
+ * Supports Codex CLI provider options:
15
+ * - reasoningEffort, approvalMode, sandboxMode, mcpServers, verbose, logger
16
+ * - Can use OPENAI_API_KEY environment variable for authentication
17
+ * See: https://ai-sdk.dev/providers/community-providers/codex-cli
18
+ */
19
+ async getModel() {
20
+ if (!this.modelInstance) {
21
+ // Dynamic import to handle optional peer dependency
22
+ const { codexCli } = await import('ai-sdk-provider-codex-cli');
23
+ // Codex CLI provider takes model ID as string parameter
24
+ // Uses CLI authentication or OPENAI_API_KEY env var
25
+ // Current models: 'gpt-5.2-codex', 'gpt-5.2', 'gpt-5.1-codex-max', 'gpt-5.1-codex-mini'
26
+ const modelId = this.config.model || 'gpt-5.2-codex';
27
+ // Check if per-model settings are provided
28
+ const hasModelSettings = this.config.reasoningEffort !== undefined ||
29
+ this.config.approvalMode !== undefined ||
30
+ this.config.sandboxMode !== undefined ||
31
+ this.config.mcpServers !== undefined ||
32
+ this.config.verbose !== undefined ||
33
+ this.config.logger !== undefined;
34
+ if (hasModelSettings) {
35
+ // Pass settings as second parameter
36
+ // Using type assertion for flexibility with provider-specific types
37
+ this.modelInstance = codexCli(modelId, {
38
+ reasoningEffort: this.config.reasoningEffort,
39
+ approvalMode: this.config.approvalMode,
40
+ sandboxMode: this.config.sandboxMode,
41
+ mcpServers: this.config.mcpServers,
42
+ verbose: this.config.verbose,
43
+ logger: this.config.logger,
44
+ });
45
+ }
46
+ else {
47
+ // Create model instance without additional settings
48
+ this.modelInstance = codexCli(modelId);
49
+ }
50
+ }
51
+ return this.modelInstance;
52
+ }
53
+ /**
54
+ * Override configure to reset model instance when config changes
55
+ */
56
+ configure(config) {
57
+ super.configure(config);
58
+ // Reset model instance so it's recreated with new config
59
+ this.modelInstance = null;
60
+ }
61
+ }
62
+ //# sourceMappingURL=codex-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-agent.js","sourceRoot":"","sources":["../../src/agents/codex-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IAC/B,aAAa,GAAyB,IAAI,CAAC;IAEnD,YAAY,SAAsB,EAAE;QAClC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,oDAAoD;YACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAE/D,wDAAwD;YACxD,oDAAoD;YACpD,wFAAwF;YACxF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC;YAErD,2CAA2C;YAC3C,MAAM,gBAAgB,GACpB,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS;gBACzC,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;gBACtC,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;gBACrC,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS;gBACpC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;gBACjC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;YAEnC,IAAI,gBAAgB,EAAE,CAAC;gBACrB,oCAAoC;gBACpC,oEAAoE;gBACpE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,EAAE;oBACrC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAuF;oBACpH,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAA+E;oBACzG,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAiF;oBAC1G,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAiB;oBACzC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAA8B;oBACnD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAa;iBAC3B,CAAC,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,oDAAoD;gBACpD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAmB;QAC3B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,yDAAyD;QACzD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ import type { LanguageModel } from 'ai';
2
+ import { BaseAgent } from './base-agent.js';
3
+ import type { AgentConfig } from '../types.js';
4
+ /**
5
+ * Intella Lite Agent
6
+ * Lightweight default agent using OpenAI-compatible interface
7
+ * This is a separate implementation from Mielto
8
+ */
9
+ export declare class IntellaLiteAgent extends BaseAgent {
10
+ private modelInstance;
11
+ constructor(config?: AgentConfig);
12
+ /**
13
+ * Get or create the language model instance
14
+ */
15
+ getModel(): LanguageModel;
16
+ /**
17
+ * Override configure to reset model instance when config changes
18
+ */
19
+ configure(config: AgentConfig): void;
20
+ }
21
+ //# sourceMappingURL=intella-lite-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intella-lite-agent.d.ts","sourceRoot":"","sources":["../../src/agents/intella-lite-agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,OAAO,CAAC,aAAa,CAA8B;gBAEvC,MAAM,GAAE,WAAgB;IAIpC;;OAEG;IACH,QAAQ,IAAI,aAAa;IAyBzB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAKrC"}
@@ -0,0 +1,43 @@
1
+ import { createOpenAI } from '@ai-sdk/openai';
2
+ import { BaseAgent } from './base-agent.js';
3
+ /**
4
+ * Intella Lite Agent
5
+ * Lightweight default agent using OpenAI-compatible interface
6
+ * This is a separate implementation from Mielto
7
+ */
8
+ export class IntellaLiteAgent extends BaseAgent {
9
+ modelInstance = null;
10
+ constructor(config = {}) {
11
+ super('intella-lite', config);
12
+ }
13
+ /**
14
+ * Get or create the language model instance
15
+ */
16
+ getModel() {
17
+ if (!this.modelInstance) {
18
+ // Use OpenAI provider as base for Intella Lite
19
+ // Default to a lightweight model if not specified
20
+ const modelId = this.config.model || 'gpt-4o-mini';
21
+ const apiKey = this.config.apiKey || process.env.OPENAI_API_KEY;
22
+ if (!apiKey) {
23
+ throw new Error('OpenAI API key is required for Intella Lite agent. Set OPENAI_API_KEY environment variable or provide apiKey in config.');
24
+ }
25
+ const provider = createOpenAI({
26
+ apiKey,
27
+ baseURL: this.config.baseURL || process.env.OPENAI_BASE_URL,
28
+ headers: this.config.headers,
29
+ });
30
+ this.modelInstance = provider.chat(modelId);
31
+ }
32
+ return this.modelInstance;
33
+ }
34
+ /**
35
+ * Override configure to reset model instance when config changes
36
+ */
37
+ configure(config) {
38
+ super.configure(config);
39
+ // Reset model instance so it's recreated with new config
40
+ this.modelInstance = null;
41
+ }
42
+ }
43
+ //# sourceMappingURL=intella-lite-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intella-lite-agent.js","sourceRoot":"","sources":["../../src/agents/intella-lite-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IACrC,aAAa,GAAyB,IAAI,CAAC;IAEnD,YAAY,SAAsB,EAAE;QAClC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,+CAA+C;YAC/C,kDAAkD;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC;YAEnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;YAChE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,yHAAyH,CAC1H,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC;gBAC5B,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;gBAC3D,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;aAC7B,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAmB;QAC3B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,yDAAyD;QACzD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { BaseAgent } from './base-agent.js';
2
+ import type { AgentConfig } from '../types.js';
3
+ import type { LanguageModel } from 'ai';
4
+ /**
5
+ * OpenCode Agent
6
+ * Powered by OpenCode SDK provider
7
+ */
8
+ export declare class OpenCodeAgent extends BaseAgent {
9
+ private modelInstance;
10
+ constructor(config?: AgentConfig);
11
+ /**
12
+ * Get or create the language model instance
13
+ */
14
+ getModel(): Promise<LanguageModel>;
15
+ /**
16
+ * Override configure to reset model instance when config changes
17
+ */
18
+ configure(config: AgentConfig): void;
19
+ }
20
+ //# sourceMappingURL=opencode-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-agent.d.ts","sourceRoot":"","sources":["../../src/agents/opencode-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAGxC;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,OAAO,CAAC,aAAa,CAA8B;gBAEvC,MAAM,GAAE,WAAgB;IAIpC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAiBxC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAKrC"}
@@ -0,0 +1,36 @@
1
+ import { BaseAgent } from './base-agent.js';
2
+ import { opencode } from 'ai-sdk-provider-opencode-sdk';
3
+ /**
4
+ * OpenCode Agent
5
+ * Powered by OpenCode SDK provider
6
+ */
7
+ export class OpenCodeAgent extends BaseAgent {
8
+ modelInstance = null;
9
+ constructor(config = {}) {
10
+ super('opencode', config);
11
+ }
12
+ /**
13
+ * Get or create the language model instance
14
+ */
15
+ async getModel() {
16
+ if (!this.modelInstance) {
17
+ // Dynamic import to handle optional peer dependency
18
+ // OpenCode provider takes model ID as string parameter
19
+ // Uses CLI authentication (opencode login) - API key not needed in code
20
+ // Model format: 'provider/model-id' (e.g., 'anthropic/claude-sonnet-4-5-20250929')
21
+ const modelId = this.config.model || 'anthropic/claude-sonnet-4-5-20250929';
22
+ // Create model instance directly
23
+ this.modelInstance = opencode(modelId);
24
+ }
25
+ return this.modelInstance;
26
+ }
27
+ /**
28
+ * Override configure to reset model instance when config changes
29
+ */
30
+ configure(config) {
31
+ super.configure(config);
32
+ // Reset model instance so it's recreated with new config
33
+ this.modelInstance = null;
34
+ }
35
+ }
36
+ //# sourceMappingURL=opencode-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-agent.js","sourceRoot":"","sources":["../../src/agents/opencode-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAClC,aAAa,GAAyB,IAAI,CAAC;IAEnD,YAAY,SAAsB,EAAE;QAClC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,oDAAoD;YAGpD,uDAAuD;YACvD,wEAAwE;YACxE,mFAAmF;YACnF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,sCAAsC,CAAC;YAE5E,iCAAiC;YACjC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAmB;QAC3B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,yDAAyD;QACzD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,55 @@
1
+ import type { FilesystemProviderType, FilesystemConfig, FileStats, DirectoryEntry, ToolCallMetadata, IFilesystemProvider } from '../types.js';
2
+ /**
3
+ * Base filesystem provider
4
+ * Abstract implementation that provides common functionality
5
+ */
6
+ export declare abstract class BaseFilesystemProvider implements IFilesystemProvider {
7
+ protected initialized: boolean;
8
+ protected config: FilesystemConfig;
9
+ readonly type: FilesystemProviderType;
10
+ constructor(type: FilesystemProviderType);
11
+ /**
12
+ * Initialize the filesystem
13
+ */
14
+ abstract initialize(config?: FilesystemConfig): Promise<void>;
15
+ /**
16
+ * Check if filesystem is initialized
17
+ */
18
+ isInitialized(): boolean;
19
+ /**
20
+ * Close/cleanup the filesystem
21
+ */
22
+ abstract close(): Promise<void>;
23
+ abstract readFile(path: string): Promise<Buffer | string>;
24
+ abstract writeFile(path: string, data: Buffer | string): Promise<void>;
25
+ abstract appendFile(path: string, data: Buffer | string): Promise<void>;
26
+ abstract exists(path: string): Promise<boolean>;
27
+ abstract stat(path: string): Promise<FileStats>;
28
+ abstract readdir(path: string): Promise<DirectoryEntry[]>;
29
+ abstract mkdir(path: string, recursive?: boolean): Promise<void>;
30
+ abstract unlink(path: string, recursive?: boolean): Promise<void>;
31
+ abstract copy(src: string, dest: string): Promise<void>;
32
+ abstract move(src: string, dest: string): Promise<void>;
33
+ abstract get(key: string): Promise<unknown>;
34
+ abstract set(key: string, value: unknown): Promise<void>;
35
+ abstract delete(key: string): Promise<void>;
36
+ abstract listKeys(prefix?: string): Promise<string[]>;
37
+ abstract hasKey(key: string): Promise<boolean>;
38
+ abstract recordToolCall(metadata: ToolCallMetadata): Promise<void>;
39
+ abstract getToolCallHistory(filter?: {
40
+ tool?: string;
41
+ status?: ToolCallMetadata['status'];
42
+ since?: number;
43
+ until?: number;
44
+ limit?: number;
45
+ }): Promise<ToolCallMetadata[]>;
46
+ /**
47
+ * Normalize path (remove leading/trailing slashes, handle ..)
48
+ */
49
+ protected normalizePath(path: string): string;
50
+ /**
51
+ * Ensure filesystem is initialized before operation
52
+ */
53
+ protected ensureInitialized(): void;
54
+ }
55
+ //# sourceMappingURL=base-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-provider.d.ts","sourceRoot":"","sources":["../../src/filesystem/base-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Base filesystem provider
3
+ * Abstract implementation that provides common functionality
4
+ */
5
+ export class BaseFilesystemProvider {
6
+ initialized = false;
7
+ config = {};
8
+ type;
9
+ constructor(type) {
10
+ this.type = type;
11
+ }
12
+ /**
13
+ * Check if filesystem is initialized
14
+ */
15
+ isInitialized() {
16
+ return this.initialized;
17
+ }
18
+ /**
19
+ * Normalize path (remove leading/trailing slashes, handle ..)
20
+ */
21
+ normalizePath(path) {
22
+ return path
23
+ .split('/')
24
+ .filter((segment) => segment !== '' && segment !== '.')
25
+ .reduce((acc, segment) => {
26
+ if (segment === '..') {
27
+ acc.pop();
28
+ }
29
+ else {
30
+ acc.push(segment);
31
+ }
32
+ return acc;
33
+ }, [])
34
+ .join('/');
35
+ }
36
+ /**
37
+ * Ensure filesystem is initialized before operation
38
+ */
39
+ ensureInitialized() {
40
+ if (!this.initialized) {
41
+ throw new Error(`Filesystem provider ${this.type} is not initialized. Call initialize() first.`);
42
+ }
43
+ }
44
+ }
45
+ //# sourceMappingURL=base-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../src/filesystem/base-provider.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,OAAgB,sBAAsB;IAChC,WAAW,GAAG,KAAK,CAAC;IACpB,MAAM,GAAqB,EAAE,CAAC;IACxB,IAAI,CAAyB;IAE7C,YAAY,IAA4B;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAOD;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAoCD;;OAEG;IACO,aAAa,CAAC,IAAY;QAClC,OAAO,IAAI;aACR,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,CAAC;aACtD,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACvB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAc,CAAC;aACjB,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACO,iBAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,CAAC,IAAI,+CAA+C,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export { BaseFilesystemProvider } from './base-provider.js';
2
+ export { MemoryFilesystemProvider } from './memory-provider.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filesystem/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  // Provider exports
2
2
  export { BaseFilesystemProvider } from './base-provider.js';
3
- export { AgentFSProvider } from './agentfs-provider.js';
4
3
  export { MemoryFilesystemProvider } from './memory-provider.js';
5
-
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/filesystem/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC"}