@kmlckj/aios-agent-server-sdk 0.0.0-stage → 0.0.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.
Files changed (134) hide show
  1. package/EVENTS.md +88 -0
  2. package/README.md +628 -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 +59 -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 +257 -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 +35 -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 +492 -0
  35. package/dist/shared/account-context-api.d.ts +47 -0
  36. package/dist/shared/action-center-api.d.ts +50 -0
  37. package/dist/shared/agent-capabilities.d.ts +42 -0
  38. package/dist/shared/agent-hooks.d.ts +10 -0
  39. package/dist/shared/agent-team.d.ts +17 -0
  40. package/dist/shared/artifact-evidence.d.ts +18 -0
  41. package/dist/shared/automation-api.d.ts +112 -0
  42. package/dist/shared/client-downloads-api.d.ts +20 -0
  43. package/dist/shared/cloud-assistant-api.d.ts +1020 -0
  44. package/dist/shared/cloud-task-event-api.d.ts +22 -0
  45. package/dist/shared/collaboration-api.d.ts +16 -0
  46. package/dist/shared/collaboration-automation-api.d.ts +55 -0
  47. package/dist/shared/collaboration-deep-link.d.ts +18 -0
  48. package/dist/shared/collaboration-event-api.d.ts +19 -0
  49. package/dist/shared/collaboration-plan-api.d.ts +159 -0
  50. package/dist/shared/collaboration-project-api.d.ts +206 -0
  51. package/dist/shared/collaboration-resource-api.d.ts +41 -0
  52. package/dist/shared/collaboration-task-api.d.ts +372 -0
  53. package/dist/shared/computer-use-api.d.ts +80 -0
  54. package/dist/shared/computer-use-handshake.d.ts +19 -0
  55. package/dist/shared/computer-use-protocol.d.ts +488 -0
  56. package/dist/shared/context-usage.d.ts +15 -0
  57. package/dist/shared/desktop-api.d.ts +449 -0
  58. package/dist/shared/desktop-diagnostics-api.d.ts +56 -0
  59. package/dist/shared/desktop-language.d.ts +3 -0
  60. package/dist/shared/desktop-mcp-service-api.d.ts +157 -0
  61. package/dist/shared/document-session-api.d.ts +91 -0
  62. package/dist/shared/enterprise-knowledge-api.d.ts +103 -0
  63. package/dist/shared/enterprise-project-api.d.ts +26 -0
  64. package/dist/shared/execution-activity.d.ts +3 -0
  65. package/dist/shared/execution-context.d.ts +37 -0
  66. package/dist/shared/execution-identity.d.ts +7 -0
  67. package/dist/shared/execution-profile.d.ts +6 -0
  68. package/dist/shared/execution-target.d.ts +71 -0
  69. package/dist/shared/expert-team-api.d.ts +54 -0
  70. package/dist/shared/feedback-api.d.ts +20 -0
  71. package/dist/shared/git-api.d.ts +227 -0
  72. package/dist/shared/git-http-api.d.ts +12 -0
  73. package/dist/shared/hosted-git-api.d.ts +132 -0
  74. package/dist/shared/js-agent-hooks.d.ts +23 -0
  75. package/dist/shared/local-custom-model-api.d.ts +55 -0
  76. package/dist/shared/local-environment-api.d.ts +110 -0
  77. package/dist/shared/local-mcp-server-api.d.ts +91 -0
  78. package/dist/shared/local-memory.d.ts +165 -0
  79. package/dist/shared/local-plugin-api.d.ts +26 -0
  80. package/dist/shared/local-runtime-api.d.ts +32 -0
  81. package/dist/shared/local-skill-api.d.ts +42 -0
  82. package/dist/shared/local-task-api.d.ts +658 -0
  83. package/dist/shared/local-task-command-client.d.ts +55 -0
  84. package/dist/shared/local-task-command.d.ts +91 -0
  85. package/dist/shared/local-task-event-projection.d.ts +29 -0
  86. package/dist/shared/local-task-projection.d.ts +29 -0
  87. package/dist/shared/local-workspace.d.ts +9 -0
  88. package/dist/shared/managed-authorization.d.ts +70 -0
  89. package/dist/shared/memory-customization.d.ts +32 -0
  90. package/dist/shared/model-routing.d.ts +31 -0
  91. package/dist/shared/model-selection.d.ts +11 -0
  92. package/dist/shared/my-expert-api.d.ts +119 -0
  93. package/dist/shared/navigation-api.d.ts +20 -0
  94. package/dist/shared/office-window-api.d.ts +81 -0
  95. package/dist/shared/platform-branding-api.d.ts +66 -0
  96. package/dist/shared/plugin-market-api.d.ts +120 -0
  97. package/dist/shared/profession-market-api.d.ts +96 -0
  98. package/dist/shared/project-local-skill-api.d.ts +8 -0
  99. package/dist/shared/remote-connection-api.d.ts +97 -0
  100. package/dist/shared/remote-connection.d.ts +62 -0
  101. package/dist/shared/remote-installation-api.d.ts +50 -0
  102. package/dist/shared/remote-tasks-api.d.ts +118 -0
  103. package/dist/shared/runtime-tuning.d.ts +44 -0
  104. package/dist/shared/scene-case-api.d.ts +42 -0
  105. package/dist/shared/security-center-api.d.ts +74 -0
  106. package/dist/shared/sensitive-protection-api.d.ts +71 -0
  107. package/dist/shared/session-policy.d.ts +26 -0
  108. package/dist/shared/shortcut-api.d.ts +7 -0
  109. package/dist/shared/skill-activation-api.d.ts +8 -0
  110. package/dist/shared/skill-asset-api.d.ts +12 -0
  111. package/dist/shared/skill-market-api.d.ts +119 -0
  112. package/dist/shared/skill-upload.d.ts +16 -0
  113. package/dist/shared/speech-recognition-api.d.ts +12 -0
  114. package/dist/shared/storage-integrity.d.ts +15 -0
  115. package/dist/shared/target-bridge-protocol.d.ts +67 -0
  116. package/dist/shared/target-environments.d.ts +15 -0
  117. package/dist/shared/target-resources.d.ts +105 -0
  118. package/dist/shared/task-initialization-api.d.ts +44 -0
  119. package/dist/shared/task-menu-api.d.ts +27 -0
  120. package/dist/shared/task-operation.d.ts +19 -0
  121. package/dist/shared/task-path-policy.d.ts +14 -0
  122. package/dist/shared/task-resource-manifest.d.ts +33 -0
  123. package/dist/shared/task-storage-recovery.d.ts +33 -0
  124. package/dist/shared/task-terminal-api.d.ts +48 -0
  125. package/dist/shared/team-control.d.ts +60 -0
  126. package/dist/shared/tool-activity.d.ts +18 -0
  127. package/dist/shared/update-api.d.ts +65 -0
  128. package/dist/shared/usage-statistics-api.d.ts +18 -0
  129. package/dist/shared/worktree-api.d.ts +188 -0
  130. package/examples/business-assistant.mjs +19 -0
  131. package/examples/common.mjs +51 -0
  132. package/examples/platform-assistant.mjs +9 -0
  133. package/examples/standalone-assistant.mjs +16 -0
  134. package/package.json +20 -4
