@kmlckj/aios-agent-server-sdk 0.0.0-stage → 0.0.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.
Files changed (141) hide show
  1. package/EVENTS.md +88 -0
  2. package/README.md +656 -2
  3. package/capabilities.json +2398 -0
  4. package/dist/cli/daemon/preferences.d.ts +67 -0
  5. package/dist/cli/daemon/protocol.d.ts +26 -0
  6. package/dist/cli/daemon/resource-limits.d.ts +39 -0
  7. package/dist/core/auth/platform-client.d.ts +65 -0
  8. package/dist/core/host/runtime-dependencies.d.ts +26 -0
  9. package/dist/core/skills/skill-bindings.d.ts +19 -0
  10. package/dist/core/skills/skill-versions.d.ts +31 -0
  11. package/dist/electron/main/bundled-runtime-tools.d.ts +24 -0
  12. package/dist/events.js +1 -0
  13. package/dist/index.js +55 -0
  14. package/dist/sdk/src/auth.d.ts +43 -0
  15. package/dist/sdk/src/authorization-events.d.ts +16 -0
  16. package/dist/sdk/src/authorization.d.ts +10 -0
  17. package/dist/sdk/src/communication.d.ts +9 -0
  18. package/dist/sdk/src/diagnostics.d.ts +24 -0
  19. package/dist/sdk/src/errors.d.ts +4 -0
  20. package/dist/sdk/src/events.d.ts +4 -0
  21. package/dist/sdk/src/file-api.d.ts +29 -0
  22. package/dist/sdk/src/file-storage.d.ts +34 -0
  23. package/dist/sdk/src/index.d.ts +260 -0
  24. package/dist/sdk/src/local-connection.d.ts +9 -0
  25. package/dist/sdk/src/managed-host.d.ts +32 -0
  26. package/dist/sdk/src/native-status.d.ts +59 -0
  27. package/dist/sdk/src/platform.d.ts +39 -0
  28. package/dist/sdk/src/runtime-control.d.ts +111 -0
  29. package/dist/sdk/src/runtime-integrity.d.ts +10 -0
  30. package/dist/sdk/src/tool-reference.d.ts +11 -0
  31. package/dist/sdk/src/tool-result.d.ts +36 -0
  32. package/dist/sdk/src/tool-server.d.ts +14 -0
  33. package/dist/sdk/src/transport.d.ts +25 -0
  34. package/dist/sdk/src/types.d.ts +405 -0
  35. package/dist/shared/account-context-api.d.ts +47 -0
  36. package/dist/shared/account-schedules-api.d.ts +110 -0
  37. package/dist/shared/action-center-api.d.ts +50 -0
  38. package/dist/shared/agent-capabilities.d.ts +42 -0
  39. package/dist/shared/agent-hooks.d.ts +10 -0
  40. package/dist/shared/agent-team.d.ts +19 -0
  41. package/dist/shared/artifact-evidence.d.ts +18 -0
  42. package/dist/shared/automation-api.d.ts +112 -0
  43. package/dist/shared/client-downloads-api.d.ts +20 -0
  44. package/dist/shared/cloud-assistant-api.d.ts +532 -0
  45. package/dist/shared/cloud-task-resources.d.ts +24 -0
  46. package/dist/shared/cloud-task-runtime-api.d.ts +253 -0
  47. package/dist/shared/collaboration-api.d.ts +17 -0
  48. package/dist/shared/collaboration-automation-api.d.ts +55 -0
  49. package/dist/shared/collaboration-deep-link.d.ts +15 -0
  50. package/dist/shared/collaboration-event-api.d.ts +19 -0
  51. package/dist/shared/collaboration-plan-api.d.ts +159 -0
  52. package/dist/shared/collaboration-project-api.d.ts +206 -0
  53. package/dist/shared/collaboration-resource-api.d.ts +41 -0
  54. package/dist/shared/collaboration-task-api.d.ts +276 -0
  55. package/dist/shared/collaboration-task-execution.d.ts +39 -0
  56. package/dist/shared/computer-use-api.d.ts +80 -0
  57. package/dist/shared/computer-use-handshake.d.ts +19 -0
  58. package/dist/shared/computer-use-protocol.d.ts +488 -0
  59. package/dist/shared/context-usage.d.ts +15 -0
  60. package/dist/shared/desktop-api.d.ts +450 -0
  61. package/dist/shared/desktop-diagnostics-api.d.ts +56 -0
  62. package/dist/shared/desktop-language.d.ts +3 -0
  63. package/dist/shared/desktop-mcp-service-api.d.ts +157 -0
  64. package/dist/shared/document-session-api.d.ts +91 -0
  65. package/dist/shared/enterprise-knowledge-api.d.ts +103 -0
  66. package/dist/shared/enterprise-project-api.d.ts +26 -0
  67. package/dist/shared/execution-activity.d.ts +3 -0
  68. package/dist/shared/execution-context.d.ts +62 -0
  69. package/dist/shared/execution-identity.d.ts +7 -0
  70. package/dist/shared/execution-profile.d.ts +6 -0
  71. package/dist/shared/execution-target.d.ts +71 -0
  72. package/dist/shared/expert-selection.d.ts +22 -0
  73. package/dist/shared/expert-team-api.d.ts +54 -0
  74. package/dist/shared/feedback-api.d.ts +20 -0
  75. package/dist/shared/git-api.d.ts +227 -0
  76. package/dist/shared/git-http-api.d.ts +12 -0
  77. package/dist/shared/hosted-git-api.d.ts +132 -0
  78. package/dist/shared/js-agent-hooks.d.ts +23 -0
  79. package/dist/shared/local-custom-model-api.d.ts +55 -0
  80. package/dist/shared/local-environment-api.d.ts +110 -0
  81. package/dist/shared/local-mcp-server-api.d.ts +91 -0
  82. package/dist/shared/local-memory.d.ts +165 -0
  83. package/dist/shared/local-plugin-api.d.ts +26 -0
  84. package/dist/shared/local-runtime-api.d.ts +32 -0
  85. package/dist/shared/local-skill-api.d.ts +42 -0
  86. package/dist/shared/local-task-api.d.ts +658 -0
  87. package/dist/shared/local-task-command-client.d.ts +55 -0
  88. package/dist/shared/local-task-command.d.ts +93 -0
  89. package/dist/shared/local-task-event-projection.d.ts +29 -0
  90. package/dist/shared/local-task-projection.d.ts +29 -0
  91. package/dist/shared/local-workspace.d.ts +9 -0
  92. package/dist/shared/managed-authorization.d.ts +72 -0
  93. package/dist/shared/memory-customization.d.ts +32 -0
  94. package/dist/shared/model-routing.d.ts +31 -0
  95. package/dist/shared/model-selection.d.ts +11 -0
  96. package/dist/shared/my-expert-api.d.ts +119 -0
  97. package/dist/shared/navigation-api.d.ts +20 -0
  98. package/dist/shared/office-window-api.d.ts +81 -0
  99. package/dist/shared/platform-branding-api.d.ts +66 -0
  100. package/dist/shared/plugin-market-api.d.ts +120 -0
  101. package/dist/shared/profession-market-api.d.ts +96 -0
  102. package/dist/shared/project-local-skill-api.d.ts +8 -0
  103. package/dist/shared/remote-connection-api.d.ts +97 -0
  104. package/dist/shared/remote-connection.d.ts +62 -0
  105. package/dist/shared/remote-installation-api.d.ts +50 -0
  106. package/dist/shared/remote-tasks-api.d.ts +118 -0
  107. package/dist/shared/runtime-tuning.d.ts +44 -0
  108. package/dist/shared/scene-case-api.d.ts +42 -0
  109. package/dist/shared/sdk-session-contract.d.ts +96 -0
  110. package/dist/shared/security-center-api.d.ts +74 -0
  111. package/dist/shared/sensitive-protection-api.d.ts +71 -0
  112. package/dist/shared/session-policy.d.ts +26 -0
  113. package/dist/shared/shortcut-api.d.ts +7 -0
  114. package/dist/shared/skill-activation-api.d.ts +8 -0
  115. package/dist/shared/skill-asset-api.d.ts +12 -0
  116. package/dist/shared/skill-market-api.d.ts +119 -0
  117. package/dist/shared/skill-upload.d.ts +16 -0
  118. package/dist/shared/speech-recognition-api.d.ts +12 -0
  119. package/dist/shared/storage-integrity.d.ts +15 -0
  120. package/dist/shared/target-bridge-protocol.d.ts +67 -0
  121. package/dist/shared/target-environments.d.ts +15 -0
  122. package/dist/shared/target-resources.d.ts +105 -0
  123. package/dist/shared/task-enterprise-project-api.d.ts +75 -0
  124. package/dist/shared/task-execution-api.d.ts +35 -0
  125. package/dist/shared/task-initialization-api.d.ts +44 -0
  126. package/dist/shared/task-menu-api.d.ts +27 -0
  127. package/dist/shared/task-operation.d.ts +19 -0
  128. package/dist/shared/task-path-policy.d.ts +14 -0
  129. package/dist/shared/task-resource-manifest.d.ts +33 -0
  130. package/dist/shared/task-storage-recovery.d.ts +33 -0
  131. package/dist/shared/task-terminal-api.d.ts +48 -0
  132. package/dist/shared/team-control.d.ts +60 -0
  133. package/dist/shared/tool-activity.d.ts +18 -0
  134. package/dist/shared/update-api.d.ts +65 -0
  135. package/dist/shared/usage-statistics-api.d.ts +18 -0
  136. package/dist/shared/worktree-api.d.ts +188 -0
  137. package/examples/business-assistant.mjs +19 -0
  138. package/examples/common.mjs +51 -0
  139. package/examples/platform-assistant.mjs +9 -0
  140. package/examples/standalone-assistant.mjs +16 -0
  141. package/package.json +40 -4
