@openagt/servers 0.0.2 → 0.0.3

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
@@ -6,7 +6,7 @@ import { type LoginKind, type StepState } from './store.js';
6
6
  * it went: 0 for a result, 1 for a refusal or a failure, 2 for a command that could not be read.
7
7
  * The same contract as the other packages' commands, so a person and a dashboard read it the same way.
8
8
  */
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\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";
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
10
  export interface CliIO {
11
11
  env: NodeJS.ProcessEnv;
12
12
  stdout: (line: string) => void;
@@ -63,6 +63,8 @@ export interface ServerStatus {
63
63
  }
64
64
  export interface Status {
65
65
  servers: ServerStatus[];
66
+ /** This computer is itself a server OpenAgent was installed on. */
67
+ server?: true;
66
68
  }
67
69
  export declare function runCli(args: string[], io: CliIO): Promise<number>;
68
70
  //# sourceMappingURL=cli.d.ts.map
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,w+EA0BsF,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;CACxB;AAiKD,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,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"}
package/dist/cli.js CHANGED
@@ -1,7 +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 { STEPS } from './steps.js';
4
+ import { SERVER_MARK, STEPS } from './steps.js';
5
5
  import { LOGIN_KINDS, Unreadable, addressOf, atWork, doorUrl, freshSteps, isUser, isVersion, readStore, update, working } from './store.js';
6
6
  /**
7
7
  * The command line: JSON on stdout, one line for a person on stderr, and the exit code says how
@@ -11,7 +11,7 @@ import { LOGIN_KINDS, Unreadable, addressOf, atWork, doorUrl, freshSteps, isUser
11
11
  export const USAGE = `usage: servers <command>
12
12
 
13
13
  status the servers this computer installed OpenAgent on, how far each install is, and
14
- which logins each was given
14
+ which logins each was given; and whether this computer is itself such a server
15
15
  connect <address> <user> <version> [github]
16
16
  install OpenAgent at this version on the server at this number or name, logging in
17
17
  over SSH as this user (root, or one that becomes root without a password) with this
@@ -52,8 +52,9 @@ function loginOf(kind, login, installing) {
52
52
  ...(login?.failed ? { said: login.failed } : {}),
53
53
  };
54
54
  }
55
- function statusOf(store) {
55
+ function statusOf(store, env) {
56
56
  return {
57
+ ...(env[SERVER_MARK] === '1' ? { server: true } : {}),
57
58
  servers: store.servers.map(server => {
58
59
  const busy = working(server);
59
60
  return {
@@ -130,7 +131,7 @@ async function connect(io, said) {
130
131
  delete server.worker;
131
132
  });
132
133
  }
133
- return statusOf(await readStore(io.env));
134
+ return statusOf(await readStore(io.env), io.env);
134
135
  }
135
136
  /** The saved server at what a person typed, or a refusal. */
136
137
  async function saved(io, said) {
@@ -189,7 +190,7 @@ async function changeLoginOf(io, said, kind, remove, own = false) {
189
190
  delete login.worker;
190
191
  });
191
192
  }
192
- return statusOf(await readStore(io.env));
193
+ return statusOf(await readStore(io.env), io.env);
193
194
  }
194
195
  /** Run `work` until it ends, or until this process is told to stop. */
195
196
  async function untilStopped(io, work) {
@@ -223,7 +224,7 @@ export async function runCli(args, io) {
223
224
  case 'status':
224
225
  if (rest.length)
225
226
  break;
226
- return print(statusOf(await readStore(io.env)));
227
+ return print(statusOf(await readStore(io.env), io.env));
227
228
  case 'connect': {
228
229
  const [address, user, version, github] = rest;
229
230
  if (rest.length < 3 || rest.length > 4 || !address || !user || !version || (rest.length === 4 && github !== 'github'))
@@ -249,7 +250,7 @@ export async function runCli(args, io) {
249
250
  if (server)
250
251
  server.adding = false;
251
252
  });
252
- return print(statusOf(await readStore(io.env)));
253
+ return print(statusOf(await readStore(io.env), io.env));
253
254
  }
254
255
  case 'github': {
255
256
  if (rest.length)
@@ -280,7 +281,7 @@ export async function runCli(args, io) {
280
281
  throw new Refused(`A login of ${at} is being changed right now: wait until it ends`);
281
282
  store.servers = store.servers.filter(candidate => candidate.address !== at);
282
283
  });
283
- return print(statusOf(await readStore(io.env)));
284
+ return print(statusOf(await readStore(io.env), io.env));
284
285
  }
285
286
  case 'work': {
286
287
  const [address, version] = rest;
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{.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)}.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}
3
3
  /*$vite$:1*/
@@ -98,33 +98,40 @@ async function v(e, t, n) {
98
98
  value: i
99
99
  };
100
100
  }
