computer-agents 2.3.0 → 2.5.0

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.
Files changed (33) hide show
  1. package/README.md +61 -18
  2. package/dist/ComputerAgentsClient.d.ts +63 -41
  3. package/dist/ComputerAgentsClient.js +84 -44
  4. package/dist/ComputerAgentsClient.js.map +1 -1
  5. package/dist/cloud/resources/AgentsResource.d.ts +12 -1
  6. package/dist/cloud/resources/AgentsResource.js +16 -0
  7. package/dist/cloud/resources/AgentsResource.js.map +1 -1
  8. package/dist/cloud/resources/DatabasesResource.d.ts +36 -0
  9. package/dist/cloud/resources/DatabasesResource.js +68 -0
  10. package/dist/cloud/resources/DatabasesResource.js.map +1 -0
  11. package/dist/cloud/resources/EnvironmentsResource.d.ts +110 -0
  12. package/dist/cloud/resources/EnvironmentsResource.js +75 -0
  13. package/dist/cloud/resources/EnvironmentsResource.js.map +1 -1
  14. package/dist/cloud/resources/GitResource.d.ts +60 -2
  15. package/dist/cloud/resources/GitResource.js +86 -10
  16. package/dist/cloud/resources/GitResource.js.map +1 -1
  17. package/dist/cloud/resources/ResourcesResource.d.ts +92 -0
  18. package/dist/cloud/resources/ResourcesResource.js +151 -0
  19. package/dist/cloud/resources/ResourcesResource.js.map +1 -0
  20. package/dist/cloud/resources/SkillsResource.d.ts +17 -0
  21. package/dist/cloud/resources/SkillsResource.js +36 -0
  22. package/dist/cloud/resources/SkillsResource.js.map +1 -0
  23. package/dist/cloud/resources/ThreadsResource.d.ts +78 -0
  24. package/dist/cloud/resources/ThreadsResource.js +64 -0
  25. package/dist/cloud/resources/ThreadsResource.js.map +1 -1
  26. package/dist/cloud/resources/index.d.ts +7 -1
  27. package/dist/cloud/resources/index.js +9 -3
  28. package/dist/cloud/resources/index.js.map +1 -1
  29. package/dist/cloud/types.d.ts +185 -3
  30. package/dist/index.d.ts +4 -4
  31. package/dist/index.js +6 -3
  32. package/dist/index.js.map +1 -1
  33. package/package.json +3 -4
@@ -8,7 +8,7 @@
8
8
  * simplified paths without /projects/:projectId prefix.
9
9
  */
10
10
  import type { ApiClient } from '../ApiClient';
