@openagt/dashboard 0.26.0 → 0.27.0

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.
Files changed (41) hide show
  1. package/dist/dashboard/person.d.ts +12 -0
  2. package/dist/dashboard/person.d.ts.map +1 -1
  3. package/dist/dashboard/person.js +21 -0
  4. package/dist/dashboard/person.js.map +1 -1
  5. package/dist/dashboard/remote-run.d.ts +21 -0
  6. package/dist/dashboard/remote-run.d.ts.map +1 -1
  7. package/dist/dashboard/remote-run.js +31 -0
  8. package/dist/dashboard/remote-run.js.map +1 -1
  9. package/dist/dashboard/rpc-serve.d.ts.map +1 -1
  10. package/dist/dashboard/rpc-serve.js +2 -1
  11. package/dist/dashboard/rpc-serve.js.map +1 -1
  12. package/dist/dashboard-bundle/assets/main-BCocp_Pu.js +145 -0
  13. package/dist/dashboard-bundle/assets/main-KUO4ZuZ3.css +2 -0
  14. package/dist/dashboard-bundle/assets/module-0fGWuh14.js +14 -0
  15. package/dist/dashboard-bundle/host/module.js +1 -1
  16. package/dist/dashboard-bundle/index.html +3 -3
  17. package/dist/dashboard-rpc/index.d.ts +1 -1
  18. package/dist/dashboard-rpc/index.d.ts.map +1 -1
  19. package/dist/dashboard-rpc/index.js +1 -1
  20. package/dist/dashboard-rpc/index.js.map +1 -1
  21. package/dist/dashboard-rpc/machines.d.ts +26 -0
  22. package/dist/dashboard-rpc/machines.d.ts.map +1 -1
  23. package/dist/dashboard-rpc/machines.js +54 -1
  24. package/dist/dashboard-rpc/machines.js.map +1 -1
  25. package/dist/dashboard-rpc/person.d.ts +1 -1
  26. package/dist/dashboard-rpc/person.d.ts.map +1 -1
  27. package/dist/dashboard-rpc/person.js +3 -3
  28. package/dist/dashboard-rpc/person.js.map +1 -1
  29. package/dist/module-types/dashboard/components/InviteDialog.d.ts +25 -3
  30. package/dist/module-types/dashboard/lib/machines.d.ts +2 -0
  31. package/dist/module-types/dashboard/module/index.d.ts +26 -1
  32. package/dist/module-types/dashboard/rpc/machines.d.ts +2 -0
  33. package/dist/module-types/src/dashboard/person.d.ts +12 -0
  34. package/dist/module-types/src/dashboard/remote-run.d.ts +21 -0
  35. package/dist/module-types/src/dashboard-rpc/index.d.ts +1 -1
  36. package/dist/module-types/src/dashboard-rpc/machines.d.ts +26 -0
  37. package/dist/module-types/src/dashboard-rpc/person.d.ts +1 -1
  38. package/package.json +9 -9
  39. package/dist/dashboard-bundle/assets/main-CTqah6if.js +0 -145
  40. package/dist/dashboard-bundle/assets/main-iqtcpdTX.css +0 -2
  41. package/dist/dashboard-bundle/assets/module-Dy8zK3Qd.js +0 -14