101
- var y = (e) => v(e, ["status"], g), ee = (e, t, n, r, i = !1) => v(e, [
101
+ function y(e) {
102
+ let t = g(e);
103
+ return t && {
104
+ servers: t,
105
+ isServer: e.server === !0
106
+ };
107
+ }
108
+ var b = (e) => v(e, ["status"], y), x = (e, t, n, r, i = !1) => v(e, [
102
109
  "connect",
103
110
  t,
104
111
  n,
105
112
  r,
106
113
  ...i ? ["github"] : []
107
114
  ], g);
108
- function b(e) {
115
+ function S(e) {
109
116
  if (!e || typeof e != "object") return;
110
117
  let { account: t, problem: n } = e, [r, i] = [p(t), p(n)];
111
118
  return r ? { account: r } : i ? { problem: i } : void 0;
112
119
  }
113
- var te = (e) => v(e, ["github"], b), x = (e, t, n, r = !1) => v(e, [
120
+ var ee = (e) => v(e, ["github"], S), C = (e, t, n, r = !1) => v(e, [
114
121
  "login",
115
122
  t,
116
123
  n,
117
124
  ...r ? ["own"] : []
118
- ], g), S = (e, t, n) => v(e, [
125
+ ], g), w = (e, t, n) => v(e, [
119
126
  "logout",
120
127
  t,
121
128
  n
122
- ], g), C = (e, t) => v(e, ["link", t], _), w = (e, t) => v(e, ["added", t], g), T = (e, t) => v(e, ["forget", t], g), E = void 0, D = 5 * 6e4, ne = void 0, re = void 0, O = (e) => e === void 0 ? "" : new Date(e).toLocaleDateString(void 0, {
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, {
123
130
  day: "numeric",
124
131
  month: "short",
125
132
  year: "numeric"
126
133
  });
127
- function k({ label: e, words: t, said: n, children: r }) {
134
+ function j({ label: e, words: t, said: n, children: r }) {
128
135
  return /* @__PURE__ */ f("li", {
129
136
  "aria-label": e,
130
137
  className: "space-y-1",
@@ -141,18 +148,18 @@ function k({ label: e, words: t, said: n, children: r }) {
141
148
  })]
142
149
  });
143
150
  }
144
- var A = {
151
+ var M = {
145
152
  waiting: "○",
146
153
  running: "…",
147
154
  done: "✓",
148
155
  failed: "✕"
149
- }, ie = {
156
+ }, N = {
150
157
  waiting: "not started",
151
158
  running: "running",
152
159
  done: "done",
153
160
  failed: "failed"
154
- }, j = (e, t) => Object.fromEntries(Object.entries(e).filter(([e]) => e !== t));
155
- function ae(e, t) {
161
+ }, P = (e, t) => Object.fromEntries(Object.entries(e).filter(([e]) => e !== t));
162
+ function F(e, t) {
156
163
  let n = (e) => {
157
164
  let t = /^(\d+)\.(\d+)\.(\d+)/.exec(e);
158
165
  return t ? t.slice(1).map(Number) : void 0;
@@ -161,26 +168,34 @@ function ae(e, t) {
161
168
  for (let e = 0; e < 3; e++) if (r[e] !== i[e]) return r[e] < i[e];
162
169
  return !1;
163
170
  }
164
- function M({ everyMs: a = 3e3 }) {
165
- let p = o(), { value: m, reload: h } = s(() => y(p), E, a, []), { value: g, reload: _ } = s(() => p.machines(), ne, Math.max(a, 1e4), []), { value: v } = s(() => te(p), re, Math.max(a, 5 * 6e4), []), b = v?.ok && "account" in v.value ? v.value.account : void 0, M = v === void 0 || b !== void 0 ? void 0 : v.ok ? "problem" in v.value ? v.value.problem : void 0 : v.error, [N, P] = u(""), [F, I] = u("root"), [L, R] = u(!1), [z, B] = u(!1), [V, H] = u(), [U, W] = u({}), G = l(/* @__PURE__ */ new Set()), [K, q] = u(), J = m?.ok ? m.value : [], 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) => {
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, {
174
+ read: n,
175
+ reload: r,
176
+ everyMs: e
177
+ });
178
+ }
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) => {
166
181
  B(!0), H(void 0);
167
182
  let t = await e();
168
- return t.ok || H(t.error), await h().catch(() => {}), B(!1), t.ok;
169
- }, Q = async (e, t, n = !1) => !g || g.version === "unknown" ? (H("This computer could not say which OpenAgent it runs."), !1) : (W((t) => j(t, e)), Z(() => ee(p, e, t, g.version, n))), $ = async (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) => {
170
185
  if (G.current.has(e.address)) return;
171
- G.current.add(e.address), W((t) => j(t, e.address));
186
+ G.current.add(e.address), W((t) => P(t, e.address));
172
187
  let t = (t) => W((n) => ({
173
188
  ...n,
174
189
  [e.address]: t
175
190
  }));
176
191
  try {
177
- if (Y(e, await p.machines())?.version === void 0) {
178
- let n = await C(p, e.address), r = n.ok ? await p.addMachine(n.value.url, e.address) : n;
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;
179
194
  if (!r.ok) return t(r.error);
180
195
  }
181
- let n = await w(p, e.address);
196
+ let n = await te(h, e.address);
182
197
  if (!n.ok) return t(n.error);
183
- await Promise.all([h(), _()]).catch(() => {});
198
+ await Promise.all([p(), _()]).catch(() => {});
184
199
  } catch (e) {
185
200
  t(e instanceof Error ? e.message : String(e));
186
201
  } finally {
@@ -194,9 +209,9 @@ function M({ everyMs: a = 3e3 }) {
194
209
  let e = setTimeout(() => q(void 0), Math.min(D, Math.max(0, Date.parse(K.expires) - Date.now())));
195
210
  return () => clearTimeout(e);
196
211
  }, [K]);
197
- let oe = async (e) => {
212
+ let ie = async (e) => {
198
213
  B(!0), H(void 0), q(void 0);
199
- let t = await C(p, e.address);
214
+ let t = await T(h, e.address);
200
215
  t.ok ? q({
201
216
  ...t.value,
202
217
  address: e.address
@@ -208,7 +223,7 @@ function M({ everyMs: a = 3e3 }) {
208
223
  children: [
209
224
  /* @__PURE__ */ f("form", {
210
225
  onSubmit: (e) => {
211
- e.preventDefault(), !(!N.trim() || !F.trim()) && Q(N.trim(), F.trim(), L && b !== void 0).then((e) => e && P(""));
226
+ e.preventDefault(), !(!S.trim() || !I.trim()) && Q(S.trim(), I.trim(), R && y !== void 0).then((e) => e && E(""));
212
227
  },
213
228
  className: "flex flex-wrap items-end gap-2 py-3",
214
229
  children: [
@@ -217,22 +232,22 @@ function M({ everyMs: a = 3e3 }) {
217
232
  children: [/* @__PURE__ */ d("span", { children: "The server's address" }), /* @__PURE__ */ d(n, {
218
233
  "aria-label": "The server's address",
219
234
  placeholder: "203.0.113.5",
220
- value: N,
221
- onChange: (e) => P(e.target.value)
235
+ value: S,
236
+ onChange: (e) => E(e.target.value)
222
237
  })]
223
238
  }),
224
239
  /* @__PURE__ */ f("label", {
225
240
  className: "w-32 space-y-1 text-xs text-muted-foreground",
226
241
  children: [/* @__PURE__ */ d("span", { children: "User name" }), /* @__PURE__ */ d(n, {
227
242
  "aria-label": "User name",
228
- value: F,
229
- onChange: (e) => I(e.target.value)
243
+ value: I,
244
+ onChange: (e) => L(e.target.value)
230
245
  })]
231
246
  }),
232
247
  /* @__PURE__ */ d(e, {
233
248
  size: "sm",
234
249
  type: "submit",
235
- disabled: z || !g || !N.trim() || !F.trim(),
250
+ disabled: z || !g || !S.trim() || !I.trim(),
236
251
  children: "Connect"
237
252
  })
238
253
  ]
@@ -242,17 +257,17 @@ function M({ everyMs: a = 3e3 }) {
242
257
  children: [/* @__PURE__ */ f("label", {
243
258
  className: "flex items-start gap-2 text-xs",
244
259
  children: [/* @__PURE__ */ d(t, {
245
- checked: L && b !== void 0,
246
- onCheckedChange: (e) => R(e === !0),
247
- disabled: z || b === void 0,
260
+ checked: R && y !== void 0,
261
+ onCheckedChange: (e) => re(e === !0),
262
+ disabled: z || y === void 0,
248
263
  className: "mt-0.5",
249
264
  "aria-label": "Copy my GitHub login to the server"
250
265
  }), /* @__PURE__ */ f("span", { children: [
251
- b === void 0 ? "Copy my GitHub login to the server." : `Copy my GitHub login (${b}) to the server.`,
266
+ y === void 0 ? "Copy my GitHub login to the server." : `Copy my GitHub login (${y}) to the server.`,
252
267
  " ",
253
268
  /* @__PURE__ */ d("span", {
254
269
  className: "text-muted-foreground",
255
- children: M ?? "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."
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."
256
271
  })
257
272
  ] })]
258
273
  }), /* @__PURE__ */ d("p", {
@@ -264,7 +279,7 @@ function M({ everyMs: a = 3e3 }) {
264
279
  "aria-label": "Servers",
265
280
  className: "divide-y divide-border",
266
281
  children: J.map((t) => {
267
- let n = Y(t), i = !t.working && t.steps.some((e) => e.state === "failed"), a = n?.version !== void 0 && g !== void 0 && ae(n.version, g.version), o = U[t.address], { github: s, claude: c } = t.logins;
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;
268
283
  return /* @__PURE__ */ f("li", {
269
284
  "aria-label": t.address,
270
285
  className: "space-y-2 py-3",
@@ -283,21 +298,21 @@ function M({ everyMs: a = 3e3 }) {
283
298
  }), /* @__PURE__ */ f("div", {
284
299
  className: "flex gap-2",
285
300
  children: [
286
- a && !t.working && !i && /* @__PURE__ */ d(e, {
301
+ (a || o) && !t.working && !i && /* @__PURE__ */ d(e, {
287
302
  size: "sm",
288
- disabled: z,
303
+ disabled: z || !g,
289
304
  "aria-label": `Update ${t.address}`,
290
305
  onClick: () => void Q(t.address, t.user),
291
306
  children: "Update"
292
307
  }),
293
308
  i && /* @__PURE__ */ d(e, {
294
309
  size: "sm",
295
- disabled: z,
310
+ disabled: z || !g,
296
311
  "aria-label": `Try ${t.address} again`,
297
- onClick: () => void Q(t.address, t.user, s.wanted === !0),
312
+ onClick: () => void Q(t.address, t.user, c.wanted === !0),
298
313
  children: "Try again"
299
314
  }),
300
- X(t) && n?.version === void 0 && (o !== void 0 || !t.adding) && /* @__PURE__ */ d(e, {
315
+ X(t) && n?.version === void 0 && (s !== void 0 || !t.adding) && /* @__PURE__ */ d(e, {
301
316
  size: "sm",
302
317
  variant: "outline",
303
318
  disabled: z,
@@ -310,7 +325,7 @@ function M({ everyMs: a = 3e3 }) {
310
325
  variant: "outline",
311
326
  disabled: z,
312
327
  "aria-label": `Add a device to ${t.address}`,
313
- onClick: () => void oe(t),
328
+ onClick: () => void ie(t),
314
329
  children: "Add device"
315
330
  }),
316
331
  !t.working && /* @__PURE__ */ d(e, {
@@ -319,7 +334,7 @@ function M({ everyMs: a = 3e3 }) {
319
334
  disabled: z,
320
335
  "aria-label": `Remove ${t.address}`,
321
336
  title: "Takes the server off this list. Nothing is changed on the server: its logins stay there until you remove them.",
322
- onClick: () => void Z(() => T(p, t.address)),
337
+ onClick: () => void Z(() => ne(h, t.address)),
323
338
  children: "Remove"
324
339
  })
325
340
  ]
@@ -359,14 +374,14 @@ function M({ everyMs: a = 3e3 }) {
359
374
  className: "space-y-1 text-xs",
360
375
  children: [
361
376
  t.steps.map((e) => /* @__PURE__ */ f("li", {
362
- "aria-label": `${e.label}: ${ie[e.state]}`,
377
+ "aria-label": `${e.label}: ${N[e.state]}`,
363
378
  children: [
364
379
  /* @__PURE__ */ f("span", {
365
380
  className: e.state === "failed" ? "text-danger" : e.state === "waiting" ? "text-muted-foreground" : void 0,
366
381
  children: [/* @__PURE__ */ d("span", {
367
382
  "aria-hidden": !0,
368
383
  className: "inline-block w-4",
369
- children: A[e.state]
384
+ children: M[e.state]
370
385
  }), e.label]
371
386
  }),
372
387
  e.id === "login" && e.state === "done" && t.fingerprint !== void 0 && /* @__PURE__ */ d("span", {
@@ -386,22 +401,22 @@ function M({ everyMs: a = 3e3 }) {
386
401
  children: [/* @__PURE__ */ d("span", {
387
402
  "aria-hidden": !0,
388
403
  className: "inline-block w-4",
389
- children: A[t.steps.every((e) => e.state === "done") ? "running" : "waiting"]
404
+ children: M[t.steps.every((e) => e.state === "done") ? "running" : "waiting"]
390
405
  }), "Your GitHub login"]
391
406
  }),
392
407
  X(t) && /* @__PURE__ */ f("li", {
393
- "aria-label": `Among your machines: ${n ? "done" : o === void 0 ? t.adding ? "running" : "not started" : "failed"}`,
408
+ "aria-label": `Among your machines: ${n ? "done" : s === void 0 ? t.adding ? "running" : "not started" : "failed"}`,
394
409
  children: [/* @__PURE__ */ f("span", {
395
- className: n ? void 0 : o === void 0 ? "text-muted-foreground" : "text-danger",
410
+ className: n ? void 0 : s === void 0 ? "text-muted-foreground" : "text-danger",
396
411
  children: [/* @__PURE__ */ d("span", {
397
412
  "aria-hidden": !0,
398
413
  className: "inline-block w-4",
399
- children: A[n ? "done" : o === void 0 ? t.adding ? "running" : "waiting" : "failed"]
414
+ children: M[n ? "done" : s === void 0 ? t.adding ? "running" : "waiting" : "failed"]
400
415
  }), "Among your machines"]
401
- }), o !== void 0 && !n && /* @__PURE__ */ d("pre", {
416
+ }), s !== void 0 && !n && /* @__PURE__ */ d("pre", {
402
417
  role: "alert",
403
418
  className: "mt-1 ml-4 overflow-x-auto whitespace-pre-wrap rounded-md border border-border bg-background p-2 font-mono text-foreground",
404
- children: o
419
+ children: s
405
420
  })]
406
421
  })
407
422
  ]
@@ -409,65 +424,65 @@ function M({ everyMs: a = 3e3 }) {
409
424
  X(t) && /* @__PURE__ */ f("ul", {
410
425
  "aria-label": `The logins on ${t.address}`,
411
426
  className: "space-y-2 border-t border-border pt-2 text-xs",
412
- children: [/* @__PURE__ */ f(k, {
427
+ children: [/* @__PURE__ */ f(j, {
413
428
  label: "GitHub",
414
- words: s.asking && s.code !== void 0 ? `GitHub: type the code ${s.code} at github.com/login/device, and say yes there.` : s.working ? "GitHub: one moment, the server is being told." : s.there ? `GitHub: logged in as ${s.account ?? "you"} since ${O(s.since)}.` : s.said === void 0 ? "GitHub: no login on the server." : "GitHub: the last try did not go through.",
415
- said: s.working ? void 0 : s.said,
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,
416
431
  children: [
417
432
  /* @__PURE__ */ d(e, {
418
433
  size: "sm",
419
434
  variant: "outline",
420
- disabled: z || s.working || b === void 0,
435
+ disabled: z || c.working || y === void 0,
421
436
  "aria-label": `Copy my GitHub login to ${t.address}`,
422
- title: b === void 0 ? M : `Copies the login of ${b} from this computer to the server, over SSH.`,
423
- onClick: () => void Z(() => x(p, t.address, "github")),
424
- children: s.there ? "Copy again" : "Copy my login"
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"
425
440
  }),
426
441
  /* @__PURE__ */ d(e, {
427
442
  size: "sm",
428
443
  variant: "outline",
429
- disabled: z || s.working && s.asking !== !0,
444
+ disabled: z || c.working && c.asking !== !0,
430
445
  "aria-label": `Log in to GitHub for ${t.address}`,
431
446
  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.",
432
- onClick: () => void Z(() => x(p, t.address, "github", !0)),
433
- children: s.asking ? "Start over" : "Log in to GitHub"
447
+ onClick: () => void Z(() => C(h, t.address, "github", !0)),
448
+ children: c.asking ? "Start over" : "Log in to GitHub"
434
449
  }),
435
- s.asking && s.code !== void 0 && /* @__PURE__ */ d("a", {
450
+ c.asking && c.code !== void 0 && /* @__PURE__ */ d("a", {
436
451
  href: "https://github.com/login/device",
437
452
  target: "_blank",
438
453
  rel: "noreferrer",
439
454
  className: "self-center underline",
440
455
  children: "Open GitHub"
441
456
  }),
442
- (s.there || s.said !== void 0) && !s.working && /* @__PURE__ */ d(e, {
457
+ (c.there || c.said !== void 0) && !c.working && /* @__PURE__ */ d(e, {
443
458
  size: "sm",
444
459
  variant: "outline",
445
460
  disabled: z,
446
461
  "aria-label": `Remove the GitHub login from ${t.address}`,
447
462
  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.",
448
- onClick: () => void Z(() => S(p, t.address, "github")),
463
+ onClick: () => void Z(() => w(h, t.address, "github")),
449
464
  children: "Remove"
450
465
  })
451
466
  ]
452
- }), /* @__PURE__ */ f(k, {
467
+ }), /* @__PURE__ */ f(j, {
453
468
  label: "Claude",
454
- words: c.asking ? "Claude: say yes in the page this computer's browser opened." : c.working ? "Claude: one moment, the server is being told." : c.there ? `Claude: logged in since ${O(c.since)}, good until about ${O(c.ends)}.` : c.said === void 0 ? "Claude: not logged in on the server." : "Claude: the last try did not go through.",
455
- said: c.working ? void 0 : c.said,
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,
456
471
  children: [/* @__PURE__ */ d(e, {
457
472
  size: "sm",
458
- variant: c.there || c.working ? "outline" : "default",
459
- disabled: z || c.working && c.asking !== !0,
473
+ variant: l.there || l.working ? "outline" : "default",
474
+ disabled: z || l.working && l.asking !== !0,
460
475
  "aria-label": `Log in to Claude for ${t.address}`,
461
476
  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.",
462
- onClick: () => void Z(() => x(p, t.address, "claude")),
463
- children: c.asking ? "Start over" : c.there ? "Log in again" : "Log in to Claude"
464
- }), (c.there || c.said !== void 0) && !c.working && /* @__PURE__ */ d(e, {
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, {
465
480
  size: "sm",
466
481
  variant: "outline",
467
482
  disabled: z,
468
483
  "aria-label": `Remove the Claude login from ${t.address}`,
469
484
  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.",
470
- onClick: () => void Z(() => S(p, t.address, "claude")),
485
+ onClick: () => void Z(() => w(h, t.address, "claude")),
471
486
  children: "Remove"
472
487
  })]
473
488
  })]
@@ -476,10 +491,10 @@ function M({ everyMs: a = 3e3 }) {
476
491
  }, t.address);
477
492
  })
478
493
  }),
479
- m !== void 0 && !m.ok && /* @__PURE__ */ d("p", {
494
+ !a.ok && /* @__PURE__ */ d("p", {
480
495
  role: "alert",
481
496
  className: "py-3 text-xs text-danger",
482
- children: `The servers could not be read: ${m.error}`
497
+ children: `The servers could not be read: ${a.error}`
483
498
  }),
484
499
  V !== void 0 && /* @__PURE__ */ d("p", {
485
500
  role: "alert",
@@ -491,13 +506,13 @@ function M({ everyMs: a = 3e3 }) {
491
506
  }
492
507
  //#endregion
493
508
  //#region dashboard/index.tsx
494
- var N = a({
509
+ var R = a({
495
510
  settings: [{
496
511
  id: "servers",
497
512
  order: 20,
498
- Section: () => /* @__PURE__ */ d(M, {})
513
+ Section: () => /* @__PURE__ */ d(I, {})
499
514
  }],
500
515
  stylesheet: "dashboard.css"
501
516
  });
502
517
  //#endregion
503
- export { N as default };
518
+ export { R as default };
package/dist/install.d.ts CHANGED
@@ -23,6 +23,15 @@ export interface InstallOptions {
23
23
  export declare class AlreadyWorking extends Error {
24
24
  constructor(address: string);
25
25
  }
26
+ /**
27
+ * This computer's own name and email in git, each when it has one: what the person commits as
28
+ * in a folder that says nothing else, so git is asked outside every folder. A server's git
29
+ * that has none gets them.
30
+ */
31
+ export declare function ownGitIdentity(exec?: Exec): Promise<{
32
+ name?: string;
33
+ email?: string;
34
+ }>;
26
35
  export declare function install(opts: InstallOptions): Promise<void>;
27
36
  export type Link = {
28
37
  ok: true;
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,IAAI,EAAgB,MAAM,UAAU,CAAA;AAEtF,OAAO,EAAsD,KAAK,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE5G;;;;;;;GAOG;AAEH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,sEAAsE;AACtE,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDjE;AAED,MAAM,MAAM,IAAI,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAQ5F;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAejH"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AACA,OAAO,EAAwD,KAAK,IAAI,EAAgB,MAAM,UAAU,CAAA;AAExG,OAAO,EAAsD,KAAK,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE5G;;;;;;;GAOG;AAEH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,sEAAsE;AACtE,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAKD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,GAAE,IAAe,GAAG,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOtG;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDjE;AAED,MAAM,MAAM,IAAI,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAQ5F;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAejH"}
package/dist/install.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { giveGithub, noteGithub } from './logins.js';
2
- import { lastLines, openSession, withAdvice } from './ssh.js';
2
+ import { exec as realExec, lastLines, openSession, withAdvice } from './ssh.js';
3
3
  import { SERVER_USER, STEPS, linkScript } from './steps.js';
4
4
  import { BEAT_MS, changeServer, doorUrl, heartbeat, working } from './store.js';
5
5
  /** Refused: the server's install already runs, in another process. */
@@ -8,6 +8,21 @@ export class AlreadyWorking extends Error {
8
8
  super(`OpenAgent is being installed on ${address} right now`);
9
9
  }
10
10
  }
11
+ /** How long this computer's git gets to say a name. */
12
+ const GIT_TIMEOUT_MS = 10_000;
13
+ /**
14
+ * This computer's own name and email in git, each when it has one: what the person commits as
15
+ * in a folder that says nothing else, so git is asked outside every folder. A server's git
16
+ * that has none gets them.
17
+ */
18
+ export async function ownGitIdentity(exec = realExec) {
19
+ const own = async (key) => {
20
+ const said = await exec('git', ['-C', '/', 'config', '--get', key], '', { timeoutMs: GIT_TIMEOUT_MS });
21
+ return said.code === 0 && said.out.trim() ? said.out.trim() : undefined;
22
+ };
23
+ const [name, email] = [await own('user.name'), await own('user.email')];
24
+ return { ...(name !== undefined ? { name } : {}), ...(email !== undefined ? { email } : {}) };
25
+ }
11
26
  export async function install(opts) {
12
27
  const { env, address, version } = opts;
13
28
  const change = (apply) => changeServer(env, address, apply);
@@ -34,6 +49,7 @@ export async function install(opts) {
34
49
  let session;
35
50
  try {
36
51
  session = await openSession(server, { ...(opts.exec ? { exec: opts.exec } : {}), ...(opts.signal ? { signal: opts.signal } : {}) });
52
+ const facts = { address, version, ...(await ownGitIdentity(opts.exec)) };
37
53
  for (const step of STEPS) {
38
54
  await set(step.id, 'running');
39
55
  const login = step.id === 'login';
@@ -44,7 +60,7 @@ export async function install(opts) {
44
60
  if (met.fingerprint)
45
61
  await change(kept => void (kept.fingerprint = met.fingerprint));
46
62
  }
47
- const said = await session.run(step.as, step.script({ address, version }), step.timeoutMs);
63
+ const said = await session.run(step.as, step.script(facts), step.timeoutMs);
48
64
  if (said.code !== 0) {
49
65
  const words = lastLines(said) || 'The step ended without a word.';
50
66
  return void (await set(step.id, 'failed', login ? withAdvice(server, words) : words));
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
package/dist/steps.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  * `root` is only who installs. What runs afterwards runs as the server's own user `openagent`:
7
7
  * the programs are root's, so an agent that works there cannot change OpenAgent itself.
8
8
  */
9
- export declare const STEP_IDS: readonly ['login', 'user', 'tools', 'openagent', 'agent', 'service', 'door'];
9
+ export declare const STEP_IDS: readonly ['login', 'user', 'tools', 'name', 'openagent', 'agent', 'service', 'door'];
10
10
  export type StepId = (typeof STEP_IDS)[number];
11
11
  /** What a script is written for. */
12
12
  export interface Facts {
@@ -14,6 +14,10 @@ export interface Facts {
14
14
  address: string;
15
15
  /** The OpenAgent the server gets: the one that runs on this computer. */
16
16
  version: string;
17
+ /** This computer's own name in git, when it has one. */
18
+ name?: string;
19
+ /** This computer's own email in git, when it has one. */
20
+ email?: string;
17
21
  }
18
22
  export interface StepDef {
19
23
  id: StepId;
@@ -30,8 +34,13 @@ export declare const SERVER_USER = "openagent";
30
34
  export declare const CLAUDE_FILE = "/etc/openagent/claude.env";
31
35
  /** `value` as one word of a shell script, whatever it holds. */
32
36
  export declare function quoted(value: string): string;
37
+ /**
38
+ * What the service says to the OpenAgent it starts: this computer is a server one was installed
39
+ * on. Servers are connected from a person's own computer, so a server's own page offers none.
40
+ */
41
+ export declare const SERVER_MARK = "OPENAGENT_SERVER";
33
42
  /** What the service file holds. `KillMode=process`: a run is a process of its own and goes on when OpenAgent starts again, as on a laptop. */
34
- export declare const SERVICE_UNIT = "[Unit]\nDescription=OpenAgent\nAfter=network-online.target\nWants=network-online.target\n\n[Service]\nUser=openagent\nWorkingDirectory=/home/openagent\nEnvironment=PATH=/home/openagent/.local/bin:/opt/openagent/node/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\nEnvironmentFile=-/etc/openagent/claude.env\nExecStart=/opt/openagent/node/bin/openagent\nRestart=always\nRestartSec=5\nKillMode=process\nAmbientCapabilities=CAP_NET_BIND_SERVICE\n\n[Install]\nWantedBy=multi-user.target";
43
+ export declare const SERVICE_UNIT = "[Unit]\nDescription=OpenAgent\nAfter=network-online.target\nWants=network-online.target\n\n[Service]\nUser=openagent\nWorkingDirectory=/home/openagent\nEnvironment=PATH=/home/openagent/.local/bin:/opt/openagent/node/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\nEnvironment=OPENAGENT_SERVER=1\nEnvironmentFile=-/etc/openagent/claude.env\nExecStart=/opt/openagent/node/bin/openagent\nRestart=always\nRestartSec=5\nKillMode=process\nAmbientCapabilities=CAP_NET_BIND_SERVICE\n\n[Install]\nWantedBy=multi-user.target";
35
44
  export declare const STEPS: readonly StepDef[];
36
45
  /** The script that asks the server's door for a link a new machine gets in with. Run as the server's own user. */
37
46
  export declare function linkScript(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../src/steps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,QAAQ,YAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAU,CAAA;AACpG,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9C,oCAAoC;AACpC,MAAM,WAAW,KAAK;IACpB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,GAAG,WAAW,CAAA;IACxB,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;CAC7B;AAED,iEAAiE;AACjE,eAAO,MAAM,WAAW,cAAc,CAAA;AAOtC,8LAA8L;AAC9L,eAAO,MAAM,WAAW,8BAA8B,CAAA;AAOtD,gEAAgE;AAChE,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5C;AAgDD,8IAA8I;AAC9I,eAAO,MAAM,YAAY,yfAiBE,CAAA;AAE3B,eAAO,MAAM,KAAK,EAAE,SAAS,OAAO,EAqMnC,CAAA;AAED,kHAAkH;AAClH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,uFAAuF;AACvF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,oGAAoG;AACpG,eAAO,MAAM,gBAAgB,QAAa,CAAA;AAM1C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAoB5D;AAED,+FAA+F;AAC/F,eAAO,MAAM,sBAAsB,QAAc,CAAA;AAqBjD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAgC9C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CA8BtE;AAED,4CAA4C;AAC5C,wBAAgB,kBAAkB,IAAI,WAAW,CAahD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA8B5D;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,IAAI,WAAW,CAchD"}
1
+ {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../src/steps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,QAAQ,YAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAU,CAAA;AAC5G,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9C,oCAAoC;AACpC,MAAM,WAAW,KAAK;IACpB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,GAAG,WAAW,CAAA;IACxB,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;CAC7B;AAED,iEAAiE;AACjE,eAAO,MAAM,WAAW,cAAc,CAAA;AAOtC,8LAA8L;AAC9L,eAAO,MAAM,WAAW,8BAA8B,CAAA;AAOtD,gEAAgE;AAChE,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5C;AAgDD;;;GAGG;AACH,eAAO,MAAM,WAAW,qBAAqB,CAAA;AAE7C,8IAA8I;AAC9I,eAAO,MAAM,YAAY,yhBAkBE,CAAA;AAE3B,eAAO,MAAM,KAAK,EAAE,SAAS,OAAO,EA+NnC,CAAA;AAED,kHAAkH;AAClH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,uFAAuF;AACvF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,oGAAoG;AACpG,eAAO,MAAM,gBAAgB,QAAa,CAAA;AAM1C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAoB5D;AAED,+FAA+F;AAC/F,eAAO,MAAM,sBAAsB,QAAc,CAAA;AAqBjD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAgC9C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CA8BtE;AAED,4CAA4C;AAC5C,wBAAgB,kBAAkB,IAAI,WAAW,CAahD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CA8B5D;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,IAAI,WAAW,CAchD"}
package/dist/steps.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * `root` is only who installs. What runs afterwards runs as the server's own user `openagent`:
7
7
  * the programs are root's, so an agent that works there cannot change OpenAgent itself.
8
8
  */
9
- export const STEP_IDS = ['login', 'user', 'tools', 'openagent', 'agent', 'service', 'door'];
9
+ export const STEP_IDS = ['login', 'user', 'tools', 'name', 'openagent', 'agent', 'service', 'door'];
10
10
  /** The server's user everything runs as once it is installed. */
11
11
  export const SERVER_USER = 'openagent';
12
12
  /** Where the install keeps what it brings: Node, and OpenAgent inside it. */
@@ -65,6 +65,11 @@ const STARTED = `
65
65
  return 1
66
66
  }`;
67
67
  const NOT_STARTED = 'fail "OpenAgent did not start on this server."';
68
+ /**
69
+ * What the service says to the OpenAgent it starts: this computer is a server one was installed
70
+ * on. Servers are connected from a person's own computer, so a server's own page offers none.
71
+ */
72
+ export const SERVER_MARK = 'OPENAGENT_SERVER';
68
73
  /** What the service file holds. `KillMode=process`: a run is a process of its own and goes on when OpenAgent starts again, as on a laptop. */
69
74
  export const SERVICE_UNIT = `[Unit]
70
75
  Description=OpenAgent
@@ -75,6 +80,7 @@ Wants=network-online.target
75
80
  User=${SERVER_USER}
76
81
  WorkingDirectory=/home/${SERVER_USER}
77
82
  Environment=PATH=/home/${SERVER_USER}/.local/bin:${ROOT}/node/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
83
+ Environment=${SERVER_MARK}=1
78
84
  EnvironmentFile=-${CLAUDE_FILE}
79
85
  ExecStart=${ROOT}/node/bin/openagent
80
86
  Restart=always
@@ -175,6 +181,27 @@ export const STEPS = [
175
181
  fi
176
182
  browser || fail "Chrome was installed, and it does not start on this server."
177
183
  fi
184
+ `),
185
+ },
186
+ {
187
+ id: 'name',
188
+ label: 'Your name and email for git',
189
+ as: 'openagent',
190
+ timeoutMs: 2 * MINUTE,
191
+ script: ({ name = '', email = '' }) => script('openagent', { NAME: name, EMAIL: email }, `
192
+ # A run's record and an agent's work are commits, and git makes none without a name and an email.
193
+ # Only what the server's git lacks is given: what someone set there stays. Nothing is written until both are sure.
194
+ # Asked outside every folder: what a project's own git says is that project's alone.
195
+ has() { [ -n "$(cd / && git config --get "$1" || true)" ]; }
196
+ none() {
197
+ fail "The server's git has no $1, and this computer's git has none to give: nothing an agent does there could be saved. Give this computer both, then try again:
198
+ git config --global user.name 'Your Name'
199
+ git config --global user.email 'you@example.com'"
200
+ }
201
+ has user.name || [ -n "$NAME" ] || none name
202
+ has user.email || [ -n "$EMAIL" ] || none email
203
+ has user.name || git config --global -- user.name "$NAME"
204
+ has user.email || git config --global -- user.email "$EMAIL"
178
205
  `),
179
206
  },
180
207
  {
package/dist/steps.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"steps.js","sourceRoot":"","sources":["../src/steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../src/steps.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.2",
3
+ "version": "0.0.3",
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": {