@opencomputer/cli 0.6.5 → 0.6.6
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 +21 -17
- package/dist/api.d.ts +26 -2
- package/dist/api.js +22 -3
- package/dist/api.js.map +1 -1
- package/dist/api.test.d.ts +1 -0
- package/dist/api.test.js +21 -0
- package/dist/api.test.js.map +1 -0
- package/dist/binding.d.ts +0 -2
- package/dist/binding.js +7 -31
- package/dist/binding.js.map +1 -1
- package/dist/binding.test.js +24 -3
- package/dist/binding.test.js.map +1 -1
- package/dist/commands.d.ts +1 -0
- package/dist/commands.js +164 -82
- package/dist/commands.js.map +1 -1
- package/dist/dev.d.ts +0 -8
- package/dist/dev.js +1 -159
- package/dist/dev.js.map +1 -1
- package/dist/dev.test.js +2 -90
- package/dist/dev.test.js.map +1 -1
- package/dist/doctor.d.ts +19 -0
- package/dist/doctor.js +207 -0
- package/dist/doctor.js.map +1 -0
- package/dist/doctor.test.d.ts +1 -0
- package/dist/doctor.test.js +71 -0
- package/dist/doctor.test.js.map +1 -0
- package/dist/errors.d.ts +13 -0
- package/dist/errors.js +74 -0
- package/dist/errors.js.map +1 -0
- package/dist/errors.test.d.ts +1 -0
- package/dist/errors.test.js +14 -0
- package/dist/errors.test.js.map +1 -0
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/project.js +10 -10
- package/dist/project.test.js +1 -1
- package/dist/project.test.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ npx @opencomputer/cli init my-agent
|
|
|
7
7
|
cd my-agent
|
|
8
8
|
npm install
|
|
9
9
|
npx --package @opencomputer/cli opencomputer login
|
|
10
|
-
npx --package @opencomputer/cli opencomputer link
|
|
10
|
+
npx --package @opencomputer/cli opencomputer link --project <id-or-slug>
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Agent definitions live under `opencomputer/agents/`. The default initializer
|
|
@@ -19,12 +19,10 @@ Watch source and deploy changes to Development (Cloud):
|
|
|
19
19
|
npm run deploy -- --watch
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
`opencomputer link
|
|
23
|
-
project
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
selection or `opencomputer deploy --watch --create-project <name>` to create
|
|
27
|
-
one explicitly.
|
|
22
|
+
`opencomputer link --project <id|slug>` links an existing project;
|
|
23
|
+
`opencomputer link --create-project <name>` creates and links one. Later
|
|
24
|
+
commands reuse that local binding without prompting. An unlinked command fails
|
|
25
|
+
with the exact link command needed to proceed.
|
|
28
26
|
|
|
29
27
|
The production cloud API (`https://app.opencomputer.dev`) is the default.
|
|
30
28
|
Override it only with `--api-url` or `OPENCOMPUTER_API_URL`.
|
|
@@ -61,21 +59,21 @@ structured payload is available to agent code as `input.payload`.
|
|
|
61
59
|
|
|
62
60
|
## Secrets and managed egress
|
|
63
61
|
|
|
64
|
-
Secret values are
|
|
62
|
+
Secret values are accepted only from standard input with `--value-stdin`.
|
|
65
63
|
They are write-only: list output contains names, scope, environment, and
|
|
66
|
-
allowed origins, never values.
|
|
64
|
+
allowed origins, never values or command-line arguments.
|
|
67
65
|
|
|
68
|
-
During development,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
During development, `opencomputer doctor` checks names referenced by
|
|
67
|
+
`useSecret()` against `opencomputer/.env.example` and the ignored
|
|
68
|
+
`opencomputer/.env.local`. Upload values explicitly with `secrets set`; the CLI
|
|
69
|
+
infers and enforces origins declared by `defineConnection()`.
|
|
72
70
|
|
|
73
71
|
```bash
|
|
74
72
|
# Project-level development secret. Allowed origins are inferred from code.
|
|
75
|
-
opencomputer secrets set GITHUB_TOKEN
|
|
73
|
+
printf %s "$GITHUB_TOKEN" | opencomputer secrets set GITHUB_TOKEN --value-stdin
|
|
76
74
|
|
|
77
75
|
# Agent-level production override.
|
|
78
|
-
opencomputer secrets set GITHUB_TOKEN \
|
|
76
|
+
printf %s "$GITHUB_TOKEN" | opencomputer secrets set GITHUB_TOKEN --value-stdin \
|
|
79
77
|
--agent current \
|
|
80
78
|
--environment production
|
|
81
79
|
|
|
@@ -88,8 +86,8 @@ environment, use encrypted agent runtime variables. They require no source
|
|
|
88
86
|
declaration and apply to newly started runtimes:
|
|
89
87
|
|
|
90
88
|
```bash
|
|
91
|
-
opencomputer env set DATABASE_URL
|
|
92
|
-
opencomputer env set DATABASE_URL --agent current --environment production
|
|
89
|
+
printf %s "$DATABASE_URL" | opencomputer env set DATABASE_URL --value-stdin
|
|
90
|
+
printf %s "$DATABASE_URL" | opencomputer env set DATABASE_URL --value-stdin --agent current --environment production
|
|
93
91
|
opencomputer env list --environment development
|
|
94
92
|
opencomputer env remove DATABASE_URL --environment development
|
|
95
93
|
```
|
|
@@ -109,3 +107,9 @@ opencomputer logs
|
|
|
109
107
|
opencomputer logs --agent my-agent --environment development --follow
|
|
110
108
|
opencomputer logs --session <session-id> --json
|
|
111
109
|
```
|
|
110
|
+
|
|
111
|
+
Use `opencomputer sessions tail <session-id> --json` for durable NDJSON session
|
|
112
|
+
events and `opencomputer channels status --json` for the last accepted event,
|
|
113
|
+
delivery outcome, and redacted error category. All commands accept `--json`;
|
|
114
|
+
mutations accept `--idempotency-key <stable-retry-key>`. Run
|
|
115
|
+
`opencomputer doctor --json` for the sub-second local pre-deploy scan.
|
package/dist/api.d.ts
CHANGED
|
@@ -110,6 +110,28 @@ export interface ManagedAgentLog {
|
|
|
110
110
|
sessionId: string;
|
|
111
111
|
data: Record<string, unknown>;
|
|
112
112
|
}
|
|
113
|
+
export interface ManagedChannelStatus {
|
|
114
|
+
id: string;
|
|
115
|
+
channel: "slack";
|
|
116
|
+
channelId?: string;
|
|
117
|
+
agentId: string;
|
|
118
|
+
alias: string;
|
|
119
|
+
appName?: string;
|
|
120
|
+
teamName?: string;
|
|
121
|
+
status: string;
|
|
122
|
+
verifiedAt?: string;
|
|
123
|
+
lastEventAt?: string;
|
|
124
|
+
lastDelivery?: {
|
|
125
|
+
status: "delivered" | "failed";
|
|
126
|
+
at: string;
|
|
127
|
+
};
|
|
128
|
+
lastError?: {
|
|
129
|
+
category: string;
|
|
130
|
+
at: string;
|
|
131
|
+
};
|
|
132
|
+
createdAt: string;
|
|
133
|
+
updatedAt: string;
|
|
134
|
+
}
|
|
113
135
|
export interface ManagedSessionSnapshot {
|
|
114
136
|
id: string;
|
|
115
137
|
status: string;
|
|
@@ -136,7 +158,8 @@ export declare class APIError extends Error {
|
|
|
136
158
|
}
|
|
137
159
|
export declare class OpenComputerClient {
|
|
138
160
|
private readonly config;
|
|
139
|
-
|
|
161
|
+
private readonly idempotencyKey?;
|
|
162
|
+
constructor(config: ResolvedConfig, idempotencyKey?: string | undefined);
|
|
140
163
|
private request;
|
|
141
164
|
startLogin(): Promise<{
|
|
142
165
|
device_code: string;
|
|
@@ -257,6 +280,7 @@ export declare class OpenComputerClient {
|
|
|
257
280
|
logs: ManagedAgentLog[];
|
|
258
281
|
cursor: string;
|
|
259
282
|
}>;
|
|
283
|
+
channels(): Promise<ManagedChannelStatus[]>;
|
|
260
284
|
registerDeployment(input: {
|
|
261
285
|
agentId: string;
|
|
262
286
|
name: string;
|
|
@@ -300,7 +324,7 @@ export declare class OpenComputerClient {
|
|
|
300
324
|
createSession(agentId: string): Promise<CreateSessionResult>;
|
|
301
325
|
sessions(): Promise<ManagedSessionSnapshot[]>;
|
|
302
326
|
session(sessionId: string): Promise<ManagedSessionSnapshot>;
|
|
303
|
-
createTurn(sessionId: string, input: string): Promise<{
|
|
327
|
+
createTurn(sessionId: string, input: string, idempotencyKey?: string): Promise<{
|
|
304
328
|
turnId: string;
|
|
305
329
|
duplicate: boolean;
|
|
306
330
|
}>;
|
package/dist/api.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
1
2
|
export class APIError extends Error {
|
|
2
3
|
status;
|
|
3
4
|
constructor(message, status) {
|
|
@@ -22,8 +23,10 @@ function errorMessage(body, status) {
|
|
|
22
23
|
}
|
|
23
24
|
export class OpenComputerClient {
|
|
24
25
|
config;
|
|
25
|
-
|
|
26
|
+
idempotencyKey;
|
|
27
|
+
constructor(config, idempotencyKey) {
|
|
26
28
|
this.config = config;
|
|
29
|
+
this.idempotencyKey = idempotencyKey;
|
|
27
30
|
}
|
|
28
31
|
async request(path, init = {}, authenticated = true) {
|
|
29
32
|
const headers = new Headers(init.headers);
|
|
@@ -36,6 +39,18 @@ export class OpenComputerClient {
|
|
|
36
39
|
}
|
|
37
40
|
headers.set("x-api-key", this.config.apiKey);
|
|
38
41
|
}
|
|
42
|
+
const method = (init.method ?? "GET").toUpperCase();
|
|
43
|
+
if (this.idempotencyKey && method !== "GET" && method !== "HEAD") {
|
|
44
|
+
headers.set("idempotency-key", createHash("sha256")
|
|
45
|
+
.update(this.idempotencyKey)
|
|
46
|
+
.update("\0")
|
|
47
|
+
.update(method)
|
|
48
|
+
.update("\0")
|
|
49
|
+
.update(path)
|
|
50
|
+
.update("\0")
|
|
51
|
+
.update(typeof init.body === "string" ? init.body : "")
|
|
52
|
+
.digest("hex"));
|
|
53
|
+
}
|
|
39
54
|
const response = await fetch(`${this.config.apiUrl}${path}`, {
|
|
40
55
|
...init,
|
|
41
56
|
headers,
|
|
@@ -220,6 +235,10 @@ export class OpenComputerClient {
|
|
|
220
235
|
query.set("limit", String(input.limit));
|
|
221
236
|
return this.request(`/api/managed-agents/logs?${query.toString()}`);
|
|
222
237
|
}
|
|
238
|
+
async channels() {
|
|
239
|
+
const result = await this.request("/api/managed-agents/channels");
|
|
240
|
+
return result.channels;
|
|
241
|
+
}
|
|
223
242
|
registerDeployment(input) {
|
|
224
243
|
return this.request("/api/managed-agents/deployments", { method: "POST", body: JSON.stringify(input) });
|
|
225
244
|
}
|
|
@@ -236,12 +255,12 @@ export class OpenComputerClient {
|
|
|
236
255
|
session(sessionId) {
|
|
237
256
|
return this.request(`/api/managed-agents/sessions/${encodeURIComponent(sessionId)}`);
|
|
238
257
|
}
|
|
239
|
-
createTurn(sessionId, input) {
|
|
258
|
+
createTurn(sessionId, input, idempotencyKey = crypto.randomUUID()) {
|
|
240
259
|
return this.request(`/api/managed-agents/sessions/${encodeURIComponent(sessionId)}/turns`, {
|
|
241
260
|
method: "POST",
|
|
242
261
|
body: JSON.stringify({
|
|
243
262
|
input,
|
|
244
|
-
idempotencyKey
|
|
263
|
+
idempotencyKey,
|
|
245
264
|
}),
|
|
246
265
|
});
|
|
247
266
|
}
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/api.test.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import test from "node:test";
|
|
3
|
+
import { OpenComputerClient } from "./api.js";
|
|
4
|
+
test("mutations derive stable, operation-specific idempotency headers", async (context) => {
|
|
5
|
+
const requests = [];
|
|
6
|
+
context.mock.method(globalThis, "fetch", async (input, init) => {
|
|
7
|
+
const request = new Request(input, init);
|
|
8
|
+
requests.push(request);
|
|
9
|
+
return Response.json({ id: "project", agents: [], environments: [] });
|
|
10
|
+
});
|
|
11
|
+
const client = new OpenComputerClient({ apiUrl: "https://app.opencomputer.dev", apiKey: "test" }, "retry-42");
|
|
12
|
+
await client.createProject("Agent", "agent");
|
|
13
|
+
await client.createProject("Agent", "agent");
|
|
14
|
+
await client.createProject("Different", "different");
|
|
15
|
+
const keys = requests.map((request) => request.headers.get("idempotency-key"));
|
|
16
|
+
assert.ok(keys[0]);
|
|
17
|
+
assert.equal(keys[0], keys[1]);
|
|
18
|
+
assert.notEqual(keys[0], keys[2]);
|
|
19
|
+
assert.equal(keys[0]?.includes("retry-42"), false);
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=api.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.test.js","sourceRoot":"","sources":["../src/api.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,IAAI,CAAC,iEAAiE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACxF,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,KAA6B,EAAE,IAAkB,EAAE,EAAE;QACnG,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,kBAAkB,CACnC,EAAE,MAAM,EAAE,8BAA8B,EAAE,MAAM,EAAE,MAAM,EAAE,EAC1D,UAAU,CACX,CAAC;IAEF,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC/E,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
package/dist/binding.d.ts
CHANGED
|
@@ -10,8 +10,6 @@ export interface ProjectBinding {
|
|
|
10
10
|
export interface ProjectBindingOptions {
|
|
11
11
|
project?: string;
|
|
12
12
|
createProjectName?: string;
|
|
13
|
-
interactive?: boolean;
|
|
14
|
-
select?: boolean;
|
|
15
13
|
}
|
|
16
14
|
export declare function findOpenComputerProjectRoot(agentRoot: string): Promise<string>;
|
|
17
15
|
export declare function ensureProjectBinding(client: Pick<OpenComputerClient, "projects" | "createProject">, config: ResolvedConfig, agentRoot: string, options?: ProjectBindingOptions): Promise<ProjectBinding>;
|
package/dist/binding.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { createInterface } from "node:readline/promises";
|
|
2
1
|
import { access, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
|
-
import {
|
|
2
|
+
import { dirname, resolve } from "node:path";
|
|
4
3
|
import { agentIdFromName, } from "./project.js";
|
|
5
4
|
async function exists(path) {
|
|
6
5
|
try {
|
|
@@ -42,28 +41,6 @@ async function readBinding(projectRoot, apiUrl) {
|
|
|
42
41
|
return null;
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
|
-
async function chooseProject(projects, defaultName) {
|
|
46
|
-
const terminal = createInterface({ input: process.stdin, output: process.stdout });
|
|
47
|
-
try {
|
|
48
|
-
process.stdout.write("\nConnect this app to a Development (Cloud) project:\n\n");
|
|
49
|
-
process.stdout.write(` 1) Create a new project\n`);
|
|
50
|
-
projects.forEach((project, index) => {
|
|
51
|
-
process.stdout.write(` ${String(index + 2)}) ${project.name} (${project.slug})\n`);
|
|
52
|
-
});
|
|
53
|
-
const answer = (await terminal.question("\nSelect [1]: ")).trim() || "1";
|
|
54
|
-
const selected = Number.parseInt(answer, 10);
|
|
55
|
-
if (!Number.isInteger(selected) || selected < 1 || selected > projects.length + 1) {
|
|
56
|
-
throw new Error("Choose one of the numbered project options.");
|
|
57
|
-
}
|
|
58
|
-
if (selected > 1)
|
|
59
|
-
return { project: projects[selected - 2] };
|
|
60
|
-
const name = (await terminal.question(`Project name [${defaultName}]: `)).trim();
|
|
61
|
-
return { createName: name || defaultName };
|
|
62
|
-
}
|
|
63
|
-
finally {
|
|
64
|
-
terminal.close();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
44
|
async function persistBinding(projectRoot, config, project) {
|
|
68
45
|
const agent = project.agents[0];
|
|
69
46
|
if (!agent)
|
|
@@ -86,7 +63,7 @@ export async function ensureProjectBinding(client, config, agentRoot, options =
|
|
|
86
63
|
}
|
|
87
64
|
const projectRoot = await findOpenComputerProjectRoot(agentRoot);
|
|
88
65
|
const projects = await client.projects();
|
|
89
|
-
if (!options.project && !options.createProjectName
|
|
66
|
+
if (!options.project && !options.createProjectName) {
|
|
90
67
|
const existing = await readBinding(projectRoot, config.apiUrl);
|
|
91
68
|
if (existing &&
|
|
92
69
|
projects.some((project) => project.id === existing.projectId &&
|
|
@@ -101,13 +78,12 @@ export async function ensureProjectBinding(client, config, agentRoot, options =
|
|
|
101
78
|
throw new Error(`Project ${options.project} was not found in this account.`);
|
|
102
79
|
}
|
|
103
80
|
let createName = options.createProjectName;
|
|
81
|
+
if (!project && createName) {
|
|
82
|
+
const slug = agentIdFromName(createName);
|
|
83
|
+
project = projects.find((candidate) => candidate.slug === slug);
|
|
84
|
+
}
|
|
104
85
|
if (!project && !createName) {
|
|
105
|
-
|
|
106
|
-
throw new Error("This app is not connected to a cloud project. Run `opencomputer link`.");
|
|
107
|
-
}
|
|
108
|
-
const choice = await chooseProject(projects, basename(projectRoot));
|
|
109
|
-
project = choice.project;
|
|
110
|
-
createName = choice.createName;
|
|
86
|
+
throw new Error("This app is not connected to a cloud project. Run `opencomputer link --project <id|slug>` or `opencomputer link --create-project <name>`.");
|
|
111
87
|
}
|
|
112
88
|
project ??= await client.createProject(createName, agentIdFromName(createName));
|
|
113
89
|
return persistBinding(projectRoot, config, project);
|
package/dist/binding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"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"}
|
package/dist/binding.test.js
CHANGED
|
@@ -34,7 +34,7 @@ test("first dev can select an existing project and later reuses its binding", as
|
|
|
34
34
|
},
|
|
35
35
|
};
|
|
36
36
|
const config = { apiUrl: "https://app.opencomputer.dev", apiKey: "test" };
|
|
37
|
-
const selected = await ensureProjectBinding(client, config, initialized.agentRoot, { project: "existing-project"
|
|
37
|
+
const selected = await ensureProjectBinding(client, config, initialized.agentRoot, { project: "existing-project" });
|
|
38
38
|
assert.equal(selected.projectId, "prj_existing");
|
|
39
39
|
assert.equal(selected.agentId, "agent-cloud");
|
|
40
40
|
assert.equal((await readManifest(initialized.agentRoot)).id, "hello-world");
|
|
@@ -42,7 +42,7 @@ test("first dev can select an existing project and later reuses its binding", as
|
|
|
42
42
|
assert.doesNotMatch(projectSource, /prj_existing|agent-cloud/);
|
|
43
43
|
assert.match(projectSource, /name:/);
|
|
44
44
|
assert.deepEqual(JSON.parse(await readFile(resolve(root, ".opencomputer", "project.json"), "utf8")), selected);
|
|
45
|
-
const reused = await ensureProjectBinding(client, config, initialized.agentRoot, {
|
|
45
|
+
const reused = await ensureProjectBinding(client, config, initialized.agentRoot, {});
|
|
46
46
|
assert.deepEqual(reused, selected);
|
|
47
47
|
assert.equal(creates, 0);
|
|
48
48
|
}
|
|
@@ -61,7 +61,28 @@ test("non-interactive commands direct an unlinked app to link", async () => {
|
|
|
61
61
|
async createProject() {
|
|
62
62
|
return project();
|
|
63
63
|
},
|
|
64
|
-
}, { apiUrl: "https://app.opencomputer.dev" }, initialized.agentRoot, {
|
|
64
|
+
}, { apiUrl: "https://app.opencomputer.dev" }, initialized.agentRoot, {}), /opencomputer link/);
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
await rm(root, { recursive: true, force: true });
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
test("explicit project creation reuses the existing slug on retry", async () => {
|
|
71
|
+
const root = await mkdtemp(resolve(tmpdir(), "opencomputer-binding-"));
|
|
72
|
+
try {
|
|
73
|
+
const initialized = await initializeAgentProject(root);
|
|
74
|
+
let creates = 0;
|
|
75
|
+
const binding = await ensureProjectBinding({
|
|
76
|
+
async projects() {
|
|
77
|
+
return [project()];
|
|
78
|
+
},
|
|
79
|
+
async createProject() {
|
|
80
|
+
creates += 1;
|
|
81
|
+
return project();
|
|
82
|
+
},
|
|
83
|
+
}, { apiUrl: "https://app.opencomputer.dev" }, initialized.agentRoot, { createProjectName: "Existing Project" });
|
|
84
|
+
assert.equal(binding.projectId, "prj_existing");
|
|
85
|
+
assert.equal(creates, 0);
|
|
65
86
|
}
|
|
66
87
|
finally {
|
|
67
88
|
await rm(root, { recursive: true, force: true });
|
package/dist/binding.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding.test.js","sourceRoot":"","sources":["../src/binding.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEpE,SAAS,OAAO;IACd,OAAO;QACL,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACpD,YAAY,EAAE;YACZ,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,0BAA0B,EAAE;YAC9D,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,0BAA0B,EAAE;SAC9D;QACD,SAAS,EAAE,0BAA0B;QACrC,SAAS,EAAE,0BAA0B;KACtC,CAAC;AACJ,CAAC;AAED,IAAI,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;IACvF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG;YACb,KAAK,CAAC,QAAQ;gBACZ,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACrB,CAAC;YACD,KAAK,CAAC,aAAa;gBACjB,OAAO,IAAI,CAAC,CAAC;gBACb,OAAO,OAAO,EAAE,CAAC;YACnB,CAAC;SACF,CAAC;QACF,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,8BAA8B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,MAAM,EACN,MAAM,EACN,WAAW,CAAC,SAAS,EACrB,EAAE,OAAO,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"binding.test.js","sourceRoot":"","sources":["../src/binding.test.ts"],"names":[],"mappings":"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"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export interface GlobalOptions {
|
|
|
3
3
|
apiKey?: string;
|
|
4
4
|
json: boolean;
|
|
5
5
|
verbose?: boolean;
|
|
6
|
+
idempotencyKey?: string;
|
|
6
7
|
}
|
|
7
8
|
export declare function deploymentAlias(requestedAlias?: string): string;
|
|
8
9
|
export declare function shouldBindModelAccessProject(projectReference: string | undefined, currentAgentRoot: string | null | undefined): boolean;
|