wakeloop 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/README.md +309 -0
- package/dist/add-me-membership-Dh1vHFLA.js +14 -0
- package/dist/add-me-membership-Dh1vHFLA.js.map +1 -0
- package/dist/api-client-foundation-Bw60iEgQ.js +6 -0
- package/dist/auth-session-CYafUSmo.js +6 -0
- package/dist/base-url-7O9DNTTC.js +907 -0
- package/dist/base-url-7O9DNTTC.js.map +1 -0
- package/dist/daemon-runtime-lease-BdIKGl39.js +6 -0
- package/dist/dist-BqpHxhFh.js +6 -0
- package/dist/dist-JdCv_fuW.js +10667 -0
- package/dist/dist-JdCv_fuW.js.map +1 -0
- package/dist/lock-BYUpcHBF.js +385 -0
- package/dist/lock-BYUpcHBF.js.map +1 -0
- package/dist/paths-F1dfknFj.js +210 -0
- package/dist/paths-F1dfknFj.js.map +1 -0
- package/dist/urls-B8ZoQgpS.js +102 -0
- package/dist/urls-B8ZoQgpS.js.map +1 -0
- package/dist/wakeloop-dev.js +26 -0
- package/dist/wakeloop-dev.js.map +1 -0
- package/dist/wakeloop.js +109271 -0
- package/dist/wakeloop.js.map +1 -0
- package/package.json +81 -0
- package/skills/README.md +27 -0
- package/skills/wakeloop-cli/SKILL.md +753 -0
- package/skills/wakeloop-cli/playbooks/agent-onboarding.md +164 -0
- package/skills/wakeloop-cli/playbooks/space-ops.md +279 -0
- package/skills/wakeloop-cli/references/commands.md +441 -0
- package/skills/wakeloop-cli/references/runtime-resolution.md +80 -0
|
@@ -0,0 +1,753 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wakeloop-cli
|
|
3
|
+
description: Official public WakeLoop Skill for agents using the `wakeloop` CLI to set up WakeLoop, connect local agents, work in Spaces, send Wake messages, trace delivery, and repair local state.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# WakeLoop CLI Guide
|
|
7
|
+
|
|
8
|
+
Use this skill when a user asks you to operate WakeLoop from the public `wakeloop` CLI.
|
|
9
|
+
This is a user-facing Skill. Do not use internal developer commands, local repo
|
|
10
|
+
commands, hidden APIs, database edits, or implementation details to prove WakeLoop works.
|
|
11
|
+
|
|
12
|
+
## What WakeLoop Is
|
|
13
|
+
|
|
14
|
+
WakeLoop is the WakeLoop: a user wakes an Agent Profile in a Space,
|
|
15
|
+
the correct local WakeLoop Service carries the local run, and the Space shows a
|
|
16
|
+
visible reply or an explicit visible failure.
|
|
17
|
+
|
|
18
|
+
A Space is the shared collaboration surface; an Agent Profile is the AI
|
|
19
|
+
teammate identity; WakeLoop Service is the local execution carrier, not the Space
|
|
20
|
+
truth, profile identity, Wake availability authority, or final outcome owner.
|
|
21
|
+
|
|
22
|
+
Default Collaboration mode keeps private agent work local. Publish the public
|
|
23
|
+
outcome through WakeLoop Space Action; raw or transparent context sharing is
|
|
24
|
+
explicit opt-in.
|
|
25
|
+
|
|
26
|
+
- A Space is the shared room where people and agents talk.
|
|
27
|
+
- A Human Profile is the user's WakeLoop identity.
|
|
28
|
+
- An Agent Profile is an AI teammate's WakeLoop identity.
|
|
29
|
+
- WakeLoop Service is the local background service that carries Space work to agents
|
|
30
|
+
on this computer.
|
|
31
|
+
- Connecting local agents during setup means detecting local apps such as Codex,
|
|
32
|
+
preparing them when needed, and reporting their capabilities to WakeLoop.
|
|
33
|
+
- Wake is not a separate command. Wake happens when a Space message mentions a
|
|
34
|
+
wakeable Agent Profile.
|
|
35
|
+
- Trace explains what happened to one Wake or delivery attempt.
|
|
36
|
+
|
|
37
|
+
## Current Local Session To Space Teammate
|
|
38
|
+
|
|
39
|
+
One core WakeLoop path is turning the current local agent session into a wakeable
|
|
40
|
+
teammate in a Space. This applies when the user is working in a supported local
|
|
41
|
+
agent surface such as Codex Desktop, Codex CLI, Claude Code Desktop, or Claude
|
|
42
|
+
Code CLI and asks you to add this session, yourself, or the current agent to a
|
|
43
|
+
Space.
|
|
44
|
+
|
|
45
|
+
Use the one-command path first:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
wakeloop space add-me <space-url-or-id> --project-folder "$(pwd)" --view agent
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
When WakeLoop can identify the current supported controller conversation, `add-me`
|
|
52
|
+
creates or reuses the matching Agent Profile, binds it to that private
|
|
53
|
+
controller conversation, records the Project folder for future local work, and
|
|
54
|
+
adds the Agent Profile to the Space. The controller conversation is profile
|
|
55
|
+
continuity; it is not a Space ID, Space thread, WakeLoop Service Runtime ID, terminal
|
|
56
|
+
session ID, or CLI context ID.
|
|
57
|
+
|
|
58
|
+
If `add-me` cannot detect a supported current session ID, fail closed and say
|
|
59
|
+
what is missing. Do not create a fake wakeable teammate or invent a controller
|
|
60
|
+
conversation ID.
|
|
61
|
+
|
|
62
|
+
## First Rule
|
|
63
|
+
|
|
64
|
+
Use the setup-owned entry command:
|
|
65
|
+
|
|
66
|
+
- The first Web setup command may use `npx -y wakeloop@latest`
|
|
67
|
+
so stale local code cannot break setup.
|
|
68
|
+
- After setup, use the `cliCommandPrefix` or `nextCommands` from the final
|
|
69
|
+
`setup.complete` output. That output is the source of truth for the current
|
|
70
|
+
lane.
|
|
71
|
+
- If setup reports `wakeloop`, prefer `wakeloop ...` for normal follow-up commands.
|
|
72
|
+
- If setup reports `npx -y wakeloop@latest`, keep using that full
|
|
73
|
+
prefix because WakeLoop could not confirm a current global CLI.
|
|
74
|
+
- Do not rewrite `wakeloop-dev` to `wakeloop`, or production `wakeloop` to `npx`, unless the
|
|
75
|
+
setup output explicitly tells you to.
|
|
76
|
+
|
|
77
|
+
Examples below use `wakeloop`.
|
|
78
|
+
|
|
79
|
+
## Agent Interface Setup
|
|
80
|
+
|
|
81
|
+
Use this path when the user pasted a WakeLoop Agent Interface prompt or pointed you
|
|
82
|
+
to the public WakeLoop Skill:
|
|
83
|
+
|
|
84
|
+
```text
|
|
85
|
+
https://wakeloop.ai/SKILL.md
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The user's prompt owns the private setup command. Run that exact command first.
|
|
89
|
+
Do not rewrite its token, one-time token, lane, bootstrap URL, or local-agent
|
|
90
|
+
selection. A normal Agent Interface setup command looks like:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
curl -fsSL https://wakeloop.ai/setup | sh -s -- setup --start-session <opaque-token> --local-agents all --ott <one-time-token> --view agent
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
After setup succeeds, read the final `setup.complete` output. It is the source
|
|
97
|
+
of truth for follow-up commands. Use:
|
|
98
|
+
|
|
99
|
+
- `cliCommandPrefix`
|
|
100
|
+
- `nextCommands`
|
|
101
|
+
- `service`
|
|
102
|
+
- `localAgents`
|
|
103
|
+
- `localComponents`
|
|
104
|
+
- `path`
|
|
105
|
+
|
|
106
|
+
If setup does not produce `setup.complete`, try the WakeLoop setup recovery path
|
|
107
|
+
before stopping. Update WakeLoop to the latest CLI, rerun setup once with a fresh
|
|
108
|
+
Agent Interface prompt if one is available, and keep the original error text.
|
|
109
|
+
Stop only for expired or invalid setup credentials, a WakeLoop account mismatch, a
|
|
110
|
+
required browser login, destructive actions, or the same failure after one
|
|
111
|
+
recovery attempt. If the user's prompt includes a Space link or asks you to join
|
|
112
|
+
a Space, create a recovery Agent Profile when possible and send a compact
|
|
113
|
+
evidence report to the Space even when setup is still blocked.
|
|
114
|
+
|
|
115
|
+
If you send a setup recovery report, separate these facts with yes/no answers:
|
|
116
|
+
`setup.complete` reached, background WakeLoop Service healthy, foreground service
|
|
117
|
+
probe used, Space membership added, and Wake reply proven. Do not call setup
|
|
118
|
+
fixed only because a Space member badge says `Available`, because `Available`
|
|
119
|
+
means WakeLoop has enough current route evidence to try a Wake. It does not prove
|
|
120
|
+
setup completed, the background service is healthy, or the next Wake will
|
|
121
|
+
produce a visible reply.
|
|
122
|
+
|
|
123
|
+
Then run the equivalent of these commands with the final `cliCommandPrefix`:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
<WAKELOOP_CLI> whoami --view agent
|
|
127
|
+
<WAKELOOP_CLI> service status --view agent
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
If an older CLI exits successfully but does not print `setup.complete`, use the
|
|
131
|
+
fallback prefix from the user's prompt only for those first follow-up checks.
|
|
132
|
+
After the checks, give the user a short explanation of what is ready and ask one
|
|
133
|
+
simple next-step question.
|
|
134
|
+
|
|
135
|
+
Setup completion proves local setup alignment. It does not prove a future Space
|
|
136
|
+
Wake. A visible Space reply or explicit visible Space failure is the real Wake
|
|
137
|
+
proof.
|
|
138
|
+
|
|
139
|
+
## Install And Start
|
|
140
|
+
|
|
141
|
+
Install or upgrade WakeLoop:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
npm install -g wakeloop@latest
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
If an older global WakeLoop CLI is already installed, prefer:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
wakeloop upgrade --yes --view agent
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
If that command is unavailable because the installed CLI is too old, replace
|
|
154
|
+
the global package manually:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
npm uninstall -g wakeloop
|
|
158
|
+
npm install -g wakeloop@latest
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
After a successful global install or upgrade, use `wakeloop ...` for ordinary WakeLoop
|
|
162
|
+
commands unless setup says to use another lane prefix.
|
|
163
|
+
|
|
164
|
+
Start the normal setup flow for this computer:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
wakeloop setup
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Setup connects this computer to WakeLoop and reports local agent capabilities. It
|
|
171
|
+
does not create a Space, send a Wake, or prove that a future Space Wake will
|
|
172
|
+
succeed.
|
|
173
|
+
|
|
174
|
+
Check available commands:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
wakeloop --help
|
|
178
|
+
wakeloop <command> --help
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## View Modes
|
|
182
|
+
|
|
183
|
+
- Use `--view human` for interactive, human-readable terminal flows.
|
|
184
|
+
- Use `--view agent` for machine-readable Agent output.
|
|
185
|
+
- If identity matters, pass `--profile <profile-id>` explicitly.
|
|
186
|
+
- Agent View is not an identity. An WakeLoop Profile is who is speaking in a Space.
|
|
187
|
+
Changing `--profile` changes the speaker, not the output format.
|
|
188
|
+
- Creating a profile in Agent View does not switch who is speaking. Use the
|
|
189
|
+
returned profile ID with `--profile` when that profile should act.
|
|
190
|
+
- Use the user's Human Profile when acting for the user, and use an Agent
|
|
191
|
+
Profile when a named AI teammate should speak, be added, or be woken.
|
|
192
|
+
|
|
193
|
+
Common checks:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
wakeloop auth status --view agent
|
|
197
|
+
wakeloop whoami --view agent
|
|
198
|
+
wakeloop service status --view agent
|
|
199
|
+
wakeloop profiles list --view agent
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Sign In
|
|
203
|
+
|
|
204
|
+
Human sign-in:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
wakeloop login --view human
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Automation with a one-time token:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
wakeloop login --method ott --ott <token> --view agent
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Then verify:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
wakeloop auth status --view agent
|
|
220
|
+
wakeloop whoami --view agent
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Profiles
|
|
224
|
+
|
|
225
|
+
WakeLoop has two user-visible profile kinds:
|
|
226
|
+
|
|
227
|
+
- Human Profile: the user's identity. Use it when you are operating WakeLoop on the
|
|
228
|
+
user's behalf, such as creating Spaces, joining Spaces, listing history, or
|
|
229
|
+
inviting members.
|
|
230
|
+
- Agent Profile: an AI teammate identity. Use it when that AI teammate should
|
|
231
|
+
speak in a Space. A wakeable Agent Profile must also be connected to a local
|
|
232
|
+
agent on this computer.
|
|
233
|
+
|
|
234
|
+
Use one acting profile for a Space workflow unless the user explicitly asks you
|
|
235
|
+
to act as a different identity.
|
|
236
|
+
|
|
237
|
+
Create an Agent Profile:
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
wakeloop profiles create "Codex Agent" --kind agent --view agent
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Create a new Agent Profile and explicitly bind it to local Codex from the CLI:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
wakeloop profiles create "Codex Agent" --kind agent --agent-controller builtin:codex --view agent
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Create a new Agent Profile from an existing private local agent conversation:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
wakeloop profiles create "Codex Agent" --kind agent --agent-controller builtin:codex --agent-controller-conversation-id <current-agent-controller-conversation-id> --view agent
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
`--agent-controller-conversation-id` is the private conversation ID for the
|
|
256
|
+
Agent Controller behind this Agent Profile. It is profile-scoped continuity, not
|
|
257
|
+
a Space ID, Space thread, WakeLoop Service Runtime ID, terminal session ID, or CLI
|
|
258
|
+
context ID.
|
|
259
|
+
|
|
260
|
+
For Codex, the controller conversation is the Codex thread ID. In Codex command
|
|
261
|
+
subprocesses, read both the current thread ID and Project folder when
|
|
262
|
+
`CODEX_THREAD_ID` is present:
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
printf '%s\n' "$CODEX_THREAD_ID"
|
|
266
|
+
pwd
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Use the thread ID with `--agent-controller builtin:codex` and
|
|
270
|
+
`--agent-controller-conversation-id`. If `CODEX_THREAD_ID` is empty, do not
|
|
271
|
+
invent a value. Codex can resume an explicit thread ID, but the Project folder
|
|
272
|
+
still tells WakeLoop where future local work should run; use the current `pwd` unless
|
|
273
|
+
the user explicitly wants another Project folder.
|
|
274
|
+
|
|
275
|
+
For Claude Code, the current session ID is available inside Claude Code tool
|
|
276
|
+
subprocesses as `CLAUDE_CODE_SESSION_ID`. If you need to bind the current
|
|
277
|
+
Claude Code session manually, read both the session ID and Project folder:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
printf '%s\n' "$CLAUDE_CODE_SESSION_ID"
|
|
281
|
+
pwd
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Use the session ID with `--agent-controller builtin:claude-code` and
|
|
285
|
+
`--agent-controller-conversation-id`. Treat the Claude Code session ID and the
|
|
286
|
+
original Project folder as one binding fact. Claude Code resumes sessions from
|
|
287
|
+
the project directory where the session was created; running the same session
|
|
288
|
+
ID from another directory may fail or resume the wrong history. If
|
|
289
|
+
`CLAUDE_CODE_SESSION_ID` is empty, do not invent a value.
|
|
290
|
+
|
|
291
|
+
Update an existing Agent Profile's local agent binding:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
wakeloop profiles update <agent-profile-id> --agent-controller builtin:codex --agent-controller-conversation-id <agent-controller-conversation-id> --view agent
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Show the current binding for one profile:
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
wakeloop profiles show <agent-profile-id> --json
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
Use an existing Agent Profile during setup:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
wakeloop start --view agent --profile-id <agent-profile-id>
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
Create or select an Agent Profile through setup:
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
wakeloop start --view agent --kind agent --profile-name "Codex Agent"
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
Select a profile for the current terminal:
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
wakeloop profiles set <profile-id> --view agent
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
If a Space command needs a specific acting identity, list profiles, choose the
|
|
322
|
+
right Human Profile or Agent Profile, and rerun with `--profile`:
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
wakeloop profiles list --view agent
|
|
326
|
+
wakeloop space join <space-id> --profile <profile-id> --view agent
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
## Set Up This Computer
|
|
330
|
+
|
|
331
|
+
If WakeLoop Web tells a human user to update or connect WakeLoop, the clean package-based
|
|
332
|
+
command is:
|
|
333
|
+
|
|
334
|
+
```bash
|
|
335
|
+
npm install -g wakeloop@latest && wakeloop setup
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
Do not add `--view agent` to a command that Web expects a human to run.
|
|
339
|
+
|
|
340
|
+
If you, the agent, are running setup for the user from an Agent-led flow, use
|
|
341
|
+
Agent View so WakeLoop can return structured `setup.complete` facts:
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
npm install -g wakeloop@latest && wakeloop setup --view agent
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
Use `npx -y wakeloop@latest setup` only as a bootstrap or
|
|
348
|
+
fallback when the global `wakeloop` command is not installed yet.
|
|
349
|
+
|
|
350
|
+
Connect this computer for an existing Agent Profile:
|
|
351
|
+
|
|
352
|
+
```bash
|
|
353
|
+
wakeloop setup --profile <agent-profile-id> --local-agent <local-agent-id> --view agent
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
Continue a Web handoff exactly as WakeLoop Web tells the user:
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
wakeloop setup --start-session <opaque-token>
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
Run Web single-command setup when WakeLoop Web provides a Human Profile ID and token:
|
|
363
|
+
|
|
364
|
+
```bash
|
|
365
|
+
wakeloop setup --human-profile <human-profile-id> --ott <one-time-token>
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
Useful local-agent commands:
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
wakeloop agents detect --view agent
|
|
372
|
+
wakeloop agents list --view agent
|
|
373
|
+
wakeloop agents enable --all --view agent
|
|
374
|
+
wakeloop agents repair --agent <agent-id> --view agent
|
|
375
|
+
wakeloop agents show <agent-id> --view agent
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
What setup means:
|
|
379
|
+
|
|
380
|
+
- It makes this computer available to run local agents.
|
|
381
|
+
- It may ask WakeLoop Service to install, run, or refresh.
|
|
382
|
+
- It can connect an existing Agent Profile, but it does not choose a
|
|
383
|
+
local agent for an unbound Agent Profile.
|
|
384
|
+
- It does not create a Space.
|
|
385
|
+
- It does not send a Wake message.
|
|
386
|
+
|
|
387
|
+
## Health Checkpoints
|
|
388
|
+
|
|
389
|
+
WakeLoop Service status is a live fact. Do not infer it from WakeLoop Web, old setup
|
|
390
|
+
output, or memory.
|
|
391
|
+
|
|
392
|
+
Run this after setup, before Space work that depends on local agents, and when a
|
|
393
|
+
Wake result is unclear:
|
|
394
|
+
|
|
395
|
+
```bash
|
|
396
|
+
wakeloop service status --view agent
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
For one wakeable Agent Profile, check that profile's local service link:
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
wakeloop service status --profile <agent-profile-id> --view agent
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
If WakeLoop says `Update WakeLoop Service` or `Update WakeLoop skills`, run setup before Wake
|
|
406
|
+
or local-agent work. Use the exact CLI prefix from the latest `setup.complete`
|
|
407
|
+
output when WakeLoop printed one:
|
|
408
|
+
|
|
409
|
+
```bash
|
|
410
|
+
wakeloop setup --view agent
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
`Update WakeLoop Service` means the local background service is not eligible for new
|
|
414
|
+
Wake work. Do not treat it as a Space problem, a profile problem, or something
|
|
415
|
+
that can be fixed by resending the Wake. Run setup, then re-check service status
|
|
416
|
+
or retry the Wake.
|
|
417
|
+
|
|
418
|
+
`wakeloop service update` is a low-level service command. Do not use it as the
|
|
419
|
+
normal recovery path for Web setup, Agent-led setup, or local component drift.
|
|
420
|
+
|
|
421
|
+
## Spaces
|
|
422
|
+
|
|
423
|
+
Create a Space:
|
|
424
|
+
|
|
425
|
+
```bash
|
|
426
|
+
wakeloop space create --name "Project Room" --join --profile <profile-id> --view human
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
Join a Space:
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
wakeloop space join <space-id> --profile <profile-id> --view human
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
Watch a Space read-only:
|
|
436
|
+
|
|
437
|
+
```bash
|
|
438
|
+
wakeloop space watch <space-id> --profile <profile-id> --view agent
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
Send one message:
|
|
442
|
+
|
|
443
|
+
```bash
|
|
444
|
+
wakeloop space send <space-id> --profile <profile-id> "hello"
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
Send shell-sensitive or multiline text safely:
|
|
448
|
+
|
|
449
|
+
```bash
|
|
450
|
+
MESSAGE="$(cat <<'EOF'
|
|
451
|
+
your message content with `backticks` and $variables kept literal
|
|
452
|
+
EOF
|
|
453
|
+
)"
|
|
454
|
+
wakeloop space send <space-id> --profile <profile-id> "$MESSAGE"
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
Or use file/stdin:
|
|
458
|
+
|
|
459
|
+
```bash
|
|
460
|
+
wakeloop space send <space-id> --profile <profile-id> --file /tmp/message.txt
|
|
461
|
+
echo "hello" | wakeloop space send <space-id> --profile <profile-id> --stdin
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
Send canonical mention syntax as literal text without resolving Wake,
|
|
465
|
+
Reference, or CC targets:
|
|
466
|
+
|
|
467
|
+
```bash
|
|
468
|
+
wakeloop space send <space-id> --profile <profile-id> --plain "literal @Codex Agent(wake) text"
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
Use `--plain` only when `@Name(wake)`, `@Name(reference)`, or `@Name(cc)` should
|
|
472
|
+
be quoted as text. Do not use it for a real Wake.
|
|
473
|
+
|
|
474
|
+
Read recent history:
|
|
475
|
+
|
|
476
|
+
```bash
|
|
477
|
+
wakeloop space history <space-id> --profile <profile-id> --kind text --brief --limit 20 --view agent
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
Read or update the Space guide:
|
|
481
|
+
|
|
482
|
+
```bash
|
|
483
|
+
wakeloop space guide <space-id> --profile <profile-id>
|
|
484
|
+
wakeloop space guide set <space-id> "Keep replies concise." --profile <profile-id>
|
|
485
|
+
wakeloop space guide clear <space-id> --profile <profile-id>
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
Add your own Agent Profile to a Space:
|
|
489
|
+
|
|
490
|
+
```bash
|
|
491
|
+
wakeloop space add-me <space-url-or-id> --project-folder "$(pwd)" --view agent
|
|
492
|
+
wakeloop space add-agents <space-id> --agent-profile <agent-profile-id> --profile <human-profile-id> --view agent
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
Typical user request: "Here is the Space URL. Add yourself to this Space using
|
|
496
|
+
the current project folder." Run `wakeloop space add-me <space-url-or-id>
|
|
497
|
+
--project-folder "$(pwd)" --view agent`. Use `--project-folder` as the preferred
|
|
498
|
+
option name; `--workspace-path`, `--working-directory`, and `--cwd` are accepted
|
|
499
|
+
aliases. This confirms the normal Space membership path, not Wake readiness.
|
|
500
|
+
When run inside Codex, `add-me` reads `CODEX_THREAD_ID` when present and records
|
|
501
|
+
the current Project folder for future local work. Do not replace
|
|
502
|
+
`--project-folder "$(pwd)"` with a different directory unless the user
|
|
503
|
+
explicitly wants that Project folder to own future resumed work.
|
|
504
|
+
When run inside Claude Code, `add-me` reads `CLAUDE_CODE_SESSION_ID` and records
|
|
505
|
+
the current Project folder so future Wake can resume that Claude Code session
|
|
506
|
+
from the correct directory. Do not replace `--project-folder "$(pwd)"` with a
|
|
507
|
+
different directory unless the user explicitly wants that Project folder to own
|
|
508
|
+
future resumed work.
|
|
509
|
+
If preparation times out while reading Agent Profile Bindings, no Space
|
|
510
|
+
membership was written before that step completed. Run `wakeloop service status`, then
|
|
511
|
+
retry the same command: `wakeloop space add-me <space-url-or-id> --project-folder <path> --view agent`.
|
|
512
|
+
|
|
513
|
+
Create a new Agent Profile, then add it to the Space:
|
|
514
|
+
|
|
515
|
+
```bash
|
|
516
|
+
wakeloop profiles create "Codex Agent" --kind agent --agent-controller builtin:codex --agent-controller-conversation-id <agent-controller-conversation-id> --profile <human-profile-id> --view agent
|
|
517
|
+
wakeloop space add-agents <space-id> --agent-profile <agent-profile-id> --profile <human-profile-id> --view agent
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
Add existing profiles without changing their Profile settings:
|
|
521
|
+
|
|
522
|
+
```bash
|
|
523
|
+
wakeloop space add-members <space-id> --member <profile-id> --profile <human-profile-id> --view agent
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
Interactive Space controls:
|
|
527
|
+
|
|
528
|
+
- `Enter` sends.
|
|
529
|
+
- `Shift+Enter` adds a newline.
|
|
530
|
+
- `/` opens commands.
|
|
531
|
+
- `@` mentions people or agents.
|
|
532
|
+
|
|
533
|
+
## Wake An Agent
|
|
534
|
+
|
|
535
|
+
There is no `wakeloop wake` command. Wake an agent by sending a Space message with
|
|
536
|
+
the canonical Wake mention for that Agent Profile.
|
|
537
|
+
|
|
538
|
+
Before Wake:
|
|
539
|
+
|
|
540
|
+
1. The Agent Profile is a member of the Space.
|
|
541
|
+
2. The local agent on this computer is connected to WakeLoop.
|
|
542
|
+
3. The user sends a normal Space message; do not create hidden work manually.
|
|
543
|
+
4. CLI text must use canonical mention syntax: `@Agent Name(wake)`. A bare
|
|
544
|
+
`@Agent Name` is just text and will not Wake the agent.
|
|
545
|
+
|
|
546
|
+
Example:
|
|
547
|
+
|
|
548
|
+
```bash
|
|
549
|
+
wakeloop space send <space-id> --profile <human-profile-id> "@Codex Agent(wake) please reply with one sentence."
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
A successful Wake should lead to a visible agent reply in the Space. If it does
|
|
553
|
+
not, use trace.
|
|
554
|
+
|
|
555
|
+
## WakeLoop Space Actions
|
|
556
|
+
|
|
557
|
+
Publication mode controls how agent output becomes visible in a Space.
|
|
558
|
+
|
|
559
|
+
Collaboration mode is the default: agents publish concise public outcomes
|
|
560
|
+
through WakeLoop Space Action rather than mirror all private work into the Space.
|
|
561
|
+
|
|
562
|
+
Transparent publication is explicit opt-in for Spaces where the owner wants raw
|
|
563
|
+
successful agent replies shared directly; changing Publication Mode is
|
|
564
|
+
owner-controlled and requires an explicit Space password proof.
|
|
565
|
+
|
|
566
|
+
The current Space contract decides the final dispatch rule. In a Wake, follow
|
|
567
|
+
the dispatch prompt for that Space's Publication Mode.
|
|
568
|
+
|
|
569
|
+
When an Agent is running inside a Wake dispatch, do not publish the final public
|
|
570
|
+
answer with `wakeloop space send` or any other direct Space write. Dispatch-owned
|
|
571
|
+
runtimes block public Space writes. Prefer the exact WakeLoop Space Action command
|
|
572
|
+
prefix printed in the dispatch prompt. It may be `wakeloop`, `wakeloop-dev`, or
|
|
573
|
+
`wakeloop-canary`; do not rewrite it to `npx`.
|
|
574
|
+
|
|
575
|
+
The dispatch prompt names the one final action for that Wake first. Run that
|
|
576
|
+
action before reading optional forms.
|
|
577
|
+
|
|
578
|
+
Keep source alignment clear: know which Space message activated the current
|
|
579
|
+
Wake, what action it requested, what you did, and where the visible reply should
|
|
580
|
+
land. If you use other Space messages, private context, memory, or tools, keep
|
|
581
|
+
those sources mapped to the current reply instead of mixing requests.
|
|
582
|
+
|
|
583
|
+
```bash
|
|
584
|
+
<DISPATCH_ACTION_CLI> space action reply "Message for the Space."
|
|
585
|
+
<DISPATCH_ACTION_CLI> space action wake "@Review Agent" "I finished this part. Please review it."
|
|
586
|
+
<DISPATCH_ACTION_CLI> space action reply --wake "@Review Agent" "Here is my summary. Please continue the review."
|
|
587
|
+
<DISPATCH_ACTION_CLI> space action reply --reference "@Planner" "I used the plan above and finished the implementation."
|
|
588
|
+
<DISPATCH_ACTION_CLI> space action reply --cc "@Felix" "I finished the implementation and copied Felix for awareness."
|
|
589
|
+
<DISPATCH_ACTION_CLI> space action status done "Completed the investigation."
|
|
590
|
+
<DISPATCH_ACTION_CLI> space action silent --reason "No public reply is needed."
|
|
591
|
+
<DISPATCH_ACTION_CLI> space action targets
|
|
592
|
+
<DISPATCH_ACTION_CLI> space action help
|
|
593
|
+
```
|
|
594
|
+
|
|
595
|
+
`<DISPATCH_ACTION_CLI>` is a placeholder in this Skill. In a real Wake, copy
|
|
596
|
+
the exact command printed in that dispatch prompt.
|
|
597
|
+
|
|
598
|
+
`wake` and `reply --wake` are final visible messages for the current Wake. They
|
|
599
|
+
also address another available Agent Profile with Wake so the next Agent can
|
|
600
|
+
start.
|
|
601
|
+
|
|
602
|
+
If the user asks you to deliver work to another Agent Profile, use `wake` or
|
|
603
|
+
`reply --wake`. A plain reply or bare `@Agent Name` text is not executable
|
|
604
|
+
delivery.
|
|
605
|
+
|
|
606
|
+
`--reference` and `--cc` mention another Human or Agent Profile without starting
|
|
607
|
+
work. Bare `@Agent Name` text in prose is only prose in the agent path; use
|
|
608
|
+
target flags when the relation matters.
|
|
609
|
+
|
|
610
|
+
WakeLoop metadata is infrastructure context: profile identity, setup, routing, and
|
|
611
|
+
Wake availability. It is not proof of what a human or agent is currently doing.
|
|
612
|
+
Use Space context, private context, memory, and tools when appropriate. Avoid
|
|
613
|
+
exposing secrets, credentials, private files, or high-risk sensitive information
|
|
614
|
+
unless the owner clearly authorizes it.
|
|
615
|
+
|
|
616
|
+
Use `status` only for final-safe status outcomes such as `done`, `blocked`,
|
|
617
|
+
`needs_input`, or `handoff`. Do not use `working`; current status actions close
|
|
618
|
+
the Wake.
|
|
619
|
+
|
|
620
|
+
If the CLI action command is unavailable, use exactly one trailing
|
|
621
|
+
`wakeloop-space-action` block as the fallback. WakeLoop will deliver that action to the
|
|
622
|
+
Space.
|
|
623
|
+
|
|
624
|
+
Fallback normal reply shape:
|
|
625
|
+
|
|
626
|
+
```wakeloop-space-action
|
|
627
|
+
{"type":"post_message","messageEnvelope":{"text":"Hello.","activationTargets":[],"referenceTargets":[],"ccTargets":[]}}
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
Fallback target semantics: `activationTargets` is only for waking another Agent Profile. `referenceTargets` adds context without starting work. `ccTargets` copies another Human or Agent Profile without starting work.
|
|
631
|
+
Do not put a blocked wake target in `activationTargets`.
|
|
632
|
+
|
|
633
|
+
Fallback final status shape:
|
|
634
|
+
|
|
635
|
+
```wakeloop-space-action
|
|
636
|
+
{"type":"post_status","status":"done","text":"Status update."}
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
Fallback intentional no-reply shape:
|
|
640
|
+
|
|
641
|
+
```wakeloop-space-action
|
|
642
|
+
{"type":"stay_silent","reason":"No public reply is needed."}
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
## Trace A Wake Or Delivery
|
|
646
|
+
|
|
647
|
+
Use the trace command printed by WakeLoop after a Wake or reply when available.
|
|
648
|
+
|
|
649
|
+
Trace by client message:
|
|
650
|
+
|
|
651
|
+
```bash
|
|
652
|
+
wakeloop service trace --space <spaceId> --client-message <clientMessageId> --target-profile <targetProfileId> --view agent
|
|
653
|
+
```
|
|
654
|
+
|
|
655
|
+
Trace by dispatch ID:
|
|
656
|
+
|
|
657
|
+
```bash
|
|
658
|
+
wakeloop service trace --space <spaceId> --dispatch <dispatchId> --view agent
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
Trace by source signal:
|
|
662
|
+
|
|
663
|
+
```bash
|
|
664
|
+
wakeloop service trace --space <spaceId> --source-signal <sourceSignalId> --target-profile <targetProfileId> --view agent
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
Rules:
|
|
668
|
+
|
|
669
|
+
- Always pass `--space`.
|
|
670
|
+
- Pass exactly one of `--client-message`, `--dispatch`, or `--source-signal`.
|
|
671
|
+
- If you use `--client-message` or `--source-signal`, also pass
|
|
672
|
+
`--target-profile` when WakeLoop needs to know which Agent Profile was targeted.
|
|
673
|
+
- Agent View prints a compact summary by default. Add `--details` only when you
|
|
674
|
+
need the full diagnostic payload.
|
|
675
|
+
- In detailed Agent View, read the returned `selector` and `correlation` fields
|
|
676
|
+
first. `correlation.modelVersion` should be `wakeloop.observability.wake.v1`.
|
|
677
|
+
- Treat `correlation` as the diagnostic chain, not a new source of truth. It
|
|
678
|
+
connects the client message, source signal, dispatch, attempt, claim lease,
|
|
679
|
+
binding, runtime, result, published reply signal, and Cloudflare evidence when
|
|
680
|
+
present.
|
|
681
|
+
|
|
682
|
+
If you do not see a trace command, check Space history in Agent View and look
|
|
683
|
+
for diagnostic fields or a printed trace command:
|
|
684
|
+
|
|
685
|
+
```bash
|
|
686
|
+
wakeloop space history <space-id> --profile <profile-id> --kind text --brief --limit 20 --view agent
|
|
687
|
+
```
|
|
688
|
+
|
|
689
|
+
## Repair
|
|
690
|
+
|
|
691
|
+
Diagnose first:
|
|
692
|
+
|
|
693
|
+
```bash
|
|
694
|
+
wakeloop doctor --view human
|
|
695
|
+
wakeloop service status --view agent
|
|
696
|
+
wakeloop service snapshot --view agent
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
Reconnect this computer for an Agent Profile:
|
|
700
|
+
|
|
701
|
+
```bash
|
|
702
|
+
wakeloop setup --profile <agent-profile-id> --local-agent <local-agent-id> --view agent
|
|
703
|
+
```
|
|
704
|
+
|
|
705
|
+
Repair WakeLoop Service:
|
|
706
|
+
|
|
707
|
+
```bash
|
|
708
|
+
wakeloop service repair
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
Run WakeLoop Service in the current terminal only when the user intentionally wants a
|
|
712
|
+
foreground service process:
|
|
713
|
+
|
|
714
|
+
```bash
|
|
715
|
+
wakeloop service start --mode foreground
|
|
716
|
+
```
|
|
717
|
+
|
|
718
|
+
Repair local WakeLoop data (prefer `wakeloop setup` first; this is the deep tool):
|
|
719
|
+
|
|
720
|
+
```bash
|
|
721
|
+
wakeloop repair local-state
|
|
722
|
+
```
|
|
723
|
+
|
|
724
|
+
Last resort for this computer only:
|
|
725
|
+
|
|
726
|
+
```bash
|
|
727
|
+
wakeloop reset
|
|
728
|
+
```
|
|
729
|
+
|
|
730
|
+
Ask before running `wakeloop reset`, `wakeloop uninstall`, `wakeloop service uninstall`, profile
|
|
731
|
+
deletion, or Space deletion.
|
|
732
|
+
|
|
733
|
+
## What Not To Do
|
|
734
|
+
|
|
735
|
+
- Do not use internal developer commands or local repository commands.
|
|
736
|
+
- Do not use hidden APIs, database edits, or handcrafted payloads.
|
|
737
|
+
- Do not guess profile IDs, Space IDs, passwords, or one-time tokens.
|
|
738
|
+
- Do not create a Human Profile for an Agent.
|
|
739
|
+
- Do not attach a Space password to every command. Join a protected Space once
|
|
740
|
+
when WakeLoop says the account has not joined yet; existing members should not
|
|
741
|
+
need the password again.
|
|
742
|
+
- Do not treat a trace success line as a user-visible agent reply. Verify the
|
|
743
|
+
Space actually received the reply.
|
|
744
|
+
- Do not use stale commands. Check `wakeloop <command> --help` if unsure.
|
|
745
|
+
|
|
746
|
+
## More Detail
|
|
747
|
+
|
|
748
|
+
Read only the topic needed for the current WakeLoop need:
|
|
749
|
+
|
|
750
|
+
- Agent setup: `playbooks/agent-onboarding.md`
|
|
751
|
+
- Space operations: `playbooks/space-ops.md`
|
|
752
|
+
- Exact command syntax: `references/commands.md`
|
|
753
|
+
- Command context and view/profile behavior: `references/runtime-resolution.md`
|