zooid 0.7.1 → 0.7.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/dist/bin.js +19 -4
- package/dist/bin.js.map +1 -1
- package/dist/{chunk-SUPTPSN3.js → chunk-O6E4CDTV.js} +177 -24
- package/dist/chunk-O6E4CDTV.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/web/assets/{index-Cz5fEZBc.js → index-1pU3tgkr.js} +85 -75
- package/dist/web/assets/index-C-ZtBp7U.css +1 -0
- package/dist/web/assets/{index-CqfWXqvO.js → index-CXOPATwH.js} +1 -1
- package/dist/web/assets/{reaction-picker-emoji-cME0vOsX.js → reaction-picker-emoji-DrlHZ5qt.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +8 -8
- package/src/build-registry.context.test.ts +1 -1
- package/src/build-registry.zod043.test.ts +1 -1
- package/src/build-registry.zod044.test.ts +2 -2
- package/src/daemon/start-daemon.ts +17 -2
- package/dist/chunk-SUPTPSN3.js.map +0 -1
- package/dist/web/assets/index-C2MAIew3.css +0 -1
package/dist/web/index.html
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
7
7
|
<title>Zoon</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-1pU3tgkr.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-C-ZtBp7U.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zooid",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "Open-source tool for defining and running AI agents alongside you and your team. Any model, any CLI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -37,13 +37,13 @@
|
|
|
37
37
|
"marked": "^18.0.4",
|
|
38
38
|
"sanitize-html": "^2.17.4",
|
|
39
39
|
"yaml": "^2.5.0",
|
|
40
|
-
"@zooid/acp-client": "^0.7.
|
|
41
|
-
"@zooid/context-mcp": "^0.7.
|
|
42
|
-
"@zooid/
|
|
43
|
-
"@zooid/
|
|
44
|
-
"@zooid/
|
|
45
|
-
"@zooid/
|
|
46
|
-
"@zooid/transport-matrix": "^0.7.
|
|
40
|
+
"@zooid/acp-client": "^0.7.2",
|
|
41
|
+
"@zooid/context-mcp": "^0.7.2",
|
|
42
|
+
"@zooid/runtime-docker": "^0.7.2",
|
|
43
|
+
"@zooid/core": "^0.7.2",
|
|
44
|
+
"@zooid/transport-http": "^0.7.2",
|
|
45
|
+
"@zooid/runtime-local": "^0.7.2",
|
|
46
|
+
"@zooid/transport-matrix": "^0.7.2"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@agentclientprotocol/sdk": "^0.21.0",
|
|
@@ -28,7 +28,7 @@ function makeCfg(over: Partial<ZooidConfig> = {}): ZooidConfig {
|
|
|
28
28
|
matrix: {
|
|
29
29
|
transport: 'm1',
|
|
30
30
|
user_id: '@alice:localhost',
|
|
31
|
-
rooms: ['!r:localhost'],
|
|
31
|
+
rooms: [{ alias: '!r:localhost' }],
|
|
32
32
|
trigger: 'mention',
|
|
33
33
|
},
|
|
34
34
|
container: { env: { LOG_LEVEL: 'info' } },
|
|
@@ -27,7 +27,7 @@ function mkCfg(over: Partial<ZooidConfig['agents']['alice']> = {}): ZooidConfig
|
|
|
27
27
|
matrix: {
|
|
28
28
|
transport: 'm1',
|
|
29
29
|
user_id: '@alice:localhost',
|
|
30
|
-
rooms: ['!r:localhost'],
|
|
30
|
+
rooms: [{ alias: '!r:localhost' }],
|
|
31
31
|
trigger: 'mention',
|
|
32
32
|
},
|
|
33
33
|
...over,
|
|
@@ -207,7 +207,7 @@ describe('buildAcpRegistry — image resolution (ZOD044)', () => {
|
|
|
207
207
|
matrix: {
|
|
208
208
|
transport: 'm1',
|
|
209
209
|
user_id: '@bob:localhost',
|
|
210
|
-
rooms: ['!r:localhost'],
|
|
210
|
+
rooms: [{ alias: '!r:localhost' }],
|
|
211
211
|
trigger: 'mention',
|
|
212
212
|
},
|
|
213
213
|
},
|
|
@@ -18,6 +18,7 @@ import { createApp } from '@zooid/transport-http'
|
|
|
18
18
|
import {
|
|
19
19
|
MatrixClient,
|
|
20
20
|
createMatrixTransport,
|
|
21
|
+
ensureDefaultChannel,
|
|
21
22
|
ensureWorkforceSpace,
|
|
22
23
|
startWorkforcePublisher,
|
|
23
24
|
type AgentBinding,
|
|
@@ -174,7 +175,7 @@ export async function startDaemon(opts: StartDaemonOpts = {}): Promise<DaemonHan
|
|
|
174
175
|
hsToken: matrix.transport.hs_token,
|
|
175
176
|
adminUserId: opts.adminUserId,
|
|
176
177
|
})
|
|
177
|
-
const requestedPort = matrix.transport.port ??
|
|
178
|
+
const requestedPort = matrix.transport.port ?? 9000
|
|
178
179
|
// Bind 0.0.0.0 explicitly — @hono/node-server defaults to IPv6-only on
|
|
179
180
|
// macOS, which Docker's NAT bridge can't reach when Tuwunel pushes AS
|
|
180
181
|
// events back to host.docker.internal:<port>.
|
|
@@ -189,6 +190,7 @@ export async function startDaemon(opts: StartDaemonOpts = {}): Promise<DaemonHan
|
|
|
189
190
|
new URL(matrix.transport.homeserver).hostname
|
|
190
191
|
const asUserId = `@${matrix.transport.sender_localpart}:${serverName}`
|
|
191
192
|
const spaceLocalpart = matrix.transport.space ?? 'dev'
|
|
193
|
+
const adminUserIds = opts.adminUserId ? [opts.adminUserId] : []
|
|
192
194
|
let spaceRoomId: string | undefined
|
|
193
195
|
try {
|
|
194
196
|
spaceRoomId = await ensureWorkforceSpace({
|
|
@@ -197,6 +199,7 @@ export async function startDaemon(opts: StartDaemonOpts = {}): Promise<DaemonHan
|
|
|
197
199
|
serverName,
|
|
198
200
|
spaceLocalpart,
|
|
199
201
|
preset: 'public_chat',
|
|
202
|
+
admins: adminUserIds,
|
|
200
203
|
})
|
|
201
204
|
console.log(`[matrix] ensured workforce space #${spaceLocalpart}:${serverName} → ${spaceRoomId}`)
|
|
202
205
|
} catch (err) {
|
|
@@ -209,9 +212,21 @@ export async function startDaemon(opts: StartDaemonOpts = {}): Promise<DaemonHan
|
|
|
209
212
|
// those pushes don't hit a connection-refused. Bootstrap also runs
|
|
210
213
|
// *after* the space exists so BotPool can attach each agent room as
|
|
211
214
|
// m.space.child while joining it.
|
|
212
|
-
await transport.bootstrap({ spaceRoomId, asUserId })
|
|
215
|
+
await transport.bootstrap({ spaceRoomId, asUserId, adminUserIds })
|
|
213
216
|
|
|
214
217
|
if (spaceRoomId) {
|
|
218
|
+
try {
|
|
219
|
+
const generalRoomId = await ensureDefaultChannel({
|
|
220
|
+
client,
|
|
221
|
+
asUserId,
|
|
222
|
+
serverName,
|
|
223
|
+
spaceId: spaceRoomId,
|
|
224
|
+
admins: adminUserIds,
|
|
225
|
+
})
|
|
226
|
+
console.log(`[matrix] ensured default channel #general:${serverName} → ${generalRoomId}`)
|
|
227
|
+
} catch (err) {
|
|
228
|
+
console.warn('[matrix] default channel provisioning failed:', err)
|
|
229
|
+
}
|
|
215
230
|
try {
|
|
216
231
|
const publisher: PublisherHandle = await startWorkforcePublisher({
|
|
217
232
|
client,
|