@openagt/dashboard 0.54.0 → 0.56.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.
- package/README.md +4 -2
- package/dist/appearance.d.ts +1 -1
- package/dist/appearance.d.ts.map +1 -1
- package/dist/appearance.js +1 -1
- package/dist/appearance.js.map +1 -1
- package/dist/clone-project.js +1 -1
- package/dist/clone-project.js.map +1 -1
- package/dist/daemon-runtime.d.ts.map +1 -1
- package/dist/daemon-runtime.js +8 -4
- package/dist/daemon-runtime.js.map +1 -1
- package/dist/daemon-services.d.ts +4 -4
- package/dist/daemon-services.js +6 -6
- package/dist/daemon-services.js.map +1 -1
- package/dist/daemon.d.ts +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +11 -1
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/elsewhere.d.ts +1 -1
- package/dist/dashboard/elsewhere.d.ts.map +1 -1
- package/dist/dashboard/projects.js +1 -1
- package/dist/dashboard/projects.js.map +1 -1
- package/dist/dashboard/rpc-serve.d.ts +6 -0
- package/dist/dashboard/rpc-serve.d.ts.map +1 -1
- package/dist/dashboard/rpc-serve.js +21 -1
- package/dist/dashboard/rpc-serve.js.map +1 -1
- package/dist/dashboard/run-inbox.d.ts +4 -3
- package/dist/dashboard/run-inbox.d.ts.map +1 -1
- package/dist/dashboard/run-inbox.js +6 -5
- package/dist/dashboard/run-inbox.js.map +1 -1
- package/dist/dashboard/server.d.ts +16 -1
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +54 -12
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/static.d.ts +15 -2
- package/dist/dashboard/static.d.ts.map +1 -1
- package/dist/dashboard/static.js +33 -18
- package/dist/dashboard/static.js.map +1 -1
- package/dist/dashboard/website.d.ts +34 -0
- package/dist/dashboard/website.d.ts.map +1 -0
- package/dist/dashboard/website.js +82 -0
- package/dist/dashboard/website.js.map +1 -0
- package/dist/dashboard-bundle/assets/host/module-BMyNrbiB.js +1 -0
- package/dist/dashboard-bundle/assets/main-BK8YIg7v.js +152 -0
- package/dist/dashboard-bundle/assets/main-mnNPGbsz.css +2 -0
- package/dist/dashboard-bundle/assets/{module-C1zreYB3.js → module-DY3Aigsz.js} +3 -3
- package/dist/dashboard-bundle/index.html +6 -6
- package/dist/dashboard-rpc/control.d.ts +22 -6
- package/dist/dashboard-rpc/control.d.ts.map +1 -1
- package/dist/dashboard-rpc/control.js +45 -9
- package/dist/dashboard-rpc/control.js.map +1 -1
- package/dist/dashboard-rpc/index.d.ts +3 -1
- package/dist/dashboard-rpc/index.d.ts.map +1 -1
- package/dist/dashboard-rpc/index.js +6 -2
- package/dist/dashboard-rpc/index.js.map +1 -1
- package/dist/dashboard-rpc/machines.d.ts.map +1 -1
- package/dist/dashboard-rpc/machines.js +1 -2
- package/dist/dashboard-rpc/machines.js.map +1 -1
- package/dist/dashboard-rpc/modules.js +2 -2
- package/dist/dashboard-rpc/modules.js.map +1 -1
- package/dist/dashboard-rpc/personal-folder.d.ts +23 -0
- package/dist/dashboard-rpc/personal-folder.d.ts.map +1 -0
- package/dist/dashboard-rpc/personal-folder.js +30 -0
- package/dist/dashboard-rpc/personal-folder.js.map +1 -0
- package/dist/dashboard-rpc/project-agent-data.d.ts +20 -0
- package/dist/dashboard-rpc/project-agent-data.d.ts.map +1 -0
- package/dist/dashboard-rpc/project-agent-data.js +38 -0
- package/dist/dashboard-rpc/project-agent-data.js.map +1 -0
- package/dist/dashboard-rpc/projects.d.ts +3 -5
- package/dist/dashboard-rpc/projects.d.ts.map +1 -1
- package/dist/dashboard-rpc/projects.js +5 -17
- package/dist/dashboard-rpc/projects.js.map +1 -1
- package/dist/dashboard-rpc/relay-dispatch.js +4 -4
- package/dist/dashboard-rpc/relay-dispatch.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/join-dashboard.d.ts +6 -2
- package/dist/join-dashboard.d.ts.map +1 -1
- package/dist/join-dashboard.js +4 -2
- package/dist/join-dashboard.js.map +1 -1
- package/dist/module-types/dashboard/components/SettingsRows.d.ts +2 -2
- package/dist/module-types/src/appearance.d.ts +1 -1
- package/dist/module-types/src/dashboard/elsewhere.d.ts +1 -1
- package/dist/module-types/src/dashboard/rpc-serve.d.ts +6 -0
- package/dist/module-types/src/dashboard/run-inbox.d.ts +4 -3
- package/dist/module-types/src/dashboard-rpc/control.d.ts +22 -6
- package/dist/module-types/src/dashboard-rpc/index.d.ts +3 -1
- package/dist/module-types/src/dashboard-rpc/personal-folder.d.ts +22 -0
- package/dist/module-types/src/dashboard-rpc/project-agent-data.d.ts +19 -0
- package/dist/module-types/src/dashboard-rpc/projects.d.ts +3 -5
- package/dist/module-types/src/index.d.ts +0 -1
- package/dist/module-types/src/personal-folder-shown.d.ts +10 -0
- package/dist/module-types/src/registry.d.ts +1 -1
- package/dist/module-types/src/repository-url.d.ts +6 -0
- package/dist/module-types/src/secure-address.d.ts +31 -0
- package/dist/personal-folder-shown.d.ts +11 -0
- package/dist/personal-folder-shown.d.ts.map +1 -0
- package/dist/personal-folder-shown.js +8 -0
- package/dist/personal-folder-shown.js.map +1 -0
- package/dist/registry.d.ts +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +1 -1
- package/dist/registry.js.map +1 -1
- package/dist/remove-files.d.ts +4 -3
- package/dist/remove-files.d.ts.map +1 -1
- package/dist/remove-files.js +6 -1
- package/dist/remove-files.js.map +1 -1
- package/dist/repository-url.d.ts +7 -0
- package/dist/repository-url.d.ts.map +1 -0
- package/dist/repository-url.js +17 -0
- package/dist/repository-url.js.map +1 -0
- package/dist/secure-address.d.ts +32 -0
- package/dist/secure-address.d.ts.map +1 -0
- package/dist/secure-address.js +50 -0
- package/dist/secure-address.js.map +1 -0
- package/dist/store/run-record.d.ts.map +1 -1
- package/dist/store/run-record.js +1 -0
- package/dist/store/run-record.js.map +1 -1
- package/dist/terminal.js +2 -0
- package/dist/terminal.js.map +1 -1
- package/dist/website/assets/chunks/chunk-BPgR-CZq.js +1 -0
- package/dist/website/assets/chunks/chunk-D1NQcEen.js +1 -0
- package/dist/website/assets/chunks/chunk-DeonM-eN.js +3 -0
- package/dist/website/assets/chunks/chunk-kQ9-9YDn.js +18 -0
- package/dist/website/assets/emoji-compass.svg +75 -0
- package/dist/website/assets/emoji-confused.svg +34 -0
- package/dist/website/assets/emoji-construction.svg +188 -0
- package/dist/website/assets/emoji-flex.svg +1 -0
- package/dist/website/assets/emoji-hand-raised.svg +180 -0
- package/dist/website/assets/emoji-mech-arm.svg +1 -0
- package/dist/website/assets/emoji-robot.svg +105 -0
- package/dist/website/assets/emoji-rocket.svg +49 -0
- package/dist/website/assets/entries/entry-client-routing.C33s8xOY.js +2 -0
- package/dist/website/assets/entries/pages_banner.BaN84ozS.js +1 -0
- package/dist/website/assets/entries/pages_go-to-dashboard.C3OBfFYB.js +1 -0
- package/dist/website/assets/entries/pages_index.DEALARsw.js +1 -0
- package/dist/website/assets/entries/pages_press.nvOiFHiQ.js +1 -0
- package/dist/website/assets/logo.svg +34 -0
- package/dist/website/assets/static/pages_index_styles-f7bc93a7.KSL83pUG.css +1 -0
- package/dist/website/banner/index.html +28 -0
- package/dist/website/banner/index.pageContext.json +1 -0
- package/dist/website/banner.jpg +0 -0
- package/dist/website/go-to-dashboard/index.html +30 -0
- package/dist/website/go-to-dashboard/index.pageContext.json +1 -0
- package/dist/website/index.html +30 -0
- package/dist/website/index.pageContext.json +1 -0
- package/dist/website/press/index.html +29 -0
- package/dist/website/press/index.pageContext.json +1 -0
- package/package.json +29 -25
- package/dist/dashboard-bundle/assets/host/module-BjrL8fFt.js +0 -1
- package/dist/dashboard-bundle/assets/main-C50vMcm3.js +0 -152
- package/dist/dashboard-bundle/assets/main-DkmEveyx.css +0 -2
- package/dist/module-types/src/repository-address.d.ts +0 -36
- package/dist/repository-address.d.ts +0 -37
- package/dist/repository-address.d.ts.map +0 -1
- package/dist/repository-address.js +0 -59
- package/dist/repository-address.js.map +0 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { readPersonalFolder, readSharing, stopSyncingPersonalFolder, syncPersonalFolder } from '@openagt/agent-data';
|
|
2
|
+
import { contextProjects } from './context.js';
|
|
3
|
+
import { providedDataChanged } from '../store/provided.js';
|
|
4
|
+
import { repositoryUrlOf } from '../repository-url.js';
|
|
5
|
+
import { personalFolderShown } from '../personal-folder-shown.js';
|
|
6
|
+
export async function onPersonalFolder() {
|
|
7
|
+
const [state, projects] = await Promise.all([readPersonalFolder(), contextProjects().list()]);
|
|
8
|
+
const kept = [];
|
|
9
|
+
for (const project of projects)
|
|
10
|
+
if (!(await readSharing(project.path).catch(() => false)))
|
|
11
|
+
kept.push(project.name);
|
|
12
|
+
return { ...personalFolderShown(state), unsent: state.unsent, projects: kept };
|
|
13
|
+
}
|
|
14
|
+
/** Sync the personal folder with the person's repository: what it has comes in, every record here goes out. */
|
|
15
|
+
export async function sendSyncPersonalFolder(typed) {
|
|
16
|
+
const url = typeof typed === 'string' ? repositoryUrlOf(typed) : undefined;
|
|
17
|
+
if (!url)
|
|
18
|
+
return { ok: false, error: 'That is not a repository address. Paste one like github.com/you/agent.' };
|
|
19
|
+
const synced = await syncPersonalFolder(url);
|
|
20
|
+
// What came in from the repository is read again: another machine's runs and tickets.
|
|
21
|
+
if (synced.ok)
|
|
22
|
+
for (const project of await contextProjects().list())
|
|
23
|
+
providedDataChanged(project.path);
|
|
24
|
+
return synced;
|
|
25
|
+
}
|
|
26
|
+
/** Stop syncing: the repository is forgotten here, every record stays on this machine and on the repository. */
|
|
27
|
+
export async function sendStopSyncingPersonalFolder() {
|
|
28
|
+
return stopSyncingPersonalFolder();
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=personal-folder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"personal-folder.js","sourceRoot":"","sources":["../../src/dashboard-rpc/personal-folder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACpH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAA4B,MAAM,6BAA6B,CAAA;AAY3F,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7F,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClH,OAAO,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;AAChF,CAAC;AAED,+GAA+G;AAC/G,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAa;IACxD,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1E,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAwE,EAAE,CAAA;IAC/G,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC5C,sFAAsF;IACtF,IAAI,MAAM,CAAC,EAAE;QAAE,KAAK,MAAM,OAAO,IAAI,MAAM,eAAe,EAAE,CAAC,IAAI,EAAE;YAAE,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACtG,OAAO,MAAM,CAAA;AACf,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,OAAO,yBAAyB,EAAE,CAAA;AACpC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type PersonalFolderShown } from '../personal-folder-shown.js';
|
|
2
|
+
/** One kind of the project's data the skills keep: how many, and the skill that keeps them. */
|
|
3
|
+
export interface KeptData {
|
|
4
|
+
kind: 'runs' | 'tickets' | 'queue';
|
|
5
|
+
count: number;
|
|
6
|
+
/** The providing package's name as a person knows the skill (`logs` for `@openagt/skill-logs`). */
|
|
7
|
+
skill: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ProjectAgentData {
|
|
10
|
+
/** `personal`: in the person's own folder; `repository`: on the project's own branch `agent-data`. */
|
|
11
|
+
place: 'personal' | 'repository';
|
|
12
|
+
/** The person's own folder, and the repository it syncs with, if any. */
|
|
13
|
+
folder: PersonalFolderShown;
|
|
14
|
+
/** Whether the project has a remote to keep its data on. */
|
|
15
|
+
canShare: boolean;
|
|
16
|
+
kept: KeptData[];
|
|
17
|
+
}
|
|
18
|
+
/** Where the project's agent data is and what is kept; `null` for a project with no folder on this computer. */
|
|
19
|
+
export declare function onProjectAgentData(projectId: string): Promise<ProjectAgentData | null>;
|
|
20
|
+
//# sourceMappingURL=project-agent-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-agent-data.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/project-agent-data.ts"],"names":[],"mappings":"AAOA,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAM3F,+FAA+F;AAC/F,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,mGAAmG;IACnG,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,sGAAsG;IACtG,KAAK,EAAE,UAAU,GAAG,YAAY,CAAA;IAChC,yEAAyE;IACzE,MAAM,EAAE,mBAAmB,CAAA;IAC3B,4DAA4D;IAC5D,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,QAAQ,EAAE,CAAA;CACjB;AAOD,gHAAgH;AAChH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAqB5F"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { readPersonalFolder, readSharing } from '@openagt/agent-data';
|
|
2
|
+
import { resolveProjectPath } from './context.js';
|
|
3
|
+
import { hasRemote } from '../has-remote.js';
|
|
4
|
+
import { providedCommand } from '../built-in.js';
|
|
5
|
+
import { projectQueue } from '../store/queue.js';
|
|
6
|
+
import { projectRuns } from '../store/runs.js';
|
|
7
|
+
import { projectTickets } from '../store/tickets.js';
|
|
8
|
+
import { personalFolderShown } from '../personal-folder-shown.js';
|
|
9
|
+
/** The skill's name of a package: `@openagt/skill-logs` reads `logs`. */
|
|
10
|
+
function skillName(pkg) {
|
|
11
|
+
return pkg.replace(/^@[^/]+\//, '').replace(/^skill-/, '');
|
|
12
|
+
}
|
|
13
|
+
/** Where the project's agent data is and what is kept; `null` for a project with no folder on this computer. */
|
|
14
|
+
export async function onProjectAgentData(projectId) {
|
|
15
|
+
const root = await resolveProjectPath(projectId);
|
|
16
|
+
if (!root)
|
|
17
|
+
return null;
|
|
18
|
+
const [shared, canShare, state] = await Promise.all([readSharing(root).catch(() => false), hasRemote(root), readPersonalFolder()]);
|
|
19
|
+
const kinds = [
|
|
20
|
+
{ kind: 'runs', count: async () => (await (await projectRuns(root))?.list())?.length },
|
|
21
|
+
{ kind: 'tickets', count: async () => (await (await projectTickets(root))?.list())?.length },
|
|
22
|
+
{ kind: 'queue', count: async () => (await (await projectQueue(root))?.list())?.length },
|
|
23
|
+
];
|
|
24
|
+
const kept = [];
|
|
25
|
+
for (const { kind, count } of kinds) {
|
|
26
|
+
const command = await providedCommand(root, kind).catch(() => undefined);
|
|
27
|
+
const n = command ? await count().catch(() => undefined) : undefined;
|
|
28
|
+
if (command && n !== undefined)
|
|
29
|
+
kept.push({ kind, count: n, skill: skillName(command.package) });
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
place: shared ? 'repository' : 'personal',
|
|
33
|
+
folder: personalFolderShown(state),
|
|
34
|
+
canShare,
|
|
35
|
+
kept,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=project-agent-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-agent-data.js","sourceRoot":"","sources":["../../src/dashboard-rpc/project-agent-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAA4B,MAAM,6BAA6B,CAAA;AAwB3F,yEAAyE;AACzE,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;AAC5D,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACxD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAA;IAClI,MAAM,KAAK,GAAG;QACZ,EAAE,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE;QAC/F,EAAE,IAAI,EAAE,SAAkB,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE;QACrG,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE;KAClG,CAAA;IACD,MAAM,IAAI,GAAe,EAAE,CAAA;IAC3B,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACxE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACpE,IAAI,OAAO,IAAI,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAClG,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU;QACzC,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC;QAClC,QAAQ;QACR,IAAI;KACL,CAAA;AACH,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type ProjectCommand } from '../project-commands.js';
|
|
2
|
-
import { type BranchReach } from '@openagt/agent-data';
|
|
3
2
|
import { type StartReadiness } from '../project-hooks.js';
|
|
4
3
|
import { type StartFromPick } from '../registry.js';
|
|
5
4
|
import { type PickDirectoryResult } from '../pick-directory.js';
|
|
@@ -57,12 +56,11 @@ export declare function sendAddProjectFromAddress(address: string, share: boolea
|
|
|
57
56
|
* Addressed by id and not by path, so a project whose folder is gone can still be removed.
|
|
58
57
|
*/
|
|
59
58
|
export declare function sendRemoveProject(projectId: string, files: boolean): Promise<RemoveProjectResult>;
|
|
60
|
-
/** How far the project's records reach right now, read off its repository; `null` when the project is unknown here. */
|
|
61
|
-
export declare function onRecordsReach(projectId: string): Promise<BranchReach | null>;
|
|
62
59
|
/**
|
|
63
60
|
* The person's switch: share the project's records with its remote, or keep them on this machine.
|
|
64
|
-
*
|
|
65
|
-
*
|
|
61
|
+
* The records move with the switch: on, from the personal folder to the project's branch, sent at
|
|
62
|
+
* once, so a remote that refuses is said at once and the switch goes back to off with the records
|
|
63
|
+
* where they were; off, back to the personal folder. A project with no remote has nothing to
|
|
66
64
|
* share with, and is refused.
|
|
67
65
|
*/
|
|
68
66
|
export declare function sendShareRecords(projectId: string, on: boolean): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { contextAddProject, contextPrepareStart, contextProjectErrors, contextProjects, contextRemote, contextRemoveProject, contextStartedIn, resolveProjectPath } from './context.js';
|
|
2
2
|
import { readProjectCommands } from '../project-commands.js';
|
|
3
|
-
import { DATA_BRANCH,
|
|
3
|
+
import { DATA_BRANCH, originDefaultBranch, readSharing, repositoryAddress, repositorySpelling, shareProjectData } from '@openagt/agent-data';
|
|
4
4
|
import { readProjectHooks, runCheckHook, startLineTakesBase, startLineTakesPrBase } from '../project-hooks.js';
|
|
5
5
|
import { hasRemote } from '../has-remote.js';
|
|
6
6
|
import { openagentVersion } from '../version.js';
|
|
7
|
-
import { repositoryAddress, repositorySpelling } from '../repository-address.js';
|
|
8
7
|
import { currentBranch } from '../dashboard/git-status.js';
|
|
9
8
|
import { branchesOnOrigin, waitingSkills } from '../dashboard/start-branch.js';
|
|
10
9
|
import { startFromPick } from '../registry.js';
|
|
@@ -122,15 +121,11 @@ export async function sendRemoveProject(projectId, files) {
|
|
|
122
121
|
return { ok: false, error: 'a project id is required' };
|
|
123
122
|
return removeProject(projectId, files === true);
|
|
124
123
|
}
|
|
125
|
-
/** How far the project's records reach right now, read off its repository; `null` when the project is unknown here. */
|
|
126
|
-
export async function onRecordsReach(projectId) {
|
|
127
|
-
const cwd = await resolveProjectPath(projectId);
|
|
128
|
-
return cwd ? branchReach(cwd) : null;
|
|
129
|
-
}
|
|
130
124
|
/**
|
|
131
125
|
* The person's switch: share the project's records with its remote, or keep them on this machine.
|
|
132
|
-
*
|
|
133
|
-
*
|
|
126
|
+
* The records move with the switch: on, from the personal folder to the project's branch, sent at
|
|
127
|
+
* once, so a remote that refuses is said at once and the switch goes back to off with the records
|
|
128
|
+
* where they were; off, back to the personal folder. A project with no remote has nothing to
|
|
134
129
|
* share with, and is refused.
|
|
135
130
|
*/
|
|
136
131
|
export async function sendShareRecords(projectId, on) {
|
|
@@ -139,14 +134,7 @@ export async function sendShareRecords(projectId, on) {
|
|
|
139
134
|
return { ok: false, error: 'this project has no local path on this server' };
|
|
140
135
|
if (on && !(await hasRemote(cwd)))
|
|
141
136
|
return { ok: false, error: 'this project has no remote to share with' };
|
|
142
|
-
|
|
143
|
-
if (!on)
|
|
144
|
-
return { ok: true };
|
|
145
|
-
const sent = await pullFileBranch(cwd, DATA_BRANCH, { log: () => { } });
|
|
146
|
-
if (sent.ok)
|
|
147
|
-
return { ok: true };
|
|
148
|
-
await writeSharing(cwd, false);
|
|
149
|
-
return { ok: false, error: sent.error };
|
|
137
|
+
return shareProjectData(cwd, on);
|
|
150
138
|
}
|
|
151
139
|
/**
|
|
152
140
|
* Open the OS folder picker on the daemon's machine and wait for the user's choice (#1150). The
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/dashboard-rpc/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACvL,OAAO,EAAE,mBAAmB,EAAuB,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/dashboard-rpc/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import { onProjectFiles, onGitStatus, onAgentWorktree, onAgentMainBranch, onAgen
|
|
|
2
2
|
import { readModule, runModuleCommand } from './modules.js';
|
|
3
3
|
import { commandReads, findProjectModule } from '../project-modules.js';
|
|
4
4
|
import { resolveProjectPath } from './context.js';
|
|
5
|
-
import { sendStop, sendChoice, sendMessage, sendOpenPullRequest, sendPush, sendMerge, sendMergeBranch, sendStart } from './control.js';
|
|
5
|
+
import { sendStop, sendChoice, sendMessage, withdrawMessage, sendNow, sendOpenPullRequest, sendPush, sendMerge, sendMergeBranch, sendStart } from './control.js';
|
|
6
6
|
import { asArrived } from './relay-agent.js';
|
|
7
|
-
import { onCloneCheck, onCommands, onOwnProjects,
|
|
7
|
+
import { onCloneCheck, onCommands, onOwnProjects, onStartBranches, onStartCheck } from './projects.js';
|
|
8
8
|
import { onProjectSkills } from './skills.js';
|
|
9
9
|
import { onCopiedLogins, sendCopiedLogin, sendCopiedUsage, sendForgetCopiedLogin, sendKeepCopiedLogin } from './copied-logins.js';
|
|
10
10
|
import { patchPreferences } from './preferences.js';
|
|
@@ -22,8 +22,8 @@ import { onGitHosts, sendUseGitHostAccount } from './logins.js';
|
|
|
22
22
|
// this computer has (elsewhere.ts) is read here, and a run of it is started here, by the same
|
|
23
23
|
// guarded start a run sent here gets: on this computer, never sent on. What destroys a run's
|
|
24
24
|
// history or checkout, or changes how the project keeps its records, is still no other computer's to do.
|
|
25
|
-
const RELAY_READS = { onProjectFiles, readModule, onGitStatus, onAgentWorktree, onAgentMainBranch, onAgentHandoff, onAgent, onStartedName, onOwnRuns, onStartCheck, onCommands, onStartBranches, onDocs, onAgentsDoing, onRetainedWorktrees, onGitHostHome, onRepositoryOffer, onProjectSkills
|
|
26
|
-
const RELAY_ACTS = { sendStop, sendChoice, sendMessage, sendOpenPullRequest, sendPush, sendMerge, sendMergeBranch, sendStart: startHere, runModuleCommand };
|
|
25
|
+
const RELAY_READS = { onProjectFiles, readModule, onGitStatus, onAgentWorktree, onAgentMainBranch, onAgentHandoff, onAgent, onStartedName, onOwnRuns, onStartCheck, onCommands, onStartBranches, onDocs, onAgentsDoing, onRetainedWorktrees, onGitHostHome, onRepositoryOffer, onProjectSkills };
|
|
26
|
+
const RELAY_ACTS = { sendStop, sendChoice, sendMessage, withdrawMessage, sendNow, sendOpenPullRequest, sendPush, sendMerge, sendMergeBranch, sendStart: startHere, runModuleCommand };
|
|
27
27
|
// Null-prototype, like RPC_HANDLERS (R1): the key is a request-controlled string, so a plain object
|
|
28
28
|
// would answer `constructor`/`toString`/`valueOf` off Object.prototype and invoke them as handlers.
|
|
29
29
|
const RELAY_FNS = Object.assign(Object.create(null), RELAY_READS, RELAY_ACTS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-dispatch.js","sourceRoot":"","sources":["../../src/dashboard-rpc/relay-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACjP,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"relay-dispatch.js","sourceRoot":"","sources":["../../src/dashboard-rpc/relay-dispatch.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,6 @@ export type { Activity } from './dashboard/activity.js';
|
|
|
23
23
|
export type { AgentHandoff } from './dashboard/agent-handoff.js';
|
|
24
24
|
export type { GitHostHome } from './store/git-host.js';
|
|
25
25
|
export type { RepositoryOffer, CreateRepositoryResult } from './store/repository.js';
|
|
26
|
-
export type { BranchReach as RecordsReach } from '@openagt/agent-data';
|
|
27
26
|
export type { BridgeEvent } from './dashboard/bridge-endpoints.js';
|
|
28
27
|
export type { BridgeOption, BridgeQuestion } from './dashboard/bridge-question.js';
|
|
29
28
|
export type { BridgeAnswer } from './dashboard/bridge-store.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAChE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7E,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAChF,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACpF,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAChE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7E,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAChF,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACpF,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAClF,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACjF,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7E,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACzE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,YAAY,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC9F,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
|
package/dist/join-dashboard.d.ts
CHANGED
|
@@ -7,7 +7,11 @@ import type { StartedInResult } from './dashboard/types.js';
|
|
|
7
7
|
* The call is a plain RPC: with no `Origin` and a loopback `Host`, the dashboard's guards let it
|
|
8
8
|
* by, as they let any program on this computer call `sendAddProject`.
|
|
9
9
|
*/
|
|
10
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* What the port answered: OpenAgent's dashboard, the URL to open it at, its version and the
|
|
12
|
+
* folder's project; or something else. The URL is the secure address's when this computer has
|
|
13
|
+
* one (#1919), since every dashboard started here answers it.
|
|
14
|
+
*/
|
|
11
15
|
export type JoinedDashboard = {
|
|
12
16
|
joined: true;
|
|
13
17
|
url: string;
|
|
@@ -17,5 +21,5 @@ export type JoinedDashboard = {
|
|
|
17
21
|
joined: false;
|
|
18
22
|
};
|
|
19
23
|
/** Hand `folder` (undefined outside a repository) to the dashboard on `port` of this computer. */
|
|
20
|
-
export declare function joinRunningDashboard(port: number, folder: string | undefined): Promise<JoinedDashboard>;
|
|
24
|
+
export declare function joinRunningDashboard(port: number, folder: string | undefined, env?: NodeJS.ProcessEnv): Promise<JoinedDashboard>;
|
|
21
25
|
//# sourceMappingURL=join-dashboard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join-dashboard.d.ts","sourceRoot":"","sources":["../src/join-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"join-dashboard.d.ts","sourceRoot":"","sources":["../src/join-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3D;;;;;;;GAOG;AAEH;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CAAE,GACzE;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,CAAA;AAErB,kGAAkG;AAClG,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiBnJ"}
|
package/dist/join-dashboard.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { readSecureAddress } from './secure-address.js';
|
|
1
2
|
/** Hand `folder` (undefined outside a repository) to the dashboard on `port` of this computer. */
|
|
2
|
-
export async function joinRunningDashboard(port, folder) {
|
|
3
|
+
export async function joinRunningDashboard(port, folder, env = process.env) {
|
|
3
4
|
const url = `http://127.0.0.1:${port}`;
|
|
4
5
|
try {
|
|
5
6
|
const res = await fetch(`${url}/_rpc/sendStartedAgain`, {
|
|
@@ -12,7 +13,8 @@ export async function joinRunningDashboard(port, folder) {
|
|
|
12
13
|
const { ret } = (await res.json());
|
|
13
14
|
if (typeof ret?.version !== 'string')
|
|
14
15
|
return { joined: false };
|
|
15
|
-
|
|
16
|
+
const secure = await readSecureAddress(env).catch(() => undefined);
|
|
17
|
+
return { joined: true, url: secure ? `https://${secure.name}` : url, version: ret.version, ...(ret.project ? { project: ret.project } : {}) };
|
|
16
18
|
}
|
|
17
19
|
catch {
|
|
18
20
|
// Refused, or not JSON: no OpenAgent dashboard answers there.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join-dashboard.js","sourceRoot":"","sources":["../src/join-dashboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"join-dashboard.js","sourceRoot":"","sources":["../src/join-dashboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAoBvD,kGAAkG;AAClG,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,MAA0B,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG;IACvH,MAAM,GAAG,GAAG,oBAAoB,IAAI,EAAE,CAAA;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,wBAAwB,EAAE;YACtD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;SACvC,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;QACrC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA+D,CAAA;QAChG,IAAI,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ;YAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;QAC9D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAClE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IAC/I,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;QAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IAC1B,CAAC;AACH,CAAC"}
|
|
@@ -12,7 +12,7 @@ export declare function SettingsSection({ description, action, children }: {
|
|
|
12
12
|
/** One setting: what it is and what it does on the left, its control on the right. */
|
|
13
13
|
export declare function SettingsRow({ label, description, control, dimmed, }: {
|
|
14
14
|
label: string;
|
|
15
|
-
description:
|
|
15
|
+
description: ReactNode;
|
|
16
16
|
control: ReactNode;
|
|
17
17
|
/** A row the rules turned off: greyed, but still shown with its reason. */
|
|
18
18
|
dimmed?: boolean;
|
|
@@ -34,7 +34,7 @@ export interface SettingsOption {
|
|
|
34
34
|
*/
|
|
35
35
|
export declare function SettingsSelectRow({ label, description, value, options, onChange, }: {
|
|
36
36
|
label: string;
|
|
37
|
-
description:
|
|
37
|
+
description: ReactNode;
|
|
38
38
|
value: string;
|
|
39
39
|
options: SettingsOption[];
|
|
40
40
|
onChange: (next: string) => void;
|
|
@@ -18,10 +18,10 @@ export declare const DEFAULT_ACCENT_LABELS: Record<Palette, string>;
|
|
|
18
18
|
export declare function accentOf(palette: Palette | undefined, accent: unknown): Accent | undefined;
|
|
19
19
|
/** The font of the page and the chat, by its family's name. */
|
|
20
20
|
export declare const FONTS: {
|
|
21
|
+
readonly 'ibm-plex-sans': 'IBM Plex Sans';
|
|
21
22
|
readonly figtree: 'Figtree';
|
|
22
23
|
readonly inter: 'Inter';
|
|
23
24
|
readonly geist: 'Geist';
|
|
24
|
-
readonly 'ibm-plex-sans': 'IBM Plex Sans';
|
|
25
25
|
readonly 'plus-jakarta-sans': 'Plus Jakarta Sans';
|
|
26
26
|
readonly manrope: 'Manrope';
|
|
27
27
|
};
|
|
@@ -20,7 +20,7 @@ export interface OwnProject {
|
|
|
20
20
|
name: string;
|
|
21
21
|
/** Its folder there. */
|
|
22
22
|
path: string;
|
|
23
|
-
/** Its repository's address ({@link import('
|
|
23
|
+
/** Its repository's address ({@link import('@openagt/agent-data').repositoryAddress}), when it has one. */
|
|
24
24
|
address?: string;
|
|
25
25
|
/** The same address in the letters its `origin` is written with: what another computer clones it from. */
|
|
26
26
|
spelling?: string;
|
|
@@ -143,8 +143,14 @@ export declare function isJsonRequest(req: IncomingMessage): boolean;
|
|
|
143
143
|
* computer's own address only, so the only `Host` a real user's browser can send is a loopback
|
|
144
144
|
* one — anything else is a rebound name and is rejected. An absent `Host` is rejected too:
|
|
145
145
|
* HTTP/1.1 requires it, and every browser sends it.
|
|
146
|
+
*
|
|
147
|
+
* The one other name let in is the secure address's (#1919), and only over its HTTPS: a rebound
|
|
148
|
+
* name never gets that far, since the browser finds the certificate is for another name and
|
|
149
|
+
* stops before it sends anything.
|
|
146
150
|
*/
|
|
147
151
|
export declare function isExpectedHost(req: IncomingMessage): boolean;
|
|
152
|
+
/** Whether this request came to the secure address (#1919): over its HTTPS, by its name. */
|
|
153
|
+
export declare function isSecureAddressRequest(req: IncomingMessage): boolean;
|
|
148
154
|
/** Where the dashboard's RPCs live. One prefix, so the static handler can decline it by path. */
|
|
149
155
|
export declare const RPC_PREFIX = "/_rpc";
|
|
150
156
|
/**
|
|
@@ -7,7 +7,7 @@ import { type InboxLine } from '@openagt/agent-driver';
|
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
9
|
* The inbox of a run, in its checkout's `.openagent/`: the file agent-driver's session reads
|
|
10
|
-
*
|
|
10
|
+
* while a turn runs and when it ends, one JSON line per message, answer, or act on a message. The run's tool hands the session the
|
|
11
11
|
* same path.
|
|
12
12
|
*/
|
|
13
13
|
export declare const RUN_INBOX_FILE = "inbox.jsonl";
|
|
@@ -19,8 +19,9 @@ export type SteerResult = {
|
|
|
19
19
|
error: string;
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
|
-
* Hand one line to a run of the project at `cwd`. A run that is working takes it from its inbox
|
|
23
|
-
*
|
|
22
|
+
* Hand one line to a run of the project at `cwd`. A run that is working takes it from its inbox:
|
|
23
|
+
* a message reaches the agent at its next step, or when its turn ends when it was sent for later.
|
|
24
|
+
* Taking back a message and Send now act on the turn that runs; with none, they are done. A run that has ended (done, stopped, failed, or waiting on its question) is
|
|
24
25
|
* continued through the project's `resume` hook. A run that ends while the line is on its way
|
|
25
26
|
* would leave it in an inbox nobody reads, so the run is looked at again after the write, and
|
|
26
27
|
* what is still in the inbox then is taken back and resumes the run instead.
|
|
@@ -16,7 +16,8 @@ import { type PublishPick } from '../publish-levels.js';
|
|
|
16
16
|
export declare function agentLockKey(cwd: string, agentId: string): string;
|
|
17
17
|
/**
|
|
18
18
|
* Stop a live agent (the Stop button): SIGINT to the process the run's own card names, when it is
|
|
19
|
-
* this machine's and alive. The
|
|
19
|
+
* this machine's and alive. The run's tool asks its agent to end the turn where it is, as Esc does
|
|
20
|
+
* in Claude Code; a message continues it. The card is the file the dashboard shows the run from, and its pid is
|
|
20
21
|
* whoever runs the agent; OpenAgent names no tool. Nothing else: a run without a live pid
|
|
21
22
|
* here has nothing to stop.
|
|
22
23
|
*/
|
|
@@ -45,12 +46,27 @@ export declare function sendBridgeAnswer(sessionId: string, labels: string[]): P
|
|
|
45
46
|
export declare function sendBridgeAnswerCancel(sessionId: string): Promise<void>;
|
|
46
47
|
/**
|
|
47
48
|
* Say something to a run (#714, #1774): the person's own words, the next prompt of the same
|
|
48
|
-
* conversation. A run that is working
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
49
|
+
* conversation. A run that is working reads them at its next step, as Claude Code's chat does,
|
|
50
|
+
* or, sent `later`, when its turn ends; an ended run is resumed with them. Empty messages are
|
|
51
|
+
* dropped. `publish`, when the person changed the session's "Auto" pick, is how far the run takes
|
|
52
|
+
* its work from these words on, `nothing` for no level; the run's tool reads it, from the inbox
|
|
53
|
+
* line or the resume line's `PUBLISH`. `id` names the message for {@link withdrawMessage} and for
|
|
54
|
+
* the run's word that it landed.
|
|
52
55
|
*/
|
|
53
|
-
export declare function sendMessage(projectId: string, text: string, agentId?: string, publish?: PublishPick
|
|
56
|
+
export declare function sendMessage(projectId: string, text: string, agentId?: string, publish?: PublishPick | null, sent?: {
|
|
57
|
+
id?: string;
|
|
58
|
+
later?: boolean;
|
|
59
|
+
}): Promise<SteerResult>;
|
|
60
|
+
/**
|
|
61
|
+
* Take back a message sent to a working run that the agent has not read yet (Cancel and edit):
|
|
62
|
+
* the person edits it instead. One the agent already read stays read.
|
|
63
|
+
*/
|
|
64
|
+
export declare function withdrawMessage(projectId: string, agentId: string, id: string): Promise<SteerResult>;
|
|
65
|
+
/**
|
|
66
|
+
* Send now: the messages a working run has not read yet reach its agent at once, what it is running
|
|
67
|
+
* going on in the background, as Claude Code's Send now does.
|
|
68
|
+
*/
|
|
69
|
+
export declare function sendNow(projectId: string, agentId: string): Promise<SteerResult>;
|
|
54
70
|
/**
|
|
55
71
|
* Remove a retained worktree (#737). An agent that failed or was stopped keeps its checkout so you
|
|
56
72
|
* can inspect it; this is the explicit cleanup for one, since nothing removes them on a timer.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { onAgents, onStartedName, onModuleAgents, onAgent, onAgentsDoing, onDocs, onQueue, onOverview, onRecentAgents, onInterventions, onActivity, onDashboard, onGitHostHome, onRepositoryOffer, onGitStatus, onProjectFiles, onRetainedWorktrees, onAgentWorktree, onAgentMainBranch, onAgentHandoff, onBridgeQuestion, onBridgeStatus, onBridgeToken, onBridgeEvents, onBridgeAnswer, onBridgeBrowser } from './reads.js';
|
|
2
2
|
export { sendStop, sendChoice, sendBridgeAnswer, sendBridgeAnswerCancel, sendBridgeBrowser, sendMessage, sendStart, sendOpenInApp, sendRemoveWorktree, sendDeleteAgent, sendOpenPullRequest, sendPush, sendMergeBranch, sendMerge, sendCreateRepository } from './control.js';
|
|
3
3
|
export { streamAgentEvents, type LiveFeedEvent, type PartialMessage, type StreamSync } from './events.js';
|
|
4
|
-
export { onProjects, sendAddProject, sendStartedAgain, onCloneTarget, sendAddProjectFromAddress, sendRemoveProject,
|
|
4
|
+
export { onProjects, sendAddProject, sendStartedAgain, onCloneTarget, sendAddProjectFromAddress, sendRemoveProject, sendShareRecords, sendPickProjectDirectory, onOnboarding, onCommands, onStartBranches, onStartCheck, onCloneCheck, type ProjectLauncher } from './projects.js';
|
|
5
5
|
export { onPreferences, savePreferences, patchPreferences, onProjectPresets, saveProjectPresets, onEditors, type SavePreferencesResult, type PatchPreferencesResult, } from './preferences.js';
|
|
6
6
|
export { type EditorInfo } from '../dashboard/open-in-app.js';
|
|
7
7
|
export { onQuota } from './quota.js';
|
|
@@ -12,6 +12,8 @@ export { onProjectSkills, sendChangeSkills, sendProjectSkills, type ProjectSkill
|
|
|
12
12
|
export { onPerson, type Person } from './person.js';
|
|
13
13
|
export { onGitHostPeople, type HostPerson } from './people.js';
|
|
14
14
|
export { onGitHosts, sendUseGitHostAccount, sendForgetGitHostAccount, sendGitHostLogin, sendGitHostInstall, onAgentState, sendAgentFix, onProjectAccounts, sendProjectAccounts, type GitHostsView, type GitHostRow, type GitHostAccount, type GitHostProvider, type AgentState, type ProjectAccountsView, type ProjectAgentAccounts } from './logins.js';
|
|
15
|
+
export { onPersonalFolder, sendSyncPersonalFolder, sendStopSyncingPersonalFolder, type PersonalFolderView } from './personal-folder.js';
|
|
16
|
+
export { onProjectAgentData, type ProjectAgentData, type KeptData } from './project-agent-data.js';
|
|
15
17
|
export { onServerLogins, sendUseLoginsOn, sendAllowLogins, sendSettleLogin, type ServerLoginsView, type ServerLogins, type LoginThere } from './server-logins.js';
|
|
16
18
|
export { onCopiedLogins, sendCopiedLogin, sendForgetCopiedLogin, sendKeepCopiedLogin, sendCopiedUsage, type CopiedView } from './copied-logins.js';
|
|
17
19
|
export { onAgentAccounts, sendRemoveAgentAccount, sendUseAgentAccountFirst, type AccountsAgent, type AccountRow, type AccountWindow, type AccountsView, type AccountResult } from './accounts.js';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type PersonalFolderShown } from '../personal-folder-shown.js';
|
|
2
|
+
export interface PersonalFolderView extends PersonalFolderShown {
|
|
3
|
+
/** Commits made here that have not reached the repository yet. */
|
|
4
|
+
unsent: number;
|
|
5
|
+
/** The projects of this computer that keep their agent data in it, by name. */
|
|
6
|
+
projects: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function onPersonalFolder(): Promise<PersonalFolderView>;
|
|
9
|
+
/** Sync the personal folder with the person's repository: what it has comes in, every record here goes out. */
|
|
10
|
+
export declare function sendSyncPersonalFolder(typed: string): Promise<{
|
|
11
|
+
ok: true;
|
|
12
|
+
} | {
|
|
13
|
+
ok: false;
|
|
14
|
+
error: string;
|
|
15
|
+
}>;
|
|
16
|
+
/** Stop syncing: the repository is forgotten here, every record stays on this machine and on the repository. */
|
|
17
|
+
export declare function sendStopSyncingPersonalFolder(): Promise<{
|
|
18
|
+
ok: true;
|
|
19
|
+
} | {
|
|
20
|
+
ok: false;
|
|
21
|
+
error: string;
|
|
22
|
+
}>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type PersonalFolderShown } from '../personal-folder-shown.js';
|
|
2
|
+
/** One kind of the project's data the skills keep: how many, and the skill that keeps them. */
|
|
3
|
+
export interface KeptData {
|
|
4
|
+
kind: 'runs' | 'tickets' | 'queue';
|
|
5
|
+
count: number;
|
|
6
|
+
/** The providing package's name as a person knows the skill (`logs` for `@openagt/skill-logs`). */
|
|
7
|
+
skill: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ProjectAgentData {
|
|
10
|
+
/** `personal`: in the person's own folder; `repository`: on the project's own branch `agent-data`. */
|
|
11
|
+
place: 'personal' | 'repository';
|
|
12
|
+
/** The person's own folder, and the repository it syncs with, if any. */
|
|
13
|
+
folder: PersonalFolderShown;
|
|
14
|
+
/** Whether the project has a remote to keep its data on. */
|
|
15
|
+
canShare: boolean;
|
|
16
|
+
kept: KeptData[];
|
|
17
|
+
}
|
|
18
|
+
/** Where the project's agent data is and what is kept; `null` for a project with no folder on this computer. */
|
|
19
|
+
export declare function onProjectAgentData(projectId: string): Promise<ProjectAgentData | null>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type ProjectCommand } from '../project-commands.js';
|
|
2
|
-
import { type BranchReach } from '@openagt/agent-data';
|
|
3
2
|
import { type StartReadiness } from '../project-hooks.js';
|
|
4
3
|
import { type StartFromPick } from '../registry.js';
|
|
5
4
|
import { type PickDirectoryResult } from '../pick-directory.js';
|
|
@@ -57,12 +56,11 @@ export declare function sendAddProjectFromAddress(address: string, share: boolea
|
|
|
57
56
|
* Addressed by id and not by path, so a project whose folder is gone can still be removed.
|
|
58
57
|
*/
|
|
59
58
|
export declare function sendRemoveProject(projectId: string, files: boolean): Promise<RemoveProjectResult>;
|
|
60
|
-
/** How far the project's records reach right now, read off its repository; `null` when the project is unknown here. */
|
|
61
|
-
export declare function onRecordsReach(projectId: string): Promise<BranchReach | null>;
|
|
62
59
|
/**
|
|
63
60
|
* The person's switch: share the project's records with its remote, or keep them on this machine.
|
|
64
|
-
*
|
|
65
|
-
*
|
|
61
|
+
* The records move with the switch: on, from the personal folder to the project's branch, sent at
|
|
62
|
+
* once, so a remote that refuses is said at once and the switch goes back to off with the records
|
|
63
|
+
* where they were; off, back to the personal folder. A project with no remote has nothing to
|
|
66
64
|
* share with, and is refused.
|
|
67
65
|
*/
|
|
68
66
|
export declare function sendShareRecords(projectId: string, on: boolean): Promise<{
|
|
@@ -23,7 +23,6 @@ export type { Activity } from './dashboard/activity.js';
|
|
|
23
23
|
export type { AgentHandoff } from './dashboard/agent-handoff.js';
|
|
24
24
|
export type { GitHostHome } from './store/git-host.js';
|
|
25
25
|
export type { RepositoryOffer, CreateRepositoryResult } from './store/repository.js';
|
|
26
|
-
export type { BranchReach as RecordsReach } from '@openagt/agent-data';
|
|
27
26
|
export type { BridgeEvent } from './dashboard/bridge-endpoints.js';
|
|
28
27
|
export type { BridgeOption, BridgeQuestion } from './dashboard/bridge-question.js';
|
|
29
28
|
export type { BridgeAnswer } from './dashboard/bridge-store.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type PersonalFolderState } from '@openagt/agent-data';
|
|
2
|
+
/** The person's own folder as a page shows it: its path with the home directory as `~`, the repository it syncs with as `host/path`, and that repository's page. */
|
|
3
|
+
export interface PersonalFolderShown {
|
|
4
|
+
path: string;
|
|
5
|
+
/** The repository it syncs with, as `host/path`, or its address as given when it is not one. */
|
|
6
|
+
remote?: string;
|
|
7
|
+
/** The repository's page, for a remote that is on a host. */
|
|
8
|
+
remoteUrl?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function personalFolderShown(state: PersonalFolderState, home?: string): PersonalFolderShown;
|