workbite 0.1.18 → 0.1.20

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 CHANGED
@@ -1,155 +1,183 @@
1
- # workbite
2
-
3
- WorkBite installs and opens **Work Stack** (organizes the work) and
4
- **StackBite** (gets it moving) as one native suite.
5
-
6
- Launcher 0.1.18 pins the verified **Windows x64** native bundle. Install with
7
- `npm install -g workbite@0.1.18` or use the `windows` dist-tag. The `latest`
8
- tag remains at 0.1.12 for earlier Windows/Linux x64 (glibc 2.28+) artifacts;
9
- no 0.1.18 Linux binary is included. The archive size, SHA-256 and bundle digest
10
- are sealed in `release.json` and verified before execution.
11
- See the [release notes](https://github.com/Shinick-Han/WorkBite-releases/releases/tag/v0.1.18).
12
- It opens the familiar TypeScript Work Stack UI by default, which
13
- has one Tasks workbench: switch Focus/Table/Board without losing your selected
14
- Task, deploy its agent, and control the native terminal beside or below the Tasks.
15
- Use F6 to move focus, Ctrl+B to hide the sidebar, Alt+Shift+L to switch layouts,
16
- Alt+Shift+arrows to resize, and Alt+Shift+Z to expand the active pane. Existing
17
- Runs and Seats remain available while navigating. Cursor and Grok remain raw
18
- native providers in opted-in Rooms (you approve their trust; native lifecycle,
19
- completion and resume remain unsupported/unqualified). The unified Rust UI stays
20
- an explicit alternative per open: `workbite open --frontend rust` (or bare
21
- `workbite --frontend rust`). Either frontend reuses the same owner and
22
- StackBite backend; the choice is not saved. Leaving the view or closing the UI
23
- keeps the agent running, and Task completion stays an explicit action.
24
-
25
- Linux x64 support is verified for the glibc 2.28 ELF build and the POSIX PTY
26
- in an AlmaLinux 8 userspace; real AI agent turns on Linux, a booted AlmaLinux 8
27
- kernel and SSH/VM use are not yet proven. Updating from the 0.1.4 native bundle requires an
28
- operator handover of existing backend processes; the launcher does not stop
29
- them or clear startup records automatically.
30
-
31
- ```sh
32
- npm install -g workbite@0.1.18 # Windows x64
33
- workbite install
34
- workbite open --workspace /abs/path/new-folder --init # first time, once
35
- workbite # afterwards (TypeScript UI)
36
- workbite --frontend rust # unified Rust UI with 9 Execution
37
- ```
38
-
39
- Node.js 20+ on Windows x64 or Linux x64 (glibc 2.28+).
40
-
41
- - `workbite install` downloads the pinned bundle for your platform from
42
- `github.com/Shinick-Han/WorkBite-releases`, verifies its size and SHA-256 and
43
- every file listed in its `bundle.json`, and installs it into an immutable
44
- per-user version folder. No auto-update, no install scripts, no dependencies.
45
- - `workbite check` re-verifies installed bundle integrity without downloading;
46
- it does not test backend health, workspace admission or UI behavior.
47
- - `workbite open --workspace ABS [--init] [--no-ui] [--frontend typescript|rust]`
48
- starts or reuses the workspace's Work Stack owner and a StackBite backend
49
- (only processes it can prove it started), then runs the TypeScript Work Stack
50
- UI, or the unified Rust UI with `--frontend rust` (0.1.4+ execution bundle
51
- only; an older bundle refuses it before starting anything). Backends keep
52
- running after the UI exits.
53
- - `workbite` (or `workbite open` without `--workspace`) reopens the last
54
- workspace that opened successfully; an explicit `--workspace` always wins.
55
- It refuses, starting nothing, if that workspace is missing, moved or its
56
- `workspace.json` id changed, and never picks another folder by itself.
57
- `--init` always needs an explicit `--workspace`.
58
- - Each backend's startup record (private token, launch id, port) is saved in
59
- the state folder *before* the process is started. A later `open` reuses
60
- that same attempt once it authenticates (also after a slow start), and
61
- otherwise refuses. Unreadable/invalid records remain untouched; an
62
- unreachable process is not assumed stopped. The unreleased source's narrow
63
- archival path requires trusted same-host previous-boot evidence for eligible
64
- owner/backend records. It does not resolve foreign hosts or native intents.
65
- Diagnose the exact host/boot, workspace, backend and native intent before
66
- operator handover. Age or a missing local PID cannot establish that a process
67
- on another NFS client has stopped; preserve uncertain records.
68
-
69
- WorkBite keeps its own state (`%LOCALAPPDATA%\WorkBite` on Windows,
70
- `~/.local/share/workbite` and `~/.local/state/workbite` on Linux; override
71
- with absolute `WORKBITE_HOME` / `WORKBITE_STATE_DIR`) and never touches
72
- separately installed Work Stack or StackBite apps, their state or ports. It
73
- never approves provider trust or starts paid agents by itself.
74
-
75
- Startup diagnostics include `workbite status [--json]`,
76
- `workbite doctor [--json]` and `workbite recover --dry-run [--json]`. They inspect evidence and plan
77
- only: no process starts/stops, record reset, native intent repair or migration.
78
- `open --no-ui` does start/reuse the backend stack (including native selection for
79
- v2) and prints JSON, but never launches or validates the foreground UI. Startup
80
- stage messages distinguish that UI launch from backend readiness; the launcher
81
- continues waiting while the UI runs. Full installed-file hashing still occurs
82
- on reuse, so these changes do not promise faster opens.
83
-
84
- For NFS shared homes, configure the existing absolute `WORKBITE_STATE_DIR`
85
- override to a distinct host-local runtime directory per host after coordinating
86
- any existing owners and active Seats. This does not move old state or permit
87
- parallel writers to one shared workspace. `WORKBITE_HOME` separately overrides
88
- the installation root (`app/` beneath it); changing it is not a universal tar
89
- fix. See the source repository's
90
- [startup troubleshooting guide](../../docs/STARTUP-TROUBLESHOOTING.md) for tcsh
91
- `setenv` examples, failure diagnosis, bounded tar stderr and safe handover
92
- requirements. Keep workspace locks and unknown native intents intact.
93
-
94
- Coding agents read and record Tasks of a workspace whose owner `workbite open`
95
- already runs; nothing is started for them:
96
-
97
- ```sh
98
- workbite agent status # bound workspace path + UUID
99
- workbite agent --workspace ABS --workspace-uid UUID context --task T-0001
100
- workbite agent --workspace ABS --workspace-uid UUID tasks create --intent-id ID --input-file FILE
101
- workbite mcp --workspace ABS --workspace-uid UUID # MCP stdio server
102
- ```
103
-
104
- Writes (`tasks create`, `tasks update`, `checkpoint`) always need the explicit
105
- `--workspace` + `--workspace-uid` pair. `workbite mcp` binds one workspace when
106
- it starts. The `workbite-native` agent skill shipped in this package
107
- (`skills/workbite-native/`) describes the commands, packets and recovery
108
- rules.
109
-
110
- The Windows 0.1.18 candidate adds **Connect agent** to Task Execution (`a`),
111
- the global 9 Execution monitor and launch picker (`+`), clickable controls and
112
- scoped command palettes (`:`). Claude Code, Codex, Cursor and Grok Build use
113
- their official CLI login and credential storage. Missing CLIs offer install
114
- guides; nothing installs automatically. Connecting preserves the Task/draft,
115
- folder, instructions and watched Run/Seat, and never deploys or changes Task
116
- status. Selection rechecks current authentication and launch readiness; an old
117
- login receipt cannot establish current authentication.
118
-
119
- Codex discovers model IDs and supported effort choices with a bounded cache;
120
- CLI defaults remain selectable and unsupported saved choices stay visible.
121
- Grok login completion remains explicitly unverified because no local auth-status
122
- adapter is qualified; launch-ready CLI settings can be selected explicitly with
123
- that label. Automated login process ownership is qualified on Windows only;
124
- POSIX automated connection remains refused pending cleanup qualification.
125
- Source checks used disposable fixtures, with no live account login, browser
126
- completion, account-entitlement proof or paid provider turn acceptance. See the
127
- [source acceptance record](../../docs/WORKBITE-AGENT-CONNECTION-ACCEPTANCE-2026-10-16.md).
128
-
129
- The Windows 0.1.18 candidate retains the read-only phone companion pilot from 0.1.14.
130
- Phone actions preserve their selected target during status reads, show pending
131
- work and reuse the managed Windows helper within actions. Pairing links retain
132
- their complete URL. New hosts supply a compact pairing URL and an inline TUI
133
- QR with an enlarged view; this path creates no PNG and opens no external
134
- viewer automatically. Small terminals show size guidance instead of a partial
135
- QR. Link opening and supported image actions remain explicit choices; older
136
- hosts retain their compatibility path. QR opening has an explicit Edge
137
- alternative. A successful system handoff does not establish that a browser
138
- or viewer rendered the target. Open Settings
139
- with `,`, select Phone, enable it, then pair using the expiring QR and compare
140
- the complete fingerprint before approving on the PC. Remembered browsers can
141
- reconnect; devices can be revoked. Initial PC enrollment requires an operator
142
- invitation through the supported embedding/bootstrap surface; this release
143
- does not include a public invitation-entry UI. The hosted relay needs no user
144
- domain or Cloudflare client. CurrentUser DPAPI on local NTFS is required.
145
- Mobile Task writes, deployment, terminal input, replies, notifications and
146
- background connectivity are not supported. The PC must remain online.
147
-
148
- This package is `UNLICENSED` (all rights reserved). Third-party licenses ship
149
- in each bundle's `licenses/` folder.
150
-
151
- The candidate retains the 0.1.16 Phone control-file sharing fix and existing
152
- protected-store and OS lease checks. Hosted mobile assets must accept both
153
- old object offers and compact tuples before the new PC emitter is installed.
154
- Source tests and rendered fixtures do not qualify physical phone cameras,
155
- actual terminal fonts, LTE or background behavior.
1
+ # workbite
2
+
3
+ WorkBite installs and opens **Work Stack** (organizes the work) and
4
+ **StackBite** (gets it moving) as one native suite.
5
+
6
+ Launcher 0.1.20 provides verified **Windows x64 and Linux x64 native bundles**
7
+ from one immutable build source. `release.json` binds both reviewed archives'
8
+ actual sizes, SHA-256 hashes and bundle digests; installation verifies the
9
+ selected platform's files. See the [release and platform assets](https://github.com/Shinick-Han/WorkBite-releases/releases/tag/v0.1.20).
10
+ It opens the familiar TypeScript Work Stack UI by default, which
11
+ has one Tasks workbench: switch Focus/Table/Board without losing your selected
12
+ Task, open its persistent Room's plain terminal, and control it beside or below
13
+ the Tasks. A compact terminal action is the default Task workspace entry;
14
+ advanced Run deployment, history and result review remain available. Horizontal
15
+ Seat tabs and the vertical Seat list share selection, input state and one native
16
+ terminal host; switching presentation does not launch or stop a Seat.
17
+ Use F6 to move focus, Ctrl+B to hide the sidebar, Alt+Shift+L to switch layouts,
18
+ Alt+Shift+arrows to resize, and Alt+Shift+Z to expand the active pane. Existing
19
+ Runs and Seats remain available while navigating. Cursor and Grok remain raw
20
+ native providers in opted-in Rooms (you approve their trust; native lifecycle,
21
+ completion and resume remain unsupported/unqualified). The unified Rust UI stays
22
+ an explicit alternative per open: `workbite open --frontend rust` (or bare
23
+ `workbite --frontend rust`). Either frontend reuses the same owner and
24
+ StackBite backend; the choice is not saved. Leaving the view or closing the UI
25
+ keeps the agent running, and Task completion stays an explicit action.
26
+
27
+ The 0.1.20 Linux archive passed 12 ELF gates and 29 packaged AlmaLinux 8
28
+ userspace probes, preserving the glibc 2.28 floor. Real AI agent turns on Linux, a booted AlmaLinux 8 kernel and
29
+ SSH/VM use are not proven by those checks. Updating an existing native bundle
30
+ requires an operator handover of existing backend processes; the launcher does not stop
31
+ them or clear startup records automatically.
32
+
33
+ `workbite update` explicitly updates a global npm launcher to official npm
34
+ `latest` and stages its verified native suite. Local/npx copies print manual
35
+ guidance instead. Current latest is a no-op. Running owners, Seats and Phone
36
+ stay on their existing runtime; complete operator handover before opening the
37
+ new one. A failure can leave the launcher installed without its suite: inspect
38
+ `workbite --version`, then resolve the error and run `workbite install` and
39
+ `workbite check`. Never replay an unknown npm install without inspecting it.
40
+
41
+ ```sh
42
+ npm install -g workbite@0.1.20 # only after paired qualification and registry publication
43
+ workbite install
44
+ workbite open --workspace /abs/path/new-folder --init # first time, once
45
+ workbite # afterwards (TypeScript UI)
46
+ workbite --frontend rust # unified Rust UI with 9 Execution
47
+ ```
48
+
49
+ Node.js 20+ on Windows x64 or Linux x64 (glibc 2.28+).
50
+
51
+ - `workbite install` downloads the pinned bundle for your platform from
52
+ `github.com/Shinick-Han/WorkBite-releases`, verifies its size and SHA-256 and
53
+ every file listed in its `bundle.json`, and installs it into an immutable
54
+ per-user version folder. No auto-update, no install scripts, no dependencies.
55
+ - `workbite check` re-verifies installed bundle integrity without downloading;
56
+ it does not test backend health, workspace admission or UI behavior.
57
+ - `workbite open --workspace ABS [--init] [--no-ui] [--frontend typescript|rust]`
58
+ starts or reuses the workspace's Work Stack owner and a StackBite backend
59
+ (only processes it can prove it started), then runs the TypeScript Work Stack
60
+ UI, or the unified Rust UI with `--frontend rust` (0.1.4+ execution bundle
61
+ only; an older bundle refuses it before starting anything). Backends keep
62
+ running after the UI exits.
63
+ - `workbite` (or `workbite open` without `--workspace`) reopens the last
64
+ workspace that opened successfully; an explicit `--workspace` always wins.
65
+ It refuses, starting nothing, if that workspace is missing, moved or its
66
+ `workspace.json` id changed, and never picks another folder by itself.
67
+ `--init` always needs an explicit `--workspace`.
68
+ - Each backend's startup record (private token, launch id, port) is saved in
69
+ the state folder *before* the process is started. A later `open` reuses
70
+ that same attempt once it authenticates (also after a slow start), and
71
+ otherwise refuses. Unreadable/invalid records remain untouched; an
72
+ unreachable process is not assumed stopped. The unreleased source's narrow
73
+ archival path requires trusted same-host previous-boot evidence for eligible
74
+ owner/backend records. It does not resolve foreign hosts or native intents.
75
+ Diagnose the exact host/boot, workspace, backend and native intent before
76
+ operator handover. Age or a missing local PID cannot establish that a process
77
+ on another NFS client has stopped; preserve uncertain records.
78
+
79
+ WorkBite keeps its own state (`%LOCALAPPDATA%\WorkBite` on Windows,
80
+ `~/.local/share/workbite` and `~/.local/state/workbite` on Linux; override
81
+ with absolute `WORKBITE_HOME` / `WORKBITE_STATE_DIR`) and never touches
82
+ separately installed Work Stack or StackBite apps, their state or ports. It
83
+ never approves provider trust or starts paid agents by itself.
84
+
85
+ Startup diagnostics include `workbite status [--json]`,
86
+ `workbite doctor [--json]` and `workbite recover --dry-run [--json]`. They inspect evidence and plan
87
+ only: no process starts/stops, record reset, native intent repair or migration.
88
+ `open --no-ui` does start/reuse the backend stack (including native selection for
89
+ v2) and prints JSON, but never launches or validates the foreground UI. Startup
90
+ stage messages distinguish that UI launch from backend readiness; the launcher
91
+ continues waiting while the UI runs. Full installed-file hashing still occurs
92
+ on reuse, so these changes do not promise faster opens.
93
+
94
+ For NFS shared homes, configure the existing absolute `WORKBITE_STATE_DIR`
95
+ override to a distinct host-local runtime directory per host after coordinating
96
+ any existing owners and active Seats. This does not move old state or permit
97
+ parallel writers to one shared workspace. `WORKBITE_HOME` separately overrides
98
+ the installation root (`app/` beneath it); changing it is not a universal tar
99
+ fix. See the source repository's
100
+ [startup troubleshooting guide](../../docs/STARTUP-TROUBLESHOOTING.md) for tcsh
101
+ `setenv` examples, failure diagnosis, bounded tar stderr and safe handover
102
+ requirements. Keep workspace locks and unknown native intents intact.
103
+
104
+ Coding agents read and record Tasks of a workspace whose owner `workbite open`
105
+ already runs; nothing is started for them:
106
+
107
+ ```sh
108
+ workbite agent status # bound workspace path + UUID
109
+ workbite agent --workspace ABS --workspace-uid UUID context --task T-0001
110
+ workbite agent --workspace ABS --workspace-uid UUID tasks create --intent-id ID --input-file FILE
111
+ workbite mcp --workspace ABS --workspace-uid UUID # MCP stdio server
112
+ ```
113
+
114
+ Writes (`tasks create`, `tasks update`, `checkpoint`) always need the explicit
115
+ `--workspace` + `--workspace-uid` pair. `workbite mcp` binds one workspace when
116
+ it starts. The `workbite-native` agent skill shipped in this package
117
+ (`skills/workbite-native/`) describes the commands, packets and recovery
118
+ rules.
119
+
120
+ In a Task-bound plain terminal, manually started CLIs can discover their
121
+ assigned Task through an already enabled WorkBite MCP server. The inherited
122
+ binding verifies workspace and Task identity, snapshot digest, Room, Seat and
123
+ the current live generation before exposing context. A changed or unverifiable
124
+ assignment refuses discovery. Standalone/unbound terminals retain the explicit
125
+ workspace/context path. WorkBite does not enable MCP or configure providers
126
+ automatically; source fixture checks do not prove an actual provider turn.
127
+
128
+ The 0.1.20 candidate also repairs initial Task Room capability discovery and
129
+ recovery notices after overlapping reads. Task Room inventory is filtered to
130
+ the requested Task's Rooms before runtime inventory is read. Selecting a Task
131
+ continues to create no Room, Seat or provider.
132
+
133
+ The 0.1.20 candidate retains **Connect agent** in Task Execution (`a`),
134
+ the global 9 Execution monitor and launch picker (`+`), clickable controls and
135
+ scoped command palettes (`:`). Claude Code, Codex, Cursor and Grok Build use
136
+ their official CLI login and credential storage. Missing CLIs offer install
137
+ guides; nothing installs automatically. Connecting preserves the Task/draft,
138
+ folder, instructions and watched Run/Seat, and never deploys or changes Task
139
+ status. Selection rechecks current authentication and launch readiness; an old
140
+ login receipt cannot establish current authentication.
141
+
142
+ Codex discovers model IDs and supported effort choices with a bounded cache;
143
+ CLI defaults remain selectable and unsupported saved choices stay visible.
144
+ An official Grok login success marker can show
145
+ `provider_login_completed_status_unverified`; it does not show a connected
146
+ badge or prove current CLI authentication. Generic exit zero and refresh alone
147
+ do not prove login. No authoritative local Grok auth-status probe is qualified;
148
+ launch-ready CLI settings can be selected explicitly with that label.
149
+ Automated login process ownership is qualified on Windows only;
150
+ POSIX automated connection remains refused pending cleanup qualification.
151
+ Source checks used disposable fixtures, with no live account login, browser
152
+ completion, account-entitlement proof or paid provider turn acceptance. See the
153
+ [source acceptance record](../../docs/WORKBITE-AGENT-CONNECTION-ACCEPTANCE-2026-10-16.md).
154
+
155
+ The Windows 0.1.20 candidate retains the read-only phone companion pilot from 0.1.14.
156
+ Linux Phone support remains unsupported; paired releases do not imply identical
157
+ platform capabilities.
158
+ Phone actions preserve their selected target during status reads, show pending
159
+ work and reuse the managed Windows helper within actions. Pairing links retain
160
+ their complete URL. New hosts supply a compact pairing URL and an inline TUI
161
+ QR with an enlarged view; this path creates no PNG and opens no external
162
+ viewer automatically. Small terminals show size guidance instead of a partial
163
+ QR. Link opening and supported image actions remain explicit choices; older
164
+ hosts retain their compatibility path. QR opening has an explicit Edge
165
+ alternative. A successful system handoff does not establish that a browser
166
+ or viewer rendered the target. Open Settings
167
+ with `,`, select Phone, enable it, then pair using the expiring QR and compare
168
+ the complete fingerprint before approving on the PC. Remembered browsers can
169
+ reconnect; devices can be revoked. Initial PC enrollment requires an operator
170
+ invitation through the supported embedding/bootstrap surface; this release
171
+ does not include a public invitation-entry UI. The hosted relay needs no user
172
+ domain or Cloudflare client. CurrentUser DPAPI on local NTFS is required.
173
+ Mobile Task writes, deployment, terminal input, replies, notifications and
174
+ background connectivity are not supported. The PC must remain online.
175
+
176
+ This package is `UNLICENSED` (all rights reserved). Third-party licenses ship
177
+ in each bundle's `licenses/` folder.
178
+
179
+ The candidate retains the 0.1.16 Phone control-file sharing fix and existing
180
+ protected-store and OS lease checks. Hosted mobile assets must accept both
181
+ old object offers and compact tuples before the new PC emitter is installed.
182
+ Source tests and rendered fixtures do not qualify physical phone cameras,
183
+ actual terminal fonts, LTE or background behavior.
package/bin/workbite.js CHANGED
@@ -1,13 +1,13 @@
1
- #!/usr/bin/env node
2
- 'use strict';
3
- const { main } = require('../lib/cli');
4
- main().then(({ code, signal }) => {
5
- if (signal && process.platform !== 'win32') {
6
- process.kill(process.pid, signal);
7
- } else {
8
- process.exitCode = code === null ? 1 : code;
9
- }
10
- }).catch(error => {
11
- console.error(`WorkBite: ${error.message}`);
12
- process.exitCode = 1;
13
- });
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+ const { main } = require('../lib/cli');
4
+ main().then(({ code, signal }) => {
5
+ if (signal && process.platform !== 'win32') {
6
+ process.kill(process.pid, signal);
7
+ } else {
8
+ process.exitCode = code === null ? 1 : code;
9
+ }
10
+ }).catch(error => {
11
+ console.error(`WorkBite: ${error.message}`);
12
+ process.exitCode = 1;
13
+ });