@volter/supercode-orchestrator 0.5.67 → 0.5.69
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/bin/agent-channel.mjs +12 -5
- package/loop.mjs +2 -3
- package/package.json +1 -1
package/bin/agent-channel.mjs
CHANGED
|
@@ -11,8 +11,10 @@
|
|
|
11
11
|
// and every answer is posted back anchored at its thread's root, by `AgentMailboxBridge` over the RH2 adapter.
|
|
12
12
|
//
|
|
13
13
|
// The Room is found by its key (`--room-key`, default `account-<agent>`), or opened once when the organization has
|
|
14
|
-
// none: the principal (`--principal`, RH2's principal id)
|
|
15
|
-
//
|
|
14
|
+
// none: from the organization's preset (`--preset`) with the principal (`--principal`, RH2's principal id) and the agent
|
|
15
|
+
// both seated in the role the org's floor names (`--role`), and the agent answering every line of its conversation.
|
|
16
|
+
// Authority comes from a stated role: opening a Room without both is refused. `--room <id>` names an existing Room
|
|
17
|
+
// instead and opens nothing.
|
|
16
18
|
//
|
|
17
19
|
// RH2 is reached as the agent's own principal where the organization declares the agent (docs/adr/0017: `supercode
|
|
18
20
|
// orchestrator apps install rh2-agent … --profile <agent>` in the home, `--root` or HERMES_HOME), so its threads, its DM
|
|
@@ -37,10 +39,10 @@ import { installedApps } from '../installed-apps.mjs';
|
|
|
37
39
|
|
|
38
40
|
const { values } = parseArgs({
|
|
39
41
|
args: process.argv.slice(3),
|
|
40
|
-
options: { agent: { type: 'string' }, root: { type: 'string' }, room: { type: 'string' }, 'room-key': { type: 'string' }, 'room-name': { type: 'string' }, principal: { type: 'string' }, state: { type: 'string' }, platform: { type: 'string' }, site: { type: 'string' }, jql: { type: 'string' }, 'slack-channel': { type: 'string' }, help: { type: 'boolean' } },
|
|
42
|
+
options: { agent: { type: 'string' }, root: { type: 'string' }, room: { type: 'string' }, 'room-key': { type: 'string' }, 'room-name': { type: 'string' }, principal: { type: 'string' }, preset: { type: 'string' }, role: { type: 'string' }, state: { type: 'string' }, platform: { type: 'string' }, site: { type: 'string' }, jql: { type: 'string' }, 'slack-channel': { type: 'string' }, help: { type: 'boolean' } },
|
|
41
43
|
});
|
|
42
44
|
if (values.help || !values.agent) {
|
|
43
|
-
console.log('supercode-orchestrator agent-channel --agent <name> [--root <home>] [--room <id> | --room-key <key> --principal <rh2 principal id> [--room-name <name>]] [--state <file>]\n supercode-orchestrator agent-channel --agent <name> --platform slack --slack-channel <id>[,<id>] [--state <file>]\n supercode-orchestrator agent-channel --agent <name> --platform jira --site <url> --jql <jql> [--state <file>]');
|
|
45
|
+
console.log('supercode-orchestrator agent-channel --agent <name> [--root <home>] [--room <id> | --room-key <key> [--principal <rh2 principal id> --preset <preset id> --role <role key> [--room-name <name>]]] [--state <file>]\n supercode-orchestrator agent-channel --agent <name> --platform slack --slack-channel <id>[,<id>] [--state <file>]\n supercode-orchestrator agent-channel --agent <name> --platform jira --site <url> --jql <jql> [--state <file>]');
|
|
44
46
|
process.exit(values.help ? 0 : 2);
|
|
45
47
|
}
|
|
46
48
|
const log = (level, line) => (level === 'debug' ? undefined : console.error(`${new Date().toISOString()} ${level} ${line}`));
|
|
@@ -99,10 +101,15 @@ async function accountRoom() {
|
|
|
99
101
|
const found = (Array.isArray(listing) ? listing : listing.rooms ?? []).map((entry) => entry.room ?? entry).find((room) => room?.key === key && room.state === 'active');
|
|
100
102
|
if (found) return String(found.roomId);
|
|
101
103
|
if (!values.principal) throw new Error(`no active Room with key ${key}, and no --principal to open it for`);
|
|
104
|
+
// the Room's shape and the seats' role are the organization's (its floor names them), never this door's
|
|
105
|
+
const missing = ['preset', 'role'].filter((name) => !values[name]);
|
|
106
|
+
if (missing.length) throw new Error(`no active Room with key ${key}; opening one needs ${missing.map((name) => `--${name}`).join(' and ')} from the organization's floor (the preset the Room is made from and the role its principal and agent hold)`);
|
|
107
|
+
const seated = [...new Set([values.principal, adapter.principalId()])];
|
|
102
108
|
const { room } = await post('/rooms', {
|
|
103
109
|
key,
|
|
110
|
+
presetId: values.preset,
|
|
104
111
|
name: values['room-name'] ?? `${values.agent}`,
|
|
105
|
-
members:
|
|
112
|
+
members: seated.map((principalId) => ({ principalId, roleKeys: [values.role] })),
|
|
106
113
|
});
|
|
107
114
|
const view = await adapter.get(`/rooms/${encodeURIComponent(room.roomId)}`);
|
|
108
115
|
const conversation = view.room?.defaultConversationId;
|
package/loop.mjs
CHANGED
|
@@ -1032,9 +1032,8 @@ export function webhookPort(state) {
|
|
|
1032
1032
|
|
|
1033
1033
|
/**
|
|
1034
1034
|
* Claude Code's `can_use_tool` reaches the runtime as a native control request, not a normalized
|
|
1035
|
-
* `request
|
|
1036
|
-
*
|
|
1037
|
-
* the two the CLI accepts.
|
|
1035
|
+
* `request`. Its id is the CLI's `request_id` (a string, which is what the runtime's respond door
|
|
1036
|
+
* takes) and its answers are the two the CLI accepts.
|
|
1038
1037
|
*/
|
|
1039
1038
|
function claudePermissionRequest(payload) {
|
|
1040
1039
|
const request = payload?.request;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volter/supercode-orchestrator",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.69",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The orchestrator runtime over the Volter Harness ontology: one typed operational model whose folder is its serialization, read and written through the harness orchestration doors (docs/ORCHESTRATOR-IR.md)",
|
|
6
6
|
"exports": {
|