@sift-wiki/conductor 0.1.0 → 0.2.0-beta.2

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 (132) hide show
  1. package/README.md +28 -58
  2. package/dist/adapters/claudeAgent.js +1 -0
  3. package/dist/adapters/claudeAgent.js.map +1 -1
  4. package/dist/adapters/codexAgent.js +1 -0
  5. package/dist/adapters/codexAgent.js.map +1 -1
  6. package/dist/adapters/fakeAgent.js +1 -0
  7. package/dist/adapters/fakeAgent.js.map +1 -1
  8. package/dist/adapters/httpAgent.js +1 -0
  9. package/dist/adapters/httpAgent.js.map +1 -1
  10. package/dist/adapters/processAgent.js +4 -0
  11. package/dist/adapters/processAgent.js.map +1 -1
  12. package/dist/adapters/provider/runProvider.js +4 -0
  13. package/dist/adapters/provider/runProvider.js.map +1 -1
  14. package/dist/adapters/provider/store.js +3 -4
  15. package/dist/adapters/provider/store.js.map +1 -1
  16. package/dist/adapters/types.d.ts +9 -0
  17. package/dist/cli.d.ts +12 -0
  18. package/dist/cli.js +44 -3
  19. package/dist/cli.js.map +1 -1
  20. package/dist/conductorClient.d.ts +245 -17
  21. package/dist/conductorClient.js +147 -38
  22. package/dist/conductorClient.js.map +1 -1
  23. package/dist/config.js +4 -5
  24. package/dist/config.js.map +1 -1
  25. package/dist/daemon.d.ts +23 -6
  26. package/dist/daemon.js +173 -95
  27. package/dist/daemon.js.map +1 -1
  28. package/dist/desktop/app/contracts.d.ts +71 -0
  29. package/dist/desktop/app/contracts.js +19 -0
  30. package/dist/desktop/app/contracts.js.map +1 -0
  31. package/dist/desktop/app/controller.d.ts +58 -0
  32. package/dist/desktop/app/controller.js +161 -0
  33. package/dist/desktop/app/controller.js.map +1 -0
  34. package/dist/desktop/app/runtimeController.d.ts +29 -0
  35. package/dist/desktop/app/runtimeController.js +55 -0
  36. package/dist/desktop/app/runtimeController.js.map +1 -0
  37. package/dist/localApi/authorizedPairing.d.ts +12 -0
  38. package/dist/localApi/authorizedPairing.js +18 -0
  39. package/dist/localApi/authorizedPairing.js.map +1 -0
  40. package/dist/localApi/contracts.d.ts +264 -0
  41. package/dist/localApi/contracts.js +191 -0
  42. package/dist/localApi/contracts.js.map +1 -0
  43. package/dist/localApi/recovery.d.ts +66 -0
  44. package/dist/localApi/recovery.js +115 -0
  45. package/dist/localApi/recovery.js.map +1 -0
  46. package/dist/localApi/server.d.ts +20 -0
  47. package/dist/localApi/server.js +414 -0
  48. package/dist/localApi/server.js.map +1 -0
  49. package/dist/localApi/workConsole.d.ts +74 -0
  50. package/dist/localApi/workConsole.js +342 -0
  51. package/dist/localApi/workConsole.js.map +1 -0
  52. package/dist/localApi/workContracts.d.ts +213 -0
  53. package/dist/localApi/workContracts.js +130 -0
  54. package/dist/localApi/workContracts.js.map +1 -0
  55. package/dist/localApp/platform.d.ts +2 -0
  56. package/dist/localApp/platform.js +57 -0
  57. package/dist/localApp/platform.js.map +1 -0
  58. package/dist/localApp/service.d.ts +25 -0
  59. package/dist/localApp/service.js +126 -0
  60. package/dist/localApp/service.js.map +1 -0
  61. package/dist/protocol/fenced.d.ts +135 -0
  62. package/dist/protocol/fenced.js +142 -0
  63. package/dist/protocol/fenced.js.map +1 -0
  64. package/dist/redaction.js +2 -0
  65. package/dist/redaction.js.map +1 -1
  66. package/dist/runtime/atomicFile.d.ts +6 -0
  67. package/dist/runtime/atomicFile.js +78 -0
  68. package/dist/runtime/atomicFile.js.map +1 -0
  69. package/dist/runtime/daemonCapabilities.d.ts +7 -0
  70. package/dist/runtime/daemonCapabilities.js +24 -0
  71. package/dist/runtime/daemonCapabilities.js.map +1 -0
  72. package/dist/runtime/eventOutbox.d.ts +100 -0
  73. package/dist/runtime/eventOutbox.js +206 -0
  74. package/dist/runtime/eventOutbox.js.map +1 -0
  75. package/dist/runtime/executionJournal.d.ts +102 -0
  76. package/dist/runtime/executionJournal.js +209 -0
  77. package/dist/runtime/executionJournal.js.map +1 -0
  78. package/dist/runtime/executionSafety.d.ts +76 -0
  79. package/dist/runtime/executionSafety.js +207 -0
  80. package/dist/runtime/executionSafety.js.map +1 -0
  81. package/dist/runtime/fencedExecutionState.d.ts +43 -0
  82. package/dist/runtime/fencedExecutionState.js +158 -0
  83. package/dist/runtime/fencedExecutionState.js.map +1 -0
  84. package/dist/runtime/leaseManager.d.ts +38 -0
  85. package/dist/runtime/leaseManager.js +102 -0
  86. package/dist/runtime/leaseManager.js.map +1 -0
  87. package/dist/runtime/localLogSpool.d.ts +1 -0
  88. package/dist/runtime/localLogSpool.js +4 -0
  89. package/dist/runtime/localLogSpool.js.map +1 -1
  90. package/dist/runtime/localRunQueue.d.ts +1 -1
  91. package/dist/runtime/localRunQueue.js +8 -0
  92. package/dist/runtime/localRunQueue.js.map +1 -1
  93. package/dist/runtime/localSessionCache.d.ts +1 -1
  94. package/dist/runtime/localSessionCache.js.map +1 -1
  95. package/dist/runtime/process.d.ts +13 -1
  96. package/dist/runtime/process.js +39 -9
  97. package/dist/runtime/process.js.map +1 -1
  98. package/dist/runtime/recoveryCoordinator.d.ts +19 -0
  99. package/dist/runtime/recoveryCoordinator.js +183 -0
  100. package/dist/runtime/recoveryCoordinator.js.map +1 -0
  101. package/dist/runtime/runtimeLock.d.ts +33 -0
  102. package/dist/runtime/runtimeLock.js +140 -0
  103. package/dist/runtime/runtimeLock.js.map +1 -0
  104. package/dist/runtime/runtimeService.d.ts +6 -1
  105. package/dist/runtime/runtimeService.js +54 -20
  106. package/dist/runtime/runtimeService.js.map +1 -1
  107. package/dist/runtime/taskExecution.d.ts +2 -0
  108. package/dist/runtime/taskExecution.js +18 -12
  109. package/dist/runtime/taskExecution.js.map +1 -1
  110. package/dist/types.d.ts +28 -13
  111. package/dist/userAuth/service.d.ts +26 -0
  112. package/dist/userAuth/service.js +170 -0
  113. package/dist/userAuth/service.js.map +1 -0
  114. package/dist/userAuth/store.d.ts +42 -0
  115. package/dist/userAuth/store.js +160 -0
  116. package/dist/userAuth/store.js.map +1 -0
  117. package/dist/userAuth/types.d.ts +63 -0
  118. package/dist/userAuth/types.js +29 -0
  119. package/dist/userAuth/types.js.map +1 -0
  120. package/dist/version.d.ts +1 -1
  121. package/dist/version.js +1 -1
  122. package/dist/version.js.map +1 -1
  123. package/dist/workTypes.d.ts +162 -31
  124. package/dist/workTypes.js +31 -0
  125. package/dist/workTypes.js.map +1 -1
  126. package/dist-web/assets/index-CWAdDb9V.js +72 -0
  127. package/dist-web/assets/index-CWfnzdLn.css +1 -0
  128. package/dist-web/index.html +15 -0
  129. package/docs/provider-setup.md +81 -0
  130. package/docs/quickstart.md +62 -0
  131. package/docs/troubleshooting.md +63 -0
  132. package/package.json +13 -3
