@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,132 @@
1
+ import type { GitTarget, GitResult, GitFailure, RepositoryCommand } from './git-api.js';
2
+ export type HostedGitProvider = 'github' | 'gitlab';
3
+ export interface HostedGitConnection {
4
+ id: string;
5
+ provider: HostedGitProvider;
6
+ webOrigin: string;
7
+ apiBase: string;
8
+ account: string;
9
+ accountId?: string;
10
+ }
11
+ export interface SaveHostedGitConnectionRequest {
12
+ provider: HostedGitProvider;
13
+ webOrigin: string;
14
+ apiBase: string;
15
+ token: string;
16
+ }
17
+ export interface HostedGitTarget extends GitTarget {
18
+ connectionId: string;
19
+ remote: string;
20
+ }
21
+ export interface HostedGitRepository {
22
+ connectionId: string;
23
+ provider: HostedGitProvider;
24
+ webOrigin: string;
25
+ apiBase: string;
26
+ path: string;
27
+ }
28
+ export interface HostedPullRequest {
29
+ number: number;
30
+ url: string;
31
+ title: string;
32
+ body: string;
33
+ source: string;
34
+ target: string;
35
+ head: string;
36
+ state: 'open' | 'closed' | 'merged';
37
+ draft: boolean;
38
+ mergeable: boolean | null;
39
+ mergeState: string;
40
+ sameRepository: boolean;
41
+ }
42
+ export interface CreateHostedPullRequest extends HostedGitTarget {
43
+ requestId: string;
44
+ expectedRevision: string;
45
+ source: string;
46
+ target: string;
47
+ title: string;
48
+ body: string;
49
+ draft: boolean;
50
+ commitAndPush?: {
51
+ message?: string;
52
+ credentialId?: string;
53
+ };
54
+ }
55
+ export interface HostedGitOperation {
56
+ version: 1;
57
+ id: string;
58
+ ownerUserId: string;
59
+ request: CreateHostedPullRequest;
60
+ repository: HostedGitRepository;
61
+ initialHead: string;
62
+ initialStaged: string[];
63
+ commands: RepositoryCommand[];
64
+ filePaths: string[];
65
+ phase: 'awaiting-authorization' | 'committing' | 'pushing' | 'creating' | 'unknown' | 'completed' | 'failed';
66
+ completedSteps: string[];
67
+ createdAt: string;
68
+ updatedAt: string;
69
+ result?: HostedPullRequest;
70
+ error?: GitFailure;
71
+ submittedHead?: string;
72
+ }
73
+ export interface HostedGitMonitor {
74
+ executionScope?: string;
75
+ version: 1;
76
+ id: string;
77
+ authorizationId: string;
78
+ ownerUserId: string;
79
+ taskId: string;
80
+ target: HostedGitTarget;
81
+ repository: HostedGitRepository;
82
+ number: number;
83
+ enabled: boolean;
84
+ repair: boolean;
85
+ repairInstructions: string;
86
+ autoMerge: boolean;
87
+ mergeMethod: 'merge' | 'squash';
88
+ authorizedHead: string;
89
+ phase: 'watching' | 'repairing' | 'merge-unknown' | 'merged' | 'closed' | 'blocked';
90
+ fingerprint?: string;
91
+ last?: HostedPullRequest;
92
+ error?: GitFailure;
93
+ repairCommandId?: string;
94
+ repairingFingerprint?: string;
95
+ updatedAt: string;
96
+ }
97
+ export interface ConfigureHostedGitMonitorRequest extends HostedGitTarget {
98
+ number: number;
99
+ enabled: boolean;
100
+ repair: boolean;
101
+ repairInstructions: string;
102
+ autoMerge: boolean;
103
+ mergeMethod: 'merge' | 'squash';
104
+ expectedHead: string;
105
+ confirmed: true;
106
+ }
107
+ export interface HostedGitApi {
108
+ connections(taskId?: string): Promise<GitResult<HostedGitConnection[]>>;
109
+ saveConnection(request: SaveHostedGitConnectionRequest & {
110
+ taskId?: string;
111
+ }): Promise<GitResult<HostedGitConnection>>;
112
+ removeConnection(request: {
113
+ id: string;
114
+ taskId?: string;
115
+ }): Promise<GitResult<void>>;
116
+ list(request: HostedGitTarget): Promise<GitResult<HostedPullRequest[]>>;
117
+ prepare(request: CreateHostedPullRequest): Promise<GitResult<HostedGitOperation>>;
118
+ execute(request: {
119
+ taskId: string;
120
+ operationId: string;
121
+ }): Promise<GitResult<HostedGitOperation>>;
122
+ status(request: {
123
+ taskId: string;
124
+ operationId: string;
125
+ }): Promise<GitResult<HostedGitOperation>>;
126
+ configureMonitor(request: ConfigureHostedGitMonitorRequest): Promise<GitResult<HostedGitMonitor>>;
127
+ monitors(taskId: string): Promise<GitResult<HostedGitMonitor[]>>;
128
+ pollMonitor(request: {
129
+ taskId: string;
130
+ monitorId: string;
131
+ }): Promise<GitResult<HostedGitMonitor>>;
132
+ }
@@ -0,0 +1,23 @@
1
+ export interface JsHookDefinition {
2
+ event: 'PreToolUse' | 'PostToolUse';
3
+ callback: string;
4
+ matcher?: string;
5
+ timeoutMs: number;
6
+ }
7
+ export interface ToolLifecycleEvent {
8
+ sessionId: string;
9
+ event: 'beforeTool' | 'afterTool';
10
+ toolName: string;
11
+ toolCallId: string;
12
+ input: unknown;
13
+ result?: unknown;
14
+ /** Original event preserves engine thread and turn identifiers separately from the SDK session. */
15
+ raw: Readonly<Record<string, unknown>>;
16
+ }
17
+ export interface ToolHookDecision {
18
+ decision?: 'continue' | 'deny';
19
+ reason?: string;
20
+ additionalContext?: string;
21
+ }
22
+ export declare function parseJsHookDefinitions(value: unknown): JsHookDefinition[];
23
+ export declare function hookOutput(event: JsHookDefinition['event'], value: unknown): Record<string, unknown>;
@@ -0,0 +1,55 @@
1
+ import type { ModelReasoningEffort } from './model-selection.js';
2
+ export declare const LOCAL_CUSTOM_MODEL_ID_PREFIX = "custom-model:";
3
+ export interface LocalCustomModel {
4
+ upstreamProtocol?: 'responses' | 'chat_completions';
5
+ id: string;
6
+ selectionId: string;
7
+ endpoint: string;
8
+ model: string;
9
+ apiKeyConfigured: boolean;
10
+ functionCalling: boolean;
11
+ imageInput: boolean;
12
+ videoInput: boolean;
13
+ reasoning: boolean;
14
+ thinkingOnly: boolean;
15
+ allowDisableThinking: boolean;
16
+ customProtocol: boolean;
17
+ defaultReasoningEffort?: ModelReasoningEffort;
18
+ supportedReasoningEfforts: ModelReasoningEffort[];
19
+ maxInputTokens?: number;
20
+ maxOutputTokens?: number;
21
+ createdAt: string;
22
+ updatedAt: string;
23
+ }
24
+ export interface SaveLocalCustomModelRequest {
25
+ id?: string;
26
+ endpoint: string;
27
+ apiKey?: string;
28
+ clearApiKey?: boolean;
29
+ model: string;
30
+ functionCalling: boolean;
31
+ imageInput: boolean;
32
+ videoInput: boolean;
33
+ reasoning: boolean;
34
+ thinkingOnly?: boolean;
35
+ allowDisableThinking?: boolean;
36
+ customProtocol: boolean;
37
+ defaultReasoningEffort?: ModelReasoningEffort;
38
+ supportedReasoningEfforts?: ModelReasoningEffort[];
39
+ maxInputTokens?: number;
40
+ maxOutputTokens?: number;
41
+ }
42
+ export interface LocalCustomModelStorageInfo {
43
+ filePath: string;
44
+ displayPath: string;
45
+ }
46
+ export interface LocalCustomModelApi {
47
+ getStorageInfo: () => Promise<LocalCustomModelStorageInfo>;
48
+ list: () => Promise<LocalCustomModel[]>;
49
+ save: (request: SaveLocalCustomModelRequest) => Promise<LocalCustomModel>;
50
+ remove: (modelId: string) => Promise<void>;
51
+ }
52
+ export interface LocalCustomRuntimeModel extends Omit<LocalCustomModel, 'apiKeyConfigured'> {
53
+ generationCapabilities?: import('./runtime-tuning.js').GenerationCapabilities;
54
+ apiKey: string;
55
+ }
@@ -0,0 +1,110 @@
1
+ import type { GitResult, RepositoryCommand } from './git-api.js';
2
+ import type { WorktreeScript } from './worktree-api.js';
3
+ import type { LocalWorkspace } from './local-workspace.js';
4
+ export type { LocalWorkspace } from './local-workspace.js';
5
+ export type EnvironmentPlatform = 'darwin' | 'linux' | 'win32';
6
+ export type EnvironmentActionIcon = 'tool' | 'run' | 'debug' | 'test';
7
+ export interface LocalEnvironmentAction {
8
+ id: string;
9
+ name: string;
10
+ icon: EnvironmentActionIcon;
11
+ command: string;
12
+ platform?: EnvironmentPlatform;
13
+ }
14
+ export interface LocalEnvironmentConfig {
15
+ version: 1;
16
+ id: string;
17
+ name: string;
18
+ setup: WorktreeScript;
19
+ cleanup: WorktreeScript;
20
+ actions: LocalEnvironmentAction[];
21
+ }
22
+ export interface LocalEnvironmentFile extends LocalEnvironmentConfig {
23
+ localWorkspaceId: string;
24
+ fileName: string;
25
+ revision: string;
26
+ }
27
+ export interface LocalWorkspaceEntry extends LocalWorkspace {
28
+ environments: LocalEnvironmentFile[];
29
+ errors: string[];
30
+ }
31
+ export interface EnvironmentMigrationIssue {
32
+ id: string;
33
+ name: string;
34
+ message: string;
35
+ }
36
+ export interface LocalEnvironmentCatalog {
37
+ workspaces: LocalWorkspaceEntry[];
38
+ migrationIssues: EnvironmentMigrationIssue[];
39
+ platform: EnvironmentPlatform;
40
+ }
41
+ export interface SaveLocalEnvironmentRequest {
42
+ localWorkspaceId: string;
43
+ config: LocalEnvironmentConfig;
44
+ fileName?: string;
45
+ expectedRevision?: string;
46
+ }
47
+ export interface EnvironmentTarget {
48
+ taskId: string;
49
+ worktreeId?: string;
50
+ }
51
+ export interface EnvironmentContext {
52
+ rootPath: string;
53
+ workspace?: LocalWorkspaceEntry;
54
+ platform: EnvironmentPlatform;
55
+ sourcePath: string;
56
+ }
57
+ export interface EnvironmentRun {
58
+ id: string;
59
+ ownerUserId: string;
60
+ target: EnvironmentTarget;
61
+ localWorkspaceId: string;
62
+ environmentId: string;
63
+ actionId: string;
64
+ name: string;
65
+ requestId: string;
66
+ revision: string;
67
+ command: RepositoryCommand;
68
+ phase: 'awaiting-authorization' | 'running' | 'completed' | 'failed' | 'cancelled' | 'interrupted';
69
+ startedAt: string;
70
+ finishedAt?: string;
71
+ output: string;
72
+ error?: string;
73
+ pid?: number;
74
+ errorCode?: string;
75
+ }
76
+ export interface LocalEnvironmentApi {
77
+ list(): Promise<GitResult<LocalEnvironmentCatalog>>;
78
+ migrate(request: {
79
+ environmentId: string;
80
+ }): Promise<GitResult<void>>;
81
+ addWorkspace(): Promise<GitResult<LocalWorkspaceEntry | null>>;
82
+ removeWorkspace(request: {
83
+ localWorkspaceId: string;
84
+ }): Promise<GitResult<void>>;
85
+ save(request: SaveLocalEnvironmentRequest): Promise<GitResult<LocalEnvironmentFile>>;
86
+ remove(request: {
87
+ localWorkspaceId: string;
88
+ fileName: string;
89
+ expectedRevision: string;
90
+ }): Promise<GitResult<void>>;
91
+ select(request: {
92
+ localWorkspaceId: string;
93
+ environmentId?: string;
94
+ }): Promise<GitResult<void>>;
95
+ context(request: EnvironmentTarget): Promise<GitResult<EnvironmentContext>>;
96
+ prepareAction(request: EnvironmentTarget & {
97
+ environmentId: string;
98
+ actionId: string;
99
+ requestId: string;
100
+ }): Promise<GitResult<EnvironmentRun>>;
101
+ executeAction(request: {
102
+ taskId: string;
103
+ operationId: string;
104
+ }): Promise<GitResult<EnvironmentRun>>;
105
+ runs(request: EnvironmentTarget): Promise<GitResult<EnvironmentRun[]>>;
106
+ stopAction(request: {
107
+ taskId: string;
108
+ operationId: string;
109
+ }): Promise<GitResult<EnvironmentRun>>;
110
+ }
@@ -0,0 +1,91 @@
1
+ export type LocalMcpServerTransport = 'HTTP' | 'STDIO';
2
+ export type LocalMcpServerSource = 'builtin' | 'custom' | 'managed';
3
+ export type LocalMcpAuthorizationStatus = 'not_required' | 'required' | 'granted';
4
+ export interface LocalMcpRegistrySource {
5
+ name: string;
6
+ version: string;
7
+ serviceId?: string;
8
+ packageSha256?: string;
9
+ }
10
+ export interface LocalMcpServerTool {
11
+ name: string;
12
+ title?: string;
13
+ description?: string;
14
+ enabled: boolean;
15
+ }
16
+ export interface LocalMcpServer {
17
+ id: string;
18
+ key: string;
19
+ name: string;
20
+ description?: string;
21
+ source: LocalMcpServerSource;
22
+ authorizationStatus: LocalMcpAuthorizationStatus;
23
+ authorizedAt?: string;
24
+ transport: LocalMcpServerTransport;
25
+ enabled: boolean;
26
+ url?: string;
27
+ bearerTokenConfigured: boolean;
28
+ command?: string;
29
+ args: string[];
30
+ env: Record<string, boolean>;
31
+ tools: LocalMcpServerTool[];
32
+ registry?: LocalMcpRegistrySource;
33
+ createdAt: string;
34
+ updatedAt: string;
35
+ }
36
+ export interface SaveLocalMcpServerRequest {
37
+ id?: string;
38
+ key?: string;
39
+ name: string;
40
+ description?: string;
41
+ transport: LocalMcpServerTransport;
42
+ enabled: boolean;
43
+ url?: string;
44
+ bearerToken?: string;
45
+ clearBearerToken?: boolean;
46
+ command?: string;
47
+ args?: string[];
48
+ env?: Record<string, string>;
49
+ preserveExistingEnv?: boolean;
50
+ registry?: LocalMcpRegistrySource;
51
+ }
52
+ export interface SetLocalMcpServerEnabledRequest {
53
+ serverId: string;
54
+ enabled: boolean;
55
+ }
56
+ export interface SetLocalMcpServerToolEnabledRequest {
57
+ serverId: string;
58
+ toolName: string;
59
+ enabled: boolean;
60
+ }
61
+ export interface LocalMcpRuntimeServer {
62
+ id: string;
63
+ key: string;
64
+ name: string;
65
+ description?: string;
66
+ source?: LocalMcpServerSource;
67
+ authorizationRequired?: boolean;
68
+ authorizationGranted?: boolean;
69
+ authorizationFingerprint?: string;
70
+ transport: LocalMcpServerTransport;
71
+ url?: string;
72
+ bearerToken?: string;
73
+ command?: string;
74
+ args: string[];
75
+ env: Record<string, string>;
76
+ tools?: string[];
77
+ toolTitles?: Record<string, string>;
78
+ disabledTools?: string[];
79
+ defaultToolsApproval?: 'auto' | 'prompt';
80
+ toolApprovals?: Record<string, 'auto' | 'prompt'>;
81
+ }
82
+ export interface LocalMcpServerApi {
83
+ list: () => Promise<LocalMcpServer[]>;
84
+ save: (request: SaveLocalMcpServerRequest) => Promise<LocalMcpServer>;
85
+ saveBatch: (requests: SaveLocalMcpServerRequest[]) => Promise<LocalMcpServer[]>;
86
+ setEnabled: (request: SetLocalMcpServerEnabledRequest) => Promise<LocalMcpServer>;
87
+ refreshTools: (serverId: string) => Promise<LocalMcpServer>;
88
+ setToolEnabled: (request: SetLocalMcpServerToolEnabledRequest) => Promise<LocalMcpServer>;
89
+ revokeAuthorization: (serverId: string) => Promise<LocalMcpServer>;
90
+ remove: (serverId: string) => Promise<void>;
91
+ }
@@ -0,0 +1,165 @@
1
+ export declare const MEMORY_GROUPS: readonly ["工作背景", "个人背景", "当前关注", "近期动态"];
2
+ export type MemoryGroup = typeof MEMORY_GROUPS[number];
3
+ export type MemoryKind = 'instruction' | 'fact' | 'preference' | 'decision' | 'task';
4
+ /** Long-term memory belongs to one account, independent of enterprise or personal mode. */
5
+ export interface MemoryScope {
6
+ environment: 'dev' | 'prod';
7
+ userId: string; /** Host-authorized namespace; absent for existing desktop/CLI account memory. */
8
+ namespace?: string;
9
+ }
10
+ export interface MemorySource {
11
+ kind: 'user_edit' | 'user_import' | 'conversation';
12
+ taskId?: string;
13
+ messageId?: string;
14
+ generation?: string;
15
+ role?: string;
16
+ occurredAt: string | null;
17
+ }
18
+ export interface MemoryResource {
19
+ id: string;
20
+ kind: 'file' | 'skill';
21
+ name: string;
22
+ path: string;
23
+ version: string;
24
+ }
25
+ export interface MemoryApplicability {
26
+ platforms?: Array<'win32' | 'darwin' | 'linux'>;
27
+ resources?: MemoryResource[];
28
+ }
29
+ export interface MemoryLifecycle {
30
+ state: 'ongoing' | 'completed';
31
+ expiresAt?: string;
32
+ }
33
+ export interface MemoryRecallContext {
34
+ platform: string;
35
+ projectId?: string;
36
+ permissionVersion: string;
37
+ }
38
+ export interface MemoryRecord {
39
+ /** subject names the entity or topic; content describes it. Present both to users and consumers. */
40
+ id: string;
41
+ revision: number;
42
+ kind: MemoryKind;
43
+ group: MemoryGroup;
44
+ subject: string;
45
+ content: string;
46
+ originalInstruction?: string;
47
+ occurredAt: string | null;
48
+ status: 'active' | 'candidate' | 'conflicted' | 'superseded' | 'invalidated';
49
+ sources: MemorySource[];
50
+ updatedAt: string;
51
+ conflictsWith?: string[];
52
+ createdAt?: string;
53
+ manualUpdatedAt?: string;
54
+ contentDigest?: string;
55
+ applicability?: MemoryApplicability;
56
+ lifecycle?: MemoryLifecycle;
57
+ invalidationReason?: 'source_changed' | 'resource_changed' | 'expired' | 'unsupported_evidence' | 'unresolved_conflict';
58
+ previous?: {
59
+ revision: number;
60
+ content: string;
61
+ updatedAt: string;
62
+ };
63
+ }
64
+ export interface MemoryState {
65
+ organizationVersion?: 2;
66
+ version: 1;
67
+ epoch: string;
68
+ revision: number;
69
+ enabled: boolean;
70
+ resetAt: string;
71
+ updatedAt?: string;
72
+ operation?: MemoryOperation;
73
+ cursors: Record<string, string>;
74
+ revoked?: string[];
75
+ deletedSubjects?: Record<string, string>;
76
+ collectionAfter?: string;
77
+ cleanupEpochs?: string[];
78
+ completedOperations?: string[];
79
+ quarantined?: string[];
80
+ }
81
+ export interface MemoryOperation {
82
+ id: string;
83
+ status: 'running' | 'completed' | 'failed' | 'cancelled';
84
+ mode?: 'edit' | 'import' | 'extract';
85
+ error?: string;
86
+ clarification?: string;
87
+ }
88
+ export interface MemoryView {
89
+ scope: MemoryScope;
90
+ enabled: boolean;
91
+ revision: number;
92
+ updatedAt?: string;
93
+ groups: Array<{
94
+ title: MemoryGroup;
95
+ items: MemoryRecord[];
96
+ }>;
97
+ total: number;
98
+ operation?: MemoryOperation;
99
+ storageNotice?: string;
100
+ page?: number;
101
+ hasMore?: boolean;
102
+ }
103
+ export interface MemoryChange {
104
+ action: 'add' | 'merge' | 'replace' | 'remove' | 'no_change';
105
+ id?: string;
106
+ revision?: number;
107
+ kind?: MemoryKind;
108
+ group?: MemoryGroup;
109
+ subject?: string;
110
+ content?: string;
111
+ originalInstruction?: string;
112
+ occurredAt?: string | null;
113
+ sourceIds?: string[];
114
+ applicability?: Omit<MemoryApplicability, 'resources'>;
115
+ resourceIds?: string[];
116
+ lifecycle?: MemoryLifecycle;
117
+ }
118
+ export interface MemoryProposal {
119
+ changes: MemoryChange[];
120
+ clarification?: string;
121
+ }
122
+ export interface MemorySearchHit {
123
+ id: string;
124
+ subject: string;
125
+ content: string;
126
+ kind: MemoryKind;
127
+ group: MemoryGroup;
128
+ sources: MemorySource[];
129
+ lifecycle?: MemoryLifecycle;
130
+ occurredAt?: string | null;
131
+ }
132
+ export interface HistoryHit {
133
+ id: string;
134
+ taskId: string;
135
+ recordId: string;
136
+ role: string;
137
+ occurredAt: string;
138
+ content: string;
139
+ generation: string;
140
+ truncated: boolean;
141
+ }
142
+ export interface MemoryContextRequest {
143
+ page?: number; /** SDK management calls select an explicitly authorized session. */
144
+ sessionId?: string;
145
+ }
146
+ export interface MemoryEditRequest extends MemoryContextRequest {
147
+ text: string;
148
+ mode: 'edit' | 'import';
149
+ operationId: string;
150
+ }
151
+ export interface LocalMemoryApi {
152
+ get(request?: MemoryContextRequest): Promise<MemoryView>;
153
+ setEnabled(request: MemoryContextRequest & {
154
+ enabled: boolean;
155
+ }): Promise<MemoryView>;
156
+ edit(request: MemoryEditRequest): Promise<MemoryView>;
157
+ reset(request: MemoryContextRequest): Promise<MemoryView>;
158
+ }
159
+ export declare function sameMemoryIdentity(a: MemoryScope, b: MemoryScope): boolean;
160
+ /** A bounded deterministic lexical vocabulary, including Chinese words without a vector service. */
161
+ export declare function memoryTerms(text: string): string[];
162
+ export declare function memorySearchExpression(text: string): string;
163
+ export declare function memoryInput(value: unknown, limit?: number): string;
164
+ /** Credential-bearing lines never enter the persistent memory pipeline. */
165
+ export declare function redactMemorySecrets(text: string): string;
@@ -0,0 +1,26 @@
1
+ import type { LocalTaskPluginReference } from './local-task-api.js';
2
+ import type { PluginMarketDetail } from './plugin-market-api.js';
3
+ export type LocalPluginSource = 'PLATFORM' | 'ENTERPRISE';
4
+ export interface LocalPluginInstallation {
5
+ plugin: PluginMarketDetail;
6
+ runtime: LocalTaskPluginReference;
7
+ source: LocalPluginSource;
8
+ enabled: boolean;
9
+ installedAt: string;
10
+ updatedAt: string;
11
+ }
12
+ export interface InstallLocalPluginRequest {
13
+ plugin: PluginMarketDetail;
14
+ source: LocalPluginSource;
15
+ }
16
+ export interface SetLocalPluginEnabledRequest {
17
+ pluginId: string;
18
+ enabled: boolean;
19
+ }
20
+ export interface LocalPluginApi {
21
+ list: () => Promise<LocalPluginInstallation[]>;
22
+ refresh: () => Promise<LocalPluginInstallation[]>;
23
+ install: (request: InstallLocalPluginRequest) => Promise<LocalPluginInstallation>;
24
+ setEnabled: (request: SetLocalPluginEnabledRequest) => Promise<LocalPluginInstallation>;
25
+ remove: (pluginId: string) => Promise<void>;
26
+ }
@@ -0,0 +1,32 @@
1
+ export type LocalRuntimeStatus = 'unavailable' | 'stopped' | 'starting' | 'ready' | 'stopping' | 'failed';
2
+ export interface LocalRuntimeExecutionLease {
3
+ taskId: string;
4
+ runId: string;
5
+ acquiredAt: string;
6
+ }
7
+ export interface LocalRuntimeTaskState {
8
+ resourceConfiguration?: import('./task-resource-manifest.js').TaskResourceManifest['configuration'];
9
+ status: LocalRuntimeStatus;
10
+ taskId: string;
11
+ startedAt?: string;
12
+ stoppedAt?: string;
13
+ lastError?: string;
14
+ executionLease?: LocalRuntimeExecutionLease;
15
+ }
16
+ export interface LocalRuntimeState {
17
+ status: LocalRuntimeStatus;
18
+ taskId?: string;
19
+ startedAt?: string;
20
+ stoppedAt?: string;
21
+ lastError?: string;
22
+ executionLease?: LocalRuntimeExecutionLease;
23
+ taskStates?: LocalRuntimeTaskState[];
24
+ executionLeases?: LocalRuntimeExecutionLease[];
25
+ }
26
+ export interface LocalRuntimeApi {
27
+ getState: () => Promise<LocalRuntimeState>;
28
+ start: (taskId: string) => Promise<LocalRuntimeState>;
29
+ stop: (taskId: string) => Promise<LocalRuntimeState>;
30
+ restart: (taskId: string) => Promise<LocalRuntimeState>;
31
+ onStateChanged: (listener: (state: LocalRuntimeState) => void) => () => void;
32
+ }
@@ -0,0 +1,42 @@
1
+ import type { LocalTaskSkillReference } from './local-task-api.js';
2
+ import type { PersonalSkillUploadResult } from './skill-upload.js';
3
+ export type LocalSkillImportKind = 'FILE' | 'DIRECTORY';
4
+ export interface LocalSkillDefinition {
5
+ /** Opaque installation/profile identity; never a portable same-name reference. */
6
+ executionScope?: string;
7
+ /** 新版本地技能的稳定身份,等于安装目录名称。 */
8
+ folderName: string;
9
+ /**
10
+ * UI 和既有项目配置使用的本地引用。新版等于 folderName;旧版保持原有
11
+ * local:<digest> 值,读取旧数据时不会改写磁盘内容。
12
+ */
13
+ reference: string;
14
+ legacySkillId?: string;
15
+ name: string;
16
+ description: string;
17
+ version?: string;
18
+ packagePath: string;
19
+ skillPath: string;
20
+ installedAt: string;
21
+ updatedAt: string;
22
+ }
23
+ export interface ImportLocalSkillsRequest {
24
+ kind: LocalSkillImportKind;
25
+ }
26
+ export interface ImportLocalSkillsResult {
27
+ canceled: boolean;
28
+ skills: LocalSkillDefinition[];
29
+ }
30
+ export interface LocalSkillContent {
31
+ skill: LocalSkillDefinition;
32
+ content: string;
33
+ }
34
+ export interface LocalSkillApi {
35
+ list: () => Promise<LocalSkillDefinition[]>;
36
+ getContent: (reference: string) => Promise<LocalSkillContent>;
37
+ openDirectory: (reference: string) => Promise<void>;
38
+ importFromDialog: (request: ImportLocalSkillsRequest) => Promise<ImportLocalSkillsResult>;
39
+ remove: (reference: string) => Promise<void>;
40
+ uploadToPersonal: (reference: string) => Promise<PersonalSkillUploadResult>;
41
+ prepareForLocalTask: (reference: string) => Promise<LocalTaskSkillReference>;
42
+ }