@agentdock/wire 0.0.71 → 0.0.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/activityPreferences.d.ts.map +1 -0
- package/dist/activityPreferences.js +2 -1
- package/dist/activityPreferences.js.map +1 -0
- package/dist/agentCapabilities.d.ts.map +1 -0
- package/dist/agentCapabilities.js +199 -1
- package/dist/agentCapabilities.js.map +1 -0
- package/dist/agentCommonEnv.d.ts.map +1 -0
- package/dist/agentCommonEnv.js +20 -1
- package/dist/agentCommonEnv.js.map +1 -0
- package/dist/agentInstallGuide.d.ts.map +1 -0
- package/dist/agentInstallGuide.js +81 -1
- package/dist/agentInstallGuide.js.map +1 -0
- package/dist/bgTask.d.ts.map +1 -0
- package/dist/bgTask.js +128 -1
- package/dist/bgTask.js.map +1 -0
- package/dist/checkpointSchemas.d.ts.map +1 -0
- package/dist/checkpointSchemas.js +46 -1
- package/dist/checkpointSchemas.js.map +1 -0
- package/dist/controlLevel.d.ts.map +1 -0
- package/dist/controlLevel.js +11 -1
- package/dist/controlLevel.js.map +1 -0
- package/dist/edition.d.ts.map +1 -0
- package/dist/edition.js +13 -1
- package/dist/edition.js.map +1 -0
- package/dist/envelope.d.ts.map +1 -0
- package/dist/envelope.js +77 -1
- package/dist/envelope.js.map +1 -0
- package/dist/errorMessage.d.ts.map +1 -0
- package/dist/errorMessage.js +6 -1
- package/dist/errorMessage.js.map +1 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +107 -1
- package/dist/events.js.map +1 -0
- package/dist/features.d.ts.map +1 -0
- package/dist/features.js +123 -1
- package/dist/features.js.map +1 -0
- package/dist/feedback.d.ts.map +1 -0
- package/dist/feedback.js +61 -1
- package/dist/feedback.js.map +1 -0
- package/dist/fileWhitelist.d.ts.map +1 -0
- package/dist/fileWhitelist.js +189 -1
- package/dist/fileWhitelist.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -1
- package/dist/index.js.map +1 -0
- package/dist/interactionEvents.d.ts.map +1 -0
- package/dist/interactionEvents.js +111 -1
- package/dist/interactionEvents.js.map +1 -0
- package/dist/legacyProtocol.d.ts.map +1 -0
- package/dist/legacyProtocol.js +30 -1
- package/dist/legacyProtocol.js.map +1 -0
- package/dist/license.d.ts.map +1 -0
- package/dist/license.js +28 -1
- package/dist/license.js.map +1 -0
- package/dist/machine.d.ts.map +1 -0
- package/dist/machine.js +66 -1
- package/dist/machine.js.map +1 -0
- package/dist/messageMeta.d.ts.map +1 -0
- package/dist/messageMeta.js +60 -1
- package/dist/messageMeta.js.map +1 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +35 -1
- package/dist/messages.js.map +1 -0
- package/dist/ops.d.ts.map +1 -0
- package/dist/ops.js +74 -1
- package/dist/ops.js.map +1 -0
- package/dist/pairing.d.ts.map +1 -0
- package/dist/pairing.js +150 -1
- package/dist/pairing.js.map +1 -0
- package/dist/permissionSubject.d.ts.map +1 -0
- package/dist/permissionSubject.js +68 -1
- package/dist/permissionSubject.js.map +1 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +7 -1
- package/dist/protocol.js.map +1 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +269 -1
- package/dist/rpc.js.map +1 -0
- package/dist/scheduledTasks.d.ts.map +1 -0
- package/dist/scheduledTasks.js +188 -1
- package/dist/scheduledTasks.js.map +1 -0
- package/dist/semver.d.ts.map +1 -0
- package/dist/semver.js +60 -1
- package/dist/semver.js.map +1 -0
- package/dist/sessionResult.d.ts.map +1 -0
- package/dist/sessionResult.js +23 -1
- package/dist/sessionResult.js.map +1 -0
- package/dist/socketEvents.d.ts.map +1 -0
- package/dist/socketEvents.js +55 -1
- package/dist/socketEvents.js.map +1 -0
- package/dist/spawnError.d.ts.map +1 -0
- package/dist/spawnError.js +31 -1
- package/dist/spawnError.js.map +1 -0
- package/dist/stats.d.ts.map +1 -0
- package/dist/stats.js +117 -1
- package/dist/stats.js.map +1 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +99 -1
- package/dist/sync.js.map +1 -0
- package/dist/taskResult.d.ts.map +1 -0
- package/dist/taskResult.js +113 -1
- package/dist/taskResult.js.map +1 -0
- package/dist/telemetry.d.ts +9 -9
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +115 -1
- package/dist/telemetry.js.map +1 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +2 -1
- package/dist/utils.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activityPreferences.d.ts","sourceRoot":"","sources":["../src/activityPreferences.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=activityPreferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activityPreferences.js","sourceRoot":"","sources":["../src/activityPreferences.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentCapabilities.d.ts","sourceRoot":"","sources":["../src/agentCapabilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,aAAa;AACb,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,gFAAgF;IAChF,QAAQ,CAAC,4BAA4B,EAAE,OAAO,CAAC;IAC/C,0FAA0F;IAC1F,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,kGAAkG;IAClG,QAAQ,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnD,sEAAsE;IACtE,QAAQ,CAAC,eAAe,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACzD,oDAAoD;IACpD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAsBD,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAmI/D,CAAC;AAMX,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9C,IAAI,CAMN;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,mBAAmB,EAAE,GAAG,IAAI,CAExF;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAqBrE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
|
@@ -1 +1,199 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Agent capability matrix — static mapping of which features each CLI agent supports.
|
|
3
|
+
*
|
|
4
|
+
* Web UI uses this to conditionally show/hide spawn parameters
|
|
5
|
+
* (model, systemPrompt, tools, permissions, etc.) based on the selected agent.
|
|
6
|
+
*/
|
|
7
|
+
// ── Per-agent permission modes ──────────────────────────────────────
|
|
8
|
+
const CLAUDE_PERMISSION_MODES = [
|
|
9
|
+
{ value: 'default', labelKey: 'permissionDefault' },
|
|
10
|
+
{ value: 'acceptEdits', labelKey: 'permissionAutoEdit' },
|
|
11
|
+
{ value: 'auto', labelKey: 'permissionAuto' },
|
|
12
|
+
{ value: 'plan', labelKey: 'permissionPlan' },
|
|
13
|
+
{ value: 'bypassPermissions', labelKey: 'permissionFullAuto' },
|
|
14
|
+
];
|
|
15
|
+
// ── Per-agent static models (non-ACP agents) ──────────────────────
|
|
16
|
+
const CLAUDE_MODELS = [
|
|
17
|
+
{ value: 'sonnet', label: 'Sonnet' },
|
|
18
|
+
{ value: 'opus', label: 'Opus' },
|
|
19
|
+
{ value: 'haiku', label: 'Haiku' },
|
|
20
|
+
];
|
|
21
|
+
// ── Capability matrix ───────────────────────────────────────────────
|
|
22
|
+
export const AGENT_CAPABILITIES = {
|
|
23
|
+
claude: {
|
|
24
|
+
controlLevel: 3,
|
|
25
|
+
supportsModel: true,
|
|
26
|
+
supportsSystemPrompt: true,
|
|
27
|
+
supportsToolConfig: true,
|
|
28
|
+
supportsMcpConfig: true,
|
|
29
|
+
supportsPermissionMode: true,
|
|
30
|
+
supportsResume: true,
|
|
31
|
+
supportsMaxTurns: true,
|
|
32
|
+
supportsSlashClear: true,
|
|
33
|
+
supportsSlashCompact: true,
|
|
34
|
+
supportsInSessionModelSwitch: true,
|
|
35
|
+
supportsInSessionModeSwitch: true,
|
|
36
|
+
usesAcpConfig: false,
|
|
37
|
+
staticModels: CLAUDE_MODELS,
|
|
38
|
+
permissionModes: CLAUDE_PERMISSION_MODES,
|
|
39
|
+
defaultPermissionMode: 'default',
|
|
40
|
+
},
|
|
41
|
+
copilot: {
|
|
42
|
+
controlLevel: 3,
|
|
43
|
+
supportsModel: true,
|
|
44
|
+
supportsSystemPrompt: false,
|
|
45
|
+
supportsToolConfig: true,
|
|
46
|
+
supportsMcpConfig: true,
|
|
47
|
+
supportsPermissionMode: true,
|
|
48
|
+
supportsResume: true,
|
|
49
|
+
supportsMaxTurns: false,
|
|
50
|
+
supportsSlashClear: true,
|
|
51
|
+
supportsSlashCompact: false,
|
|
52
|
+
supportsInSessionModelSwitch: false, // ACP setConfigOption 不支持 env/custom 来源模型
|
|
53
|
+
supportsInSessionModeSwitch: true,
|
|
54
|
+
usesAcpConfig: true,
|
|
55
|
+
staticModels: [],
|
|
56
|
+
permissionModes: [],
|
|
57
|
+
defaultPermissionMode: '',
|
|
58
|
+
},
|
|
59
|
+
opencode: {
|
|
60
|
+
controlLevel: 3,
|
|
61
|
+
supportsModel: true,
|
|
62
|
+
supportsSystemPrompt: true,
|
|
63
|
+
supportsToolConfig: true,
|
|
64
|
+
supportsMcpConfig: true,
|
|
65
|
+
supportsPermissionMode: false,
|
|
66
|
+
supportsResume: true,
|
|
67
|
+
supportsMaxTurns: false,
|
|
68
|
+
supportsSlashClear: true,
|
|
69
|
+
supportsSlashCompact: false,
|
|
70
|
+
supportsInSessionModelSwitch: false, // ACP setConfigOption 不支持 env/custom 来源模型
|
|
71
|
+
supportsInSessionModeSwitch: true,
|
|
72
|
+
usesAcpConfig: true,
|
|
73
|
+
staticModels: [],
|
|
74
|
+
permissionModes: [],
|
|
75
|
+
defaultPermissionMode: '',
|
|
76
|
+
},
|
|
77
|
+
codex: {
|
|
78
|
+
controlLevel: 2,
|
|
79
|
+
supportsModel: true,
|
|
80
|
+
supportsSystemPrompt: true,
|
|
81
|
+
supportsToolConfig: false,
|
|
82
|
+
supportsMcpConfig: false,
|
|
83
|
+
supportsPermissionMode: true,
|
|
84
|
+
supportsResume: true,
|
|
85
|
+
supportsMaxTurns: false,
|
|
86
|
+
supportsSlashClear: true,
|
|
87
|
+
supportsSlashCompact: true,
|
|
88
|
+
supportsInSessionModelSwitch: false, // Codex App Server 协议无 mid-thread 模型切换机制
|
|
89
|
+
supportsInSessionModeSwitch: true,
|
|
90
|
+
usesAcpConfig: true,
|
|
91
|
+
staticModels: [],
|
|
92
|
+
permissionModes: [],
|
|
93
|
+
defaultPermissionMode: '',
|
|
94
|
+
},
|
|
95
|
+
gemini: {
|
|
96
|
+
controlLevel: 3,
|
|
97
|
+
supportsModel: true,
|
|
98
|
+
supportsSystemPrompt: false,
|
|
99
|
+
supportsToolConfig: false,
|
|
100
|
+
supportsMcpConfig: true,
|
|
101
|
+
supportsPermissionMode: false,
|
|
102
|
+
supportsResume: false,
|
|
103
|
+
supportsMaxTurns: false,
|
|
104
|
+
supportsSlashClear: true,
|
|
105
|
+
supportsSlashCompact: false,
|
|
106
|
+
supportsInSessionModelSwitch: false,
|
|
107
|
+
supportsInSessionModeSwitch: false,
|
|
108
|
+
usesAcpConfig: true,
|
|
109
|
+
staticModels: [],
|
|
110
|
+
permissionModes: [],
|
|
111
|
+
defaultPermissionMode: 'bypassPermissions',
|
|
112
|
+
},
|
|
113
|
+
hermes: {
|
|
114
|
+
controlLevel: 3,
|
|
115
|
+
supportsModel: true,
|
|
116
|
+
supportsSystemPrompt: false,
|
|
117
|
+
supportsToolConfig: false,
|
|
118
|
+
supportsMcpConfig: true,
|
|
119
|
+
supportsPermissionMode: true,
|
|
120
|
+
supportsResume: true,
|
|
121
|
+
supportsMaxTurns: false,
|
|
122
|
+
supportsSlashClear: true,
|
|
123
|
+
supportsSlashCompact: false,
|
|
124
|
+
supportsInSessionModelSwitch: false, // ACP setConfigOption 不支持 env/custom 来源模型
|
|
125
|
+
supportsInSessionModeSwitch: true,
|
|
126
|
+
usesAcpConfig: true,
|
|
127
|
+
staticModels: [],
|
|
128
|
+
permissionModes: [
|
|
129
|
+
{ value: 'default', labelKey: 'permissionDefault' },
|
|
130
|
+
{ value: 'acceptEdits', labelKey: 'permissionAutoEdit' },
|
|
131
|
+
{ value: 'bypassPermissions', labelKey: 'permissionFullAuto' },
|
|
132
|
+
],
|
|
133
|
+
defaultPermissionMode: 'default',
|
|
134
|
+
},
|
|
135
|
+
openclaw: {
|
|
136
|
+
controlLevel: 3,
|
|
137
|
+
supportsModel: true,
|
|
138
|
+
supportsSystemPrompt: false,
|
|
139
|
+
supportsToolConfig: false,
|
|
140
|
+
supportsMcpConfig: false,
|
|
141
|
+
supportsPermissionMode: false,
|
|
142
|
+
supportsResume: false,
|
|
143
|
+
supportsMaxTurns: false,
|
|
144
|
+
supportsSlashClear: true,
|
|
145
|
+
supportsSlashCompact: false,
|
|
146
|
+
supportsInSessionModelSwitch: false,
|
|
147
|
+
supportsInSessionModeSwitch: false,
|
|
148
|
+
usesAcpConfig: true,
|
|
149
|
+
staticModels: [],
|
|
150
|
+
permissionModes: [],
|
|
151
|
+
defaultPermissionMode: '',
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
// ── Dynamic mode overrides (from ACP configOptions at runtime) ─────
|
|
155
|
+
let dynamicModes = {};
|
|
156
|
+
/** Update dynamic modes for an ACP agent (called by daemon when session reports modes). */
|
|
157
|
+
export function updateDynamicModes(agentType, modes) {
|
|
158
|
+
if (modes.length === 0)
|
|
159
|
+
return;
|
|
160
|
+
dynamicModes = {
|
|
161
|
+
...dynamicModes,
|
|
162
|
+
[agentType]: modes.map((m) => ({ value: m.id, labelKey: m.label })),
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
/** Get dynamic modes for an agent, or null if none reported. */
|
|
166
|
+
export function getDynamicModes(agentType) {
|
|
167
|
+
return dynamicModes[agentType] ?? null;
|
|
168
|
+
}
|
|
169
|
+
/** Get capability for an agent, falling back to minimal (Level 0) for unknown agents. */
|
|
170
|
+
export function getAgentCapability(agentType) {
|
|
171
|
+
return (AGENT_CAPABILITIES[agentType] ?? {
|
|
172
|
+
controlLevel: 0,
|
|
173
|
+
supportsModel: false,
|
|
174
|
+
supportsSystemPrompt: false,
|
|
175
|
+
supportsToolConfig: false,
|
|
176
|
+
supportsMcpConfig: false,
|
|
177
|
+
supportsPermissionMode: false,
|
|
178
|
+
supportsResume: false,
|
|
179
|
+
supportsMaxTurns: false,
|
|
180
|
+
supportsSlashClear: false,
|
|
181
|
+
supportsSlashCompact: false,
|
|
182
|
+
supportsInSessionModelSwitch: false,
|
|
183
|
+
supportsInSessionModeSwitch: false,
|
|
184
|
+
usesAcpConfig: false,
|
|
185
|
+
staticModels: [],
|
|
186
|
+
permissionModes: [],
|
|
187
|
+
defaultPermissionMode: 'default',
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Normalize a Claude model ID so that dot-separated versions (e.g. `claude-opus-4.6`)
|
|
192
|
+
* match the hyphen-separated form returned by the API (e.g. `claude-opus-4-6`).
|
|
193
|
+
*
|
|
194
|
+
* Safe to call on any string — non-Claude IDs pass through unchanged.
|
|
195
|
+
*/
|
|
196
|
+
export function normalizeModelId(id) {
|
|
197
|
+
return id.replace(/(\d+)\.(\d+)/g, '$1-$2');
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=agentCapabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentCapabilities.js","sourceRoot":"","sources":["../src/agentCapabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentCommonEnv.d.ts","sourceRoot":"","sources":["../src/agentCommonEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC,CAUxF,CAAC"}
|
package/dist/agentCommonEnv.js
CHANGED
|
@@ -1 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Common environment variables for each agent.
|
|
3
|
+
*
|
|
4
|
+
* Only agents that use a single-provider API key are listed here.
|
|
5
|
+
* Multi-provider agents (opencode, hermes, openclaw) configure keys
|
|
6
|
+
* through their own config files, so they are intentionally omitted.
|
|
7
|
+
* Copilot authenticates via OAuth (`gh auth login`), not env vars.
|
|
8
|
+
*/
|
|
9
|
+
export const AGENT_COMMON_ENV_VARS = {
|
|
10
|
+
claude: [
|
|
11
|
+
{ key: 'ANTHROPIC_API_KEY', placeholder: 'sk-ant-...' },
|
|
12
|
+
{ key: 'ANTHROPIC_BASE_URL', placeholder: 'https://api.anthropic.com' },
|
|
13
|
+
],
|
|
14
|
+
codex: [
|
|
15
|
+
{ key: 'OPENAI_API_KEY', placeholder: 'sk-...' },
|
|
16
|
+
{ key: 'OPENAI_BASE_URL', placeholder: 'https://api.openai.com/v1' },
|
|
17
|
+
],
|
|
18
|
+
gemini: [{ key: 'GEMINI_API_KEY', placeholder: 'AIza...' }],
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=agentCommonEnv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentCommonEnv.js","sourceRoot":"","sources":["../src/agentCommonEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,CAAC,MAAM,qBAAqB,GAA2D;IAC3F,MAAM,EAAE;QACN,EAAE,GAAG,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE;QACvD,EAAE,GAAG,EAAE,oBAAoB,EAAE,WAAW,EAAE,2BAA2B,EAAE;KACxE;IACD,KAAK,EAAE;QACL,EAAE,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAChD,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,2BAA2B,EAAE;KACrE;IACD,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;CAC5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentInstallGuide.d.ts","sourceRoot":"","sources":["../src/agentInstallGuide.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CA4E7E,CAAC"}
|
|
@@ -1 +1,81 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Per-agent install instructions for the web UI.
|
|
3
|
+
*
|
|
4
|
+
* Display-only data — the actual gating logic lives in daemon's registry.
|
|
5
|
+
* Wire only has the strings so the web can render install/upgrade instructions.
|
|
6
|
+
*/
|
|
7
|
+
export const AGENT_INSTALL_GUIDE = {
|
|
8
|
+
claude: {
|
|
9
|
+
minVersion: '2.1.0',
|
|
10
|
+
install: {
|
|
11
|
+
darwin: 'curl -fsSL https://claude.ai/install.sh | bash',
|
|
12
|
+
linux: 'curl -fsSL https://claude.ai/install.sh | bash',
|
|
13
|
+
win32: 'irm https://claude.ai/install.ps1 | iex',
|
|
14
|
+
},
|
|
15
|
+
upgradeUrl: 'https://code.claude.com/docs/en/overview',
|
|
16
|
+
},
|
|
17
|
+
copilot: {
|
|
18
|
+
minVersion: '1.0.5',
|
|
19
|
+
install: {
|
|
20
|
+
darwin: 'See https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli',
|
|
21
|
+
linux: 'See https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli',
|
|
22
|
+
win32: 'See https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli',
|
|
23
|
+
},
|
|
24
|
+
upgradeUrl: 'https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli',
|
|
25
|
+
},
|
|
26
|
+
codex: {
|
|
27
|
+
minVersion: '0.100.0',
|
|
28
|
+
install: {
|
|
29
|
+
darwin: 'npm install -g @openai/codex',
|
|
30
|
+
linux: 'npm install -g @openai/codex',
|
|
31
|
+
win32: 'npm install -g @openai/codex',
|
|
32
|
+
},
|
|
33
|
+
upgradeUrl: 'https://github.com/openai/codex',
|
|
34
|
+
},
|
|
35
|
+
gemini: {
|
|
36
|
+
minVersion: '0.38.0',
|
|
37
|
+
install: {
|
|
38
|
+
darwin: 'npm install -g @google/gemini-cli',
|
|
39
|
+
linux: 'npm install -g @google/gemini-cli',
|
|
40
|
+
win32: 'npm install -g @google/gemini-cli',
|
|
41
|
+
},
|
|
42
|
+
upgradeUrl: 'https://github.com/google-gemini/gemini-cli',
|
|
43
|
+
},
|
|
44
|
+
opencode: {
|
|
45
|
+
minVersion: '0.1.0',
|
|
46
|
+
install: {
|
|
47
|
+
darwin: 'curl -fsSL https://opencode.ai/install | bash',
|
|
48
|
+
linux: 'curl -fsSL https://opencode.ai/install | bash',
|
|
49
|
+
win32: 'npm install -g opencode-ai',
|
|
50
|
+
},
|
|
51
|
+
upgradeUrl: 'https://opencode.ai',
|
|
52
|
+
},
|
|
53
|
+
hermes: {
|
|
54
|
+
minVersion: '0.10.0',
|
|
55
|
+
install: {
|
|
56
|
+
darwin: 'curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash',
|
|
57
|
+
linux: 'curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash',
|
|
58
|
+
win32: 'Install WSL2, then inside WSL: curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash',
|
|
59
|
+
},
|
|
60
|
+
upgradeUrl: 'https://github.com/NousResearch/hermes-agent',
|
|
61
|
+
},
|
|
62
|
+
openclaw: {
|
|
63
|
+
minVersion: '2026.4.0',
|
|
64
|
+
install: {
|
|
65
|
+
darwin: 'npm install -g openclaw',
|
|
66
|
+
linux: 'npm install -g openclaw',
|
|
67
|
+
win32: 'Install WSL2, then inside WSL: npm install -g openclaw',
|
|
68
|
+
},
|
|
69
|
+
upgradeUrl: 'https://docs.openclaw.ai',
|
|
70
|
+
},
|
|
71
|
+
custom: {
|
|
72
|
+
minVersion: '0.0.0',
|
|
73
|
+
install: {
|
|
74
|
+
darwin: 'Install the custom agent CLI per its documentation',
|
|
75
|
+
linux: 'Install the custom agent CLI per its documentation',
|
|
76
|
+
win32: 'Install the custom agent CLI per its documentation',
|
|
77
|
+
},
|
|
78
|
+
upgradeUrl: '',
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=agentInstallGuide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentInstallGuide.js","sourceRoot":"","sources":["../src/agentInstallGuide.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,CAAC,MAAM,mBAAmB,GAAkD;IAChF,MAAM,EAAE;QACN,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE;YACP,MAAM,EAAE,gDAAgD;YACxD,KAAK,EAAE,gDAAgD;YACvD,KAAK,EAAE,yCAAyC;SACjD;QACD,UAAU,EAAE,0CAA0C;KACvD;IACD,OAAO,EAAE;QACP,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE;YACP,MAAM,EAAE,2EAA2E;YACnF,KAAK,EAAE,2EAA2E;YAClF,KAAK,EAAE,2EAA2E;SACnF;QACD,UAAU,EAAE,sEAAsE;KACnF;IACD,KAAK,EAAE;QACL,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE;YACP,MAAM,EAAE,8BAA8B;YACtC,KAAK,EAAE,8BAA8B;YACrC,KAAK,EAAE,8BAA8B;SACtC;QACD,UAAU,EAAE,iCAAiC;KAC9C;IACD,MAAM,EAAE;QACN,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE;YACP,MAAM,EAAE,mCAAmC;YAC3C,KAAK,EAAE,mCAAmC;YAC1C,KAAK,EAAE,mCAAmC;SAC3C;QACD,UAAU,EAAE,6CAA6C;KAC1D;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE;YACP,MAAM,EAAE,+CAA+C;YACvD,KAAK,EAAE,+CAA+C;YACtD,KAAK,EAAE,4BAA4B;SACpC;QACD,UAAU,EAAE,qBAAqB;KAClC;IACD,MAAM,EAAE;QACN,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE;YACP,MAAM,EACJ,uGAAuG;YACzG,KAAK,EACH,uGAAuG;YACzG,KAAK,EACH,sIAAsI;SACzI;QACD,UAAU,EAAE,8CAA8C;KAC3D;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;YACP,MAAM,EAAE,yBAAyB;YACjC,KAAK,EAAE,yBAAyB;YAChC,KAAK,EAAE,wDAAwD;SAChE;QACD,UAAU,EAAE,0BAA0B;KACvC;IACD,MAAM,EAAE;QACN,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE;YACP,MAAM,EAAE,oDAAoD;YAC5D,KAAK,EAAE,oDAAoD;YAC3D,KAAK,EAAE,oDAAoD;SAC5D;QACD,UAAU,EAAE,EAAE;KACf;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bgTask.d.ts","sourceRoot":"","sources":["../src/bgTask.ts"],"names":[],"mappings":"AAyBA,wDAAwD;AACxD,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC,qCAAqC;AACrC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAQvF,4DAA4D;AAC5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,uFAAuF;IACvF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAY7D;AAuCD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAmC7D;AAED,iGAAiG;AACjG,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI3D"}
|
package/dist/bgTask.js
CHANGED
|
@@ -1 +1,128 @@
|
|
|
1
|
-
|
|
1
|
+
// bg-task line protocol — single source of truth for the RFC-058 background-task
|
|
2
|
+
// service-envelope micro-protocol carried in SessionServiceEvent.text.
|
|
3
|
+
//
|
|
4
|
+
// Wire format (colon-separated, taskId URI-encoded so its own colons never split):
|
|
5
|
+
// bg-task:started:<encodedTaskId>:<desc>
|
|
6
|
+
// bg-task:progress:<encodedTaskId>:<summary>
|
|
7
|
+
// bg-task:completed:<encodedTaskId>:<usage>[:<summary>]
|
|
8
|
+
// bg-task:failed:<encodedTaskId>:<usage>[:<summary>]
|
|
9
|
+
// bg-task:stopped:<encodedTaskId>:<usage>[:<summary>]
|
|
10
|
+
//
|
|
11
|
+
// started/progress have NO usage segment; completed/failed/stopped carry a
|
|
12
|
+
// <usage> segment then an optional <summary>.
|
|
13
|
+
//
|
|
14
|
+
// <usage> is a comma-compact triple `<totalTokens>[,<durationMs>,<toolUses>]`:
|
|
15
|
+
// - "1234" → totalTokens=1234, durationMs=0, toolUses=0
|
|
16
|
+
// - "1234,58000,12" → totalTokens=1234, durationMs=58000, toolUses=12
|
|
17
|
+
// Emitting the bare token count when duration/tools are absent keeps the wire
|
|
18
|
+
// form byte-identical to the pre-extension format (backward compatible: old
|
|
19
|
+
// single-number lines parse with duration/tools = 0). durationMs and toolUses
|
|
20
|
+
// come from the ACP task usage (see daemon acpTypes.ts) and let the web show
|
|
21
|
+
// wall-clock time and tool-call count without any extra DB/encryption cost —
|
|
22
|
+
// the terminal event is emitted once regardless. Keeping this shape in one
|
|
23
|
+
// encode/parse pair prevents the daemon emitter and the two web parsers from
|
|
24
|
+
// drifting apart.
|
|
25
|
+
/** Common prefix for every bg-task service envelope. */
|
|
26
|
+
export const BG_TASK_PREFIX = 'bg-task:';
|
|
27
|
+
const BG_TASK_ACTIONS = new Set(['started', 'progress', 'completed', 'failed', 'stopped']);
|
|
28
|
+
function isBgTaskAction(s) {
|
|
29
|
+
return BG_TASK_ACTIONS.has(s);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Encode a bg-task lifecycle event into its service-envelope text form.
|
|
33
|
+
* taskId is URI-encoded so its (rare) colons never break the fixed-segment parser.
|
|
34
|
+
*/
|
|
35
|
+
export function encodeBgTask(input) {
|
|
36
|
+
const encodedTaskId = encodeURIComponent(input.taskId);
|
|
37
|
+
if (input.action === 'started') {
|
|
38
|
+
return `${BG_TASK_PREFIX}started:${encodedTaskId}:${input.desc ?? ''}`;
|
|
39
|
+
}
|
|
40
|
+
if (input.action === 'progress') {
|
|
41
|
+
return `${BG_TASK_PREFIX}progress:${encodedTaskId}:${input.summary ?? ''}`;
|
|
42
|
+
}
|
|
43
|
+
// completed / failed / stopped: <usage>[:<summary>]
|
|
44
|
+
const usage = encodeUsage(input.totalTokens ?? 0, input.durationMs ?? 0, input.toolUses ?? 0);
|
|
45
|
+
const summaryPart = input.summary ? `:${input.summary}` : '';
|
|
46
|
+
return `${BG_TASK_PREFIX}${input.action}:${encodedTaskId}:${usage}${summaryPart}`;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Encode the comma-compact usage triple. Emits the bare token count when
|
|
50
|
+
* duration and tools are both 0 so the wire form stays byte-identical to the
|
|
51
|
+
* pre-extension single-number format.
|
|
52
|
+
*/
|
|
53
|
+
function encodeUsage(totalTokens, durationMs, toolUses) {
|
|
54
|
+
if (durationMs === 0 && toolUses === 0)
|
|
55
|
+
return String(totalTokens);
|
|
56
|
+
return `${totalTokens},${durationMs},${toolUses}`;
|
|
57
|
+
}
|
|
58
|
+
/** Parse the comma-compact usage segment. Missing parts default to 0. */
|
|
59
|
+
function parseUsage(segment) {
|
|
60
|
+
const parts = segment.split(',');
|
|
61
|
+
const num = (s) => {
|
|
62
|
+
const n = Number(s);
|
|
63
|
+
return Number.isFinite(n) && n > 0 ? n : 0;
|
|
64
|
+
};
|
|
65
|
+
return {
|
|
66
|
+
totalTokens: num(parts[0]),
|
|
67
|
+
durationMs: num(parts[1]),
|
|
68
|
+
toolUses: num(parts[2]),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function decodeTaskId(encoded) {
|
|
72
|
+
try {
|
|
73
|
+
return decodeURIComponent(encoded);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
// SILENT-CATCH-OK: Malformed percent-encoding — fall back to the raw value.
|
|
77
|
+
return encoded;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Parse a bg-task service-envelope text back into structured fields.
|
|
82
|
+
* Returns null when `text` is not a recognized bg-task line.
|
|
83
|
+
*
|
|
84
|
+
* Pure decoding only — business rules (e.g. "empty progress summary must not
|
|
85
|
+
* overwrite the started desc") stay in the caller.
|
|
86
|
+
*/
|
|
87
|
+
export function parseBgTask(text) {
|
|
88
|
+
if (!text.startsWith(BG_TASK_PREFIX))
|
|
89
|
+
return null;
|
|
90
|
+
const body = text.slice(BG_TASK_PREFIX.length);
|
|
91
|
+
const a1 = body.indexOf(':');
|
|
92
|
+
if (a1 < 0)
|
|
93
|
+
return null;
|
|
94
|
+
const raw = body.slice(0, a1);
|
|
95
|
+
if (!isBgTaskAction(raw))
|
|
96
|
+
return null;
|
|
97
|
+
const action = raw;
|
|
98
|
+
const after = body.slice(a1 + 1);
|
|
99
|
+
const a2 = after.indexOf(':');
|
|
100
|
+
const encodedTaskId = a2 < 0 ? after : after.slice(0, a2);
|
|
101
|
+
if (!encodedTaskId)
|
|
102
|
+
return null;
|
|
103
|
+
const taskId = decodeTaskId(encodedTaskId);
|
|
104
|
+
const rest = a2 < 0 ? '' : after.slice(a2 + 1);
|
|
105
|
+
switch (action) {
|
|
106
|
+
case 'started':
|
|
107
|
+
return { action, taskId, desc: rest };
|
|
108
|
+
case 'progress':
|
|
109
|
+
return { action, taskId, summary: rest };
|
|
110
|
+
case 'completed':
|
|
111
|
+
case 'failed':
|
|
112
|
+
case 'stopped': {
|
|
113
|
+
// rest = <usage>[:<summary>] where <usage> = <tokens>[,<durationMs>,<toolUses>]
|
|
114
|
+
const a3 = rest.indexOf(':');
|
|
115
|
+
const usageStr = a3 < 0 ? rest : rest.slice(0, a3);
|
|
116
|
+
const summary = a3 < 0 ? '' : rest.slice(a3 + 1);
|
|
117
|
+
const { totalTokens, durationMs, toolUses } = parseUsage(usageStr);
|
|
118
|
+
return { action, taskId, totalTokens, durationMs, toolUses, summary };
|
|
119
|
+
}
|
|
120
|
+
default:
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/** True when `text` is a started or progress line (internal lifecycle, hidden from the flow). */
|
|
125
|
+
export function isBgTaskLifecycleLine(text) {
|
|
126
|
+
return (text.startsWith(`${BG_TASK_PREFIX}started:`) || text.startsWith(`${BG_TASK_PREFIX}progress:`));
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=bgTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bgTask.js","sourceRoot":"","sources":["../src/bgTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpointSchemas.d.ts","sourceRoot":"","sources":["../src/checkpointSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc,2CAA4C,CAAC;AACxE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,eAAO,MAAM,0BAA0B;;;;;;EAErC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAErC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;EAGrC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIrC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;EAMzC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;EAQzC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
|
|
@@ -1 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const ROLLBACK_MODES = ['code', 'conversation', 'both'];
|
|
3
|
+
export const CheckpointListParamsSchema = z.object({
|
|
4
|
+
claudeSessionId: z.string().min(1),
|
|
5
|
+
});
|
|
6
|
+
export const CheckpointEntrySchema = z.object({
|
|
7
|
+
messageId: z.string(),
|
|
8
|
+
timestamp: z.string(),
|
|
9
|
+
trackedFileCount: z.number().int().nonnegative(),
|
|
10
|
+
sequence: z.number().int().nonnegative(),
|
|
11
|
+
});
|
|
12
|
+
export const CheckpointListResultSchema = z.object({
|
|
13
|
+
checkpoints: z.array(CheckpointEntrySchema),
|
|
14
|
+
});
|
|
15
|
+
export const CheckpointDiffParamsSchema = z.object({
|
|
16
|
+
claudeSessionId: z.string().min(1),
|
|
17
|
+
messageId: z.string().min(1),
|
|
18
|
+
});
|
|
19
|
+
export const FileDiffEntrySchema = z.object({
|
|
20
|
+
filePath: z.string(),
|
|
21
|
+
status: z.enum(['modified', 'deleted', 'created']),
|
|
22
|
+
currentSize: z.number().int().nonnegative(),
|
|
23
|
+
snapshotSize: z.number().int().nonnegative(),
|
|
24
|
+
});
|
|
25
|
+
export const CheckpointDiffResultSchema = z.object({
|
|
26
|
+
files: z.array(FileDiffEntrySchema),
|
|
27
|
+
hasExternalChanges: z.boolean(),
|
|
28
|
+
externallyModifiedFiles: z.array(z.string()),
|
|
29
|
+
});
|
|
30
|
+
export const CheckpointRollbackParamsSchema = z.object({
|
|
31
|
+
claudeSessionId: z.string().min(1),
|
|
32
|
+
messageId: z.string().min(1).optional(),
|
|
33
|
+
timestamp: z.string().optional(),
|
|
34
|
+
mode: z.enum(ROLLBACK_MODES).optional().default('code'),
|
|
35
|
+
force: z.boolean().optional().default(false),
|
|
36
|
+
});
|
|
37
|
+
export const CheckpointRollbackResultSchema = z.object({
|
|
38
|
+
restoredCount: z.number().int().nonnegative(),
|
|
39
|
+
deletedCount: z.number().int().nonnegative(),
|
|
40
|
+
skippedFiles: z.array(z.string()),
|
|
41
|
+
truncatedMessageCount: z.number().int().nonnegative().optional(),
|
|
42
|
+
pivotTimestamp: z.string().optional(),
|
|
43
|
+
pivotMessageUuid: z.string().optional(),
|
|
44
|
+
mode: z.enum(ROLLBACK_MODES).optional(),
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=checkpointSchemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpointSchemas.js","sourceRoot":"","sources":["../src/checkpointSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAU,CAAC;AAGxE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC3C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACnC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/B,uBAAuB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACvD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC5C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAChE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controlLevel.d.ts","sourceRoot":"","sources":["../src/controlLevel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,kFAAoE,CAAC;AAE9F,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
package/dist/controlLevel.js
CHANGED
|
@@ -1 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Control depth level for CLI tools.
|
|
4
|
+
*
|
|
5
|
+
* Level 3: Full control — bidirectional ACP, per-tool permissions, resume (Claude Code, OpenCode)
|
|
6
|
+
* Level 2: High control — JSONL + resume + pre-configured permissions (Codex CLI)
|
|
7
|
+
* Level 1: Read-only monitoring — JSONL + no resume + binary permissions (Gemini, Qwen)
|
|
8
|
+
* Level 0: Minimal — plain text + no multi-turn (Aider, not recommended)
|
|
9
|
+
*/
|
|
10
|
+
export const ControlLevel = z.union([z.literal(3), z.literal(2), z.literal(1), z.literal(0)]);
|
|
11
|
+
//# sourceMappingURL=controlLevel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controlLevel.js","sourceRoot":"","sources":["../src/controlLevel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edition.d.ts","sourceRoot":"","sources":["../src/edition.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,qCAAsC,CAAC;AAC5D,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAIhD,wBAAgB,UAAU,IAAI,OAAO,CAOpC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
|
package/dist/edition.js
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
export const EDITIONS = ['personal', 'enterprise'];
|
|
2
|
+
export function getEdition() {
|
|
3
|
+
const raw = process.env['EDITION'] || 'personal';
|
|
4
|
+
const found = EDITIONS.find((e) => e === raw);
|
|
5
|
+
if (!found) {
|
|
6
|
+
throw new Error(`Invalid EDITION="${raw}". Must be one of: ${EDITIONS.join(', ')}`);
|
|
7
|
+
}
|
|
8
|
+
return found;
|
|
9
|
+
}
|
|
10
|
+
export function isEnterprise() {
|
|
11
|
+
return getEdition() === 'enterprise';
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=edition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edition.js","sourceRoot":"","sources":["../src/edition.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,YAAY,CAAU,CAAC;AAK5D,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,sBAAsB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,EAAE,KAAK,YAAY,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,iBAAiB,8BAA4B,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;;;;IAU9B,wEAAwE;;IAExE,sFAAsF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCtF,CAAC;AAEL,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,yFAAyF;IACzF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,YAAY,EAChB,IAAI,GAAE,qBAA0B,GAC/B,eAAe,CAWjB"}
|