@openagt/servers 0.0.4 → 0.0.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/cli.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import { type Mint } from './logins.js';
2
+ import { type OwnDoor } from './own-door.js';
2
3
  import type { Exec } from './ssh.js';
3
- import { type LoginKind, type StepState } from './store.js';
4
+ import { type LoginKind, type Reach, type StepState } from './store.js';
4
5
  /**
5
6
  * The command line: JSON on stdout, one line for a person on stderr, and the exit code says how
6
7
  * it went: 0 for a result, 1 for a refusal or a failure, 2 for a command that could not be read.
7
8
  * The same contract as the other packages' commands, so a person and a dashboard read it the same way.
8
9
  */
9
- export declare const USAGE = "usage: servers <command>\n\n status the servers this computer installed OpenAgent on, how far each install is, and\n which logins each was given; and whether this computer is itself such a server\n connect <address> <user> <version> [github]\n install OpenAgent at this version on the server at this number or name, logging in\n over SSH as this user (root, or one that becomes root without a password) with this\n computer's own SSH keys; run again, it goes on where it failed, and brings a server\n that fell behind to this version; with \"github\", this computer's GitHub login is\n copied to the server once it is installed\n link <address> a link the server's door gives for a new machine, once, for five minutes\n added <address> the server is among OpenAgent's machines: nothing is left to add\n github the GitHub account gh is logged in to on this computer: whose login a copy would be,\n or why there is none to copy\n login <address> github copy this computer's GitHub login to the server, over SSH\n login <address> github own have the server get a GitHub login of its own: GitHub gives a code, status tells\n it, and you type it at github.com/login/device; run again while it waits, it\n asks anew\n login <address> claude make a Claude login for the server: this computer's browser asks you once, the\n login lasts a year and goes to the server over SSH; this computer's own Claude\n login is never read; run again while the browser waits, it asks anew\n logout <address> github|claude delete that login on the server; the login itself is not ended by this\n forget <address> take the server off this list; nothing is changed on the server\n work <address> <version> the install's own process, started by connect\n login-work <address> github|claude [own]\n the process that gives the server a login, started by login\n logout-work <address> github|claude the process that takes a login off the server, started by logout";
10
+ export declare const USAGE = "usage: servers <command>\n\n status the servers this computer installed OpenAgent on, how far each install is, and\n which logins each was given; and whether this computer is itself such a server\n connect <address> <user> <version> [github]\n install OpenAgent at this version on the server at this number or name, logging in\n over SSH as this user (root, or one that becomes root without a password) with this\n computer's own SSH keys; run again, it goes on where it failed, and brings a server\n that fell behind to this version; with \"github\", this computer's GitHub login is\n copied to the server once it is installed\n link <address> a link the server's door gives for a new machine, once, for five minutes\n added <address> the server is among OpenAgent's machines: nothing is left to add\n github the GitHub account gh is logged in to on this computer: whose login a copy would be,\n or why there is none to copy\n login <address> github copy this computer's GitHub login to the server, over SSH\n login <address> github own have the server get a GitHub login of its own: GitHub gives a code, status tells\n it, and you type it at github.com/login/device; run again while it waits, it\n asks anew\n login <address> claude make a Claude login for the server: this computer's browser asks you once, the\n login lasts a year and goes to the server over SSH; this computer's own Claude\n login is never read; run again while the browser waits, it asks anew\n logout <address> github|claude delete that login on the server; the login itself is not ended by this\n reach <address> full|watch keep a line open from this computer to the server, so the server's page can start a\n run here (full), or can only see this computer's runs (watch)\n forget <address> take the server off this list, and the line this computer keeps to it; nothing else\n is changed on the server\n work <address> <version> the install's own process, started by connect\n login-work <address> github|claude [own]\n the process that gives the server a login, started by login\n logout-work <address> github|claude the process that takes a login off the server, started by logout";
10
11
  export interface CliIO {
11
12
  env: NodeJS.ProcessEnv;
12
13
  stdout: (line: string) => void;
@@ -15,6 +16,8 @@ export interface CliIO {
15
16
  exec?: Exec;
16
17
  /** How a Claude login is made; Claude Code's own `setup-token` when unsaid. */
17
18
  mint?: Mint;
19
+ /** How this computer's own door is asked; its command when unsaid. */
20
+ door?: OwnDoor;
18
21
  /** Starts this command again with these words, as a process of its own, and answers its id; a process apart from this one when unsaid. */
19
22
  startWork?: (words: string[]) => number;
20
23
  /** Ends `work` and `login-work`; SIGINT and SIGTERM when unsaid. */
@@ -53,6 +56,8 @@ export interface ServerStatus {
53
56
  working: boolean;
54
57
  /** The steps are to end with the server among the machines, and it has not been added yet. */
55
58
  adding: boolean;
59
+ /** Set once this computer keeps a line open to the server: what the server may do through it. */
60
+ reach?: Reach;
56
61
  steps: {
57
62
  id: string;
58
63
  label: string;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgD,KAAK,IAAI,EAAE,MAAM,aAAa,CAAA;AACrF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAEpC,OAAO,EAA8H,KAAK,SAAS,EAAe,KAAK,SAAS,EAAc,MAAM,YAAY,CAAA;AAEhN;;;;GAIG;AAEH,eAAO,MAAM,KAAK,2hFA0BsF,CAAA;AAExG,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,wFAAwF;IACxF,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,+EAA+E;IAC/E,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,0IAA0I;IAC1I,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAA;IACvC,oEAAoE;IACpE,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAID,mHAAmH;AACnH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,KAAK,EAAE,OAAO,CAAA;IACd,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAA;IAChB,qHAAqH;IACrH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,8FAA8F;IAC9F,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACvE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,mEAAmE;IACnE,MAAM,CAAC,EAAE,IAAI,CAAA;CACd;AAkKD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAsFvE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgD,KAAK,IAAI,EAAE,MAAM,aAAa,CAAA;AACrF,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAEpC,OAAO,EAA8H,KAAK,SAAS,EAAE,KAAK,KAAK,EAAe,KAAK,SAAS,EAAc,MAAM,YAAY,CAAA;AAE5N;;;;GAIG;AAEH,eAAO,MAAM,KAAK,k1FA6BsF,CAAA;AAExG,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,wFAAwF;IACxF,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,+EAA+E;IAC/E,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,0IAA0I;IAC1I,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAA;IACvC,oEAAoE;IACpE,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAID,mHAAmH;AACnH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,KAAK,EAAE,OAAO,CAAA;IACd,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAA;IAChB,qHAAqH;IACrH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,8FAA8F;IAC9F,MAAM,EAAE,OAAO,CAAA;IACf,iGAAiG;IACjG,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACvE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,mEAAmE;IACnE,MAAM,CAAC,EAAE,IAAI,CAAA;CACd;AA0LD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CA8FvE"}
package/dist/cli.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { AlreadyWorking, askLink, install } from './install.js';
3
3
  import { AlreadyAtWork, changeLogin, ownGithubAccount } from './logins.js';
4
+ import { ownDoor } from './own-door.js';
4
5
  import { SERVER_MARK, STEPS } from './steps.js';
5
6
  import { LOGIN_KINDS, Unreadable, addressOf, atWork, doorUrl, freshSteps, isUser, isVersion, readStore, update, working } from './store.js';
6
7
  /**
@@ -30,7 +31,10 @@ export const USAGE = `usage: servers <command>
30
31
  login lasts a year and goes to the server over SSH; this computer's own Claude
31
32
  login is never read; run again while the browser waits, it asks anew
32
33
  logout <address> github|claude delete that login on the server; the login itself is not ended by this
33
- forget <address> take the server off this list; nothing is changed on the server
34
+ reach <address> full|watch keep a line open from this computer to the server, so the server's page can start a
35
+ run here (full), or can only see this computer's runs (watch)
36
+ forget <address> take the server off this list, and the line this computer keeps to it; nothing else
37
+ is changed on the server
34
38
  work <address> <version> the install's own process, started by connect
35
39
  login-work <address> github|claude [own]
36
40
  the process that gives the server a login, started by login
@@ -64,6 +68,7 @@ function statusOf(store, env) {
64
68
  ...(server.fingerprint ? { fingerprint: server.fingerprint } : {}),
65
69
  working: busy,
66
70
  adding: server.adding,
71
+ ...(server.reach ? { reach: server.reach } : {}),
67
72
  steps: STEPS.map(({ id, label }) => {
68
73
  const step = server.steps.find(candidate => candidate.id === id);
69
74
  // A step that still reads as running with no process behind it: the install died there.
@@ -147,6 +152,31 @@ async function still(io, said) {
147
152
  throw new Refused(`OpenAgent is being installed on ${server.address} right now`);
148
153
  return server;
149
154
  }
155
+ /**
156
+ * Keep a line open from this computer to the server, and say what the server may do through it.
157
+ * The first time, the server's door gives a link over SSH and this computer's own door gets in
158
+ * with it; from then on only what the server may do is changed.
159
+ */
160
+ async function setReach(io, said, mode) {
161
+ const server = await still(io, said);
162
+ const door = io.door ?? ownDoor;
163
+ // A line this computer already keeps is told what the server may do. One it lost since is asked for anew.
164
+ const kept = server.reach !== undefined && (await door(['line', mode, server.address], io.env)).ok;
165
+ if (!kept) {
166
+ const link = await askLink(server, io.exec ? { exec: io.exec } : {});
167
+ if (!link.ok)
168
+ throw new Refused(link.error);
169
+ const asked = await door(['line', 'add', '-', ...(mode === 'watch' ? ['watch'] : [])], io.env, link.url);
170
+ if (!asked.ok)
171
+ throw new Refused(asked.error);
172
+ }
173
+ await update(io.env, store => {
174
+ const saved = store.servers.find(candidate => candidate.address === server.address);
175
+ if (saved)
176
+ saved.reach = mode;
177
+ });
178
+ return statusOf(await readStore(io.env), io.env);
179
+ }
150
180
  const isKind = (said) => LOGIN_KINDS.includes(said ?? '');
151
181
  /** Whether one of the server's logins is being changed right now. */
152
182
  const changing = (server) => LOGIN_KINDS.some(kind => atWork(server[kind]?.worker));
@@ -268,19 +298,29 @@ export async function runCli(args, io) {
268
298
  break;
269
299
  return print(await changeLoginOf(io, address, kind, command === 'logout', ownLogin));
270
300
  }
301
+ case 'reach': {
302
+ const [address, mode] = rest;
303
+ if (rest.length !== 2 || !address || (mode !== 'full' && mode !== 'watch'))
304
+ break;
305
+ return print(await setReach(io, address, mode));
306
+ }
271
307
  case 'forget': {
272
308
  const [address] = rest;
273
309
  if (rest.length !== 1 || !address)
274
310
  break;
275
311
  const { address: at } = await saved(io, address);
276
- await update(io.env, store => {
312
+ const reached = await update(io.env, store => {
277
313
  const server = store.servers.find(candidate => candidate.address === at);
278
314
  if (server && working(server))
279
315
  throw new Refused(`OpenAgent is being installed on ${at} right now: wait until it ends`);
280
316
  if (server && changing(server))
281
317
  throw new Refused(`A login of ${at} is being changed right now: wait until it ends`);
282
318
  store.servers = store.servers.filter(candidate => candidate.address !== at);
319
+ return server?.reach !== undefined;
283
320
  });
321
+ // A server this computer no longer lists is not left a way to it. One that cannot be told keeps a key that opens nothing here.
322
+ if (reached)
323
+ await (io.door ?? ownDoor)(['line', 'remove', at], io.env);
284
324
  return print(statusOf(await readStore(io.env), io.env));
285
325
  }
286
326
  case 'work': {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--radius-md:.375rem}}@layer utilities{.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.flex{display:flex}.inline-block{display:inline-block}.w-4{width:calc(var(--spacing) * 4)}.w-32{width:calc(var(--spacing) * 32)}.min-w-0{min-width:0}.min-w-40{min-width:calc(var(--spacing) * 40)}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-border{border-color:var(--border)}.bg-background{background-color:var(--background)}.p-2{padding:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.whitespace-pre-wrap{white-space:pre-wrap}.text-danger{color:var(--danger)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--radius-md:.375rem}}@layer utilities{.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.inline-block{display:inline-block}.w-4{width:calc(var(--spacing) * 4)}.w-32{width:calc(var(--spacing) * 32)}.min-w-0{min-width:0}.min-w-40{min-width:calc(var(--spacing) * 40)}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-border{border-color:var(--border)}.bg-background{background-color:var(--background)}.p-2{padding:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.whitespace-pre-wrap{white-space:pre-wrap}.text-danger{color:var(--danger)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
3
3
  /*$vite$:1*/
@@ -1,20 +1,20 @@
1
- import { Button as e, Checkbox as t, Input as n, QrCode as r, SettingsSection as i, defineModule as a, useModuleHost as o, usePolled as s } from "@openagt/dashboard/module";
2
- import { useEffect as c, useRef as l, useState as u } from "react";
3
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
1
+ import { Button as e, Checkbox as t, Input as n, QrCode as r, SettingsSection as i, Switch as a, defineModule as o, useModuleHost as s, usePolled as c } from "@openagt/dashboard/module";
2
+ import { useEffect as l, useRef as u, useState as d } from "react";
3
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
4
4
  //#region dashboard/servers.ts
5
- var p = (e) => typeof e == "string" && e ? e : void 0, m = [
5
+ var m = (e) => typeof e == "string" && e ? e : void 0, h = [
6
6
  "waiting",
7
7
  "running",
8
8
  "done",
9
9
  "failed"
10
10
  ];
11
- function h(e) {
12
- let { there: t, working: n, asking: r, code: i, wanted: a, account: o, since: s, ends: c, said: l } = e && typeof e == "object" ? e : {}, [u, d, f, m, h] = [
13
- p(o),
14
- p(s),
15
- p(c),
16
- p(l),
17
- p(i)
11
+ function g(e) {
12
+ let { there: t, working: n, asking: r, code: i, wanted: a, account: o, since: s, ends: c, said: l } = e && typeof e == "object" ? e : {}, [u, d, f, p, h] = [
13
+ m(o),
14
+ m(s),
15
+ m(c),
16
+ m(l),
17
+ m(i)
18
18
  ];
19
19
  return {
20
20
  there: t === !0,
@@ -27,32 +27,32 @@ function h(e) {
27
27
  ...u ? { account: u } : {},
28
28
  ...d ? { since: d } : {},
29
29
  ...f ? { ends: f } : {},
30
- ...m ? { said: m } : {}
30
+ ...p ? { said: p } : {}
31
31
  };
32
32
  }
33
- function g(e) {
33
+ function _(e) {
34
34
  if (!e || typeof e != "object") return;
35
35
  let { servers: t } = e;
36
36
  if (!Array.isArray(t)) return;
37
37
  let n = [];
38
38
  for (let e of t) {
39
39
  if (!e || typeof e != "object") continue;
40
- let { address: t, url: r, user: i, fingerprint: a, working: o, adding: s, steps: c, logins: l } = e, { github: u, claude: d } = l && typeof l == "object" ? l : {}, [f, g, _, v] = [
41
- p(t),
42
- p(r),
43
- p(i),
44
- p(a)
40
+ let { address: t, url: r, user: i, fingerprint: a, working: o, adding: s, reach: c, steps: l, logins: u } = e, { github: d, claude: f } = u && typeof u == "object" ? u : {}, [p, _, v, y] = [
41
+ m(t),
42
+ m(r),
43
+ m(i),
44
+ m(a)
45
45
  ];
46
- if (!f || !g || !_ || !Array.isArray(c)) continue;
47
- let y = [];
48
- for (let e of c) {
46
+ if (!p || !_ || !v || !Array.isArray(l)) continue;
47
+ let b = [];
48
+ for (let e of l) {
49
49
  if (!e || typeof e != "object") continue;
50
50
  let { id: t, label: n, state: r, said: i } = e, [a, o, s] = [
51
- p(t),
52
- p(n),
53
- p(i)
51
+ m(t),
52
+ m(n),
53
+ m(i)
54
54
  ];
55
- a && o && m.includes(r) && y.push({
55
+ a && o && h.includes(r) && b.push({
56
56
  id: a,
57
57
  label: o,
58
58
  state: r,
@@ -60,30 +60,31 @@ function g(e) {
60
60
  });
61
61
  }
62
62
  n.push({
63
- address: f,
64
- url: g,
65
- user: _,
66
- ...v ? { fingerprint: v } : {},
63
+ address: p,
64
+ url: _,
65
+ user: v,
66
+ ...y ? { fingerprint: y } : {},
67
67
  working: o === !0,
68
68
  adding: s === !0,
69
- steps: y,
69
+ ...c === "full" || c === "watch" ? { reach: c } : {},
70
+ steps: b,
70
71
  logins: {
71
- github: h(u),
72
- claude: h(d)
72
+ github: g(d),
73
+ claude: g(f)
73
74
  }
74
75
  });
75
76
  }
76
77
  return n;
77
78
  }
78
- function _(e) {
79
+ function v(e) {
79
80
  if (!e || typeof e != "object") return;
80
- let { url: t, expires: n } = e, [r, i] = [p(t), p(n)];
81
+ let { url: t, expires: n } = e, [r, i] = [m(t), m(n)];
81
82
  return r && i ? {
82
83
  url: r,
83
84
  expires: i
84
85
  } : void 0;
85
86
  }
86
- async function v(e, t, n) {
87
+ async function y(e, t, n) {
87
88
  let r = await e.runComputerCommand(t).catch((e) => ({
88
89
  ok: !1,
89
90
  error: e instanceof Error ? e.message : String(e)
@@ -98,68 +99,72 @@ async function v(e, t, n) {
98
99
  value: i
99
100
  };
100
101
  }
101
- function y(e) {
102
- let t = g(e);
102
+ function b(e) {
103
+ let t = _(e);
103
104
  return t && {
104
105
  servers: t,
105
106
  isServer: e.server === !0
106
107
  };
107
108
  }
108
- var b = (e) => v(e, ["status"], y), x = (e, t, n, r, i = !1) => v(e, [
109
+ var x = (e) => y(e, ["status"], b), ee = (e, t, n, r, i = !1) => y(e, [
109
110
  "connect",
110
111
  t,
111
112
  n,
112
113
  r,
113
114
  ...i ? ["github"] : []
114
- ], g);
115
+ ], _);
115
116
  function S(e) {
116
117
  if (!e || typeof e != "object") return;
117
- let { account: t, problem: n } = e, [r, i] = [p(t), p(n)];
118
+ let { account: t, problem: n } = e, [r, i] = [m(t), m(n)];
118
119
  return r ? { account: r } : i ? { problem: i } : void 0;
119
120
  }
120
- var ee = (e) => v(e, ["github"], S), C = (e, t, n, r = !1) => v(e, [
121
+ var C = (e) => y(e, ["github"], S), w = (e, t, n, r = !1) => y(e, [
121
122
  "login",
122
123
  t,
123
124
  n,
124
125
  ...r ? ["own"] : []
125
- ], g), w = (e, t, n) => v(e, [
126
+ ], _), T = (e, t, n) => y(e, [
126
127
  "logout",
127
128
  t,
128
129
  n
129
- ], g), T = (e, t) => v(e, ["link", t], _), te = (e, t) => v(e, ["added", t], g), ne = (e, t) => v(e, ["forget", t], g), E = void 0, D = 5 * 6e4, O = void 0, k = void 0, A = (e) => e === void 0 ? "" : new Date(e).toLocaleDateString(void 0, {
130
+ ], _), E = (e, t) => y(e, ["link", t], v), D = (e, t) => y(e, ["added", t], _), O = (e, t) => y(e, ["forget", t], _), k = (e, t, n) => y(e, [
131
+ "reach",
132
+ t,
133
+ n
134
+ ], _), A = void 0, te = 5 * 6e4, ne = void 0, re = void 0, j = (e) => e === void 0 ? "" : new Date(e).toLocaleDateString(void 0, {
130
135
  day: "numeric",
131
136
  month: "short",
132
137
  year: "numeric"
133
138
  });
134
- function j({ label: e, words: t, said: n, children: r }) {
135
- return /* @__PURE__ */ f("li", {
139
+ function M({ label: e, words: t, said: n, children: r }) {
140
+ return /* @__PURE__ */ p("li", {
136
141
  "aria-label": e,
137
142
  className: "space-y-1",
138
- children: [/* @__PURE__ */ f("div", {
143
+ children: [/* @__PURE__ */ p("div", {
139
144
  className: "flex flex-wrap items-center justify-between gap-2",
140
- children: [/* @__PURE__ */ d("span", { children: t }), /* @__PURE__ */ d("div", {
145
+ children: [/* @__PURE__ */ f("span", { children: t }), /* @__PURE__ */ f("div", {
141
146
  className: "flex gap-2",
142
147
  children: r
143
148
  })]
144
- }), n !== void 0 && /* @__PURE__ */ d("pre", {
149
+ }), n !== void 0 && /* @__PURE__ */ f("pre", {
145
150
  role: "alert",
146
151
  className: "overflow-x-auto whitespace-pre-wrap rounded-md border border-border bg-background p-2 font-mono text-foreground",
147
152
  children: n
148
153
  })]
149
154
  });
150
155
  }
151
- var M = {
156
+ var N = {
152
157
  waiting: "○",
153
158
  running: "…",
154
159
  done: "✓",
155
160
  failed: "✕"
156
- }, N = {
161
+ }, ie = {
157
162
  waiting: "not started",
158
163
  running: "running",
159
164
  done: "done",
160
165
  failed: "failed"
161
166
  }, P = (e, t) => Object.fromEntries(Object.entries(e).filter(([e]) => e !== t));
162
- function F(e, t) {
167
+ function ae(e, t) {
163
168
  let n = (e) => {
164
169
  let t = /^(\d+)\.(\d+)\.(\d+)/.exec(e);
165
170
  return t ? t.slice(1).map(Number) : void 0;
@@ -168,20 +173,20 @@ function F(e, t) {
168
173
  for (let e = 0; e < 3; e++) if (r[e] !== i[e]) return r[e] < i[e];
169
174
  return !1;
170
175
  }
171
- function I({ everyMs: e = 3e3 }) {
172
- let t = o(), { value: n, reload: r } = s(() => b(t), E, e, []), i = l(void 0);
173
- return n?.ok && (i.current = n.value.isServer), n === void 0 || i.current === !0 ? null : /* @__PURE__ */ d(L, {
176
+ function F({ everyMs: e = 3e3 }) {
177
+ let t = s(), { value: n, reload: r } = c(() => x(t), A, e, []), i = u(void 0);
178
+ return n?.ok && (i.current = n.value.isServer), n === void 0 || i.current === !0 ? null : /* @__PURE__ */ f(I, {
174
179
  read: n,
175
180
  reload: r,
176
181
  everyMs: e
177
182
  });
178
183
  }
179
- function L({ read: a, reload: p, everyMs: m }) {
180
- let h = o(), { value: g, reload: _ } = s(() => h.machines(), O, Math.max(m, 1e4), []), { value: v } = s(() => ee(h), k, Math.max(m, 5 * 6e4), []), y = v?.ok && "account" in v.value ? v.value.account : void 0, b = v === void 0 || y !== void 0 ? void 0 : v.ok ? "problem" in v.value ? v.value.problem : void 0 : v.error, [S, E] = u(""), [I, L] = u("root"), [R, re] = u(!1), [z, B] = u(!1), [V, H] = u(), [U, W] = u({}), G = l(/* @__PURE__ */ new Set()), [K, q] = u(), J = a.ok ? a.value.servers : [], Y = (e, t = g) => t?.machines.find((t) => t.url === e.url), X = (e) => !e.working && e.steps.every((e) => e.state === "done"), Z = async (e) => {
184
+ function I({ read: o, reload: m, everyMs: h }) {
185
+ let g = s(), { value: _, reload: v } = c(() => g.machines(), ne, Math.max(h, 1e4), []), { value: y } = c(() => C(g), re, Math.max(h, 5 * 6e4), []), b = y?.ok && "account" in y.value ? y.value.account : void 0, x = y === void 0 || b !== void 0 ? void 0 : y.ok ? "problem" in y.value ? y.value.problem : void 0 : y.error, [S, A] = d(""), [F, I] = d("root"), [L, R] = d(!1), [z, B] = d(!1), [V, H] = d(), [U, W] = d({}), G = u(/* @__PURE__ */ new Set()), [K, q] = d(), J = o.ok ? o.value.servers : [], Y = (e, t = _) => t?.machines.find((t) => t.url === e.url), X = (e) => !e.working && e.steps.every((e) => e.state === "done"), Z = async (e) => {
181
186
  B(!0), H(void 0);
182
187
  let t = await e();
183
- return t.ok || H(t.error), await p().catch(() => {}), B(!1), t.ok;
184
- }, Q = async (e, t, n = !1) => !g || g.version === "unknown" ? (H("This computer could not say which OpenAgent it runs."), !1) : (W((t) => P(t, e)), Z(() => x(h, e, t, g.version, n))), $ = async (e) => {
188
+ return t.ok || H(t.error), await m().catch(() => {}), B(!1), t.ok;
189
+ }, Q = async (e, t, n = !1) => !_ || _.version === "unknown" ? (H("This computer could not say which OpenAgent it runs."), !1) : (W((t) => P(t, e)), Z(() => ee(g, e, t, _.version, n))), $ = async (e) => {
185
190
  if (G.current.has(e.address)) return;
186
191
  G.current.add(e.address), W((t) => P(t, e.address));
187
192
  let t = (t) => W((n) => ({
@@ -189,130 +194,130 @@ function L({ read: a, reload: p, everyMs: m }) {
189
194
  [e.address]: t
190
195
  }));
191
196
  try {
192
- if (Y(e, await h.machines())?.version === void 0) {
193
- let n = await T(h, e.address), r = n.ok ? await h.addMachine(n.value.url, e.address) : n;
197
+ if (Y(e, await g.machines())?.version === void 0) {
198
+ let n = await E(g, e.address), r = n.ok ? await g.addMachine(n.value.url, e.address) : n;
194
199
  if (!r.ok) return t(r.error);
195
200
  }
196
- let n = await te(h, e.address);
201
+ let n = await D(g, e.address);
197
202
  if (!n.ok) return t(n.error);
198
- await Promise.all([p(), _()]).catch(() => {});
203
+ n.value.find((t) => t.address === e.address)?.reach === void 0 && await k(g, e.address, "full"), await Promise.all([m(), v()]).catch(() => {});
199
204
  } catch (e) {
200
205
  t(e instanceof Error ? e.message : String(e));
201
206
  } finally {
202
207
  G.current.delete(e.address);
203
208
  }
204
209
  };
205
- c(() => {
206
- if (g) for (let e of J) e.adding && X(e) && U[e.address] === void 0 && $(e);
207
- }), c(() => {
210
+ l(() => {
211
+ if (_) for (let e of J) e.adding && X(e) && U[e.address] === void 0 && $(e);
212
+ }), l(() => {
208
213
  if (!K) return;
209
- let e = setTimeout(() => q(void 0), Math.min(D, Math.max(0, Date.parse(K.expires) - Date.now())));
214
+ let e = setTimeout(() => q(void 0), Math.min(te, Math.max(0, Date.parse(K.expires) - Date.now())));
210
215
  return () => clearTimeout(e);
211
216
  }, [K]);
212
- let ie = async (e) => {
217
+ let oe = async (e) => {
213
218
  B(!0), H(void 0), q(void 0);
214
- let t = await T(h, e.address);
219
+ let t = await E(g, e.address);
215
220
  t.ok ? q({
216
221
  ...t.value,
217
222
  address: e.address
218
223
  }) : H(t.error), B(!1);
219
224
  };
220
- return /* @__PURE__ */ f(i, {
225
+ return /* @__PURE__ */ p(i, {
221
226
  title: "Servers",
222
227
  description: "Connect your VPS: give its address and a user name, and OpenAgent installs itself there over SSH, with this computer's own SSH keys. The server then runs OpenAgent by itself, and is one of your machines.",
223
228
  children: [
224
- /* @__PURE__ */ f("form", {
229
+ /* @__PURE__ */ p("form", {
225
230
  onSubmit: (e) => {
226
- e.preventDefault(), !(!S.trim() || !I.trim()) && Q(S.trim(), I.trim(), R && y !== void 0).then((e) => e && E(""));
231
+ e.preventDefault(), !(!S.trim() || !F.trim()) && Q(S.trim(), F.trim(), L && b !== void 0).then((e) => e && A(""));
227
232
  },
228
233
  className: "flex flex-wrap items-end gap-2 py-3",
229
234
  children: [
230
- /* @__PURE__ */ f("label", {
235
+ /* @__PURE__ */ p("label", {
231
236
  className: "min-w-40 flex-1 space-y-1 text-xs text-muted-foreground",
232
- children: [/* @__PURE__ */ d("span", { children: "The server's address" }), /* @__PURE__ */ d(n, {
237
+ children: [/* @__PURE__ */ f("span", { children: "The server's address" }), /* @__PURE__ */ f(n, {
233
238
  "aria-label": "The server's address",
234
239
  placeholder: "203.0.113.5",
235
240
  value: S,
236
- onChange: (e) => E(e.target.value)
241
+ onChange: (e) => A(e.target.value)
237
242
  })]
238
243
  }),
239
- /* @__PURE__ */ f("label", {
244
+ /* @__PURE__ */ p("label", {
240
245
  className: "w-32 space-y-1 text-xs text-muted-foreground",
241
- children: [/* @__PURE__ */ d("span", { children: "User name" }), /* @__PURE__ */ d(n, {
246
+ children: [/* @__PURE__ */ f("span", { children: "User name" }), /* @__PURE__ */ f(n, {
242
247
  "aria-label": "User name",
243
- value: I,
244
- onChange: (e) => L(e.target.value)
248
+ value: F,
249
+ onChange: (e) => I(e.target.value)
245
250
  })]
246
251
  }),
247
- /* @__PURE__ */ d(e, {
252
+ /* @__PURE__ */ f(e, {
248
253
  size: "sm",
249
254
  type: "submit",
250
- disabled: z || !g || !S.trim() || !I.trim(),
255
+ disabled: z || !_ || !S.trim() || !F.trim(),
251
256
  children: "Connect"
252
257
  })
253
258
  ]
254
259
  }),
255
- /* @__PURE__ */ f("div", {
260
+ /* @__PURE__ */ p("div", {
256
261
  className: "space-y-2 pb-3",
257
- children: [/* @__PURE__ */ f("label", {
262
+ children: [/* @__PURE__ */ p("label", {
258
263
  className: "flex items-start gap-2 text-xs",
259
- children: [/* @__PURE__ */ d(t, {
260
- checked: R && y !== void 0,
261
- onCheckedChange: (e) => re(e === !0),
262
- disabled: z || y === void 0,
264
+ children: [/* @__PURE__ */ f(t, {
265
+ checked: L && b !== void 0,
266
+ onCheckedChange: (e) => R(e === !0),
267
+ disabled: z || b === void 0,
263
268
  className: "mt-0.5",
264
269
  "aria-label": "Copy my GitHub login to the server"
265
- }), /* @__PURE__ */ f("span", { children: [
266
- y === void 0 ? "Copy my GitHub login to the server." : `Copy my GitHub login (${y}) to the server.`,
270
+ }), /* @__PURE__ */ p("span", { children: [
271
+ b === void 0 ? "Copy my GitHub login to the server." : `Copy my GitHub login (${b}) to the server.`,
267
272
  " ",
268
- /* @__PURE__ */ d("span", {
273
+ /* @__PURE__ */ f("span", {
269
274
  className: "text-muted-foreground",
270
- children: b ?? "It can do there all it can do here, and every agent that runs on the server works with it. It goes there at the install's end, to a server met for the first time too, whose key is taken as it is."
275
+ children: x ?? "It can do there all it can do here, and every agent that runs on the server works with it. It goes there at the install's end, to a server met for the first time too, whose key is taken as it is."
271
276
  })
272
277
  ] })]
273
- }), /* @__PURE__ */ d("p", {
278
+ }), /* @__PURE__ */ f("p", {
274
279
  className: "text-xs text-muted-foreground",
275
280
  children: "The user is root, or one that becomes root without a password. It is only used to install, to update and to give the server its logins: what runs on the server afterwards runs as a user of its own, openagent."
276
281
  })]
277
282
  }),
278
- J.length > 0 && /* @__PURE__ */ d("ul", {
283
+ J.length > 0 && /* @__PURE__ */ f("ul", {
279
284
  "aria-label": "Servers",
280
285
  className: "divide-y divide-border",
281
286
  children: J.map((t) => {
282
- let n = Y(t), i = !t.working && t.steps.some((e) => e.state === "failed"), a = n?.version !== void 0 && g !== void 0 && F(n.version, g.version), o = !t.working && !i && t.steps.some((e) => e.state === "waiting"), s = U[t.address], { github: c, claude: l } = t.logins;
283
- return /* @__PURE__ */ f("li", {
287
+ let n = Y(t), i = !t.working && t.steps.some((e) => e.state === "failed"), o = n?.version !== void 0 && _ !== void 0 && ae(n.version, _.version), s = !t.working && !i && t.steps.some((e) => e.state === "waiting"), c = U[t.address], { github: l, claude: u } = t.logins;
288
+ return /* @__PURE__ */ p("li", {
284
289
  "aria-label": t.address,
285
290
  className: "space-y-2 py-3",
286
291
  children: [
287
- /* @__PURE__ */ f("div", {
292
+ /* @__PURE__ */ p("div", {
288
293
  className: "flex flex-wrap items-center justify-between gap-2",
289
- children: [/* @__PURE__ */ f("div", {
294
+ children: [/* @__PURE__ */ p("div", {
290
295
  className: "min-w-0",
291
- children: [/* @__PURE__ */ d("p", {
296
+ children: [/* @__PURE__ */ f("p", {
292
297
  className: "truncate text-sm",
293
298
  children: t.address
294
- }), /* @__PURE__ */ d("p", {
299
+ }), /* @__PURE__ */ f("p", {
295
300
  className: "text-xs text-muted-foreground",
296
- children: t.working ? "OpenAgent is being installed." : n?.version === void 0 ? n ? "Does not answer right now." : X(t) && !t.adding ? "Installed, and not among your machines." : `Logs in as ${t.user}.` : a ? `OpenAgent ${n.version}: behind this computer, which runs ${g.version}.` : `OpenAgent ${n.version}.`
301
+ children: t.working ? "OpenAgent is being installed." : n?.version === void 0 ? n ? "Does not answer right now." : X(t) && !t.adding ? "Installed, and not among your machines." : `Logs in as ${t.user}.` : o ? `OpenAgent ${n.version}: behind this computer, which runs ${_.version}.` : `OpenAgent ${n.version}.`
297
302
  })]
298
- }), /* @__PURE__ */ f("div", {
303
+ }), /* @__PURE__ */ p("div", {
299
304
  className: "flex gap-2",
300
305
  children: [
301
- (a || o) && !t.working && !i && /* @__PURE__ */ d(e, {
306
+ (o || s) && !t.working && !i && /* @__PURE__ */ f(e, {
302
307
  size: "sm",
303
- disabled: z || !g,
308
+ disabled: z || !_,
304
309
  "aria-label": `Update ${t.address}`,
305
310
  onClick: () => void Q(t.address, t.user),
306
311
  children: "Update"
307
312
  }),
308
- i && /* @__PURE__ */ d(e, {
313
+ i && /* @__PURE__ */ f(e, {
309
314
  size: "sm",
310
- disabled: z || !g,
315
+ disabled: z || !_,
311
316
  "aria-label": `Try ${t.address} again`,
312
- onClick: () => void Q(t.address, t.user, c.wanted === !0),
317
+ onClick: () => void Q(t.address, t.user, l.wanted === !0),
313
318
  children: "Try again"
314
319
  }),
315
- X(t) && n?.version === void 0 && (s !== void 0 || !t.adding) && /* @__PURE__ */ d(e, {
320
+ X(t) && n?.version === void 0 && (c !== void 0 || !t.adding) && /* @__PURE__ */ f(e, {
316
321
  size: "sm",
317
322
  variant: "outline",
318
323
  disabled: z,
@@ -320,47 +325,65 @@ function L({ read: a, reload: p, everyMs: m }) {
320
325
  onClick: () => void $(t),
321
326
  children: n ? "Add again" : "Add to Machines"
322
327
  }),
323
- X(t) && /* @__PURE__ */ d(e, {
328
+ X(t) && /* @__PURE__ */ f(e, {
324
329
  size: "sm",
325
330
  variant: "outline",
326
331
  disabled: z,
327
332
  "aria-label": `Add a device to ${t.address}`,
328
- onClick: () => void ie(t),
333
+ onClick: () => void oe(t),
329
334
  children: "Add device"
330
335
  }),
331
- !t.working && /* @__PURE__ */ d(e, {
336
+ !t.working && /* @__PURE__ */ f(e, {
332
337
  size: "sm",
333
338
  variant: "outline",
334
339
  disabled: z,
335
340
  "aria-label": `Remove ${t.address}`,
336
341
  title: "Takes the server off this list. Nothing is changed on the server: its logins stay there until you remove them.",
337
- onClick: () => void Z(() => ne(h, t.address)),
342
+ onClick: () => void Z(() => O(g, t.address)),
338
343
  children: "Remove"
339
344
  })
340
345
  ]
341
346
  })]
342
347
  }),
343
- K?.address === t.address && /* @__PURE__ */ f("div", {
348
+ X(t) && n && /* @__PURE__ */ p("label", {
349
+ className: "flex items-start justify-between gap-4",
350
+ children: [/* @__PURE__ */ p("span", {
351
+ className: "min-w-0",
352
+ children: [/* @__PURE__ */ f("span", {
353
+ className: "block text-sm",
354
+ children: "Start runs on this computer from the phone"
355
+ }), /* @__PURE__ */ f("span", {
356
+ className: "block text-xs text-muted-foreground",
357
+ children: t.reach === "full" ? `On: on ${t.address}'s page, "Run on" offers this computer, and a run started there runs here. This computer must be on.` : t.reach === "watch" ? `Off: ${t.address}'s page shows this computer's runs. It cannot start one here, or say anything to one.` : `Off. Turn it on to pick this computer under "Run on" on ${t.address}'s page, from your phone.`
358
+ })]
359
+ }), /* @__PURE__ */ f(a, {
360
+ "aria-label": `Start runs on this computer from ${t.address}`,
361
+ checked: t.reach === "full",
362
+ disabled: z,
363
+ onCheckedChange: (e) => void Z(() => k(g, t.address, e ? "full" : "watch"))
364
+ })]
365
+ }),
366
+ K?.address === t.address && /* @__PURE__ */ p("div", {
344
367
  className: "space-y-2",
345
368
  children: [
346
- /* @__PURE__ */ d(r, {
369
+ /* @__PURE__ */ f(r, {
347
370
  text: K.url,
348
371
  label: `The code a new device scans to get into ${t.address}`
349
372
  }),
350
- /* @__PURE__ */ d("p", {
373
+ /* @__PURE__ */ f("p", {
351
374
  className: "text-xs text-muted-foreground",
352
375
  children: "Scan it with the device's camera: it opens OpenAgent on the server, from anywhere. The code works once, for five minutes."
353
376
  }),
354
- /* @__PURE__ */ f("div", {
377
+ /* @__PURE__ */ p("div", {
355
378
  className: "flex flex-wrap items-center gap-3",
356
- children: [/* @__PURE__ */ d("a", {
379
+ children: [/* @__PURE__ */ f("a", {
357
380
  href: K.url,
358
381
  target: "_blank",
359
382
  rel: "noreferrer",
360
383
  className: "text-xs underline",
361
384
  onClick: () => q(void 0),
362
385
  children: "Let this browser in instead"
363
- }), /* @__PURE__ */ d(e, {
386
+ }), /* @__PURE__ */ f(e, {
364
387
  size: "sm",
365
388
  variant: "outline",
366
389
  onClick: () => q(void 0),
@@ -369,120 +392,120 @@ function L({ read: a, reload: p, everyMs: m }) {
369
392
  })
370
393
  ]
371
394
  }),
372
- /* @__PURE__ */ f("ol", {
395
+ /* @__PURE__ */ p("ol", {
373
396
  "aria-label": `The install on ${t.address}`,
374
397
  className: "space-y-1 text-xs",
375
398
  children: [
376
- t.steps.map((e) => /* @__PURE__ */ f("li", {
377
- "aria-label": `${e.label}: ${N[e.state]}`,
399
+ t.steps.map((e) => /* @__PURE__ */ p("li", {
400
+ "aria-label": `${e.label}: ${ie[e.state]}`,
378
401
  children: [
379
- /* @__PURE__ */ f("span", {
402
+ /* @__PURE__ */ p("span", {
380
403
  className: e.state === "failed" ? "text-danger" : e.state === "waiting" ? "text-muted-foreground" : void 0,
381
- children: [/* @__PURE__ */ d("span", {
404
+ children: [/* @__PURE__ */ f("span", {
382
405
  "aria-hidden": !0,
383
406
  className: "inline-block w-4",
384
- children: M[e.state]
407
+ children: N[e.state]
385
408
  }), e.label]
386
409
  }),
387
- e.id === "login" && e.state === "done" && t.fingerprint !== void 0 && /* @__PURE__ */ d("span", {
410
+ e.id === "login" && e.state === "done" && t.fingerprint !== void 0 && /* @__PURE__ */ f("span", {
388
411
  className: "ml-2 font-mono text-muted-foreground",
389
412
  children: `The server's key: ${t.fingerprint}`
390
413
  }),
391
- e.said !== void 0 && e.state === "failed" && /* @__PURE__ */ d("pre", {
414
+ e.said !== void 0 && e.state === "failed" && /* @__PURE__ */ f("pre", {
392
415
  role: "alert",
393
416
  className: "mt-1 ml-4 overflow-x-auto whitespace-pre-wrap rounded-md border border-border bg-background p-2 font-mono text-foreground",
394
417
  children: e.said
395
418
  })
396
419
  ]
397
420
  }, e.id)),
398
- t.logins.github.working && /* @__PURE__ */ f("li", {
421
+ t.logins.github.working && /* @__PURE__ */ p("li", {
399
422
  "aria-label": "Your GitHub login: not copied yet",
400
423
  className: "text-muted-foreground",
401
- children: [/* @__PURE__ */ d("span", {
424
+ children: [/* @__PURE__ */ f("span", {
402
425
  "aria-hidden": !0,
403
426
  className: "inline-block w-4",
404
- children: M[t.steps.every((e) => e.state === "done") ? "running" : "waiting"]
427
+ children: N[t.steps.every((e) => e.state === "done") ? "running" : "waiting"]
405
428
  }), "Your GitHub login"]
406
429
  }),
407
- X(t) && /* @__PURE__ */ f("li", {
408
- "aria-label": `Among your machines: ${n ? "done" : s === void 0 ? t.adding ? "running" : "not started" : "failed"}`,
409
- children: [/* @__PURE__ */ f("span", {
410
- className: n ? void 0 : s === void 0 ? "text-muted-foreground" : "text-danger",
411
- children: [/* @__PURE__ */ d("span", {
430
+ X(t) && /* @__PURE__ */ p("li", {
431
+ "aria-label": `Among your machines: ${n ? "done" : c === void 0 ? t.adding ? "running" : "not started" : "failed"}`,
432
+ children: [/* @__PURE__ */ p("span", {
433
+ className: n ? void 0 : c === void 0 ? "text-muted-foreground" : "text-danger",
434
+ children: [/* @__PURE__ */ f("span", {
412
435
  "aria-hidden": !0,
413
436
  className: "inline-block w-4",
414
- children: M[n ? "done" : s === void 0 ? t.adding ? "running" : "waiting" : "failed"]
437
+ children: N[n ? "done" : c === void 0 ? t.adding ? "running" : "waiting" : "failed"]
415
438
  }), "Among your machines"]
416
- }), s !== void 0 && !n && /* @__PURE__ */ d("pre", {
439
+ }), c !== void 0 && !n && /* @__PURE__ */ f("pre", {
417
440
  role: "alert",
418
441
  className: "mt-1 ml-4 overflow-x-auto whitespace-pre-wrap rounded-md border border-border bg-background p-2 font-mono text-foreground",
419
- children: s
442
+ children: c
420
443
  })]
421
444
  })
422
445
  ]
423
446
  }),
424
- X(t) && /* @__PURE__ */ f("ul", {
447
+ X(t) && /* @__PURE__ */ p("ul", {
425
448
  "aria-label": `The logins on ${t.address}`,
426
449
  className: "space-y-2 border-t border-border pt-2 text-xs",
427
- children: [/* @__PURE__ */ f(j, {
450
+ children: [/* @__PURE__ */ p(M, {
428
451
  label: "GitHub",
429
- words: c.asking && c.code !== void 0 ? `GitHub: type the code ${c.code} at github.com/login/device, and say yes there.` : c.working ? "GitHub: one moment, the server is being told." : c.there ? `GitHub: logged in as ${c.account ?? "you"} since ${A(c.since)}.` : c.said === void 0 ? "GitHub: no login on the server." : "GitHub: the last try did not go through.",
430
- said: c.working ? void 0 : c.said,
452
+ words: l.asking && l.code !== void 0 ? `GitHub: type the code ${l.code} at github.com/login/device, and say yes there.` : l.working ? "GitHub: one moment, the server is being told." : l.there ? `GitHub: logged in as ${l.account ?? "you"} since ${j(l.since)}.` : l.said === void 0 ? "GitHub: no login on the server." : "GitHub: the last try did not go through.",
453
+ said: l.working ? void 0 : l.said,
431
454
  children: [
432
- /* @__PURE__ */ d(e, {
455
+ /* @__PURE__ */ f(e, {
433
456
  size: "sm",
434
457
  variant: "outline",
435
- disabled: z || c.working || y === void 0,
458
+ disabled: z || l.working || b === void 0,
436
459
  "aria-label": `Copy my GitHub login to ${t.address}`,
437
- title: y === void 0 ? b : `Copies the login of ${y} from this computer to the server, over SSH.`,
438
- onClick: () => void Z(() => C(h, t.address, "github")),
439
- children: c.there ? "Copy again" : "Copy my login"
460
+ title: b === void 0 ? x : `Copies the login of ${b} from this computer to the server, over SSH.`,
461
+ onClick: () => void Z(() => w(g, t.address, "github")),
462
+ children: l.there ? "Copy again" : "Copy my login"
440
463
  }),
441
- /* @__PURE__ */ d(e, {
464
+ /* @__PURE__ */ f(e, {
442
465
  size: "sm",
443
466
  variant: "outline",
444
- disabled: z || c.working && c.asking !== !0,
467
+ disabled: z || l.working && l.asking !== !0,
445
468
  "aria-label": `Log in to GitHub for ${t.address}`,
446
469
  title: "The server asks GitHub for a login of its own. GitHub gives a short code: you type it at github.com/login/device and say yes there. This computer's own GitHub login is not touched, and the login the server had is replaced.",
447
- onClick: () => void Z(() => C(h, t.address, "github", !0)),
448
- children: c.asking ? "Start over" : "Log in to GitHub"
470
+ onClick: () => void Z(() => w(g, t.address, "github", !0)),
471
+ children: l.asking ? "Start over" : "Log in to GitHub"
449
472
  }),
450
- c.asking && c.code !== void 0 && /* @__PURE__ */ d("a", {
473
+ l.asking && l.code !== void 0 && /* @__PURE__ */ f("a", {
451
474
  href: "https://github.com/login/device",
452
475
  target: "_blank",
453
476
  rel: "noreferrer",
454
477
  className: "self-center underline",
455
478
  children: "Open GitHub"
456
479
  }),
457
- (c.there || c.said !== void 0) && !c.working && /* @__PURE__ */ d(e, {
480
+ (l.there || l.said !== void 0) && !l.working && /* @__PURE__ */ f(e, {
458
481
  size: "sm",
459
482
  variant: "outline",
460
483
  disabled: z,
461
484
  "aria-label": `Remove the GitHub login from ${t.address}`,
462
485
  title: "Deletes the login on the server. The login itself is not ended by this: a copied one is this computer's own and stays good. To end one everywhere, take it back on github.com.",
463
- onClick: () => void Z(() => w(h, t.address, "github")),
486
+ onClick: () => void Z(() => T(g, t.address, "github")),
464
487
  children: "Remove"
465
488
  })
466
489
  ]
467
- }), /* @__PURE__ */ f(j, {
490
+ }), /* @__PURE__ */ p(M, {
468
491
  label: "Claude",
469
- words: l.asking ? "Claude: say yes in the page this computer's browser opened." : l.working ? "Claude: one moment, the server is being told." : l.there ? `Claude: logged in since ${A(l.since)}, good until about ${A(l.ends)}.` : l.said === void 0 ? "Claude: not logged in on the server." : "Claude: the last try did not go through.",
470
- said: l.working ? void 0 : l.said,
471
- children: [/* @__PURE__ */ d(e, {
492
+ words: u.asking ? "Claude: say yes in the page this computer's browser opened." : u.working ? "Claude: one moment, the server is being told." : u.there ? `Claude: logged in since ${j(u.since)}, good until about ${j(u.ends)}.` : u.said === void 0 ? "Claude: not logged in on the server." : "Claude: the last try did not go through.",
493
+ said: u.working ? void 0 : u.said,
494
+ children: [/* @__PURE__ */ f(e, {
472
495
  size: "sm",
473
- variant: l.there || l.working ? "outline" : "default",
474
- disabled: z || l.working && l.asking !== !0,
496
+ variant: u.there || u.working ? "outline" : "default",
497
+ disabled: z || u.working && u.asking !== !0,
475
498
  "aria-label": `Log in to Claude for ${t.address}`,
476
499
  title: "Opens this computer's browser, where you say yes once. The login is made for this server alone and lasts a year; this computer's own Claude login is not touched.",
477
- onClick: () => void Z(() => C(h, t.address, "claude")),
478
- children: l.asking ? "Start over" : l.there ? "Log in again" : "Log in to Claude"
479
- }), (l.there || l.said !== void 0) && !l.working && /* @__PURE__ */ d(e, {
500
+ onClick: () => void Z(() => w(g, t.address, "claude")),
501
+ children: u.asking ? "Start over" : u.there ? "Log in again" : "Log in to Claude"
502
+ }), (u.there || u.said !== void 0) && !u.working && /* @__PURE__ */ f(e, {
480
503
  size: "sm",
481
504
  variant: "outline",
482
505
  disabled: z,
483
506
  "aria-label": `Remove the Claude login from ${t.address}`,
484
507
  title: "Deletes the login on the server and starts OpenAgent there again without it. An agent at work there keeps it until it ends. The login itself stays good until its year is over.",
485
- onClick: () => void Z(() => w(h, t.address, "claude")),
508
+ onClick: () => void Z(() => T(g, t.address, "claude")),
486
509
  children: "Remove"
487
510
  })]
488
511
  })]
@@ -491,12 +514,12 @@ function L({ read: a, reload: p, everyMs: m }) {
491
514
  }, t.address);
492
515
  })
493
516
  }),
494
- !a.ok && /* @__PURE__ */ d("p", {
517
+ !o.ok && /* @__PURE__ */ f("p", {
495
518
  role: "alert",
496
519
  className: "py-3 text-xs text-danger",
497
- children: `The servers could not be read: ${a.error}`
520
+ children: `The servers could not be read: ${o.error}`
498
521
  }),
499
- V !== void 0 && /* @__PURE__ */ d("p", {
522
+ V !== void 0 && /* @__PURE__ */ f("p", {
500
523
  role: "alert",
501
524
  className: "py-3 text-xs text-danger",
502
525
  children: V
@@ -506,13 +529,13 @@ function L({ read: a, reload: p, everyMs: m }) {
506
529
  }
507
530
  //#endregion
508
531
  //#region dashboard/index.tsx
509
- var R = a({
532
+ var L = o({
510
533
  settings: [{
511
534
  id: "servers",
512
535
  order: 20,
513
- Section: () => /* @__PURE__ */ d(I, {})
536
+ Section: () => /* @__PURE__ */ f(F, {})
514
537
  }],
515
538
  stylesheet: "dashboard.css"
516
539
  });
517
540
  //#endregion
518
- export { R as default };
541
+ export { L as default };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * This computer's own door, asked as a person asks it: by its command. The line a server is
3
+ * reached back through is the door's to keep; this package only says to which server, and what
4
+ * that server may do through it.
5
+ */
6
+ export type OwnDoor = (args: string[], env: NodeJS.ProcessEnv, input?: string) => Promise<{
7
+ ok: true;
8
+ } | {
9
+ ok: false;
10
+ error: string;
11
+ }>;
12
+ export declare const ownDoor: OwnDoor;
13
+ //# sourceMappingURL=own-door.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"own-door.d.ts","sourceRoot":"","sources":["../src/own-door.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAItI,eAAO,MAAM,OAAO,EAAE,OAoBlB,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { createRequire } from 'node:module';
3
+ import { dirname, join } from 'node:path';
4
+ const ANSWER_MS = 60_000;
5
+ export const ownDoor = (args, env, input) => new Promise(resolve => {
6
+ let bin;
7
+ try {
8
+ bin = join(dirname(createRequire(import.meta.url).resolve('@openagt/remote-access/package.json')), 'bin', 'remote-access');
9
+ }
10
+ catch {
11
+ return resolve({ ok: false, error: 'the door of this computer is not installed beside OpenAgent' });
12
+ }
13
+ // What must not be read off the list of running programs (a link's code) goes in on standard input.
14
+ const child = spawn(process.execPath, [bin, ...args], { env, stdio: [input === undefined ? 'ignore' : 'pipe', 'ignore', 'pipe'] });
15
+ child.stdin?.on('error', () => { }).end(input);
16
+ let said = '';
17
+ child.stderr.setEncoding('utf8').on('data', (chunk) => (said = (said + chunk).slice(-2_000)));
18
+ const timer = setTimeout(() => child.kill('SIGKILL'), ANSWER_MS);
19
+ const end = (answer) => {
20
+ clearTimeout(timer);
21
+ resolve(answer);
22
+ };
23
+ child.once('error', err => end({ ok: false, error: err.message }));
24
+ child.once('exit', code => end(code === 0 ? { ok: true } : { ok: false, error: said.trim().split('\n').at(-1) || 'the door of this computer did not answer' }));
25
+ });
26
+ //# sourceMappingURL=own-door.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"own-door.js","sourceRoot":"","sources":["../src/own-door.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AASzC,MAAM,SAAS,GAAG,MAAM,CAAA;AAExB,MAAM,CAAC,MAAM,OAAO,GAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CACnD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;IACpB,IAAI,GAAW,CAAA;IACf,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IAC5H,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6DAA6D,EAAE,CAAC,CAAA;IACrG,CAAC;IACD,oGAAoG;IACpG,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IAClI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC7C,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,KAAK,CAAC,MAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtG,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;IAChE,MAAM,GAAG,GAAG,CAAC,MAAmD,EAAQ,EAAE;QACxE,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,OAAO,CAAC,MAAM,CAAC,CAAA;IACjB,CAAC,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAClE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,0CAA0C,EAAE,CAAC,CAAC,CAAA;AACjK,CAAC,CAAC,CAAA"}
package/dist/store.d.ts CHANGED
@@ -60,7 +60,13 @@ export interface Server {
60
60
  github?: Login;
61
61
  /** The Claude login this computer made for the server. */
62
62
  claude?: Login;
63
+ /**
64
+ * Set once this computer keeps a line open to the server, so a run can be started here from
65
+ * the server's page: what the server may do through it, everything or only read.
66
+ */
67
+ reach?: Reach;
63
68
  }
69
+ export type Reach = 'full' | 'watch';
64
70
  export interface Store {
65
71
  servers: Server[];
66
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/store.js CHANGED
@@ -112,7 +112,7 @@ export function sanitize(value) {
112
112
  break;
113
113
  if (!entry || typeof entry !== 'object')
114
114
  continue;
115
- const { address, user, fingerprint, steps, worker, adding, github, claude } = entry;
115
+ const { address, user, fingerprint, steps, worker, adding, github, claude, reach } = entry;
116
116
  const [githubLogin, claudeLogin] = [readLogin(github), readLogin(claude)];
117
117
  if (typeof address !== 'string' || addressOf(address) !== address || !isUser(user))
118
118
  continue;
@@ -135,6 +135,7 @@ export function sanitize(value) {
135
135
  steps: STEP_IDS.map(id => known.get(id) ?? { id, state: 'waiting' }),
136
136
  ...(readWorker(worker) ?? {}),
137
137
  adding: adding === true,
138
+ ...(reach === 'full' || reach === 'watch' ? { reach } : {}),
138
139
  ...(githubLogin ? { github: githubLogin } : {}),
139
140
  ...(claudeLogin ? { claude: claudeLogin } : {}),
140
141
  });
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openagt/servers",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "Connect your VPS: give a server's address and a user name, and OpenAgent installs itself there over SSH, with this computer's own SSH keys. The server then starts OpenAgent by itself, opens its door over HTTPS, and is a machine a run can be sent to. The server gets its two logins from this computer, over SSH: your GitHub login, copied when you tick it, and a Claude login made for it with claude setup-token. It brings the Servers section of the dashboard's Settings page.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -23,6 +23,9 @@
23
23
  "./package.json": "./package.json",
24
24
  "./dashboard": "./dist/dashboard/dashboard.js"
25
25
  },
26
+ "dependencies": {
27
+ "@openagt/remote-access": "0.0.4"
28
+ },
26
29
  "devDependencies": {
27
30
  "@tailwindcss/vite": "^4.0.0",
28
31
  "@testing-library/dom": "^10.4.1",