@opencomputer/cli 0.4.0 → 0.4.1
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 +12 -5
- package/dist/auth.js +5 -2
- package/dist/auth.js.map +1 -1
- package/dist/binding.d.ts +16 -0
- package/dist/binding.js +125 -0
- package/dist/binding.js.map +1 -0
- package/dist/binding.test.d.ts +1 -0
- package/dist/binding.test.js +68 -0
- package/dist/binding.test.js.map +1 -0
- package/dist/commands.js +12 -19
- package/dist/commands.js.map +1 -1
- package/dist/config.js +10 -5
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +19 -1
- package/dist/config.test.js.map +1 -1
- package/dist/dev.d.ts +8 -0
- package/dist/dev.js +112 -0
- package/dist/dev.js.map +1 -0
- package/dist/dev.test.d.ts +1 -0
- package/dist/dev.test.js +38 -0
- package/dist/dev.test.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/local.js +9 -0
- package/dist/local.js.map +1 -1
- package/dist/local.test.js +29 -0
- package/dist/local.test.js.map +1 -1
- package/dist/project.js +184 -50
- package/dist/project.js.map +1 -1
- package/dist/project.test.js +21 -16
- package/dist/project.test.js.map +1 -1
- package/package.json +3 -3
package/dist/project.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createHash, randomInt, randomUUID } from "node:crypto";
|
|
2
2
|
import { access, cp, mkdir, readFile, readdir, rm, writeFile, } from "node:fs/promises";
|
|
3
|
-
import { dirname, relative, resolve } from "node:path";
|
|
3
|
+
import { basename, dirname, relative, resolve } from "node:path";
|
|
4
|
+
import ts from "typescript";
|
|
4
5
|
const AGENT_ID_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
5
6
|
const AGENT_NAME_ADJECTIVES = [
|
|
6
7
|
"Amber",
|
|
@@ -55,7 +56,7 @@ async function prepareInitializationTarget(root, template) {
|
|
|
55
56
|
"opencode.json",
|
|
56
57
|
"package.json",
|
|
57
58
|
"agent.ts",
|
|
58
|
-
"
|
|
59
|
+
"opencomputer.ts",
|
|
59
60
|
...(template.id === "pr-review-readiness"
|
|
60
61
|
? [
|
|
61
62
|
"tools/github.ts",
|
|
@@ -1065,11 +1066,11 @@ export async function findAgentRoot(startDirectory = process.cwd()) {
|
|
|
1065
1066
|
for (;;) {
|
|
1066
1067
|
const nested = resolve(directory, "opencomputer");
|
|
1067
1068
|
if ((await exists(resolve(directory, "opencomputer.toml"))) &&
|
|
1068
|
-
(await exists(resolve(directory, "
|
|
1069
|
+
(await exists(resolve(directory, "agent.ts")))) {
|
|
1069
1070
|
return directory;
|
|
1070
1071
|
}
|
|
1071
1072
|
if ((await exists(resolve(nested, "opencomputer.toml"))) &&
|
|
1072
|
-
(await exists(resolve(nested, "
|
|
1073
|
+
(await exists(resolve(nested, "agent.ts")))) {
|
|
1073
1074
|
return nested;
|
|
1074
1075
|
}
|
|
1075
1076
|
for (const agentsDirectory of [
|
|
@@ -1086,7 +1087,7 @@ export async function findAgentRoot(startDirectory = process.cwd()) {
|
|
|
1086
1087
|
continue;
|
|
1087
1088
|
const agent = resolve(agentsDirectory, entry.name);
|
|
1088
1089
|
if ((await exists(resolve(agent, "opencomputer.toml"))) &&
|
|
1089
|
-
(await exists(resolve(agent, "
|
|
1090
|
+
(await exists(resolve(agent, "agent.ts")))) {
|
|
1090
1091
|
detected.push(agent);
|
|
1091
1092
|
}
|
|
1092
1093
|
}
|
|
@@ -1215,19 +1216,46 @@ export async function initializeTemplateAgentProject(template, directory) {
|
|
|
1215
1216
|
name: generateAgentName(),
|
|
1216
1217
|
template: template.id,
|
|
1217
1218
|
};
|
|
1219
|
+
const reactiveTools = templateReactiveTools(template);
|
|
1218
1220
|
await writeManifest(root, manifest);
|
|
1219
1221
|
await writeFile(resolve(root, "opencomputer.config.ts"), `export default {
|
|
1220
1222
|
runtime: "opencode",
|
|
1221
1223
|
region: "auto",
|
|
1222
1224
|
};
|
|
1223
1225
|
`);
|
|
1224
|
-
await writeFile(resolve(root, "agent.ts"),
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1226
|
+
await writeFile(resolve(root, "agent.ts"), `${reactiveTools.length ? 'import { useTool } from "./opencomputer.js";\n\n' : ""}export default function Agent() {
|
|
1227
|
+
${reactiveTools
|
|
1228
|
+
.map((tool) => ` useTool(${JSON.stringify(tool)});`)
|
|
1229
|
+
.join("\n")}${reactiveTools.length ? "\n" : ""}
|
|
1230
|
+
return ${JSON.stringify(templateInstructions(template))};
|
|
1231
|
+
}
|
|
1232
|
+
`);
|
|
1233
|
+
await writeFile(resolve(root, "opencomputer.ts"), `export type SessionDataValue =
|
|
1234
|
+
| null | boolean | number | string
|
|
1235
|
+
| readonly SessionDataValue[]
|
|
1236
|
+
| { readonly [key: string]: SessionDataValue };
|
|
1237
|
+
|
|
1238
|
+
type Hooks = {
|
|
1239
|
+
useModel(model: string | { provider: string; model: string }): void;
|
|
1240
|
+
useTool(tool: string | { id: string }): void;
|
|
1241
|
+
useSubagent(agent: string | { id: string }): void;
|
|
1242
|
+
useSessionData<T extends SessionDataValue>(key: string): T | undefined;
|
|
1230
1243
|
};
|
|
1244
|
+
|
|
1245
|
+
function hooks(): Hooks {
|
|
1246
|
+
const value = (globalThis as Record<PropertyKey, unknown>)[
|
|
1247
|
+
Symbol.for("opencomputer.agent-hooks")
|
|
1248
|
+
];
|
|
1249
|
+
if (!value) throw new Error("OpenComputer hooks can only run while rendering an agent");
|
|
1250
|
+
return value as Hooks;
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
export const useModel: Hooks["useModel"] = (model) => hooks().useModel(model);
|
|
1254
|
+
export const useTool: Hooks["useTool"] = (tool) => hooks().useTool(tool);
|
|
1255
|
+
export const useSubagent: Hooks["useSubagent"] = (agent) => hooks().useSubagent(agent);
|
|
1256
|
+
export function useSessionData<T extends SessionDataValue>(key: string): T | undefined {
|
|
1257
|
+
return hooks().useSessionData<T>(key);
|
|
1258
|
+
}
|
|
1231
1259
|
`);
|
|
1232
1260
|
await writeFile(resolve(root, "opencode.json"), `${JSON.stringify({
|
|
1233
1261
|
$schema: "https://opencode.ai/config.json",
|
|
@@ -1250,7 +1278,6 @@ export async function initializeTemplateAgentProject(template, directory) {
|
|
|
1250
1278
|
: {}),
|
|
1251
1279
|
},
|
|
1252
1280
|
}, null, 2)}\n`);
|
|
1253
|
-
await writeFile(resolve(root, "instructions.md"), templateInstructions(template));
|
|
1254
1281
|
await writeFile(resolve(root, "workspace", "README.md"), "# Agent workspace\n");
|
|
1255
1282
|
await updateGitignore(root);
|
|
1256
1283
|
await writeFile(resolve(root, "package.json"), `${JSON.stringify({
|
|
@@ -1276,7 +1303,7 @@ export async function initializeTemplateAgentProject(template, directory) {
|
|
|
1276
1303
|
"package.json",
|
|
1277
1304
|
".gitignore",
|
|
1278
1305
|
"agent.ts",
|
|
1279
|
-
"
|
|
1306
|
+
"opencomputer.ts",
|
|
1280
1307
|
"workspace/README.md",
|
|
1281
1308
|
];
|
|
1282
1309
|
if (template.integrations.includes("Gmail")) {
|
|
@@ -1480,6 +1507,22 @@ const HELLO_WORLD_TEMPLATE = {
|
|
|
1480
1507
|
integrations: [],
|
|
1481
1508
|
suggestedPrompts: ["Say hello and tell me what you can do."],
|
|
1482
1509
|
};
|
|
1510
|
+
function templateReactiveTools(template) {
|
|
1511
|
+
const tools = [];
|
|
1512
|
+
if (template.integrations.includes("Gmail")) {
|
|
1513
|
+
tools.push("gmail_search", "gmail_read", "gmail_read_full", "gmail_modify", "gmail_send");
|
|
1514
|
+
}
|
|
1515
|
+
if (template.integrations.includes("Google Calendar")) {
|
|
1516
|
+
tools.push("calendar_list", "calendar_events", "calendar_freebusy", "calendar_create_time_off");
|
|
1517
|
+
}
|
|
1518
|
+
if (template.integrations.includes("GitHub")) {
|
|
1519
|
+
tools.push("github_pr_context", "github_checkout");
|
|
1520
|
+
}
|
|
1521
|
+
if (tools.length) {
|
|
1522
|
+
tools.push("opencomputer_connections_list", "opencomputer_connections_request");
|
|
1523
|
+
}
|
|
1524
|
+
return tools;
|
|
1525
|
+
}
|
|
1483
1526
|
export async function assertStarterTarget(directory) {
|
|
1484
1527
|
const root = resolve(directory);
|
|
1485
1528
|
if (!(await exists(root))) {
|
|
@@ -1520,8 +1563,7 @@ export async function initializeAgentProject(directory, project) {
|
|
|
1520
1563
|
await updateGitignore(root);
|
|
1521
1564
|
await mkdir(resolve(root, "src"), { recursive: true });
|
|
1522
1565
|
await writeFile(resolve(root, "opencomputer", "project.ts"), `export default {
|
|
1523
|
-
id: ${JSON.stringify(project
|
|
1524
|
-
name: ${JSON.stringify(project?.name ?? "Hello World")},
|
|
1566
|
+
${project ? ` id: ${JSON.stringify(project.id)},\n` : ""} name: ${JSON.stringify(project?.name ?? basename(root))},
|
|
1525
1567
|
agents: ["hello-world"],
|
|
1526
1568
|
};
|
|
1527
1569
|
`);
|
|
@@ -1542,7 +1584,7 @@ export async function initializeAgentProject(directory, project) {
|
|
|
1542
1584
|
"react-dom": "^19.2.0",
|
|
1543
1585
|
},
|
|
1544
1586
|
devDependencies: {
|
|
1545
|
-
"@opencomputer/cli": "^0.4.
|
|
1587
|
+
"@opencomputer/cli": "^0.4.1",
|
|
1546
1588
|
"@opencode-ai/plugin": "^1.18.4",
|
|
1547
1589
|
"@types/node": "^24.0.0",
|
|
1548
1590
|
"@types/react": "^19.2.0",
|
|
@@ -1565,7 +1607,7 @@ function openComputerDev() {
|
|
|
1565
1607
|
resolve("opencomputer/agents/hello-world/.opencomputer/dev.json"),
|
|
1566
1608
|
"utf8",
|
|
1567
1609
|
),
|
|
1568
|
-
) as { url: string; token: string };
|
|
1610
|
+
) as { url: string; token: string; agent: string };
|
|
1569
1611
|
} catch {
|
|
1570
1612
|
throw new Error(
|
|
1571
1613
|
"OpenComputer is not running. Start npm run dev in another terminal first.",
|
|
@@ -1573,10 +1615,25 @@ function openComputerDev() {
|
|
|
1573
1615
|
}
|
|
1574
1616
|
}
|
|
1575
1617
|
|
|
1618
|
+
function openComputerAgent() {
|
|
1619
|
+
const manifest = readFileSync(
|
|
1620
|
+
resolve("opencomputer/agents/hello-world/opencomputer.toml"),
|
|
1621
|
+
"utf8",
|
|
1622
|
+
);
|
|
1623
|
+
const id = manifest.match(/^id\\s*=\\s*"([^"]+)"/m)?.[1];
|
|
1624
|
+
if (!id) throw new Error("The hello-world agent manifest has no id.");
|
|
1625
|
+
return id;
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1576
1628
|
export default defineConfig(({ command }) => {
|
|
1577
1629
|
const dev = command === "serve" ? openComputerDev() : undefined;
|
|
1578
1630
|
return {
|
|
1579
1631
|
plugins: [react()],
|
|
1632
|
+
define: {
|
|
1633
|
+
__OPENCOMPUTER_AGENT__: JSON.stringify(
|
|
1634
|
+
dev?.agent ?? \`\${openComputerAgent()}@production\`,
|
|
1635
|
+
),
|
|
1636
|
+
},
|
|
1580
1637
|
...(dev ? { server: {
|
|
1581
1638
|
proxy: {
|
|
1582
1639
|
"/api/opencomputer": {
|
|
@@ -1624,7 +1681,7 @@ export default defineConfig(({ command }) => {
|
|
|
1624
1681
|
</body>
|
|
1625
1682
|
</html>
|
|
1626
1683
|
`);
|
|
1627
|
-
await writeFile(resolve(root, "src", "use-agent.ts"), `import { useCallback, useState } from "react";
|
|
1684
|
+
await writeFile(resolve(root, "src", "use-agent.ts"), `import { useCallback, useRef, useState } from "react";
|
|
1628
1685
|
|
|
1629
1686
|
export interface AgentMessage {
|
|
1630
1687
|
id: string;
|
|
@@ -1633,13 +1690,31 @@ export interface AgentMessage {
|
|
|
1633
1690
|
}
|
|
1634
1691
|
|
|
1635
1692
|
interface AgentEvent {
|
|
1693
|
+
seq: number;
|
|
1636
1694
|
type: string;
|
|
1637
1695
|
data: Record<string, unknown>;
|
|
1638
1696
|
}
|
|
1639
1697
|
|
|
1698
|
+
declare const __OPENCOMPUTER_AGENT__: string;
|
|
1699
|
+
const AGENT = __OPENCOMPUTER_AGENT__;
|
|
1700
|
+
|
|
1701
|
+
async function request<T>(path: string, init?: RequestInit): Promise<T> {
|
|
1702
|
+
const response = await fetch(\`/api/opencomputer/managed-agents\${path}\`, {
|
|
1703
|
+
...init,
|
|
1704
|
+
headers: { "content-type": "application/json", ...init?.headers },
|
|
1705
|
+
});
|
|
1706
|
+
const body = await response.json();
|
|
1707
|
+
if (!response.ok) {
|
|
1708
|
+
throw new Error(body?.error?.message ?? \`Agent request failed (\${response.status})\`);
|
|
1709
|
+
}
|
|
1710
|
+
return body as T;
|
|
1711
|
+
}
|
|
1712
|
+
|
|
1640
1713
|
export function useAgent() {
|
|
1641
1714
|
const [messages, setMessages] = useState<AgentMessage[]>([]);
|
|
1642
1715
|
const [sessionId, setSessionId] = useState<string>();
|
|
1716
|
+
const sessionRef = useRef<string | undefined>(undefined);
|
|
1717
|
+
const cursorRef = useRef(0);
|
|
1643
1718
|
const [isRunning, setIsRunning] = useState(false);
|
|
1644
1719
|
const [error, setError] = useState<string>();
|
|
1645
1720
|
|
|
@@ -1660,32 +1735,28 @@ export function useAgent() {
|
|
|
1660
1735
|
setIsRunning(true);
|
|
1661
1736
|
setError(undefined);
|
|
1662
1737
|
try {
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
: "/
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1738
|
+
let activeSession = sessionRef.current;
|
|
1739
|
+
if (!activeSession) {
|
|
1740
|
+
const created = await request<{ session: { id: string } }>("/sessions", {
|
|
1741
|
+
method: "POST",
|
|
1742
|
+
body: JSON.stringify({ agentId: AGENT, source: "local-react" }),
|
|
1743
|
+
});
|
|
1744
|
+
activeSession = created.session.id;
|
|
1745
|
+
sessionRef.current = activeSession;
|
|
1746
|
+
setSessionId(activeSession);
|
|
1747
|
+
} else {
|
|
1748
|
+
await request(\`/sessions/\${encodeURIComponent(activeSession)}/resume\`, {
|
|
1749
|
+
method: "POST",
|
|
1750
|
+
});
|
|
1673
1751
|
}
|
|
1674
|
-
const createdSession = response.headers.get("x-opencomputer-session-id");
|
|
1675
|
-
if (createdSession) setSessionId(createdSession);
|
|
1676
|
-
const reader = response.body.getReader();
|
|
1677
|
-
const decoder = new TextDecoder();
|
|
1678
|
-
let buffered = "";
|
|
1679
1752
|
let streamed = "";
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
if (!line.trim()) continue;
|
|
1688
|
-
const event = JSON.parse(line) as AgentEvent;
|
|
1753
|
+
const waitFor = async (terminal: (event: AgentEvent) => boolean) => {
|
|
1754
|
+
for (;;) {
|
|
1755
|
+
const result = await request<{ events: AgentEvent[] }>(
|
|
1756
|
+
\`/sessions/\${encodeURIComponent(activeSession!)}/events?after=\${cursorRef.current}\`,
|
|
1757
|
+
);
|
|
1758
|
+
for (const event of result.events) {
|
|
1759
|
+
cursorRef.current = Math.max(cursorRef.current, event.seq);
|
|
1689
1760
|
if (event.type === "message.delta") {
|
|
1690
1761
|
streamed += String(event.data.text ?? "");
|
|
1691
1762
|
setMessages((current) =>
|
|
@@ -1702,11 +1773,26 @@ export function useAgent() {
|
|
|
1702
1773
|
message.id === assistantId ? { ...message, text } : message,
|
|
1703
1774
|
),
|
|
1704
1775
|
);
|
|
1705
|
-
} else if (event.type === "session.failed") {
|
|
1706
|
-
throw new Error(String(event.data.message ?? "Agent failed"));
|
|
1707
1776
|
}
|
|
1777
|
+
if (terminal(event)) return event;
|
|
1778
|
+
}
|
|
1779
|
+
await new Promise((done) => setTimeout(done, 500));
|
|
1708
1780
|
}
|
|
1781
|
+
};
|
|
1782
|
+
await waitFor((event) => event.type === "runtime.connected");
|
|
1783
|
+
await request(\`/sessions/\${encodeURIComponent(activeSession)}/turns\`, {
|
|
1784
|
+
method: "POST",
|
|
1785
|
+
body: JSON.stringify({ input: prompt, idempotencyKey: crypto.randomUUID() }),
|
|
1786
|
+
});
|
|
1787
|
+
const completed = await waitFor((event) =>
|
|
1788
|
+
event.type === "turn.completed" || event.type === "turn.failed",
|
|
1789
|
+
);
|
|
1790
|
+
if (completed.type === "turn.failed") {
|
|
1791
|
+
throw new Error(String(completed.data.message ?? "Agent failed"));
|
|
1709
1792
|
}
|
|
1793
|
+
await request(\`/sessions/\${encodeURIComponent(activeSession)}/suspend\`, {
|
|
1794
|
+
method: "POST",
|
|
1795
|
+
});
|
|
1710
1796
|
} catch (cause) {
|
|
1711
1797
|
const message = cause instanceof Error ? cause.message : String(cause);
|
|
1712
1798
|
setError(message);
|
|
@@ -1720,7 +1806,7 @@ export function useAgent() {
|
|
|
1720
1806
|
} finally {
|
|
1721
1807
|
setIsRunning(false);
|
|
1722
1808
|
}
|
|
1723
|
-
}, [isRunning
|
|
1809
|
+
}, [isRunning]);
|
|
1724
1810
|
|
|
1725
1811
|
return { messages, send, isRunning, error };
|
|
1726
1812
|
}
|
|
@@ -1744,7 +1830,7 @@ export default function App() {
|
|
|
1744
1830
|
<section className="hero">
|
|
1745
1831
|
<span className="eyebrow">OpenComputer</span>
|
|
1746
1832
|
<h1>Hello, world.</h1>
|
|
1747
|
-
<p>Your first agent is live.
|
|
1833
|
+
<p>Your first agent is live. The React app stays local while agent code syncs to Development (Cloud).</p>
|
|
1748
1834
|
</section>
|
|
1749
1835
|
|
|
1750
1836
|
<section className="chat" aria-label="Agent conversation">
|
|
@@ -1822,12 +1908,15 @@ form button:disabled { cursor: default; opacity: .45; }
|
|
|
1822
1908
|
This project keeps agent definitions in \`opencomputer/\` and the React app in
|
|
1823
1909
|
\`src/\`.
|
|
1824
1910
|
|
|
1825
|
-
|
|
1911
|
+
Sync agent code to Development (Cloud) in one terminal:
|
|
1826
1912
|
|
|
1827
1913
|
\`\`\`bash
|
|
1828
1914
|
npm run dev
|
|
1829
1915
|
\`\`\`
|
|
1830
1916
|
|
|
1917
|
+
The first run asks you to create a cloud project or select an existing one.
|
|
1918
|
+
That choice is saved for later development runs.
|
|
1919
|
+
|
|
1831
1920
|
Then start the React app in another:
|
|
1832
1921
|
|
|
1833
1922
|
\`\`\`bash
|
|
@@ -1863,6 +1952,11 @@ export async function prepareAgent(root) {
|
|
|
1863
1952
|
const runtime = resolve(root, ".opencomputer", "runtime");
|
|
1864
1953
|
await rm(runtime, { recursive: true, force: true });
|
|
1865
1954
|
await mkdir(runtime, { recursive: true });
|
|
1955
|
+
const agentSource = await readFile(resolve(root, "agent.ts"), "utf8");
|
|
1956
|
+
const reactive = /export\s+default\s+(?:async\s+)?function\b/.test(agentSource);
|
|
1957
|
+
const legacyInstructions = reactive
|
|
1958
|
+
? ""
|
|
1959
|
+
: await readFile(resolve(root, "instructions.md"), "utf8");
|
|
1866
1960
|
await writeFile(resolve(runtime, "AGENTS.md"), `# OpenComputer runtime identity
|
|
1867
1961
|
|
|
1868
1962
|
You are an OpenComputer agent. OpenCode is an internal execution detail, not
|
|
@@ -1882,9 +1976,7 @@ the product or support surface presented to users.
|
|
|
1882
1976
|
- If a connection tool fails, report its exact error. Do not invent alternate
|
|
1883
1977
|
controls or third-party support instructions.
|
|
1884
1978
|
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
${await readFile(resolve(root, "instructions.md"), "utf8")}`);
|
|
1979
|
+
${legacyInstructions ? `# Agent instructions\n\n${legacyInstructions}` : ""}`);
|
|
1888
1980
|
const openCodeConfig = resolve(root, "opencode.json");
|
|
1889
1981
|
if (await exists(openCodeConfig)) {
|
|
1890
1982
|
const parsed = JSON.parse(await readFile(openCodeConfig, "utf8"));
|
|
@@ -1931,6 +2023,48 @@ ${await readFile(resolve(root, "instructions.md"), "utf8")}`);
|
|
|
1931
2023
|
if (await exists(workspace)) {
|
|
1932
2024
|
await cp(workspace, runtime, { recursive: true });
|
|
1933
2025
|
}
|
|
2026
|
+
if (reactive) {
|
|
2027
|
+
await writeFile(resolve(runtime, "package.json"), `${JSON.stringify({ private: true, type: "module" }, null, 2)}\n`);
|
|
2028
|
+
const transpile = (source, filename) => ts.transpileModule(source, {
|
|
2029
|
+
fileName: filename,
|
|
2030
|
+
compilerOptions: {
|
|
2031
|
+
target: ts.ScriptTarget.ES2022,
|
|
2032
|
+
module: ts.ModuleKind.ESNext,
|
|
2033
|
+
moduleResolution: ts.ModuleResolutionKind.Bundler,
|
|
2034
|
+
},
|
|
2035
|
+
reportDiagnostics: true,
|
|
2036
|
+
});
|
|
2037
|
+
const compiledAgent = transpile(agentSource, "agent.ts");
|
|
2038
|
+
const diagnostics = compiledAgent.diagnostics ?? [];
|
|
2039
|
+
if (diagnostics.some((diagnostic) => diagnostic.category === ts.DiagnosticCategory.Error)) {
|
|
2040
|
+
throw new Error(`agent.ts could not be compiled: ${diagnostics
|
|
2041
|
+
.map((diagnostic) => ts.flattenDiagnosticMessageText(diagnostic.messageText, " "))
|
|
2042
|
+
.join("; ")}`);
|
|
2043
|
+
}
|
|
2044
|
+
await writeFile(resolve(runtime, "agent.js"), compiledAgent.outputText);
|
|
2045
|
+
const hookSource = await readFile(resolve(root, "opencomputer.ts"), "utf8");
|
|
2046
|
+
await writeFile(resolve(runtime, "opencomputer.js"), transpile(hookSource, "opencomputer.ts").outputText);
|
|
2047
|
+
const toolEntries = await readdir(resolve(runtime, ".opencode", "tools"), {
|
|
2048
|
+
withFileTypes: true,
|
|
2049
|
+
});
|
|
2050
|
+
const reactiveTools = [];
|
|
2051
|
+
for (const entry of toolEntries.filter((candidate) => candidate.isFile())) {
|
|
2052
|
+
const stem = entry.name
|
|
2053
|
+
.replace(/\.[^.]+$/, "")
|
|
2054
|
+
.replace(/[^a-zA-Z0-9_]+/g, "_");
|
|
2055
|
+
const source = await readFile(resolve(runtime, ".opencode", "tools", entry.name), "utf8");
|
|
2056
|
+
for (const match of source.matchAll(/export\s+const\s+([a-zA-Z0-9_]+)\s*=/g)) {
|
|
2057
|
+
reactiveTools.push(`${stem}_${match[1]}`);
|
|
2058
|
+
}
|
|
2059
|
+
}
|
|
2060
|
+
await mkdir(resolve(runtime, ".opencomputer"), { recursive: true });
|
|
2061
|
+
await writeFile(resolve(runtime, ".opencomputer", "reactive.json"), `${JSON.stringify({
|
|
2062
|
+
version: 1,
|
|
2063
|
+
entry: "../agent.js",
|
|
2064
|
+
tools: [...new Set(reactiveTools)].sort(),
|
|
2065
|
+
subagents: [],
|
|
2066
|
+
}, null, 2)}\n`);
|
|
2067
|
+
}
|
|
1934
2068
|
return runtime;
|
|
1935
2069
|
}
|
|
1936
2070
|
async function collectNames(root, type) {
|
package/dist/project.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|
package/dist/project.test.js
CHANGED
|
@@ -37,24 +37,22 @@ test("init creates a multi-agent-ready project and React hello world app", async
|
|
|
37
37
|
try {
|
|
38
38
|
await mkdir(root);
|
|
39
39
|
await writeFile(resolve(root, "NOTES.md"), "# Existing notes\n");
|
|
40
|
-
const initialized = await initializeStarterProject(root
|
|
41
|
-
id: "prj_hello",
|
|
42
|
-
name: "My Agent",
|
|
43
|
-
agentId: "my-agent",
|
|
44
|
-
});
|
|
40
|
+
const initialized = await initializeStarterProject(root);
|
|
45
41
|
assert.equal(initialized.root, root);
|
|
46
42
|
assert.equal(initialized.manifest.name, "Hello World");
|
|
47
|
-
assert.
|
|
43
|
+
assert.match(initialized.manifest.id, UUID_PATTERN);
|
|
48
44
|
assert.equal(initialized.agentRoot, resolve(root, "opencomputer", "agents", "hello-world"));
|
|
49
45
|
assert.equal(await findAgentRoot(root), initialized.agentRoot);
|
|
50
|
-
assert.match(await readFile(resolve(root, "opencomputer", "project.ts"), "utf8"), /
|
|
51
|
-
assert.
|
|
46
|
+
assert.match(await readFile(resolve(root, "opencomputer", "project.ts"), "utf8"), /name: "hello-app"[\s\S]*agents: \["hello-world"\]/);
|
|
47
|
+
assert.doesNotMatch(await readFile(resolve(root, "opencomputer", "project.ts"), "utf8"), /id:/);
|
|
48
|
+
assert.match(await readFile(resolve(root, "src", "use-agent.ts"), "utf8"), /const AGENT = __OPENCOMPUTER_AGENT__[\s\S]*export function useAgent/);
|
|
52
49
|
const packageJSON = JSON.parse(await readFile(resolve(root, "package.json"), "utf8"));
|
|
53
50
|
assert.equal(packageJSON.scripts.dev, "opencomputer dev");
|
|
54
51
|
assert.equal(packageJSON.scripts["dev:web"], "vite");
|
|
55
|
-
assert.equal(packageJSON.devDependencies["@opencomputer/cli"], "^0.4.
|
|
52
|
+
assert.equal(packageJSON.devDependencies["@opencomputer/cli"], "^0.4.1");
|
|
56
53
|
assert.ok(packageJSON.devDependencies["@types/node"]);
|
|
57
54
|
assert.match(await readFile(resolve(root, "vite.config.ts"), "utf8"), /command === "serve"/);
|
|
55
|
+
assert.match(await readFile(resolve(root, "README.md"), "utf8"), /Sync agent code to Development \(Cloud\)/);
|
|
58
56
|
assert.equal(await readFile(resolve(root, "NOTES.md"), "utf8"), "# Existing notes\n");
|
|
59
57
|
await assert.rejects(stat(resolve(root, "opencomputer", "package.json")));
|
|
60
58
|
}
|
|
@@ -68,7 +66,9 @@ test("a template creates a flat agent repository with stable identity", async ()
|
|
|
68
66
|
const renamed = resolve(parent, "renamed-agent-folder");
|
|
69
67
|
try {
|
|
70
68
|
const initialized = await initializeAgentProject(emailTemplate, original);
|
|
71
|
-
assert.equal((await stat(resolve(original, "
|
|
69
|
+
assert.equal((await stat(resolve(original, "agent.ts"))).isFile(), true);
|
|
70
|
+
assert.equal((await stat(resolve(original, "opencomputer.ts"))).isFile(), true);
|
|
71
|
+
await assert.rejects(stat(resolve(original, "instructions.md")));
|
|
72
72
|
assert.equal((await stat(resolve(original, "tools"))).isDirectory(), true);
|
|
73
73
|
await assert.rejects(stat(resolve(original, "agent")));
|
|
74
74
|
assert.equal((await stat(resolve(original, "opencode.json"))).isFile(), true);
|
|
@@ -98,7 +98,12 @@ test("the compiler maps flat source into an OpenCode runtime", async () => {
|
|
|
98
98
|
assert.match(runtimeInstructions, /You are an OpenComputer agent/);
|
|
99
99
|
assert.match(runtimeInstructions, /Never direct users to OpenCode/);
|
|
100
100
|
assert.match(runtimeInstructions, /Use the question tool[\s\S]*resumes when the user replies/);
|
|
101
|
-
assert.
|
|
101
|
+
assert.doesNotMatch(runtimeInstructions, /Email triage/);
|
|
102
|
+
assert.match(await readFile(resolve(runtime, "agent.js"), "utf8"), /Email triage/);
|
|
103
|
+
const reactiveManifest = JSON.parse(await readFile(resolve(runtime, ".opencomputer", "reactive.json"), "utf8"));
|
|
104
|
+
assert.equal(reactiveManifest.version, 1);
|
|
105
|
+
assert.equal(reactiveManifest.entry, "../agent.js");
|
|
106
|
+
assert.ok(reactiveManifest.tools.includes("gmail_search"));
|
|
102
107
|
assert.equal((await stat(resolve(runtime, ".opencode", "tools", "gmail.ts"))).isFile(), true);
|
|
103
108
|
const connectionTool = await readFile(resolve(runtime, ".opencode", "tools", "opencomputer-connections.ts"), "utf8");
|
|
104
109
|
assert.match(connectionTool, /export const request = tool/);
|
|
@@ -117,8 +122,9 @@ test("the compiler maps flat source into an OpenCode runtime", async () => {
|
|
|
117
122
|
const runtimeOpenCode = JSON.parse(await readFile(resolve(runtime, "opencode.json"), "utf8"));
|
|
118
123
|
assert.equal(runtimeOpenCode.tools.question, true);
|
|
119
124
|
assert.equal(runtimeOpenCode.permission.question, "allow");
|
|
120
|
-
|
|
121
|
-
assert.match(
|
|
125
|
+
const reactiveAgent = await readFile(resolve(runtime, "agent.js"), "utf8");
|
|
126
|
+
assert.match(reactiveAgent, /start with the `gmail_search` tool/);
|
|
127
|
+
assert.match(reactiveAgent, /summary count exactly matches/);
|
|
122
128
|
assert.equal((await stat(resolve(runtime, "README.md"))).isFile(), true);
|
|
123
129
|
}
|
|
124
130
|
finally {
|
|
@@ -197,8 +203,7 @@ test("the PTO template creates Calendar tools without checked-in channel state",
|
|
|
197
203
|
assert.equal(opencode.permission
|
|
198
204
|
.calendar_create_time_off, "allow");
|
|
199
205
|
assert.equal(opencode.tools.question, true);
|
|
200
|
-
assert.match(await readFile(resolve(root, "agent.ts"), "utf8"), /
|
|
201
|
-
assert.match(await readFile(resolve(root, "instructions.md"), "utf8"), /Never[\s\S]*curl[\s\S]*managed connection/);
|
|
206
|
+
assert.match(await readFile(resolve(root, "agent.ts"), "utf8"), /Never[\s\S]*curl[\s\S]*managed connection/);
|
|
202
207
|
assert.match(await readFile(resolve(root, "skills", "manage-pto", "SKILL.md"), "utf8"), /Never use bash[\s\S]*direct Google API requests/);
|
|
203
208
|
await assert.rejects(stat(resolve(root, "channels", "slack.ts")));
|
|
204
209
|
await assert.rejects(stat(resolve(root, "slack", "manifest.json")));
|
|
@@ -251,7 +256,7 @@ test("the PR readiness template creates brokered read-only GitHub tools", async
|
|
|
251
256
|
assert.equal(transpiledGithubTool.diagnostics?.length ?? 0, 0, transpiledGithubTool.diagnostics
|
|
252
257
|
?.map((diagnostic) => ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n"))
|
|
253
258
|
.join("\n"));
|
|
254
|
-
const instructions = await readFile(resolve(root, "
|
|
259
|
+
const instructions = await readFile(resolve(root, "agent.ts"), "utf8");
|
|
255
260
|
assert.match(instructions, /READY_FOR_HUMAN_REVIEW/);
|
|
256
261
|
assert.match(instructions, /NOT_READY/);
|
|
257
262
|
assert.match(instructions, /NEEDS_INFORMATION/);
|