@opencomputer/cli 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/project.js CHANGED
@@ -238,6 +238,9 @@ export default function Agent() {
238
238
  }
239
239
  `);
240
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
+ `);
241
244
  if (spa)
242
245
  await mkdir(resolve(root, "src"), { recursive: true });
243
246
  await writeFile(resolve(root, "opencomputer", "project.ts"), `export default {
@@ -481,6 +484,10 @@ npm run dev
481
484
 
482
485
  The first run asks you to create a cloud project or select an existing one.
483
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.
484
491
  `
485
492
  : `# Hello World OpenComputer agent
486
493
 
@@ -494,6 +501,10 @@ npm run dev
494
501
 
495
502
  The first run asks you to create a cloud project or select an existing one.
496
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.
497
508
  `);
498
509
  const appFiles = spa
499
510
  ? [
@@ -514,6 +525,7 @@ That choice is saved for later development runs.
514
525
  manifest,
515
526
  files: [
516
527
  "opencomputer/project.ts",
528
+ "opencomputer/.env.example",
517
529
  "opencomputer/agents/hello-world/agent.ts",
518
530
  ...appFiles,
519
531
  ],
@@ -523,12 +535,76 @@ function literalHookIds(source, hook) {
523
535
  const pattern = new RegExp(`\\b${hook}\\(\\s*["']([^"']+)["']`, "g");
524
536
  return [...source.matchAll(pattern)].map((match) => match[1]).sort();
525
537
  }
526
- function definedMcpServerIds(source) {
527
- return [
528
- ...source.matchAll(/\bdefineMcpServer\s*\(\s*\{[\s\S]*?\bid\s*:\s*["']([^"']+)["'][\s\S]*?\}\s*\)/g),
529
- ]
530
- .map((match) => match[1])
531
- .sort();
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));
532
608
  }
