@inquir/compute 0.2.0 → 0.4.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 (61) hide show
  1. package/README.md +159 -1
  2. package/dist/app-observability.d.ts +69 -0
  3. package/dist/app-observability.d.ts.map +1 -0
  4. package/dist/app-observability.js +65 -0
  5. package/dist/app-observability.js.map +1 -0
  6. package/dist/app-observability.types.d.ts +358 -0
  7. package/dist/app-observability.types.d.ts.map +1 -0
  8. package/dist/app-observability.types.js +2 -0
  9. package/dist/app-observability.types.js.map +1 -0
  10. package/dist/apps.d.ts +304 -6
  11. package/dist/apps.d.ts.map +1 -1
  12. package/dist/apps.js +89 -7
  13. package/dist/apps.js.map +1 -1
  14. package/dist/build-timeout-policy.d.ts +13 -0
  15. package/dist/build-timeout-policy.d.ts.map +1 -0
  16. package/dist/build-timeout-policy.js +11 -0
  17. package/dist/build-timeout-policy.js.map +1 -0
  18. package/dist/discovery.d.ts +9 -1
  19. package/dist/discovery.d.ts.map +1 -1
  20. package/dist/discovery.js +74 -7
  21. package/dist/discovery.js.map +1 -1
  22. package/dist/index.d.ts +7 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +6 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/invocation-observation.d.ts +23 -0
  27. package/dist/invocation-observation.d.ts.map +1 -0
  28. package/dist/invocation-observation.js +79 -0
  29. package/dist/invocation-observation.js.map +1 -0
  30. package/dist/local-runner-harness.js +28 -6
  31. package/dist/local-runner-harness.js.map +1 -1
  32. package/dist/local-runner.d.ts.map +1 -1
  33. package/dist/local-runner.js +103 -6
  34. package/dist/local-runner.js.map +1 -1
  35. package/dist/projects.d.ts +147 -0
  36. package/dist/projects.d.ts.map +1 -0
  37. package/dist/projects.js +64 -0
  38. package/dist/projects.js.map +1 -0
  39. package/dist/release-commands.d.ts +80 -0
  40. package/dist/release-commands.d.ts.map +1 -0
  41. package/dist/release-commands.js +147 -0
  42. package/dist/release-commands.js.map +1 -0
  43. package/dist/source-command-http.d.ts +7 -0
  44. package/dist/source-command-http.d.ts.map +1 -0
  45. package/dist/source-command-http.js +87 -0
  46. package/dist/source-command-http.js.map +1 -0
  47. package/dist/source-command-protocol.d.ts +137 -0
  48. package/dist/source-command-protocol.d.ts.map +1 -0
  49. package/dist/source-command-protocol.js +311 -0
  50. package/dist/source-command-protocol.js.map +1 -0
  51. package/dist/source-commands.d.ts +33 -0
  52. package/dist/source-commands.d.ts.map +1 -0
  53. package/dist/source-commands.js +116 -0
  54. package/dist/source-commands.js.map +1 -0
  55. package/dist/transport.d.ts +63 -2
  56. package/dist/transport.d.ts.map +1 -1
  57. package/dist/transport.js +237 -14
  58. package/dist/transport.js.map +1 -1
  59. package/dist/types.d.ts +14 -0
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +7 -3
package/dist/apps.js CHANGED
@@ -6,17 +6,12 @@
6
6
  * same convention the frontend follows — so the SDK builds independently of
7
7
  * the server's tsconfig.
8
8
  */
9
- import { authHeaders, rawRequest, toApiError, } from './transport.js';
9
+ import { authHeaders, rawRequest, toApiError } from './transport.js';
10
10
  export async function getAppLimits(client) {
11
11
  return rawRequest(client, 'GET', '/v1/apps/limits');
12
12
  }
13
13
  /** A release stops changing on its own once it reaches one of these. */
14
- const SETTLED_RELEASE_STATUSES = new Set([
15
- 'READY',
16
- 'ACTIVE',
17
- 'STOPPED',
18
- 'FAILED',
19
- ]);
14
+ const SETTLED_RELEASE_STATUSES = new Set(['READY', 'ACTIVE', 'STOPPED', 'FAILED']);
20
15
  export function isSettledReleaseStatus(status) {
21
16
  return SETTLED_RELEASE_STATUSES.has(status);
22
17
  }
