@fastino-ai/pioneer-cli 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Pioneer CLI
2
2
 
3
- Command-line interface for the Pioneer AI training platform.
3
+ Command-line interface for the Pioneer AI training platform with an intelligent chat agent.
4
4
 
5
5
  ```
6
6
  ██████╗ ██╗ ██████╗ ███╗ ██╗███████╗███████╗██████╗
@@ -11,6 +11,14 @@ Command-line interface for the Pioneer AI training platform.
11
11
  ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝╚══════╝╚═╝ ╚═╝
12
12
  ```
13
13
 
14
+ ## Features
15
+
16
+ - **Interactive Chat Agent**: Claude Code-like experience with bash execution, file operations, and code sandbox
17
+ - **ML Integrations**: Modal.com for serverless GPU compute, Weights & Biases for experiment tracking
18
+ - **Self-Evolution**: Autonomous self-improvement with feedback collection and model fine-tuning
19
+ - **Budget Management**: Token, time, and cost tracking with configurable limits
20
+ - **Pioneer Platform**: Full access to Pioneer AI training platform APIs
21
+
14
22
  ## Installation
15
23
 
16
24
  ### Quick Install (requires Bun)
@@ -34,18 +42,117 @@ bun install
34
42
  bun run src/index.tsx --help
35
43
  ```
36
44
 
37
- ### npm (coming soon)
45
+ ## Chat Agent
46
+
47
+ The chat agent provides a Claude Code-like experience with powerful capabilities:
48
+
49
+ ### Starting the Chat
50
+
51
+ ```bash
52
+ # Interactive chat mode
53
+ pioneer chat
54
+
55
+ # With specific provider/model
56
+ pioneer chat --provider anthropic --model claude-sonnet-4-20250514
57
+ pioneer chat --provider openai --model gpt-4o
58
+
59
+ # Run a single command
60
+ pioneer chat --message "Create a Python script that analyzes CSV files"
61
+ ```
62
+
63
+ ### Capabilities
64
+
65
+ | Capability | Description |
66
+ |------------|-------------|
67
+ | **Bash Execution** | Run shell commands, install packages, manage system |
68
+ | **File Operations** | Read, write, edit, search files and directories |
69
+ | **@ File References** | Reference local files with `@path` syntax like Claude Code |
70
+ | **Code Sandbox** | Execute Python, JavaScript, TypeScript, Bash, Ruby, Go in isolation |
71
+ | **Modal.com** | Deploy ML workloads on serverless GPUs |
72
+ | **Weights & Biases** | Track experiments and metrics |
73
+ | **Model Training** | Fine-tune models with LoRA or full training |
74
+
75
+ ### @ File References
76
+
77
+ Reference local files and directories using the `@` syntax, similar to Claude Code:
38
78
 
39
79
  ```bash
40
- npm install -g @fastino-ai/pioneer-cli
80
+ # Reference a single file
81
+ > Explain @src/index.tsx
82
+
83
+ # Reference multiple files
84
+ > Compare @package.json and @tsconfig.json
85
+
86
+ # Reference a directory (shows tree structure)
87
+ > What's in @src/
88
+
89
+ # Relative paths work too
90
+ > Look at @./config.ts and @../other-project/file.ts
41
91
  ```
42
92
 
43
- ## Usage
93
+ When you use `@path`, the file contents are automatically:
94
+ 1. Read from your filesystem
95
+ 2. Included in the context sent to the LLM
96
+ 3. Displayed with a checkmark indicator
97
+
98
+ This allows the agent to see and understand your code without manually reading files.
99
+
100
+ ### Chat Commands
101
+
102
+ | Command | Description |
103
+ |---------|-------------|
104
+ | `/help` | Show available commands |
105
+ | `/clear` | Clear conversation history |
106
+ | `/tools` | List available tools |
107
+ | `/budget` | Show token/cost usage |
108
+ | `/exit` | Exit the chat |
109
+
110
+ ## Environment Variables
44
111
 
45
112
  ```bash
46
- # Show help
47
- pioneer --help
113
+ # LLM Provider Keys (required for chat)
114
+ export ANTHROPIC_API_KEY="your-anthropic-key"
115
+ export OPENAI_API_KEY="your-openai-key"
116
+
117
+ # Pioneer Platform
118
+ export PIONEER_API_URL="https://agent.pioneer.ai"
119
+ export PIONEER_API_KEY="your-pioneer-key"
120
+
121
+ # ML Integrations (optional)
122
+ export MODAL_TOKEN_ID="your-modal-token-id"
123
+ export MODAL_TOKEN_SECRET="your-modal-token-secret"
124
+ export WANDB_API_KEY="your-wandb-key"
125
+ ```
126
+
127
+ ## Configuration
128
+
129
+ Configuration is stored in `~/.pioneer/config.json`:
130
+
131
+ ```json
132
+ {
133
+ "apiKey": "your-pioneer-api-key",
134
+ "baseUrl": "https://agent.pioneer.ai",
135
+ "agent": {
136
+ "provider": "anthropic",
137
+ "model": "claude-sonnet-4-20250514"
138
+ },
139
+ "budget": {
140
+ "maxTokens": 100000,
141
+ "maxCost": 1.0,
142
+ "maxTime": 3600
143
+ },
144
+ "ml": {
145
+ "wandb": {
146
+ "project": "my-project",
147
+ "entity": "my-team"
148
+ }
149
+ }
150
+ }
151
+ ```
152
+
153
+ ## Pioneer Platform Usage
48
154
 
155
+ ```bash
49
156
  # Authentication
