sidekick-shared 0.26.5 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +98 -59
  3. package/dist/accountChanges.js +21 -2
  4. package/dist/accountHealth.d.ts +72 -0
  5. package/dist/accountHealth.js +286 -0
  6. package/dist/accountLaunch.d.ts +30 -0
  7. package/dist/accountLaunch.js +124 -0
  8. package/dist/accountManager.d.ts +33 -8
  9. package/dist/accountManager.js +183 -50
  10. package/dist/accountRegistry.d.ts +10 -0
  11. package/dist/accountRegistry.js +42 -22
  12. package/dist/accountSwitch.d.ts +43 -0
  13. package/dist/accountSwitch.js +115 -0
  14. package/dist/accountSync.d.ts +30 -0
  15. package/dist/accountSync.js +180 -0
  16. package/dist/accountSyncTypes.d.ts +25 -0
  17. package/dist/accountSyncTypes.js +7 -0
  18. package/dist/accounts.d.ts +58 -6
  19. package/dist/accounts.js +408 -189
  20. package/dist/claudeCredentials.d.ts +38 -0
  21. package/dist/claudeCredentials.js +74 -0
  22. package/dist/claudeProfiles.d.ts +40 -0
  23. package/dist/claudeProfiles.js +102 -10
  24. package/dist/codexAuth.d.ts +32 -0
  25. package/dist/codexAuth.js +127 -0
  26. package/dist/codexPaths.d.ts +21 -0
  27. package/dist/codexPaths.js +117 -0
  28. package/dist/codexProfiles.d.ts +58 -5
  29. package/dist/codexProfiles.js +574 -289
  30. package/dist/credentialIO.d.ts +12 -5
  31. package/dist/credentialIO.js +63 -29
  32. package/dist/credentials.d.ts +8 -0
  33. package/dist/credentials.js +28 -32
  34. package/dist/ensureDefaultAccounts.d.ts +8 -0
  35. package/dist/ensureDefaultAccounts.js +42 -82
  36. package/dist/humanPrompt.d.ts +27 -0
  37. package/dist/humanPrompt.js +93 -0
  38. package/dist/index.d.ts +31 -10
  39. package/dist/index.js +72 -13
  40. package/dist/keepAlive.d.ts +44 -0
  41. package/dist/keepAlive.js +106 -0
  42. package/dist/modelContext.js +4 -0
  43. package/dist/modelInfo.js +26 -1
  44. package/dist/node.d.ts +4 -0
  45. package/dist/node.js +9 -2
  46. package/dist/processDetection.d.ts +32 -0
  47. package/dist/processDetection.js +210 -0
  48. package/dist/promptHistory.d.ts +108 -0
  49. package/dist/promptHistory.js +616 -0
  50. package/dist/schemas/accountManager.d.ts +283 -1
  51. package/dist/schemas/accountManager.js +122 -1
  52. package/dist/schemas/assistantTurn.d.ts +2 -2
  53. package/dist/schemas/index.d.ts +6 -1
  54. package/dist/schemas/index.js +14 -1
  55. package/dist/schemas/observedSessionV1.d.ts +21 -21
  56. package/dist/schemas/quota.d.ts +18 -18
  57. package/dist/schemas/quotaHistory.d.ts +1 -1
  58. package/dist/schemas/sessionEvent.d.ts +25 -0
  59. package/dist/schemas/sessionEvent.js +3 -0
  60. package/dist/schemas/stateFile.d.ts +5 -5
  61. package/dist/terminalSync.d.ts +5 -5
  62. package/dist/terminalSync.js +7 -112
  63. package/dist/transcript.d.ts +6 -0
  64. package/dist/transcript.js +3 -0
  65. package/dist/types/sessionEvent.d.ts +8 -0
  66. package/dist/writers/atomic.d.ts +2 -0
  67. package/dist/writers/atomic.js +49 -2
  68. package/package.json +1 -1
@@ -28,16 +28,18 @@ export declare const beginAccountLoginResultSchema: z.ZodUnion<readonly [z.ZodOb
28
28
  command: z.ZodOptional<z.ZodString>;
29
29
  args: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
30
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
31
+ envUnset: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
32
  configDir: z.ZodOptional<z.ZodString>;
33
+ existingAccountId: z.ZodOptional<z.ZodString>;
32
34
  }, z.core.$strip>, z.ZodObject<{
33
35
  success: z.ZodLiteral<false>;
34
36
  error: z.ZodString;
35
37
  }, z.core.$strip>]>;
36
38
  export declare const accountLoginStatusSchema: z.ZodObject<{
37
39
  state: z.ZodEnum<{
40
+ failed: "failed";
38
41
  pending: "pending";
39
42
  authenticated: "authenticated";
40
- failed: "failed";
41
43
  }>;
42
44
  email: z.ZodOptional<z.ZodString>;
43
45
  error: z.ZodOptional<z.ZodString>;
@@ -67,6 +69,12 @@ export declare const savedAccountProfileSchema: z.ZodObject<{
67
69
  chatgpt: "chatgpt";
68
70
  "api-key": "api-key";
69
71
  }>>;
72
+ origin: z.ZodOptional<z.ZodEnum<{
73
+ login: "login";
74
+ manual: "manual";
75
+ "live-sync": "live-sync";
76
+ migration: "migration";
77
+ }>>;
70
78
  }, z.core.$strip>>;