@@ -39,24 +34,99 @@ export async function getApplication(client, applicationId) {
39
34
  export async function createApplication(client, input) {
40
35
  return rawRequest(client, 'POST', '/v1/apps', input);
41
36
  }
37
+ export async function listAppBackups(client, applicationId, options = {}) {
38
+ const query = new URLSearchParams();
39
+ if (options.limit)
40
+ query.set('limit', String(options.limit));
41
+ if (options.cursor)
42
+ query.set('cursor', options.cursor);
43
+ if (options.volumeName)
44
+ query.set('volumeName', options.volumeName);
45
+ const suffix = query.toString() ? `?${query.toString()}` : '';
46
+ return rawRequest(client, 'GET', `/v1/apps/${applicationId}/backups${suffix}`);
47
+ }
48
+ export async function getAppBackup(client, applicationId, backupId) {
49
+ return rawRequest(client, 'GET', `/v1/apps/${applicationId}/backups/${backupId}`);
50
+ }
51
+ /**
52
+ * Answers 202 as soon as the rows exist — the copy outlives the request. The
53
+ * returned rows are PENDING; poll them for the outcome.
54
+ */
55
+ export async function createAppBackup(client, applicationId) {
56
+ return rawRequest(client, 'POST', `/v1/apps/${applicationId}/backups`);
57
+ }
58
+ /** Drops a restore point for good. Refused while the row is still PENDING. */
59
+ export async function deleteAppBackup(client, applicationId, backupId) {
60
+ return rawRequest(client, 'DELETE', `/v1/apps/${applicationId}/backups/${backupId}`);
61
+ }
62
+ /** Stops production, replaces the volume contents, starts production again. */
63
+ export async function restoreAppBackup(client, applicationId, backupId) {
64
+ return rawRequest(client, 'POST', `/v1/apps/${applicationId}/backups/${backupId}/restore`);
65
+ }
66
+ /** The decrypted connection URL of a template database. Never cached server-side. */
67
+ export async function getAppConnectionUrl(client, applicationId) {
68
+ return rawRequest(client, 'POST', `/v1/apps/${applicationId}/connection-url`);
69
+ }
70
+ /**
71
+ * Writes the database's connection URL into `target`'s env (server-side
72
+ * compose). A target that already carries the key is refused (409) unless
73
+ * `overwrite` is set — the way to repoint an app at the database's current
74
+ * private address without ever handling the password.
75
+ */
76
+ export async function connectApps(client, applicationId, target, options = {}) {
77
+ return rawRequest(client, 'POST', `/v1/apps/${applicationId}/connect`, {
78
+ target,
79
+ ...(options.overwrite ? { overwrite: true } : {}),
80
+ });
81
+ }
42
82
  export async function updateApplication(client, applicationId, patch) {
43
83
  return rawRequest(client, 'PATCH', `/v1/apps/${applicationId}`, patch);
44
84
  }
45
85
  export async function archiveApplication(client, applicationId) {
46
86
  return rawRequest(client, 'DELETE', `/v1/apps/${applicationId}`);
47
87
  }
88
+ export async function wakeApplication(client, applicationId) {
89
+ return rawRequest(client, 'POST', `/v1/apps/${applicationId}/wake`);
90
+ }
91
+ export async function pauseApplication(client, applicationId) {
92
+ return rawRequest(client, 'POST', `/v1/apps/${applicationId}/pause`);
93
+ }
48
94
  export async function createRelease(client, applicationId, input) {
49
95
  return rawRequest(client, 'POST', `/v1/apps/${applicationId}/releases`, input);
50
96
  }
97
+ /**
98
+ * Release what production runs now — the same build, or the same image
99
+ * reference pulled again — under the application's current configuration,
100
+ * and promote it once healthy (unless `promote: false`). 409 when nothing is
101
+ * promoted yet. Needs `apps:promote`.
102
+ */
103
+ export async function redeployApplication(client, applicationId, input = {}) {
104
+ return rawRequest(client, 'POST', `/v1/apps/${applicationId}/redeploy`, input);
105
+ }
51
106
  export async function listReleases(client, applicationId) {
52
107
  return rawRequest(client, 'GET', `/v1/apps/${applicationId}/releases`);
53
108
  }
54
109
  export async function getRelease(client, releaseId) {
55
110
  return rawRequest(client, 'GET', `/v1/releases/${releaseId}`);
56
111
  }
112
+ export function isPromoteAccepted(result) {
113
+ return typeof result?.rolloutId === 'string';
114
+ }
115
+ /**
116
+ * Send production traffic to a release. A server that runs the promote as a
117
+ * rolling rollout answers 202 instead (`isPromoteAccepted`); an older server
118
+ * always answers with the promote's outcome.
119
+ */
57
120
  export async function promoteRelease(client, releaseId) {
58
121
  return rawRequest(client, 'POST', `/v1/releases/${releaseId}/promote`);
59
122
  }
123
+ export async function getApplicationRollout(client, applicationId, rolloutId) {
124
+ return rawRequest(client, 'GET', `/v1/apps/${encodeURIComponent(applicationId)}/rollouts/${encodeURIComponent(rolloutId)}`);
125
+ }
126
+ export async function listApplicationRollouts(client, applicationId, limit) {
127
+ const query = limit === undefined ? '' : `?limit=${encodeURIComponent(String(limit))}`;
128
+ return rawRequest(client, 'GET', `/v1/apps/${encodeURIComponent(applicationId)}/rollouts${query}`);
129
+ }
60
130
  export async function rollbackApplication(client, applicationId) {
61
131
  return rawRequest(client, 'POST', `/v1/apps/${applicationId}/rollback`);
62
132
  }
@@ -66,6 +136,17 @@ export async function stopRelease(client, releaseId) {
66
136
  export async function execInRelease(client, releaseId, command, timeoutMs) {
67
137
  return rawRequest(client, 'POST', `/v1/releases/${releaseId}/exec`, { command, timeoutMs });
68
138
  }
139
+ /**
140
+ * Execute against the server-resolved current production allocation. Unlike
141
+ * the legacy release-scoped endpoint, this path is audited, rate-limited and
142
+ * refuses remote targets until the runner transport is available.
143
+ */
144
+ export async function execInApplication(client, applicationId, command, timeoutMs) {
145
+ return rawRequest(client, 'POST', `/v1/apps/${applicationId}/console/exec`, {
146
+ command,
147
+ ...(timeoutMs === undefined ? {} : { timeoutMs }),
148
+ });
149
+ }
69
150
  /**
70
151
  * Bind a custom hostname (always production). It starts unverified: publish
71
152
  * the returned TXT record and point the name at the platform, then call
@@ -142,6 +223,7 @@ async function* streamAppSSE(client, path, signal) {
142
223
  method: 'GET',
143
224
  headers: { Accept: 'text/event-stream', ...authHeaders(client) },
144
225
  signal,
226
+ redirect: 'error',
145
227
  });
146
228
  if (!response.ok || !response.body) {
147
229
  const text = await response.text().catch(() => '');
package/dist/apps.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apps.js","sourceRoot":"","sources":["../src/apps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,GAEX,MAAM,gBAAgB,CAAC;AAmNxB,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAuB;IACxD,OAAO,UAAU,CAAY,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;AACjE,CAAC;AAED,wEAAwE;AACxE,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAgB;IACtD,OAAO;IACP,QAAQ;IACR,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,UAAU,sBAAsB,CAAC,MAAqB;IAC1D,OAAO,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAc,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAE1F,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,OAAO,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAuB,EACvB,UAA+C,EAAE;IAEjD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,KAAK;QAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,OAAO,UAAU,CAA0B,MAAM,EAAE,KAAK,EAAE,WAAW,MAAM,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,aAAqB;IAErB,OAAO,UAAU,CAAoB,MAAM,EAAE,KAAK,EAAE,YAAY,aAAa,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,KAA6B;IAE7B,OAAO,UAAU,CAAc,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,aAAqB,EACrB,KAAsC;IAEtC,OAAO,UAAU,CAAc,MAAM,EAAE,OAAO,EAAE,YAAY,aAAa,EAAE,EAAE,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAuB,EACvB,aAAqB;IAErB,OAAO,UAAU,CAAwB,MAAM,EAAE,QAAQ,EAAE,YAAY,aAAa,EAAE,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAuB,EACvB,aAAqB,EACrB,KAAyB;IAEzB,OAAO,UAAU,CACf,MAAM,EACN,MAAM,EACN,YAAY,aAAa,WAAW,EACpC,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAuB,EACvB,aAAqB;IAErB,OAAO,UAAU,CAAuB,MAAM,EAAE,KAAK,EAAE,YAAY,aAAa,WAAW,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAuB,EAAE,SAAiB;IACzE,OAAO,UAAU,CAAU,MAAM,EAAE,KAAK,EAAE,gBAAgB,SAAS,EAAE,CAAC,CAAC;AACzE,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,SAAiB;IAEjB,OAAO,UAAU,CAAkB,MAAM,EAAE,MAAM,EAAE,gBAAgB,SAAS,UAAU,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAuB,EACvB,aAAqB;IAErB,OAAO,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,aAAa,WAAW,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAuB,EACvB,SAAiB;IAEjB,OAAO,UAAU,CAAuB,MAAM,EAAE,QAAQ,EAAE,gBAAgB,SAAS,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAuB,EACvB,SAAiB,EACjB,OAAe,EACf,SAAkB;IAElB,OAAO,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,SAAS,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAC9F,CAAC;AAyBD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAuB,EACvB,aAAqB,EACrB,QAAgB;IAEhB,OAAO,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,aAAa,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAuB,EACvB,aAAqB,EACrB,QAAgB;IAEhB,OAAO,UAAU,CACf,MAAM,EACN,MAAM,EACN,YAAY,aAAa,YAAY,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAC3E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAuB,EACvB,aAAqB;IAErB,OAAO,UAAU,CAAyB,MAAM,EAAE,KAAK,EAAE,YAAY,aAAa,UAAU,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAuB,EACvB,aAAqB,EACrB,QAAgB;IAEhB,OAAO,UAAU,CACf,MAAM,EACN,QAAQ,EACR,YAAY,aAAa,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CACpE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAuB,EACvB,aAAqB;IAErB,OAAO,UAAU,CAAqB,MAAM,EAAE,KAAK,EAAE,YAAY,aAAa,SAAS,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAuB,EAAE,OAAe;IACrE,OAAO,UAAU,CAAQ,MAAM,EAAE,KAAK,EAAE,cAAc,OAAO,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAuB,EACvB,OAAe;IAEf,OAAO,UAAU,CAAyB,MAAM,EAAE,MAAM,EAAE,cAAc,OAAO,SAAS,CAAC,CAAC;AAC5F,CAAC;AAYD,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAuB,EACvB,KAA0D;IAE1D,OAAO,UAAU,CAAiB,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAC;AACnF,CAAC;AAiCD,uHAAuH;AACvH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAuB,EACvB,aAAqB,EACrB,KAAsB;IAEtB,OAAO,UAAU,CAAqB,MAAM,EAAE,MAAM,EAAE,YAAY,aAAa,SAAS,EAAE,KAAK,CAAC,CAAC;AACnG,CAAC;AAYD,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,SAAS,GAAG,SAAS,CAAC;IAC1B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACxD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC3D,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,IAAI,GAA4B,EAAE,CAAC;IACvC,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAA4B,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAyC;YACtD,EAAE,EAAE,IAAI,CAAC,EAAwB;SAClC,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IACzF,IAAI,SAAS,KAAK,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7F,IAAI,SAAS,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC,EAAE,CAAC;IACrG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,YAAY,CAC1B,MAAuB,EACvB,IAAY,EACZ,MAAoB;IAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;QAClE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE;QAChE,MAAM;KACP,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC;QACD,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,+BAA+B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,MAAM,GAAI,QAAQ,CAAC,IAAmC,CAAC,SAAS,EAAE,CAAC;IACzE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,QAAQ,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACxC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,KAAK;oBAAE,MAAM,KAAK,CAAC;gBACvB,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAC/B,MAAuB,EACvB,SAAiB,EACjB,UAAmD,EAAE;IAErD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC;IACjC,OAAO,YAAY,CAAC,MAAM,EAAE,gBAAgB,SAAS,cAAc,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7F,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAC7B,MAAuB,EACvB,OAAe,EACf,MAAoB;IAEpB,OAAO,YAAY,CAAC,MAAM,EAAE,cAAc,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"apps.js","sourceRoot":"","sources":["../src/apps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /** Public build observation policy, also used when talking to an older API. */
2
+ export interface BuildTimeoutPolicy {
3
+ executionTimeoutMs: number;
4
+ queueTimeoutMs: number;
5
+ completionGraceMs: number;
6
+ }
7
+ /**
8
+ * Compatibility defaults for older APIs. A valid server-supplied policy is
9
+ * authoritative; these independently versioned client defaults do not configure
10
+ * the server's execution or queue limits.
11
+ */
12
+ export declare const DEFAULT_BUILD_TIMEOUT_POLICY: Readonly<BuildTimeoutPolicy>;
13
+ //# sourceMappingURL=build-timeout-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-timeout-policy.d.ts","sourceRoot":"","sources":["../src/build-timeout-policy.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,kBAAkB,CAIpE,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Compatibility defaults for older APIs. A valid server-supplied policy is
3
+ * authoritative; these independently versioned client defaults do not configure
4
+ * the server's execution or queue limits.
5
+ */
6
+ export const DEFAULT_BUILD_TIMEOUT_POLICY = Object.freeze({
7
+ executionTimeoutMs: 45 * 60_000,
8
+ queueTimeoutMs: 60 * 60_000,
9
+ completionGraceMs: 15_000,
10
+ });
11
+ //# sourceMappingURL=build-timeout-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-timeout-policy.js","sourceRoot":"","sources":["../src/build-timeout-policy.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAiC,MAAM,CAAC,MAAM,CAAC;IACtF,kBAAkB,EAAE,EAAE,GAAG,MAAM;IAC/B,cAAc,EAAE,EAAE,GAAG,MAAM;IAC3B,iBAAiB,EAAE,MAAM;CAC1B,CAAC,CAAC"}
@@ -1,4 +1,12 @@
1
1
  import type { LoadedConfig } from './config.js';
2
2
  import type { AssetRegistry } from './types.js';
3
- export declare function discoverAssets(config: LoadedConfig): Promise<AssetRegistry>;
3
+ export interface DiscoveryOptions {
4
+ /** End-to-end deadline for importing candidate modules. Defaults to 120 seconds. */
5
+ timeoutMs?: number;
6
+ /** Maximum combined stdout/stderr retained from the harness. Defaults to 4 MiB. */
7
+ maxOutputBytes?: number;
8
+ /** Grace period before force-killing the child. Defaults to 1 second. */
9
+ killGraceMs?: number;
10
+ }
11
+ export declare function discoverAssets(config: LoadedConfig, options?: DiscoveryOptions): Promise<AssetRegistry>;
4
12
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAc,aAAa,EAAmC,MAAM,YAAY,CAAC;AAwG7F,wBAAsB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAgEjF"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAc,aAAa,EAAmC,MAAM,YAAY,CAAC;AAiB7F,MAAM,WAAW,gBAAgB;IAC/B,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiJD,wBAAsB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAgEjH"}
package/dist/discovery.js CHANGED
@@ -4,6 +4,9 @@ import { createRequire } from 'node:module';
4
4
  import path from 'node:path';
5
5
  import { fileURLToPath, pathToFileURL } from 'node:url';
6
6
  import { computeSourceHash } from './hashing.js';
7
+ const DEFAULT_DISCOVERY_TIMEOUT_MS = 120_000;
8
+ const DEFAULT_MAX_OUTPUT_BYTES = 4 * 1024 * 1024;
9
+ const DEFAULT_KILL_GRACE_MS = 1_000;
7
10
  const CANDIDATE_FILE_PATTERN = /(?:^index\.[cm]?[jt]s$|^function\.[cm]?[jt]s$|^pipeline\.[cm]?[jt]s$|\.function\.[cm]?[jt]s$|\.pipeline\.[cm]?[jt]s$)/;
8
11
  const modulePath = typeof __filename === 'string' ? __filename : fileURLToPath(import.meta.url);
9
12
  const require = createRequire(modulePath);
@@ -32,25 +35,89 @@ function collectCandidateFiles(rootDir, output) {
32
35
  }
33
36
  }