@@ -1 +1 @@
1
- import{$ as e,$t as t,A as n,B as r,Bt as i,E as a,F as o,Ft as s,G as c,Gt as l,H as u,I as d,It as f,J as p,Jt as m,K as h,Kt as g,L as _,Ln as v,M as y,Mn as b,N as x,Nn as S,Nt as C,O as w,P as T,Pt as E,Q as D,Qt as O,R as k,Rt as A,St as j,T as M,Tt as N,U as P,Ut as F,V as I,Vt as L,W as R,X as z,Xt as B,Y as V,Yt as H,Z as U,Zt as W,a as G,bt as K,c as q,d as J,f as Y,g as X,h as Z,i as Q,in as $,it as ee,j as te,jn as ne,k as re,l as ie,ln as ae,m as oe,mt as se,n as ce,nn as le,nt as ue,o as de,on as fe,p as pe,q as me,qt as he,r as ge,rn as _e,rt as ve,s as ye,st as be,t as xe,tn as Se,u as Ce,vt as we,w as Te,wt as Ee,yt as De,z as Oe,zn as ke,zt as Ae}from"../assets/module-Dy8zK3Qd.js";export{we as AddMachineDialog,ue as Badge,ne as Button,V as Card,z as CardContent,U as CardHeader,D as CardTitle,e as CardTitleLink,ve as Checkbox,ee as ConfirmDialog,re as ContextMenu,n as ContextMenuTrigger,De as Dialog,te as DiffStat,Ae as DropdownMenu,i as DropdownMenuCheckboxItem,L as DropdownMenuContent,F as DropdownMenuItem,l as DropdownMenuSeparator,g as DropdownMenuSub,he as DropdownMenuSubContent,m as DropdownMenuSubTrigger,H as DropdownMenuTrigger,M as FileIcon,Se as Input,J as InviteDialog,I as Label,X as LinkActions,ke as MAX_SPEND_OFFSET,be as Markdown,xe as ModuleHostContext,a as PaneActions,w as PaneTitle,q as Pieces,x as Popover,T as PopoverContent,o as PopoverTrigger,Y as QrCode,W as RadioGroup,O as RadioGroupItem,t as RadioGroupOption,y as RangeSlider,B as ScrollArea,d as Select,_ as SelectContent,k as SelectItem,Oe as SelectTrigger,r as SelectValue,E as Separator,pe as SettingsRow,oe as SettingsSection,Z as SettingsSelectRow,C as Skeleton,Te as StartAgentButton,p as Switch,u as Table,P as TableBody,R as TableCell,c as TableHead,h as TableHeader,me as TableRow,K as Textarea,s as Tooltip,f as TooltipContent,A as TooltipTrigger,b as buttonVariants,S as cn,ce as defineModule,j as forgetRemembered,_e as formatAge,$ as formatDateTime,fe as formatDuration,ae as formatRelative,ge as moduleHost,G as pathsIn,v as reachedByLine,le as useAction,se as useCodingAgents,de as useFileNames,ie as useHighlighted,Ee as useLoaded,Q as useModuleHost,Ce as useNarrow,N as usePolled,ye as useSchedule};
1
+ import{$ as e,$t as t,A as n,B as r,Bt as i,E as a,F as o,Fn as s,Ft as c,G as l,Gt as u,H as d,I as f,It as p,J as m,Jt as h,K as g,Kt as _,L as v,M as y,N as b,Nn as x,Nt as S,O as C,P as w,Pn as T,Pt as E,Q as D,Qt as O,R as k,Rt as A,St as j,T as M,Tt as N,U as P,Ut as F,V as I,Vn as L,Vt as R,W as z,X as B,Xt as V,Y as H,Yt as U,Z as W,Zt as G,a as K,bt as q,c as J,d as Y,f as X,g as Z,h as Q,i as $,in as ee,it as te,j as ne,k as re,l as ie,ln as ae,m as oe,mt as se,n as ce,nn as le,nt as ue,o as de,on as fe,p as pe,q as me,qt as he,r as ge,rn as _e,rt as ve,s as ye,st as be,t as xe,tn as Se,u as Ce,vt as we,w as Te,wt as Ee,yt as De,z as Oe,zn as ke,zt as Ae}from"../assets/module-0fGWuh14.js";export{we as AddMachineDialog,ue as Badge,x as Button,H as Card,B as CardContent,W as CardHeader,D as CardTitle,e as CardTitleLink,ve as Checkbox,te as ConfirmDialog,re as ContextMenu,n as ContextMenuTrigger,De as Dialog,ne as DiffStat,Ae as DropdownMenu,i as DropdownMenuCheckboxItem,R as DropdownMenuContent,F as DropdownMenuItem,u as DropdownMenuSeparator,_ as DropdownMenuSub,he as DropdownMenuSubContent,h as DropdownMenuSubTrigger,U as DropdownMenuTrigger,M as FileIcon,Se as Input,Y as InviteDialog,I as Label,Z as LinkActions,L as MAX_SPEND_OFFSET,be as Markdown,xe as ModuleHostContext,a as PaneActions,C as PaneTitle,J as Pieces,b as Popover,w as PopoverContent,o as PopoverTrigger,X as QrCode,G as RadioGroup,O as RadioGroupItem,t as RadioGroupOption,y as RangeSlider,V as ScrollArea,f as Select,v as SelectContent,k as SelectItem,Oe as SelectTrigger,r as SelectValue,E as Separator,pe as SettingsRow,oe as SettingsSection,Q as SettingsSelectRow,S as Skeleton,Te as StartAgentButton,m as Switch,d as Table,P as TableBody,z as TableCell,l as TableHead,g as TableHeader,me as TableRow,q as Textarea,c as Tooltip,p as TooltipContent,A as TooltipTrigger,T as buttonVariants,s as cn,ce as defineModule,j as forgetRemembered,_e as formatAge,ee as formatDateTime,fe as formatDuration,ae as formatRelative,ge as moduleHost,K as pathsIn,ke as reachedByLine,le as useAction,se as useCodingAgents,de as useFileNames,ie as useHighlighted,Ee as useLoaded,$ as useModuleHost,Ce as useNarrow,N as usePolled,ye as useSchedule};
@@ -27,14 +27,14 @@
27
27
  "@openagt/dashboard/module": "/host/module.js"
