@opencomputer/cli 0.2.1 → 0.3.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 CHANGED
@@ -41,3 +41,30 @@ email-triage/
41
41
  The directory can be renamed without creating a different deployed agent; each
42
42
  `opencomputer deploy` publishes a new immutable deployment and advances the
43
43
  selected alias.
44
+
45
+ ## Sessions
46
+
47
+ `opencomputer session` runs the current source locally. Deployed sessions have
48
+ their own lifecycle and can be resumed across CLI invocations:
49
+
50
+ ```bash
51
+ opencomputer session create --remote \
52
+ --agent gmail-summarizer@production
53
+ opencomputer session list
54
+ opencomputer session send <session-id> "Summarize today's inbox."
55
+ opencomputer session inspect <session-id>
56
+ opencomputer session attach <session-id>
57
+ opencomputer session end <session-id>
58
+ ```
59
+
60
+ Add and manage account connections and agent channels from the same CLI:
61
+
62
+ ```bash
63
+ opencomputer connections connect gmail
64
+ opencomputer connections list
65
+
66
+ opencomputer channels add slack
67
+ opencomputer deploy
68
+ opencomputer channels connect slack --remote
69
+ opencomputer channels list
70
+ ```
package/dist/api.d.ts CHANGED
@@ -28,10 +28,29 @@ export interface ManagedAgentDeployment {
28
28
  }
29
29
  export interface ManagedConnection {
30
30
  id: string;
31
+ kind?: "channel" | "tool";
31
32
  provider: string;
32
33
  label: string;
34
+ agentId?: string;
35
+ alias?: string;
36
+ externalAccountId?: string;
33
37
  displayName?: string;
38
+ scopes?: string[];
34
39
  status: string;
40
+ createdAt?: string;
41
+ updatedAt?: string;
42
+ }
43
+ export interface ManagedSlackConnection {
44
+ id: string;
45
+ agentId: string;
46
+ alias: string;
47
+ appId?: string;
48
+ teamId?: string;
49
+ teamName?: string;
50
+ botUserId?: string;
51
+ status: string;
52
+ createdAt: string;
53
+ updatedAt: string;
35
54
  }
