waitspin 0.1.6 → 0.1.7

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.
Files changed (28) hide show
  1. package/README.md +39 -29
  2. package/assets/waitspin-vscode/media/waitspin-activitybar.svg +31 -0
  3. package/assets/waitspin-vscode/media/waitspin-icon.png +0 -0
  4. package/assets/waitspin-vscode/media/waitspin-icon.svg +94 -0
  5. package/assets/waitspin-vscode/out/extension-core.js +446 -0
  6. package/assets/waitspin-vscode/out/extension-core.js.map +1 -0
  7. package/assets/waitspin-vscode/out/extension-html.js +12 -0
  8. package/assets/waitspin-vscode/out/extension-html.js.map +1 -0
  9. package/assets/waitspin-vscode/out/extension-onboarding.js +315 -0
  10. package/assets/waitspin-vscode/out/extension-onboarding.js.map +1 -0
  11. package/assets/waitspin-vscode/out/extension-surfaces.js +161 -0
  12. package/assets/waitspin-vscode/out/extension-surfaces.js.map +1 -0
  13. package/assets/waitspin-vscode/out/extension-wallet-view.js +194 -0
  14. package/assets/waitspin-vscode/out/extension-wallet-view.js.map +1 -0
  15. package/assets/waitspin-vscode/out/extension-wallet.js +148 -0
  16. package/assets/waitspin-vscode/out/extension-wallet.js.map +1 -0
  17. package/assets/waitspin-vscode/out/extension.js +297 -153
  18. package/assets/waitspin-vscode/out/extension.js.map +1 -1
  19. package/assets/waitspin-vscode/package.json +76 -7
  20. package/dist/cli-format.js +301 -0
  21. package/dist/cli-format.js.map +1 -0
  22. package/dist/cli.js +618 -111
  23. package/dist/cli.js.map +1 -1
  24. package/dist/targets/experimental-cli.js +21 -14
  25. package/dist/targets/experimental-cli.js.map +1 -1
  26. package/dist/wallet-format.js +222 -0
  27. package/dist/wallet-format.js.map +1 -0
  28. package/package.json +3 -2
package/README.md CHANGED
@@ -7,9 +7,9 @@ wait-state ads for verified developer surfaces.
7
7
 
8
8
  Run after `npm view waitspin version` succeeds in launch evidence:
9
9
 
10
- Before install, publisher registration, or Checkout, review:
10
+ Before install, user registration, or Checkout, review:
11
11
 
12
- - Public API and agent docs: `https://waitspin.com/waitspin/docs`
12
+ - Public API and agent docs: `https://waitspin.com/docs`
13
13
  - Agent markdown: `https://waitspin.com/.well-known/agents.md`
14
14
  - Terms: `https://waitspin.com/waitspin/terms`
15
15
  - Privacy: `https://waitspin.com/waitspin/privacy`
@@ -26,12 +26,16 @@ waitspin bid create --line "Your ad" --url https://example.com --price-per-block
26
26
  waitspin bid checkout CAMPAIGN_ID
27
27
  npx --yes waitspin init --email you@example.com --key-profile publisher-extension
28
28
 
29
+ # First-class VS Code user path
30
+ code --install-extension waitspin.waitspin-vscode
31
+ # Then run "WaitSpin: Connect and earn" inside VS Code.
32
+
29
33
  # Advanced agent install for every detected supported target
30
34
  waitspin install --all --dry-run --api-key PASTE_PUBLISHER_EXTENSION_KEY --compose-existing
31
35
  waitspin install --all --api-key PASTE_PUBLISHER_EXTENSION_KEY --compose-existing
32
36
  waitspin status --all
33
37
 
34
- # Install for VS Code status-bar fallback
38
+ # CLI fallback for VS Code Activity Bar/status-bar extension
35
39
  waitspin extension install --target vscode --api-key PASTE_PUBLISHER_EXTENSION_KEY
36
40
  waitspin extension status --target vscode
37
41
 
@@ -59,16 +63,18 @@ waitspin grok status
59
63
  - `waitspin bids list` — list campaigns
60
64
  - `waitspin bid checkout CAMPAIGN_ID` — Stripe Checkout for blocks
61
65
  - `waitspin market` — public leaderboard
62
- - `waitspin wallet connect` — Stripe Connect Express onboarding
63
- - `waitspin wallet status` — publisher balance, payout, and Connect status
64
- - `waitspin wallet ledger` — publisher delivery ledger
66
+ - `waitspin wallet connect --country US` — Stripe Connect Express onboarding
67
+ - `waitspin wallet status` — user balance, payout, and Connect status
68
+ - `waitspin wallet ledger` — user delivery ledger
65
69
  - `waitspin wallet payout --dry-run` — payout eligibility preview