50
157
  pioneer auth login # Enter API key interactively
51
158
  pioneer auth logout # Clear stored API key
@@ -71,29 +178,57 @@ pioneer model delete <id>
71
178
  pioneer model download <id>
72
179
  ```
73
180
 
74
- ## Configuration
181
+ ## Architecture
75
182
 
76
- The CLI stores configuration in `~/.pioneer/config.json`.
183
+ ```
184
+ src/
185
+ ├── index.tsx # CLI entry point and routing
186
+ ├── config.ts # Configuration management
187
+ ├── api.ts # Pioneer platform API client
188
+ ├── chat/
189
+ │ └── ChatApp.tsx # Interactive chat UI
190
+ ├── agent/
191
+ │ ├── Agent.ts # Main agent orchestrator
192
+ │ ├── LLMClient.ts # OpenAI/Anthropic client
193
+ │ ├── ToolRegistry.ts # Tool management
194
+ │ ├── BudgetManager.ts # Budget tracking
195
+ │ └── types.ts # Type definitions
196
+ ├── tools/
197
+ │ ├── bash.ts # Shell command execution
198
+ │ ├── filesystem.ts # File operations
199
+ │ ├── sandbox.ts # Code sandbox
200
+ │ ├── modal.ts # Modal.com integration
201
+ │ ├── wandb.ts # W&B integration
202
+ │ └── training.ts # Model training
203
+ └── evolution/
204
+ ├── EvolutionEngine.ts # Self-improvement loop
205
+ ├── FeedbackCollector.ts # Feedback storage
206
+ ├── EvalRunner.ts # Evaluation framework
207
+ └── ModelTrainer.ts # Fine-tuning
208
+ ```
77
209
 
78
- ### Environment Variables
210
+ ## Self-Evolution System
79
211
 
80
- | Variable | Description |
81
- |----------|-------------|
82
- | `PIONEER_API_URL` | API base URL (default: `https://agent.pioneer.ai`) |
83
- | `PIONEER_API_KEY` | API key (overrides saved key) |
212
+ The agent can autonomously improve itself within budget constraints:
84
213
 
85
- ## Authentication
214
+ 1. **Feedback Collection**: Records successful/failed interactions
215
+ 2. **Evaluation**: Runs test cases to measure performance
216
+ 3. **Training**: Fine-tunes models based on feedback
217
+ 4. **Budget-Aware**: Respects token/time/cost limits
86
218
 
87
- The CLI validates your API key by making a test request to `/felix/datasets`. If successful, the key is saved locally for future use.
219
+ ```typescript
220
+ import { EvolutionEngine } from './evolution';
88
221
 
89
- ```bash
90
- # Login with API key
91
- pioneer auth login
92
- # Enter your API key when prompted
222
+ const engine = new EvolutionEngine({
223
+ targetScore: 0.9,
224
+ maxIterations: 10,
225
+ budgetPerIteration: {
226
+ maxTokens: 50000,
227
+ maxCost: 0.50,
228
+ },
229
+ });
93
230
 
94
- # Or set via environment
95
- export PIONEER_API_KEY="your-api-key"
96
- pioneer dataset list
231
+ await engine.evolve(agent);
97
232
  ```
98
233
 
99
234
  ## Development
@@ -103,6 +238,7 @@ cd pioneer
103
238
  bun install
104
239
  bun run dev # Hot reload
105
240
  bun run typecheck # Type checking
241
+ bun run chat # Start chat agent
106
242
  ```
107
243
 
108
244
  ## Tech Stack
