@abitat_reece/host-daemon 0.1.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/dist/cli/conversation-runtime.d.ts +23 -0
- package/dist/cli/conversation-runtime.d.ts.map +1 -0
- package/dist/cli/conversation-runtime.js +73 -0
- package/dist/cli/conversation-runtime.js.map +1 -0
- package/dist/cli/daemon-connection.d.ts +14 -0
- package/dist/cli/daemon-connection.d.ts.map +1 -0
- package/dist/cli/daemon-connection.js +17 -0
- package/dist/cli/daemon-connection.js.map +1 -0
- package/dist/cli/heartbeat-loop.d.ts +2 -0
- package/dist/cli/heartbeat-loop.d.ts.map +1 -0
- package/dist/cli/heartbeat-loop.js +10 -0
- package/dist/cli/heartbeat-loop.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +371 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/retryable-task.d.ts +5 -0
- package/dist/cli/retryable-task.d.ts.map +1 -0
- package/dist/cli/retryable-task.js +16 -0
- package/dist/cli/retryable-task.js.map +1 -0
- package/dist/cli/start-options.d.ts +5 -0
- package/dist/cli/start-options.d.ts.map +1 -0
- package/dist/cli/start-options.js +6 -0
- package/dist/cli/start-options.js.map +1 -0
- package/dist/config/host-config.d.ts +10 -0
- package/dist/config/host-config.d.ts.map +1 -0
- package/dist/config/host-config.js +15 -0
- package/dist/config/host-config.js.map +1 -0
- package/dist/git/changeset.d.ts +9 -0
- package/dist/git/changeset.d.ts.map +1 -0
- package/dist/git/changeset.js +78 -0
- package/dist/git/changeset.js.map +1 -0
- package/dist/git/paths.d.ts +12 -0
- package/dist/git/paths.d.ts.map +1 -0
- package/dist/git/paths.js +72 -0
- package/dist/git/paths.js.map +1 -0
- package/dist/git/publish.d.ts +24 -0
- package/dist/git/publish.d.ts.map +1 -0
- package/dist/git/publish.js +23 -0
- package/dist/git/publish.js.map +1 -0
- package/dist/git/repo.d.ts +21 -0
- package/dist/git/repo.d.ts.map +1 -0
- package/dist/git/repo.js +113 -0
- package/dist/git/repo.js.map +1 -0
- package/dist/git/worktree.d.ts +25 -0
- package/dist/git/worktree.d.ts.map +1 -0
- package/dist/git/worktree.js +33 -0
- package/dist/git/worktree.js.map +1 -0
- package/dist/remote-control/manager.d.ts +46 -0
- package/dist/remote-control/manager.d.ts.map +1 -0
- package/dist/remote-control/manager.js +86 -0
- package/dist/remote-control/manager.js.map +1 -0
- package/dist/runtime/adapter.d.ts +27 -0
- package/dist/runtime/adapter.d.ts.map +1 -0
- package/dist/runtime/adapter.js +2 -0
- package/dist/runtime/adapter.js.map +1 -0
- package/dist/runtime/cli.d.ts +41 -0
- package/dist/runtime/cli.d.ts.map +1 -0
- package/dist/runtime/cli.js +540 -0
- package/dist/runtime/cli.js.map +1 -0
- package/dist/runtime/index.d.ts +10 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +39 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/mock.d.ts +3 -0
- package/dist/runtime/mock.d.ts.map +1 -0
- package/dist/runtime/mock.js +34 -0
- package/dist/runtime/mock.js.map +1 -0
- package/dist/runtime/pty.d.ts +32 -0
- package/dist/runtime/pty.d.ts.map +1 -0
- package/dist/runtime/pty.js +197 -0
- package/dist/runtime/pty.js.map +1 -0
- package/dist/tools/scanner.d.ts +14 -0
- package/dist/tools/scanner.d.ts.map +1 -0
- package/dist/tools/scanner.js +53 -0
- package/dist/tools/scanner.js.map +1 -0
- package/dist/transport/api-client.d.ts +153 -0
- package/dist/transport/api-client.d.ts.map +1 -0
- package/dist/transport/api-client.js +93 -0
- package/dist/transport/api-client.js.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export class HostApiClient {
|
|
2
|
+
apiUrl;
|
|
3
|
+
hostToken;
|
|
4
|
+
constructor(apiUrl, hostToken) {
|
|
5
|
+
this.apiUrl = apiUrl;
|
|
6
|
+
this.hostToken = hostToken;
|
|
7
|
+
}
|
|
8
|
+
pair(input) {
|
|
9
|
+
return this.post("/api/hosts/pair", input);
|
|
10
|
+
}
|
|
11
|
+
heartbeat(input) {
|
|
12
|
+
return this.post("/api/hosts/heartbeat", input);
|
|
13
|
+
}
|
|
14
|
+
uploadTools(machineId, tools) {
|
|
15
|
+
const input = { machineId, tools };
|
|
16
|
+
return this.post("/api/hosts/tools", input);
|
|
17
|
+
}
|
|
18
|
+
pollJob(machineId, activeConversationIds) {
|
|
19
|
+
const activeIds = Array.isArray(activeConversationIds)
|
|
20
|
+
? activeConversationIds
|
|
21
|
+
: activeConversationIds
|
|
22
|
+
? [activeConversationIds]
|
|
23
|
+
: [];
|
|
24
|
+
return this.post("/api/daemon/jobs/poll", {
|
|
25
|
+
machineId,
|
|
26
|
+
...(activeIds[0] ? { activeConversationId: activeIds[0] } : {}),
|
|
27
|
+
...(activeIds.length > 0 ? { activeConversationIds: activeIds } : {})
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
ackJob(jobId, input) {
|
|
31
|
+
return this.post(`/api/daemon/jobs/${jobId}/ack`, input);
|
|
32
|
+
}
|
|
33
|
+
ingestRunEvent(conversationId, input) {
|
|
34
|
+
return this.post(`/api/conversations/${conversationId}/events`, input);
|
|
35
|
+
}
|
|
36
|
+
uploadChangeSet(conversationId, input) {
|
|
37
|
+
return this.post(`/api/conversations/${conversationId}/changeset`, input);
|
|
38
|
+
}
|
|
39
|
+
pollRemoteControlSessions(machineId) {
|
|
40
|
+
const path = `/api/remote-control/host/sessions?machineId=${encodeURIComponent(machineId)}`;
|
|
41
|
+
return this.get(path);
|
|
42
|
+
}
|
|
43
|
+
updateRemoteControlSession(sessionId, input) {
|
|
44
|
+
return this.patch(`/api/remote-control/host/sessions/${sessionId}`, input);
|
|
45
|
+
}
|
|
46
|
+
listRemoteControlSignals(sessionId) {
|
|
47
|
+
return this.get(`/api/remote-control/host/sessions/${sessionId}/signals`);
|
|
48
|
+
}
|
|
49
|
+
sendRemoteControlSignal(sessionId, input) {
|
|
50
|
+
return this.post(`/api/remote-control/host/sessions/${sessionId}/signals`, input);
|
|
51
|
+
}
|
|
52
|
+
async get(path) {
|
|
53
|
+
const response = await fetch(new URL(path, this.apiUrl), {
|
|
54
|
+
method: "GET",
|
|
55
|
+
headers: {
|
|
56
|
+
...(this.hostToken ? { authorization: `Bearer ${this.hostToken}` } : {})
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
if (!response.ok) {
|
|
60
|
+
throw new Error(`${response.status} ${await response.text()}`);
|
|
61
|
+
}
|
|
62
|
+
return (await response.json());
|
|
63
|
+
}
|
|
64
|
+
async patch(path, body) {
|
|
65
|
+
const response = await fetch(new URL(path, this.apiUrl), {
|
|
66
|
+
method: "PATCH",
|
|
67
|
+
headers: {
|
|
68
|
+
"content-type": "application/json",
|
|
69
|
+
...(this.hostToken ? { authorization: `Bearer ${this.hostToken}` } : {})
|
|
70
|
+
},
|
|
71
|
+
body: JSON.stringify(body)
|
|
72
|
+
});
|
|
73
|
+
if (!response.ok) {
|
|
74
|
+
throw new Error(`${response.status} ${await response.text()}`);
|
|
75
|
+
}
|
|
76
|
+
return (await response.json());
|
|
77
|
+
}
|
|
78
|
+
async post(path, body) {
|
|
79
|
+
const response = await fetch(new URL(path, this.apiUrl), {
|
|
80
|
+
method: "POST",
|
|
81
|
+
headers: {
|
|
82
|
+
"content-type": "application/json",
|
|
83
|
+
...(this.hostToken ? { authorization: `Bearer ${this.hostToken}` } : {})
|
|
84
|
+
},
|
|
85
|
+
body: JSON.stringify(body)
|
|
86
|
+
});
|
|
87
|
+
if (!response.ok) {
|
|
88
|
+
throw new Error(`${response.status} ${await response.text()}`);
|
|
89
|
+
}
|
|
90
|
+
return (await response.json());
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=api-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/transport/api-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@abitat_reece/host-daemon",
|
|
3
|
+
"private": false,
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"description": "Mac host daemon for Abitat Workspace remote Codex control",
|
|
7
|
+
"bin": {
|
|
8
|
+
"abitat-host": "dist/cli/index.js"
|
|
9
|
+
},
|
|
10
|
+
"exports": {
|
|
11
|
+
"./cli": {
|
|
12
|
+
"types": "./dist/cli/index.d.ts",
|
|
13
|
+
"import": "./dist/cli/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=22"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"node-pty": "^1.1.0",
|
|
24
|
+
"ws": "^8.20.0",
|
|
25
|
+
"@abitat_reece/shared": "0.1.0"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/ws": "^8.18.1",
|
|
29
|
+
"tsx": "4.21.0"
|
|
30
|
+
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"build": "tsc -p tsconfig.json",
|
|
33
|
+
"predev": "pnpm --filter @abitat_reece/shared build",
|
|
34
|
+
"dev": "tsx src/cli/index.ts start",
|
|
35
|
+
"dev:mock": "tsx src/cli/index.ts start --mock",
|
|
36
|
+
"lint": "eslint .",
|
|
37
|
+
"pretest": "pnpm --filter @abitat_reece/shared build",
|
|
38
|
+
"test": "vitest run",
|
|
39
|
+
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
40
|
+
}
|
|
41
|
+
}
|