533
609
  function objectProperty(object, name) {
534
610
  const property = object.properties.find((candidate) => ts.isPropertyAssignment(candidate) &&
@@ -651,6 +727,44 @@ function definedHttpConnections(source, path) {
651
727
  if (pathPrefix) {
652
728
  definition.pathPrefix = literalStringValue(pathPrefix, `connection ${id} pathPrefix`);
653
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
+ }
654
768
  definitions.push(definition);
655
769
  }
656
770
  ts.forEachChild(node, visit);
@@ -690,12 +804,21 @@ export const defineConnection = (input) => {
690
804
  for (const [name, value] of Object.entries(input.headers || {})) {
691
805
  if (["api-key", "authorization", "cookie", "proxy-authorization", "x-api-key"].includes(name.toLowerCase()) && typeof value === "string") throw new Error(name + " must use useSecret()");
692
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");
693
815
  return Object.freeze({
694
816
  kind: "connection",
695
817
  ...input,
696
818
  id: connectionId,
697
819
  origin: origin.origin,
698
820
  headers: Object.freeze({ ...(input.headers || {}) }),
821
+ ...(redirectOrigins.length ? { redirectOrigins: Object.freeze(redirectOrigins) } : {}),
699
822
  async fetch(path, init = {}) {
700
823
  const base = globalThis.process?.env?.OPENCOMPUTER_CONNECTIONS_URL;
701
824
  const token = globalThis.process?.env?.OPENCOMPUTER_CONNECTION_TOKEN;
@@ -870,6 +993,25 @@ the product or support surface presented to users.
870
993
  if (duplicateConnection) {
871
994
  throw new Error(`Connection id ${JSON.stringify(duplicateConnection.id)} is defined more than once`);
872
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
+ }
873
1015
  await mkdir(resolve(runtime, ".opencomputer"), { recursive: true });
874
1016
  await writeFile(resolve(runtime, ".opencomputer", "reactive.json"), `${JSON.stringify({
875
1017
  version: 2,
@@ -886,10 +1028,11 @@ the product or support surface presented to users.
886
1028
  httpConnections,
887
1029
  mcpServers: [
888
1030
  ...new Set([
889
- ...definedMcpServerIds(agentSource),
1031
+ ...mcpServerDefinitions.map((server) => server.id),
890
1032
  ...literalHookIds(agentSource, "useMcpServer"),
891
1033
  ]),
892
1034
  ].sort(),
1035
+ mcpServerDefinitions,
893
1036
  }, null, 2)}\n`);
894
1037
  return runtime;
895
1038
  }
@@ -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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"}
@@ -32,7 +32,8 @@ test("init creates a multi-agent-ready project and React hello world app", async
32
32
  assert.match(viteConfig, /command === "serve"/);
33
33
  assert.match(viteConfig, /resolve\("\.opencomputer\/dev\.json"\)/);
34
34
  assert.doesNotMatch(viteConfig, /opencomputer\/agents\/hello-world\/\.opencomputer\/dev\.json/);
35
- assert.match(await readFile(resolve(root, "README.md"), "utf8"), /Sync agent code to Development \(Cloud\)/);
35
+ assert.match(await readFile(resolve(root, "README.md"), "utf8"), /Sync agent code to Development \(Cloud\)[\s\S]*opencomputer\/\.env\.local/);
36
+ assert.match(await readFile(resolve(root, "opencomputer", ".env.example"), "utf8"), /useSecret\(\)/);
36
37
  assert.equal(await readFile(resolve(root, "NOTES.md"), "utf8"), "# Existing notes\n");
37
38
  await assert.rejects(stat(resolve(root, "opencomputer", "package.json")));
38
39
  const agentRoot = resolve(root, "opencomputer", "agents", "hello-world");
@@ -53,6 +54,7 @@ test("init creates a multi-agent-ready project and React hello world app", async
53
54
  }
54
55
  assert.deepEqual(initialized.files, [
55
56
  "opencomputer/project.ts",
57
+ "opencomputer/.env.example",
56
58
  "opencomputer/agents/hello-world/agent.ts",
57
59
  "package.json",
58
60
  "vite.config.ts",
@@ -90,6 +92,7 @@ test("init can create an agent-only project", async () => {
90
92
  assert.equal(packageJSON.devDependencies.vite, undefined);
91
93
  assert.deepEqual(initialized.files, [
92
94
  "opencomputer/project.ts",
95
+ "opencomputer/.env.example",
93
96
  "opencomputer/agents/hello-world/agent.ts",
94
97
  "package.json",
95
98
  "README.md",
@@ -139,6 +142,9 @@ export default function Agent() {
139
142
  connections: [],
140
143
  httpConnections: [],
141
144
  mcpServers: ["docs"],
145
+ mcpServerDefinitions: [
146
+ { id: "docs", url: "https://mcp.example.com/" },
147
+ ],
142
148
  });
143
149
  await assert.rejects(stat(resolve(initialized.agentRoot, "opencomputer.toml")));
144
150
  }
@@ -159,6 +165,12 @@ export const github = defineConnection({
159
165
  origin: "https://api.github.com",
160
166
  methods: ["GET"],
161
167
  pathPrefix: "/repos/",
168
+ redirectOrigins: [
169
+ {
170
+ origin: "https://codeload.github.com",
171
+ pathPrefix: "/opencomputer/example/",
172
+ },
173
+ ],
162
174
  headers: { Authorization: bearer(useSecret("GITHUB_TOKEN")) },
163
175
  });
164
176
 
@@ -187,6 +199,12 @@ export default function Agent() {
187
199
  origin: "https://api.github.com",
188
200
  methods: ["GET"],
189
201
  pathPrefix: "/repos/",
202
+ redirectOrigins: [
203
+ {
204
+ origin: "https://codeload.github.com",
205
+ pathPrefix: "/opencomputer/example/",
206
+ },
207
+ ],
190
208
  headers: {
191
209
  Authorization: {
192
210
  kind: "secret",
@@ -203,6 +221,43 @@ export default function Agent() {
203
221
  await rm(parent, { recursive: true, force: true });
204
222
  }
205
223
  });
224
+ test("the compiler records managed MCP server definitions", async () => {
225
+ const parent = await mkdtemp(resolve(tmpdir(), "opencomputer-mcp-"));
226
+ const root = resolve(parent, "app");
227
+ try {
228
+ const initialized = await initializeAgentProject(root);
229
+ await writeFile(resolve(initialized.agentRoot, "agent.ts"), `import { bearer, defineConnection, defineMcpServer, useMcpServer, useSecret } from "@opencomputer/agent";
230
+
231
+ const unleash = defineConnection({
232
+ id: "unleash-api",
233
+ origin: "https://example.getunleash.io",
234
+ pathPrefix: "/api/admin/mcp",
235
+ headers: { Authorization: bearer(useSecret("UNLEASH_TOKEN")) },
236
+ });
237
+ const server = defineMcpServer({
238
+ id: "unleash",
239
+ url: "https://example.getunleash.io/api/admin/mcp",
240
+ connection: unleash,
241
+ });
242
+ export default function Agent() {
243
+ useMcpServer(server);
244
+ return "Use Unleash.";
245
+ }
246
+ `);
247
+ const runtime = await prepareAgent(initialized.agentRoot);
248
+ const manifest = JSON.parse(await readFile(resolve(runtime, ".opencomputer", "reactive.json"), "utf8"));
249
+ assert.deepEqual(manifest.mcpServerDefinitions, [
250
+ {
251
+ id: "unleash",
252
+ url: "https://example.getunleash.io/api/admin/mcp",
253
+ connection: "unleash-api",
254
+ },
255
+ ]);
256
+ }
257
+ finally {
258
+ await rm(parent, { recursive: true, force: true });
259
+ }
260
+ });
206
261
  test("the compiler rejects hard-coded sensitive connection headers", async () => {
207
262
  const parent = await mkdtemp(resolve(tmpdir(), "opencomputer-egress-secret-"));
208
263
  const root = resolve(parent, "app");
@@ -1 +1 @@
1
- {"version":3,"file":"project.test.js","sourceRoot":"","sources":["../src/project.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.test.js","sourceRoot":"","sources":["../src/project.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export type SessionAction = "create" | "list" | "inspect" | "attach" | "send" | "end";
2
+ export type SessionCommand = {
3
+ action: SessionAction;
4
+ args: string[];
5
+ keep: boolean;
6
+ agent?: string;
7
+ };
8
+ export declare function developmentAgentReference(agentId: string): string;
9
+ export declare function resolveProjectAgent(agents: Array<{
10
+ id: string;
11
+ name: string;
12
+ }>, selector: string): string;
13
+ export declare function parseSessionCommand(rawArgs: string[]): SessionCommand;
@@ -0,0 +1,70 @@
1
+ export function developmentAgentReference(agentId) {
2
+ return `${agentId}@development`;
3
+ }
4
+ export function resolveProjectAgent(agents, selector) {
5
+ if (selector.includes("@")) {
6
+ throw new Error("--agent selects a project agent only; session environment aliases are not supported.");
7
+ }
8
+ const exactId = agents.find((agent) => agent.id === selector);
9
+ if (exactId)
10
+ return exactId.id;
11
+ const named = agents.filter((agent) => agent.name === selector);
12
+ if (named.length === 1)
13
+ return named[0].id;
14
+ const available = agents.map((agent) => agent.id).join(", ") || "none";
15
+ throw new Error(`Agent ${selector} is not unique in the current project. Available agents: ${available}.`);
16
+ }
17
+ const ACTIONS = new Set([
18
+ "create",
19
+ "list",
20
+ "inspect",
21
+ "attach",
22
+ "send",
23
+ "end",
24
+ ]);
25
+ const DEPRECATED_ROUTING_OPTIONS = [
26
+ "--local",
27
+ "--remote",
28
+ "--alias",
29
+ ];
30
+ function takeAgentOption(args) {
31
+ const equalsIndex = args.findIndex((argument) => argument.startsWith("--agent="));
32
+ if (equalsIndex >= 0) {
33
+ const value = args[equalsIndex].slice("--agent=".length);
34
+ if (!value)
35
+ throw new Error("--agent requires a value");
36
+ args.splice(equalsIndex, 1);
37
+ return value;
38
+ }
39
+ const index = args.indexOf("--agent");
40
+ if (index < 0)
41
+ return undefined;
42
+ const value = args[index + 1];
43
+ if (!value || value.startsWith("--")) {
44
+ throw new Error("--agent requires a value");
45
+ }
46
+ args.splice(index, 2);
47
+ return value;
48
+ }
49
+ export function parseSessionCommand(rawArgs) {
50
+ const deprecated = rawArgs.find((argument) => DEPRECATED_ROUTING_OPTIONS.some((option) => argument === option || argument.startsWith(`${option}=`)));
51
+ if (deprecated) {
52
+ throw new Error(`${deprecated.split("=")[0]} is no longer supported; ` +
53
+ "sessions use the current project's Development deployment.");
54
+ }
55
+ const args = [...rawArgs];
56
+ const agent = takeAgentOption(args);
57
+ const keepIndex = args.indexOf("--keep");
58
+ const keep = keepIndex >= 0;
59
+ if (keep)
60
+ args.splice(keepIndex, 1);
61
+ const shorthand = args[0];
62
+ const action = shorthand && ACTIONS.has(shorthand)
63
+ ? args.shift()
64
+ : "create";
65
+ if (agent && action !== "create") {
66
+ throw new Error("--agent is only supported when creating a session.");
67
+ }
68
+ return { action, args, keep, ...(agent ? { agent } : {}) };
69
+ }
70
+ //# sourceMappingURL=session-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-command.js","sourceRoot":"","sources":["../src/session-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};