28
28
  }
29
29
  }</script>
30
- <script type="module" crossorigin src="/assets/main-CTqah6if.js"></script>
30
+ <script type="module" crossorigin src="/assets/main-BCocp_Pu.js"></script>
31
31
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-QTnfLwEv.js">
32
32
  <link rel="modulepreload" crossorigin href="/assets/react-CZI7_Jkm.js">
33
33
  <link rel="modulepreload" crossorigin href="/assets/react-dom-cJyBB_A4.js">
34
34
  <link rel="modulepreload" crossorigin href="/assets/client-CbBRB9m4.js">
35
35
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-By8HlURe.js">
36
- <link rel="modulepreload" crossorigin href="/assets/module-Dy8zK3Qd.js">
37
- <link rel="stylesheet" crossorigin href="/assets/main-iqtcpdTX.css">
36
+ <link rel="modulepreload" crossorigin href="/assets/module-0fGWuh14.js">
37
+ <link rel="stylesheet" crossorigin href="/assets/main-KUO4ZuZ3.css">
38
38
  </head>
39
39
  <body>
40
40
  <div id="root"></div>
@@ -6,7 +6,7 @@ export { onPreferences, savePreferences, patchPreferences, onProjectPresets, sav
6
6
  export { type EditorInfo } from '../dashboard/open-in-app.js';
7
7
  export { onQuota } from './quota.js';
8
8
  export { onModels } from './models.js';
9
- export { onMachines, sendAddMachine, sendRemoveMachine, onMachinesReachable, onMachineVersions, sendProjectToMachine, onProjectOnMachine, type Machine, type AddMachineResult, type MachineVersions, type ProjectOnMachine } from './machines.js';
9
+ export { onMachines, sendAddMachine, sendRemoveMachine, onMachinesReachable, onMachineVersions, sendProjectToMachine, onProjectOnMachine, onComputersThrough, sendAddComputerThrough, type Machine, type AddMachineResult, type MachineVersions, type ProjectOnMachine, type ComputersThrough } from './machines.js';
10
10
  export { onModules, runModuleCommand, runComputerCommand, readModule, type DashboardModule, type ModuleCommandResult, type ModuleReadResult } from './modules.js';
11
11
  export { onProjectSkills, sendChangeSkills, sendProjectSkills, type ProjectSkills, type ProjectSkill, type ChangeSkillsResult } from './skills.js';
12
12
  export { onPerson, type Person } from './person.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5X,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC7Q,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AACzG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AACnQ,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACjP,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACjK,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAClJ,OAAO,EAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAYnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,oGAAoG;AACpG,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAOnD,CAAA;AAED,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,0BAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5X,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC7Q,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AACzG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AACnQ,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACpT,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACjK,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAClJ,OAAO,EAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAYnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,oGAAoG;AACpG,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAOnD,CAAA;AAED,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,0BAAoB,CAAA"}
@@ -9,7 +9,7 @@ export { onProjects, sendAddProject, sendStartedAgain, onCloneTarget, sendAddPro
9
9
  export { onPreferences, savePreferences, patchPreferences, onProjectPresets, saveProjectPresets, onEditors, } from './preferences.js';
10
10
  export { onQuota } from './quota.js';
11
11
  export { onModels } from './models.js';
12
- export { onMachines, sendAddMachine, sendRemoveMachine, onMachinesReachable, onMachineVersions, sendProjectToMachine, onProjectOnMachine } from './machines.js';
12
+ export { onMachines, sendAddMachine, sendRemoveMachine, onMachinesReachable, onMachineVersions, sendProjectToMachine, onProjectOnMachine, onComputersThrough, sendAddComputerThrough } from './machines.js';
13
13
  export { onModules, runModuleCommand, runComputerCommand, readModule } from './modules.js';
14
14
  export { onProjectSkills, sendChangeSkills, sendProjectSkills } from './skills.js';
15
15
  export { onPerson } from './person.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dashboard-rpc/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dashboard-rpc/index.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,32 @@ export type RemoveMachineResult = {
33
33
  * removed there, among its devices.
34
34
  */
35
35
  export declare function sendRemoveMachine(id: string): Promise<RemoveMachineResult>;
36
+ /** A computer that keeps a line open to a saved server, and whether it is saved here, through that server. */
37
+ export interface ComputerThrough {
38
+ id: string;
39
+ name: string;
40
+ online: boolean;
41
+ added: boolean;
42
+ }
43
+ export type ComputersThrough = {
44
+ ok: true;
45
+ computers: ComputerThrough[];
46
+ } | {
47
+ ok: false;
48
+ error: string;
49
+ };
50
+ /**
51
+ * The computers that keep a line open to a saved server: computers at home that a run can be
52
+ * sent to through the server, from here, as the server's own page does. None for a machine that
53
+ * is no server, and for one saved through a server.
54
+ */
55
+ export declare function onComputersThrough(machineId: string): Promise<ComputersThrough>;
56
+ /**
57
+ * Save a computer that keeps a line open to a saved server, as a machine of its own: reached
58
+ * through the server, with this computer's key there. Nothing is entered anywhere: the server
59
+ * already lets this computer in, and passes its calls down the computer's line.
60
+ */
61
+ export declare function sendAddComputerThrough(machineId: string, computerId: string): Promise<AddMachineResult>;
36
62
  /** Whether each saved machine answers right now, by id: one short call to each, with this computer's key. */
37
63
  export declare function onMachinesReachable(): Promise<Record<string, boolean>>;
38
64
  /** This computer's OpenAgent, and the one each saved machine runs. */
@@ -1 +1 @@
1
- {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/machines.ts"],"names":[],"mappings":"AAgBA,sDAAsD;AACtD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5F,wCAAwC;AACxC,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAErD;AAOD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsB9F;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7E;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAMhF;AAED,6GAA6G;AAC7G,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAI5E;AAED,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,gIAAgI;IAChI,QAAQ,EAAE,CAAC,OAAO,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;CAC9D;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,eAAe,CAAC,CASlE;AAED,8GAA8G;AAC9G,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1F;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE1G;AAED,6GAA6G;AAC7G,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAExG"}
1
+ {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/machines.ts"],"names":[],"mappings":"AAgBA,sDAAsD;AACtD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5F,wCAAwC;AACxC,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAErD;AAYD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2B9F;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7E;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAWhF;AAED,8GAA8G;AAC9G,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,eAAe,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAExG;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CASrF;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAU7G;AAED,6GAA6G;AAC7G,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAI5E;AAED,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,gIAAgI;IAChI,QAAQ,EAAE,CAAC,OAAO,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;CAC9D;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,eAAe,CAAC,CASlE;AAED,8GAA8G;AAC9G,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1F;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE1G;AAED,6GAA6G;AAC7G,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAExG"}
@@ -1,7 +1,7 @@
1
1
  import { hostname } from 'node:os';
2
2
  import { basename } from 'node:path';
3
3
  import { readSharing } from '@openagt/agent-data';
4
- import { deviceIdOf, enterRemote, leaveRemote, pingRemote, remoteProject, remoteVersion } from '../dashboard/remote-run.js';
4
+ import { THROUGH_PATH, deviceIdOf, enterRemote, leaveRemote, pingRemote, remoteComputers, remoteProject, remoteVersion } from '../dashboard/remote-run.js';
5
5
  import { errorMessage } from '../error-message.js';
6
6
  import { repositoryAddress, repositorySpelling } from '../repository-address.js';
7
7
  import { contextRemote, resolveProjectPath } from './context.js';
@@ -12,6 +12,10 @@ import { openagentVersion } from '../version.js';
12
12
  export async function onMachines() {
13
13
  return (await listMachines()).map(({ id, label, url }) => ({ id, label, url }));
14
14
  }
15
+ /** The machines saved through a server: computers at home it keeps a line to, reached at its address with this computer's key there. */
16
+ function throughOf(server, saved) {
17
+ return saved.filter(machine => machine.url.startsWith(`${server.url}${THROUGH_PATH}`));
18
+ }
15
19
  /** This computer's name as the other machine lists it, among the devices that are in there. */
16
20
  function ownName() {
17
21
  return hostname().replace(/\.local$/i, '') || 'another computer';
@@ -45,6 +49,11 @@ export async function sendAddMachine(pasted, label) {
45
49
  }
46
50
  // The runs that ended there before go on being read, with the new key; the old keys are of no use any more.
47
51
  contextRemote().rekey(link.url, entered.key, link.pin);
52
+ // The computers saved through this server are reached with its key: they take the new one too.
53
+ for (const through of throughOf(added.record, await listMachines())) {
54
+ await addMachine({ url: through.url, key: entered.key, door: through.door, label: through.label, ...(link.pin ? { pin: link.pin } : {}) });
55
+ contextRemote().rekey(through.url, entered.key, link.pin);
56
+ }
48
57
  for (const old of added.displaced)
49
58
  void leaveRemote(old);
50
59
  const { id, url, label: name } = added.record;
@@ -60,11 +69,55 @@ export async function sendRemoveMachine(id) {
60
69
  const saved = (await listMachines()).find(machine => machine.id === id);
61
70
  if (saved && contextRemote().working(saved.url))
62
71
  return { ok: false, error: `An agent is working on ${saved.label}. Stop it, or wait until it ends, then remove the machine.` };
72
+ // The computers saved through it go with it: they are reached with its key, which is taken out there.
73
+ const through = saved ? throughOf(saved, await listMachines()) : [];
74
+ const busy = through.find(machine => contextRemote().working(machine.url));
75
+ if (busy)
76
+ return { ok: false, error: `An agent is working on ${busy.label}, through ${saved.label}. Stop it, or wait until it ends, then remove the machine.` };
77
+ for (const machine of through)
78
+ await removeMachine(machine.id);
63
79
  const removed = await removeMachine(id);
64
80
  if (removed)
65
81
  void leaveRemote(removed);
66
82
  return { ok: true };
67
83
  }
84
+ /**
85
+ * The computers that keep a line open to a saved server: computers at home that a run can be
86
+ * sent to through the server, from here, as the server's own page does. None for a machine that
87
+ * is no server, and for one saved through a server.
88
+ */
89
+ export async function onComputersThrough(machineId) {
90
+ const saved = await listMachines();
91
+ const server = saved.find(machine => machine.id === machineId);
92
+ if (!server)
93
+ return { ok: false, error: 'That machine is no longer saved.' };
94
+ if (server.url.includes(THROUGH_PATH))
95
+ return { ok: true, computers: [] };
96
+ const asked = await remoteComputers(server);
97
+ if (!asked.ok)
98
+ return asked;
99
+ const through = new Set(throughOf(server, saved).map(machine => machine.url));
100
+ return { ok: true, computers: asked.computers.map(computer => ({ ...computer, added: through.has(`${server.url}${THROUGH_PATH}${computer.id}`) })) };
101
+ }
102
+ /**
103
+ * Save a computer that keeps a line open to a saved server, as a machine of its own: reached
104
+ * through the server, with this computer's key there. Nothing is entered anywhere: the server
105
+ * already lets this computer in, and passes its calls down the computer's line.
106
+ */
107
+ export async function sendAddComputerThrough(machineId, computerId) {
108
+ const server = (await listMachines()).find(machine => machine.id === machineId);
109
+ if (!server || server.url.includes(THROUGH_PATH))
110
+ return { ok: false, error: 'That server is no longer saved.' };
111
+ const asked = await remoteComputers(server);
112
+ if (!asked.ok)
113
+ return { ok: false, error: `${server.label} could not be asked for its computers: ${asked.error}` };
114
+ const computer = asked.computers.find(candidate => candidate.id === computerId);
115
+ if (!computer)
116
+ return { ok: false, error: `${server.label} has no such computer on a line now.` };
117
+ const url = `${server.url}${THROUGH_PATH}${computer.id}`;
118
+ const { record } = await addMachine({ url, key: server.key, door: `${url}/_remote-access/enter`, label: `${computer.name} (through ${server.label})`, ...(server.pin ? { pin: server.pin } : {}) });
119
+ return { ok: true, machine: { id: record.id, label: record.label, url: record.url } };
120
+ }
68
121
  /** Whether each saved machine answers right now, by id: one short call to each, with this computer's key. */
69
122
  export async function onMachinesReachable() {
70
123
  const machines = await listMachines();
@@ -1 +1 @@
1
- {"version":3,"file":"machines.js","sourceRoot":"","sources":["../../src/dashboard-rpc/machines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machines.js","sourceRoot":"","sources":["../../src/dashboard-rpc/machines.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type Person } from '../dashboard/person.js';
2
2
  export type { Person } from '../dashboard/person.js';
3
- /** The person at this dashboard, for the foot of its sidebar (`readPerson`). */
3
+ /** The person at this dashboard, for the foot of its sidebar (`readPerson`): another person's, for a page their device opened. */
4
4
  export declare function onPerson(): Promise<Person>;
5
5
  //# sourceMappingURL=person.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"person.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAGhE,YAAY,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAOpD,gFAAgF;AAChF,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAGhD"}
1
+ {"version":3,"file":"person.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/person.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAG9E,YAAY,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAOpD,kIAAkI;AAClI,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAGhD"}
@@ -1,12 +1,12 @@
1
- import { readPerson } from '../dashboard/person.js';
1
+ import { personAtPage, readPerson } from '../dashboard/person.js';
2
2
  import { contextProjects } from './context.js';
3
3
  /** How long the person is kept: neither the name nor the picture changes while the dashboard is open, and the git host's answer is a network call. */
4
4
  const KEEP_MS = 60 * 60_000;
5
5
  let kept;
6
- /** The person at this dashboard, for the foot of its sidebar (`readPerson`). */
6
+ /** The person at this dashboard, for the foot of its sidebar (`readPerson`): another person's, for a page their device opened. */
7
7
  export async function onPerson() {
8
8
  if (!kept || Date.now() - kept.at >= KEEP_MS)
9
9
  kept = { at: Date.now(), person: readPerson({ projects: async () => (await contextProjects().list().catch(() => [])).map(project => project.path) }) };
10
- return kept.person;
10
+ return personAtPage(await kept.person);
11
11
  }
12
12
  //# sourceMappingURL=person.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"person.js","sourceRoot":"","sources":["../../src/dashboard-rpc/person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,sJAAsJ;AACtJ,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,CAAA;AAE3B,IAAI,IAAyD,CAAA;AAE7D,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,OAAO;QAAE,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;IACpM,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"person.js","sourceRoot":"","sources":["../../src/dashboard-rpc/person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAe,MAAM,wBAAwB,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,sJAAsJ;AACtJ,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,CAAA;AAE3B,IAAI,IAAyD,CAAA;AAE7D,kIAAkI;AAClI,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,OAAO;QAAE,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;IACpM,OAAO,YAAY,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAA;AACxC,CAAC"}
@@ -13,10 +13,32 @@ export type InviteAnswer = {
13
13
  ok: false;
14
14
  error: string;
15
15
  };
16
- export declare function InviteDialog({ title, ask, scan, note, openHere, joined, onCode, onClose, }: {
16
+ /** How the dialog learns and names the computer's owner, for a code made for someone else. */
17
+ export interface InvitePersons {
18
+ /** The owner's GitHub account, once named. */
19
+ owner: string | undefined;
20
+ /** The GitHub account this computer is logged in to: who the owner would be. */
21
+ whoAmI: () => Promise<{
22
+ ok: true;
23
+ account: string;
24
+ } | {
25
+ ok: false;
26
+ error: string;
27
+ }>;
28
+ /** Name the owner, once. */
29
+ nameOwner: (account: string) => Promise<{
30
+ ok: true;
31
+ } | {
32
+ ok: false;
33
+ error: string;
34
+ }>;
35
+ }
36
+ export declare function InviteDialog({ title, ask, persons, scan, note, openHere, joined, onCode, onClose, }: {
17
37
  title: string;
18
- /** Asks for a new code: as the dialog opens, and on each "New code". */
19
- ask: () => Promise<InviteAnswer>;
38
+ /** Asks for a new code, for `person` when it is for someone else: as the dialog opens (or once it knows who it is for), and on each "New code". */
39
+ ask: (person?: string) => Promise<InviteAnswer>;
40
+ /** Given, the dialog first asks who the code is for. */
41
+ persons?: InvitePersons;
20
42
  /** What the person does with the code: "Scan it with the phone's camera…". */
21
43
  scan: string;
22
44
  /** A line under the link, for what else the link is good for. */
@@ -4,6 +4,8 @@ export type { Machine };
4
4
  export declare function refreshMachines(): Promise<void>;
5
5
  /** Save the machine a pasted link names; the list is read again once the daemon has it. */
6
6
  export declare function addMachine(pasted: string, label?: string): Promise<AddMachineResult>;
7
+ /** Save a computer that keeps a line open to a saved server, reached through it; the list is read again once the daemon has it. */
8
+ export declare function addComputerThrough(machineId: string, computerId: string): Promise<AddMachineResult>;
7
9
  /**
8
10
  * Take a saved machine off the list, and answer whether the daemon did, with its reason when it
9
11
  * did not. The list is read again either way, so a machine the daemon did not remove is still shown.
@@ -376,6 +376,13 @@ export interface ModuleHost {
376
376
  * there stops working. Refused, with the reason, while a run is at work there.
377
377
  */
378
378
  removeMachine(id: string): Promise<MachineRemoved>;
379
+ /**
380
+ * The computers that keep a line open to a saved server: computers at home a run can be sent to
381
+ * through the server, and whether each is saved here already. None for a machine that is no server.
382
+ */
383
+ computersThrough(machineId: string): Promise<ModuleComputersThrough>;
384
+ /** Save one of them as a machine of its own, reached through the server: it is in "Run on" from then on. */
385
+ addComputerThrough(machineId: string, computerId: string): Promise<MachineAdded>;
379
386
  /**
380
387
  * What the live screen of a run shows, as the screen's own stream of bytes, until `signal` ends
381
388
  * it; nothing when the run has no live screen. OpenAgent asks the computer the run is on, which
@@ -409,6 +416,24 @@ export type MachineAdded = {
409
416
  ok: false;
410
417
  error: string;
411
418
  };
419
+ /** A computer that keeps a line open to a saved server, as {@link ModuleHost.computersThrough} answers it. */
420
+ export interface ModuleComputerThrough {
421
+ /** The server's id for it. */
422
+ id: string;
423
+ name: string;
424
+ /** Its line is open right now. */
425
+ online: boolean;
426
+ /** It is saved here, through the server. */
427
+ added: boolean;
428
+ }
429
+ /** What {@link ModuleHost.computersThrough} answers. */
430
+ export type ModuleComputersThrough = {
431
+ ok: true;
432
+ computers: ModuleComputerThrough[];
433
+ } | {
434
+ ok: false;
435
+ error: string;
436
+ };
412
437
  /** How removing a machine went: done, or refused, with the reason. */
413
438
  export type MachineRemoved = {
414
439
  ok: true;
@@ -463,7 +488,7 @@ export { cn } from '../lib/utils.js';
463
488
  export { SettingsSection, SettingsRow, SettingsSelectRow, type SettingsOption } from '../components/SettingsRows.js';
464
489
  export { QrCode } from '../components/QrCode.js';
465
490
  export { AddMachineDialog } from '../components/AddMachineDialog.js';
466
- export { InviteDialog, type InviteCode, type InviteAnswer } from '../components/InviteDialog.js';
491
+ export { InviteDialog, type InviteCode, type InviteAnswer, type InvitePersons } from '../components/InviteDialog.js';
467
492
  export { Dialog } from '../components/ui/dialog.js';
468
493
  export { reachedByLine } from '../../src/client.js';
469
494
  export { useCodingAgents, type CodingAgent } from '../lib/models.js';
@@ -7,3 +7,5 @@ export declare const onMachinesReachable: () => Promise<Record<string, boolean>>
7
7
  export declare const onMachineVersions: () => Promise<impl.MachineVersions>;
8
8
  export declare const sendProjectToMachine: (projectId: string, machineId: string) => Promise<impl.ProjectOnMachine>;
9
9
  export declare const onProjectOnMachine: (projectId: string, machineId: string) => Promise<impl.ProjectOnMachine>;
10
+ export declare const onComputersThrough: (machineId: string) => Promise<impl.ComputersThrough>;
11
+ export declare const sendAddComputerThrough: (machineId: string, computerId: string) => Promise<impl.AddMachineResult>;
@@ -13,6 +13,18 @@ export interface Person {
13
13
  /** A picture of them: an https address. */
14
14
  avatar?: string;
15
15
  }
16
+ /**
17
+ * Who a call came from, when the door in front of OpenAgent says (remote-access): the GitHub
18
+ * account of the person whose device made it. Said only on a computer several persons use.
19
+ */
20
+ export declare const PERSON_HEADER = "x-openagent-person";
21
+ /** Run `call` as one a person's device made, by their GitHub account, when the request said one. */
22
+ export declare function asCaller<T>(header: string | string[] | undefined, call: () => Promise<T>): Promise<T>;
23
+ /**
24
+ * The person at the page: the one this computer knows, or, for a call another person's device
25
+ * made, that person by their GitHub account and its picture.
26
+ */
27
+ export declare function personAtPage(own: Person, account?: string | undefined): Person;
16
28
  /** `projects` are the listed projects' folders, in the list's order. */
17
29
  export declare function readPerson(deps: {
18
30
  projects: () => Promise<string[]>;
@@ -87,6 +87,27 @@ export declare function deviceIdOf(key: string): string | undefined;
87
87
  export declare function leaveRemote(machine: MachineAccess & {
88
88
  door: string;
89
89
  }): Promise<boolean>;
90
+ /**
91
+ * Where a server's door passes a call down the line of a computer that keeps one open there: a
92
+ * computer at home that nothing on a network reaches is asked at this address, through the
93
+ * server, with this computer's key at the server. To this computer it is one more machine.
94
+ */
95
+ export declare const THROUGH_PATH = "/_remote-access/via/";
96
+ /** A computer that keeps a line open to a server, as the server's door lists it. */
97
+ export interface ComputerOnServer {
98
+ id: string;
99
+ name: string;
100
+ /** Its line is open right now. */
101
+ online: boolean;
102
+ }
103
+ /** The computers that keep a line open to a server this computer is in at, or why they could not be asked. */
104
+ export declare function remoteComputers(machine: MachineAccess): Promise<{
105
+ ok: true;
106
+ computers: ComputerOnServer[];
107
+ } | {
108
+ ok: false;
109
+ error: string;
110
+ }>;
90
111
  /**
91
112
  * Start an agent on the remote daemon, in its project cloned from `target.project`, and return
92
113
  * what it answered (with the remote's own run id). A non-2xx or a transport failure surfaces as an
@@ -6,7 +6,7 @@ export { onPreferences, savePreferences, patchPreferences, onProjectPresets, sav
6
6
  export { type EditorInfo } from '../dashboard/open-in-app.js';
7
7
  export { onQuota } from './quota.js';
8
8
  export { onModels } from './models.js';
9
- export { onMachines, sendAddMachine, sendRemoveMachine, onMachinesReachable, onMachineVersions, sendProjectToMachine, onProjectOnMachine, type Machine, type AddMachineResult, type MachineVersions, type ProjectOnMachine } from './machines.js';
9
+ export { onMachines, sendAddMachine, sendRemoveMachine, onMachinesReachable, onMachineVersions, sendProjectToMachine, onProjectOnMachine, onComputersThrough, sendAddComputerThrough, type Machine, type AddMachineResult, type MachineVersions, type ProjectOnMachine, type ComputersThrough } from './machines.js';
10
10
  export { onModules, runModuleCommand, runComputerCommand, readModule, type DashboardModule, type ModuleCommandResult, type ModuleReadResult } from './modules.js';
11
11
  export { onProjectSkills, sendChangeSkills, sendProjectSkills, type ProjectSkills, type ProjectSkill, type ChangeSkillsResult } from './skills.js';
12
12
  export { onPerson, type Person } from './person.js';
@@ -33,6 +33,32 @@ export type RemoveMachineResult = {
33
33
  * removed there, among its devices.
34
34
  */
35
35
  export declare function sendRemoveMachine(id: string): Promise<RemoveMachineResult>;
36
+ /** A computer that keeps a line open to a saved server, and whether it is saved here, through that server. */
37
+ export interface ComputerThrough {
38
+ id: string;
39
+ name: string;
40
+ online: boolean;
41
+ added: boolean;
42
+ }
43
+ export type ComputersThrough = {
44
+ ok: true;
45
+ computers: ComputerThrough[];
46
+ } | {
47
+ ok: false;
48
+ error: string;
49
+ };
50
+ /**
51
+ * The computers that keep a line open to a saved server: computers at home that a run can be
52
+ * sent to through the server, from here, as the server's own page does. None for a machine that
53
+ * is no server, and for one saved through a server.
54
+ */
55
+ export declare function onComputersThrough(machineId: string): Promise<ComputersThrough>;
56
+ /**
57
+ * Save a computer that keeps a line open to a saved server, as a machine of its own: reached
58
+ * through the server, with this computer's key there. Nothing is entered anywhere: the server
59
+ * already lets this computer in, and passes its calls down the computer's line.
60
+ */
61
+ export declare function sendAddComputerThrough(machineId: string, computerId: string): Promise<AddMachineResult>;
36
62
  /** Whether each saved machine answers right now, by id: one short call to each, with this computer's key. */
37
63
  export declare function onMachinesReachable(): Promise<Record<string, boolean>>;
38
64
  /** This computer's OpenAgent, and the one each saved machine runs. */
@@ -1,4 +1,4 @@
1
1
  import { type Person } from '../dashboard/person.js';
2
2
  export type { Person } from '../dashboard/person.js';
3
- /** The person at this dashboard, for the foot of its sidebar (`readPerson`). */
3
+ /** The person at this dashboard, for the foot of its sidebar (`readPerson`): another person's, for a page their device opened. */
4
4
  export declare function onPerson(): Promise<Person>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openagt/dashboard",
3
- "version": "0.26.0",
3
+ "version": "0.27.0",
4
4
  "description": "OpenAgent: a local dashboard and daemon for coding agents. It starts an agent through the project's own start hook and shows every agent from the files it keeps; it runs no coding agent itself.",
5
5
  "keywords": [
6
6
  "ai",
@@ -66,21 +66,21 @@
66
66
  "@openagt/agent-driver-claude": "0.0.6",
67
67
  "@openagt/agent-data": "0.0.5",
68
68
  "@openagt/files": "0.0.8",
69
- "@openagt/changes": "0.0.3",
70
- "@openagt/skill-browser": "0.1.2",
71
69
  "@openagt/agent-driver-codex": "0.0.5",
70
+ "@openagt/changes": "0.0.3",
71
+ "@openagt/remote-access": "0.0.8",
72
+ "@openagt/servers": "0.0.10",
72
73
  "@openagt/init": "0.1.9",
73
- "@openagt/remote-access": "0.0.7",
74
- "@openagt/servers": "0.0.9",
75
74
  "@openagt/skill-branches": "0.1.2",
76
75
  "@openagt/skill-github": "0.1.1",
76
+ "@openagt/skill-browser": "0.1.2",
77
+ "@openagt/skill-tickets": "0.1.3",
77
78
  "@openagt/skill-logs": "0.1.3",
78
- "@openagt/skill-orchestration": "0.1.8",
79
79
  "@openagt/skill-queue": "0.1.1",
80
- "@openagt/skill-tickets": "0.1.3",
81
- "@openagt/agent-runner": "0.0.11",
82
80
  "@openagt/agent-scheduler": "0.1.7",
83
- "@openagt/agent-driver": "0.0.5"
81
+ "@openagt/skill-orchestration": "0.1.8",
82
+ "@openagt/agent-driver": "0.0.5",
83
+ "@openagt/agent-runner": "0.0.11"
84
84
  },
85
85
  "devDependencies": {
86
86
  "@tailwindcss/vite": "^4.0.0",