36
55
  export interface ManagedAgentEvent {
37
56
  id: string;
@@ -39,12 +58,24 @@ export interface ManagedAgentEvent {
39
58
  type: string;
40
59
  data: Record<string, unknown>;
41
60
  }
42
- interface SessionSnapshot {
61
+ export interface ManagedSessionSnapshot {
43
62
  id: string;
44
63
  status: string;
64
+ agentId?: string;
65
+ deploymentId?: string;
66
+ microvmState?: string;
67
+ createdAt?: string;
68
+ updatedAt?: string;
69
+ turns?: Array<{
70
+ id: string;
71
+ input: string;
72
+ status: string;
73
+ createdAt: string;
74
+ updatedAt: string;
75
+ }>;
45
76
  }
46
77
  interface CreateSessionResult {
47
- session: SessionSnapshot;
78
+ session: ManagedSessionSnapshot;
48
79
  deployment?: ManagedAgentDeployment;
49
80
  }
50
81
  export declare class APIError extends Error {
@@ -90,6 +121,7 @@ export declare class OpenComputerClient {
90
121
  };
91
122
  }): Promise<ManagedAgentDeployment>;
92
123
  connections(): Promise<ManagedConnection[]>;
124
+ disconnectConnection(connectionId: string): Promise<ManagedConnection>;
93
125
  linkGoogle(service: string): Promise<{
94
126
  service: string;
95
127
  toolkit: string;
@@ -106,12 +138,24 @@ export declare class OpenComputerClient {
106
138
  authorizationUrl?: string;
107
139
  expiresAt?: string;
108
140
  }>;
141
+ createSlackConnection(agentId: string): Promise<{
142
+ connection: ManagedSlackConnection;
143
+ webhookUrl: string;
144
+ }>;
145
+ channelConnections(): Promise<ManagedSlackConnection[]>;
146
+ completeSlackConnection(connectionId: string, botToken: string): Promise<ManagedSlackConnection>;
147
+ disconnectSlack(connectionId: string): Promise<ManagedSlackConnection>;
109
148
  createSession(agentId: string): Promise<CreateSessionResult>;
149
+ sessions(): Promise<ManagedSessionSnapshot[]>;
150
+ session(sessionId: string): Promise<ManagedSessionSnapshot>;
110
151
  createTurn(sessionId: string, input: string): Promise<{
111
152
  turnId: string;
112
153
  duplicate: boolean;
113
154
  }>;
114
155
  events(sessionId: string, after: number): Promise<ManagedAgentEvent[]>;
115
- suspendSession(sessionId: string): Promise<SessionSnapshot>;
156
+ suspendSession(sessionId: string): Promise<ManagedSessionSnapshot>;
157
+ resumeSession(sessionId: string): Promise<ManagedSessionSnapshot>;
158
+ endSession(sessionId: string): Promise<ManagedSessionSnapshot>;
159
+ terminateSession(sessionId: string): Promise<ManagedSessionSnapshot>;
116
160
  }
117
161
  export {};
package/dist/api.js CHANGED
@@ -83,6 +83,9 @@ export class OpenComputerClient {
83
83
  const result = await this.request("/api/managed-agents/connections");
84
84
  return result.connections;
85
85
  }
86
+ disconnectConnection(connectionId) {
87
+ return this.request(`/api/managed-agents/connections/${encodeURIComponent(connectionId)}`, { method: "DELETE" });
88
+ }
86
89
  linkGoogle(service) {
87
90
  return this.request("/api/managed-agents/connections/google/link", {
88
91
  method: "POST",
@@ -92,12 +95,38 @@ export class OpenComputerClient {
92
95
  googleConnection(service) {
93
96
  return this.request(`/api/managed-agents/connections/google/status?service=${encodeURIComponent(service)}`);
94
97
  }
98
+ createSlackConnection(agentId) {
99
+ return this.request("/api/managed-agents/channels/slack/connections", {
100
+ method: "POST",
101
+ body: JSON.stringify({ agentId }),
102
+ });
103
+ }
104
+ async channelConnections() {
105
+ const result = await this.request("/api/managed-agents/channels");
106
+ return result.connections;
107
+ }
108
+ completeSlackConnection(connectionId, botToken) {
109
+ return this.request(`/api/managed-agents/channels/slack/connections/${encodeURIComponent(connectionId)}`, {
110
+ method: "PUT",
111
+ body: JSON.stringify({ botToken }),
112
+ });
113
+ }
114
+ disconnectSlack(connectionId) {
115
+ return this.request(`/api/managed-agents/channels/slack/connections/${encodeURIComponent(connectionId)}`, { method: "DELETE" });
116
+ }
95
117
  createSession(agentId) {
96
118
  return this.request("/api/managed-agents/sessions", {
97
119
  method: "POST",
98
120
  body: JSON.stringify({ agentId }),
99
121
  });
100
122
  }
123
+ async sessions() {
124
+ const result = await this.request("/api/managed-agents/sessions");
125
+ return result.sessions;
126
+ }
127
+ session(sessionId) {
128
+ return this.request(`/api/managed-agents/sessions/${encodeURIComponent(sessionId)}`);
129
+ }
101
130
  createTurn(sessionId, input) {
102
131
  return this.request(`/api/managed-agents/sessions/${encodeURIComponent(sessionId)}/turns`, {
103
132
  method: "POST",
@@ -114,5 +143,14 @@ export class OpenComputerClient {
114
143
  suspendSession(sessionId) {
115
144
  return this.request(`/api/managed-agents/sessions/${encodeURIComponent(sessionId)}/suspend`, { method: "POST" });
116
145
  }
146
+ resumeSession(sessionId) {
147
+ return this.request(`/api/managed-agents/sessions/${encodeURIComponent(sessionId)}/resume`, { method: "POST" });
148
+ }
149
+ endSession(sessionId) {
150
+ return this.request(`/api/managed-agents/sessions/${encodeURIComponent(sessionId)}/end`, { method: "POST" });
151
+ }
152
+ terminateSession(sessionId) {
153
+ return this.request(`/api/managed-agents/sessions/${encodeURIComponent(sessionId)}/terminate`, { method: "POST" });
154
+ }
117
155
  }
118
156
  //# sourceMappingURL=api.js.map
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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"}