71
79
  }, z.core.$strip>;
72
80
  export declare const listAllAccountsResultSchema: z.ZodObject<{
@@ -95,6 +103,12 @@ export declare const listAllAccountsResultSchema: z.ZodObject<{
95
103
  chatgpt: "chatgpt";
96
104
  "api-key": "api-key";
97
105
  }>>;
106
+ origin: z.ZodOptional<z.ZodEnum<{
107
+ login: "login";
108
+ manual: "manual";
109
+ "live-sync": "live-sync";
110
+ migration: "migration";
111
+ }>>;
98
112
  }, z.core.$strip>>;
99
113
  }, z.core.$strip>>;
100
114
  activeByProvider: z.ZodObject<{
@@ -102,3 +116,271 @@ export declare const listAllAccountsResultSchema: z.ZodObject<{
102
116
  codex: z.ZodNullable<z.ZodString>;
103
117
  }, z.core.$strip>;
104
118
  }, z.core.$strip>;
119
+ export declare const accountHealthStateSchema: z.ZodEnum<{
120
+ unknown: "unknown";
121
+ fresh: "fresh";
122
+ expiring: "expiring";
123
+ expired: "expired";
124
+ missing: "missing";
125
+ }>;
126
+ export declare const accountHealthSourceSchema: z.ZodEnum<{
127
+ login: "login";
128
+ "live-sync": "live-sync";
129
+ migration: "migration";
130
+ switch: "switch";
131
+ keepalive: "keepalive";
132
+ }>;
133
+ export declare const accountHealthSidecarSchema: z.ZodObject<{
134
+ version: z.ZodLiteral<1>;
135
+ capturedAt: z.ZodNumber;
136
+ accessExpiresAt: z.ZodOptional<z.ZodNumber>;
137
+ refreshExpiresAt: z.ZodOptional<z.ZodNumber>;
138
+ refreshExpiryEstimated: z.ZodOptional<z.ZodBoolean>;
139
+ lastRefreshAt: z.ZodOptional<z.ZodNumber>;
140
+ hasRefreshToken: z.ZodOptional<z.ZodBoolean>;
141
+ authMode: z.ZodOptional<z.ZodEnum<{
142
+ chatgpt: "chatgpt";
143
+ "api-key": "api-key";
144
+ oauth: "oauth";
145
+ }>>;
146
+ source: z.ZodEnum<{
147
+ login: "login";
148
+ "live-sync": "live-sync";
149
+ migration: "migration";
150
+ switch: "switch";
151
+ keepalive: "keepalive";
152
+ }>;
153
+ }, z.core.$strip>;
154
+ export declare const accountHealthSchema: z.ZodObject<{
155
+ providerId: z.ZodEnum<{
156
+ "claude-code": "claude-code";
157
+ codex: "codex";
158
+ }>;
159
+ accountId: z.ZodString;
160
+ state: z.ZodEnum<{
161
+ unknown: "unknown";
162
+ fresh: "fresh";
163
+ expiring: "expiring";
164
+ expired: "expired";
165
+ missing: "missing";
166
+ }>;
167
+ accessExpiresAt: z.ZodOptional<z.ZodNumber>;
168
+ refreshExpiresAt: z.ZodOptional<z.ZodNumber>;
169
+ refreshExpiryEstimated: z.ZodOptional<z.ZodBoolean>;
170
+ lastRefreshAt: z.ZodOptional<z.ZodNumber>;
171
+ checkedAt: z.ZodNumber;
172
+ isLive: z.ZodBoolean;
173
+ reason: z.ZodOptional<z.ZodString>;
174
+ }, z.core.$strip>;
175
+ export declare const accountViewSchema: z.ZodObject<{
176
+ id: z.ZodString;
177
+ providerId: z.ZodEnum<{
178
+ "claude-code": "claude-code";
179
+ codex: "codex";
180
+ }>;
181
+ label: z.ZodOptional<z.ZodString>;
182
+ email: z.ZodOptional<z.ZodString>;
183
+ planType: z.ZodOptional<z.ZodString>;
184
+ isActive: z.ZodBoolean;
185
+ health: z.ZodObject<{
186
+ providerId: z.ZodEnum<{
187
+ "claude-code": "claude-code";
188
+ codex: "codex";
189
+ }>;
190
+ accountId: z.ZodString;
191
+ state: z.ZodEnum<{
192
+ unknown: "unknown";
193
+ fresh: "fresh";
194
+ expiring: "expiring";
195
+ expired: "expired";
196
+ missing: "missing";
197
+ }>;
198
+ accessExpiresAt: z.ZodOptional<z.ZodNumber>;
199
+ refreshExpiresAt: z.ZodOptional<z.ZodNumber>;
200
+ refreshExpiryEstimated: z.ZodOptional<z.ZodBoolean>;
201
+ lastRefreshAt: z.ZodOptional<z.ZodNumber>;
202
+ checkedAt: z.ZodNumber;
203
+ isLive: z.ZodBoolean;
204
+ reason: z.ZodOptional<z.ZodString>;
205
+ }, z.core.$strip>;
206
+ source: z.ZodEnum<{
207
+ registered: "registered";
208
+ learned: "learned";
209
+ }>;
210
+ addedAt: z.ZodString;
211
+ }, z.core.$strip>;
212
+ export declare const runningProcessSchema: z.ZodObject<{
213
+ pid: z.ZodNumber;
214
+ name: z.ZodString;
215
+ command: z.ZodString;
216
+ }, z.core.$strip>;
217
+ export declare const accountConsumerKindSchema: z.ZodEnum<{
218
+ "claude-cli": "claude-cli";
219
+ "claude-desktop": "claude-desktop";
220
+ "codex-cli": "codex-cli";
221
+ "codex-app": "codex-app";
222
+ "vscode-extension-host": "vscode-extension-host";
223
+ }>;
224
+ export declare const runningAccountConsumerSchema: z.ZodObject<{
225
+ kind: z.ZodEnum<{
226
+ "claude-cli": "claude-cli";
227
+ "claude-desktop": "claude-desktop";
228
+ "codex-cli": "codex-cli";
229
+ "codex-app": "codex-app";
230
+ "vscode-extension-host": "vscode-extension-host";
231
+ }>;
232
+ pids: z.ZodArray<z.ZodNumber>;
233
+ switched: z.ZodBoolean;
234
+ reachability: z.ZodString;
235
+ }, z.core.$strip>;
236
+ export declare const switchAccountResultSchema: z.ZodObject<{
237
+ success: z.ZodBoolean;
238
+ error: z.ZodOptional<z.ZodString>;
239
+ warning: z.ZodOptional<z.ZodString>;
240
+ needsLogin: z.ZodOptional<z.ZodBoolean>;
241
+ profileId: z.ZodOptional<z.ZodString>;
242
+ codexHome: z.ZodOptional<z.ZodString>;
243
+ provider: z.ZodEnum<{
244
+ "claude-code": "claude-code";
245
+ codex: "codex";
246
+ }>;
247
+ accountId: z.ZodString;
248
+ previousAccountId: z.ZodNullable<z.ZodString>;
249
+ verified: z.ZodBoolean;
250
+ verification: z.ZodEnum<{
251
+ none: "none";
252
+ store: "store";
253
+ cli: "cli";
254
+ failed: "failed";
255
+ }>;
256
+ health: z.ZodOptional<z.ZodObject<{
257
+ providerId: z.ZodEnum<{
258
+ "claude-code": "claude-code";
259
+ codex: "codex";
260
+ }>;
261
+ accountId: z.ZodString;
262
+ state: z.ZodEnum<{
263
+ unknown: "unknown";
264
+ fresh: "fresh";
265
+ expiring: "expiring";
266
+ expired: "expired";
267
+ missing: "missing";
268
+ }>;
269
+ accessExpiresAt: z.ZodOptional<z.ZodNumber>;
270
+ refreshExpiresAt: z.ZodOptional<z.ZodNumber>;
271
+ refreshExpiryEstimated: z.ZodOptional<z.ZodBoolean>;
272
+ lastRefreshAt: z.ZodOptional<z.ZodNumber>;
273
+ checkedAt: z.ZodNumber;
274
+ isLive: z.ZodBoolean;
275
+ reason: z.ZodOptional<z.ZodString>;
276
+ }, z.core.$strip>>;
277
+ warnings: z.ZodArray<z.ZodString>;
278
+ hints: z.ZodArray<z.ZodString>;
279
+ runningConsumers: z.ZodArray<z.ZodObject<{
280
+ kind: z.ZodEnum<{
281
+ "claude-cli": "claude-cli";
282
+ "claude-desktop": "claude-desktop";
283
+ "codex-cli": "codex-cli";
284
+ "codex-app": "codex-app";
285
+ "vscode-extension-host": "vscode-extension-host";
286
+ }>;
287
+ pids: z.ZodArray<z.ZodNumber>;
288
+ switched: z.ZodBoolean;
289
+ reachability: z.ZodString;
290
+ }, z.core.$strip>>;
291
+ undoToken: z.ZodOptional<z.ZodString>;
292
+ alreadyActive: z.ZodOptional<z.ZodBoolean>;
293
+ email: z.ZodOptional<z.ZodString>;
294
+ }, z.core.$strip>;
295
+ export declare const lastSwitchRecordSchema: z.ZodObject<{
296
+ token: z.ZodString;
297
+ provider: z.ZodEnum<{
298
+ "claude-code": "claude-code";
299
+ codex: "codex";
300
+ }>;
301
+ from: z.ZodNullable<z.ZodString>;
302
+ to: z.ZodString;
303
+ at: z.ZodString;
304
+ }, z.core.$strip>;
305
+ export declare const providerSyncReportSchema: z.ZodObject<{
306
+ registered: z.ZodOptional<z.ZodObject<{
307
+ id: z.ZodString;
308
+ email: z.ZodOptional<z.ZodString>;
309
+ }, z.core.$strip>>;
310
+ folded: z.ZodOptional<z.ZodString>;
311
+ repointed: z.ZodOptional<z.ZodString>;
312
+ merged: z.ZodOptional<z.ZodArray<z.ZodString>>;
313
+ skipped: z.ZodOptional<z.ZodString>;
314
+ warnings: z.ZodArray<z.ZodString>;
315
+ }, z.core.$strip>;
316
+ export declare const syncReportSchema: z.ZodObject<{
317
+ claude: z.ZodObject<{
318
+ registered: z.ZodOptional<z.ZodObject<{
319
+ id: z.ZodString;
320
+ email: z.ZodOptional<z.ZodString>;
321
+ }, z.core.$strip>>;
322
+ folded: z.ZodOptional<z.ZodString>;
323
+ repointed: z.ZodOptional<z.ZodString>;
324
+ merged: z.ZodOptional<z.ZodArray<z.ZodString>>;
325
+ skipped: z.ZodOptional<z.ZodString>;
326
+ warnings: z.ZodArray<z.ZodString>;
327
+ }, z.core.$strip>;
328
+ codex: z.ZodObject<{
329
+ registered: z.ZodOptional<z.ZodObject<{
330
+ id: z.ZodString;
331
+ email: z.ZodOptional<z.ZodString>;
332
+ }, z.core.$strip>>;
333
+ folded: z.ZodOptional<z.ZodString>;
334
+ repointed: z.ZodOptional<z.ZodString>;
335
+ merged: z.ZodOptional<z.ZodArray<z.ZodString>>;
336
+ skipped: z.ZodOptional<z.ZodString>;
337
+ warnings: z.ZodArray<z.ZodString>;
338
+ }, z.core.$strip>;
339
+ ranAt: z.ZodNumber;
340
+ reason: z.ZodEnum<{
341
+ poll: "poll";
342
+ manual: "manual";
343
+ startup: "startup";
344
+ watch: "watch";
345
+ "pre-switch": "pre-switch";
346
+ }>;
347
+ }, z.core.$strip>;
348
+ export declare const accountLaunchEnvSchema: z.ZodObject<{
349
+ provider: z.ZodEnum<{
350
+ "claude-code": "claude-code";
351
+ codex: "codex";
352
+ }>;
353
+ accountId: z.ZodString;
354
+ label: z.ZodOptional<z.ZodString>;
355
+ email: z.ZodOptional<z.ZodString>;
356
+ home: z.ZodString;
357
+ env: z.ZodRecord<z.ZodString, z.ZodString>;
358
+ envUnset: z.ZodArray<z.ZodString>;
359
+ command: z.ZodEnum<{
360
+ codex: "codex";
361
+ claude: "claude";
362
+ }>;
363
+ health: z.ZodObject<{
364
+ providerId: z.ZodEnum<{
365
+ "claude-code": "claude-code";
366
+ codex: "codex";
367
+ }>;
368
+ accountId: z.ZodString;
369
+ state: z.ZodEnum<{
370
+ unknown: "unknown";
371
+ fresh: "fresh";
372
+ expiring: "expiring";
373
+ expired: "expired";
374
+ missing: "missing";
375
+ }>;
376
+ accessExpiresAt: z.ZodOptional<z.ZodNumber>;
377
+ refreshExpiresAt: z.ZodOptional<z.ZodNumber>;
378
+ refreshExpiryEstimated: z.ZodOptional<z.ZodBoolean>;
379
+ lastRefreshAt: z.ZodOptional<z.ZodNumber>;
380
+ checkedAt: z.ZodNumber;
381
+ isLive: z.ZodBoolean;
382
+ reason: z.ZodOptional<z.ZodString>;
383
+ }, z.core.$strip>;
384
+ warnings: z.ZodArray<z.ZodString>;
385
+ error: z.ZodOptional<z.ZodString>;
386
+ }, z.core.$strip>;
@@ -10,7 +10,7 @@
10
10
  * @module schemas/accountManager
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.listAllAccountsResultSchema = exports.savedAccountProfileSchema = exports.accountEntrySchema = exports.accountLoginStatusSchema = exports.beginAccountLoginResultSchema = exports.accountManagerResultSchema = exports.accountProviderIdSchema = void 0;
13
+ exports.accountLaunchEnvSchema = exports.syncReportSchema = exports.providerSyncReportSchema = exports.lastSwitchRecordSchema = exports.switchAccountResultSchema = exports.runningAccountConsumerSchema = exports.accountConsumerKindSchema = exports.runningProcessSchema = exports.accountViewSchema = exports.accountHealthSchema = exports.accountHealthSidecarSchema = exports.accountHealthSourceSchema = exports.accountHealthStateSchema = exports.listAllAccountsResultSchema = exports.savedAccountProfileSchema = exports.accountEntrySchema = exports.accountLoginStatusSchema = exports.beginAccountLoginResultSchema = exports.accountManagerResultSchema = exports.accountProviderIdSchema = void 0;
14
14
  const zod_1 = require("zod");