package/dist/daemon.js CHANGED
@@ -1,4 +1,9 @@
1
1
  import { errorSummaryFromUnknown } from "./adapters/errors.js";
2
+ import { ConductorApiError } from "./conductorClient.js";
3
+ import { LeaseAuthorityError } from "./runtime/leaseManager.js";
4
+ import { createFencedState, defaultDaemonTimer, emitRunEvent, observeRunProgress, rejectExhaustedClaim, refreshLeaseUntilDone, renewFencedLease, scheduleRunTimeout, updateLocalSession, } from "./runtime/executionSafety.js";
5
+ import { reconcileUnfinishedAttempts } from "./runtime/recoveryCoordinator.js";
6
+ import { advertiseAdapters, daemonCapabilities } from "./runtime/daemonCapabilities.js";
2
7
  import { buildRunEnvironment } from "./runtime/runEnvironment.js";
3
8
  import { isAbortError, sleep as defaultSleep } from "./runtime/sleep.js";
4
9
  import { openTaskExecution, taskIdFromJob, } from "./runtime/taskExecution.js";
@@ -18,6 +23,24 @@ export async function runDaemonOnce(input) {
18
23
  capabilities: daemonCapabilities(adapters),
19
24
  });
20
25
  await input.client.advertiseAgents(credential, advertiseAdapters(adapters));
26
+ if ((input.journalStore === undefined) !== (input.eventOutbox === undefined)) {
27
+ throw new Error("Resilient execution requires both the journal store and durable event outbox.");
28
+ }
29
+ if (input.journalStore !== undefined && input.eventOutbox !== undefined) {
30
+ const recovery = await reconcileUnfinishedAttempts({
31
+ credential,
32
+ client: input.client,
33
+ workClient: input.workClient,
34
+ journalStore: input.journalStore,
35
+ outbox: input.eventOutbox,
36
+ adapters,
37
+ now: input.now,
38
+ });
39
+ if (!recovery.canClaim) {
40
+ await (input.sleep ?? defaultSleep)(input.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS, input.signal);
41
+ return { status: "idle" };
42
+ }
43
+ }
21
44
  await input.eventRetryBuffer?.flushDue((entry) => input.client.appendRunEvent(credential, entry.runId, entry.event).then(() => undefined));
22
45
  const job = await input.client.claimJob(credential);
23
46
  if (job === undefined) {
@@ -33,32 +56,40 @@ export async function runDaemonOnce(input) {
33
56
  leaseRefreshMs: input.leaseRefreshMs ?? DEFAULT_LEASE_REFRESH_MS,
34
57
  eventRetryBuffer: input.eventRetryBuffer,
35
58
  workClient: input.workClient,
36
- timer: input.timer ?? defaultTimer,
59
+ timer: input.timer ?? defaultDaemonTimer,
60
+ sessionCache: input.sessionCache,
61
+ logSpool: input.logSpool,
62
+ journalStore: input.journalStore,
63
+ eventOutbox: input.eventOutbox,
64
+ now: input.now ?? (() => new Date()),
65
+ monotonicNowMs: input.monotonicNowMs,
66
+ random: input.random,
67
+ allowInspectOnlyOffline: input.allowInspectOnlyOffline,
37
68
  });
38
69
  }