@@ -0,0 +1,206 @@
1
+ import type { CollaborationProject, CollaborationMember, CloudFileEntry } from './cloud-assistant-api.js';
2
+ export interface CollaborationProjectTemplate {
3
+ id: string;
4
+ name: string;
5
+ description: string | null;
6
+ icon: string | null;
7
+ settings: Record<string, unknown>;
8
+ planViews: Array<Record<string, unknown>>;
9
+ sortOrder: number;
10
+ }
11
+ export interface DesktopTaskSummary {
12
+ taskId: string;
13
+ projectId: string;
14
+ title: string;
15
+ status: string;
16
+ unread: boolean;
17
+ updatedAt: string;
18
+ }
19
+ export interface DesktopProjectSidebarItem {
20
+ project: CollaborationProject;
21
+ tasks: DesktopTaskSummary[];
22
+ hasMoreTasks: boolean;
23
+ }
24
+ export interface DesktopProjectSettings {
25
+ projectId: string;
26
+ initialized: boolean;
27
+ templateId: string | null;
28
+ instruction: string;
29
+ defaultModelId: string | null;
30
+ defaultExpertMode: boolean;
31
+ defaultThinkingEnabled: boolean;
32
+ defaultReasoningEffort: string | null;
33
+ revision: number;
34
+ initializedAt: string | null;
35
+ updatedAt: string | null;
36
+ editable: boolean;
37
+ }
38
+ export interface DesktopActivity {
39
+ id: string;
40
+ projectId: string;
41
+ sequence: number;
42
+ activityType: string;
43
+ sourceType: string;
44
+ sourceId: string | null;
45
+ actorUserId: string | null;
46
+ content: Record<string, unknown>;
47
+ createdAt: string;
48
+ updatedAt: string | null;
49
+ editable: boolean;
50
+ }
51
+ export interface ProjectInvitation {
52
+ id: string;
53
+ projectId: string;
54
+ status: string;
55
+ role: string;
56
+ expiresAt: string;
57
+ createdAt: string;
58
+ inviteUrl?: string;
59
+ }
60
+ export interface ProjectJoinRequest {
61
+ id: string;
62
+ projectId: string;
63
+ applicantUserId: string;
64
+ note: string | null;
65
+ status: string;
66
+ createdAt: string;
67
+ }
68
+ export interface ProjectFileUsage {
69
+ usedBytes: number;
70
+ quotaBytes: number | null;
71
+ remainingBytes: number | null;
72
+ unlimited: boolean;
73
+ canUpgrade: boolean;
74
+ }
75
+ export interface ProjectFileType {
76
+ category: string;
77
+ label: string;
78
+ extensions: string[];
79
+ mimeTypes: string[];
80
+ }
81
+ export interface CollaborationProjectApi {
82
+ templates: {
83
+ list(): Promise<CollaborationProjectTemplate[]>;
84
+ get(templateId: string): Promise<CollaborationProjectTemplate>;
85
+ };
86
+ sidebar: {
87
+ get(taskLimit?: number): Promise<DesktopProjectSidebarItem[]>;
88
+ };
89
+ settings: {
90
+ get(projectId: string): Promise<DesktopProjectSettings>;
91
+ initialize(projectId: string, request: {
92
+ templateId?: string | null;
93
+ instruction?: string;
94
+ defaultModelId?: string | null;
95
+ expertMode: boolean;
96
+ thinkingEnabled?: boolean;
97
+ reasoningEffort?: string;
98
+ idempotencyKey: string;
99
+ }): Promise<DesktopProjectSettings>;
100
+ updateInstruction(projectId: string, request: {
101
+ instruction: string;
102
+ revision: number;
103
+ }): Promise<DesktopProjectSettings>;
104
+ updateRuntime(projectId: string, request: {
105
+ modelId: string;
106
+ expertMode: boolean;
107
+ thinkingEnabled: boolean;
108
+ reasoningEffort?: string;
109
+ }): Promise<DesktopProjectSettings>;
110
+ };
111
+ activities: {
112
+ list(projectId: string, query?: {
113
+ afterSequence?: number;
114
+ beforeSequence?: number;
115
+ type?: string;
116
+ actorUserIds?: string[];
117
+ limit?: number;
118
+ }): Promise<DesktopActivity[]>;
119
+ post(projectId: string, request: {
120
+ content: string;
121
+ mentions?: Array<Record<string, unknown>>;
122
+ attachments?: Array<Record<string, unknown>>;
123
+ replyToActivityId?: string;
124
+ idempotencyKey: string;
125
+ }): Promise<DesktopActivity>;
126
+ update(projectId: string, activityId: string, request: {
127
+ content: string;
128
+ mentions?: Array<Record<string, unknown>>;
129
+ attachments?: Array<Record<string, unknown>>;
130
+ }): Promise<DesktopActivity>;
131
+ delete(projectId: string, activityId: string): Promise<void>;
132
+ markRead(projectId: string, sequence: number): Promise<void>;
133
+ };
134
+ webMessages: {
135
+ post(projectId: string, content: string): Promise<Record<string, unknown>>;
136
+ };
137
+ invitations: {
138
+ list(projectId: string): Promise<ProjectInvitation[]>;
139
+ create(projectId: string, request: {
140
+ role: string;
141
+ expiresInDays: number;
142
+ maxUses: number;
143
+ }): Promise<ProjectInvitation>;
144
+ revoke(projectId: string, invitationId: string): Promise<void>;
145
+ preview(token: string): Promise<Record<string, unknown>>;
146
+ apply(token: string, note?: string): Promise<ProjectJoinRequest>;
147
+ listRequests(projectId: string): Promise<ProjectJoinRequest[]>;
148
+ approve(projectId: string, requestId: string): Promise<ProjectJoinRequest>;
149
+ reject(projectId: string, requestId: string, reason?: string): Promise<ProjectJoinRequest>;
150
+ cancel(projectId: string, requestId: string): Promise<ProjectJoinRequest>;
151
+ };
152
+ assets: {
153
+ list(projectId: string, query?: {
154
+ projectDir?: string;
155
+ depth?: number;
156
+ keyword?: string;
157
+ fileType?: string;
158
+ limit?: number;
159
+ offset?: number;
160
+ }): Promise<CloudFileEntry[]>;
161
+ get(projectId: string, artifactId: string): Promise<CloudFileEntry>;
162
+ readText(projectId: string, artifactId: string): Promise<{
163
+ content: string;
164
+ mediaType: string;
165
+ truncated: boolean;
166
+ }>;
167
+ readBinary(projectId: string, artifactId: string): Promise<{
168
+ data: Uint8Array;
169
+ mediaType: string | null;
170
+ }>;
171
+ upload(projectId: string, request: {
172
+ projectDir?: string;
173
+ fileType?: string;
174
+ fileName: string;
175
+ mediaType: string;
176
+ data: Uint8Array;
177
+ }): Promise<CloudFileEntry>;
178
+ replace(projectId: string, artifactId: string, request: {
179
+ fileName: string;
180
+ mediaType: string;
181
+ data: Uint8Array;
182
+ }): Promise<CloudFileEntry>;
183
+ updateText(projectId: string, artifactId: string, request: {
184
+ content: string;
185
+ mediaType?: string;
186
+ }): Promise<CloudFileEntry>;
187
+ createFolder(projectId: string, request: {
188
+ projectDir?: string;
189
+ name: string;
190
+ }): Promise<CloudFileEntry>;
191
+ move(projectId: string, artifactId: string, request: {
192
+ projectDir?: string;
193
+ name?: string;
194
+ }): Promise<CloudFileEntry>;
195
+ delete(projectId: string, artifactId: string): Promise<void>;
196
+ usage(projectId: string): Promise<ProjectFileUsage>;
197
+ types(projectId: string): Promise<ProjectFileType[]>;
198
+ accessUrl(projectId: string, artifactId: string): Promise<string>;
199
+ };
200
+ members: {
201
+ list(projectId: string): Promise<CollaborationMember[]>;
202
+ update(projectId: string, memberId: string, role: 'ADMIN' | 'MEMBER' | 'VIEWER'): Promise<CollaborationMember>;
203
+ remove(projectId: string, memberId: string): Promise<void>;
204
+ leave(projectId: string): Promise<void>;
205
+ };
206
+ }
@@ -0,0 +1,41 @@
1
+ export interface DesktopProjectResource {
2
+ id: string;
3
+ projectId: string;
4
+ resourceType: 'SKILL' | 'CONNECTOR';
5
+ resourceId: string;
6
+ resourceVersion: string | null;
7
+ authorizationId: string | null;
8
+ authorizationScope: 'PUBLIC' | 'PERSONAL' | null;
9
+ enabled: boolean;
10
+ sortOrder: number;
11
+ config: Record<string, unknown>;
12
+ }
13
+ export interface DesktopResourceCatalogItem {
14
+ resourceType: 'SKILL' | 'CONNECTOR';
15
+ resourceId: string;
16
+ name: string;
17
+ description: string | null;
18
+ iconUrl: string | null;
19
+ version: string | null;
20
+ authorizationModes: string[];
21
+ authorizationRequired: boolean;
22
+ }
23
+ export interface ConnectorAuthorization {
24
+ id: string;
25
+ projectId: string;
26
+ connectorId: string;
27
+ authorizationScope: 'PUBLIC' | 'PERSONAL';
28
+ ownerUserId: string | null;
29
+ status: string;
30
+ }
31
+ export interface CollaborationResourceApi {
32
+ catalog(): Promise<DesktopResourceCatalogItem[]>;
33
+ list(projectId: string): Promise<DesktopProjectResource[]>;
34
+ create(projectId: string, request: Record<string, unknown>): Promise<DesktopProjectResource>;
35
+ update(projectId: string, bindingId: string, request: Record<string, unknown>): Promise<DesktopProjectResource>;
36
+ delete(projectId: string, bindingId: string): Promise<void>;
37
+ validate(projectId: string, bindingId: string): Promise<Record<string, unknown>>;
38
+ authorizations(projectId: string): Promise<ConnectorAuthorization[]>;
39
+ bindPublicAuthorization(projectId: string, request: Record<string, unknown>): Promise<ConnectorAuthorization>;
40
+ unbindPublicAuthorization(projectId: string, authorizationId: string): Promise<void>;
41
+ }
@@ -0,0 +1,276 @@
1
+ import type { LocalTaskEventType, LocalTaskMessageMode, LocalTaskRichContent } from './local-task-api.js';
2
+ export type CloudTaskRuntimeEngine = 'licos' | 'codex' | 'cloud-task';
3
+ export type CloudTaskStatus = 'DRAFT' | 'PLANNING' | 'PROVISIONING' | 'RUNNING' | 'WAITING_INPUT' | 'COMPLETED' | 'FAILED' | 'CANCELED' | 'INTERRUPTED' | 'ARCHIVED';
4
+ export type CloudTaskSource = 'MANUAL' | 'PLAN' | 'AUTOMATION' | 'SCHEDULE' | 'COLLABORATION' | 'CODING';
5
+ export type CloudTaskInstanceStatus = 'UNINITIALIZED' | 'PROVISIONING' | 'READY' | 'FAILED';
6
+ export interface CloudTaskResourceSnapshot {
7
+ bindingId: string;
8
+ resourceType: 'SKILL' | 'CONNECTOR';
9
+ resourceId: string;
10
+ resourceVersion: string | null;
11
+ name: string;
12
+ description: string | null;
13
+ iconUrl: string | null;
14
+ }
15
+ export interface CloudTask {
16
+ id: string;
17
+ workspaceId: string;
18
+ ownerUserId: string;
19
+ projectId: string | null;
20
+ planItemId: string | null;
21
+ sourceType: CloudTaskSource;
22
+ sourceId: string | null;
23
+ title: string;
24
+ description: string | null;
25
+ prompt: string;
26
+ visibility: 'PRIVATE' | 'PROJECT';
27
+ status: CloudTaskStatus;
28
+ expertMode: boolean;
29
+ runtimeEngine: CloudTaskRuntimeEngine;
30
+ modelId: string;
31
+ recommendedModelId?: string | null;
32
+ thinkingEnabled: boolean;
33
+ reasoningEffort: string | null;
34
+ approvalMode: string;
35
+ messageMode: LocalTaskMessageMode;
36
+ resourceBindingIds: string[];
37
+ resourceSnapshots: CloudTaskResourceSnapshot[];
38
+ instanceId: string | null;
39
+ instanceStatus: CloudTaskInstanceStatus;
40
+ currentRunId: string | null;
41
+ summary: string | null;
42
+ errorCode: string | null;
43
+ errorMessage: string | null;
44
+ diagnosticId: string | null;
45
+ revision: number;
46
+ pinned: boolean;
47
+ unread: boolean;
48
+ viewerRole: 'OWNER' | 'EDITOR' | 'VIEWER' | 'PROJECT_MEMBER';
49
+ archivedAt: string | null;
50
+ createdAt: string;
51
+ updatedAt: string;
52
+ }
53
+ export interface CloudTaskRun {
54
+ id: string;
55
+ taskId: string;
56
+ runNumber: number;
57
+ status: string;
58
+ triggerType: string;
59
+ prompt: string;
60
+ runtimeEngine: CloudTaskRuntimeEngine;
61
+ modelId: string;
62
+ mode: LocalTaskMessageMode;
63
+ resourceBindingIds: string[];
64
+ richContent?: LocalTaskRichContent;
65
+ errorCode: string | null;
66
+ errorMessage: string | null;
67
+ startedAt: string | null;
68
+ completedAt: string | null;
69
+ createdAt: string;
70
+ }
71
+ export interface CloudTaskArtifact {
72
+ id: string;
73
+ taskId: string;
74
+ runId: string | null;
75
+ name: string;
76
+ path: string;
77
+ mimeType: string | null;
78
+ sizeBytes: number | null;
79
+ sha256: string | null;
80
+ artifactType: string;
81
+ promotedProjectId: string | null;
82
+ promotedArtifactId: string | null;
83
+ createdAt: string;
84
+ }
85
+ export interface CloudTaskAttachment {
86
+ id: string;
87
+ taskId: string;
88
+ runId: string | null;
89
+ uploaderUserId: string;
90
+ fileName: string;
91
+ mediaType: string;
92
+ sizeBytes: number;
93
+ sha256: string;
94
+ workspacePath: string | null;
95
+ hydratedAt: string | null;
96
+ createdAt: string;
97
+ }
98
+ export type CloudTaskEventType = 'task.state.changed' | 'task.thinking.delta' | 'task.answer.delta' | 'task.answer.completed' | 'task.execution.event' | 'task.error' | 'task.interaction.required' | 'task.interaction.resolved' | 'task.artifact.created' | 'task.artifact.promoted';
99
+ interface CloudTaskEventBase<TType extends CloudTaskEventType, TPayload> {
100
+ id: string;
101
+ workspaceId: string;
102
+ taskId: string;
103
+ runId: string;
104
+ eventId: string;
105
+ traceId: string | null;
106
+ sessionId: string;
107
+ turnId: string | null;
108
+ executionRoundId: string | null;
109
+ executionRoundIndex: number | null;
110
+ seqId: number;
111
+ eventType: TType;
112
+ payload: TPayload;
113
+ occurredAt: string;
114
+ createdAt: string;
115
+ }
116
+ export interface CloudTaskInteractionOption {
117
+ id?: string;
118
+ label: string;
119
+ description?: string;
120
+ rule?: string;
121
+ }
122
+ export interface CloudTaskInteractionPayload {
123
+ kind: 'approval' | 'user_input' | 'elicitation';
124
+ interactionId: string;
125
+ interactionType?: 'question' | 'elicitation';
126
+ title?: string;
127
+ question?: string;
128
+ description?: string;
129
+ toolCallId?: string;
130
+ toolName?: string;
131
+ toolCategory?: string;
132
+ riskLevel?: string;
133
+ requestId?: string;
134
+ options?: CloudTaskInteractionOption[];
135
+ allowOther?: boolean;
136
+ secret?: boolean;
137
+ mode?: string;
138
+ serverName?: string;
139
+ cancelable?: boolean;
140
+ formSchema?: Record<string, unknown> | unknown[];
141
+ url?: string;
142
+ status?: 'pending' | 'approved' | 'denied' | 'submitted' | 'cancelled' | 'timed_out';
143
+ approved?: boolean;
144
+ response?: unknown;
145
+ }
146
+ export type CloudTaskEvent = CloudTaskEventBase<'task.state.changed', {
147
+ state: string;
148
+ sessionId: string;
149
+ turnId?: string;
150
+ }> | CloudTaskEventBase<'task.thinking.delta', {
151
+ text: string;
152
+ sessionId: string;
153
+ turnId?: string;
154
+ }> | CloudTaskEventBase<'task.answer.delta', {
155
+ text: string;
156
+ sessionId: string;
157
+ turnId?: string;
158
+ }> | CloudTaskEventBase<'task.answer.completed', {
159
+ text: string;
160
+ sessionId: string;
161
+ turnId?: string;
162
+ total_input_tokens?: number;
163
+ total_output_tokens?: number;
164
+ total_cache_read_tokens?: number;
165
+ total_cache_write_tokens?: number;
166
+ charged_points?: number;
167
+ turn_count?: number;
168
+ duration_ms?: number;
169
+ }> | CloudTaskEventBase<'task.execution.event', {
170
+ type: LocalTaskEventType;
171
+ data: Record<string, unknown>;
172
+ sessionId: string;
173
+ turnId?: string;
174
+ }> | CloudTaskEventBase<'task.error', {
175
+ message: string;
176
+ retryable: boolean;
177
+ sessionId: string;
178
+ turnId?: string;
179
+ }> | CloudTaskEventBase<'task.interaction.required', CloudTaskInteractionPayload & {
180
+ sessionId: string;
181
+ turnId?: string;
182
+ }> | CloudTaskEventBase<'task.interaction.resolved', {
183
+ kind: 'approval' | 'user_input' | 'elicitation';
184
+ interactionId: string;
185
+ interactionType?: 'question' | 'elicitation';
186
+ approved?: boolean;
187
+ optionId?: string;
188
+ status?: string;
189
+ response?: unknown;
190
+ sessionId: string;
191
+ turnId?: string;
192
+ }> | CloudTaskEventBase<'task.artifact.created' | 'task.artifact.promoted', {
193
+ artifactId?: string;
194
+ name?: string;
195
+ mimeType?: string;
196
+ size_bytes?: number;
197
+ sessionId: string;
198
+ turnId?: string;
199
+ }>;
200
+ export interface CloudTaskEventPage {
201
+ items: CloudTaskEvent[];
202
+ nextSeqId: number;
203
+ hasMore: boolean;
204
+ taskStatus: CloudTaskStatus;
205
+ runStatus: string | null;
206
+ }
207
+ export interface CloudTaskApi {
208
+ sources(): Promise<CloudTaskSource[]>;
209
+ list(query?: {
210
+ projectId?: string;
211
+ status?: CloudTaskStatus;
212
+ sourceType?: CloudTaskSource;
213
+ ownerUserId?: string;
214
+ keyword?: string;
215
+ createdAfter?: string;
216
+ createdBefore?: string;
217
+ limit?: number;
218
+ offset?: number;
219
+ }): Promise<CloudTask[]>;
220
+ get(taskId: string): Promise<CloudTask>;
221
+ markRead(taskId: string): Promise<void>;
222
+ artifacts(taskId: string): Promise<CloudTaskArtifact[]>;
223
+ readArtifact(taskId: string, artifactId: string): Promise<{
224
+ data: Uint8Array;
225
+ mediaType: string | null;
226
+ }>;
227
+ readAttachment(taskId: string, attachmentId: string): Promise<{
228
+ data: Uint8Array;
229
+ mediaType: string | null;
230
+ }>;
231
+ artifact(taskId: string, artifactId: string): Promise<CloudTaskArtifact>;
232
+ artifactAccess(taskId: string, artifactId: string): Promise<{
233
+ artifactId: string;
234
+ previewUrl: string;
235
+ downloadUrl: string;
236
+ mimeType: string | null;
237
+ sizeBytes: number | null;
238
+ }>;
239
+ promoteArtifact(taskId: string, artifactId: string, request: {
240
+ projectId: string;
241
+ projectDir?: string;
242
+ name?: string;
243
+ }): Promise<CloudTaskArtifact>;
244
+ pin(taskId: string): Promise<CloudTask>;
245
+ unpin(taskId: string): Promise<CloudTask>;
246
+ comments(taskId: string): Promise<Array<Record<string, unknown>>>;
247
+ addComment(taskId: string, request: Record<string, unknown>): Promise<Record<string, unknown>>;
248
+ updateComment(taskId: string, commentId: string, request: Record<string, unknown>): Promise<Record<string, unknown>>;
249
+ deleteComment(taskId: string, commentId: string): Promise<void>;
250
+ shares: TaskShareApi;
251
+ invitations: TaskInvitationApi;
252
+ collaborators: TaskCollaboratorApi;
253
+ }
254
+ export interface TaskShareApi {
255
+ list(taskId: string): Promise<Array<Record<string, unknown>>>;
256
+ create(taskId: string, request: Record<string, unknown>): Promise<Record<string, unknown>>;
257
+ revoke(taskId: string, shareId: string): Promise<void>;
258
+ preview(token: string): Promise<Record<string, unknown>>;
259
+ requestAccess(token: string, request: Record<string, unknown>): Promise<Record<string, unknown>>;
260
+ listRequests(taskId: string): Promise<Array<Record<string, unknown>>>;
261
+ reviewRequest(taskId: string, requestId: string, approve: boolean): Promise<Record<string, unknown>>;
262
+ }
263
+ export interface TaskInvitationApi {
264
+ list(taskId: string): Promise<Array<Record<string, unknown>>>;
265
+ create(taskId: string, request: Record<string, unknown>): Promise<Record<string, unknown>>;
266
+ revoke(taskId: string, invitationId: string): Promise<void>;
267
+ preview(token: string): Promise<Record<string, unknown>>;
268
+ accept(token: string, idempotencyKey: string): Promise<Record<string, unknown>>;
269
+ reject(token: string): Promise<Record<string, unknown>>;
270
+ }
271
+ export interface TaskCollaboratorApi {
272
+ list(taskId: string): Promise<Array<Record<string, unknown>>>;
273
+ update(taskId: string, collaboratorId: string, role: string): Promise<Record<string, unknown>>;
274
+ remove(taskId: string, collaboratorId: string): Promise<void>;
275
+ }
276
+ export {};
@@ -0,0 +1,39 @@
1
+ export interface ProjectExecutionRef {
2
+ actorUserId: string;
3
+ projectId: string;
4
+ }
5
+ export interface ProjectTaskNotAdmitted {
6
+ admitted: false;
7
+ message: string;
8
+ }
9
+ export interface ProjectTaskExecution {
10
+ id: string;
11
+ projectId: string;
12
+ sourceMessageId: string;
13
+ actorUserId: string;
14
+ taskId: string;
15
+ taskTitle: string;
16
+ messageCommandId: string;
17
+ status: string;
18
+ replyMessageId: string;
19
+ }
20
+ export interface ProjectTaskStart {
21
+ commandId: string;
22
+ sourceMessageId: string;
23
+ taskId?: string;
24
+ workspaceId?: string;
25
+ memory?: {
26
+ read: boolean;
27
+ write: boolean;
28
+ };
29
+ newTask?: {
30
+ title: string;
31
+ model: string;
32
+ mode: 'agent' | 'plan';
33
+ thinkingEnabled: boolean;
34
+ reasoningEffort?: string;
35
+ approvalMode: 'DEFAULT' | 'AUTO';
36
+ };
37
+ options: Record<string, unknown>;
38
+ attachmentIds?: string[];
39
+ }
@@ -0,0 +1,80 @@
1
+ import type { ComputerUsePeerMetadata } from './computer-use-handshake.js';
2
+ export type ComputerUseDecision = 'allow' | 'deny';
3
+ export declare const MINIMUM_CHROME_MAJOR_VERSION = 120;
4
+ export type ComputerUseAction = 'navigation' | 'history' | 'download' | 'upload';
5
+ export interface ChromeComputerUseSettings {
6
+ enabled: boolean;
7
+ fullCdpEnabled: boolean;
8
+ }
9
+ export type DesktopComputerUseAction = 'observation' | 'windowControl' | 'pointer' | 'keyboard';
10
+ export interface DesktopComputerUseSettings {
11
+ enabled: boolean;
12
+ executionMode: 'standard' | 'strict_background';
13
+ }
14
+ export interface ComputerUseSettings {
15
+ enabled: boolean;
16
+ chrome: ChromeComputerUseSettings;
17
+ desktop: DesktopComputerUseSettings;
18
+ }
19
+ export interface ComputerUseStatus {
20
+ platform: 'darwin' | 'win32' | 'linux';
21
+ desktop: {
22
+ available: boolean;
23
+ helperRunning: boolean;
24
+ executablePath?: string;
25
+ protocolValidated: boolean;
26
+ protocolVersion?: number;
27
+ architectureValidated: boolean;
28
+ architectureVersion?: number;
29
+ invariants?: string[];
30
+ capabilities?: {
31
+ uiAutomation?: boolean;
32
+ screenCapture?: boolean;
33
+ targetIntegrityBoundary?: string;
34
+ uiAutomationError?: string;
35
+ screenCaptureError?: string;
36
+ };
37
+ error?: string;
38
+ };
39
+ chrome: {
40
+ installed: boolean;
41
+ executablePath?: string;
42
+ connectedBrowser?: {
43
+ name: 'Google Chrome' | 'Microsoft Edge' | 'Opera' | 'Chromium 浏览器';
44
+ version?: string;
45
+ majorVersion?: number;
46
+ supported?: boolean;
47
+ userAgent: string;
48
+ };
49
+ mcpConfigured: boolean;
50
+ mcpEnabled: boolean;
51
+ toolsDiscovered: number;
52
+ toolsEnabled: number;
53
+ };
54
+ bridge: {
55
+ brokerRunning: boolean;
56
+ nativeHostRegistered: boolean;
57
+ hostConnected: boolean;
58
+ extensionInstalled: boolean;
59
+ extensionConnected: boolean;
60
+ extensionInstallationMode: 'bundled' | 'web_store' | 'web_store_with_offline';
61
+ extensionId: string;
62
+ extensionDirectory: string;
63
+ manifestPath: string;
64
+ protocolVersion: number;
65
+ lastHeartbeatAt?: string;
66
+ peers?: Partial<Record<ComputerUsePeerMetadata['role'], ComputerUsePeerMetadata>>;
67
+ error?: string;
68
+ registrationError?: string;
69
+ };
70
+ }
71
+ export interface ComputerUseApi {
72
+ getStatus: () => Promise<ComputerUseStatus>;
73
+ registerNativeHost: () => Promise<ComputerUseStatus>;
74
+ unregisterNativeHost: () => Promise<ComputerUseStatus>;
75
+ copyExtensionPath: () => Promise<void>;
76
+ openChromeExtensionsPage: () => Promise<void>;
77
+ openExtensionStorePage: () => Promise<void>;
78
+ }
79
+ export declare const DEFAULT_COMPUTER_USE_SETTINGS: ComputerUseSettings;
80
+ export declare function normalizeComputerUseSettings(value: unknown, fallback?: ComputerUseSettings): ComputerUseSettings;
@@ -0,0 +1,19 @@
1
+ export declare const COMPUTER_USE_METADATA_PROTOCOL_VERSION = 5;
2
+ export declare const COMPUTER_USE_SUPPORTED_PROTOCOLS: readonly [4, 5];
3
+ export type ComputerUseProtocolVersion = typeof COMPUTER_USE_SUPPORTED_PROTOCOLS[number];
4
+ export declare const COMPUTER_USE_TRANSPORT_CAPABILITIES: readonly ["peer-metadata", "connection-diagnostics"];
5
+ export interface ComputerUsePeerMetadata {
6
+ connectionId: string;
7
+ role: 'desktop' | 'host' | 'extension';
8
+ version: string;
9
+ build: string;
10
+ supportedProtocols: number[];
11
+ capabilities: string[];
12
+ }
13
+ export declare const COMPUTER_USE_DIAGNOSTIC_EVENTS: readonly ["capabilities-ready", "control-disabled", "paused", "resumed", "manual-disconnect"];
14
+ export interface ComputerUsePeerDiagnostic {
15
+ connectionId: string;
16
+ event: typeof COMPUTER_USE_DIAGNOSTIC_EVENTS[number];
17
+ }
18
+ export declare function isComputerUsePeerMetadata(value: unknown): value is ComputerUsePeerMetadata;
19
+ export declare function isComputerUsePeerDiagnostic(value: unknown): value is ComputerUsePeerDiagnostic;