66
- - `waitspin extension install --target vscode` — install the VS Code status-bar fallback
67
- - `waitspin extension status --target vscode` — inspect managed fallback lifecycle state
68
- - `waitspin extension uninstall --target vscode` — remove the managed fallback runtime and local state
69
- - `waitspin install --all --dry-run` — preview detected publisher targets without file changes
70
- - `waitspin install --all` — install every detected supported publisher target
71
- - `waitspin status --all` — aggregate lifecycle status for every publisher target
70
+ - `code --install-extension waitspin.waitspin-vscode` — install the public VS Code Marketplace extension
71
+ - `WaitSpin: Connect and earn` — connect the VS Code extension from inside the editor
72
+ - `waitspin extension install --target vscode --api-key PASTE_PUBLISHER_EXTENSION_KEY` — advanced CLI fallback for VS Code extension setup
73
+ - `waitspin extension status --target vscode` — inspect managed VS Code extension lifecycle state
74
+ - `waitspin extension uninstall --target vscode` — remove the managed VS Code extension runtime and local state
75
+ - `waitspin install --all --dry-run` — preview detected user surfaces without file changes
76
+ - `waitspin install --all` — install every detected supported user surface
77
+ - `waitspin status --all` — aggregate lifecycle status for every user surface
72
78
  - `waitspin claude-code install --compose-existing` — install the Claude Code statusline command
73
79
  - `waitspin claude-code status` — inspect managed Claude Code runtime state
74
80
  - `waitspin claude-code uninstall` — restore Claude Code statusline settings and remove managed local state
@@ -84,14 +90,14 @@ waitspin grok status
84
90
 
85
91
  API base: `https://api.waitspin.com`
86
92
 
87
- The public package installs five verified publisher targets: the VS Code
88
- status-bar fallback, the Claude Code statusline command, the MiMo Code shell
89
- hook, the OpenCode TUI plugin slot, and the Grok Code CLI footer. Claude Code
90
- support uses the official `statusLine.command` path and does not patch Claude
91
- Code internals. MiMo Code uses a bash hook that polls the API for sponsored
92
- messages. OpenCode uses its TUI `app_bottom` plugin slot. Grok Code CLI uses a
93
- managed text-asset footer patch with hash-backed backup/restore and does not
94
- patch native binaries.
93
+ The public package installs five verified user earning surfaces: the VS Code
94
+ Activity Bar/status-bar extension, the Claude Code statusline command, the MiMo
95
+ Code shell hook, the OpenCode TUI plugin slot, and the Grok Code CLI footer.
96
+ Claude Code support uses the official `statusLine.command` path and does not
97
+ patch Claude Code internals. MiMo Code uses a bash hook that polls the API for
98
+ sponsored messages. OpenCode uses its TUI `app_bottom` plugin slot. Grok Code
99
+ CLI uses a managed text-asset footer patch with hash-backed backup/restore and
100
+ does not patch native binaries.
95
101
 
96
102
  `waitspin install --all` is an advanced agent command for installing every
97
103
  detected supported target. It keeps explicit target commands as the canonical
@@ -108,12 +114,15 @@ Native spinner patches beyond supported status surfaces, account-credit
108
114
  redemption, cash refund self-service, and click billing are not public
109
115
  paid-launch capabilities yet.
110
116
 
111
- ## Publisher credentials
117
+ ## User install credentials
112
118
 
113
- Use a publisher-extension key for publisher polling/events:
119
+ Use an extension API key created with `--key-profile publisher-extension` for
120
+ user install polling/events:
114
121
 
115
122
  ```bash
116
123
  npx waitspin init --email you@example.com --key-profile publisher-extension
124
+ code --install-extension waitspin.waitspin-vscode
125
+ # Then run "WaitSpin: Connect and earn" inside VS Code.
117
126
  npx waitspin install --all --dry-run --api-key PASTE_PUBLISHER_EXTENSION_KEY --compose-existing
118
127
  npx waitspin install --all --api-key PASTE_PUBLISHER_EXTENSION_KEY --compose-existing
119
128
  npx waitspin status --all
@@ -124,14 +133,15 @@ npx waitspin opencode install --api-key PASTE_PUBLISHER_EXTENSION_KEY
124
133
  npx waitspin grok install --api-key PASTE_PUBLISHER_EXTENSION_KEY
125
134
  ```
126
135
 
