@plurnk/plurnk-service 4.3.2 → 4.3.3
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/SPEC.md +2 -2
- package/dist/build-info.json +1 -1
- package/dist/core/WorkerOwners.d.ts.map +1 -1
- package/dist/core/WorkerOwners.js +1 -0
- package/dist/core/WorkerOwners.js.map +1 -1
- package/dist/core/WorkerOwners.sql +17 -2
- package/dist/man/plurnk-service.1 +1 -1
- package/migrations/034_operator_owners.sql +35 -0
- package/package.json +5 -5
package/SPEC.md
CHANGED
|
@@ -397,7 +397,7 @@ not access to workspace resources ({§actor-boundary-no-mutex}).
|
|
|
397
397
|
| Root creation | Explicit owner, otherwise the runtime `_plurnk`. |
|
|
398
398
|
| WORK, FORK, or a fresh child | Inherit the parent's owner. |
|
|
399
399
|
| SEND, schedule occurrence, or other incoming message | Preserve the recipient's owner. |
|
|
400
|
-
| Explicit client control attachment | Claim a
|
|
400
|
+
| Explicit client control attachment | Claim a model worker and its model descendants (updating any pending interaction recipients in that subtree); never claim the runtime actor. |
|
|
401
401
|
| Observation or disconnect | No change. |
|
|
402
402
|
|
|
403
403
|
An owner declares its capability set: the client tool names it implements, and whether it
|
|
@@ -5640,7 +5640,7 @@ Core's behavior behind them.
|
|
|
5640
5640
|
| §methods-workspace-activate Workspace lifecycle | `activateWorkspace({ workspaceId })` | Makes the demand a turn makes, without a turn: a cold workspace activates and publishes its complete capabilities; a concurrent demand shares that one activation; it resolves once the workspace is active and leaves it warm under `PLURNK_SERVICE_WORKSPACE_WARM_MS`. Creation and attachment stay passive; an owner's arrival calls it ({§agui-owner-activation}). |
|
|
5641
5641
|
| §methods-worker-create Workspace lifecycle | `createWorker({ workspaceId, name?, parentWorkerId?, owner? })` | Creates a distinct model-origin worker with empty history. A root may name a registered owner; a child names its parent and inherits ownership. Supplying both parent and owner is invalid ({§worker-owner-creation}). |
|
|
5642
5642
|
| Worker ownership | `registerWorkerOwner(workspaceId, { address, tools, interactive })` | Declares or replaces an owner's supported client-tool names and whether a person attends it, in that workspace; `_plurnk` is reserved. |
|
|
5643
|
-
| Worker ownership | `claimWorkerOwner({ workspaceId, workerId, owner })` | Claims
|
|
5643
|
+
| Worker ownership | `claimWorkerOwner({ workspaceId, workerId, owner })` | Claims a model worker and its model descendants under {§worker-ownership}, returning its effective owner. The owner must already be registered. |
|
|
5644
5644
|
| Runtime actor | `ensureRuntimeWorker(workspaceId)` | Returns the workspace's `_plurnk` actor, creating it if absent; it always retains runtime ownership. |
|
|
5645
5645
|
| Workspace lifecycle | `forkWorker({ workspaceId, workerId, name? })` | Creates a child worker that branches the source worker's history while sharing workspace state. The source is a model worker, else `409 model-worker-required` ({§machine-processes-worker-origin}). |
|
|
5646
5646
|
| §methods-workspace-rename Workspace metadata | `renameWorkspace(workspaceId, name)` | Changes only the workspace's unique mutable name, under the admission of {§workspace-name}; workers, log, and membership remain intact, and a refused name changes nothing. |
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"package":"@plurnk/plurnk-service","version":"4.3.
|
|
1
|
+
{"package":"@plurnk/plurnk-service","version":"4.3.3","revision":"323781e23c59ff0c68e8976c0cf8cb31fd025791","dirty":false}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerOwners.d.ts","sourceRoot":"","sources":["../../src/core/WorkerOwners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAMlC,MAAM,CAAC,OAAO,OAAO,YAAY;;IAC7B,OAAa,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpF;IAID,OAAa,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9E;IAOD,OAAa,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAEhE;IAED,OAAa,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAEjE;IAGD,OAAa,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEjE;IAGD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7D;IAED,OAAa,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAO1F;IAED,OAAa,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"WorkerOwners.d.ts","sourceRoot":"","sources":["../../src/core/WorkerOwners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAMlC,MAAM,CAAC,OAAO,OAAO,YAAY;;IAC7B,OAAa,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpF;IAID,OAAa,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9E;IAOD,OAAa,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAEhE;IAED,OAAa,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAEjE;IAGD,OAAa,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEjE;IAGD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7D;IAED,OAAa,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAO1F;IAED,OAAa,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAKrG;CACJ"}
|
|
@@ -44,6 +44,7 @@ export default class WorkerOwners {
|
|
|
44
44
|
static async claim(db, workspaceId, workerId, owner) {
|
|
45
45
|
await WorkerOwners.registered(db, workspaceId, owner);
|
|
46
46
|
await db.worker_owner_claim.run({ workspace_id: workspaceId, worker_id: workerId, owner });
|
|
47
|
+
await db.worker_owner_claim_interactions.run({ workspace_id: workspaceId, worker_id: workerId, owner });
|
|
47
48
|
return WorkerOwners.read(db, workerId);
|
|
48
49
|
}
|
|
49
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerOwners.js","sourceRoot":"","sources":["../../src/core/WorkerOwners.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WorkerOwners.js","sourceRoot":"","sources":["../../src/core/WorkerOwners.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,10 +53,25 @@ WHERE le.id = $log_entry_id AND le.state = 'proposed';
|
|
|
53
53
|
WITH RECURSIVE tree(id) AS (
|
|
54
54
|
SELECT id FROM workers
|
|
55
55
|
WHERE id = $worker_id AND workspace_id = $workspace_id
|
|
56
|
-
AND
|
|
56
|
+
AND origin != '_plurnk'
|
|
57
57
|
UNION ALL
|
|
58
58
|
SELECT w.id FROM workers w JOIN tree ON w.parent_worker_id = tree.id
|
|
59
|
-
WHERE w.
|
|
59
|
+
WHERE w.origin != '_plurnk'
|
|
60
60
|
)
|
|
61
61
|
UPDATE workers SET owner = $owner
|
|
62
62
|
WHERE id IN (SELECT id FROM tree);
|
|
63
|
+
|
|
64
|
+
-- PREP: worker_owner_claim_interactions
|
|
65
|
+
UPDATE client_interactions
|
|
66
|
+
SET recipient = $owner
|
|
67
|
+
WHERE worker_id IN (
|
|
68
|
+
WITH RECURSIVE tree(id) AS (
|
|
69
|
+
SELECT id FROM workers
|
|
70
|
+
WHERE id = $worker_id AND workspace_id = $workspace_id
|
|
71
|
+
AND origin != '_plurnk'
|
|
72
|
+
UNION ALL
|
|
73
|
+
SELECT w.id FROM workers w JOIN tree ON w.parent_worker_id = tree.id
|
|
74
|
+
WHERE w.origin != '_plurnk'
|
|
75
|
+
)
|
|
76
|
+
SELECT id FROM tree
|
|
77
|
+
);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
-- MIGRATE: 34 operator owners
|
|
2
|
+
-- Released in 4.3.3 and frozen ({§db-migrations}).
|
|
3
|
+
-- {§worker-ownership} AG-UI owners are workspace-scoped (`agui://operator`), never per-principal or per-thread:
|
|
4
|
+
-- any existing `agui://*/threads/*` owner or interaction recipient is unified onto `agui://operator`.
|
|
5
|
+
INSERT INTO worker_owners (workspace_id, address, tools, interactive)
|
|
6
|
+
SELECT w.workspace_id,
|
|
7
|
+
'agui://operator',
|
|
8
|
+
COALESCE(
|
|
9
|
+
(SELECT json_group_array(tool)
|
|
10
|
+
FROM (
|
|
11
|
+
SELECT DISTINCT j.value AS tool
|
|
12
|
+
FROM worker_owners o, json_each(o.tools) j
|
|
13
|
+
WHERE o.workspace_id = w.workspace_id
|
|
14
|
+
AND (o.address = 'agui://operator' OR o.address GLOB 'agui://*/threads/*')
|
|
15
|
+
)),
|
|
16
|
+
'[]'
|
|
17
|
+
),
|
|
18
|
+
MAX(w.interactive)
|
|
19
|
+
FROM worker_owners w
|
|
20
|
+
WHERE w.address GLOB 'agui://*/threads/*'
|
|
21
|
+
GROUP BY w.workspace_id
|
|
22
|
+
ON CONFLICT (workspace_id, address) DO UPDATE SET
|
|
23
|
+
tools = excluded.tools,
|
|
24
|
+
interactive = CASE WHEN worker_owners.interactive = 1 OR excluded.interactive = 1 THEN 1 ELSE 0 END;
|
|
25
|
+
|
|
26
|
+
UPDATE workers
|
|
27
|
+
SET owner = 'agui://operator'
|
|
28
|
+
WHERE owner GLOB 'agui://*/threads/*';
|
|
29
|
+
|
|
30
|
+
UPDATE client_interactions
|
|
31
|
+
SET recipient = 'agui://operator'
|
|
32
|
+
WHERE recipient GLOB 'agui://*/threads/*';
|
|
33
|
+
|
|
34
|
+
DELETE FROM worker_owners
|
|
35
|
+
WHERE address GLOB 'agui://*/threads/*';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-service",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.3",
|
|
4
4
|
"description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-contracts contract.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plurnk",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"dependencies": {
|
|
81
81
|
"@opentelemetry/api": "^1.10.0",
|
|
82
82
|
"@plurnk/plurnk-a2a": "4.0.2",
|
|
83
|
-
"@plurnk/plurnk-agui": "5.0.
|
|
83
|
+
"@plurnk/plurnk-agui": "5.0.2",
|
|
84
84
|
"@plurnk/plurnk-contracts": "6.0.1",
|
|
85
85
|
"@plurnk/plurnk-parser": "4.2.2",
|
|
86
86
|
"@plurnk/plurnk-schedule": "3.0.5",
|
|
@@ -135,9 +135,9 @@
|
|
|
135
135
|
"@plurnk/plurnk-mimetypes-text-ini": "2.0.2",
|
|
136
136
|
"@plurnk/plurnk-mimetypes-text-markdown": "2.0.3",
|
|
137
137
|
"@plurnk/plurnk-mimetypes-text-plain": "2.0.2",
|
|
138
|
-
"@plurnk/plurnk-models": "3.0.
|
|
138
|
+
"@plurnk/plurnk-models": "3.0.3",
|
|
139
139
|
"@plurnk/plurnk-modules": "4.1.0",
|
|
140
|
-
"@plurnk/plurnk-providers": "5.0.
|
|
140
|
+
"@plurnk/plurnk-providers": "5.0.2",
|
|
141
141
|
"@plurnk/plurnk-schemes": "3.3.0",
|
|
142
142
|
"@plurnk/plurnk-schemes-http": "2.0.5",
|
|
143
143
|
"@possumtech/sqlrite": "^6.6.1",
|
|
@@ -163,5 +163,5 @@
|
|
|
163
163
|
"url": "git+https://github.com/plurnk/plurnk-service.git",
|
|
164
164
|
"directory": "plurnk-core"
|
|
165
165
|
},
|
|
166
|
-
"gitHead": "
|
|
166
|
+
"gitHead": "323781e23c59ff0c68e8976c0cf8cb31fd025791"
|
|
167
167
|
}
|