@aglit-ai/cli 0.1.6 → 0.1.8

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
@@ -56,6 +56,15 @@ the user. On macOS, Screen Recording and Accessibility must be granted before
56
56
  quit while the application shell stays hidden. Login-item registration starts
57
57
  the same private profile on the next user login.
58
58
 
59
+ Setup requests native screen-capture and Accessibility consent one at a time,
60
+ waiting up to 110 seconds for each grant before continuing. If macOS previously
61
+ denied access, enable the application in the opened System Settings pane. An
62
+ unapproved permission stops setup with remote access disabled; rerun `aglit init`
63
+ to resume. macOS may require an application restart after a screen-capture grant.
64
+ Successful registration prints the direct employee link at
65
+ `https://console.aglit.ai/employees/<device-id>` and includes it as `employeeUrl`
66
+ in JSON output.
67
+
59
68
  `--team` selects the existing backend team/invitation scope. It does not grant team
60
69
  members access to a separately registered personal computer. The backend requires
61
70
  current accepted membership/admin authority for its operations; a pending
@@ -103,3 +112,15 @@ restart. Use `aglit update --check` to inspect available updates, `aglit update`
103
112
  to apply one, and `aglit updates off` or `aglit updates on` to change automatic
104
113
  checks. New installations follow `latest`; experimental installations can save
105
114
  an explicit channel with `aglit init --channel embedded`.
115
+
116
+ ## Current coexistence limitation
117
+
118
+ Computer Use currently selects the same local ports as ordinary Aglit Desktop.
119
+ When Desktop already owns those ports, browser sign-in can reach that existing
120
+ app instead of Computer Use. Concurrent browser-login setup remains unqualified.
121
+
122
+ A separate Computer Use port range requires registering
123
+ `http://localhost:49127/oauth/google/callback` on the existing Google OAuth client.
124
+ Google currently rejects this proposed callback with `redirect_uri_mismatch`.
125
+ No port change has shipped; provider registration and native acceptance remain
126
+ required before qualifying coexistence.
package/bin/aglit.cjs CHANGED
@@ -202,7 +202,8 @@ async function main() {
202
202
  if (!provider || !available.includes(provider)) throw Error('Sign in to Codex or Claude on this computer, then rerun aglit init --provider codex|claude.');
203
203
  ui.info(`AI provider: ${provider}`);
204
204
  await ui.step('Save computer settings', () => control('configure', { name, provider, ...(teamId ? { teamId } : {}) }));
205
- const permissions = await ui.step('Check screen recording and input permissions', () => control('permissions'));
205
+ if (process.platform === 'darwin') ui.info('Approve the macOS screen recording and input-control requests. Setup waits for each permission before continuing. Previously denied permissions must be enabled in System Settings.');
206
+ const permissions = await ui.step('Waiting for screen recording and input permissions', () => control('permissions'));
206
207
  if (!interactive) ui.result(permissions);
207
208
  if (permissions.permissions?.supported && (permissions.permissions.screenRecording !== 'granted' || permissions.permissions.accessibility !== 'granted'))
208
209
  throw Error('Grant Screen Recording and Accessibility in System Settings, then rerun aglit init. Anywhere Access has not been enabled.');
@@ -218,7 +219,9 @@ async function main() {
218
219
  });
219
220
  if (values.invite) ui.result(await control('invite', { teamId: values.team, email: values.invite }));
220
221
  updates.rememberStatus(state);
221
- ui.result(state); ui.finish('Computer ready · https://console.aglit.ai/'); return;
222
+ if (typeof state.deviceId !== 'string' || !state.deviceId) throw Error('Registration returned no device ID. Check aglit status before retrying.');
223
+ state = { ...state, employeeUrl: `https://console.aglit.ai/employees/${encodeURIComponent(state.deviceId)}` };
224
+ ui.result(state); ui.finish(`Computer ready · ${state.employeeUrl}`); return;
222
225
  }
223
226
  if (command === 'invite') { ui.result(await control('invite', { teamId: values.team, email })); ui.finish('Invitation sent'); return; }
224
227
  if (command === 'uninstall') {
@@ -233,7 +236,7 @@ async function main() {
233
236
  ui.result(await control(command)); ui.finish('Done');
234
237
  }
235
238
 
236
- main().then(() => process.exit(process.exitCode || 0), error => {
239
+ main().catch(error => {
237
240
  if (!error.cancelled) process.stderr.write(`aglit: ${error.message}\n`);
238
- process.exit(error.cancelled ? 130 : 1);
241
+ process.exitCode = error.cancelled ? 130 : 1;
239
242
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aglit-ai/cli",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Install and manage Aglit Computer Use",
5
5
  "license": "UNLICENSED",
6
6
  "type": "commonjs",
package/src/updates.cjs CHANGED
@@ -139,6 +139,9 @@ async function manifest(name, selector) {
139
139
  if (!channels.includes(selector) && !/^runtime-(?:darwin-arm64|win32-x64)-(?:latest|canary|embedded)$/.test(selector)) compareVersions(selector, selector);
140
140
  const url = new URL(encodeURIComponent(name) + '/' + encodeURIComponent(selector), registry);
141
141
  const response = await fetch(url, {redirect: 'error', signal: AbortSignal.timeout(30000)});
142
+ if (!response.ok) {
143
+ try { await response.body?.cancel(); } catch {}
144
+ }
142
145
  if (response.status === 404) {
143
146
  if (/^runtime-(?:darwin-arm64|win32-x64)-/.test(selector)) throw Error('No published signed Desktop runtime is available for ' + process.platform + ' ' + process.arch + ' in npm channel ' + selector);
144
147
  if (name === '@aglit-ai/cli') throw Error('The Aglit CLI npm release ' + selector + ' has not been published yet');