openship 0.4.8 → 0.6.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 (112) hide show
  1. package/README.md +27 -1
  2. package/dist/bare-FSUAM5V5.js +23 -0
  3. package/dist/{bowser-O3AEA6AN.js → bowser-HNOTPGJO.js} +2 -2
  4. package/dist/{chunk-5MZ624VX.js → chunk-2GWYYHOR.js} +1 -1
  5. package/dist/chunk-3FYIXVX5.js +8051 -0
  6. package/dist/{chunk-ILFETZOM.js → chunk-3LDWWY7U.js} +21 -1
  7. package/dist/{chunk-W73X43R7.js → chunk-3NQQXMDR.js} +3 -3
  8. package/dist/{chunk-OWED2GRM.js → chunk-42WQABXM.js} +2 -2
  9. package/dist/{chunk-TYVME3XD.js → chunk-6FH4AXVY.js} +20 -3
  10. package/dist/{chunk-OXWDY22G.js → chunk-6ODUBKUB.js} +3 -3
  11. package/dist/{chunk-DYPH4HCI.js → chunk-AO252K7Z.js} +1 -1
  12. package/dist/{chunk-XPPZ7B2J.js → chunk-B3CE2OMR.js} +14 -12
  13. package/dist/{chunk-IXCHURVK.js → chunk-DOD2BXHQ.js} +4 -4
  14. package/dist/{chunk-VWPEKOH6.js → chunk-DRK3MEDS.js} +3 -3
  15. package/dist/{chunk-V6AN6XLZ.js → chunk-EMXI4UCU.js} +125 -47
  16. package/dist/{chunk-GKHUSZCD.js → chunk-EP2TNALB.js} +2 -2
  17. package/dist/{chunk-SLTYVHU7.js → chunk-GUQ3QCJ7.js} +942 -519
  18. package/dist/chunk-I3DPMTSF.js +29 -0
  19. package/dist/{chunk-L2VOGB2X.js → chunk-IW2UKBVF.js} +3 -3
  20. package/dist/{chunk-VDMQJHPI.js → chunk-IXM5245F.js} +228 -13
  21. package/dist/{chunk-MZ2WEHHY.js → chunk-JIMUYEKN.js} +4 -4
  22. package/dist/chunk-OGY63DGD.js +705 -0
  23. package/dist/{chunk-O6ZZF52V.js → chunk-ONKEYSMY.js} +2 -2
  24. package/dist/{chunk-6APULWSU.js → chunk-OTLSJYAC.js} +1744 -118
  25. package/dist/{chunk-EI575GHN.js → chunk-PDW4L3NV.js} +3 -3
  26. package/dist/{chunk-5NYUCONN.js → chunk-PSZSKEPA.js} +33 -51
  27. package/dist/{chunk-KI2EY3WB.js → chunk-PXKCZB2I.js} +1 -1
  28. package/dist/{chunk-FXTBHTWY.js → chunk-QEH4QUBX.js} +649 -85
  29. package/dist/{chunk-6APIPIJY.js → chunk-QWHBRY2K.js} +5 -5
  30. package/dist/{chunk-6B5YCFFV.js → chunk-RVER2EOO.js} +5 -5
  31. package/dist/{chunk-Q2CIRAOK.js → chunk-RXQBD4ZY.js} +1 -1
  32. package/dist/{chunk-TGIINPVM.js → chunk-TWJCLD4W.js} +60 -10
  33. package/dist/{chunk-4Z5QO7N6.js → chunk-VDDMADOF.js} +3 -3
  34. package/dist/{chunk-BBHX7T4R.js → chunk-VE2YOK4I.js} +991 -254
  35. package/dist/{chunk-2D3I5G6P.js → chunk-VZ2ZHPS2.js} +73 -43
  36. package/dist/{chunk-AVIB7CT7.js → chunk-WNWQBB7F.js} +2 -2
  37. package/dist/{chunk-FRNAR33O.js → chunk-XZYFZ6A5.js} +3 -3
  38. package/dist/{chunk-RPHRPFEH.js → chunk-ZCFVHA25.js} +1 -1
  39. package/dist/{chunk-FPRHYBY2.js → chunk-ZFJXPCQP.js} +1 -1
  40. package/dist/{chunk-JYGD5WSN.js → chunk-ZWLDLTJP.js} +1 -1
  41. package/dist/cloud-E5M6VMCG.js +31 -0
  42. package/dist/{cloud-7QYOGF7F.js → cloud-KRTZ2IL5.js} +3 -3
  43. package/dist/{detect-AZLOHUFX.js → detect-ALF4GXRX.js} +7 -8
  44. package/dist/{dist-IQJ6H6UZ.js → dist-BM6NPWIH.js} +3 -3
  45. package/dist/{dist-es-X3B5QYKB.js → dist-es-2YRDXMUU.js} +6 -6
  46. package/dist/{dist-es-OSNJBLXB.js → dist-es-CCVZEFRZ.js} +5 -5
  47. package/dist/{dist-es-VNKHQVIB.js → dist-es-IOH6G4GM.js} +4 -4
  48. package/dist/{dist-es-RYHIPOTN.js → dist-es-JGBPABJI.js} +14 -14
  49. package/dist/{dist-es-JSTDUS7Q.js → dist-es-KWSMDPIP.js} +6 -6
  50. package/dist/{dist-es-5DY7K32L.js → dist-es-UYDDOVZ3.js} +6 -6
  51. package/dist/{dist-es-WV4AMOII.js → dist-es-XUOR4NQN.js} +8 -8
  52. package/dist/docker-QECQJ5P4.js +32 -0
  53. package/dist/docker-edge-executor-62N64MGS.js +17 -0
  54. package/dist/edge-import-CQWHN2Q3.js +48 -0
  55. package/dist/ensure-container-edge-MJVXJQG5.js +32 -0
  56. package/dist/{event-streams-EHRAKL75.js → event-streams-TR4GAC53.js} +4 -4
  57. package/dist/{executor-XJ6RP4Q2.js → executor-JELARVKC.js} +8 -8
  58. package/dist/index.js +1209 -560
  59. package/dist/{loadSso-46FQRIZS.js → loadSso-UGF4JMRK.js} +10 -10
  60. package/dist/{local-executor-V7U5VOZW.js → local-executor-WOFZD72X.js} +4 -4
  61. package/dist/nginx-AXGNWRKZ.js +31 -0
  62. package/dist/node-entry.js +4 -0
  63. package/dist/{noop-FMMFG2EZ.js → noop-NJ72F46T.js} +3 -3
  64. package/dist/openresty-lua-IE4P5YQX.js +81 -0
  65. package/dist/server/index.js +116248 -94749
  66. package/dist/server/lua/geo_country.lua +31 -6
  67. package/dist/server/lua/maxminddb.lua +403 -0
  68. package/dist/server/lua/mgmt_api.lua +431 -68
  69. package/dist/server/lua/pipe_log.lua +10 -4
  70. package/dist/server/lua/site_logger.lua +220 -12
  71. package/dist/server/migrations/0073_project_volumes_object_storage.sql +3 -0
  72. package/dist/server/migrations/0074_project_compose_path.sql +1 -0
  73. package/dist/server/migrations/0075_service_command_argv.sql +1 -0
  74. package/dist/server/migrations/0076_rollback_retention.sql +17 -0
  75. package/dist/server/migrations/0077_domain_redirect.sql +13 -0
  76. package/dist/server/migrations/0078_grant_source_scope.sql +30 -0
  77. package/dist/server/migrations/0079_project_readiness.sql +18 -0
  78. package/dist/server/migrations/0080_deployment_error_classification.sql +26 -0
  79. package/dist/server/migrations/0081_project_readiness_repair.sql +34 -0
  80. package/dist/server/migrations/0082_edge_target_verification.sql +39 -0
  81. package/dist/server/migrations/0083_service_incident.sql +84 -0
  82. package/dist/server/migrations/0084_analytics_daily_rollup.sql +72 -0
  83. package/dist/server/migrations/0085_resource_usage.sql +68 -0
  84. package/dist/server/migrations/0086_remote_infra_updates.sql +41 -0
  85. package/dist/server/migrations/0087_server_container_version_columns.sql +17 -0
  86. package/dist/server/migrations/0088_audit_source_and_settings.sql +27 -0
  87. package/dist/server/migrations/0089_auto_scan_infra.sql +7 -0
  88. package/dist/server/migrations/0090_project_collect_paths.sql +18 -0
  89. package/dist/server/migrations/0091_project_server_id.sql +26 -0
  90. package/dist/server/migrations/0092_project_internal_alias.sql +13 -0
  91. package/dist/server/migrations/0093_service_incident_org_index.sql +13 -0
  92. package/dist/server/migrations/0094_backup_restore_meta.sql +15 -0
  93. package/dist/server/migrations/0095_backup_restore_cancel.sql +19 -0
  94. package/dist/server/migrations/0096_backup_policy_retention_defaults.sql +20 -0
  95. package/dist/server/migrations/0097_update_status_upstream_only.sql +35 -0
  96. package/dist/server/migrations/meta/_journal.json +175 -0
  97. package/dist/setup-FA4PW4NU.js +21 -0
  98. package/dist/{signin-ITOPKKUB.js → signin-3M3UPB6K.js} +10 -10
  99. package/dist/{sso-oidc-NON2PD7Y.js → sso-oidc-3VDIYOEJ.js} +10 -10
  100. package/dist/{sts-HHFFSAY2.js → sts-B3WIYLXR.js} +9 -9
  101. package/package.json +6 -3
  102. package/dist/bare-JY5Y5ELU.js +0 -23
  103. package/dist/chunk-SJIFLLX4.js +0 -2931
  104. package/dist/chunk-VFINNTUL.js +0 -362
  105. package/dist/cloud-KYWY3RP4.js +0 -30
  106. package/dist/docker-LODK5Y2S.js +0 -16
  107. package/dist/docker-edge-executor-VHW3JPJS.js +0 -13
  108. package/dist/edge-import-ABUDKKJI.js +0 -45
  109. package/dist/ensure-container-edge-SW6HENSG.js +0 -31
  110. package/dist/nginx-3L4SIBJA.js +0 -24
  111. package/dist/openresty-lua-4WLGDSER.js +0 -42
  112. package/dist/setup-NU6T2PDU.js +0 -20