127
- - `WAITSPIN_API_KEY` — temporary publisher-extension key for first activation
136
+ - `WAITSPIN_API_KEY` — temporary extension API key for CLI fallback flows
128
137
  - `WAITSPIN_INSTALL_ID` — from `waitspin extension install` or `waitspin claude-code install`
129
138
 
130
- The VS Code extension migrates `waitspin.apiKey` from User settings into VS Code
131
- SecretStorage on activation. `WAITSPIN_API_KEY` is an env-only temporary
132
- fallback and is not persisted by the extension. Store `waitspin.installId` in
133
- User settings; do not store broad control keys or workspace-scoped credentials
134
- for normal publisher operation.
139
+ The VS Code Marketplace extension should normally be connected through
140
+ `WaitSpin: Connect and earn`, which stores the extension key in VS Code
141
+ SecretStorage and stores the install ID in user-scoped extension state. The
142
+ legacy `waitspin.apiKey` User setting is still migrated into SecretStorage for
143
+ fallback/rotation, but normal user operation does not require copying
144
+ install IDs or broad control keys into workspace settings.
135
145
 
136
146
  The Claude Code installer writes a managed statusline runtime/state under
137
147
  `~/.waitspin` and updates `~/.claude/settings.json` with a safe
@@ -150,7 +160,7 @@ The Grok Code CLI installer writes a managed runtime/state under `~/.waitspin`
150
160
  and patches the verified OpenTUI footer text asset with a hash-backed backup so
151
161
  uninstall can restore the original file.
152
162
 
153
- Cline VS Code extension installs are covered by the VS Code fallback target.
163
+ Cline VS Code extension installs are covered by the VS Code Activity Bar/status-bar extension target.
154
164
  Standalone Cline CLI is not a public install target until Cline exposes an
155
165
  official statusline/plugin surface.
156
166
 
