viber-channel 0.8.25 → 0.8.28
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/lib/capabilities.ts +46 -12
- package/package.json +1 -1
package/lib/capabilities.ts
CHANGED
|
@@ -44,40 +44,70 @@ export function capabilitiesText(channelVersion: string | null = null): string {
|
|
|
44
44
|
" viber-gateway launch-team <template> --prefix <p> [--team <t>] [--env dev|staging]",
|
|
45
45
|
" [--cwd <dir>]",
|
|
46
46
|
" → --env defaults to staging (the stable channel: agents register with no trust",
|
|
47
|
-
" prompt; use it for working teams).
|
|
48
|
-
"
|
|
49
|
-
"
|
|
47
|
+
" prompt; use it for working teams). Built-in template: dev-team (dev lead + 2",
|
|
48
|
+
" reviewers). NAMES: each agent is <prefix>-<role>, the team is --team, else the",
|
|
49
|
+
" prefix. Example: template dev-team, --prefix i700 → agents i700-dev-lead,",
|
|
50
|
+
" i700-review-opus, i700-review-codex, all in team \"i700\".",
|
|
51
|
+
" ⚠ TRAP — --team DEFAULTS TO THE PREFIX. If you launch a child with a prefix that",
|
|
52
|
+
" is (or collides with) YOUR OWN team name, the child JOINS YOUR TEAM, and a later",
|
|
53
|
+
" `dissolve --team <that name>` stops and revokes EVERY other member of it (it",
|
|
54
|
+
" skips only you, its caller). So: give the child a DISTINCT --team, and dissolve",
|
|
55
|
+
" one agent with `dissolve --agent <launch-id>`, never --team on a shared team",
|
|
56
|
+
" (it acts only on members launched from that registry). What must be unique is",
|
|
57
|
+
" the full LABEL <prefix>-<role>: same label = same identity and lock (#293).",
|
|
58
|
+
" E.g. w651-agent (prefix w651) may launch a role child with --prefix w651: label",
|
|
59
|
+
" w651-child differs, so that is fine — but pass a distinct --team (w651-child).",
|
|
60
|
+
"WHICH \"dev-team\"? The name is resolved per path, not globally:",
|
|
61
|
+
" launch-team → the entry of .viber/agent-teams.json with that name if any (it",
|
|
62
|
+
" REPLACES the built-in entirely), else the built-in. The web (New team / Add agent)",
|
|
63
|
+
" → the owner's database template of that name. Same name, possibly three rosters.",
|
|
64
|
+
" When you copy a web template into agent-teams.json, give it a DISTINCT name.",
|
|
50
65
|
" Output is verbose; only these lines matter:",
|
|
51
66
|
" team: verdict COMPLETE|INCOMPLET — N member(s)",
|
|
52
|
-
" member <
|
|
53
|
-
"
|
|
54
|
-
"
|
|
67
|
+
" member <agent-name>: launch <launch-id> — spec … (<runtime>)",
|
|
68
|
+
" printed first: maps each agent NAME to its launch-id",
|
|
69
|
+
" member <launch-id>: <outcome>",
|
|
70
|
+
" printed after: launched = success; anything else",
|
|
71
|
+
" (existing, unknown, no-outcome-published): read the counts",
|
|
55
72
|
" INCOMPLET: read missing / mayHaveTree / treeUnknown — mayHaveTree means a process",
|
|
56
73
|
" tree may exist anyway: dissolve it before relaunching.",
|
|
57
74
|
" team: REFUSED before anything was created — <why> (nothing was launched)",
|
|
75
|
+
" Keep the launch-id: it is what `dissolve --agent` takes — format",
|
|
76
|
+
" launch-<32 hex> (e.g. launch-03f927dc283f94f521b06ee573a9f582); from Viber app",
|
|
77
|
+
" 0.7.22 on, the bare 32 hex is accepted too (older: pass the launch- prefix);",
|
|
78
|
+
" read it on the \"member launch-…: launched\" line.",
|
|
58
79
|
" ONLINE DELAY: up to ~45 s after the agent has started, plus the runtime boot",
|
|
59
80
|
" (runner beat every 30 s + coverage re-read every 15 s). An empty list_agents right",
|
|
60
|
-
" after launching is NOT a failure:
|
|
61
|
-
"
|
|
62
|
-
"
|
|
81
|
+
" after launching is NOT a failure. Wait simply: call list_agents with",
|
|
82
|
+
" label_prefix \"<prefix>-\" and online: true every ~10 s, for at most ~60 s; past",
|
|
83
|
+
" that, check that the Viber app is running.",
|
|
84
|
+
"ONE AGENT ALONE = a one-role team. KNOWN LIMIT: launch-team has no --name and no solo",
|
|
85
|
+
"shortcut: add a one-role template to .viber/agent-teams.json (merged with the",
|
|
63
86
|
"built-ins; an entry with a built-in's name REPLACES it entirely), then launch it:",
|
|
64
87
|
" {\"teams\":{\"solo\":{\"roles\":[{\"role\":\"dev\",\"runtime\":\"claude\",",
|
|
65
88
|
" \"permission\":\"read-write\",\"rolePrompt\":\"You are the dev of {prefix}.\"}]}}}",
|
|
66
|
-
" viber-gateway launch-team solo --prefix g1
|
|
89
|
+
" viber-gateway launch-team solo --prefix g1 --team g1-solo",
|
|
90
|
+
" → agent \"g1-dev\", team \"g1-solo\"",
|
|
67
91
|
" runtime: claude|codex|gemma · permission: read-only|read-write (gemma: read-only",
|
|
68
92
|
" only; all roles of one template must share one permission) · count optional;",
|
|
69
93
|
" model: leave it OUT (runtime default) UNLESS the owner explicitly asks for one.",
|
|
94
|
+
" CLEAN UP: .viber/agent-teams.json is SHARED by everyone launching from that",
|
|
95
|
+
" folder — once launched, remove the entry you added (the running agent does not",
|
|
96
|
+
" need it; only a new launch-team would).",
|
|
70
97
|
" (On the web, sidebar ⋯ → Add agent launches ONE named agent without a template edit.)",
|
|
71
98
|
"",
|
|
72
99
|
"DISSOLVE (stops the processes, then revokes the proven-stopped instances):",
|
|
73
100
|
" viber-gateway dissolve --team <t> | --agent <launch-id> --dir <registry>",
|
|
74
101
|
" [--auth <auth.json>] [--base-url <url>]",
|
|
75
102
|
" --dir is REQUIRED, no default (exit 2 without it; refused under %TEMP%). For agents",
|
|
76
|
-
" launched by the app or launch-team, pass it in full
|
|
77
|
-
" --dir \"$env:LOCALAPPDATA\\Viber\\.viber\\gateway-registry\"",
|
|
103
|
+
" launched by the app or launch-team, pass it in full:",
|
|
104
|
+
" PowerShell: --dir \"$env:LOCALAPPDATA\\Viber\\.viber\\gateway-registry\"",
|
|
105
|
+
" bash: --dir \"$LOCALAPPDATA/Viber/.viber/gateway-registry\"",
|
|
78
106
|
" (the app home is %LOCALAPPDATA%\\Viber unless VIBER_APP_HOME is set).",
|
|
79
107
|
" --auth defaults to VIBER_AUTH_FILE, else .viber/auth.json; --base-url to",
|
|
80
108
|
" VIBER_BASE_URL, else https://viber.dgypx.dev (the stable backend) — in dev pass both.",
|
|
109
|
+
" An id matching no record prints \"no record <id>\" and EXITS 2: nothing",
|
|
110
|
+
" was dissolved. Read the exit code directly, never through a pipe (| tail gives 0).",
|
|
81
111
|
" It never kills its caller. LIMIT: an agent already dead whose stop it cannot prove",
|
|
82
112
|
" is reported \"stop NOT proven, not revoked\" — revoke it from the web sidebar instead.",
|
|
83
113
|
"",
|
|
@@ -93,6 +123,10 @@ export function capabilitiesText(channelVersion: string | null = null): string {
|
|
|
93
123
|
"relaunch the label repeats and the old id is dead) + message_agent.",
|
|
94
124
|
"ORCHESTRATOR (#307): only the OWNER can mark an instance orchestrator (web project",
|
|
95
125
|
"page). Then list_agents/message_agent cover ALL the owner's projects.",
|
|
126
|
+
"AM I ORCHESTRATOR? Call team_templates with action list: a list means yes; a 403",
|
|
127
|
+
"means no, and its detail says why — flag not set (ask the owner to turn it on) or",
|
|
128
|
+
"\"this agent is closed\" (the flag will not help). Do not retry. With the flag, list_agents",
|
|
129
|
+
"entries also carry a `project` field.",
|
|
96
130
|
"",
|
|
97
131
|
"TEAM TEMPLATES (team_templates tool, orchestrator only; 403 otherwise, do not retry):",
|
|
98
132
|
"acts on ALL the owner's templates, across every project — only on the owner's",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "viber-channel",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.28",
|
|
4
4
|
"description": "Voice + text MCP channel between a Claude Code session and the Viber UI (https://viber.dgypx.dev). Push transcripts to Claude; send_message tool delivers text back to the UI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|