@@ -110,6 +246,9 @@ bun run typecheck # Type checking
110
246
  - **Runtime**: [Bun](https://bun.sh)
111
247
  - **UI**: [Ink](https://github.com/vadimdemedes/ink) (React for CLI)
112
248
  - **Language**: TypeScript
249
+ - **LLMs**: Anthropic Claude, OpenAI GPT
250
+ - **ML Compute**: [Modal](https://modal.com)
251
+ - **Experiment Tracking**: [Weights & Biases](https://wandb.ai)
113
252
 
114
253
  ## License
115
254
 
package/bun.lock CHANGED
@@ -5,9 +5,11 @@
5
5
  "": {
6
6
  "name": "pioneer",
7
7
  "dependencies": {
8
+ "@anthropic-ai/sdk": "^0.39.0",
8
9
  "ink": "^4.4.1",
9
10
  "ink-spinner": "^5.0.0",
10
11
  "ink-text-input": "^5.0.1",
12
+ "openai": "^4.77.0",
11
13
  "react": "^18.3.1",
12
14
  },
13
15
  "devDependencies": {
@@ -20,20 +22,32 @@
20
22
  "packages": {
21
23
  "@alcalzone/ansi-tokenize": ["@alcalzone/ansi-tokenize@0.1.3", "", { "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^4.0.0" } }, "sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw=="],
22
24
 
25
+ "@anthropic-ai/sdk": ["@anthropic-ai/sdk@0.39.0", "", { "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", "abort-controller": "^3.0.0", "agentkeepalive": "^4.2.1", "form-data-encoder": "1.7.2", "formdata-node": "^4.3.2", "node-fetch": "^2.6.7" } }, "sha512-eMyDIPRZbt1CCLErRCi3exlAvNkBtRe+kW5vvJyef93PmNr/clstYgHhtvmkxN82nlKgzyGPCyGxrm0JQ1ZIdg=="],
26
+
23
27
  "@types/node": ["@types/node@22.19.3", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA=="],
24
28
 
29
+ "@types/node-fetch": ["@types/node-fetch@2.6.13", "", { "dependencies": { "@types/node": "*", "form-data": "^4.0.4" } }, "sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw=="],
30
+
25
31
  "@types/prop-types": ["@types/prop-types@15.7.15", "", {}, "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw=="],
26
32
 
27
33
  "@types/react": ["@types/react@18.3.27", "", { "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" } }, "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w=="],
28
34
 
35
+ "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="],
36
+
37
+ "agentkeepalive": ["agentkeepalive@4.6.0", "", { "dependencies": { "humanize-ms": "^1.2.1" } }, "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ=="],
38
+
29
39
  "ansi-escapes": ["ansi-escapes@6.2.1", "", {}, "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig=="],
30
40
 
31
41
  "ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="],
32
42
 
33
43
  "ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="],
34
44
 
45
+ "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="],
46
+
35
47
  "auto-bind": ["auto-bind@5.0.1", "", {}, "sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg=="],
36
48
 
49
+ "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
50
+
37
51
  "chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="],
38
52
 
39
53
  "ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="],
@@ -48,16 +62,54 @@
48
62
 
49
63
  "code-excerpt": ["code-excerpt@4.0.0", "", { "dependencies": { "convert-to-spaces": "^2.0.1" } }, "sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA=="],
50
64
 
65
+ "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="],
66
+
51
67
  "convert-to-spaces": ["convert-to-spaces@2.0.1", "", {}, "sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ=="],
52
68
 
53
69
  "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="],
54
70
 
71
+ "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="],
72
+
73
+ "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="],
74
+
55
75
  "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
56
76
 
57
77
  "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
58
78
 
79
+ "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
80
+
81
+ "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],
82
+
83
+ "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="],
84
+
85
+ "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="],
86
+
59
87
  "escape-string-regexp": ["escape-string-regexp@2.0.0", "", {}, "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="],
60
88
 
89
+ "event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="],
90
+
91
+ "form-data": ["form-data@4.0.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w=="],
92
+
93
+ "form-data-encoder": ["form-data-encoder@1.7.2", "", {}, "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A=="],
94
+
95
+ "formdata-node": ["formdata-node@4.4.1", "", { "dependencies": { "node-domexception": "1.0.0", "web-streams-polyfill": "4.0.0-beta.3" } }, "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ=="],
96
+
97
+ "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
98
+
99
+ "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
100
+
101
+ "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="],
102
+
103
+ "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
104
+
105
+ "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
106
+
107
+ "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="],
108
+
109
+ "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
110
+
111
+ "humanize-ms": ["humanize-ms@1.2.1", "", { "dependencies": { "ms": "^2.0.0" } }, "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ=="],
112
+
61
113
  "indent-string": ["indent-string@5.0.0", "", {}, "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg=="],
62
114
 
