@sift-wiki/conductor 0.1.0 → 0.2.0-beta.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 (65) hide show
  1. package/README.md +28 -58
  2. package/dist/cli.d.ts +6 -0
  3. package/dist/cli.js +29 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/conductorClient.d.ts +192 -1
  6. package/dist/conductorClient.js +61 -3
  7. package/dist/conductorClient.js.map +1 -1
  8. package/dist/daemon.d.ts +4 -0
  9. package/dist/daemon.js +42 -2
  10. package/dist/daemon.js.map +1 -1
  11. package/dist/desktop/app/contracts.d.ts +71 -0
  12. package/dist/desktop/app/contracts.js +19 -0
  13. package/dist/desktop/app/contracts.js.map +1 -0
  14. package/dist/desktop/app/controller.d.ts +58 -0
  15. package/dist/desktop/app/controller.js +161 -0
  16. package/dist/desktop/app/controller.js.map +1 -0
  17. package/dist/desktop/app/runtimeController.d.ts +22 -0
  18. package/dist/desktop/app/runtimeController.js +44 -0
  19. package/dist/desktop/app/runtimeController.js.map +1 -0
  20. package/dist/localApi/authorizedPairing.d.ts +12 -0
  21. package/dist/localApi/authorizedPairing.js +18 -0
  22. package/dist/localApi/authorizedPairing.js.map +1 -0
  23. package/dist/localApi/contracts.d.ts +253 -0
  24. package/dist/localApi/contracts.js +173 -0
  25. package/dist/localApi/contracts.js.map +1 -0
  26. package/dist/localApi/server.d.ts +20 -0
  27. package/dist/localApi/server.js +412 -0
  28. package/dist/localApi/server.js.map +1 -0
  29. package/dist/localApi/workConsole.d.ts +74 -0
  30. package/dist/localApi/workConsole.js +342 -0
  31. package/dist/localApi/workConsole.js.map +1 -0
  32. package/dist/localApi/workContracts.d.ts +213 -0
  33. package/dist/localApi/workContracts.js +130 -0
  34. package/dist/localApi/workContracts.js.map +1 -0
  35. package/dist/localApp/platform.d.ts +2 -0
  36. package/dist/localApp/platform.js +57 -0
  37. package/dist/localApp/platform.js.map +1 -0
  38. package/dist/localApp/service.d.ts +25 -0
  39. package/dist/localApp/service.js +114 -0
  40. package/dist/localApp/service.js.map +1 -0
  41. package/dist/runtime/localLogSpool.d.ts +1 -0
  42. package/dist/runtime/localLogSpool.js +4 -0
  43. package/dist/runtime/localLogSpool.js.map +1 -1
  44. package/dist/userAuth/service.d.ts +26 -0
  45. package/dist/userAuth/service.js +170 -0
  46. package/dist/userAuth/service.js.map +1 -0
  47. package/dist/userAuth/store.d.ts +42 -0
  48. package/dist/userAuth/store.js +160 -0
  49. package/dist/userAuth/store.js.map +1 -0
  50. package/dist/userAuth/types.d.ts +63 -0
  51. package/dist/userAuth/types.js +29 -0
  52. package/dist/userAuth/types.js.map +1 -0
  53. package/dist/version.d.ts +1 -1
  54. package/dist/version.js +1 -1
  55. package/dist/version.js.map +1 -1
  56. package/dist/workTypes.d.ts +160 -29
  57. package/dist/workTypes.js +31 -0
  58. package/dist/workTypes.js.map +1 -1
  59. package/dist-web/assets/index-CWfnzdLn.css +1 -0
  60. package/dist-web/assets/index-D5X9InfE.js +72 -0
  61. package/dist-web/index.html +15 -0
  62. package/docs/provider-setup.md +81 -0
  63. package/docs/quickstart.md +62 -0
  64. package/docs/troubleshooting.md +63 -0
  65. package/package.json +13 -3