34
37
  }
35
- function runDiscoveryHarness(candidateFiles) {
38
+ function runDiscoveryHarness(candidateFiles, options) {
36
39
  if (candidateFiles.length === 0) {
37
40
  return Promise.resolve({ assets: [], diagnostics: [] });
38
41
  }
39
42
  const harnessPath = path.join(path.dirname(modulePath), `discovery-harness${path.extname(modulePath)}`);
40
43
  const tsxImportPath = resolveTsxImportPath();
44
+ const timeoutMs = Math.floor(options.timeoutMs ?? DEFAULT_DISCOVERY_TIMEOUT_MS);
45
+ const maxOutputBytes = Math.floor(options.maxOutputBytes ?? DEFAULT_MAX_OUTPUT_BYTES);
46
+ const killGraceMs = Math.floor(options.killGraceMs ?? DEFAULT_KILL_GRACE_MS);
47
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0)
48
+ throw new RangeError('discovery timeoutMs must be positive');
49
+ if (!Number.isFinite(maxOutputBytes) || maxOutputBytes <= 0)
50
+ throw new RangeError('discovery maxOutputBytes must be positive');
51
+ if (!Number.isFinite(killGraceMs) || killGraceMs < 0)
52
+ throw new RangeError('discovery killGraceMs must be non-negative');
41
53
  return new Promise((resolve) => {
42
54
  const child = spawn(process.execPath, ['--import', tsxImportPath, harnessPath, ...candidateFiles], {
43
55
  stdio: ['ignore', 'pipe', 'pipe'],
44
56
  });
45
- let stdout = '';
46
- let stderr = '';
57
+ const stdoutChunks = [];
58
+ const stderrChunks = [];
59
+ let capturedBytes = 0;
60
+ let terminalError;
61
+ let settled = false;
62
+ let forceKillTimer;
63
+ const timeoutTimer = setTimeout(() => terminate(`Discovery exceeded timeout of ${timeoutMs} ms`), timeoutMs);
64
+ timeoutTimer.unref?.();
65
+ function terminate(message) {
66
+ if (terminalError || settled)
67
+ return;
68
+ terminalError = message;
69
+ try {
70
+ child.kill('SIGTERM');
71
+ }
72
+ catch { /* close will settle */ }
73
+ forceKillTimer = setTimeout(() => {
74
+ if (!settled) {
75
+ try {
76
+ child.kill('SIGKILL');
77
+ }
78
+ catch { /* close will settle */ }
79
+ }
80
+ }, killGraceMs);
81
+ forceKillTimer.unref?.();
82
+ }
83
+ const capture = (target, chunk) => {
84
+ const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
85
+ const remaining = Math.max(0, maxOutputBytes - capturedBytes);
86
+ if (remaining > 0)
87
+ target.push(buffer.subarray(0, remaining));
88
+ capturedBytes += buffer.length;
89
+ if (capturedBytes > maxOutputBytes) {
90
+ terminate(`Discovery harness output exceeded ${maxOutputBytes} bytes`);
91
+ }
92
+ };
47
93
  child.stdout.on('data', (chunk) => {
48
- stdout += chunk.toString();
94
+ capture(stdoutChunks, chunk);
49
95
  });
50
96
  child.stderr.on('data', (chunk) => {
51
- stderr += chunk.toString();
97
+ capture(stderrChunks, chunk);
98
+ });
99
+ child.once('error', (error) => {
100
+ if (settled)
101
+ return;
102
+ settled = true;
103
+ clearTimeout(timeoutTimer);
104
+ if (forceKillTimer)
105
+ clearTimeout(forceKillTimer);
106
+ resolve({ assets: [], diagnostics: [{ code: 'IMPORT_FAILED', message: error.message }] });
52
107
  });
53
108
  child.on('close', () => {
109
+ if (settled)
110
+ return;
111
+ settled = true;
112
+ clearTimeout(timeoutTimer);
113
+ if (forceKillTimer)
114
+ clearTimeout(forceKillTimer);
115
+ const stdout = Buffer.concat(stdoutChunks).toString('utf8');
116
+ const stderr = Buffer.concat(stderrChunks).toString('utf8');
117
+ if (terminalError) {
118
+ resolve({ assets: [], diagnostics: [{ code: 'IMPORT_FAILED', message: terminalError }] });
119
+ return;
120
+ }
54
121
  if (!stdout.trim()) {
55
122
  resolve({
56
123
  assets: [],
@@ -75,11 +142,11 @@ function runDiscoveryHarness(candidateFiles) {
75
142
  });
76
143
  });
77
144
  }
78
- export async function discoverAssets(config) {
145
+ export async function discoverAssets(config, options = {}) {
79
146
  const candidateFiles = [];
80
147
  collectCandidateFiles(config.absoluteFunctionsDir, candidateFiles);
81
148
  collectCandidateFiles(config.absolutePipelinesDir, candidateFiles);
82
- const harnessResult = await runDiscoveryHarness(candidateFiles);
149
+ const harnessResult = await runDiscoveryHarness(candidateFiles, options);
83
150
  const diagnostics = [...harnessResult.diagnostics];
84
151
  // Orphan asset detection
85
152
  for (const filePath of (harnessResult.noAssetFiles ?? [])) {
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export * from './apps.js';
2
+ export * from './build-timeout-policy.js';
3
+ export * from './app-observability.js';
2
4
  export * from './config.js';
3
5
  export * from './codegen.js';
4
6
  export * from './define-function.js';
@@ -6,7 +8,12 @@ export * from './define-pipeline.js';
6
8
  export * from './discovery.js';
7
9
  export * from './hashing.js';
8
10
  export * from './local-runner.js';
11
+ export * from './projects.js';
9
12
  export * from './transport.js';
13
+ export * from './source-commands.js';
10
14
  export * from './types.js';
11
15
  export { createZipBase64 } from './zip.js';
16
+ export * from './invocation-observation.js';
17
+ export { prepareReleaseCommand, restoreReleaseCommand, ReleaseCommandObservationEndedError } from './release-commands.js';
18
+ export type { ReleaseCommandInput, ReleaseCommandRecord, ReleaseCommandOutcome, ReleaseCommandOperation } from './release-commands.js';
12
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAC1H,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export * from './apps.js';
2
+ export * from './build-timeout-policy.js';
3
+ export * from './app-observability.js';
2
4
  export * from './config.js';
3
5
  export * from './codegen.js';
4
6
  export * from './define-function.js';
@@ -6,7 +8,11 @@ export * from './define-pipeline.js';
6
8
  export * from './discovery.js';
7
9
  export * from './hashing.js';
8
10
  export * from './local-runner.js';
11
+ export * from './projects.js';
9
12
  export * from './transport.js';
13
+ export * from './source-commands.js';
10
14
  export * from './types.js';
11
15
  export { createZipBase64 } from './zip.js';
16
+ export * from './invocation-observation.js';
17
+ export { prepareReleaseCommand, restoreReleaseCommand, ReleaseCommandObservationEndedError } from './release-commands.js';
12
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { RemoteInvocationResult as InvocationResult } from './types.js';
2
+ export interface PendingRemoteInvocation {
3
+ invocationId: string;
4
+ functionId: string;
5
+ state: 'PENDING' | 'RECOVERY_HELD';
6
+ }
7
+ export declare class RemoteInvocationObservationEndedError extends Error {
8
+ readonly pending: PendingRemoteInvocation;
9
+ constructor(pending: PendingRemoteInvocation, options?: ErrorOptions);
10
+ }
11
+ export declare function validateInvocationObservation(options: {
12
+ timeoutMs?: number;
13
+ intervalMs?: number;
14
+ }): void;
15
+ export declare function pendingRemoteInvocation(value: unknown, functionId: string, invocationId?: string): PendingRemoteInvocation | null;
16
+ /** Only resume is repeated. Stop observing does not call durable cancel. */
17
+ export declare function observeRemoteInvocation(initial: unknown, functionId: string, resume: (handle: PendingRemoteInvocation, signal: AbortSignal) => Promise<unknown>, options?: {
18
+ signal?: AbortSignal;
19
+ timeoutMs?: number;
20
+ intervalMs?: number;
21
+ onPending?: (pending: PendingRemoteInvocation) => void;
22
+ }): Promise<InvocationResult>;
23
+ //# sourceMappingURL=invocation-observation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invocation-observation.d.ts","sourceRoot":"","sources":["../src/invocation-observation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7E,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,GAAG,eAAe,CAAC;CACpC;AACD,qBAAa,qCAAsC,SAAQ,KAAK;IAClD,QAAQ,CAAC,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,YAAY;CAI9E;AACD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIxG;AACD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAOjI;AACD,4EAA4E;AAC5E,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAChF,MAAM,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,EAClF,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAA;CAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkCpK"}
@@ -0,0 +1,79 @@
1
+ export class RemoteInvocationObservationEndedError extends Error {
2
+ pending;
3
+ constructor(pending, options) {
4
+ super(`Invocation ${pending.invocationId} is still ${pending.state === 'PENDING' ? 'running' : 'awaiting recovery'}. Resume this invocation; do not start another.`, options);
5
+ this.pending = pending;
6
+ this.name = 'RemoteInvocationObservationEndedError';
7
+ }
8
+ }
9
+ export function validateInvocationObservation(options) {
10
+ for (const value of [options.timeoutMs ?? 120_000, options.intervalMs ?? 250]) {
11
+ if (!Number.isFinite(value) || value < 0 || value > 2_147_483_647)
12
+ throw new Error('Invalid invocation observation timing');
13
+ }
14
+ }
15
+ export function pendingRemoteInvocation(value, functionId, invocationId) {
16
+ if (!value || typeof value !== 'object' || !('state' in value))
17
+ return null;
18
+ const p = value;
19
+ if (!['PENDING', 'RECOVERY_HELD'].includes(p.state) || p.functionId !== functionId
20
+ || !/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(p.invocationId)
21
+ || invocationId !== undefined && invocationId !== p.invocationId)
22
+ throw new Error('Invocation observation identity differs');
23
+ return { invocationId: p.invocationId, functionId, state: p.state };
24
+ }
25
+ /** Only resume is repeated. Stop observing does not call durable cancel. */
26
+ export async function observeRemoteInvocation(initial, functionId, resume, options = {}) {
27
+ options = { ...options };
28
+ validateInvocationObservation(options);
29
+ let response = initial, pending = null;
30
+ const controller = new AbortController(), timeoutMs = options.timeoutMs ?? 120_000;
31
+ if (!Number.isFinite(timeoutMs) || timeoutMs < 0)
32
+ throw new Error('Invalid invocation observation timeout');
33
+ const abort = () => controller.abort(options.signal?.reason);
34
+ if (options.signal?.aborted)
35
+ abort();
36
+ else
37
+ options.signal?.addEventListener('abort', abort, { once: true });
38
+ const timer = setTimeout(() => controller.abort(new Error('Invocation observation timed out')), timeoutMs);
39
+ try {
40
+ while (true) {
41
+ const next = pendingRemoteInvocation(response, functionId, pending?.invocationId);
42
+ if (!next) {
43
+ const terminal = response;
44
+ if (!terminal || terminal.functionId !== functionId || pending && terminal.invocationId !== pending.invocationId
45
+ || !['SUCCEEDED', 'FAILED', 'TIMED_OUT', 'CANCELLED'].includes(terminal.status))
46
+ throw new Error('Invalid invocation terminal response');
47
+ return terminal;
48
+ }
49
+ pending = next;
50
+ options.onPending?.({ ...pending });
51
+ if (controller.signal.aborted)
52
+ throw new RemoteInvocationObservationEndedError(pending);
53
+ try {
54
+ await new Promise((resolve, reject) => {
55
+ const done = () => { clearTimeout(delay); controller.signal.removeEventListener('abort', stopped); resolve(); };
56
+ const stopped = () => { clearTimeout(delay); controller.signal.removeEventListener('abort', stopped); reject(controller.signal.reason); };
57
+ const delay = setTimeout(done, options.intervalMs ?? 250);
58
+ controller.signal.addEventListener('abort', stopped, { once: true });
59
+ if (controller.signal.aborted)
60
+ stopped();
61
+ });
62
+ response = await resume(pending, controller.signal);
63
+ }
64
+ catch (error) {
65
+ throw new RemoteInvocationObservationEndedError(pending, { cause: error });
66
+ }
67
+ }
68
+ }
69
+ catch (error) {
70
+ if (pending && !(error instanceof RemoteInvocationObservationEndedError))
71
+ throw new RemoteInvocationObservationEndedError(pending, { cause: error });
72
+ throw error;
73
+ }
74
+ finally {
75
+ clearTimeout(timer);
76
+ options.signal?.removeEventListener('abort', abort);
77
+ }
78
+ }
79
+ //# sourceMappingURL=invocation-observation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invocation-observation.js","sourceRoot":"","sources":["../src/invocation-observation.ts"],"names":[],"mappings":"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"}