@@ -1,17 +1,15 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
6
6
  describeProcess,
7
- probeListeningPort
8
- } from "./chunk-ILFETZOM.js";
9
- import {
10
- OPENRESTY_LUA_DIR
11
- } from "./chunk-VFINNTUL.js";
7
+ probeListeningPort,
8
+ waitForPortFree
9
+ } from "./chunk-3LDWWY7U.js";
12
10
  import {
13
11
  AppError
14
- } from "./chunk-6APULWSU.js";
12
+ } from "./chunk-OTLSJYAC.js";
15
13
 
16
14
  // ../../packages/adapters/src/system/proxy/detect.ts
17
15
  var EDGE_PORTS = [80, 443];
@@ -65,7 +63,21 @@ function vhostLog(message, level = "info") {
65
63
  async function sanitizeEdgeVhosts(executor, sitesDir, onLog) {
66
64
  const script = [
67
65
  `for f in ${sq(sitesDir)}/*.conf; do`,
68
- ` [ -f "$f" ] || continue;`,
66
+ // A host-side vhost may be a symlink into /etc/nginx/sites-available. That
67
+ // target is deliberately not mounted in the edge container, so leaving the
68
+ // link here makes nginx's include glob fail at startup. Materialize valid
69
+ // links before the container mounts this directory; remove dangling ones.
70
+ ` [ -e "$f" ] || [ -L "$f" ] || continue;`,
71
+ ` if [ -L "$f" ]; then`,
72
+ ` if [ ! -e "$f" ]; then`,
73
+ ` echo "dropped-dangling-link $f"; rm -f "$f"; continue;`,
74
+ ` fi;`,
75
+ ` if cat "$f" > "$f.osh-link"; then`,
76
+ ` rm -f "$f"; mv "$f.osh-link" "$f"; echo "materialized-link $f";`,
77
+ ` else`,
78
+ ` rm -f "$f.osh-link"; echo "dropped-unreadable-link $f"; rm -f "$f"; continue;`,
79
+ ` fi;`,
80
+ ` fi;`,
69
81
  // A real server_name is anything that isn't the `_` wildcard.
70
82
  ` if ! grep -qE '^[[:space:]]*server_name[[:space:]]+[^_;[:space:]]' "$f"; then`,
71
83
  ` echo "dropped-catchall $f"; rm -f "$f"; continue;`,
@@ -82,22 +94,25 @@ async function sanitizeEdgeVhosts(executor, sitesDir, onLog) {
82
94
  onLog(vhostLog(`Dropped catch-all vhost ${file} \u2014 the edge image provides it.`, "warn"));
83
95
  } else if (action === "unset-default") {
84
96
  onLog(vhostLog(`Removed default_server from ${file} \u2014 the edge image owns it.`, "warn"));
97
+ } else if (action === "materialized-link") {
98
+ onLog(vhostLog(`Materialized linked edge vhost ${file} for the container mount.`, "warn"));
99
+ } else if (action === "dropped-dangling-link") {
100
+ onLog(vhostLog(`Dropped dangling edge vhost link ${file}.`, "warn"));
101
+ } else if (action === "dropped-unreadable-link") {
102
+ onLog(vhostLog(`Dropped unreadable edge vhost link ${file}.`, "warn"));
85
103
  }
86
104
  }
87
105
  }
88
- async function edgeIsBroken(executor) {
106
+ async function edgeIsBroken(executor, container = EDGE_CONTAINER_NAME) {
89
107
  const status = await tryExec(
90
108
  executor,
91
- `docker inspect -f '{{.State.Status}}' ${sq(EDGE_CONTAINER_NAME)} 2>/dev/null`
109
+ `docker inspect -f '{{.State.Status}}' ${sq(container)} 2>/dev/null`
92
110
  );
93
111
  const state = (status ?? "").trim();
94
112
  return state === "restarting" || state === "exited" || state === "dead";
95
113
  }
96
- async function edgeCrashReason(executor) {
97
- const logs = await tryExec(
98
- executor,
99
- `docker logs --tail 40 ${sq(EDGE_CONTAINER_NAME)} 2>&1`
100
- );
114
+ async function edgeCrashReason(executor, container = EDGE_CONTAINER_NAME) {
115
+ const logs = await tryExec(executor, `docker logs --tail 40 ${sq(container)} 2>&1`);
101
116
  return logs ? edgeFailureReason(logs) : null;
102
117
  }
103
118
  function edgeFailureReason(containerLog) {
@@ -132,6 +147,22 @@ async function resolveOurEdgeContainer(executor, opts) {
132
147
  });
133
148
  return resolved;
134
149
  }
150
+ async function detectEdgeContainer(executor) {
151
+ const out = await tryExec(
152
+ executor,
153
+ `docker ps -a --format '{{.Names}} {{.Image}} {{.State}}' 2>/dev/null`
154
+ );
155
+ if (out === null) return null;
156
+ const absent = { name: null, running: false, image: null, exists: false };
157
+ for (const line of out.split("\n").map((l) => l.trim()).filter(Boolean)) {
158
+ const [name, image, state] = line.split(" ");
159
+ if (!name) continue;
160
+ if (name === EDGE_CONTAINER_NAME || isOurEdgeContainer(name, image)) {
161
+ return { name, image: image || null, running: state === "running", exists: true };
162
+ }
163
+ }
164
+ return absent;
165
+ }
135
166
  async function probeOurEdgeContainer(executor) {
136
167
  const byName = await tryExec(
137
168
  executor,
@@ -146,13 +177,6 @@ async function probeOurEdgeContainer(executor) {
146
177
  }
147
178
  return null;
148
179
  }
149
- async function ourLuaOnHost(executor) {
150
- const lua = await tryExec(
151
- executor,
152
- `test -f ${OPENRESTY_LUA_DIR}/site_logger.lua && echo ok`
153
- );
154
- return Boolean(lua && lua.includes("ok"));
155
- }
156
180
  async function detectDockerOnPort(executor, port) {
157
181
  const out = await tryExec(
158
182
  executor,
@@ -164,15 +188,6 @@ async function detectDockerOnPort(executor, port) {
164
188
  if (!name) return null;
165
189
  return { name, image: image ?? "" };
166
190
  }
167
- async function listenerIsOurOpenResty(executor, listener) {
168
- if (!listener) return false;
169
- if (/openresty/i.test(`${listener.rawCommand ?? ""} ${listener.command ?? ""}`)) return true;
170
- if (listener.pid) {
171
- const exe = await tryExec(executor, `readlink -f /proc/${listener.pid}/exe 2>/dev/null || true`);
172
- if (exe && /openresty/i.test(exe)) return true;
173
- }
174
- return false;
175
- }
176
191
  var WORKER_RE = /\b(?:nginx|openresty)\s*:\s*worker process/i;
177
192
  var MASTER_RE = /\b(?:nginx|openresty)\s*:\s*master process/i;
178
193
  async function resolveProxyMaster(executor, listener) {
@@ -204,7 +219,7 @@ async function probeEdgePort(executor, port, ours) {
204
219
  ].filter(Boolean).join(" ")
205
220
  );
206
221
  const foreignDockerProxy = Boolean(docker) && !isOurEdgeContainer(docker?.name, docker?.image);
207
- const managedByOpenship = isOurEdgeContainer(docker?.name, docker?.image) || ours.containerRunning && !foreignDockerProxy || !docker && ours.luaOnHost && await listenerIsOurOpenResty(executor, listener);
222
+ const managedByOpenship = isOurEdgeContainer(docker?.name, docker?.image) || ours.containerRunning && !foreignDockerProxy;
208
223
  return {
209
224
  port,
210
225
  pid: listener?.pid ?? void 0,
@@ -219,18 +234,18 @@ async function probeEdgePort(executor, port, ours) {
219
234
  };
220
235
  }
221
236
  async function probeEdge(executor) {
222
- const containerRunning = await ourEdgeContainerRunning(executor);
223
- const luaOnHost = await ourLuaOnHost(executor);
224
- const all = [];
237
+ const container = await resolveOurEdgeContainer(executor);
238
+ const containerRunning = Boolean(container) && !await edgeIsBroken(executor, container);
239
+ const occupants = [];
225
240
  for (const port of EDGE_PORTS) {
226
- const occ = await probeEdgePort(executor, port, { containerRunning, luaOnHost });
227
- if (occ) all.push(occ);
241
+ const occ = await probeEdgePort(executor, port, { containerRunning });
242
+ if (occ) occupants.push(occ);
228
243
  }
229
- const foreign = all.filter((o) => !o.managedByOpenship);
244
+ const foreign = occupants.filter((o) => !o.managedByOpenship);
230
245
  let classification;
231
- if (all.length === 0) classification = "free";
246
+ if (occupants.length === 0) classification = "free";
232
247
  else if (foreign.length === 0) classification = "ours";
233
- else if (foreign.every((o) => o.proxy && o.proxy !== "openresty")) classification = "known";
248
+ else if (foreign.every((o) => o.proxy)) classification = "known";
234
249
  else classification = "unknown";
235
250
  return {
236
251
  classification,
@@ -257,7 +272,7 @@ function stopTargetsForStatus(status) {
257
272
  }
258
273
  return out;
259
274
  }
260
- async function freeEdgeTargets(executor, targets, onLog) {
275
+ async function freeEdgeTargets(executor, targets, onLog, opts = {}) {
261
276
  for (const t of targets) {
262
277
  const where = t.port ? ` (port ${t.port})` : "";
263
278
  if (t.container) {
@@ -277,7 +292,22 @@ async function freeEdgeTargets(executor, targets, onLog) {
277
292
  await tryExec(executor, `kill -9 ${t.pid} 2>/dev/null || true`);
278
293
  }
279
294
  }
280
- await new Promise((r) => setTimeout(r, 1e3));
295
+ const named = [...new Set(targets.map((t) => t.port).filter((p) => typeof p === "number"))];
296
+ const stillBound = [];
297
+ for (const port of named.length ? named : [...EDGE_PORTS]) {
298
+ const { free, checked } = await waitForPortFree(executor, port, {
299
+ ...opts.timeoutMs === void 0 ? {} : { timeoutMs: opts.timeoutMs }
300
+ });
301
+ if (!checked) {
302
+ onLog(`Couldn't confirm port ${port} was released (socket table unreadable) \u2014 continuing.`, "warn");
303
+ continue;
304
+ }
305
+ if (!free) {
306
+ stillBound.push(port);
307
+ onLog(`Port ${port} is STILL bound after stopping its owner.`, "error");
308
+ }
309
+ }
310
+ return { freed: stillBound.length === 0, stillBound };
281
311
  }
282
312
 
283
313
  export {
@@ -294,7 +324,7 @@ export {
294
324
  ourEdgeContainerRunning,
295
325
  invalidateEdgeContainer,
296
326
  resolveOurEdgeContainer,
297
- ourLuaOnHost,
327
+ detectEdgeContainer,
298
328
  probeEdge,
299
329
  stopTargetsForStatus,
300
330
  freeEdgeTargets
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
6
6
  __commonJS,
7
7
  __require,
8
8
  __toESM
9
- } from "./chunk-KI2EY3WB.js";
9
+ } from "./chunk-PXKCZB2I.js";
10
10
 
11
11
  // ../../node_modules/ws/lib/constants.js
12
12
  var require_constants = __commonJS({
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
6
6
  setCredentialFeature
7
- } from "./chunk-VWPEKOH6.js";
7
+ } from "./chunk-DRK3MEDS.js";
8
8
  import {
9
9
  CredentialsProviderError
10
- } from "./chunk-W73X43R7.js";
10
+ } from "./chunk-3NQQXMDR.js";
11
11
 
12
12
  // ../../node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js
13
13
  var ENV_KEY = "AWS_ACCESS_KEY_ID";
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
 
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
 
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
 
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env sh
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
+ import { createRequire as __ospCreateRequire } from "node:module";
4
+ const require = __ospCreateRequire(import.meta.url);
5
+ import {
6
+ CloudRuntime,
7
+ PAGE_CONTAINER_PREFIX,
8
+ provisionCloudWorkspace
9
+ } from "./chunk-PSZSKEPA.js";
10
+ import "./chunk-GUQ3QCJ7.js";
11
+ import "./chunk-EMXI4UCU.js";
12
+ import "./chunk-JIMUYEKN.js";
13
+ import "./chunk-IW2UKBVF.js";
14
+ import "./chunk-VDDMADOF.js";
15
+ import "./chunk-B3CE2OMR.js";
16
+ import "./chunk-6ODUBKUB.js";
17
+ import "./chunk-ZCFVHA25.js";
18
+ import "./chunk-6FH4AXVY.js";
19
+ import "./chunk-QEH4QUBX.js";
20
+ import "./chunk-I3DPMTSF.js";
21
+ import "./chunk-VZ2ZHPS2.js";
22
+ import "./chunk-3LDWWY7U.js";
23
+ import "./chunk-OGY63DGD.js";
24
+ import "./chunk-ZFJXPCQP.js";
25
+ import "./chunk-OTLSJYAC.js";
26
+ import "./chunk-PXKCZB2I.js";
27
+ export {
28
+ CloudRuntime,
29
+ PAGE_CONTAINER_PREFIX,
30
+ provisionCloudWorkspace
31
+ };
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
6
6
  CloudInfraProvider
7
- } from "./chunk-5MZ624VX.js";
8
- import "./chunk-KI2EY3WB.js";
7
+ } from "./chunk-2GWYYHOR.js";
8
+ import "./chunk-PXKCZB2I.js";
9
9
  export {
10
10
  CloudInfraProvider
11
11
  };
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
@@ -7,6 +7,7 @@ import {
7
7
  EdgeConflictError,
8
8
  EdgeMigrateRequested,
9
9
  classifyProxy,
10
+ detectEdgeContainer,
10
11
  edgeCrashReason,
11
12
  edgeFailureReason,
12
13
  edgeIsBroken,
@@ -14,22 +15,21 @@ import {
14
15
  invalidateEdgeContainer,
15
16
  isOurEdgeContainer,
16
17
  ourEdgeContainerRunning,
17
- ourLuaOnHost,
18
18
  probeEdge,
19
19
  resolveOurEdgeContainer,
20
20
  sanitizeEdgeVhosts,
21
21
  sq,
22
22
  stopTargetsForStatus
23
- } from "./chunk-2D3I5G6P.js";
24
- import "./chunk-ILFETZOM.js";
25
- import "./chunk-VFINNTUL.js";
26
- import "./chunk-6APULWSU.js";
27
- import "./chunk-KI2EY3WB.js";
23
+ } from "./chunk-VZ2ZHPS2.js";
24
+ import "./chunk-3LDWWY7U.js";
25
+ import "./chunk-OTLSJYAC.js";
26
+ import "./chunk-PXKCZB2I.js";
28
27
  export {
29
28
  EDGE_CONTAINER_NAME,
30
29
  EdgeConflictError,
31
30
  EdgeMigrateRequested,
32
31
  classifyProxy,
32
+ detectEdgeContainer,
33
33
  edgeCrashReason,
34
34
  edgeFailureReason,
35
35
  edgeIsBroken,
@@ -37,7 +37,6 @@ export {
37
37
  invalidateEdgeContainer,
38
38
  isOurEdgeContainer,
39
39
  ourEdgeContainerRunning,
40
- ourLuaOnHost,
41
40
  probeEdge,
42
41
  resolveOurEdgeContainer,
43
42
  sanitizeEdgeVhosts,
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
@@ -32,8 +32,8 @@ import {
32
32
  createStaticHandler,
33
33
  createStaticServer,
34
34
  startStaticServer
35
- } from "./chunk-AVIB7CT7.js";
36
- import "./chunk-KI2EY3WB.js";
35
+ } from "./chunk-WNWQBB7F.js";
36
+ import "./chunk-PXKCZB2I.js";
37
37
  export {
38
38
  Analytics,
39
39
  AuthenticationError,
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
6
6
  setCredentialFeature
7
- } from "./chunk-VWPEKOH6.js";
7
+ } from "./chunk-DRK3MEDS.js";
8
8
  import {
9
9
  CredentialsProviderError,
10
10
  externalDataInterceptor
11
- } from "./chunk-W73X43R7.js";
12
- import "./chunk-JYGD5WSN.js";
13
- import "./chunk-KI2EY3WB.js";
11
+ } from "./chunk-3NQQXMDR.js";
12
+ import "./chunk-ZWLDLTJP.js";
13
+ import "./chunk-PXKCZB2I.js";
14
14
 
15
15
  // ../../node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromTokenFile.js
16
16
  import { readFileSync } from "fs";
@@ -21,7 +21,7 @@ var fromWebToken = (init) => async (awsIdentityProperties) => {
21
21
  const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init;
22
22
  let { roleAssumerWithWebIdentity } = init;
23
23
  if (!roleAssumerWithWebIdentity) {
24
- const { getDefaultRoleAssumerWithWebIdentity } = await import("./sts-HHFFSAY2.js");
24
+ const { getDefaultRoleAssumerWithWebIdentity } = await import("./sts-B3WIYLXR.js");
25
25
  roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity({
26
26
  ...init.clientConfig,
27
27
  credentialProviderLogger: init.logger,
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
6
6
  setCredentialFeature
7
- } from "./chunk-VWPEKOH6.js";
7
+ } from "./chunk-DRK3MEDS.js";
8
8
  import {
9
9
  CredentialsProviderError,
10
10
  externalDataInterceptor,
11
11
  getProfileName,
12
12
  parseKnownFiles
13
- } from "./chunk-W73X43R7.js";
14
- import "./chunk-JYGD5WSN.js";
15
- import "./chunk-KI2EY3WB.js";
13
+ } from "./chunk-3NQQXMDR.js";
14
+ import "./chunk-ZWLDLTJP.js";
15
+ import "./chunk-PXKCZB2I.js";
16
16
 
17
17
  // ../../node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js
18
18
  import { exec } from "child_process";
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
@@ -7,9 +7,9 @@ import {
7
7
  ProviderError,
8
8
  loadConfig,
9
9
  parseUrl
10
- } from "./chunk-W73X43R7.js";
11
- import "./chunk-JYGD5WSN.js";
12
- import "./chunk-KI2EY3WB.js";
10
+ } from "./chunk-3NQQXMDR.js";
11
+ import "./chunk-ZWLDLTJP.js";
12
+ import "./chunk-PXKCZB2I.js";
13
13
 
14
14
  // ../../node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/ImdsCredentials.js
15
15
  var isImdsCredentials = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.AccessKeyId === "string" && typeof arg.SecretAccessKey === "string" && typeof arg.Token === "string" && typeof arg.Expiration === "string";
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
6
6
  setCredentialFeature
7
- } from "./chunk-VWPEKOH6.js";
7
+ } from "./chunk-DRK3MEDS.js";
8
8
  import {
9
9
  CredentialsProviderError,
10
10
  HttpRequest,
@@ -12,27 +12,27 @@ import {
12
12
  getProfileName,
13
13
  parseKnownFiles,
14
14
  readFile
15
- } from "./chunk-W73X43R7.js";
16
- import "./chunk-JYGD5WSN.js";
17
- import "./chunk-KI2EY3WB.js";
15
+ } from "./chunk-3NQQXMDR.js";
16
+ import "./chunk-ZWLDLTJP.js";
17
+ import "./chunk-PXKCZB2I.js";
18
18
 
19
19
  // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveCredentialSource.js
20
20
  var resolveCredentialSource = (credentialSource, profileName, logger) => {
21
21
  const sourceProvidersMap = {
22
22
  EcsContainer: async (options) => {
23
- const { fromHttp } = await import("./dist-es-5DY7K32L.js");
24
- const { fromContainerMetadata } = await import("./dist-es-VNKHQVIB.js");
23
+ const { fromHttp } = await import("./dist-es-UYDDOVZ3.js");
24
+ const { fromContainerMetadata } = await import("./dist-es-IOH6G4GM.js");
25
25
  logger?.debug("@aws-sdk/credential-provider-ini - credential_source is EcsContainer");
26
26
  return async () => chain(fromHttp(options ?? {}), fromContainerMetadata(options))().then(setNamedProvider);
27
27
  },
28
28
  Ec2InstanceMetadata: async (options) => {
29
29
  logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata");
30
- const { fromInstanceMetadata } = await import("./dist-es-VNKHQVIB.js");
30
+ const { fromInstanceMetadata } = await import("./dist-es-IOH6G4GM.js");
31
31
  return async () => fromInstanceMetadata(options)().then(setNamedProvider);
32
32
  },
33
33
  Environment: async (options) => {
34
34
  logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Environment");
35
- const { fromEnv } = await import("./dist-es-JSTDUS7Q.js");
35
+ const { fromEnv } = await import("./dist-es-KWSMDPIP.js");
36
36
  return async () => fromEnv(options)().then(setNamedProvider);
37
37
  }
38
38
  };
@@ -67,7 +67,7 @@ var resolveAssumeRoleCredentials = async (profileName, profiles, options, caller
67
67
  const profileData = profiles[profileName];
68
68
  const { source_profile, region } = profileData;
69
69
  if (!options.roleAssumer) {
70
- const { getDefaultRoleAssumer } = await import("./sts-HHFFSAY2.js");
70
+ const { getDefaultRoleAssumer } = await import("./sts-B3WIYLXR.js");
71
71
  options.roleAssumer = getDefaultRoleAssumer({
72
72
  ...options.clientConfig,
73
73
  credentialProviderLogger: options.logger,
@@ -153,7 +153,7 @@ var LoginCredentialsFetcher = class _LoginCredentialsFetcher {
153
153
  return this.profileData.login_session;
154
154
  }
155
155
  async refresh(token) {
156
- const { SigninClient, CreateOAuth2TokenCommand } = await import("./signin-ITOPKKUB.js");
156
+ const { SigninClient, CreateOAuth2TokenCommand } = await import("./signin-3M3UPB6K.js");
157
157
  const { logger, userAgentAppId } = this.callerClientConfig ?? {};
158
158
  const isH2 = (requestHandler2) => {
159
159
  return requestHandler2?.metadata?.handlerProtocol === "h2";
@@ -396,14 +396,14 @@ var resolveLoginCredentials = async (profileName, options, callerClientConfig) =
396
396
 
397
397
  // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProcessCredentials.js
398
398
  var isProcessProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string";
399
- var resolveProcessCredentials = async (options, profile) => import("./dist-es-OSNJBLXB.js").then(({ fromProcess }) => fromProcess({
399
+ var resolveProcessCredentials = async (options, profile) => import("./dist-es-CCVZEFRZ.js").then(({ fromProcess }) => fromProcess({
400
400
  ...options,
401
401
  profile
402
402
  })().then((creds) => setCredentialFeature(creds, "CREDENTIALS_PROFILE_PROCESS", "v")));
403
403
 
404
404
  // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveSsoCredentials.js
405
405
  var resolveSsoCredentials = async (profile, profileData, options = {}, callerClientConfig) => {
406
- const { fromSSO } = await import("./dist-es-WV4AMOII.js");
406
+ const { fromSSO } = await import("./dist-es-XUOR4NQN.js");
407
407
  return fromSSO({
408
408
  profile,
409
409
  logger: options.logger,
@@ -437,7 +437,7 @@ var resolveStaticCredentials = async (profile, options) => {
437
437
 
438
438
  // ../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveWebIdentityCredentials.js
439
439
  var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1;
440
- var resolveWebIdentityCredentials = async (profile, options, callerClientConfig) => import("./dist-es-X3B5QYKB.js").then(({ fromTokenFile }) => fromTokenFile({
440
+ var resolveWebIdentityCredentials = async (profile, options, callerClientConfig) => import("./dist-es-2YRDXMUU.js").then(({ fromTokenFile }) => fromTokenFile({
441
441
  webIdentityTokenFile: profile.web_identity_token_file,
442
442
  roleArn: profile.role_arn,
443
443
  roleSessionName: profile.role_session_name,
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
@@ -10,11 +10,11 @@ import {
10
10
  ENV_SECRET,
11
11
  ENV_SESSION,
12
12
  fromEnv
13
- } from "./chunk-FRNAR33O.js";
14
- import "./chunk-VWPEKOH6.js";
15
- import "./chunk-W73X43R7.js";
16
- import "./chunk-JYGD5WSN.js";
17
- import "./chunk-KI2EY3WB.js";
13
+ } from "./chunk-XZYFZ6A5.js";
14
+ import "./chunk-DRK3MEDS.js";
15
+ import "./chunk-3NQQXMDR.js";
16
+ import "./chunk-ZWLDLTJP.js";
17
+ import "./chunk-PXKCZB2I.js";
18
18
  export {
19
19
  ENV_ACCOUNT_ID,
20
20
  ENV_CREDENTIAL_SCOPE,
@@ -1,22 +1,22 @@
1
1
  #!/usr/bin/env sh
2
- ":" //# ; exec "$(command -v bun || command -v node)" "$0" "$@"
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
3
  import { createRequire as __ospCreateRequire } from "node:module";
4
4
  const require = __ospCreateRequire(import.meta.url);
5
5
  import {
6
6
  NodeHttpHandler
7
- } from "./chunk-OWED2GRM.js";
7
+ } from "./chunk-42WQABXM.js";
8
8
  import {
9
9
  setCredentialFeature
10
- } from "./chunk-VWPEKOH6.js";
10
+ } from "./chunk-DRK3MEDS.js";
11
11
  import {
12
12
  CredentialsProviderError,
13
13
  HttpRequest
14
- } from "./chunk-W73X43R7.js";
14
+ } from "./chunk-3NQQXMDR.js";
15
15
  import {
16
16
  parseRfc3339DateTime,
17
17
  sdkStreamMixin
18
- } from "./chunk-JYGD5WSN.js";
19
- import "./chunk-KI2EY3WB.js";
18
+ } from "./chunk-ZWLDLTJP.js";
19
+ import "./chunk-PXKCZB2I.js";
20
20
 
21
21
  // ../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js
22
22
  import fs from "fs/promises";