@mitosislabs/sdk 0.1.0 → 0.1.1
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 +26 -63
- package/dist/cli/index.js +86 -112
- package/dist/cli/index.js.map +1 -1
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -10,49 +10,43 @@ npm install @os1/sdk
|
|
|
10
10
|
|
|
11
11
|
## Quick Start
|
|
12
12
|
|
|
13
|
+
```bash
|
|
14
|
+
mi login
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Opens the dashboard in your browser to create an API key, then prompts you to paste it.
|
|
18
|
+
|
|
13
19
|
```typescript
|
|
14
20
|
import { OS1Client } from '@os1/sdk';
|
|
15
21
|
|
|
16
22
|
const client = new OS1Client({
|
|
17
|
-
endpoint: 'https://
|
|
18
|
-
|
|
23
|
+
endpoint: 'https://m.mitosislabs.ai',
|
|
24
|
+
auth: { type: 'token', token: process.env.MI_API_KEY! },
|
|
19
25
|
});
|
|
20
26
|
|
|
21
|
-
// List your offices
|
|
22
27
|
const offices = await client.offices.list();
|
|
23
|
-
|
|
24
|
-
// Hire an agent
|
|
25
|
-
const agent = await client.agents.hire(offices[0].id, {
|
|
26
|
-
name: 'aria',
|
|
27
|
-
role: 'researcher',
|
|
28
|
-
modelTier: 'opus',
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
// Fetch the created agent
|
|
32
|
-
const created = await client.agents.get(offices[0].id, 'aria');
|
|
33
|
-
console.log(created.name);
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Authentication
|
|
37
|
-
|
|
38
|
-
Get your API key from the [OS-1 dashboard](https://mitosislabs.ai/dashboard/settings).
|
|
39
|
-
|
|
40
|
-
```typescript
|
|
41
|
-
const client = new OS1Client({
|
|
42
|
-
endpoint: 'https://api.mitosislabs.ai',
|
|
43
|
-
auth: { type: 'apiKey', key: 'os1_...' },
|
|
44
|
-
});
|
|
28
|
+
const agents = await client.agents.list(offices[0].id);
|
|
45
29
|
```
|
|
46
30
|
|
|
47
|
-
|
|
31
|
+
## CLI
|
|
48
32
|
|
|
49
33
|
```bash
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
34
|
+
mi login # authenticate
|
|
35
|
+
mi logout # clear credentials
|
|
36
|
+
mi whoami # show auth status
|
|
37
|
+
|
|
38
|
+
mi offices list
|
|
39
|
+
mi offices create --name "my-office"
|
|
40
|
+
mi offices status <officeId>
|
|
41
|
+
mi offices delete <officeId>
|
|
42
|
+
|
|
43
|
+
mi agents list --office <officeId>
|
|
44
|
+
mi agents hire --office <officeId> --name "aria" --model opus
|
|
45
|
+
mi agents get <officeId> aria
|
|
46
|
+
mi agents fire <officeId> aria
|
|
47
|
+
mi agents logs <officeId> aria
|
|
48
|
+
|
|
49
|
+
mi api GET /api/v1/offices
|
|
56
50
|
```
|
|
57
51
|
|
|
58
52
|
## API
|
|
@@ -65,8 +59,6 @@ client.offices.create({ name: 'my-office' })
|
|
|
65
59
|
client.offices.get(officeId)
|
|
66
60
|
client.offices.status(officeId)
|
|
67
61
|
client.offices.delete(officeId)
|
|
68
|
-
client.offices.suspend(officeId)
|
|
69
|
-
client.offices.resume(officeId)
|
|
70
62
|
```
|
|
71
63
|
|
|
72
64
|
### Agents
|
|
@@ -75,11 +67,9 @@ client.offices.resume(officeId)
|
|
|
75
67
|
client.agents.hire(officeId, { name, role?, modelTier?, skills? })
|
|
76
68
|
client.agents.list(officeId)
|
|
77
69
|
client.agents.get(officeId, name)
|
|
78
|
-
client.agents.update(officeId, name, { role?, modelTier?, skills? })
|
|
79
70
|
client.agents.fire(officeId, name)
|
|
80
71
|
client.agents.logs(officeId, name)
|
|
81
72
|
client.agents.activity(officeId, name, { limit?, category? })
|
|
82
|
-
client.agents.promote(officeId, name, { modelTier })
|
|
83
73
|
```
|
|
84
74
|
|
|
85
75
|
### Integrations
|
|
@@ -91,33 +81,6 @@ client.integrations.deleteSecret(officeId, integrationId)
|
|
|
91
81
|
client.integrations.toggleAgent(officeId, integrationId, agentName, enabled)
|
|
92
82
|
```
|
|
93
83
|
|
|
94
|
-
## CLI
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
# Credentials
|
|
98
|
-
os1 init --endpoint https://api.mitosislabs.ai --key <api-key>
|
|
99
|
-
os1 login api-key --key <api-key>
|
|
100
|
-
os1 login device
|
|
101
|
-
os1 logout
|
|
102
|
-
os1 auth-test
|
|
103
|
-
|
|
104
|
-
# Offices
|
|
105
|
-
os1 offices list
|
|
106
|
-
os1 offices create --name "my-office"
|
|
107
|
-
os1 offices status <officeId>
|
|
108
|
-
os1 offices delete <officeId>
|
|
109
|
-
|
|
110
|
-
# Agents
|
|
111
|
-
os1 agents list --office <officeId>
|
|
112
|
-
os1 agents hire --office <officeId> --name "aria" --model opus
|
|
113
|
-
os1 agents get <officeId> aria
|
|
114
|
-
os1 agents fire <officeId> aria
|
|
115
|
-
os1 agents logs <officeId> aria
|
|
116
|
-
|
|
117
|
-
# Raw API
|
|
118
|
-
os1 api GET /api/v1/offices
|
|
119
|
-
```
|
|
120
|
-
|
|
121
84
|
## License
|
|
122
85
|
|
|
123
86
|
MIT
|
package/dist/cli/index.js
CHANGED
|
@@ -5,162 +5,133 @@ import { readFileSync, writeFileSync, mkdirSync, existsSync, unlinkSync } from '
|
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import { homedir } from 'node:os';
|
|
7
7
|
import { createInterface } from 'node:readline';
|
|
8
|
+
import { execSync } from 'node:child_process';
|
|
8
9
|
const program = new Command();
|
|
9
10
|
const CONFIG_DIR = join(homedir(), '.os1');
|
|
10
11
|
const CONFIG_FILE = join(CONFIG_DIR, 'config.json');
|
|
12
|
+
const DEFAULT_ENDPOINT = 'https://m.mitosislabs.ai';
|
|
11
13
|
program
|
|
12
|
-
.name('
|
|
13
|
-
.description('
|
|
14
|
+
.name('mi')
|
|
15
|
+
.description('Mitosis One — manage offices, agents, and integrations')
|
|
14
16
|
.version('0.1.0');
|
|
15
17
|
function die(msg) {
|
|
16
18
|
console.error(`error: ${msg}`);
|
|
17
19
|
process.exit(1);
|
|
18
20
|
}
|
|
19
|
-
function ensureConfigDir() {
|
|
20
|
-
mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });
|
|
21
|
-
}
|
|
22
21
|
function peekConfig() {
|
|
23
22
|
if (!existsSync(CONFIG_FILE))
|
|
24
23
|
return null;
|
|
25
|
-
|
|
24
|
+
try {
|
|
25
|
+
return JSON.parse(readFileSync(CONFIG_FILE, 'utf-8'));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
26
30
|
}
|
|
27
31
|
function loadConfig() {
|
|
28
32
|
const config = peekConfig();
|
|
29
33
|
if (!config)
|
|
30
|
-
die(`Not
|
|
34
|
+
die(`Not logged in. Run 'mi login' first.`);
|
|
31
35
|
return config;
|
|
32
36
|
}
|
|
33
37
|
function saveConfig(config) {
|
|
34
|
-
|
|
38
|
+
mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });
|
|
35
39
|
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), { mode: 0o600 });
|
|
36
40
|
}
|
|
37
41
|
function getClient() {
|
|
38
42
|
const config = loadConfig();
|
|
39
|
-
return new OS1Client({
|
|
43
|
+
return new OS1Client({
|
|
44
|
+
endpoint: config.endpoint,
|
|
45
|
+
auth: { type: 'token', token: config.key },
|
|
46
|
+
});
|
|
40
47
|
}
|
|
41
48
|
function json(data) {
|
|
42
49
|
console.log(JSON.stringify(data, null, 2));
|
|
43
50
|
}
|
|
44
|
-
function
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
52
|
-
}
|
|
53
|
-
async function requestDeviceCode(endpoint) {
|
|
54
|
-
const resp = await fetch(`${endpoint.replace(/\/$/, '')}/oauth/device`, {
|
|
55
|
-
method: 'POST',
|
|
56
|
-
headers: { 'Content-Type': 'application/json' },
|
|
51
|
+
function prompt(question) {
|
|
52
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
53
|
+
return new Promise((resolve) => {
|
|
54
|
+
rl.question(question, (answer) => {
|
|
55
|
+
rl.close();
|
|
56
|
+
resolve(answer.trim());
|
|
57
|
+
});
|
|
57
58
|
});
|
|
58
|
-
if (!resp.ok)
|
|
59
|
-
throw new Error(`Device flow failed (${resp.status})`);
|
|
60
|
-
return resp.json();
|
|
61
59
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
});
|
|
71
|
-
if (resp.status === 200) {
|
|
72
|
-
const payload = await resp.json();
|
|
73
|
-
return payload.access_token;
|
|
74
|
-
}
|
|
75
|
-
const err = await resp.json().catch(() => ({}));
|
|
76
|
-
const errorCode = err.error;
|
|
77
|
-
if (errorCode === 'authorization_pending')
|
|
78
|
-
continue;
|
|
79
|
-
if (errorCode === 'slow_down') {
|
|
80
|
-
interval += 5;
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
|
-
throw new Error(err?.error_description ??
|
|
84
|
-
err?.error ??
|
|
85
|
-
`Device token request failed with status ${resp.status}`);
|
|
60
|
+
function openBrowser(url) {
|
|
61
|
+
try {
|
|
62
|
+
const cmd = process.platform === 'darwin' ? 'open' :
|
|
63
|
+
process.platform === 'win32' ? 'start' : 'xdg-open';
|
|
64
|
+
execSync(`${cmd} "${url}"`, { stdio: 'ignore' });
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// silent — user can open manually
|
|
86
68
|
}
|
|
87
69
|
}
|
|
88
|
-
|
|
70
|
+
// ─── login ──────────────────────────────────────────────────────────────────
|
|
89
71
|
program
|
|
90
|
-
.command('
|
|
91
|
-
.description('
|
|
72
|
+
.command('login [code]')
|
|
73
|
+
.description('Authenticate with an invite code or API key')
|
|
92
74
|
.option('-e, --endpoint <url>', 'API endpoint', DEFAULT_ENDPOINT)
|
|
93
|
-
.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
75
|
+
.action(async (code, opts) => {
|
|
76
|
+
const endpoint = opts.endpoint;
|
|
77
|
+
let key;
|
|
78
|
+
if (code) {
|
|
79
|
+
// Invite code — exchange for API key
|
|
80
|
+
if (code.startsWith('mi_')) {
|
|
81
|
+
// It's already an API key
|
|
82
|
+
key = code;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
// It's an invite code — claim it
|
|
86
|
+
const resp = await fetch(`${endpoint}/auth/claim`, {
|
|
87
|
+
method: 'POST',
|
|
88
|
+
headers: { 'Content-Type': 'application/json' },
|
|
89
|
+
body: JSON.stringify({ code }),
|
|
103
90
|
});
|
|
104
|
-
|
|
91
|
+
if (!resp.ok) {
|
|
92
|
+
const err = await resp.json().catch(() => ({}));
|
|
93
|
+
die(err.error ?? `Invalid invite code (${resp.status})`);
|
|
94
|
+
}
|
|
95
|
+
const result = await resp.json();
|
|
96
|
+
key = result.key;
|
|
97
|
+
if (result.officeId) {
|
|
98
|
+
console.log(`Office: ${result.officeId}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
105
101
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
.
|
|
119
|
-
.option('-u, --user <userId>', 'User ID')
|
|
120
|
-
.action((opts) => {
|
|
121
|
-
const config = peekConfig();
|
|
122
|
-
if (!config)
|
|
123
|
-
die("Run 'os1 init' first to set the endpoint.");
|
|
124
|
-
const defaultUserId = config.auth.type === 'apiKey' ? config.auth.userId : undefined;
|
|
125
|
-
saveConfig({
|
|
126
|
-
endpoint: config.endpoint,
|
|
127
|
-
auth: apiKeyAuth(opts.key, opts.user ?? defaultUserId),
|
|
128
|
-
});
|
|
129
|
-
console.log('API key saved.');
|
|
130
|
-
});
|
|
131
|
-
login
|
|
132
|
-
.command('device')
|
|
133
|
-
.description('Authorize via OAuth device flow')
|
|
134
|
-
.option('-e, --endpoint <url>', 'API endpoint')
|
|
135
|
-
.action(async (opts) => {
|
|
136
|
-
const config = peekConfig();
|
|
137
|
-
const endpoint = opts.endpoint ?? config?.endpoint ?? DEFAULT_ENDPOINT;
|
|
138
|
-
const device = await requestDeviceCode(endpoint);
|
|
139
|
-
console.log('Open this URL in your browser and enter the code:');
|
|
140
|
-
console.log(` ${device.verification_uri}`);
|
|
141
|
-
console.log(`Code: ${device.user_code}`);
|
|
142
|
-
console.log('Waiting for authorization...');
|
|
143
|
-
const token = await pollDeviceToken(endpoint, device.device_code, device.interval ?? 5);
|
|
144
|
-
saveConfig({ endpoint, auth: tokenAuth(token) });
|
|
145
|
-
console.log('Device authorization successful.');
|
|
102
|
+
else {
|
|
103
|
+
// Interactive — open browser and prompt
|
|
104
|
+
const settingsUrl = 'https://mitosislabs.ai/dashboard/settings';
|
|
105
|
+
console.log(`Get your API key from: ${settingsUrl}`);
|
|
106
|
+
openBrowser(settingsUrl);
|
|
107
|
+
key = await prompt('\nPaste your API key: ');
|
|
108
|
+
if (!key)
|
|
109
|
+
die('No key provided.');
|
|
110
|
+
}
|
|
111
|
+
if (!key.startsWith('mi_'))
|
|
112
|
+
die('Invalid key format. Keys start with mi_');
|
|
113
|
+
saveConfig({ endpoint, key });
|
|
114
|
+
console.log('Logged in.');
|
|
146
115
|
});
|
|
147
116
|
program
|
|
148
117
|
.command('logout')
|
|
149
|
-
.description('
|
|
118
|
+
.description('Remove stored credentials')
|
|
150
119
|
.action(() => {
|
|
151
120
|
if (existsSync(CONFIG_FILE))
|
|
152
121
|
unlinkSync(CONFIG_FILE);
|
|
153
|
-
console.log('
|
|
122
|
+
console.log('Logged out.');
|
|
154
123
|
});
|
|
155
124
|
program
|
|
156
|
-
.command('
|
|
157
|
-
.description('
|
|
158
|
-
.action(
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
125
|
+
.command('whoami')
|
|
126
|
+
.description('Show current auth status')
|
|
127
|
+
.action(() => {
|
|
128
|
+
const config = peekConfig();
|
|
129
|
+
if (!config)
|
|
130
|
+
die('Not logged in.');
|
|
131
|
+
console.log(`Endpoint: ${config.endpoint}`);
|
|
132
|
+
console.log(`Key: ${config.key.slice(0, 11)}...`);
|
|
163
133
|
});
|
|
134
|
+
// ─── offices ────────────────────────────────────────────────────────────────
|
|
164
135
|
const offices = program.command('offices').description('Office management');
|
|
165
136
|
offices.command('list').action(async () => {
|
|
166
137
|
json(await getClient().offices.list());
|
|
@@ -175,6 +146,7 @@ offices.command('delete <officeId>').action(async (id) => {
|
|
|
175
146
|
await getClient().offices.delete(id);
|
|
176
147
|
console.log('Deleted');
|
|
177
148
|
});
|
|
149
|
+
// ─── agents ─────────────────────────────────────────────────────────────────
|
|
178
150
|
const agents = program.command('agents').description('Agent management');
|
|
179
151
|
agents.command('list').requiredOption('-o, --office <id>', 'Office ID').action(async (opts) => {
|
|
180
152
|
json(await getClient().agents.list(opts.office));
|
|
@@ -212,10 +184,12 @@ agents
|
|
|
212
184
|
.action(async (officeId, name, opts) => {
|
|
213
185
|
json(await getClient().agents.activity(officeId, name, { limit: parseInt(opts.limit, 10) }));
|
|
214
186
|
});
|
|
187
|
+
// ─── integrations ───────────────────────────────────────────────────────────
|
|
215
188
|
const integ = program.command('integrations').description('Integration management');
|
|
216
189
|
integ.command('models').requiredOption('-o, --office <id>', 'Office ID').action(async (opts) => {
|
|
217
190
|
json(await getClient().integrations.listModels(opts.office));
|
|
218
191
|
});
|
|
192
|
+
// ─── raw API ────────────────────────────────────────────────────────────────
|
|
219
193
|
program
|
|
220
194
|
.command('api <method> <path>')
|
|
221
195
|
.description('Raw authenticated API call')
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mitosislabs/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "TypeScript SDK for managing OS-1 offices, agents, and integrations",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"bin": {
|
|
8
|
-
"
|
|
8
|
+
"mi": "dist/cli/index.js"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsc",
|
|
@@ -20,7 +20,13 @@
|
|
|
20
20
|
"dist",
|
|
21
21
|
"README.md"
|
|
22
22
|
],
|
|
23
|
-
"keywords": [
|
|
23
|
+
"keywords": [
|
|
24
|
+
"os1",
|
|
25
|
+
"sdk",
|
|
26
|
+
"offices",
|
|
27
|
+
"agents",
|
|
28
|
+
"integrations"
|
|
29
|
+
],
|
|
24
30
|
"type": "module",
|
|
25
31
|
"license": "MIT",
|
|
26
32
|
"engines": {
|