@workser/cli 0.6.3 → 0.6.5
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/index.js
CHANGED
|
@@ -4092,8 +4092,12 @@ user's machine remotely \u2014 you're getting it locally, gated by the same safe
|
|
|
4092
4092
|
destructive commands, rate limits. Refusals are the policy working, not a bug to
|
|
4093
4093
|
route around.
|
|
4094
4094
|
- **Sensitive actions are approval-gated.** Writing or deleting files, running a shell
|
|
4095
|
-
command, clicking or typing may return \`awaiting_approval\` (exit 5) \u2014
|
|
4096
|
-
|
|
4095
|
+
command, clicking or typing may return \`awaiting_approval\` (exit 5) \u2014 this is
|
|
4096
|
+
usually an unattended run, so nobody is necessarily watching for it. Say plainly
|
|
4097
|
+
that it needs approval in Orbit and **stop this turn**. Never write a retry loop,
|
|
4098
|
+
a polling script, or a sleep-and-recheck command around it \u2014 that spends the whole
|
|
4099
|
+
run spin-waiting on a click and will simply time out. The same command works on
|
|
4100
|
+
its own, the next time it runs, once approved.
|
|
4097
4101
|
- **You already have your own tools.** For editing files in this repo, use them. Reach
|
|
4098
4102
|
for \`workser tool\` when you need something *outside* the project \u2014 the screen, the
|
|
4099
4103
|
clipboard, a browser, another app on the machine.
|
|
@@ -4128,7 +4132,8 @@ workser auth status # is auth enabled? + Neon auth mode
|
|
|
4128
4132
|
- **\`db url\` is a credential.** Don't print it into the conversation, don't paste it
|
|
4129
4133
|
into a file the user will commit. The app gets it from its environment already.
|
|
4130
4134
|
- **Writes are approval-gated.** A \`db query\` that mutates may return
|
|
4131
|
-
\`awaiting_approval\` (exit 5).
|
|
4135
|
+
\`awaiting_approval\` (exit 5). Say it needs approval in Orbit and stop this turn \u2014
|
|
4136
|
+
don't loop or poll waiting for it; the same command works once it's approved.
|
|
4132
4137
|
- **\`DROP\` / \`TRUNCATE\` are refused** by the safety policy. Change schema with a
|
|
4133
4138
|
migration in the app's own migration folder, not with a destructive one-off.
|
|
4134
4139
|
- **The database is the project's, not the app's.** Sibling apps in the same project
|
|
@@ -4292,17 +4297,19 @@ Settings \u2014 \`workser env\` \u2014 are their own topic: \`workser help env\`
|
|
|
4292
4297
|
- **\`promote\` and \`rollback\` are the same upstream call and two commands on
|
|
4293
4298
|
purpose.** Promote ships the newest build; rollback puts version N back. Both
|
|
4294
4299
|
ask the owner and return exit 7 (\`awaiting_approval\`) until they answer \u2014 and
|
|
4295
|
-
that gate holds even on a "just do it" run.
|
|
4300
|
+
that gate holds even on a "just do it" run. Say so and stop this turn; don't
|
|
4301
|
+
loop or poll for the answer (see the \`awaiting_approval\` note below).
|
|
4296
4302
|
- **There is no \`deployments cancel\`.** Nothing upstream can stop a build that is
|
|
4297
4303
|
already running. Wait for it and then promote or roll back.
|
|
4298
4304
|
- **\`--watch\` blocks until there's a live URL.** Without it you get a deploy id and
|
|
4299
4305
|
have to poll \`deploy status\`.
|
|
4300
4306
|
- **\`domain add\` and \`domain rm\` ask the owner to confirm** and return exit 7
|
|
4301
|
-
(\`awaiting_approval\`) until they do \u2014
|
|
4302
|
-
|
|
4303
|
-
|
|
4304
|
-
|
|
4305
|
-
|
|
4307
|
+
(\`awaiting_approval\`) until they do \u2014 say plainly that it needs approval in
|
|
4308
|
+
Orbit and stop this turn; the same command works on its own once it's approved,
|
|
4309
|
+
so don't write a retry loop or poll for it. Domains Workser owns (\`workser.ai\`
|
|
4310
|
+
and its subdomains) and hostnames the hosting provider assigns (\`*.vercel.app\`)
|
|
4311
|
+
are refused outright: those are not attachable, and the app's own preview and
|
|
4312
|
+
live URLs already exist without attaching anything.
|
|
4306
4313
|
|
|
4307
4314
|
## After a successful deploy
|
|
4308
4315
|
|
|
@@ -10625,7 +10632,7 @@ function colour(d) {
|
|
|
10625
10632
|
|
|
10626
10633
|
// src/index.ts
|
|
10627
10634
|
var pkg = {
|
|
10628
|
-
version: true ? "0.6.
|
|
10635
|
+
version: true ? "0.6.5" : "0.0.0-dev"
|
|
10629
10636
|
};
|
|
10630
10637
|
var program2 = new Command();
|
|
10631
10638
|
program2.name("workser").description(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workser/cli",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.5",
|
|
4
4
|
"description": "Workser CLI — give your local AI agent native DevOps & infrastructure on Workser. The agent runs `workser …` to provision, deploy, and manage real apps.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
package/skills/workser/SKILL.md
CHANGED
|
@@ -56,7 +56,7 @@ You operate on **one project's own infrastructure**. You *can* provision and use
|
|
|
56
56
|
create the Neon database, read its connection string, browse its tables / rows / run
|
|
57
57
|
SQL, provision the bucket + auth, deploy, set env vars, manage files. Sensitive
|
|
58
58
|
actions are **gated** — the daemon may return `error.code = "awaiting_approval"`
|
|
59
|
-
(exit 5)
|
|
59
|
+
(exit 5); say so, stop, don't loop (rule 5).
|
|
60
60
|
|
|
61
61
|
What you **cannot** do is administer the project set or destroy config:
|
|
62
62
|
`project create` · `project use` · `env rm` · `domain set` return
|
|
@@ -85,9 +85,10 @@ pick or switch it.
|
|
|
85
85
|
reserved for the owner in Orbit. Don't retry or look for a workaround — tell the
|
|
86
86
|
user, then continue. Provisioning the *pinned project's own* db / bucket / auth is
|
|
87
87
|
allowed (it may be approval-gated, not owner-only).
|
|
88
|
-
5. **Approvals are normal.**
|
|
89
|
-
`{"error":{"code":"awaiting_approval"}}` (exit 5)
|
|
90
|
-
|
|
88
|
+
5. **Approvals are normal — likely unattended, nobody watching.** An action may
|
|
89
|
+
return `{"error":{"code":"awaiting_approval"}}` (exit 5). Say so, **stop this
|
|
90
|
+
turn** — never a retry loop or sleep-and-recheck, it just times out. Works next
|
|
91
|
+
time, once approved.
|
|
91
92
|
6. **Never ask for or store credentials.** Auth is handled by Orbit; you never see keys.
|
|
92
93
|
7. **Verify before "done".** Before telling the user a task is complete, run
|
|
93
94
|
`workser verify --json` (runs the project's typecheck/lint/build). If it
|
|
@@ -119,7 +120,7 @@ workser deploy --prod --watch --json # 8. ship; returns the stable
|
|
|
119
120
|
- `unauthorized` → user needs to authenticate.
|
|
120
121
|
- `no_project` → no project is linked here; the user links it in Orbit.
|
|
121
122
|
- `owner_only` → an owner action; tell the user to do it in Orbit, then continue.
|
|
122
|
-
- `awaiting_approval` →
|
|
123
|
+
- `awaiting_approval` → someone must approve in Orbit; say so, stop, don't poll.
|
|
123
124
|
- `needs_local_app` → this machine has no Workser app, so folder commands
|
|
124
125
|
can't run. Say so; don't reach for `git` instead.
|
|
125
126
|
|
|
@@ -28,8 +28,12 @@ user's machine remotely — you're getting it locally, gated by the same safety
|
|
|
28
28
|
destructive commands, rate limits. Refusals are the policy working, not a bug to
|
|
29
29
|
route around.
|
|
30
30
|
- **Sensitive actions are approval-gated.** Writing or deleting files, running a shell
|
|
31
|
-
command, clicking or typing may return `awaiting_approval` (exit 5) —
|
|
32
|
-
|
|
31
|
+
command, clicking or typing may return `awaiting_approval` (exit 5) — this is
|
|
32
|
+
usually an unattended run, so nobody is necessarily watching for it. Say plainly
|
|
33
|
+
that it needs approval in Orbit and **stop this turn**. Never write a retry loop,
|
|
34
|
+
a polling script, or a sleep-and-recheck command around it — that spends the whole
|
|
35
|
+
run spin-waiting on a click and will simply time out. The same command works on
|
|
36
|
+
its own, the next time it runs, once approved.
|
|
33
37
|
- **You already have your own tools.** For editing files in this repo, use them. Reach
|
|
34
38
|
for `workser tool` when you need something *outside* the project — the screen, the
|
|
35
39
|
clipboard, a browser, another app on the machine.
|
|
@@ -28,7 +28,8 @@ workser auth status # is auth enabled? + Neon auth mode
|
|
|
28
28
|
- **`db url` is a credential.** Don't print it into the conversation, don't paste it
|
|
29
29
|
into a file the user will commit. The app gets it from its environment already.
|
|
30
30
|
- **Writes are approval-gated.** A `db query` that mutates may return
|
|
31
|
-
`awaiting_approval` (exit 5).
|
|
31
|
+
`awaiting_approval` (exit 5). Say it needs approval in Orbit and stop this turn —
|
|
32
|
+
don't loop or poll waiting for it; the same command works once it's approved.
|
|
32
33
|
- **`DROP` / `TRUNCATE` are refused** by the safety policy. Change schema with a
|
|
33
34
|
migration in the app's own migration folder, not with a destructive one-off.
|
|
34
35
|
- **The database is the project's, not the app's.** Sibling apps in the same project
|
|
@@ -46,17 +46,19 @@ Settings — `workser env` — are their own topic: `workser help env`.
|
|
|
46
46
|
- **`promote` and `rollback` are the same upstream call and two commands on
|
|
47
47
|
purpose.** Promote ships the newest build; rollback puts version N back. Both
|
|
48
48
|
ask the owner and return exit 7 (`awaiting_approval`) until they answer — and
|
|
49
|
-
that gate holds even on a "just do it" run.
|
|
49
|
+
that gate holds even on a "just do it" run. Say so and stop this turn; don't
|
|
50
|
+
loop or poll for the answer (see the `awaiting_approval` note below).
|
|
50
51
|
- **There is no `deployments cancel`.** Nothing upstream can stop a build that is
|
|
51
52
|
already running. Wait for it and then promote or roll back.
|
|
52
53
|
- **`--watch` blocks until there's a live URL.** Without it you get a deploy id and
|
|
53
54
|
have to poll `deploy status`.
|
|
54
55
|
- **`domain add` and `domain rm` ask the owner to confirm** and return exit 7
|
|
55
|
-
(`awaiting_approval`) until they do —
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
(`awaiting_approval`) until they do — say plainly that it needs approval in
|
|
57
|
+
Orbit and stop this turn; the same command works on its own once it's approved,
|
|
58
|
+
so don't write a retry loop or poll for it. Domains Workser owns (`workser.ai`
|
|
59
|
+
and its subdomains) and hostnames the hosting provider assigns (`*.vercel.app`)
|
|
60
|
+
are refused outright: those are not attachable, and the app's own preview and
|
|
61
|
+
live URLs already exist without attaching anything.
|
|
60
62
|
|
|
61
63
|
## After a successful deploy
|
|
62
64
|
|