@opencomputer/cli 0.4.11 → 0.5.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 +7 -2
- package/dist/api.d.ts +4 -63
- package/dist/api.js +0 -40
- package/dist/api.js.map +1 -1
- package/dist/commands.js +6 -284
- package/dist/commands.js.map +1 -1
- package/dist/dev.d.ts +8 -0
- package/dist/dev.js +160 -1
- package/dist/dev.js.map +1 -1
- package/dist/dev.test.js +90 -2
- package/dist/dev.test.js.map +1 -1
- package/dist/index.js +1 -6
- package/dist/index.js.map +1 -1
- package/dist/local.js +2 -62
- package/dist/local.js.map +1 -1
- package/dist/local.test.js +0 -54
- package/dist/local.test.js.map +1 -1
- package/dist/project.d.ts +9 -1
- package/dist/project.js +157 -190
- package/dist/project.js.map +1 -1
- package/dist/project.test.js +64 -20
- package/dist/project.test.js.map +1 -1
- package/package.json +2 -2
- package/dist/api.test.d.ts +0 -1
- package/dist/api.test.js +0 -42
- package/dist/api.test.js.map +0 -1
- package/dist/slack.d.ts +0 -24
- package/dist/slack.js +0 -253
- package/dist/slack.js.map +0 -1
- package/dist/slack.test.d.ts +0 -1
- package/dist/slack.test.js +0 -54
- package/dist/slack.test.js.map +0 -1
package/dist/project.js
CHANGED
|
@@ -45,103 +45,6 @@ export function agentIdFromName(value) {
|
|
|
45
45
|
}
|
|
46
46
|
return id;
|
|
47
47
|
}
|
|
48
|
-
function connectionControlToolSource() {
|
|
49
|
-
return `import { defineTool } from "@opencomputer/agent";
|
|
50
|
-
|
|
51
|
-
async function connectionControl(
|
|
52
|
-
method: "GET" | "POST",
|
|
53
|
-
body?: unknown,
|
|
54
|
-
): Promise<unknown> {
|
|
55
|
-
const base = process.env.OPENCOMPUTER_CONNECTIONS_URL;
|
|
56
|
-
const token = process.env.OPENCOMPUTER_CONNECTION_TOKEN;
|
|
57
|
-
if (!base || !token) {
|
|
58
|
-
throw new Error("OpenComputer connections are unavailable");
|
|
59
|
-
}
|
|
60
|
-
const response = await fetch(
|
|
61
|
-
\`\${base.replace(/\\\/$/, "")}/opencomputer/fetch\`,
|
|
62
|
-
{
|
|
63
|
-
method: "POST",
|
|
64
|
-
headers: {
|
|
65
|
-
authorization: \`Bearer \${token}\`,
|
|
66
|
-
"content-type": "application/json",
|
|
67
|
-
},
|
|
68
|
-
body: JSON.stringify({
|
|
69
|
-
action: method === "GET" ? "list" : "request",
|
|
70
|
-
...(body && typeof body === "object" ? body : {}),
|
|
71
|
-
}),
|
|
72
|
-
},
|
|
73
|
-
);
|
|
74
|
-
const responseText = await response.text();
|
|
75
|
-
let result: {
|
|
76
|
-
error?: { message?: string };
|
|
77
|
-
message?: string;
|
|
78
|
-
[key: string]: unknown;
|
|
79
|
-
} | undefined;
|
|
80
|
-
if (responseText) {
|
|
81
|
-
try {
|
|
82
|
-
const parsed: unknown = JSON.parse(responseText);
|
|
83
|
-
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
84
|
-
result = parsed as {
|
|
85
|
-
error?: { message?: string };
|
|
86
|
-
message?: string;
|
|
87
|
-
[key: string]: unknown;
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
} catch {
|
|
91
|
-
// Preserve the response text below so the user sees the upstream error.
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
if (!response.ok) {
|
|
95
|
-
throw new Error(
|
|
96
|
-
result?.error?.message ??
|
|
97
|
-
result?.message ??
|
|
98
|
-
responseText ??
|
|
99
|
-
"Connection request failed",
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
if (!result) {
|
|
103
|
-
throw new Error("Connection service returned an empty response");
|
|
104
|
-
}
|
|
105
|
-
return result;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
export const list = defineTool({
|
|
109
|
-
name: "opencomputer_connections_list",
|
|
110
|
-
description:
|
|
111
|
-
"List the connected accounts available to the current session identity. Use this to discover connection providers and aliases without exposing credentials.",
|
|
112
|
-
input: {
|
|
113
|
-
type: "object",
|
|
114
|
-
properties: {},
|
|
115
|
-
additionalProperties: false,
|
|
116
|
-
},
|
|
117
|
-
async run() {
|
|
118
|
-
return await connectionControl("GET");
|
|
119
|
-
},
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
export const request = defineTool({
|
|
123
|
-
name: "opencomputer_connections_request",
|
|
124
|
-
description:
|
|
125
|
-
"Ask the current user to connect an account. Use gmail for an email account. Set newAccount=true when the user asks for another account of the same service. In a messaging channel OpenComputer privately sends the authorization link to that user; otherwise the result includes the link.",
|
|
126
|
-
input: {
|
|
127
|
-
type: "object",
|
|
128
|
-
properties: {
|
|
129
|
-
service: {
|
|
130
|
-
type: "string",
|
|
131
|
-
enum: ["gmail", "calendar", "drive", "sheets", "github"],
|
|
132
|
-
},
|
|
133
|
-
label: { type: "string" },
|
|
134
|
-
newAccount: { type: "boolean" },
|
|
135
|
-
},
|
|
136
|
-
required: ["service"],
|
|
137
|
-
additionalProperties: false,
|
|
138
|
-
},
|
|
139
|
-
async run({ input }) {
|
|
140
|
-
return await connectionControl("POST", input);
|
|
141
|
-
},
|
|
142
|
-
});
|
|
143
|
-
`;
|
|
144
|
-
}
|
|
145
48
|
export async function writeManifest(root, manifest) {
|
|
146
49
|
if (!AGENT_ID_PATTERN.test(manifest.id)) {
|
|
147
50
|
throw new Error("Agent IDs must use lowercase letters, numbers, and single hyphens");
|
|
@@ -271,45 +174,6 @@ export async function readProjectAgents(projectRoot) {
|
|
|
271
174
|
return { localId, root, manifest: await readManifest(root) };
|
|
272
175
|
}));
|
|
273
176
|
}
|
|
274
|
-
export async function addSlackChannel(root) {
|
|
275
|
-
await mkdir(resolve(root, "channels"), { recursive: true });
|
|
276
|
-
await mkdir(resolve(root, "slack"), { recursive: true });
|
|
277
|
-
await writeFile(resolve(root, "channels", "slack.ts"), `export default {
|
|
278
|
-
type: "slack",
|
|
279
|
-
events: ["app_mention", "message.im"],
|
|
280
|
-
};
|
|
281
|
-
`);
|
|
282
|
-
const manifest = await readManifest(root);
|
|
283
|
-
await writeFile(resolve(root, "slack", "manifest.json"), `${JSON.stringify({
|
|
284
|
-
_metadata: { major_version: 1, minor_version: 1 },
|
|
285
|
-
display_information: {
|
|
286
|
-
name: manifest.name,
|
|
287
|
-
description: `Run the ${manifest.name} OpenComputer agent from Slack.`,
|
|
288
|
-
background_color: "#0B1220",
|
|
289
|
-
},
|
|
290
|
-
features: {
|
|
291
|
-
bot_user: { display_name: manifest.name, always_online: true },
|
|
292
|
-
},
|
|
293
|
-
oauth_config: {
|
|
294
|
-
scopes: {
|
|
295
|
-
bot: [
|
|
296
|
-
"app_mentions:read",
|
|
297
|
-
"assistant:write",
|
|
298
|
-
"chat:write",
|
|
299
|
-
"im:history",
|
|
300
|
-
],
|
|
301
|
-
},
|
|
302
|
-
},
|
|
303
|
-
settings: {
|
|
304
|
-
event_subscriptions: {
|
|
305
|
-
bot_events: ["app_mention", "message.im"],
|
|
306
|
-
},
|
|
307
|
-
socket_mode_enabled: true,
|
|
308
|
-
token_rotation_enabled: false,
|
|
309
|
-
},
|
|
310
|
-
}, null, 2)}\n`);
|
|
311
|
-
return ["channels/slack.ts", "slack/manifest.json"];
|
|
312
|
-
}
|
|
313
177
|
export async function assertStarterTarget(directory) {
|
|
314
178
|
const root = resolve(directory);
|
|
315
179
|
if (!(await exists(root))) {
|
|
@@ -374,6 +238,9 @@ export default function Agent() {
|
|
|
374
238
|
}
|
|
375
239
|
`);
|
|
376
240
|
await updateGitignore(root);
|
|
241
|
+
await writeFile(resolve(root, "opencomputer", ".env.example"), `# Development agent secrets belong in .env.local beside this file.
|
|
242
|
+
# Add only names referenced by useSecret() in a defineConnection() declaration.
|
|
243
|
+
`);
|
|
377
244
|
if (spa)
|
|
378
245
|
await mkdir(resolve(root, "src"), { recursive: true });
|
|
379
246
|
await writeFile(resolve(root, "opencomputer", "project.ts"), `export default {
|
|
@@ -393,7 +260,7 @@ export default function Agent() {
|
|
|
393
260
|
deploy: "opencomputer deploy",
|
|
394
261
|
},
|
|
395
262
|
dependencies: {
|
|
396
|
-
"@opencomputer/agent": "^0.
|
|
263
|
+
"@opencomputer/agent": "^0.4.0",
|
|
397
264
|
...(spa
|
|
398
265
|
? {
|
|
399
266
|
"@opencomputer/react": "^0.1.0",
|
|
@@ -403,7 +270,7 @@ export default function Agent() {
|
|
|
403
270
|
: {}),
|
|
404
271
|
},
|
|
405
272
|
devDependencies: {
|
|
406
|
-
"@opencomputer/cli": "^0.
|
|
273
|
+
"@opencomputer/cli": "^0.5.0",
|
|
407
274
|
...(spa
|
|
408
275
|
? {
|
|
409
276
|
"@types/node": "^24.0.0",
|
|
@@ -617,6 +484,10 @@ npm run dev
|
|
|
617
484
|
|
|
618
485
|
The first run asks you to create a cloud project or select an existing one.
|
|
619
486
|
That choice is saved for later development runs.
|
|
487
|
+
|
|
488
|
+
Development secrets can be placed in \`opencomputer/.env.local\`. Only values
|
|
489
|
+
referenced by \`useSecret()\` are synchronized, and their allowed origins are
|
|
490
|
+
inferred from \`defineConnection()\` declarations.
|
|
620
491
|
`
|
|
621
492
|
: `# Hello World OpenComputer agent
|
|
622
493
|
|
|
@@ -630,6 +501,10 @@ npm run dev
|
|
|
630
501
|
|
|
631
502
|
The first run asks you to create a cloud project or select an existing one.
|
|
632
503
|
That choice is saved for later development runs.
|
|
504
|
+
|
|
505
|
+
Development secrets can be placed in \`opencomputer/.env.local\`. Only values
|
|
506
|
+
referenced by \`useSecret()\` are synchronized, and their allowed origins are
|
|
507
|
+
inferred from \`defineConnection()\` declarations.
|
|
633
508
|
`);
|
|
634
509
|
const appFiles = spa
|
|
635
510
|
? [
|
|
@@ -650,6 +525,7 @@ That choice is saved for later development runs.
|
|
|
650
525
|
manifest,
|
|
651
526
|
files: [
|
|
652
527
|
"opencomputer/project.ts",
|
|
528
|
+
"opencomputer/.env.example",
|
|
653
529
|
"opencomputer/agents/hello-world/agent.ts",
|
|
654
530
|
...appFiles,
|
|
655
531
|
],
|
|
@@ -659,12 +535,76 @@ function literalHookIds(source, hook) {
|
|
|
659
535
|
const pattern = new RegExp(`\\b${hook}\\(\\s*["']([^"']+)["']`, "g");
|
|
660
536
|
return [...source.matchAll(pattern)].map((match) => match[1]).sort();
|
|
661
537
|
}
|
|
662
|
-
function
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
538
|
+
function definedConnectionBindings(source, path) {
|
|
539
|
+
const file = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);
|
|
540
|
+
const definitions = new Map(definedHttpConnections(source, path).map((definition) => [
|
|
541
|
+
definition.id,
|
|
542
|
+
definition,
|
|
543
|
+
]));
|
|
544
|
+
const bindings = new Map();
|
|
545
|
+
const visit = (node) => {
|
|
546
|
+
if (ts.isVariableDeclaration(node) &&
|
|
547
|
+
ts.isIdentifier(node.name) &&
|
|
548
|
+
node.initializer &&
|
|
549
|
+
ts.isCallExpression(node.initializer) &&
|
|
550
|
+
ts.isIdentifier(node.initializer.expression) &&
|
|
551
|
+
node.initializer.expression.text === "defineConnection") {
|
|
552
|
+
const input = node.initializer.arguments[0];
|
|
553
|
+
if (input && ts.isObjectLiteralExpression(input)) {
|
|
554
|
+
const id = literalStringValue(objectProperty(input, "id"), "connection id");
|
|
555
|
+
const definition = definitions.get(id);
|
|
556
|
+
if (definition)
|
|
557
|
+
bindings.set(node.name.text, definition);
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
ts.forEachChild(node, visit);
|
|
561
|
+
};
|
|
562
|
+
visit(file);
|
|
563
|
+
return bindings;
|
|
564
|
+
}
|
|
565
|
+
function definedMcpServers(source, path, connectionBindings) {
|
|
566
|
+
const file = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);
|
|
567
|
+
const definitions = [];
|
|
568
|
+
const visit = (node) => {
|
|
569
|
+
if (ts.isCallExpression(node) &&
|
|
570
|
+
ts.isIdentifier(node.expression) &&
|
|
571
|
+
node.expression.text === "defineMcpServer") {
|
|
572
|
+
const input = node.arguments[0];
|
|
573
|
+
if (!input || !ts.isObjectLiteralExpression(input)) {
|
|
574
|
+
throw new Error("defineMcpServer() requires an object literal");
|
|
575
|
+
}
|
|
576
|
+
const id = literalStringValue(objectProperty(input, "id"), "MCP server id");
|
|
577
|
+
const value = literalStringValue(objectProperty(input, "url"), `MCP server ${id} URL`);
|
|
578
|
+
const url = new URL(value);
|
|
579
|
+
if (url.protocol !== "https:") {
|
|
580
|
+
throw new Error(`MCP server ${id} must use HTTPS`);
|
|
581
|
+
}
|
|
582
|
+
const connectionExpression = objectProperty(input, "connection");
|
|
583
|
+
let connection;
|
|
584
|
+
if (connectionExpression) {
|
|
585
|
+
if (!ts.isIdentifier(connectionExpression)) {
|
|
586
|
+
throw new Error(`MCP server ${id} connection must reference a defineConnection() binding`);
|
|
587
|
+
}
|
|
588
|
+
connection = connectionBindings.get(connectionExpression.text);
|
|
589
|
+
if (!connection) {
|
|
590
|
+
throw new Error(`MCP server ${id} references unknown connection ${connectionExpression.text}`);
|
|
591
|
+
}
|
|
592
|
+
if (url.origin !== connection.origin ||
|
|
593
|
+
(connection.pathPrefix &&
|
|
594
|
+
!url.pathname.startsWith(connection.pathPrefix))) {
|
|
595
|
+
throw new Error(`MCP server ${id} URL is outside connection ${connection.id}`);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
definitions.push({
|
|
599
|
+
id,
|
|
600
|
+
url: url.toString(),
|
|
601
|
+
...(connection ? { connection: connection.id } : {}),
|
|
602
|
+
});
|
|
603
|
+
}
|
|
604
|
+
ts.forEachChild(node, visit);
|
|
605
|
+
};
|
|
606
|
+
visit(file);
|
|
607
|
+
return definitions.sort((left, right) => left.id.localeCompare(right.id));
|
|
668
608
|
}
|
|
669
609
|
function objectProperty(object, name) {
|
|
670
610
|
const property = object.properties.find((candidate) => ts.isPropertyAssignment(candidate) &&
|
|
@@ -787,6 +727,44 @@ function definedHttpConnections(source, path) {
|
|
|
787
727
|
if (pathPrefix) {
|
|
788
728
|
definition.pathPrefix = literalStringValue(pathPrefix, `connection ${id} pathPrefix`);
|
|
789
729
|
}
|
|
730
|
+
const redirectOrigins = objectProperty(input, "redirectOrigins");
|
|
731
|
+
if (redirectOrigins) {
|
|
732
|
+
if (!ts.isArrayLiteralExpression(redirectOrigins)) {
|
|
733
|
+
throw new Error(`Connection ${id} redirectOrigins must be an array literal`);
|
|
734
|
+
}
|
|
735
|
+
if (redirectOrigins.elements.length > 16) {
|
|
736
|
+
throw new Error(`Connection ${id} may declare at most 16 redirect origins`);
|
|
737
|
+
}
|
|
738
|
+
const policies = new Set();
|
|
739
|
+
definition.redirectOrigins = redirectOrigins.elements.map((element, index) => {
|
|
740
|
+
if (!ts.isObjectLiteralExpression(element)) {
|
|
741
|
+
throw new Error(`Connection ${id} redirect origin ${index} must be an object literal`);
|
|
742
|
+
}
|
|
743
|
+
const value = literalStringValue(objectProperty(element, "origin"), `connection ${id} redirect origin ${index}`);
|
|
744
|
+
const redirectOrigin = new URL(value);
|
|
745
|
+
if (redirectOrigin.protocol !== "https:" ||
|
|
746
|
+
redirectOrigin.pathname !== "/") {
|
|
747
|
+
throw new Error(`Connection ${id} redirect origin ${index} must be an HTTPS origin without a path`);
|
|
748
|
+
}
|
|
749
|
+
const redirectPathPrefix = objectProperty(element, "pathPrefix");
|
|
750
|
+
const parsedPathPrefix = redirectPathPrefix
|
|
751
|
+
? literalStringValue(redirectPathPrefix, `connection ${id} redirect origin ${index} pathPrefix`)
|
|
752
|
+
: undefined;
|
|
753
|
+
if (parsedPathPrefix !== undefined &&
|
|
754
|
+
!parsedPathPrefix.startsWith("/")) {
|
|
755
|
+
throw new Error(`Connection ${id} redirect origin ${index} pathPrefix must start with /`);
|
|
756
|
+
}
|
|
757
|
+
const policyKey = `${redirectOrigin.origin}\n${parsedPathPrefix ?? ""}`;
|
|
758
|
+
if (policies.has(policyKey)) {
|
|
759
|
+
throw new Error(`Connection ${id} redirect origin policies must be unique`);
|
|
760
|
+
}
|
|
761
|
+
policies.add(policyKey);
|
|
762
|
+
return {
|
|
763
|
+
origin: redirectOrigin.origin,
|
|
764
|
+
...(parsedPathPrefix ? { pathPrefix: parsedPathPrefix } : {}),
|
|
765
|
+
};
|
|
766
|
+
});
|
|
767
|
+
}
|
|
790
768
|
definitions.push(definition);
|
|
791
769
|
}
|
|
792
770
|
ts.forEachChild(node, visit);
|
|
@@ -812,7 +790,6 @@ function id(value, kind) {
|
|
|
812
790
|
if (!normalized) throw new Error(kind + " requires a non-empty id");
|
|
813
791
|
return normalized;
|
|
814
792
|
}
|
|
815
|
-
export const connection = (value) => Object.freeze({ kind: "connection", id: id(value, "connection") });
|
|
816
793
|
export const useSecret = (value) => {
|
|
817
794
|
const name = id(value, "useSecret");
|
|
818
795
|
if (!/^[A-Z][A-Z0-9_]{0,127}$/.test(name)) throw new Error("Invalid secret name " + JSON.stringify(name));
|
|
@@ -827,12 +804,21 @@ export const defineConnection = (input) => {
|
|
|
827
804
|
for (const [name, value] of Object.entries(input.headers || {})) {
|
|
828
805
|
if (["api-key", "authorization", "cookie", "proxy-authorization", "x-api-key"].includes(name.toLowerCase()) && typeof value === "string") throw new Error(name + " must use useSecret()");
|
|
829
806
|
}
|
|
807
|
+
const redirectOrigins = (input.redirectOrigins || []).map((input) => {
|
|
808
|
+
const redirectOrigin = new URL(input.origin);
|
|
809
|
+
if (redirectOrigin.protocol !== "https:" || redirectOrigin.pathname !== "/") throw new Error("Connection redirect origins must be HTTPS origins without a path");
|
|
810
|
+
if (input.pathPrefix != null && !input.pathPrefix.startsWith("/")) throw new Error("Connection redirect path prefixes must start with /");
|
|
811
|
+
return Object.freeze({ origin: redirectOrigin.origin, ...(input.pathPrefix ? { pathPrefix: input.pathPrefix } : {}) });
|
|
812
|
+
});
|
|
813
|
+
if (redirectOrigins.length > 16) throw new Error("Connections may declare at most 16 redirect origins");
|
|
814
|
+
if (new Set(redirectOrigins.map(({ origin, pathPrefix }) => origin + "\\n" + (pathPrefix || ""))).size !== redirectOrigins.length) throw new Error("Connection redirect origin policies must be unique");
|
|
830
815
|
return Object.freeze({
|
|
831
816
|
kind: "connection",
|
|
832
817
|
...input,
|
|
833
818
|
id: connectionId,
|
|
834
819
|
origin: origin.origin,
|
|
835
820
|
headers: Object.freeze({ ...(input.headers || {}) }),
|
|
821
|
+
...(redirectOrigins.length ? { redirectOrigins: Object.freeze(redirectOrigins) } : {}),
|
|
836
822
|
async fetch(path, init = {}) {
|
|
837
823
|
const base = globalThis.process?.env?.OPENCOMPUTER_CONNECTIONS_URL;
|
|
838
824
|
const token = globalThis.process?.env?.OPENCOMPUTER_CONNECTION_TOKEN;
|
|
@@ -869,7 +855,6 @@ export const useCurrentInput = useInput;
|
|
|
869
855
|
export const useModel = (model) => hooks().useModel(model);
|
|
870
856
|
export const useTool = (tool) => hooks().useTool(tool);
|
|
871
857
|
export const useSubagent = (agent) => hooks().useSubagent(agent);
|
|
872
|
-
export const useConnection = (value) => hooks().useConnection(value);
|
|
873
858
|
export const useMcpServer = (server) => hooks().useMcpServer(server);
|
|
874
859
|
export const useSessionData = (key) => hooks().useSessionData(key);
|
|
875
860
|
`;
|
|
@@ -893,14 +878,6 @@ the product or support surface presented to users.
|
|
|
893
878
|
issue trackers, or support channels.
|
|
894
879
|
- Use the question tool when structured clarification is useful. OpenComputer
|
|
895
880
|
delivers it through the current chat and resumes when the user replies.
|
|
896
|
-
- Before saying an external account is unavailable, use the built-in
|
|
897
|
-
OpenComputer connection tools to list or request the required connection.
|
|
898
|
-
- When the user asks for another account of the same service, request a new
|
|
899
|
-
account instead of returning the existing default connection.
|
|
900
|
-
- If a connection request reports private-message delivery, tell the user to
|
|
901
|
-
check their private messages. If it returns an authorization URL, show it.
|
|
902
|
-
- If a connection tool fails, report its exact error. Do not invent alternate
|
|
903
|
-
controls or third-party support instructions.
|
|
904
881
|
|
|
905
882
|
`);
|
|
906
883
|
const openCodeConfig = resolve(root, "opencode.json");
|
|
@@ -965,12 +942,7 @@ the product or support surface presented to users.
|
|
|
965
942
|
const compiledSource = compiledAgent.outputText.replace(/(["'])@opencomputer\/agent\1/g, '"./opencomputer-agent.js"');
|
|
966
943
|
await writeFile(resolve(runtime, "agent.js"), compiledSource);
|
|
967
944
|
await writeFile(resolve(runtime, "opencomputer-agent.js"), agentApiRuntimeSource());
|
|
968
|
-
const toolSources = [
|
|
969
|
-
{
|
|
970
|
-
filename: "opencomputer-connections.ts",
|
|
971
|
-
source: connectionControlToolSource(),
|
|
972
|
-
},
|
|
973
|
-
];
|
|
945
|
+
const toolSources = [];
|
|
974
946
|
const sourceTools = resolve(root, "tools");
|
|
975
947
|
if (await exists(sourceTools)) {
|
|
976
948
|
const entries = await readdir(sourceTools, { withFileTypes: true });
|
|
@@ -1021,6 +993,25 @@ the product or support surface presented to users.
|
|
|
1021
993
|
if (duplicateConnection) {
|
|
1022
994
|
throw new Error(`Connection id ${JSON.stringify(duplicateConnection.id)} is defined more than once`);
|
|
1023
995
|
}
|
|
996
|
+
const connectionBindings = new Map();
|
|
997
|
+
for (const [index, source] of [
|
|
998
|
+
agentSource,
|
|
999
|
+
...toolSources.map((item) => item.source),
|
|
1000
|
+
].entries()) {
|
|
1001
|
+
const filename = index === 0 ? "agent.ts" : toolSources[index - 1].filename;
|
|
1002
|
+
for (const [name, definition] of definedConnectionBindings(source, filename)) {
|
|
1003
|
+
const existing = connectionBindings.get(name);
|
|
1004
|
+
if (existing && existing.id !== definition.id) {
|
|
1005
|
+
throw new Error(`Connection binding ${JSON.stringify(name)} is defined more than once`);
|
|
1006
|
+
}
|
|
1007
|
+
connectionBindings.set(name, definition);
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
const mcpServerDefinitions = definedMcpServers(agentSource, "agent.ts", connectionBindings);
|
|
1011
|
+
const duplicateMcpServer = mcpServerDefinitions.find((server, index) => mcpServerDefinitions.findIndex((candidate) => candidate.id === server.id) !== index);
|
|
1012
|
+
if (duplicateMcpServer) {
|
|
1013
|
+
throw new Error(`MCP server id ${JSON.stringify(duplicateMcpServer.id)} is defined more than once`);
|
|
1014
|
+
}
|
|
1024
1015
|
await mkdir(resolve(runtime, ".opencomputer"), { recursive: true });
|
|
1025
1016
|
await writeFile(resolve(runtime, ".opencomputer", "reactive.json"), `${JSON.stringify({
|
|
1026
1017
|
version: 2,
|
|
@@ -1033,36 +1024,18 @@ the product or support surface presented to users.
|
|
|
1033
1024
|
].sort(),
|
|
1034
1025
|
toolModules: toolModules.sort(),
|
|
1035
1026
|
subagents: literalHookIds(agentSource, "useSubagent"),
|
|
1036
|
-
connections:
|
|
1037
|
-
...new Set([
|
|
1038
|
-
...literalHookIds(agentSource, "connection"),
|
|
1039
|
-
...literalHookIds(agentSource, "useConnection"),
|
|
1040
|
-
...httpConnections.map((connection) => connection.id),
|
|
1041
|
-
]),
|
|
1042
|
-
].sort(),
|
|
1027
|
+
connections: httpConnections.map((connection) => connection.id).sort(),
|
|
1043
1028
|
httpConnections,
|
|
1044
1029
|
mcpServers: [
|
|
1045
1030
|
...new Set([
|
|
1046
|
-
...
|
|
1031
|
+
...mcpServerDefinitions.map((server) => server.id),
|
|
1047
1032
|
...literalHookIds(agentSource, "useMcpServer"),
|
|
1048
1033
|
]),
|
|
1049
1034
|
].sort(),
|
|
1035
|
+
mcpServerDefinitions,
|
|
1050
1036
|
}, null, 2)}\n`);
|
|
1051
1037
|
return runtime;
|
|
1052
1038
|
}
|
|
1053
|
-
async function collectNames(root, type) {
|
|
1054
|
-
try {
|
|
1055
|
-
return (await readdir(resolve(root, type), {
|
|
1056
|
-
withFileTypes: true,
|
|
1057
|
-
}))
|
|
1058
|
-
.filter((entry) => entry.isFile())
|
|
1059
|
-
.map((entry) => entry.name.replace(/\.[^.]+$/, "").toLowerCase())
|
|
1060
|
-
.sort();
|
|
1061
|
-
}
|
|
1062
|
-
catch {
|
|
1063
|
-
return [];
|
|
1064
|
-
}
|
|
1065
|
-
}
|
|
1066
1039
|
async function collectFiles(root, directory = root) {
|
|
1067
1040
|
const result = [];
|
|
1068
1041
|
for (const entry of (await readdir(directory, { withFileTypes: true })).sort((left, right) => left.name.localeCompare(right.name))) {
|
|
@@ -1082,24 +1055,18 @@ export async function buildAgentArtifact(root, agentId) {
|
|
|
1082
1055
|
const startedAt = performance.now();
|
|
1083
1056
|
const manifest = await readManifest(root);
|
|
1084
1057
|
const runtime = await prepareAgent(root);
|
|
1085
|
-
const channels = await collectNames(root, "channels");
|
|
1086
1058
|
const reactive = JSON.parse(await readFile(resolve(runtime, ".opencomputer", "reactive.json"), "utf8"));
|
|
1087
|
-
const connections = [
|
|
1088
|
-
...new Set([
|
|
1089
|
-
...(await collectNames(root, "connections")),
|
|
1090
|
-
...(reactive.connections ?? []),
|
|
1091
|
-
]),
|
|
1092
|
-
].sort();
|
|
1059
|
+
const connections = [...new Set(reactive.connections ?? [])].sort();
|
|
1093
1060
|
const httpConnections = reactive.httpConnections ?? [];
|
|
1094
1061
|
const body = Buffer.from(JSON.stringify({
|
|
1095
1062
|
version: 1,
|
|
1096
|
-
channels,
|
|
1063
|
+
channels: [],
|
|
1097
1064
|
files: await collectFiles(runtime),
|
|
1098
1065
|
}));
|
|
1099
1066
|
return {
|
|
1100
1067
|
agentId: agentId ?? manifest.id,
|
|
1101
1068
|
name: manifest.name,
|
|
1102
|
-
channels,
|
|
1069
|
+
channels: [],
|
|
1103
1070
|
connections,
|
|
1104
1071
|
httpConnections,
|
|
1105
1072
|
body,
|
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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"}
|