@@ -0,0 +1,22 @@
1
+ import type { CloudTaskEvent, CloudTaskEventSubscriptionRequest } from './collaboration-task-api.js';
2
+ export interface CloudTaskEventSubscription {
3
+ subscriptionId: string;
4
+ }
5
+ export type CloudTaskEventStreamMessage = {
6
+ type: 'event';
7
+ subscriptionId: string;
8
+ generation: number;
9
+ event: CloudTaskEvent;
10
+ } | {
11
+ type: 'connection';
12
+ subscriptionId: string;
13
+ generation: number;
14
+ state: 'connecting' | 'connected' | 'recovering' | 'closed';
15
+ lastSeqId: number;
16
+ reason?: string;
17
+ };
18
+ export interface CloudTaskEventApi {
19
+ subscribe(request: CloudTaskEventSubscriptionRequest): Promise<CloudTaskEventSubscription>;
20
+ unsubscribe(subscriptionId: string): Promise<void>;
21
+ onEvent(listener: (message: CloudTaskEventStreamMessage) => void): () => void;
22
+ }
@@ -0,0 +1,16 @@
1
+ import type { CollaborationProjectApi } from './collaboration-project-api.js';
2
+ import type { CollaborationPlanApi } from './collaboration-plan-api.js';
3
+ import type { CloudTaskApi } from './collaboration-task-api.js';
4
+ import type { CollaborationResourceApi } from './collaboration-resource-api.js';
5
+ import type { CollaborationAutomationApi } from './collaboration-automation-api.js';
6
+ import type { CollaborationEventApi } from './collaboration-event-api.js';
7
+ import type { CloudTaskEventApi } from './cloud-task-event-api.js';
8
+ export interface CollaborationDesktopApi {
9
+ projects: CollaborationProjectApi;
10
+ plan: CollaborationPlanApi;
11
+ tasks: CloudTaskApi;
12
+ taskEvents: CloudTaskEventApi;
13
+ resources: CollaborationResourceApi;
14
+ automations: CollaborationAutomationApi;
15
+ events: CollaborationEventApi;
16
+ }
@@ -0,0 +1,55 @@
1
+ export interface CollaborationAutomation {
2
+ id: string;
3
+ projectId: string;
4
+ name: string;
5
+ prompt: string;
6
+ triggerType: 'ONCE' | 'INTERVAL' | 'CRON';
7
+ triggerAt: string | null;
8
+ intervalSeconds: number | null;
9
+ cronExpression: string | null;
10
+ zoneId: string | null;
11
+ enabled: boolean;
12
+ expertMode: boolean;
13
+ modelId: string;
14
+ thinkingEnabled: boolean;
15
+ reasoningEffort: string | null;
16
+ approvalMode: string;
17
+ resourceBindingIds: string[];
18
+ lastRunStatus: string | null;
19
+ lastRunAt: string | null;
20
+ revision: number;
21
+ nextRunAt: string | null;
22
+ createdAt: string;
23
+ updatedAt: string;
24
+ }
25
+ export interface SaveCollaborationAutomationRequest {
26
+ name: string;
27
+ prompt: string;
28
+ trigger_type: CollaborationAutomation['triggerType'];
29
+ trigger_config: {
30
+ cron: string | null;
31
+ zone_id: string | null;
32
+ trigger_at: string | null;
33
+ interval_seconds: number | null;
34
+ };
35
+ enabled: boolean;
36
+ runtime_config: {
37
+ expert_mode: boolean;
38
+ model_id: string;
39
+ thinking_enabled: boolean;
40
+ reasoning_effort: string | null;
41
+ approval_mode: string;
42
+ resource_binding_ids: string[];
43
+ };
44
+ }
45
+ export interface CollaborationAutomationApi {
46
+ list(projectId: string): Promise<CollaborationAutomation[]>;
47
+ get(projectId: string, automationId: string): Promise<CollaborationAutomation>;
48
+ create(projectId: string, request: SaveCollaborationAutomationRequest): Promise<CollaborationAutomation>;
49
+ update(projectId: string, automationId: string, request: Partial<SaveCollaborationAutomationRequest> & {
50
+ revision: number;
51
+ }): Promise<CollaborationAutomation>;
52
+ delete(projectId: string, automationId: string): Promise<void>;
53
+ test(projectId: string, automationId: string): Promise<import('./collaboration-task-api.js').CloudTask>;
54
+ runs(projectId: string, automationId: string): Promise<Array<Record<string, unknown>>>;
55
+ }
@@ -0,0 +1,18 @@
1
+ export type CollaborationDeepLink = {
2
+ kind: 'project_invitation';
3
+ token: string;
4
+ } | {
5
+ kind: 'task_invitation';
6
+ token: string;
7
+ } | {
8
+ kind: 'task_share';
9
+ token: string;
10
+ } | {
11
+ kind: 'task_transfer';
12
+ transferId: string;
13
+ } | {
14
+ kind: 'plan_item';
15
+ projectId: string;
16
+ itemId: string;
17
+ };
18
+ export type CollaborationDeepLinkKind = CollaborationDeepLink['kind'];
@@ -0,0 +1,19 @@
1
+ export interface CollaborationDesktopEvent {
2
+ eventId: string;
3
+ projectId: string;
4
+ sequence: number;
5
+ eventType: string;
6
+ occurredAt: string;
7
+ payload: Record<string, unknown>;
8
+ }
9
+ export interface CollaborationEventApi {
10
+ subscribe(request: {
11
+ projectId: string;
12
+ afterSequence?: number;
13
+ versions: number[];
14
+ }): Promise<{
15
+ subscriptionId: string;
16
+ }>;
17
+ unsubscribe(subscriptionId: string): Promise<void>;
18
+ onEvent(listener: (event: CollaborationDesktopEvent) => void): () => void;
19
+ }
@@ -0,0 +1,159 @@
1
+ export type CollaborationPlanViewType = 'LIST' | 'BOARD' | 'TABLE' | 'GANTT' | 'CALENDAR';
2
+ export type CollaborationPlanStatus = 'TODO' | 'IN_PROGRESS' | 'PAUSED' | 'DONE';
3
+ export type CollaborationPlanPriority = 'NONE' | 'LOW' | 'MEDIUM' | 'HIGH' | 'URGENT';
4
+ export type CollaborationPlanSource = 'MANUAL' | 'TRANSFER' | 'AUTOMATION' | 'IMPORT';
5
+ export interface CollaborationPlanView {
6
+ id: string;
7
+ projectId: string;
8
+ name: string;
9
+ viewType: CollaborationPlanViewType;
10
+ config: Record<string, unknown>;
11
+ shared: boolean;
12
+ sortOrder: number;
13
+ systemView: boolean;
14
+ }
15
+ export interface CollaborationPlanItem {
16
+ id: string;
17
+ projectId: string;
18
+ parentId: string | null;
19
+ title: string;
20
+ description: unknown;
21
+ status: CollaborationPlanStatus;
22
+ priority: CollaborationPlanPriority;
23
+ assigneeUserIds: string[];
24
+ tagIds: string[];
25
+ attachments: CollaborationPlanAttachment[];
26
+ sourceType: CollaborationPlanSource;
27
+ startAt: string | null;
28
+ dueAt: string | null;
29
+ estimateMinutes: number | null;
30
+ progress: number;
31
+ sortOrder: number;
32
+ executionTaskId: string | null;
33
+ taskProgressSummary: string | null;
34
+ taskArtifactRefs: unknown[];
35
+ commentCount: number;
36
+ revision: number;
37
+ createdAt: string;
38
+ updatedAt: string;
39
+ }
40
+ export interface CollaborationPlanComment {
41
+ id: string;
42
+ projectId: string;
43
+ itemId: string;
44
+ authorUserId: string;
45
+ content: unknown;
46
+ mentions: unknown[];
47
+ attachments: unknown[];
48
+ createdAt: string;
49
+ updatedAt: string;
50
+ }
51
+ export interface CollaborationPlanActivity {
52
+ id: string;
53
+ projectId: string;
54
+ itemId: string;
55
+ activityType: string;
56
+ actorUserId: string;
57
+ payload: Record<string, unknown>;
58
+ createdAt: string;
59
+ }
60
+ export interface CollaborationPlanTag {
61
+ id: string;
62
+ projectId: string;
63
+ name: string;
64
+ color: string;
65
+ }
66
+ export interface CollaborationPlanAttachment {
67
+ artifactId: string;
68
+ projectId: string;
69
+ name: string;
70
+ fullPath: string;
71
+ contentType: string | null;
72
+ sizeBytes: number;
73
+ }
74
+ export interface CollaborationPlanImportPreview {
75
+ importId: string;
76
+ mapping: Record<string, string>;
77
+ validCount: number;
78
+ errorCount: number;
79
+ previewRows: Array<Record<string, unknown>>;
80
+ errors: Array<{
81
+ rowNumber: number;
82
+ message: string;
83
+ }>;
84
+ }
85
+ export interface CollaborationPlanImportCommit {
86
+ importId: string;
87
+ itemIds: string[];
88
+ committedCount: number;
89
+ }
90
+ export interface CollaborationPlanApi {
91
+ listViews(projectId: string): Promise<CollaborationPlanView[]>;
92
+ createView(projectId: string, request: Partial<CollaborationPlanView> & {
93
+ name: string;
94
+ viewType: CollaborationPlanViewType;
95
+ }): Promise<CollaborationPlanView>;
96
+ updateView(projectId: string, viewId: string, request: Record<string, unknown>): Promise<CollaborationPlanView>;
97
+ deleteView(projectId: string, viewId: string): Promise<void>;
98
+ reorderViews(projectId: string, items: Array<{
99
+ id: string;
100
+ sortOrder: number;
101
+ }>): Promise<CollaborationPlanView[]>;
102
+ listItems(projectId: string, query?: {
103
+ statuses?: CollaborationPlanStatus[];
104
+ assigneeUserIds?: string[];
105
+ tagIds?: string[];
106
+ priorities?: CollaborationPlanPriority[];
107
+ sourceTypes?: CollaborationPlanSource[];
108
+ matchMode?: 'ALL' | 'ANY';
109
+ keyword?: string;
110
+ }): Promise<CollaborationPlanItem[]>;
111
+ getItem(projectId: string, itemId: string): Promise<CollaborationPlanItem>;
112
+ createItem(projectId: string, request: Record<string, unknown> & {
113
+ title: string;
114
+ }): Promise<CollaborationPlanItem>;
115
+ updateItem(projectId: string, itemId: string, request: Record<string, unknown> & {
116
+ revision: number;
117
+ }): Promise<CollaborationPlanItem>;
118
+ deleteItem(projectId: string, itemId: string): Promise<void>;
119
+ deleteItems(projectId: string, items: Array<{
120
+ id: string;
121
+ revision: number;
122
+ }>): Promise<void>;
123
+ reorderItems(projectId: string, items: Array<{
124
+ id: string;
125
+ status: CollaborationPlanStatus;
126
+ sortOrder: number;
127
+ revision: number;
128
+ }>): Promise<CollaborationPlanItem[]>;
129
+ batchItems(projectId: string, items: Array<Record<string, unknown> & {
130
+ id: string;
131
+ revision: number;
132
+ }>): Promise<CollaborationPlanItem[]>;
133
+ executeItem(projectId: string, itemId: string, request?: Record<string, unknown>): Promise<import('./collaboration-task-api.js').CloudTask>;
134
+ listActivities(projectId: string, itemId: string): Promise<CollaborationPlanActivity[]>;
135
+ listComments(projectId: string, itemId: string): Promise<CollaborationPlanComment[]>;
136
+ createComment(projectId: string, itemId: string, request: Record<string, unknown>): Promise<CollaborationPlanComment>;
137
+ updateComment(projectId: string, itemId: string, commentId: string, request: Record<string, unknown>): Promise<CollaborationPlanComment>;
138
+ deleteComment(projectId: string, itemId: string, commentId: string): Promise<void>;
139
+ uploadCommentAttachment(projectId: string, itemId: string, request: {
140
+ fileName: string;
141
+ mediaType: string;
142
+ data: Uint8Array;
143
+ }): Promise<CollaborationPlanAttachment>;
144
+ listTags(projectId: string): Promise<CollaborationPlanTag[]>;
145
+ createTag(projectId: string, request: {
146
+ name: string;
147
+ color: string;
148
+ }): Promise<CollaborationPlanTag>;
149
+ updateTag(projectId: string, tagId: string, request: {
150
+ name?: string;
151
+ color?: string;
152
+ }): Promise<CollaborationPlanTag>;
153
+ deleteTag(projectId: string, tagId: string): Promise<void>;
154
+ previewImport(projectId: string, request: {
155
+ mapping: Record<string, string>;
156
+ rows: Array<Record<string, unknown>>;
157
+ }): Promise<CollaborationPlanImportPreview>;
158
+ commitImport(projectId: string, importId: string, idempotencyKey: string): Promise<CollaborationPlanImportCommit>;
159
+ }
@@ -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
+ }