39
70
  export async function runDaemon(input) {
71
+ let retryAttempt = 0;
40
72
  while (input.signal?.aborted !== true) {
41
- await runDaemonOnce(input);
73
+ try {
74
+ await runDaemonOnce(input);
75
+ retryAttempt = 0;
76
+ }
77
+ catch (error) {
78
+ if (!(error instanceof ConductorApiError) || error.disposition !== "retryable")
79
+ throw error;
80
+ const delay = Math.min(30_000, 500 * 2 ** Math.min(retryAttempt, 6));
81
+ retryAttempt += 1;
82
+ try {
83
+ await (input.sleep ?? defaultSleep)(delay, input.signal);
84
+ }
85
+ catch (sleepError) {
86
+ if (isAbortError(sleepError))
87
+ return;
88
+ throw sleepError;
89
+ }
90
+ }
42
91
  }
43
92
  }
44
- function daemonCapabilities(adapters) {
45
- return {
46
- platform: process.platform,
47
- adapters: adapters.map((adapter) => adapter.adapterType),
48
- };
49
- }
50
- function advertiseAdapters(adapters) {
51
- return adapters.map((adapter) => ({
52
- localKey: adapter.localKey,
53
- displayName: adapter.displayName,
54
- adapterType: adapter.adapterType,
55
- status: "active",
56
- capabilities: {
57
- ...adapter.capabilities,
58
- ...adapter.readinessMetadata,
59
- },
60
- }));
61
- }
62
93
  function findAdapter(adapters, job) {
63
94
  return adapters.find((adapter) => adapter.localKey === job.localKey)
64
95
  ?? adapters.find((adapter) => adapter.adapterType === job.adapterType);
@@ -84,23 +115,53 @@ async function readyAdapters(adapters) {
84
115
  }
85
116
  async function runClaimedJob(input) {
86
117
  const { client, credential, job } = input;
118
+ const fencedState = await createFencedState(input);
119
+ if (await rejectExhaustedClaim(job, fencedState))
120
+ return { status: "interrupted", runId: job.runId };
87
121
  if (input.adapter === undefined) {
88
- await client.failRun(credential, job.runId, {
122
+ const summary = {
89
123
  message: `No local adapter available for ${job.localKey}.`,
90
- });
124
+ };
125
+ await fencedState?.recordTerminal("failed", summary);
126
+ await client.failRun(credential, job.runId, summary, fencedState?.settlementOptions());
91
127
  return { status: "failed", runId: job.runId };
92
128
  }
93
129
  if (job.wakeEnvelope?.limits.hardStop === true) {
94
- await client.failRun(credential, job.runId, {
130
+ const summary = {
95
131
  message: "Run is paused by a Sift hard policy limit.",
96
- });
132
+ };
133
+ await fencedState?.recordTerminal("failed", summary);
134
+ await client.failRun(credential, job.runId, summary, fencedState?.settlementOptions());
97
135
  return { status: "failed", runId: job.runId };
98
136
  }
99
- const initialLease = await client.refreshLease(credential, job.id);
137
+ let initialLease;
138
+ try {
139
+ initialLease = fencedState === undefined
140
+ ? await client.refreshLease(credential, job.id)
141
+ : await renewFencedLease({
142
+ client,
143
+ credential,
144
+ jobId: job.id,
145
+ fencedState,
146
+ sleep: input.sleep,
147
+ nowMs: () => input.now().getTime(),
148
+ monotonicNowMs: input.monotonicNowMs,
149
+ random: input.random,
150
+ });
151
+ }
152
+ catch (error) {
153
+ if (error instanceof LeaseAuthorityError && fencedState !== undefined) {
154
+ await fencedState.updatePhase("authority_uncertain", error.message);
155
+ return { status: "interrupted", runId: job.runId };
156
+ }
157
+ throw error;
158
+ }
100
159
  if (initialLease.cancelRequested) {
101
- await client.acknowledgeCancellation(credential, job.runId, {
160
+ const summary = {
102
161
  summary: "Cancellation was already requested before local execution started.",
103
- });
162
+ };
163
+ await fencedState?.recordTerminal("cancelled", summary);
164
+ await client.acknowledgeCancellation(credential, job.runId, summary, fencedState?.settlementOptions());
104
165
  return { status: "cancelled", runId: job.runId };
105
166
  }
106
167
  const adapterAbort = new AbortController();
@@ -110,13 +171,17 @@ async function runClaimedJob(input) {
110
171
  cancelRequested: false,
111
172
  timedOut: false,
112
173
  hardStop: false,
174
+ authorityUncertain: false,
113
175
  };
114
176
  let taskExecution;
177
+ updateLocalSession(input.sessionCache, job, "starting");
115
178
  if (isTaskLinked(job)) {
116
179
  if (input.workClient === undefined) {
117
- await client.failRun(credential, job.runId, {
180
+ const summary = {
118
181
  message: "Task-linked run requires the Sift work protocol client.",
119
- });
182
+ };
183
+ await fencedState?.recordTerminal("failed", summary);
184
+ await client.failRun(credential, job.runId, summary, fencedState?.settlementOptions());
120
185
  return { status: "failed", runId: job.runId };
121
186
  }
122
187
  try {
@@ -125,6 +190,7 @@ async function runClaimedJob(input) {
125
190
  workClient: input.workClient,
126
191
  credential,
127
192
  job,
193
+ authority: fencedState?.authority(),
128
194
  onHardStop: () => {
129
195
  leaseState.hardStop = true;
130
196
  adapterAbort.abort();
@@ -132,11 +198,17 @@ async function runClaimedJob(input) {
132
198
  });
133
199
  }
134
200
  catch (error) {
135
- await client.failRun(credential, job.runId, errorSummaryFromUnknown(error));
201
+ updateLocalSession(input.sessionCache, job, "failed", errorSummaryFromUnknown(error));
202
+ const summary = errorSummaryFromUnknown(error);
203
+ await fencedState?.recordTerminal("failed", summary);
204
+ await client.failRun(credential, job.runId, summary, fencedState?.settlementOptions());
136
205
  return { status: "failed", runId: job.runId };
137
206
  }
138
207
  }
139
- const timeoutHandle = scheduleRunTimeout(job, input.timer, adapterAbort, leaseState);
208
+ await fencedState?.updatePhase("running");
209
+ const timeoutHandle = scheduleRunTimeout(job, input.timer, adapterAbort, leaseState, input.now);
210
+ const progressObserver = observeRunProgress({ job, timer: input.timer, fencedState, logSpool: input.logSpool, now: input.now });
211
+ updateLocalSession(input.sessionCache, job, "running");
140
212
  const leaseLoop = refreshLeaseUntilDone({
141
213
  client,
142
214
  credential,
@@ -146,6 +218,12 @@ async function runClaimedJob(input) {
146
218
  adapterAbort,
147
219
  state: leaseState,
148
220
  leaseRefreshMs: input.leaseRefreshMs,
221
+ fencedState,
222
+ monotonicNowMs: input.monotonicNowMs,
223
+ random: input.random,
224
+ nowMs: () => input.now().getTime(),
225
+ continueInspectOnly: input.allowInspectOnlyOffline === true
226
+ && fencedState?.accessMode() === "inspect",
149
227
  });
150
228
  try {
151
229
  const result = await input.adapter.run({
@@ -161,89 +239,102 @@ async function runClaimedJob(input) {
161
239
  bridgeToken: taskExecution?.bridgeToken,
162
240
  }),
163
241
  signal: adapterAbort.signal,
164
- emit: (event) => emitRunEvent({ client, credential, job, event, buffer: input.eventRetryBuffer }),
242
+ emit: (event) => emitRunEvent({
243
+ client,
244
+ credential,
245
+ job,
246
+ event,
247
+ buffer: input.eventRetryBuffer,
248
+ logSpool: input.logSpool,
249
+ fencedState,
250
+ progressObserver,
251
+ }),
165
252
  sleep: input.sleep,
253
+ ...(fencedState === undefined
254
+ ? {}
255
+ : { recordProcessIdentity: (identity) => fencedState.recordProcessIdentity(identity) }),
166
256
  });
257
+ if (result.providerSession !== undefined) {
258
+ await fencedState?.recordProviderSession(result.providerSession.sessionId);
259
+ }
260
+ await progressObserver.stop();
167
261
  await stopLeaseLoop(leaseState, leaseSleepAbort, leaseLoop);
168
- return await settleRun({
262
+ if (leaseState.authorityUncertain && fencedState !== undefined) {
263
+ await fencedState.recordTerminal(result.status === "cancelled" ? "cancelled" : "completed", result.resultSummary, "authority_uncertain");
264
+ updateLocalSession(input.sessionCache, job, "stopped", {
265
+ message: "Local result is non-authoritative until Sift reconciliation.",
266
+ });
267
+ return { status: "interrupted", runId: job.runId };
268
+ }
269
+ await fencedState?.recordTerminal(result.status === "cancelled" ? "cancelled" : "completed", result.resultSummary, "running");
270
+ const settled = await settleRun({
169
271
  client,
170
272
  workClient: input.workClient,
171
273
  credential,
172
274
  job,
173
275
  result,
174
276
  cancelRequested: leaseState.cancelRequested,
277
+ fencedState,
175
278
  });
279
+ await fencedState?.updatePhase("terminal");
280
+ updateLocalSession(input.sessionCache, job, settled.status === "completed" ? "completed" : settled.status);
281
+ return settled;
176
282
  }
177
283
  catch (error) {
284
+ await progressObserver.stop();
178
285
  await stopLeaseLoop(leaseState, leaseSleepAbort, leaseLoop);
286
+ if (leaseState.authorityUncertain && fencedState !== undefined) {
287
+ const errorSummary = errorSummaryFromUnknown(error);
288
+ const message = errorSummary["message"];
289
+ await fencedState.updatePhase("authority_uncertain", typeof message === "string" ? message : undefined);
290
+ updateLocalSession(input.sessionCache, job, "stopped", {
291
+ message: "Execution stopped because Sift write authority became uncertain.",
292
+ });
293
+ return { status: "interrupted", runId: job.runId };
294
+ }
295
+ if (leaseState.timedOut && fencedState !== undefined) {
296
+ await fencedState.recordTerminal("overtime", {
297
+ summary: "Stopped at the server-authoritative run deadline.",
298
+ }, "overtime");
299
+ updateLocalSession(input.sessionCache, job, "cancelled");
300
+ return { status: "interrupted", runId: job.runId };
301
+ }
179
302
  if (leaseState.timedOut && input.workClient !== undefined && isTaskLinked(job)) {
180
303
  await input.workClient.setTaskDisposition(credential, job.runId, taskIdFromJob(job), "cancelled", { summary: "Stopped after reaching the local run time limit." });
304
+ updateLocalSession(input.sessionCache, job, "cancelled");
181
305
  return { status: "cancelled", runId: job.runId };
182
306
  }
183
307
  if (leaseState.hardStop && input.workClient !== undefined && isTaskLinked(job)) {
184
- await input.workClient.setTaskDisposition(credential, job.runId, taskIdFromJob(job), "cancelled", { summary: "Stopped after reaching a Sift hard policy limit." });
308
+ await input.workClient.setTaskDisposition(credential, job.runId, taskIdFromJob(job), "cancelled", { summary: "Stopped after reaching a Sift hard policy limit." }, fencedState?.settlementOptions());
309
+ updateLocalSession(input.sessionCache, job, "cancelled");
185
310
  return { status: "cancelled", runId: job.runId };
186
311
  }
187
312
  if (leaseState.cancelRequested || adapterAbort.signal.aborted) {
188
313
  if (input.workClient !== undefined && isTaskLinked(job)) {
189
- await input.workClient.setTaskDisposition(credential, job.runId, taskIdFromJob(job), "cancelled", { summary: "Stopped local process after cancellation." });
314
+ await input.workClient.setTaskDisposition(credential, job.runId, taskIdFromJob(job), "cancelled", { summary: "Stopped local process after cancellation." }, fencedState?.settlementOptions());
315
+ updateLocalSession(input.sessionCache, job, "cancelled");
190
316
  return { status: "cancelled", runId: job.runId };
191
317
  }
192
318
  await client.acknowledgeCancellation(credential, job.runId, {
193
319
  summary: "Stopped local process after cancellation.",
194
- });
320
+ }, fencedState?.settlementOptions());
321
+ updateLocalSession(input.sessionCache, job, "cancelled");
195
322
  return { status: "cancelled", runId: job.runId };
196
323
  }
197
- await client.failRun(credential, job.runId, {
198
- ...errorSummaryFromUnknown(error),
199
- });
324
+ updateLocalSession(input.sessionCache, job, "failed", errorSummaryFromUnknown(error));
325
+ const failure = { ...errorSummaryFromUnknown(error) };
326
+ await fencedState?.recordTerminal("failed", failure, "running");
327
+ await client.failRun(credential, job.runId, failure, fencedState?.settlementOptions());
328
+ await fencedState?.updatePhase("terminal");
200
329
  return { status: "failed", runId: job.runId };
201
330
  }
202
331
  finally {
203
332
  if (timeoutHandle !== undefined)
204
333
  input.timer.cancel(timeoutHandle);
334
+ await progressObserver.stop();
205
335
  await taskExecution?.close();
206
336
  }
207
337
  }
208
- async function emitRunEvent(input) {
209
- try {
210
- await input.client.appendRunEvent(input.credential, input.job.runId, input.event);
211
- }
212
- catch (error) {
213
- if (input.buffer === undefined) {
214
- throw error;
215
- }
216
- input.buffer.enqueue({ runId: input.job.runId, event: input.event, error });
217
- }
218
- }
219
- async function refreshLeaseUntilDone(input) {
220
- for (;;) {
221
- if (isLeaseDone(input.state)) {
222
- return;
223
- }
224
- try {
225
- await input.sleep(input.leaseRefreshMs, input.sleepSignal);
226
- }
227
- catch (error) {
228
- if (isAbortError(error)) {
229
- return;
230
- }
231
- throw error;
232
- }
233
- if (isLeaseDone(input.state)) {
234
- return;
235
- }
236
- const refresh = await input.client.refreshLease(input.credential, input.jobId);
237
- if (refresh.cancelRequested) {
238
- input.state.cancelRequested = true;
239
- input.adapterAbort.abort();
240
- return;
241
- }
242
- }
243
- }
244
- function isLeaseDone(state) {
245
- return state.done;
246
- }
247
338
  async function stopLeaseLoop(state, leaseSleepAbort, leaseLoop) {
248
339
  state.done = true;
249
340
  leaseSleepAbort.abort();
@@ -252,33 +343,20 @@ async function stopLeaseLoop(state, leaseSleepAbort, leaseLoop) {
252
343
  async function settleRun(input) {
253
344
  if (input.result.status === "cancelled" || input.cancelRequested) {
254
345
  if (input.workClient !== undefined && isTaskLinked(input.job)) {
255
- await input.workClient.setTaskDisposition(input.credential, input.job.runId, taskIdFromJob(input.job), "cancelled", input.result.resultSummary);
346
+ await input.workClient.setTaskDisposition(input.credential, input.job.runId, taskIdFromJob(input.job), "cancelled", input.result.resultSummary, input.fencedState?.settlementOptions());
256
347
  return { status: "cancelled", runId: input.job.runId };
257
348
  }
258
- await input.client.acknowledgeCancellation(input.credential, input.job.runId, input.result.resultSummary);
349
+ await input.client.acknowledgeCancellation(input.credential, input.job.runId, input.result.resultSummary, input.fencedState?.settlementOptions());
259
350
  return { status: "cancelled", runId: input.job.runId };
260
351
  }
261
352
  if (input.workClient !== undefined && isTaskLinked(input.job)) {
262
- await input.workClient.setTaskDisposition(input.credential, input.job.runId, taskIdFromJob(input.job), input.result.disposition ?? "done", input.result.resultSummary);
353
+ await input.workClient.setTaskDisposition(input.credential, input.job.runId, taskIdFromJob(input.job), input.result.disposition ?? "done", input.result.resultSummary, input.fencedState?.settlementOptions());
263
354
  return { status: "completed", runId: input.job.runId };
264
355
  }
265
- await input.client.completeRun(input.credential, input.job.runId, input.result.resultSummary);
356
+ await input.client.completeRun(input.credential, input.job.runId, input.result.resultSummary, input.fencedState?.settlementOptions());
266
357
  return { status: "completed", runId: input.job.runId };
267
358
  }
268
359
  function isTaskLinked(job) {
269
360
  return job.wakeEnvelope !== undefined || job.taskRecordId !== undefined;
270
361
  }
271
- function scheduleRunTimeout(job, timer, adapterAbort, state) {
272
- const maxRunMinutes = job.wakeEnvelope?.limits.maxRunMinutes;
273
- if (maxRunMinutes === undefined)
274
- return undefined;
275
- return timer.schedule(() => {
276
- state.timedOut = true;
277
- adapterAbort.abort();
278
- }, maxRunMinutes * 60_000);
279
- }
280
- const defaultTimer = {
281
- schedule: (callback, ms) => setTimeout(callback, ms),
282
- cancel: (handle) => clearTimeout(handle),
283
- };
284
362
  //# sourceMappingURL=daemon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAUzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAqB,MAAM,iCAAiC,CAAC;AAI3G,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,aAAa,GAGd,MAAM,4BAA4B,CAAC;AAWpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAiFxC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAyB;IAC3D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE;QACvC,OAAO,EAAE,iBAAiB;QAC1B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC3C,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC;YACjD,UAAU;YACV,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,MAAM,EAAE,KAAK,CAAC,WAAW;YACzB,QAAQ;YACR,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,cAAc,IAAI,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/C,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CACxF,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,cAAc,IAAI,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACpG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,aAAa,CAAC;QACnB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU;QACV,GAAG;QACH,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC;QACnC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,YAAY;QAClC,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,wBAAwB;QAChE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,kBAAkB;QACxC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QACpC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;KACvD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAyB;IACvD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3B,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,iBAAiB,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC5F,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YACrE,YAAY,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,IAAI,YAAY,CAAC,UAAU,CAAC;oBAAE,OAAO;gBACrC,MAAM,UAAU,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAA6B,EAAE,GAAe;IACjE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,CAAC;WAC/D,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAA6B;IACxD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;YAAE,SAAS;QACxC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE,MAAM,EAAE,OAAgB,EAAE,OAAO,EAAE,6BAA6B,EAAE;gBACtE,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO;gBAAE,SAAS;YAC3C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAkB5B;IACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,MAAM,oBAAoB,CAAC,GAAG,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IACrG,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,kCAAkC,GAAG,CAAC,QAAQ,GAAG;SAC3D,CAAC;QACF,MAAM,WAAW,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACvF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,4CAA4C;SACtD,CAAC;QACF,MAAM,WAAW,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACvF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,YAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,YAAY,GAAG,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;YAC/C,CAAC,CAAC,MAAM,gBAAgB,CAAC;gBACrB,MAAM;gBACN,UAAU;gBACV,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,WAAW;gBACX,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBAClC,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;IACT,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,mBAAmB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACtE,MAAM,WAAW,CAAC,WAAW,CAAC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACpE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,oEAAoE;SAC9E,CAAC;QACF,MAAM,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,uBAAuB,CAClC,UAAU,EACV,GAAG,CAAC,KAAK,EACT,OAAO,EACP,WAAW,EAAE,iBAAiB,EAAE,CACjC,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAqB;QACnC,IAAI,EAAE,KAAK;QACX,eAAe,EAAE,KAAK;QACtB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,kBAAkB,EAAE,KAAK;KAC1B,CAAC;IACF,IAAI,aAA4C,CAAC;IACjD,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG;gBACd,OAAO,EAAE,yDAAyD;aACnE,CAAC;YACF,MAAM,WAAW,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACvF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,iBAAiB,CAAC;gBACtC,UAAU,EAAE,MAAM;gBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU;gBACV,GAAG;gBACH,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE;gBACnC,UAAU,EAAE,GAAG,EAAE;oBACf,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC3B,YAAY,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;YACtF,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,WAAW,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,MAAM,CAAC,OAAO,CAClB,UAAU,EACV,GAAG,CAAC,KAAK,EACT,OAAO,EACP,WAAW,EAAE,iBAAiB,EAAE,CACjC,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IAED,MAAM,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChG,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAChI,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,qBAAqB,CAAC;QACtC,MAAM;QACN,UAAU;QACV,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,eAAe,CAAC,MAAM;QACnC,YAAY;QACZ,KAAK,EAAE,UAAU;QACjB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,WAAW;QACX,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;QAClC,mBAAmB,EAAE,KAAK,CAAC,uBAAuB,KAAK,IAAI;eACtD,WAAW,EAAE,UAAU,EAAE,KAAK,SAAS;KAC7C,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACrC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG;YACH,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,GAAG,EAAE,mBAAmB,CAAC;gBACvB,GAAG;gBACH,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,aAAa,EAAE,aAAa,EAAE,aAAa;gBAC3C,WAAW,EAAE,aAAa,EAAE,WAAW;aACxC,CAAC;YACF,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC;gBAC5B,MAAM;gBACN,UAAU;gBACV,GAAG;gBACH,KAAK;gBACL,MAAM,EAAE,KAAK,CAAC,gBAAgB;gBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,WAAW;gBACX,gBAAgB;aACjB,CAAC;YACF,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,CAAC,WAAW,KAAK,SAAS;gBAC3B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC1F,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,WAAW,EAAE,qBAAqB,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,aAAa,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QAC5D,IAAI,UAAU,CAAC,kBAAkB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/D,MAAM,WAAW,CAAC,cAAc,CAC9B,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EACzD,MAAM,CAAC,aAAa,EACpB,qBAAqB,CACtB,CAAC;YACF,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE;gBACrD,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,MAAM,WAAW,EAAE,cAAc,CAC/B,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EACzD,MAAM,CAAC,aAAa,EACpB,SAAS,CACV,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC;YAC9B,MAAM;YACN,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU;YACV,GAAG;YACH,MAAM;YACN,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,WAAW;SACZ,CAAC,CAAC;QACH,MAAM,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;QAC3C,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3G,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,aAAa,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QAC5D,IAAI,UAAU,CAAC,kBAAkB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/D,MAAM,YAAY,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,WAAW,CAAC,WAAW,CAC3B,qBAAqB,EACrB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAClD,CAAC;YACF,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE;gBACrD,OAAO,EAAE,kEAAkE;aAC5E,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,WAAW,CAAC,cAAc,CAAC,UAAU,EAAE;gBAC3C,OAAO,EAAE,mDAAmD;aAC7D,EAAE,UAAU,CAAC,CAAC;YACf,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YACzD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/E,MAAM,KAAK,CAAC,UAAU,CAAC,kBAAkB,CACvC,UAAU,EACV,GAAG,CAAC,KAAK,EACT,aAAa,CAAC,GAAG,CAAC,EAClB,WAAW,EACX,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAChE,CAAC;YACF,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YACzD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/E,MAAM,KAAK,CAAC,UAAU,CAAC,kBAAkB,CACvC,UAAU,EACV,GAAG,CAAC,KAAK,EACT,aAAa,CAAC,GAAG,CAAC,EAClB,WAAW,EACX,EAAE,OAAO,EAAE,kDAAkD,EAAE,EAC/D,WAAW,EAAE,iBAAiB,EAAE,CACjC,CAAC;YACF,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YACzD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,UAAU,CAAC,eAAe,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9D,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,KAAK,CAAC,UAAU,CAAC,kBAAkB,CACvC,UAAU,EACV,GAAG,CAAC,KAAK,EACT,aAAa,CAAC,GAAG,CAAC,EAClB,WAAW,EACX,EAAE,OAAO,EAAE,2CAA2C,EAAE,EACxD,WAAW,EAAE,iBAAiB,EAAE,CACjC,CAAC;gBACF,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;gBACzD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;YACnD,CAAC;YACD,MAAM,MAAM,CAAC,uBAAuB,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE;gBAC1D,OAAO,EAAE,2CAA2C;aACrD,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACrC,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YACzD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACnD,CAAC;QACD,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;QACtF,MAAM,OAAO,GAAG,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,WAAW,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,MAAM,CAAC,OAAO,CAClB,UAAU,EACV,GAAG,CAAC,KAAK,EACT,OAAO,EACP,WAAW,EAAE,iBAAiB,EAAE,CACjC,CAAC;QACF,MAAM,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;QAC3C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,IAAI,aAAa,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnE,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,aAAa,EAAE,KAAK,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,KAAwB,EACxB,eAAgC,EAChC,SAAwB;IAExB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,eAAe,CAAC,KAAK,EAAE,CAAC;IACxB,MAAM,SAAS,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAQxB;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,KAAK,CAAC,UAAU,CAAC,kBAAkB,CACvC,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EACf,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EACxB,WAAW,EACX,KAAK,CAAC,MAAM,CAAC,aAAa,EAC1B,KAAK,CAAC,WAAW,EAAE,iBAAiB,EAAE,CACvC,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACzD,CAAC;QACD,MAAM,KAAK,CAAC,MAAM,CAAC,uBAAuB,CACxC,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EACf,KAAK,CAAC,MAAM,CAAC,aAAa,EAC1B,KAAK,CAAC,WAAW,EAAE,iBAAiB,EAAE,CACvC,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,KAAK,CAAC,UAAU,CAAC,kBAAkB,CACvC,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EACf,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EACxB,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAClC,KAAK,CAAC,MAAM,CAAC,aAAa,EAC1B,KAAK,CAAC,WAAW,EAAE,iBAAiB,EAAE,CACvC,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAC5B,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EACf,KAAK,CAAC,MAAM,CAAC,aAAa,EAC1B,KAAK,CAAC,WAAW,EAAE,iBAAiB,EAAE,CACvC,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,GAAe;IACnC,OAAO,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,71 @@
1
+ import type { ProviderAgentView, ProviderInstallPlan } from "../../adapters/provider/setup.js";
2
+ import type { ProviderAccessProfile, ProviderType } from "../../adapters/provider/types.js";
3
+ import type { RuntimeServiceStatus } from "../../runtime/runtimeService.js";
4
+ import type { SafeStatus } from "../../pairing.js";
5
+ export type SelectedFolder = {
6
+ token: string;
7
+ name: string;
8
+ };
9
+ export type ProviderDraft = {
10
+ provider: ProviderType;
11
+ displayName: string;
12
+ folderToken: string;
13
+ accessProfile: ProviderAccessProfile;
14
+ model?: string | undefined;
15
+ };
16
+ export type ProviderDraftStatus = {
17
+ status: "ready" | "error";
18
+ message: string;
19
+ hint?: string | undefined;
20
+ remediation?: "install" | "login" | "upgrade" | "select-folder" | "resume" | "retry" | undefined;
21
+ providerVersion?: string | undefined;
22
+ };
23
+ export type DesktopPairRequest = {
24
+ apiBaseUrl: string;
25
+ code: string;
26
+ displayName: string;
27
+ };
28
+ export type DesktopConductorApi = {
29
+ pairedStatus(): Promise<SafeStatus>;
30
+ pair(input: DesktopPairRequest): Promise<SafeStatus>;
31
+ logout(): Promise<SafeStatus>;
32
+ listAgents(): Promise<ProviderAgentView[]>;
33
+ selectFolder(): Promise<SelectedFolder | undefined>;
34
+ inspectDraft(input: ProviderDraft): Promise<ProviderDraftStatus>;
35
+ login(input: ProviderDraft): Promise<{
36
+ ok: boolean;
37
+ message: string;
38
+ }>;
39
+ verifyAndAdd(input: ProviderDraft): Promise<ProviderAgentView>;
40
+ updateAgent(input: {
41
+ localKey: string;
42
+ displayName: string;
43
+ accessProfile: ProviderAccessProfile;
44
+ folderToken?: string | undefined;
45
+ }): Promise<ProviderAgentView>;
46
+ pauseAgent(localKey: string, paused: boolean): Promise<ProviderAgentView>;
47
+ removeAgent(localKey: string): Promise<void>;
48
+ installPlan(provider: ProviderType): Promise<ProviderInstallPlan>;
49
+ openOfficialProviderPage(provider: ProviderType): Promise<void>;
50
+ runtimeStatus(): Promise<RuntimeServiceStatus>;
51
+ startRuntime(): Promise<RuntimeServiceStatus>;
52
+ stopRuntime(): Promise<RuntimeServiceStatus>;
53
+ };
54
+ export declare const DESKTOP_IPC: {
55
+ readonly pairedStatus: "sift:paired-status";
56
+ readonly pair: "sift:pair";
57
+ readonly logout: "sift:logout";
58
+ readonly listAgents: "sift:agents:list";
59
+ readonly selectFolder: "sift:folder:select";
60
+ readonly inspectDraft: "sift:agent:inspect";
61
+ readonly login: "sift:agent:login";
62
+ readonly verifyAndAdd: "sift:agent:add";
63
+ readonly updateAgent: "sift:agent:update";
64
+ readonly pauseAgent: "sift:agent:pause";
65
+ readonly removeAgent: "sift:agent:remove";
66
+ readonly installPlan: "sift:provider:install-plan";
67
+ readonly openOfficialProviderPage: "sift:provider:open-official";
68
+ readonly runtimeStatus: "sift:runtime:status";
69
+ readonly startRuntime: "sift:runtime:start";
70
+ readonly stopRuntime: "sift:runtime:stop";
71
+ };
@@ -0,0 +1,19 @@
1
+ export const DESKTOP_IPC = {
2
+ pairedStatus: "sift:paired-status",
3
+ pair: "sift:pair",
4
+ logout: "sift:logout",
5
+ listAgents: "sift:agents:list",
6
+ selectFolder: "sift:folder:select",
7
+ inspectDraft: "sift:agent:inspect",
8
+ login: "sift:agent:login",
9
+ verifyAndAdd: "sift:agent:add",
10
+ updateAgent: "sift:agent:update",
11
+ pauseAgent: "sift:agent:pause",
12
+ removeAgent: "sift:agent:remove",
13
+ installPlan: "sift:provider:install-plan",
14
+ openOfficialProviderPage: "sift:provider:open-official",
15
+ runtimeStatus: "sift:runtime:status",
16
+ startRuntime: "sift:runtime:start",
17
+ stopRuntime: "sift:runtime:stop",
18
+ };
19
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/desktop/app/contracts.ts"],"names":[],"mappings":"AAwDA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY,EAAE,oBAAoB;IAClC,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,oBAAoB;IAClC,YAAY,EAAE,oBAAoB;IAClC,KAAK,EAAE,kBAAkB;IACzB,YAAY,EAAE,gBAAgB;IAC9B,WAAW,EAAE,mBAAmB;IAChC,UAAU,EAAE,kBAAkB;IAC9B,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,4BAA4B;IACzC,wBAAwB,EAAE,6BAA6B;IACvD,aAAa,EAAE,qBAAqB;IACpC,YAAY,EAAE,oBAAoB;IAClC,WAAW,EAAE,mBAAmB;CACxB,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { ProviderSetupService } from "../../adapters/provider/setup.js";
2
+ import { ProviderAgentStore } from "../../adapters/provider/store.js";
3
+ import type { ProviderType } from "../../adapters/provider/types.js";
4
+ import { FileConfigStore } from "../../config.js";
5
+ import type { RuntimeServiceStatus } from "../../runtime/runtimeService.js";
6
+ import { DesktopRuntimeController } from "./runtimeController.js";
7
+ import type { DesktopConductorApi, DesktopPairRequest, ProviderDraft, SelectedFolder } from "./contracts.js";
8
+ export type DesktopControllerDeps = {
9
+ configStore?: FileConfigStore | undefined;
10
+ agentStore?: ProviderAgentStore | undefined;
11
+ setup?: ProviderSetupService | undefined;
12
+ runtime?: Pick<DesktopRuntimeController, "status" | "start" | "stop" | "refreshAdapters"> | undefined;
13
+ selectFolder(): Promise<string | undefined>;
14
+ openExternal(url: string): Promise<void>;
15
+ };
16
+ export declare class DesktopController implements DesktopConductorApi {
17
+ private readonly deps;
18
+ private readonly configStore;
19
+ private readonly agentStore;
20
+ private readonly setup;
21
+ private readonly runtime;
22
+ private readonly folderTokens;
23
+ private nextFolderToken;
24
+ constructor(deps: DesktopControllerDeps);
25
+ pairedStatus(): Promise<import("../../pairing.js").SafeStatus>;
26
+ pair(input: DesktopPairRequest): Promise<import("../../pairing.js").SafeStatus>;
27
+ logout(): Promise<import("../../pairing.js").SafeStatus>;
28
+ listAgents(): Promise<import("../../adapters/provider/setup.js").ProviderAgentView[]>;
29
+ selectFolder(): Promise<SelectedFolder | undefined>;
30
+ inspectDraft(input: ProviderDraft): Promise<{
31
+ providerVersion?: string;
32
+ remediation?: "resume" | "install" | "login" | "upgrade" | "select-folder" | "retry";
33
+ hint?: string;
34
+ status: "error" | "ready";
35
+ message: string;
36
+ }>;
37
+ login(input: ProviderDraft): Promise<{
38
+ ok: boolean;
39
+ message: string;
40
+ }>;
41
+ verifyAndAdd(input: ProviderDraft): Promise<import("../../adapters/provider/setup.js").ProviderAgentView>;
42
+ updateAgent(input: {
43
+ localKey: string;
44
+ displayName: string;
45
+ accessProfile: "inspect" | "workspace";
46
+ folderToken?: string | undefined;
47
+ }): Promise<import("../../adapters/provider/setup.js").ProviderAgentView>;
48
+ pauseAgent(localKey: string, paused: boolean): Promise<import("../../adapters/provider/setup.js").ProviderAgentView>;
49
+ removeAgent(localKey: string): Promise<void>;
50
+ installPlan(provider: ProviderType): Promise<import("../../adapters/provider/setup.js").ProviderInstallPlan>;
51
+ openOfficialProviderPage(provider: ProviderType): Promise<void>;
52
+ runtimeStatus(): Promise<RuntimeServiceStatus>;
53
+ startRuntime(): Promise<RuntimeServiceStatus>;
54
+ stopRuntime(): Promise<RuntimeServiceStatus>;
55
+ private configFromDraft;
56
+ private requiredFolder;
57
+ private advertise;
58
+ }