63
115
  "ink": ["ink@4.4.1", "", { "dependencies": { "@alcalzone/ansi-tokenize": "^0.1.3", "ansi-escapes": "^6.0.0", "auto-bind": "^5.0.1", "chalk": "^5.2.0", "cli-boxes": "^3.0.0", "cli-cursor": "^4.0.0", "cli-truncate": "^3.1.0", "code-excerpt": "^4.0.0", "indent-string": "^5.0.0", "is-ci": "^3.0.1", "is-lower-case": "^2.0.2", "is-upper-case": "^2.0.2", "lodash": "^4.17.21", "patch-console": "^2.0.0", "react-reconciler": "^0.29.0", "scheduler": "^0.23.0", "signal-exit": "^3.0.7", "slice-ansi": "^6.0.0", "stack-utils": "^2.0.6", "string-width": "^5.1.2", "type-fest": "^0.12.0", "widest-line": "^4.0.1", "wrap-ansi": "^8.1.0", "ws": "^8.12.0", "yoga-wasm-web": "~0.3.3" }, "peerDependencies": { "@types/react": ">=18.0.0", "react": ">=18.0.0", "react-devtools-core": "^4.19.1" }, "optionalPeers": ["@types/react", "react-devtools-core"] }, "sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA=="],
@@ -80,10 +132,24 @@
80
132
 
81
133
  "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="],
82
134
 
135
+ "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
136
+
137
+ "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="],
138
+
139
+ "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="],
140
+
83
141
  "mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="],
84
142
 
143
+ "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
144
+
145
+ "node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="],
146
+
147
+ "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="],
148
+
85
149
  "onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="],
86
150
 
151
+ "openai": ["openai@4.104.0", "", { "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", "abort-controller": "^3.0.0", "agentkeepalive": "^4.2.1", "form-data-encoder": "1.7.2", "formdata-node": "^4.3.2", "node-fetch": "^2.6.7" }, "peerDependencies": { "ws": "^8.18.0", "zod": "^3.23.8" }, "optionalPeers": ["ws", "zod"], "bin": { "openai": "bin/cli" } }, "sha512-p99EFNsA/yX6UhVO93f5kJsDRLAg+CTA2RBqdHK4RtK8u5IJw32Hyb2dTGKbnnFmnuoBv5r7Z2CURI9sGZpSuA=="],
152
+
87
153
  "patch-console": ["patch-console@2.0.0", "", {}, "sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA=="],
88
154
 
89
155
  "react": ["react@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ=="],
@@ -104,6 +170,8 @@
104
170
 
105
171
  "strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="],
106
172
 
173
+ "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="],
174
+
107
175
  "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
108
176
 
109
177
  "type-fest": ["type-fest@0.12.0", "", {}, "sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg=="],
@@ -112,6 +180,12 @@
112
180
 
113
181
  "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
114
182
 
183
+ "web-streams-polyfill": ["web-streams-polyfill@4.0.0-beta.3", "", {}, "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug=="],
184
+
185
+ "webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="],
186
+
187
+ "whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="],
188
+
115
189
  "widest-line": ["widest-line@4.0.1", "", { "dependencies": { "string-width": "^5.0.1" } }, "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig=="],
116
190
 
117
191
  "wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
@@ -120,8 +194,16 @@
120
194
 
121
195
  "yoga-wasm-web": ["yoga-wasm-web@0.3.3", "", {}, "sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA=="],
122
196
 
197
+ "@anthropic-ai/sdk/@types/node": ["@types/node@18.19.130", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg=="],
198
+
123
199
  "cli-truncate/slice-ansi": ["slice-ansi@5.0.0", "", { "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" } }, "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ=="],
124
200
 
125
201
  "ink-text-input/type-fest": ["type-fest@3.13.1", "", {}, "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g=="],
202
+
203
+ "openai/@types/node": ["@types/node@18.19.130", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg=="],
204
+
205
+ "@anthropic-ai/sdk/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="],
206
+
207
+ "openai/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="],
126
208
  }
127
209
  }
package/cache/cache.db ADDED
Binary file
Binary file
File without changes
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fastino-ai/pioneer-cli",
3
- "version": "0.1.0",
4
- "description": "Pioneer CLI - AI training platform",
3
+ "version": "0.2.0",
4
+ "description": "Pioneer CLI - AI training platform with chat agent",
5
5
  "type": "module",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -11,13 +11,16 @@
11
11
  },
12
12
  "scripts": {
13
13
  "start": "bun run src/index.tsx",
14
+ "chat": "bun run src/index.tsx chat",
14
15
  "dev": "bun run --hot src/index.tsx",
15
16
  "typecheck": "tsc --noEmit"
16
17
  },
17
18
  "dependencies": {
19
+ "@anthropic-ai/sdk": "^0.39.0",
18
20
  "ink": "^4.4.1",
19
21
  "ink-spinner": "^5.0.0",
20
22
  "ink-text-input": "^5.0.1",
23
+ "openai": "^4.77.0",
21
24
  "react": "^18.3.1"
22
25
  },
23
26
  "devDependencies": {
@@ -28,4 +31,4 @@
28
31
  "engines": {
29
32
  "bun": ">=1.1.0"
30
33
  }
31
- }
34
+ }