@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 +21 -0
- package/bin/aglit.cjs +7 -4
- package/package.json +1 -1
- package/src/updates.cjs +3 -0
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
|
-
|
|
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
|
-
|
|
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().
|
|
239
|
+
main().catch(error => {
|
|
237
240
|
if (!error.cancelled) process.stderr.write(`aglit: ${error.message}\n`);
|
|
238
|
-
process.
|
|
241
|
+
process.exitCode = error.cancelled ? 130 : 1;
|
|
239
242
|
});
|
package/package.json
CHANGED
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');
|