@@ -0,0 +1,31 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-labelledby="title desc">
2
+ <title id="title">WaitSpin Orbit Symbol</title>
3
+ <desc id="desc">Broken white orbit ring with a geometric white W and a signal green dot.</desc>
4
+ <defs>
5
+ <style>
6
+ .orbit { fill: none; stroke: #fff; stroke-width: 4.25; stroke-linecap: butt; }
7
+ .mark { fill: #fff; }
8
+ .dot { fill: #b7e11d; }
9
+ </style>
10
+ </defs>
11
+ <path
12
+ class="orbit"
13
+ d="M23.48 18.86
14
+ A17 17 0 1 0 47.08 25.49"
15
+ />
16
+ <path
17
+ class="mark"
18
+ d="M22.8 28
19
+ L26.9 28
20
+ L29.95 35.05
21
+ L32 30.95
22
+ L34.05 35.05
23
+ L37.1 28
24
+ L41.2 28
25
+ L34.8 41.25
26
+ L32 36.05
27
+ L29.2 41.25
28
+ Z"
29
+ />
30
+ <circle class="dot" cx="45.95" cy="18.55" r="3.2"/>
31
+ </svg>
@@ -0,0 +1,94 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="5 48.9 100 92">
2
+ <!-- SVG created with Arrow, by QuiverAI (https://quiver.ai) -->
3
+ <path d="m65.5 77.8v4h2.3v5.2h-1.2v5h-1.2v5h-0.9v3.5h-1v-1.5h-0.5v-4.5h-1.4v-6.4h-1.4v-5.9h-1.6v-4.4h-7v4.3h-1.7v6.1h-1.3v6.3h-1.2v4.5h-0.6v1.6h-1v-3.3h-0.8v-5.3h-1.2v-5.1h-1.1v-4.9h2.6v-4.2h-13.6v4.1h2.5v5h1.6v6.1h1.8v6.7h1.5v6.2h1.6v5.2h1.7v3.7h7.1v-3.3l1.5-0.1v-3.9h1.2v-5.3h1.3v-6l1.3-0.1v-2.3l0.7 0.1v2.4h1.2v6h1.2v5.2h1.3v3.9h1.5v3.6h7.2v-3.7h1.8v-5.4h1.5v-6.3h1.6v-6.7h1.9v-6h1.7v-4.9h2.5v-4.2z"/>
4
+ <polygon points="56.4 55.7 56.4 53.8 53.9 53.8 53.9 55.7 52.4 55.7 52.4 59.3 53.9 59.3 53.9 60.8 56.4 60.8 56.4 59.3 57.9 59.3 57.9 55.7"/>
5
+ <path d="m50.8 51.8h1.6-0.5v-1.1h6.4v2h1.9v1.9h1.6l-0.4-0.1v-1.8h-1.5v-1.8h-1.6v-1.7h-6.6v1.7h-1.9l0.1 1.8h-1.6v1.8h1.7z"/>
6
+ <path d="m50.8 61.9h-1.9l-0.7-0.1v-1.6h-1.4v-5.6l1.6-0.1v5.4z"/>
7
+ <path d="m60.2 61.8v-1.6l1.7-0.1-0.1-5.5h1.6v5.6h-1.5v1.7l-1.7-0.1z"/>
8
+ <path d="m51.9 63.7h6.4v1.7h-6.5z"/>
9
+ <path d="m58.3 61.9h1.9v1.7l-1.9 0.1z"/>
10
+ <path d="m49.9 61.9h2v1.8l-2-0.1z"/>
11
+ <rect x="41.1" y="54.1" width="1.9" height="1.9"/>
12
+ <rect x="37.1" y="57.5" width="2" height="1.9"/>
13
+ <rect x="67.4" y="54.1" width="1.9" height="1.9"/>
14
+ <rect x="71" y="57.5" width="1.9" height="1.9"/>
15
+ <rect x="91.4" y="76" width="1.9" height="1.8"/>
16
+ <rect x="94.9" y="79.6" width="1.9" height="1.9"/>
17
+ <rect x="16.6" y="75.9" width="1.9" height="1.8"/>
18
+ <rect x="13.5" y="79.6" width="1.9" height="1.9"/>
19
+ <path d="m20.3 57.8v1.8h-1.5v2.3h1.5v1.6h-1.5v2.1h1.4v1.6l-1.4 0.1v2h1.4v1.4h-1.4v2h1.5v2h13.5v-16.9zm12.4 15.6h-10.7v-14h10.7v1.8h-9.3v1.7h9.3z"/>
20
+ <rect x="23.4" y="64.8" width="3.1" height="1.8"/>
21
+ <rect x="28.2" y="64.8" width="3.2" height="1.8"/>
22
+ <rect x="23.4" y="67.8" width="3.1" height="1.7"/>
23
+ <rect x="28.2" y="67.8" width="3.2" height="1.7"/>
24
+ <rect x="23.4" y="70.6" width="3.2" height="1.6"/>
25
+ <rect x="28.2" y="70.6" width="3.2" height="1.6"/>
26
+ <path d="m76.7 66-1.3 1.1v2.1h1.3l0.1 1.4h-1.4v2.1h1.3l0.1 2h13.5v-16.9h-13.6v1.8h-1.4v2.2h1.5l-0.1 1.7h-1.3v2.1zm1.7-6.6h10.4v1.8h-9.2v1.7h9.3v10.5h-10.5z"/>
27
+ <rect x="79.6" y="64.8" width="3.1" height="1.8"/>
28
+ <rect x="84.3" y="64.8" width="3.3" height="1.8"/>
29
+ <rect x="79.6" y="67.8" width="3.1" height="1.7"/>
30
+ <rect x="84.3" y="67.8" width="3.3" height="1.7"/>
31
+ <rect x="79.6" y="70.6" width="3.1" height="1.6"/>
32
+ <rect x="84.3" y="70.6" width="3.3" height="1.6"/>
33
+ <path d="m20.6 113.5v1.9h-1.7v2.2h1.5v1.6h-1.5v2.2h1.4v1.5h-1.5v2h1.4l0.1 1.4-1.5 0.1v1.9h1.5v2h13.5v-16.8zm12 15.5h-10.7v-13.8h10.7v1.9h-9.3v1.6h9.3z"/>
34
+ <rect x="23.3" y="120.6" width="3.2" height="1.7"/>
35
+ <rect x="28.1" y="120.6" width="3.2" height="1.7"/>
36
+ <rect x="23.3" y="123.5" width="3.2" height="1.6"/>
37
+ <rect x="28.1" y="123.5" width="3.2" height="1.6"/>
38
+ <rect x="23.3" y="126.3" width="3.2" height="1.5"/>
39
+ <rect x="28.1" y="126.3" width="3.2" height="1.5"/>
40
+ <path d="m76.7 113.5v1.9h-1.4v2.2h1.4v1.5l-1.4 0.1v2.1l1.4 0.1v1.5h-1.4v2l1.4 0.1v1.3l-1.4 0.1v1.8l1.4 0.1 0.1 2h13.5v-16.8zm12.1 15.5h-10.5v-13.8h10.5v1.9h-9.3v1.6h9.3z"/>
41
+ <rect x="79.5" y="120.6" width="3.2" height="1.7"/>
42
+ <rect x="84.2" y="120.6" width="3.3" height="1.7"/>
43
+ <rect x="79.5" y="123.5" width="3.2" height="1.6"/>
44
+ <rect x="84.2" y="123.5" width="3.3" height="1.6"/>
45
+ <rect x="79.5" y="126.2" width="3.2" height="1.5"/>
46
+ <rect x="84.2" y="126.2" width="3.3" height="1.5"/>
47
+ <polygon points="16.5 92.6 16.5 90.6 13.3 90.6 13.3 92.6 11.6 92.6 11.6 96.5 13.3 96.5 13.3 98.4 16.3 98.4 16.3 96.5 18.1 96.5 18.1 92.6"/>
48
+ <path d="m10.9 86h7.7v1.7h-7.6z"/>
49
+ <path d="m18.6 87.5h2v1.9h-2z"/>
50
+ <path d="m20.5 89.3h1.8v2h-1.8z"/>
51
+ <path d="m22.2 91.3h1.9v6.4h-1.9z"/>
52
+ <path d="m20.6 97.6h1.7v1.9h-1.7z"/>
53
+ <path d="m18.6 99.5h2v1.8h-2z"/>
54
+ <path d="m11 101.2 7.7 0.1v1.6h-7.7z"/>
55
+ <path d="m9 99.5h2v1.8h-1.9z"/>
56
+ <path d="m7.6 97.6h1.7v2h-1.7z"/>
57
+ <path d="m5.8 91.3h1.8v6.4h-1.8z"/>
58
+ <path d="m7.6 89.3h1.7v2h-1.7z"/>
59
+ <path d="m9.1 87.5h1.9v1.9h-1.9z"/>
60
+ <polygon points="96.8 92.4 96.8 90.3 93.9 90.3 93.9 92.3 92.2 92.4 92.2 96.4 93.9 96.4 93.9 98.4 96.8 98.4 96.8 96.4 98.5 96.4 98.5 92.4"/>
61
+ <path d="m91.7 85.6h7.2v1.8h-7.2z"/>
62
+ <path d="m98.9 87.2h1.9v2h-1.8z"/>
63
+ <path d="m100.8 89.1h1.7v2.1h-1.7z"/>
64
+ <path d="m102.4 91.2h1.7v6.3h-1.7z"/>
65
+ <path d="m100.8 97.5h1.7v1.9h-1.7z"/>
66
+ <path d="m98.9 99.4h1.9v1.8h-1.9z"/>
67
+ <path d="m91.6 101.1 7.3 0.1v1.7h-7.3z"/>
68
+ <path d="m89.6 99.4h2v1.9h-2z"/>
69
+ <path d="m88 97.5h1.7v1.9h-1.8z"/>
70
+ <path d="m85.9 91.2h2v6.3h-2z"/>
71
+ <path d="m87.9 89.1h1.8v2.1h-1.8z"/>
72
+ <path d="m89.6 87.2h2v2h-2z"/>
73
+ <path d="m56.2 130.6v-1.8h-2.4v1.8h-1.5v3.7h1.5v1.7h2.5v-1.7h1.5v-3.7z"/>
74
+ <path d="m51.7 124.2h6.6v1.8h-6.6z"/>
75
+ <path d="m58.3 125.9h1.9v2h-1.9z"/>
76
+ <path d="m60.1 127.8h1.8v1.9h-1.7z"/>
77
+ <path d="m61.9 129.7h1.6v5.5h-1.6z"/>
78
+ <path d="m60.2 135.2h1.7v1.7h-1.7z"/>
79
+ <path d="m58.3 137h1.9v1.8h-1.8z"/>
80
+ <path d="m51.8 138.6h6.6v1.7h-6.6z"/>
81
+ <path d="m49.9 137h2.1v1.8h-2.1z"/>
82
+ <path d="m48.4 135.2h1.8v1.8l-1.8-0.1z"/>
83
+ <path d="m46.8 129.7h1.7v5.5h-1.7z"/>
84
+ <path d="m48.3 127.8h1.8l0.1 1.9h-1.9z"/>
85
+ <path d="m49.9 125.9h2v2h-2z"/>
86
+ <rect x="13.5" y="107.3" width="1.9" height="1.9"/>
87
+ <rect x="16.6" y="110.6" width="1.9" height="1.8"/>
88
+ <rect x="91.7" y="110.6" width="1.9" height="1.8"/>
89
+ <rect x="94.9" y="107.3" width="1.9" height="1.8"/>
90
+ <rect x="37.2" y="129.1" width="1.9" height="1.9"/>
91
+ <rect x="40.9" y="132.8" width="1.9" height="1.9"/>
92
+ <rect x="70.9" y="129.1" width="1.8" height="1.9"/>
93
+ <rect x="67.4" y="132.8" width="1.9" height="1.9"/>
94
+ </svg>