@@ -0,0 +1,253 @@
1
+ import { z } from "zod";
2
+ import type { ProviderAgentView, ProviderInstallPlan } from "../adapters/provider/setup.js";
3
+ import type { ProviderAccessProfile, ProviderType } from "../adapters/provider/types.js";
4
+ import type { DesktopConductorApi, DesktopPairRequest, ProviderDraft, ProviderDraftStatus, SelectedFolder } from "../desktop/app/contracts.js";
5
+ import type { RuntimeServiceStatus } from "../runtime/runtimeService.js";
6
+ import { type UserAuthorizationStatus } from "../userAuth/types.js";
7
+ import type { WorkConsoleSnapshot, createTaskRequestSchema, updateTaskRequestSchema, commentTaskRequestSchema, dispatchTaskRequestSchema, approvalDecisionRequestSchema } from "./workContracts.js";
8
+ export type LocalPairingStatus = {
9
+ paired: false;
10
+ } | {
11
+ paired: true;
12
+ apiBaseUrl: string;
13
+ conductorId?: string | undefined;
14
+ displayName: string;
15
+ protocolVersion: string;
16
+ };
17
+ export type LocalHealth = {
18
+ ok: true;
19
+ version: string;
20
+ protocolVersion: string;
21
+ };
22
+ export type LocalSessionStatus = {
23
+ authenticated: true;
24
+ csrfToken: string;
25
+ expiresAt: string;
26
+ };
27
+ export type ConductorLocalApi = {
28
+ health(): Promise<LocalHealth>;
29
+ pairedStatus(): Promise<LocalPairingStatus>;
30
+ pair(input: DesktopPairRequest): Promise<LocalPairingStatus>;
31
+ pairAuthorized(displayName: string): Promise<LocalPairingStatus>;
32
+ logout(): Promise<LocalPairingStatus>;
33
+ listAgents(): Promise<ProviderAgentView[]>;
34
+ selectFolder(): Promise<SelectedFolder | undefined>;
35
+ inspectDraft(input: ProviderDraft): Promise<ProviderDraftStatus>;
36
+ login(input: ProviderDraft): Promise<{
37
+ ok: boolean;
38
+ message: string;
39
+ }>;
40
+ verifyAndAdd(input: ProviderDraft): Promise<ProviderAgentView>;
41
+ updateAgent(input: {
42
+ localKey: string;
43
+ displayName: string;
44
+ accessProfile: ProviderAccessProfile;
45
+ folderToken?: string | undefined;
46
+ }): Promise<ProviderAgentView>;
47
+ pauseAgent(localKey: string, paused: boolean): Promise<ProviderAgentView>;
48
+ removeAgent(localKey: string): Promise<void>;
49
+ installPlan(provider: ProviderType): Promise<ProviderInstallPlan>;
50
+ openOfficialProviderPage(provider: ProviderType): Promise<void>;
51
+ runtimeStatus(): Promise<RuntimeServiceStatus>;
52
+ startRuntime(): Promise<RuntimeServiceStatus>;
53
+ stopRuntime(): Promise<RuntimeServiceStatus>;
54
+ clearLocalDiagnostics(): Promise<void>;
55
+ userAuthorizationStatus(): Promise<UserAuthorizationStatus>;
56
+ beginUserAuthorization(input?: {
57
+ apiBaseUrl?: string | undefined;
58
+ deviceLabel?: string | undefined;
59
+ }): Promise<UserAuthorizationStatus>;
60
+ signOutUser(): Promise<UserAuthorizationStatus>;
61
+ workSnapshot(input: {
62
+ projectId?: string | undefined;
63
+ taskId?: string | undefined;
64
+ }): Promise<WorkConsoleSnapshot>;
65
+ createTask(input: z.infer<typeof createTaskRequestSchema>): Promise<unknown>;
66
+ updateTask(input: z.infer<typeof updateTaskRequestSchema>): Promise<unknown>;
67
+ commentTask(input: z.infer<typeof commentTaskRequestSchema>): Promise<unknown>;
68
+ dispatchTask(input: z.infer<typeof dispatchTaskRequestSchema>): Promise<unknown>;
69
+ decideApproval(input: z.infer<typeof approvalDecisionRequestSchema>): Promise<unknown>;
70
+ cancelRun(runId: string): Promise<unknown>;
71
+ };
72
+ export declare const localPairingStatusSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
73
+ paired: z.ZodLiteral<false>;
74
+ }, z.core.$strict>, z.ZodObject<{
75
+ paired: z.ZodLiteral<true>;
76
+ apiBaseUrl: z.ZodURL;
77
+ conductorId: z.ZodOptional<z.ZodString>;
78
+ displayName: z.ZodString;
79
+ protocolVersion: z.ZodString;
80
+ }, z.core.$strict>], "paired">;
81
+ export declare const localHealthSchema: z.ZodObject<{
82
+ ok: z.ZodLiteral<true>;
83
+ version: z.ZodString;
84
+ protocolVersion: z.ZodString;
85
+ }, z.core.$strict>;
86
+ export declare const runtimeServiceStatusSchema: z.ZodObject<{
87
+ state: z.ZodEnum<{
88
+ failed: "failed";
89
+ starting: "starting";
90
+ running: "running";
91
+ stopping: "stopping";
92
+ stopped: "stopped";
93
+ }>;
94
+ startedAt: z.ZodOptional<z.ZodString>;
95
+ stoppedAt: z.ZodOptional<z.ZodString>;
96
+ lastResult: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
97
+ status: z.ZodLiteral<"idle">;
98
+ }, z.core.$strict>, z.ZodObject<{
99
+ status: z.ZodLiteral<"completed">;
100
+ runId: z.ZodString;
101
+ }, z.core.$strict>, z.ZodObject<{
102
+ status: z.ZodLiteral<"cancelled">;
103
+ runId: z.ZodString;
104
+ }, z.core.$strict>, z.ZodObject<{
105
+ status: z.ZodLiteral<"failed">;
106
+ runId: z.ZodString;
107
+ }, z.core.$strict>], "status">>;
108
+ lastErrorMessage: z.ZodOptional<z.ZodString>;
109
+ }, z.core.$strict>;
110
+ export declare const providerAgentViewSchema: z.ZodObject<{
111
+ localKey: z.ZodString;
112
+ displayName: z.ZodString;
113
+ provider: z.ZodEnum<{
114
+ codex: "codex";
115
+ "claude-code": "claude-code";
116
+ }>;
117
+ workspaceName: z.ZodString;
118
+ accessProfile: z.ZodEnum<{
119
+ inspect: "inspect";
120
+ workspace: "workspace";
121
+ }>;
122
+ enabled: z.ZodBoolean;
123
+ status: z.ZodEnum<{
124
+ error: "error";
125
+ ready: "ready";
126
+ }>;
127
+ message: z.ZodString;
128
+ hint: z.ZodOptional<z.ZodString>;
129
+ remediation: z.ZodOptional<z.ZodEnum<{
130
+ install: "install";
131
+ login: "login";
132
+ upgrade: "upgrade";
133
+ "select-folder": "select-folder";
134
+ resume: "resume";
135
+ retry: "retry";
136
+ }>>;
137
+ providerVersion: z.ZodOptional<z.ZodString>;
138
+ }, z.core.$strict>;
139
+ export declare const selectedFolderSchema: z.ZodObject<{
140
+ token: z.ZodString;
141
+ name: z.ZodString;
142
+ }, z.core.$strict>;
143
+ export declare const providerDraftStatusSchema: z.ZodObject<{
144
+ status: z.ZodEnum<{
145
+ error: "error";
146
+ ready: "ready";
147
+ }>;
148
+ message: z.ZodString;
149
+ hint: z.ZodOptional<z.ZodString>;
150
+ remediation: z.ZodOptional<z.ZodEnum<{
151
+ install: "install";
152
+ login: "login";
153
+ upgrade: "upgrade";
154
+ "select-folder": "select-folder";
155
+ resume: "resume";
156
+ retry: "retry";
157
+ }>>;
158
+ providerVersion: z.ZodOptional<z.ZodString>;
159
+ }, z.core.$strict>;
160
+ export declare const providerInstallPlanSchema: z.ZodObject<{
161
+ provider: z.ZodEnum<{
162
+ codex: "codex";
163
+ "claude-code": "claude-code";
164
+ }>;
165
+ title: z.ZodString;
166
+ source: z.ZodString;
167
+ command: z.ZodOptional<z.ZodString>;
168
+ officialUrl: z.ZodURL;
169
+ }, z.core.$strict>;
170
+ export declare const providerLoginResultSchema: z.ZodObject<{
171
+ ok: z.ZodBoolean;
172
+ message: z.ZodString;
173
+ }, z.core.$strict>;
174
+ export declare const localSessionStatusSchema: z.ZodObject<{
175
+ authenticated: z.ZodLiteral<true>;
176
+ csrfToken: z.ZodString;
177
+ expiresAt: z.ZodISODateTime;
178
+ }, z.core.$strict>;
179
+ export declare const localPairRequestSchema: z.ZodObject<{
180
+ apiBaseUrl: z.ZodURL;
181
+ code: z.ZodString;
182
+ displayName: z.ZodString;
183
+ }, z.core.$strict>;
184
+ export declare const localAuthorizedPairRequestSchema: z.ZodObject<{
185
+ displayName: z.ZodString;
186
+ }, z.core.$strict>;
187
+ export declare const localUserAuthorizationBeginSchema: z.ZodObject<{
188
+ apiBaseUrl: z.ZodOptional<z.ZodURL>;
189
+ deviceLabel: z.ZodOptional<z.ZodString>;
190
+ }, z.core.$strict>;
191
+ export declare const localProviderDraftSchema: z.ZodObject<{
192
+ provider: z.ZodEnum<{
193
+ codex: "codex";
194
+ "claude-code": "claude-code";
195
+ }>;
196
+ displayName: z.ZodString;
197
+ folderToken: z.ZodString;
198
+ accessProfile: z.ZodEnum<{
199
+ inspect: "inspect";
200
+ workspace: "workspace";
201
+ }>;
202
+ model: z.ZodOptional<z.ZodString>;
203
+ }, z.core.$strict>;
204
+ export declare const localAgentUpdateSchema: z.ZodObject<{
205
+ localKey: z.ZodString;
206
+ displayName: z.ZodString;
207
+ accessProfile: z.ZodEnum<{
208
+ inspect: "inspect";
209
+ workspace: "workspace";
210
+ }>;
211
+ folderToken: z.ZodOptional<z.ZodString>;
212
+ }, z.core.$strict>;
213
+ export declare const localAgentPauseSchema: z.ZodObject<{
214
+ localKey: z.ZodString;
215
+ paused: z.ZodBoolean;
216
+ }, z.core.$strict>;
217
+ export declare const localAgentKeySchema: z.ZodObject<{
218
+ localKey: z.ZodString;
219
+ }, z.core.$strict>;
220
+ export declare const localProviderSchema: z.ZodObject<{
221
+ provider: z.ZodEnum<{
222
+ codex: "codex";
223
+ "claude-code": "claude-code";
224
+ }>;
225
+ }, z.core.$strict>;
226
+ export declare function localHealth(): LocalHealth;
227
+ export declare function createLocalControllerApi(controller: DesktopConductorApi, userAuthorization?: {
228
+ status(): Promise<UserAuthorizationStatus>;
229
+ begin(input?: {
230
+ apiBaseUrl?: string | undefined;
231
+ deviceLabel?: string | undefined;
232
+ }): Promise<UserAuthorizationStatus>;
233
+ signOut(): Promise<UserAuthorizationStatus>;
234
+ }, work?: WorkConsolePort, authorizedPairing?: AuthorizedPairingPort, localDiagnostics?: LocalDiagnosticsPort): ConductorLocalApi;
235
+ type WorkConsolePort = {
236
+ snapshot(input: {
237
+ projectId?: string | undefined;
238
+ taskId?: string | undefined;
239
+ }): Promise<WorkConsoleSnapshot>;
240
+ createTask(input: z.infer<typeof createTaskRequestSchema>): Promise<unknown>;
241
+ updateTask(input: z.infer<typeof updateTaskRequestSchema>): Promise<unknown>;
242
+ comment(input: z.infer<typeof commentTaskRequestSchema>): Promise<unknown>;
243
+ dispatch(input: z.infer<typeof dispatchTaskRequestSchema>): Promise<unknown>;
244
+ decideApproval(input: z.infer<typeof approvalDecisionRequestSchema>): Promise<unknown>;
245
+ cancelRun(runId: string): Promise<unknown>;
246
+ };
247
+ type AuthorizedPairingPort = {
248
+ pair(displayName: string): ReturnType<DesktopConductorApi["pair"]>;
249
+ };
250
+ type LocalDiagnosticsPort = {
251
+ clear(): Promise<void> | void;
252
+ };
253
+ export {};
@@ -0,0 +1,173 @@
1
+ import { z } from "zod";
2
+ import { CONDUCTOR_VERSION, PROTOCOL_VERSION } from "../version.js";
3
+ import { userAuthorizationStatusSchema } from "../userAuth/types.js";
4
+ export const localPairingStatusSchema = z.discriminatedUnion("paired", [
5
+ z.object({ paired: z.literal(false) }).strict(),
6
+ z.object({
7
+ paired: z.literal(true),
8
+ apiBaseUrl: z.url(),
9
+ conductorId: z.string().min(1).optional(),
10
+ displayName: z.string().min(1),
11
+ protocolVersion: z.string().min(1),
12
+ }).strict(),
13
+ ]);
14
+ export const localHealthSchema = z.object({
15
+ ok: z.literal(true),
16
+ version: z.string().min(1),
17
+ protocolVersion: z.string().min(1),
18
+ }).strict();
19
+ export const runtimeServiceStatusSchema = z.object({
20
+ state: z.enum(["stopped", "starting", "running", "stopping", "failed"]),
21
+ startedAt: z.string().optional(),
22
+ stoppedAt: z.string().optional(),
23
+ lastResult: z.discriminatedUnion("status", [
24
+ z.object({ status: z.literal("idle") }).strict(),
25
+ z.object({ status: z.literal("completed"), runId: z.string() }).strict(),
26
+ z.object({ status: z.literal("cancelled"), runId: z.string() }).strict(),
27
+ z.object({ status: z.literal("failed"), runId: z.string() }).strict(),
28
+ ]).optional(),
29
+ lastErrorMessage: z.string().optional(),
30
+ }).strict();
31
+ export const providerAgentViewSchema = z.object({
32
+ localKey: z.string().min(1),
33
+ displayName: z.string().min(1),
34
+ provider: z.enum(["codex", "claude-code"]),
35
+ workspaceName: z.string().min(1),
36
+ accessProfile: z.enum(["inspect", "workspace"]),
37
+ enabled: z.boolean(),
38
+ status: z.enum(["ready", "error"]),
39
+ message: z.string(),
40
+ hint: z.string().optional(),
41
+ remediation: z.enum(["install", "login", "upgrade", "select-folder", "resume", "retry"]).optional(),
42
+ providerVersion: z.string().optional(),
43
+ }).strict();
44
+ export const selectedFolderSchema = z.object({
45
+ token: z.string().min(1),
46
+ name: z.string().min(1),
47
+ }).strict();
48
+ export const providerDraftStatusSchema = z.object({
49
+ status: z.enum(["ready", "error"]),
50
+ message: z.string(),
51
+ hint: z.string().optional(),
52
+ remediation: z.enum(["install", "login", "upgrade", "select-folder", "resume", "retry"]).optional(),
53
+ providerVersion: z.string().optional(),
54
+ }).strict();
55
+ export const providerInstallPlanSchema = z.object({
56
+ provider: z.enum(["codex", "claude-code"]),
57
+ title: z.string(),
58
+ source: z.string(),
59
+ command: z.string().optional(),
60
+ officialUrl: z.url(),
61
+ }).strict();
62
+ export const providerLoginResultSchema = z.object({
63
+ ok: z.boolean(),
64
+ message: z.string(),
65
+ }).strict();
66
+ export const localSessionStatusSchema = z.object({
67
+ authenticated: z.literal(true),
68
+ csrfToken: z.string().min(1),
69
+ expiresAt: z.iso.datetime(),
70
+ }).strict();
71
+ export const localPairRequestSchema = z.object({
72
+ apiBaseUrl: z.url(),
73
+ code: z.string().min(1).max(500),
74
+ displayName: z.string().trim().min(1).max(100),
75
+ }).strict();
76
+ export const localAuthorizedPairRequestSchema = z.object({
77
+ displayName: z.string().trim().min(1).max(100),
78
+ }).strict();
79
+ export const localUserAuthorizationBeginSchema = z.object({
80
+ apiBaseUrl: z.url().optional(),
81
+ deviceLabel: z.string().trim().min(1).max(100).optional(),
82
+ }).strict();
83
+ export const localProviderDraftSchema = z.object({
84
+ provider: z.enum(["codex", "claude-code"]),
85
+ displayName: z.string().trim().min(1).max(100),
86
+ folderToken: z.string().min(1).max(500),
87
+ accessProfile: z.enum(["inspect", "workspace"]),
88
+ model: z.string().trim().min(1).max(200).optional(),
89
+ }).strict();
90
+ export const localAgentUpdateSchema = z.object({
91
+ localKey: z.string().min(1).max(500),
92
+ displayName: z.string().trim().min(1).max(100),
93
+ accessProfile: z.enum(["inspect", "workspace"]),
94
+ folderToken: z.string().min(1).max(500).optional(),
95
+ }).strict();
96
+ export const localAgentPauseSchema = z.object({
97
+ localKey: z.string().min(1).max(500),
98
+ paused: z.boolean(),
99
+ }).strict();
100
+ export const localAgentKeySchema = z.object({
101
+ localKey: z.string().min(1).max(500),
102
+ }).strict();
103
+ export const localProviderSchema = z.object({
104
+ provider: z.enum(["codex", "claude-code"]),
105
+ }).strict();
106
+ export function localHealth() {
107
+ return { ok: true, version: CONDUCTOR_VERSION, protocolVersion: PROTOCOL_VERSION };
108
+ }
109
+ export function createLocalControllerApi(controller, userAuthorization = unavailableUserAuthorization, work = unavailableWorkConsole, authorizedPairing = unavailableAuthorizedPairing, localDiagnostics = unavailableLocalDiagnostics) {
110
+ return {
111
+ health: () => Promise.resolve(localHealth()),
112
+ pairedStatus: async () => localStatusFromDesktop(await controller.pairedStatus()),
113
+ pair: async (input) => localStatusFromDesktop(await controller.pair(input)),
114
+ pairAuthorized: async (displayName) => localStatusFromDesktop(await authorizedPairing.pair(displayName)),
115
+ logout: async () => localStatusFromDesktop(await controller.logout()),
116
+ listAgents: () => controller.listAgents(),
117
+ selectFolder: () => controller.selectFolder(),
118
+ inspectDraft: (input) => controller.inspectDraft(input),
119
+ login: (input) => controller.login(input),
120
+ verifyAndAdd: (input) => controller.verifyAndAdd(input),
121
+ updateAgent: (input) => controller.updateAgent(input),
122
+ pauseAgent: (localKey, paused) => controller.pauseAgent(localKey, paused),
123
+ removeAgent: (localKey) => controller.removeAgent(localKey),
124
+ installPlan: (provider) => controller.installPlan(provider),
125
+ openOfficialProviderPage: (provider) => controller.openOfficialProviderPage(provider),
126
+ runtimeStatus: () => controller.runtimeStatus(),
127
+ startRuntime: () => controller.startRuntime(),
128
+ stopRuntime: () => controller.stopRuntime(),
129
+ clearLocalDiagnostics: async () => { await localDiagnostics.clear(); },
130
+ userAuthorizationStatus: async () => userAuthorizationStatusSchema.parse(await userAuthorization.status()),
131
+ beginUserAuthorization: async (input) => userAuthorizationStatusSchema.parse(await userAuthorization.begin(input)),
132
+ signOutUser: async () => userAuthorizationStatusSchema.parse(await userAuthorization.signOut()),
133
+ workSnapshot: (input) => work.snapshot(input),
134
+ createTask: (input) => work.createTask(input),
135
+ updateTask: (input) => work.updateTask(input),
136
+ commentTask: (input) => work.comment(input),
137
+ dispatchTask: (input) => work.dispatch(input),
138
+ decideApproval: (input) => work.decideApproval(input),
139
+ cancelRun: (runId) => work.cancelRun(runId),
140
+ };
141
+ }
142
+ const unavailableUserAuthorization = {
143
+ status: () => Promise.resolve({ state: "signed_out", storageKind: "memory" }),
144
+ begin: () => Promise.reject(new Error("Sift user authorization is unavailable.")),
145
+ signOut: () => Promise.resolve({ state: "signed_out", storageKind: "memory" }),
146
+ };
147
+ const unavailableWorkConsole = {
148
+ snapshot: () => Promise.resolve({ state: "unauthorized", message: "Sign in to Sift to manage shared work.", refreshedAt: new Date().toISOString(), projects: [], agents: [], queue: [], activity: [] }),
149
+ createTask: () => Promise.reject(new Error("Sign in to Sift to manage shared work.")),
150
+ updateTask: () => Promise.reject(new Error("Sign in to Sift to manage shared work.")),
151
+ comment: () => Promise.reject(new Error("Sign in to Sift to manage shared work.")),
152
+ dispatch: () => Promise.reject(new Error("Sign in to Sift to manage shared work.")),
153
+ decideApproval: () => Promise.reject(new Error("Sign in to Sift to manage shared work.")),
154
+ cancelRun: () => Promise.reject(new Error("Sign in to Sift to manage shared work.")),
155
+ };
156
+ const unavailableAuthorizedPairing = {
157
+ pair: () => Promise.reject(new Error("Sign in to Sift before connecting this computer automatically.")),
158
+ };
159
+ const unavailableLocalDiagnostics = {
160
+ clear: () => undefined,
161
+ };
162
+ function localStatusFromDesktop(status) {
163
+ if (!status.paired)
164
+ return { paired: false };
165
+ return localPairingStatusSchema.parse({
166
+ paired: true,
167
+ apiBaseUrl: status.apiBaseUrl,
168
+ ...(status.conductorId === undefined ? {} : { conductorId: status.conductorId }),
169
+ displayName: status.displayName,
170
+ protocolVersion: status.protocolVersion,
171
+ });
172
+ }
173
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/localApi/contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { ConductorLocalApi } from "./contracts.js";
2
+ export type LocalWebServerOptions = {
3
+ api: ConductorLocalApi;
4
+ staticDirectory: string;
5
+ host?: "127.0.0.1" | "::1" | undefined;
6
+ preferredPort?: number | undefined;
7
+ bootstrapToken?: string | undefined;
8
+ now?: (() => number) | undefined;
9
+ sessionTtlMs?: number | undefined;
10
+ bootstrapTtlMs?: number | undefined;
11
+ maxBodyBytes?: number | undefined;
12
+ };
13
+ export type LocalWebServer = {
14
+ origin: string;
15
+ browserUrl: string;
16
+ port: number;
17
+ close(): Promise<void>;
18
+ };
19
+ export declare function startLocalWebServer(options: LocalWebServerOptions): Promise<LocalWebServer>;
20
+ export declare function assertStaticAssets(staticDirectory: string): Promise<void>;