15
15
  const providerIds_1 = require("../providerIds");
16
16
  // ── AccountProviderId ──
@@ -32,7 +32,9 @@ const beginAccountLoginSuccessSchema = zod_1.z.object({
32
32
  command: zod_1.z.string().optional(),
33
33
  args: zod_1.z.array(zod_1.z.string()).optional(),
34
34
  env: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
35
+ envUnset: zod_1.z.array(zod_1.z.string()).optional(),
35
36
  configDir: zod_1.z.string().optional(),
37
+ existingAccountId: zod_1.z.string().optional(),
36
38
  });
37
39
  const beginAccountLoginFailureSchema = zod_1.z.object({
38
40
  success: zod_1.z.literal(false),
@@ -61,6 +63,7 @@ const accountIdentityMetadataSchema = zod_1.z.object({
61
63
  workspaceId: zod_1.z.string().optional(),
62
64
  planType: zod_1.z.string().optional(),
63
65
  authMode: zod_1.z.enum(['chatgpt', 'api-key', 'unknown']).optional(),
66
+ origin: zod_1.z.enum(['login', 'manual', 'live-sync', 'migration']).optional(),
64
67
  });
65
68
  exports.savedAccountProfileSchema = zod_1.z.object({
66
69
  id: zod_1.z.string(),
@@ -80,3 +83,121 @@ exports.listAllAccountsResultSchema = zod_1.z.object({
80
83
  codex: zod_1.z.string().nullable(),
81
84
  }),
82
85
  });
86
+ // ── Account health ──
87
+ exports.accountHealthStateSchema = zod_1.z.enum([
88
+ 'fresh',
89
+ 'expiring',
90
+ 'expired',
91
+ 'unknown',
92
+ 'missing',
93
+ ]);
94
+ exports.accountHealthSourceSchema = zod_1.z.enum([
95
+ 'live-sync',
96
+ 'login',
97
+ 'switch',
98
+ 'keepalive',
99
+ 'migration',
100
+ ]);
101
+ exports.accountHealthSidecarSchema = zod_1.z.object({
102
+ version: zod_1.z.literal(1),
103
+ capturedAt: zod_1.z.number(),
104
+ accessExpiresAt: zod_1.z.number().optional(),
105
+ refreshExpiresAt: zod_1.z.number().optional(),
106
+ refreshExpiryEstimated: zod_1.z.boolean().optional(),
107
+ lastRefreshAt: zod_1.z.number().optional(),
108
+ hasRefreshToken: zod_1.z.boolean().optional(),
109
+ authMode: zod_1.z.enum(['chatgpt', 'api-key', 'oauth']).optional(),
110
+ source: exports.accountHealthSourceSchema,
111
+ });
112
+ exports.accountHealthSchema = zod_1.z.object({
113
+ providerId: exports.accountProviderIdSchema,
114
+ accountId: zod_1.z.string(),
115
+ state: exports.accountHealthStateSchema,
116
+ accessExpiresAt: zod_1.z.number().optional(),
117
+ refreshExpiresAt: zod_1.z.number().optional(),
118
+ refreshExpiryEstimated: zod_1.z.boolean().optional(),
119
+ lastRefreshAt: zod_1.z.number().optional(),
120
+ checkedAt: zod_1.z.number(),
121
+ isLive: zod_1.z.boolean(),
122
+ reason: zod_1.z.string().optional(),
123
+ });
124
+ exports.accountViewSchema = zod_1.z.object({
125
+ id: zod_1.z.string(),
126
+ providerId: exports.accountProviderIdSchema,
127
+ label: zod_1.z.string().optional(),
128
+ email: zod_1.z.string().optional(),
129
+ planType: zod_1.z.string().optional(),
130
+ isActive: zod_1.z.boolean(),
131
+ health: exports.accountHealthSchema,
132
+ source: zod_1.z.enum(['registered', 'learned']),
133
+ addedAt: zod_1.z.string(),
134
+ });
135
+ // ── Running consumers / switch result ──
136
+ exports.runningProcessSchema = zod_1.z.object({
137
+ pid: zod_1.z.number(),
138
+ name: zod_1.z.string(),
139
+ command: zod_1.z.string(),
140
+ });
141
+ exports.accountConsumerKindSchema = zod_1.z.enum([
142
+ 'claude-cli',
143
+ 'claude-desktop',
144
+ 'codex-cli',
145
+ 'codex-app',
146
+ 'vscode-extension-host',
147
+ ]);
148
+ exports.runningAccountConsumerSchema = zod_1.z.object({
149
+ kind: exports.accountConsumerKindSchema,
150
+ pids: zod_1.z.array(zod_1.z.number()),
151
+ switched: zod_1.z.boolean(),
152
+ reachability: zod_1.z.string(),
153
+ });
154
+ exports.switchAccountResultSchema = exports.accountManagerResultSchema.extend({
155
+ provider: exports.accountProviderIdSchema,
156
+ accountId: zod_1.z.string(),
157
+ previousAccountId: zod_1.z.string().nullable(),
158
+ verified: zod_1.z.boolean(),
159
+ verification: zod_1.z.enum(['store', 'cli', 'none', 'failed']),
160
+ health: exports.accountHealthSchema.optional(),
161
+ warnings: zod_1.z.array(zod_1.z.string()),
162
+ hints: zod_1.z.array(zod_1.z.string()),
163
+ runningConsumers: zod_1.z.array(exports.runningAccountConsumerSchema),
164
+ undoToken: zod_1.z.string().optional(),
165
+ alreadyActive: zod_1.z.boolean().optional(),
166
+ email: zod_1.z.string().optional(),
167
+ });
168
+ exports.lastSwitchRecordSchema = zod_1.z.object({
169
+ token: zod_1.z.string(),
170
+ provider: exports.accountProviderIdSchema,
171
+ from: zod_1.z.string().nullable(),
172
+ to: zod_1.z.string(),
173
+ at: zod_1.z.string(),
174
+ });
175
+ // ── Sync report ──
176
+ exports.providerSyncReportSchema = zod_1.z.object({
177
+ registered: zod_1.z.object({ id: zod_1.z.string(), email: zod_1.z.string().optional() }).optional(),
178
+ folded: zod_1.z.string().optional(),
179
+ repointed: zod_1.z.string().optional(),
180
+ merged: zod_1.z.array(zod_1.z.string()).optional(),
181
+ skipped: zod_1.z.string().optional(),
182
+ warnings: zod_1.z.array(zod_1.z.string()),
183
+ });
184
+ exports.syncReportSchema = zod_1.z.object({
185
+ claude: exports.providerSyncReportSchema,
186
+ codex: exports.providerSyncReportSchema,
187
+ ranAt: zod_1.z.number(),
188
+ reason: zod_1.z.enum(['startup', 'watch', 'poll', 'pre-switch', 'manual']),
189
+ });
190
+ // ── Launch env ──
191
+ exports.accountLaunchEnvSchema = zod_1.z.object({
192
+ provider: exports.accountProviderIdSchema,
193
+ accountId: zod_1.z.string(),
194
+ label: zod_1.z.string().optional(),
195
+ email: zod_1.z.string().optional(),
196
+ home: zod_1.z.string(),
197
+ env: zod_1.z.record(zod_1.z.string(), zod_1.z.string()),
198
+ envUnset: zod_1.z.array(zod_1.z.string()),
199
+ command: zod_1.z.enum(['claude', 'codex']),
200
+ health: exports.accountHealthSchema,
201
+ warnings: zod_1.z.array(zod_1.z.string()),
202
+ error: zod_1.z.string().optional(),
203
+ });
@@ -6,9 +6,9 @@
6
6
  */
7
7
  import { z } from 'zod';
8
8
  export declare const assistantTurnEventTypeSchema: z.ZodEnum<{
9
- status: "status";
10
9
  error: "error";
11
10
  text: "text";
11
+ status: "status";
12
12
  tool_use: "tool_use";
13
13
  tool_result: "tool_result";
14
14
  progress: "progress";
@@ -17,9 +17,9 @@ export declare const assistantTurnEventTypeSchema: z.ZodEnum<{
17
17
  }>;
18
18
  export declare const assistantTurnEventSchema: z.ZodObject<{
19
19
  eventType: z.ZodEnum<{
20
- status: "status";
21
20
  error: "error";
22
21
  text: "text";
22
+ status: "status";
23
23
  tool_use: "tool_use";
24
24
  tool_result: "tool_result";
25
25
  progress: "progress";
@@ -30,10 +30,15 @@ export { quotaHistoryRuntimeProviderSchema, quotaHistorySampleSchema, quotaHisto
30
30
  export type { QuotaHistoryRuntimeProvider, QuotaHistorySample, QuotaHistoryDailyBucket, } from '../quotaHistory';
31
31
  export { activeProviderAccountStatusSchema, activeAccountStatusSchema } from './accountStatus';
32
32
  export type { ActiveProviderAccountStatus, ActiveAccountStatus } from '../accountStatus';
33
- export { accountProviderIdSchema, accountManagerResultSchema, beginAccountLoginResultSchema, accountLoginStatusSchema, accountEntrySchema, savedAccountProfileSchema, listAllAccountsResultSchema, } from './accountManager';
33
+ export { accountProviderIdSchema, accountManagerResultSchema, beginAccountLoginResultSchema, accountLoginStatusSchema, accountEntrySchema, savedAccountProfileSchema, listAllAccountsResultSchema, accountHealthStateSchema, accountHealthSourceSchema, accountHealthSidecarSchema, accountHealthSchema, accountViewSchema, runningProcessSchema, accountConsumerKindSchema, runningAccountConsumerSchema, switchAccountResultSchema, lastSwitchRecordSchema, providerSyncReportSchema, syncReportSchema, accountLaunchEnvSchema, } from './accountManager';
34
34
  export type { AccountEntry, AccountManagerResult } from '../accounts';
35
35
  export type { AccountProviderId, SavedAccountProfile } from '../accountRegistry';
36
36
  export type { AccountLoginStatus, BeginAccountLoginResult, ListAllAccountsResult, } from '../accountManager';
37
+ export type { AccountHealth, AccountHealthSidecar, AccountHealthState, AccountView, } from '../accountHealth';
38
+ export type { LastSwitchRecord, SwitchAccountResult } from '../accountSwitch';
39
+ export type { ProviderSyncReport, SyncReport } from '../accountSyncTypes';
40
+ export type { AccountLaunchEnv } from '../accountLaunch';
41
+ export type { RunningAccountConsumer, RunningProcess } from '../processDetection';
37
42
  export { assistantTurnEventSchema, assistantTurnEventTypeSchema, assistantTurnNarrationStepSchema, assistantTurnProcessSchema, assistantTurnProcessStepSchema, assistantTurnProjectionSchema, assistantTurnReasoningTimelineItemSchema, assistantTurnSubagentSchema, assistantTurnSubagentStatusSchema, assistantTurnTimelineItemSchema, assistantTurnToolGroupStepSchema, assistantTurnToolRefSchema, } from './assistantTurn';
38
43
  export type { AssistantTurnEvent, AssistantTurnEventType, AssistantTurnProcess, AssistantTurnProcessStep, AssistantTurnProjection, AssistantTurnSubagent, AssistantTurnSubagentStatus, AssistantTurnTimelineItem, AssistantTurnToolRef, } from '../turns/assistantTurn';
39
44
  export { sidekickStateFileSchema, stateFileAccountSchema, stateFileBillingBlockSchema, stateFileContextSchema, stateFileQuotaSchema, stateFileQuotaWindowSchema, stateFileSessionSchema, stateFileWriterSchema, } from './stateFile';
@@ -13,7 +13,7 @@
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.activeAccountStatusSchema = exports.activeProviderAccountStatusSchema = exports.quotaHistoryDailyBucketSchema = exports.quotaHistorySampleSchema = exports.quotaHistoryRuntimeProviderSchema = exports.providerQuotaMapSchema = exports.zaiProviderQuotaStateSchema = exports.codexProviderQuotaStateSchema = exports.claudeProviderQuotaStateSchema = exports.providerQuotaStateSchema = exports.runtimeQuotaProviderSchema = exports.quotaFailureDescriptorSchema = exports.peakHoursStateSchema = exports.codexResetCreditsSnapshotSchema = exports.codexResetCreditSchema = exports.quotaSourceSchema = exports.quotaProviderIdSchema = exports.quotaFailureKindSchema = exports.quotaStateSchema = exports.quotaWindowSchema = exports.sessionEvidenceRefV1Schema = exports.providerSessionAdapterV1Schema = exports.providerCapabilitiesV1Schema = exports.pendingUserRequestV1Schema = exports.observedValueV1Schema = exports.observedAgentSessionV1Schema = exports.observationProvenanceV1Schema = exports.canonicalSessionTranscriptSchema = exports.canonicalTranscriptMessageSchema = exports.canonicalToolCallSchema = exports.canonicalTranscriptBlockSchema = exports.transcriptSourceProvenanceSchema = exports.tokenEstimateSchema = exports.normalizedUsageCostSchema = exports.normalizedUsageSchema = exports.toolResultSessionEventSchema = exports.toolUseSessionEventSchema = exports.systemSessionEventSchema = exports.summarySessionEventSchema = exports.assistantSessionEventSchema = exports.userSessionEventSchema = exports.extractSessionEvents = exports.permissionModeSchema = exports.sessionEventSchema = exports.sessionMessageSchema = exports.messageUsageSchema = exports.SESSION_PROVIDER_IDS = exports.RUNTIME_QUOTA_PROVIDER_IDS = exports.QUOTA_PROVIDER_IDS = exports.ACCOUNT_PROVIDER_IDS = void 0;
16
- exports.stateFileWriterSchema = exports.stateFileSessionSchema = exports.stateFileQuotaWindowSchema = exports.stateFileQuotaSchema = exports.stateFileContextSchema = exports.stateFileBillingBlockSchema = exports.stateFileAccountSchema = exports.sidekickStateFileSchema = exports.assistantTurnToolRefSchema = exports.assistantTurnToolGroupStepSchema = exports.assistantTurnTimelineItemSchema = exports.assistantTurnSubagentStatusSchema = exports.assistantTurnSubagentSchema = exports.assistantTurnReasoningTimelineItemSchema = exports.assistantTurnProjectionSchema = exports.assistantTurnProcessStepSchema = exports.assistantTurnProcessSchema = exports.assistantTurnNarrationStepSchema = exports.assistantTurnEventTypeSchema = exports.assistantTurnEventSchema = exports.listAllAccountsResultSchema = exports.savedAccountProfileSchema = exports.accountEntrySchema = exports.accountLoginStatusSchema = exports.beginAccountLoginResultSchema = exports.accountManagerResultSchema = exports.accountProviderIdSchema = void 0;
16
+ exports.stateFileWriterSchema = exports.stateFileSessionSchema = exports.stateFileQuotaWindowSchema = exports.stateFileQuotaSchema = exports.stateFileContextSchema = exports.stateFileBillingBlockSchema = exports.stateFileAccountSchema = exports.sidekickStateFileSchema = exports.assistantTurnToolRefSchema = exports.assistantTurnToolGroupStepSchema = exports.assistantTurnTimelineItemSchema = exports.assistantTurnSubagentStatusSchema = exports.assistantTurnSubagentSchema = exports.assistantTurnReasoningTimelineItemSchema = exports.assistantTurnProjectionSchema = exports.assistantTurnProcessStepSchema = exports.assistantTurnProcessSchema = exports.assistantTurnNarrationStepSchema = exports.assistantTurnEventTypeSchema = exports.assistantTurnEventSchema = exports.accountLaunchEnvSchema = exports.syncReportSchema = exports.providerSyncReportSchema = exports.lastSwitchRecordSchema = exports.switchAccountResultSchema = exports.runningAccountConsumerSchema = exports.accountConsumerKindSchema = exports.runningProcessSchema = exports.accountViewSchema = exports.accountHealthSchema = exports.accountHealthSidecarSchema = exports.accountHealthSourceSchema = exports.accountHealthStateSchema = exports.listAllAccountsResultSchema = exports.savedAccountProfileSchema = exports.accountEntrySchema = exports.accountLoginStatusSchema = exports.beginAccountLoginResultSchema = exports.accountManagerResultSchema = exports.accountProviderIdSchema = void 0;
17
17
  var providerIds_1 = require("../providerIds");
18
18
  Object.defineProperty(exports, "ACCOUNT_PROVIDER_IDS", { enumerable: true, get: function () { return providerIds_1.ACCOUNT_PROVIDER_IDS; } });
19
19
  Object.defineProperty(exports, "QUOTA_PROVIDER_IDS", { enumerable: true, get: function () { return providerIds_1.QUOTA_PROVIDER_IDS; } });
@@ -81,6 +81,19 @@ Object.defineProperty(exports, "accountLoginStatusSchema", { enumerable: true, g
81
81
  Object.defineProperty(exports, "accountEntrySchema", { enumerable: true, get: function () { return accountManager_1.accountEntrySchema; } });
82
82
  Object.defineProperty(exports, "savedAccountProfileSchema", { enumerable: true, get: function () { return accountManager_1.savedAccountProfileSchema; } });
83
83
  Object.defineProperty(exports, "listAllAccountsResultSchema", { enumerable: true, get: function () { return accountManager_1.listAllAccountsResultSchema; } });
84
+ Object.defineProperty(exports, "accountHealthStateSchema", { enumerable: true, get: function () { return accountManager_1.accountHealthStateSchema; } });
85
+ Object.defineProperty(exports, "accountHealthSourceSchema", { enumerable: true, get: function () { return accountManager_1.accountHealthSourceSchema; } });
86
+ Object.defineProperty(exports, "accountHealthSidecarSchema", { enumerable: true, get: function () { return accountManager_1.accountHealthSidecarSchema; } });
87
+ Object.defineProperty(exports, "accountHealthSchema", { enumerable: true, get: function () { return accountManager_1.accountHealthSchema; } });
88
+ Object.defineProperty(exports, "accountViewSchema", { enumerable: true, get: function () { return accountManager_1.accountViewSchema; } });
89
+ Object.defineProperty(exports, "runningProcessSchema", { enumerable: true, get: function () { return accountManager_1.runningProcessSchema; } });
90
+ Object.defineProperty(exports, "accountConsumerKindSchema", { enumerable: true, get: function () { return accountManager_1.accountConsumerKindSchema; } });
91
+ Object.defineProperty(exports, "runningAccountConsumerSchema", { enumerable: true, get: function () { return accountManager_1.runningAccountConsumerSchema; } });
92
+ Object.defineProperty(exports, "switchAccountResultSchema", { enumerable: true, get: function () { return accountManager_1.switchAccountResultSchema; } });
93
+ Object.defineProperty(exports, "lastSwitchRecordSchema", { enumerable: true, get: function () { return accountManager_1.lastSwitchRecordSchema; } });
94
+ Object.defineProperty(exports, "providerSyncReportSchema", { enumerable: true, get: function () { return accountManager_1.providerSyncReportSchema; } });
95
+ Object.defineProperty(exports, "syncReportSchema", { enumerable: true, get: function () { return accountManager_1.syncReportSchema; } });
96
+ Object.defineProperty(exports, "accountLaunchEnvSchema", { enumerable: true, get: function () { return accountManager_1.accountLaunchEnvSchema; } });
84
97
  var assistantTurn_1 = require("./assistantTurn");
85
98
  Object.defineProperty(exports, "assistantTurnEventSchema", { enumerable: true, get: function () { return assistantTurn_1.assistantTurnEventSchema; } });
86
99
  Object.defineProperty(exports, "assistantTurnEventTypeSchema", { enumerable: true, get: function () { return assistantTurn_1.assistantTurnEventTypeSchema; } });