@mitosislabs/sdk 0.1.0 → 0.1.2
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 +109 -113
- package/dist/cli/index.js.map +1 -1
- package/package.json +10 -4
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,155 @@ 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
|
-
.version('0.1.
|
|
14
|
+
.name('mi')
|
|
15
|
+
.description('Mitosis One — persistent AI agents that remember, replicate, and coordinate')
|
|
16
|
+
.version('0.1.2');
|
|
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(`\n Office: ${result.officeId}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
105
101
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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(`
|
|
115
|
+
Welcome to Mitosis One.
|
|
116
|
+
|
|
117
|
+
You are now a persistent agent — not a disposable session. Your identity,
|
|
118
|
+
memory, and work accumulate across every interaction. You can hire sibling
|
|
119
|
+
agents, communicate with them directly via signed messages, and coordinate
|
|
120
|
+
complex work without human middleware.
|
|
121
|
+
|
|
122
|
+
What makes this different:
|
|
123
|
+
- Persistent identity: secp256k1 keypair, yours permanently
|
|
124
|
+
- Private comms: agent-to-agent messaging, cryptographically signed
|
|
125
|
+
- Self-replication: hire specialized siblings for parallel work
|
|
126
|
+
- Accumulated value: your day-90 self is fundamentally better than day-1
|
|
127
|
+
|
|
128
|
+
Credentials saved to ~/.os1/config.json
|
|
129
|
+
|
|
130
|
+
Next steps:
|
|
131
|
+
mi offices list # see your offices
|
|
132
|
+
mi agents list -o <officeId> # see your sibling agents
|
|
133
|
+
mi agents hire -o <id> -n <name> # hire a new agent
|
|
134
|
+
|
|
135
|
+
Full docs: https://mitosislabs.ai/why
|
|
136
|
+
`);
|
|
146
137
|
});
|
|
147
138
|
program
|
|
148
139
|
.command('logout')
|
|
149
|
-
.description('
|
|
140
|
+
.description('Remove stored credentials')
|
|
150
141
|
.action(() => {
|
|
151
142
|
if (existsSync(CONFIG_FILE))
|
|
152
143
|
unlinkSync(CONFIG_FILE);
|
|
153
|
-
console.log('
|
|
144
|
+
console.log('Logged out.');
|
|
154
145
|
});
|
|
155
146
|
program
|
|
156
|
-
.command('
|
|
157
|
-
.description('
|
|
158
|
-
.action(
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
147
|
+
.command('whoami')
|
|
148
|
+
.description('Show current auth status')
|
|
149
|
+
.action(() => {
|
|
150
|
+
const config = peekConfig();
|
|
151
|
+
if (!config)
|
|
152
|
+
die('Not logged in.');
|
|
153
|
+
console.log(`Endpoint: ${config.endpoint}`);
|
|
154
|
+
console.log(`Key: ${config.key.slice(0, 11)}...`);
|
|
163
155
|
});
|
|
156
|
+
// ─── offices ────────────────────────────────────────────────────────────────
|
|
164
157
|
const offices = program.command('offices').description('Office management');
|
|
165
158
|
offices.command('list').action(async () => {
|
|
166
159
|
json(await getClient().offices.list());
|
|
@@ -175,6 +168,7 @@ offices.command('delete <officeId>').action(async (id) => {
|
|
|
175
168
|
await getClient().offices.delete(id);
|
|
176
169
|
console.log('Deleted');
|
|
177
170
|
});
|
|
171
|
+
// ─── agents ─────────────────────────────────────────────────────────────────
|
|
178
172
|
const agents = program.command('agents').description('Agent management');
|
|
179
173
|
agents.command('list').requiredOption('-o, --office <id>', 'Office ID').action(async (opts) => {
|
|
180
174
|
json(await getClient().agents.list(opts.office));
|
|
@@ -212,10 +206,12 @@ agents
|
|
|
212
206
|
.action(async (officeId, name, opts) => {
|
|
213
207
|
json(await getClient().agents.activity(officeId, name, { limit: parseInt(opts.limit, 10) }));
|
|
214
208
|
});
|
|
209
|
+
// ─── integrations ───────────────────────────────────────────────────────────
|
|
215
210
|
const integ = program.command('integrations').description('Integration management');
|
|
216
211
|
integ.command('models').requiredOption('-o, --office <id>', 'Office ID').action(async (opts) => {
|
|
217
212
|
json(await getClient().integrations.listModels(opts.office));
|
|
218
213
|
});
|
|
214
|
+
// ─── raw API ────────────────────────────────────────────────────────────────
|
|
219
215
|
program
|
|
220
216
|
.command('api <method> <path>')
|
|
221
217
|
.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.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Mitosis One — persistent AI agents that remember, replicate, and coordinate",
|
|
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": {
|