11
- import type { CloudAgent, CreateAgentParams, UpdateAgentParams } from '../types';
11
+ import type { AgentAnalyticsResponse, AgentModelCatalogEntry, CloudAgent, CreateAgentParams, UpdateAgentParams } from '../types';
12
12
  export declare class AgentsResource {
13
13
  private readonly client;
14
14
  constructor(client: ApiClient);
@@ -24,6 +24,13 @@ export declare class AgentsResource {
24
24
  * Project is determined automatically from the API key.
25
25
  */
26
26
  list(): Promise<CloudAgent[]>;
27
+ /**
28
+ * List managed and external model entries available in the current workspace.
29
+ */
30
+ listModels(): Promise<{
31
+ tier?: string;
32
+ models: AgentModelCatalogEntry[];
33
+ }>;
27
34
  /**
28
35
  * Get an agent by ID
29
36
  */
@@ -32,6 +39,10 @@ export declare class AgentsResource {
32
39
  * Update an agent
33
40
  */
34
41
  update(agentId: string, params: UpdateAgentParams): Promise<CloudAgent>;
42
+ /**
43
+ * Summarize recent activity for an agent or team.
44
+ */
45
+ getAnalytics(agentId: string): Promise<AgentAnalyticsResponse>;
35
46
  /**
36
47
  * Delete an agent
37
48
  */
@@ -33,6 +33,16 @@ class AgentsResource {
33
33
  const response = await this.client.get(`/agents`);
34
34
  return response.data;
35
35
  }
36
+ /**
37
+ * List managed and external model entries available in the current workspace.
38
+ */
39
+ async listModels() {
40
+ const response = await this.client.get(`/agents/models`);
41
+ return {
42
+ tier: response.tier,
43
+ models: response.models,
44
+ };
45
+ }
36
46
  /**
37
47
  * Get an agent by ID
38
48
  */
@@ -47,6 +57,12 @@ class AgentsResource {
47
57
  const response = await this.client.patch(`/agents/${agentId}`, params);
48
58
  return response.agent;
49
59
  }
60
+ /**
61
+ * Summarize recent activity for an agent or team.
62
+ */
63
+ async getAnalytics(agentId) {
64
+ return this.client.get(`/agents/${agentId}/analytics`);
65
+ }
50
66
  /**
51
67
  * Delete an agent
52
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AgentsResource.js","sourceRoot":"","sources":["../../../src/cloud/resources/AgentsResource.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AASH,MAAa,cAAc;IACI;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAyB;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,SAAS,EACT,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,SAAS,CACV,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,WAAW,OAAO,EAAE,CACrB,CAAC;QACF,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAAe,EACf,MAAyB;QAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACtC,WAAW,OAAO,EAAE,EACpB,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAgB,KAAK;QACjD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACtB,WAAW,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,CAAC;IACJ,CAAC;CACF;AA5DD,wCA4DC"}
1
+ {"version":3,"file":"AgentsResource.js","sourceRoot":"","sources":["../../../src/cloud/resources/AgentsResource.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAWH,MAAa,cAAc;IACI;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAyB;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,SAAS,EACT,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,SAAS,CACV,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QAId,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAsD,gBAAgB,CAAC,CAAC;QAC9G,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,WAAW,OAAO,EAAE,CACrB,CAAC;QACF,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAAe,EACf,MAAyB;QAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACtC,WAAW,OAAO,EAAE,EACpB,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,OAAO,YAAY,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAgB,KAAK;QACjD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACtB,WAAW,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,CAAC;IACJ,CAAC;CACF;AAjFD,wCAiFC"}
@@ -0,0 +1,36 @@
1
+ import type { ApiClient } from '../ApiClient';
2
+ import type { CreateDatabaseParams, Database, DatabaseCollection, DatabaseDocument, UpdateDatabaseParams } from '../types';
3
+ export interface ListDatabasesParams {
4
+ projectId?: string;
5
+ }
6
+ export interface CreateDatabaseCollectionParams {
7
+ name: string;
8
+ description?: string;
9
+ }
10
+ export interface CreateDatabaseDocumentParams {
11
+ id?: string;
12
+ data: Record<string, unknown>;
13
+ }
14
+ export interface UpdateDatabaseDocumentParams {
15
+ data: Record<string, unknown>;
16
+ }
17
+ export declare class DatabasesResource {
18
+ private readonly client;
19
+ constructor(client: ApiClient);
20
+ create(params: CreateDatabaseParams): Promise<Database>;
21
+ list(params?: ListDatabasesParams): Promise<Database[]>;
22
+ get(databaseId: string): Promise<Database>;
23
+ update(databaseId: string, params: UpdateDatabaseParams): Promise<Database>;
24
+ delete(databaseId: string): Promise<boolean>;
25
+ getAnalytics(databaseId: string): Promise<Record<string, unknown>>;
26
+ listCollections(databaseId: string): Promise<DatabaseCollection[]>;
27
+ createCollection(databaseId: string, params: CreateDatabaseCollectionParams): Promise<DatabaseCollection>;
28
+ deleteCollection(databaseId: string, collectionId: string): Promise<boolean>;
29
+ listDocuments(databaseId: string, collectionId: string, params?: {
30
+ limit?: number;
31
+ }): Promise<DatabaseDocument[]>;
32
+ createDocument(databaseId: string, collectionId: string, params: CreateDatabaseDocumentParams): Promise<DatabaseDocument>;
33
+ getDocument(databaseId: string, collectionId: string, documentId: string): Promise<DatabaseDocument>;
34
+ updateDocument(databaseId: string, collectionId: string, documentId: string, params: UpdateDatabaseDocumentParams): Promise<DatabaseDocument>;
35
+ deleteDocument(databaseId: string, collectionId: string, documentId: string): Promise<boolean>;
36
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatabasesResource = void 0;
4
+ class DatabasesResource {
5
+ client;
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ async create(params) {
10
+ const response = await this.client.post(`/databases`, params);
11
+ return response.database;
12
+ }
13
+ async list(params = {}) {
14
+ const response = await this.client.get(`/databases`, {
15
+ projectId: params.projectId,
16
+ });
17
+ return response.databases;
18
+ }
19
+ async get(databaseId) {
20
+ const response = await this.client.get(`/databases/${databaseId}`);
21
+ return response.database;
22
+ }
23
+ async update(databaseId, params) {
24
+ const response = await this.client.patch(`/databases/${databaseId}`, params);
25
+ return response.database;
26
+ }
27
+ async delete(databaseId) {
28
+ const response = await this.client.delete(`/databases/${databaseId}`);
29
+ return !!(response.success ?? response.deleted);
30
+ }
31
+ async getAnalytics(databaseId) {
32
+ return this.client.get(`/databases/${databaseId}/analytics`);
33
+ }
34
+ async listCollections(databaseId) {
35
+ const response = await this.client.get(`/databases/${databaseId}/collections`);
36
+ return response.collections;
37
+ }
38
+ async createCollection(databaseId, params) {
39
+ const response = await this.client.post(`/databases/${databaseId}/collections`, params);
40
+ return response.collection;
41
+ }
42
+ async deleteCollection(databaseId, collectionId) {
43
+ const response = await this.client.delete(`/databases/${databaseId}/collections/${collectionId}`);
44
+ return !!(response.success ?? response.deleted);
45
+ }
46
+ async listDocuments(databaseId, collectionId, params = {}) {
47
+ const response = await this.client.get(`/databases/${databaseId}/collections/${collectionId}/documents`, params);
48
+ return response.documents;
49
+ }
50
+ async createDocument(databaseId, collectionId, params) {
51
+ const response = await this.client.post(`/databases/${databaseId}/collections/${collectionId}/documents`, params);
52
+ return response.document;
53
+ }
54
+ async getDocument(databaseId, collectionId, documentId) {
55
+ const response = await this.client.get(`/databases/${databaseId}/collections/${collectionId}/documents/${documentId}`);
56
+ return response.document;
57
+ }
58
+ async updateDocument(databaseId, collectionId, documentId, params) {
59
+ const response = await this.client.put(`/databases/${databaseId}/collections/${collectionId}/documents/${documentId}`, params);
60
+ return response.document;
61
+ }
62
+ async deleteDocument(databaseId, collectionId, documentId) {
63
+ const response = await this.client.delete(`/databases/${databaseId}/collections/${collectionId}/documents/${documentId}`);
64
+ return !!(response.success ?? response.deleted);
65
+ }
66
+ }
67
+ exports.DatabasesResource = DatabasesResource;
68
+ //# sourceMappingURL=DatabasesResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabasesResource.js","sourceRoot":"","sources":["../../../src/cloud/resources/DatabasesResource.ts"],"names":[],"mappings":";;;AA2BA,MAAa,iBAAiB;IACC;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD,KAAK,CAAC,MAAM,CAAC,MAA4B;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAyB,YAAY,EAAE,MAAM,CAAC,CAAC;QACtF,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAA8B,EAAE;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAA4B,YAAY,EAAE;YAC9E,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAAkB;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAyB,cAAc,UAAU,EAAE,CAAC,CAAC;QAC3F,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,MAA4B;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAyB,cAAc,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;QACrG,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAA2C,cAAc,UAAU,EAAE,CAAC,CAAC;QAChH,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,UAAU,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAwC,cAAc,UAAU,cAAc,CAAC,CAAC;QACtH,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAAkB,EAClB,MAAsC;QAEtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,cAAc,UAAU,cAAc,EACtC,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,UAAU,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,YAAoB;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACvC,cAAc,UAAU,gBAAgB,YAAY,EAAE,CACvD,CAAC;QACF,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,YAAoB,EACpB,SAA6B,EAAE;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,cAAc,UAAU,gBAAgB,YAAY,YAAY,EAChE,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAAkB,EAClB,YAAoB,EACpB,MAAoC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,cAAc,UAAU,gBAAgB,YAAY,YAAY,EAChE,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,UAAkB,EAClB,YAAoB,EACpB,UAAkB;QAElB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,cAAc,UAAU,gBAAgB,YAAY,cAAc,UAAU,EAAE,CAC/E,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAAkB,EAClB,YAAoB,EACpB,UAAkB,EAClB,MAAoC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,cAAc,UAAU,gBAAgB,YAAY,cAAc,UAAU,EAAE,EAC9E,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAAkB,EAClB,YAAoB,EACpB,UAAkB;QAElB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CACvC,cAAc,UAAU,gBAAgB,YAAY,cAAc,UAAU,EAAE,CAC/E,CAAC;QACF,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;CACF;AAnHD,8CAmHC"}
@@ -15,6 +15,40 @@ export interface ListEnvironmentsParams {
15
15
  limit?: number;
16
16
  offset?: number;
17
17
  }
18
+ export interface EnvironmentSnapshot {
19
+ id: string;
20
+ environmentId: string;
21
+ sourceThreadId?: string | null;
22
+ sourceStepId?: string | null;
23
+ parentSnapshotId?: string | null;
24
+ ledgerCommitSha?: string;
25
+ changedPaths?: string[];
26
+ additions?: number;
27
+ deletions?: number;
28
+ metadata?: Record<string, unknown> | null;
29
+ createdAt?: string;
30
+ }
31
+ export interface EnvironmentAnalyticsResponse {
32
+ environmentId: string;
33
+ available?: boolean;
34
+ summary?: Record<string, unknown>;
35
+ charts?: Record<string, unknown>;
36
+ recentRuns?: Array<Record<string, unknown>>;
37
+ }
38
+ export interface EnvironmentSecretDescriptor {
39
+ key: string;
40
+ hasValue: boolean;
41
+ }
42
+ export interface EnvironmentGuiActionParams {
43
+ action: 'click' | 'double_click' | 'right_click' | 'scroll' | 'key' | 'type' | 'bootstrap' | 'launch_app';
44
+ x?: number;
45
+ y?: number;
46
+ deltaY?: number;
47
+ steps?: number;
48
+ key?: string;
49
+ text?: string;
50
+ app?: string;
51
+ }
18
52
  export declare class EnvironmentsResource {
19
53
  private readonly client;
20
54
  constructor(client: ApiClient);
@@ -39,6 +73,10 @@ export declare class EnvironmentsResource {
39
73
  * Creates one if it doesn't exist.
40
74
  */
41
75
  getDefault(): Promise<Environment>;
76
+ /**
77
+ * Mark an environment as the default computer for the current user.
78
+ */
79
+ setDefault(environmentId: string): Promise<Environment>;
42
80
  /**
43
81
  * Update an environment
44
82
  */
@@ -156,6 +194,78 @@ export declare class EnvironmentsResource {
156
194
  * Get container status for an environment
157
195
  */
158
196
  getStatus(environmentId: string): Promise<ContainerStatus>;
197
+ /**
198
+ * Get runtime analytics for the computer.
199
+ */
200
+ getAnalytics(environmentId: string): Promise<EnvironmentAnalyticsResponse>;
201
+ /**
202
+ * Capture a desktop screenshot from the computer.
203
+ */
204
+ captureScreenshot(environmentId: string): Promise<Buffer>;
205
+ /**
206
+ * Create a browser/desktop session token for GUI streaming.
207
+ */
208
+ createGuiSession(environmentId: string): Promise<{
209
+ token: string;
210
+ websocketPath: string;
211
+ expiresAt: string;
212
+ }>;
213
+ /**
214
+ * Execute a GUI action in the computer session.
215
+ */
216
+ performGuiAction(environmentId: string, params: EnvironmentGuiActionParams): Promise<{
217
+ ok: boolean;
218
+ action: string;
219
+ }>;
220
+ /**
221
+ * List configured secret keys for the computer.
222
+ */
223
+ listSecrets(environmentId: string): Promise<EnvironmentSecretDescriptor[]>;
224
+ createSecret(environmentId: string, key: string, value: string): Promise<{
225
+ success?: boolean;
226
+ key: string;
227
+ message?: string;
228
+ }>;
229
+ updateSecret(environmentId: string, key: string, value: string): Promise<{
230
+ success?: boolean;
231
+ key: string;
232
+ message?: string;
233
+ }>;
234
+ deleteSecret(environmentId: string, key: string): Promise<{
235
+ success?: boolean;
236
+ key: string;
237
+ message?: string;
238
+ }>;
239
+ /**
240
+ * Initialize snapshot history for a computer.
241
+ */
242
+ initializeSnapshots(environmentId: string): Promise<{
243
+ environmentId: string;
244
+ snapshot: EnvironmentSnapshot;
245
+ }>;
246
+ /**
247
+ * List checkpoint snapshots for a computer.
248
+ */
249
+ listSnapshots(environmentId: string): Promise<EnvironmentSnapshot[]>;
250
+ listSnapshotFiles(environmentId: string, snapshotId: string, params?: {
251
+ prefix?: string;
252
+ }): Promise<Array<Record<string, unknown>>>;
253
+ getSnapshotDiff(environmentId: string, snapshotId: string, params?: {
254
+ path?: string;
255
+ }): Promise<Record<string, unknown>>;
256
+ getSnapshotFile(environmentId: string, snapshotId: string, path: string): Promise<{
257
+ path: string;
258
+ snapshotId: string;
259
+ content: string;
260
+ }>;
261
+ forkFromSnapshot(environmentId: string, snapshotId: string, params?: {
262
+ name?: string;
263
+ description?: string;
264
+ }): Promise<{
265
+ environment: Environment;
266
+ snapshot?: EnvironmentSnapshot;
267
+ sourceSnapshotId?: string;
268
+ }>;
159
269
  /**
160
270
  * Get the agent configuration for an environment
161
271
  */
@@ -58,6 +58,13 @@ class EnvironmentsResource {
58
58
  const response = await this.client.get(`/environments/default`);
59
59
  return response;
60
60
  }
61
+ /**
62
+ * Mark an environment as the default computer for the current user.
63
+ */
64
+ async setDefault(environmentId) {
65
+ const response = await this.client.post(`/environments/${environmentId}/set-default`, {});
66
+ return response.environment;
67
+ }
61
68
  /**
62
69
  * Update an environment
63
70
  */
@@ -235,6 +242,74 @@ class EnvironmentsResource {
235
242
  const response = await this.client.get(`/environments/${environmentId}/status`);
236
243
  return response;
237
244
  }
245
+ /**
246
+ * Get runtime analytics for the computer.
247
+ */
248
+ async getAnalytics(environmentId) {
249
+ return this.client.get(`/environments/${environmentId}/analytics`);
250
+ }
251
+ /**
252
+ * Capture a desktop screenshot from the computer.
253
+ */
254
+ async captureScreenshot(environmentId) {
255
+ const response = await this.client.request('GET', `/environments/${environmentId}/gui/screenshot`, { stream: true });
256
+ const arrayBuffer = await response.arrayBuffer();
257
+ return Buffer.from(arrayBuffer);
258
+ }
259
+ /**
260
+ * Create a browser/desktop session token for GUI streaming.
261
+ */
262
+ async createGuiSession(environmentId) {
263
+ return this.client.post(`/environments/${environmentId}/gui/session`, {});
264
+ }
265
+ /**
266
+ * Execute a GUI action in the computer session.
267
+ */
268
+ async performGuiAction(environmentId, params) {
269
+ return this.client.post(`/environments/${environmentId}/gui/action`, params);
270
+ }
271
+ /**
272
+ * List configured secret keys for the computer.
273
+ */
274
+ async listSecrets(environmentId) {
275
+ const response = await this.client.get(`/environments/${environmentId}/secrets`);
276
+ return response.data;
277
+ }
278
+ async createSecret(environmentId, key, value) {
279
+ return this.client.post(`/environments/${environmentId}/secrets`, { key, value });
280
+ }
281
+ async updateSecret(environmentId, key, value) {
282
+ return this.client.put(`/environments/${environmentId}/secrets/${encodeURIComponent(key)}`, { value });
283
+ }
284
+ async deleteSecret(environmentId, key) {
285
+ return this.client.delete(`/environments/${environmentId}/secrets/${encodeURIComponent(key)}`);
286
+ }
287
+ /**
288
+ * Initialize snapshot history for a computer.
289
+ */
290
+ async initializeSnapshots(environmentId) {
291
+ return this.client.post(`/environments/${environmentId}/snapshots/initialize`, {});
292
+ }
293
+ /**
294
+ * List checkpoint snapshots for a computer.
295
+ */
296
+ async listSnapshots(environmentId) {
297
+ const response = await this.client.get(`/environments/${environmentId}/snapshots`);
298
+ return response.data;
299
+ }
300
+ async listSnapshotFiles(environmentId, snapshotId, params = {}) {
301
+ const response = await this.client.get(`/environments/${environmentId}/snapshots/${snapshotId}/files`, params);
302
+ return response.data;
303
+ }
304
+ async getSnapshotDiff(environmentId, snapshotId, params = {}) {
305
+ return this.client.get(`/environments/${environmentId}/snapshots/${snapshotId}/diff`, params);
306
+ }
307
+ async getSnapshotFile(environmentId, snapshotId, path) {
308
+ return this.client.get(`/environments/${environmentId}/snapshots/${snapshotId}/file`, { path });
309
+ }
310
+ async forkFromSnapshot(environmentId, snapshotId, params = {}) {
311
+ return this.client.post(`/environments/${environmentId}/snapshots/${snapshotId}/fork`, params);
312
+ }
238
313
  // =========================================================================
239
314
  // Configuration Management
240
315
  // =========================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentsResource.js","sourceRoot":"","sources":["../../../src/cloud/resources/EnvironmentsResource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvironmentsResource.js","sourceRoot":"","sources":["../../../src/cloud/resources/EnvironmentsResource.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,47 @@
6
6
  */
7
7
  import type { ApiClient } from '../ApiClient';
8
8
  import type { GitDiffResult, GitCommitParams, GitCommitResult, GitPushParams, GitPushResult } from '../types';
9
+ export interface GitStatusResult {
10
+ isGitRepo: boolean;
11
+ path?: string;
12
+ message?: string | null;
13
+ branch?: string | null;
14
+ remoteUrl?: string | null;
15
+ changedFiles?: Array<Record<string, unknown>>;
16
+ stagedFiles?: Array<Record<string, unknown>>;
17
+ unstagedFiles?: Array<Record<string, unknown>>;
18
+ hasChanges?: boolean;
19
+ hasStagedChanges?: boolean;
20
+ hasUnstagedChanges?: boolean;
21
+ hasUnpushedCommits?: boolean;
22
+ }
9
23
  export declare class GitResource {
10
24
  private readonly client;
11
25
  constructor(client: ApiClient);
12
26
  /**
13
- * Get uncommitted changes in a workspace
27
+ * Compatibility alias for Git status on a computer workspace.
14
28
  */
15
29
  diff(workspaceId: string): Promise<GitDiffResult>;
30
+ /**
31
+ * Get Git status for a computer workspace or repository path.
32
+ */
33
+ getStatus(environmentId: string, path?: string): Promise<GitStatusResult>;
34
+ /**
35
+ * Stage files before committing.
36
+ */
37
+ stage(environmentId: string, params?: {
38
+ files?: string[];
39
+ path?: string;
40
+ all?: boolean;
41
+ }): Promise<Record<string, unknown>>;
42
+ /**
43
+ * Unstage previously staged files.
44
+ */
45
+ unstage(environmentId: string, params?: {
46
+ files?: string[];
47
+ path?: string;
48
+ all?: boolean;
49
+ }): Promise<Record<string, unknown>>;
16
50
  /**
17
51
  * Create a git commit
18
52
  */
@@ -22,7 +56,31 @@ export declare class GitResource {
22
56
  */
23
57
  push(workspaceId: string, params?: GitPushParams): Promise<GitPushResult>;
24
58
  /**
25
- * Get diff for a specific commit
59
+ * Create a branch inside a computer workspace.
60
+ */
61
+ createBranch(environmentId: string, name: string, path?: string): Promise<Record<string, unknown>>;
62
+ /**
63
+ * Switch the active branch in a computer workspace.
64
+ */
65
+ switchBranch(environmentId: string, name: string, path?: string): Promise<Record<string, unknown>>;
66
+ listBranches(environmentId: string, path?: string): Promise<Record<string, unknown>>;
67
+ listCommits(environmentId: string, params?: {
68
+ path?: string;
69
+ limit?: number;
70
+ }): Promise<Record<string, unknown>>;
71
+ prepareGithub(environmentId: string, params: {
72
+ repoFullName: string;
73
+ branch?: string;
74
+ }): Promise<Record<string, unknown>>;
75
+ clone(environmentId: string, params: {
76
+ repoUrl: string;
77
+ branch?: string;
78
+ targetPath?: string;
79
+ token?: string | null;
80
+ }): Promise<Record<string, unknown>>;
81
+ /**
82
+ * Commit diffs are no longer exposed as a standalone public ACP route.
83
+ * Use thread steps, thread diffs, or environment snapshot diffs instead.
26
84
  */
27
85
  getCommitDiff(workspaceId: string, commitSha: string): Promise<GitDiffResult>;
28
86
  }
@@ -13,32 +13,108 @@ class GitResource {
13
13
  this.client = client;
14
14
  }
15
15
  /**
16
- * Get uncommitted changes in a workspace
16
+ * Compatibility alias for Git status on a computer workspace.
17
17
  */
18
18
  async diff(workspaceId) {
19
- const response = await this.client.get(`/git/${workspaceId}/diff`);
20
- return response;
19
+ const status = await this.getStatus(workspaceId);
20
+ const files = status.changedFiles ?? [];
21
+ return {
22
+ diffs: files.map((file) => ({
23
+ path: String(file.path ?? ''),
24
+ additions: 0,
25
+ deletions: 0,
26
+ changes: String(file.status ?? 'modified'),
27
+ })),
28
+ stats: {
29
+ filesChanged: files.length,
30
+ insertions: 0,
31
+ deletions: 0,
32
+ },
33
+ };
34
+ }
35
+ /**
36
+ * Get Git status for a computer workspace or repository path.
37
+ */
38
+ async getStatus(environmentId, path) {
39
+ return this.client.get(`/environments/${environmentId}/git/status`, path ? { path } : undefined);
40
+ }
41
+ /**
42
+ * Stage files before committing.
43
+ */
44
+ async stage(environmentId, params = {}) {
45
+ return this.client.post(`/environments/${environmentId}/git/stage`, params);
46
+ }
47
+ /**
48
+ * Unstage previously staged files.
49
+ */
50
+ async unstage(environmentId, params = {}) {
51
+ return this.client.post(`/environments/${environmentId}/git/unstage`, params);
21
52
  }
22
53
  /**
23
54
  * Create a git commit
24
55
  */
25
56
  async commit(workspaceId, params) {
26
- const response = await this.client.post(`/git/${workspaceId}/commit`, params);
27
- return response;
57
+ if (params.files?.length) {
58
+ await this.stage(workspaceId, { files: params.files });
59
+ }
60
+ const response = await this.client.post(`/environments/${workspaceId}/git/commit`, { message: params.message });
61
+ return {
62
+ success: !!response.success,
63
+ commit: {
64
+ sha: String(response.sha ?? ''),
65
+ message: String(response.message ?? params.message),
66
+ author: params.author ?? { name: '', email: '' },
67
+ timestamp: new Date().toISOString(),
68
+ filesChanged: params.files?.length ?? 0,
69
+ },
70
+ };
28
71
  }
29
72
  /**
30
73
  * Push commits to remote
31
74
  */
32
75
  async push(workspaceId, params = {}) {
33
- const response = await this.client.post(`/git/${workspaceId}/push`, params);
34
- return response;
76
+ const response = await this.client.post(`/environments/${workspaceId}/git/push`, params);
77
+ return {
78
+ success: !!response.success,
79
+ push: {
80
+ remote: 'origin',
81
+ branch: String(response.branch ?? params.branch ?? ''),
82
+ commits: 0,
83
+ },
84
+ };
85
+ }
86
+ /**
87
+ * Create a branch inside a computer workspace.
88
+ */
89
+ async createBranch(environmentId, name, path) {
90
+ return this.client.post(`/environments/${environmentId}/git/branch`, { name, path });
91
+ }
92
+ /**
93
+ * Switch the active branch in a computer workspace.
94
+ */
95
+ async switchBranch(environmentId, name, path) {
96
+ return this.client.put(`/environments/${environmentId}/git/branch`, { name, path });
97
+ }
98
+ async listBranches(environmentId, path) {
99
+ return this.client.get(`/environments/${environmentId}/git/branches`, path ? { path } : undefined);
100
+ }
101
+ async listCommits(environmentId, params = {}) {
102
+ return this.client.get(`/environments/${environmentId}/git/commits`, params);
103
+ }
104
+ async prepareGithub(environmentId, params) {
105
+ return this.client.post(`/environments/${environmentId}/github/prepare`, params);
106
+ }
107
+ async clone(environmentId, params) {
108
+ return this.client.post(`/environments/${environmentId}/git/clone`, params);
35
109
  }
36
110
  /**
37
- * Get diff for a specific commit
111
+ * Commit diffs are no longer exposed as a standalone public ACP route.
112
+ * Use thread steps, thread diffs, or environment snapshot diffs instead.
38
113
  */
39
114
  async getCommitDiff(workspaceId, commitSha) {
40
- const response = await this.client.get(`/git/${workspaceId}/commits/${commitSha}/diff`);
41
- return response;
115
+ void workspaceId;
116
+ void commitSha;
117
+ throw new Error('getCommitDiff() is not available in the current ACP public API. Use thread step diffs or computer snapshot diffs instead.');
42
118
  }
43
119
  }
44
120
  exports.GitResource = GitResource;
@@ -1 +1 @@
1
- {"version":3,"file":"GitResource.js","sourceRoot":"","sources":["../../../src/cloud/resources/GitResource.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAWH,MAAa,WAAW;IACO;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,WAAmB;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,QAAQ,WAAW,OAAO,CAC3B,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,WAAmB,EACnB,MAAuB;QAEvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,QAAQ,WAAW,SAAS,EAC5B,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,WAAmB,EACnB,SAAwB,EAAE;QAE1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,QAAQ,WAAW,OAAO,EAC1B,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,SAAiB;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,QAAQ,WAAW,YAAY,SAAS,OAAO,CAChD,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAlDD,kCAkDC"}
1
+ {"version":3,"file":"GitResource.js","sourceRoot":"","sources":["../../../src/cloud/resources/GitResource.ts"],"names":[],"mappings":"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"}