@guanjinke/artifact-client 1.6.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +3 -3
  2. package/dist/environment/builder.d.ts.map +1 -1
  3. package/dist/environment/builder.js +5 -3
  4. package/dist/environment/builder.js.map +1 -1
  5. package/dist/environment/config.d.ts +1 -1
  6. package/dist/environment/config.d.ts.map +1 -1
  7. package/dist/environment/config.js +4 -4
  8. package/dist/environment/config.js.map +1 -1
  9. package/dist/environment/manager.d.ts.map +1 -1
  10. package/dist/environment/manager.js +2 -3
  11. package/dist/environment/manager.js.map +1 -1
  12. package/dist/environment/plan.d.ts +1 -1
  13. package/dist/environment/plan.d.ts.map +1 -1
  14. package/dist/environment/plan.js +19 -7
  15. package/dist/environment/plan.js.map +1 -1
  16. package/dist/environment/posix-process.d.ts +71 -0
  17. package/dist/environment/posix-process.d.ts.map +1 -0
  18. package/dist/environment/posix-process.js +393 -0
  19. package/dist/environment/posix-process.js.map +1 -0
  20. package/dist/environment/process.d.ts +3 -1
  21. package/dist/environment/process.d.ts.map +1 -1
  22. package/dist/environment/process.js +5 -2
  23. package/dist/environment/process.js.map +1 -1
  24. package/dist/environment/registry.d.ts.map +1 -1
  25. package/dist/environment/registry.js +2 -1
  26. package/dist/environment/registry.js.map +1 -1
  27. package/dist/environment/root.d.ts +24 -6
  28. package/dist/environment/root.d.ts.map +1 -1
  29. package/dist/environment/root.js +78 -24
  30. package/dist/environment/root.js.map +1 -1
  31. package/dist/environment/update.d.ts +1 -1
  32. package/dist/environment/update.d.ts.map +1 -1
  33. package/dist/environment/update.js +29 -26
  34. package/dist/environment/update.js.map +1 -1
  35. package/dist/environment/validate.d.ts.map +1 -1
  36. package/dist/environment/validate.js +5 -1
  37. package/dist/environment/validate.js.map +1 -1
  38. package/dist/index.d.ts +2 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +7 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/utils/atomic.d.ts +10 -0
  43. package/dist/utils/atomic.d.ts.map +1 -0
  44. package/dist/utils/atomic.js +65 -0
  45. package/dist/utils/atomic.js.map +1 -0
  46. package/dist/utils/local-path.d.ts +14 -0
  47. package/dist/utils/local-path.d.ts.map +1 -1
  48. package/dist/utils/local-path.js +25 -0
  49. package/dist/utils/local-path.js.map +1 -1
  50. package/dist/web/api.d.ts +5 -0
  51. package/dist/web/api.d.ts.map +1 -1
  52. package/dist/web/api.js +63 -0
  53. package/dist/web/api.js.map +1 -1
  54. package/dist/web/providers.d.ts +6 -3
  55. package/dist/web/providers.d.ts.map +1 -1
  56. package/dist/web/providers.js +94 -3
  57. package/dist/web/providers.js.map +1 -1
  58. package/dist/web/server.d.ts +2 -0
  59. package/dist/web/server.d.ts.map +1 -1
  60. package/dist/web/server.js +14 -0
  61. package/dist/web/server.js.map +1 -1
  62. package/dist/web/static/app.js +11 -11
  63. package/dist/web/static/styles.css +70 -0
  64. package/dist/web/types.d.ts +31 -1
  65. package/dist/web/types.d.ts.map +1 -1
  66. package/package.json +1 -1
@@ -83,12 +83,16 @@ async function validateEnvironmentOwnership(entry, configDirectory = (0, config_
83
83
  * the canonical `conf` directory.
84
84
  */
85
85
  async function validateEnvironmentTree(root) {
86
+ const canonicalConf = await fs.realpath(path.join(root, 'conf')).catch(() => path.join(root, 'conf'));
86
87
  const visit = async (directory) => {
87
88
  for (const name of await fs.readdir(directory)) {
88
89
  const target = path.join(directory, name);
89
90
  const stat = await fs.lstat(target);
90
91
  if (stat.isSymbolicLink()) {
91
- if (target !== path.join(root, 'Monitor', 'conf') || path.resolve(await fs.realpath(target)).toLowerCase() !== path.join(root, 'conf').toLowerCase())
92
+ // `realpath` compares the on-disk spelling, so this stays correct on a
93
+ // case-sensitive filesystem instead of lowercasing both sides.
94
+ const resolved = await fs.realpath(target).catch(() => target);
95
+ if (target !== path.join(root, 'Monitor', 'conf') || resolved !== canonicalConf)
92
96
  throw new Error(`Unexpected environment link: ${target}.`);
93
97
  }
94
98
  else if (stat.isDirectory())
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/environment/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/environment/validate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,0DAGC;AAMD,oEASC;AAOD,0DAeC;AAUD,kDA0BC;AA/FD,gDAAkC;AAClC,2CAA6B;AAC7B,0DAAqD;AAErD,iCAAqD;AACrD,uCAA+F;AAE/F,kFAAkF;AACrE,QAAA,aAAa,GAAG,uBAAuB,CAAC;AAErD,6EAA6E;AACtE,MAAM,cAAc,GAAG,CAAC,KAAsC,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AAAvH,QAAA,cAAc,kBAAyG;AAEpI;;;;;GAKG;AACI,KAAK,UAAU,uBAAuB,CAAC,KAAsC,EAAE,kBAA0B,IAAA,6BAAY,GAAE;IAC5H,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC5G,OAAO,IAAA,kCAA2B,EAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAClE,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,4BAA4B,CAAC,KAAwB,EAAE,kBAA0B,IAAA,6BAAY,GAAE;IACnH,IAAI,CAAC,MAAM,uBAAuB,CAAC,KAAK,EAAE,eAAe,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACtH,KAAK,MAAM,IAAI,IAAI,CAAC,qBAAa,EAAE,uBAAuB,CAAC,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAAC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC1G,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,KAAK,qBAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,KAAK,qBAAa,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,KAAK,uBAAuB,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACnW,CAAC;AACH,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,uBAAuB,CAAC,IAAY;IACxD,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACtG,MAAM,KAAK,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;QACvD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAAC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/E,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC1B,uEAAuE;gBACvE,+DAA+D;gBAC/D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC/D,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,QAAQ,KAAK,aAAa;oBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,GAAG,CAAC,CAAC;YAC9I,CAAC;iBAAM,IAAI,IAAI,CAAC,WAAW,EAAE;gBAAE,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;iBAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACvF,CAAC;IACH,CAAC,CAAC;IACF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,mBAAmB,CAAC,KAAwB,EAAE,SAAyB,EAAE,UAAyC,EAAE;IACxI,IAAI,CAAC;QAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAC9F,OAAO,KAAK,EAAE,CAAC;QAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;IAAC,CAAC;IAC3F,MAAM,GAAG,GAAG,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,CAAC,UAAwB,EAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,eAAe,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACtN,MAAM,QAAQ,GAAG,KAAK,IAA2B,EAAE;QACjD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,iFAAiF;QACjF,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,EAAE,CAAC;YACjG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,IAAA,qBAAW,EAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC,IAAA,mBAAS,EAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YACxD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/C,OAAO,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AAC7D,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export { EnvironmentRegistry, validateName } from './environment/registry';
4
4
  export { EnvironmentManager } from './environment/manager';
5
5
  export { EnvironmentUpdater, parseModuleSpecs, patchEnvironmentConfiguration } from './environment/update';
6
6
  export { environmentDll, observeRuntimeState, ownershipFile, validateEnvironmentOwnership, validateEnvironmentRoot, validateEnvironmentTree } from './environment/validate';
7
- export { inspectEnvironmentDirectory, resolveEnvironmentContainer, resolveNamedEnvironmentDirectory } from './environment/root';
7
+ export { inspectEnvironmentDirectory, resolveEnvironmentContainer, resolveNamedEnvironmentDirectory, canonicalDirectory, isSystemLinkTarget } from './environment/root';
8
8
  export { startWebServer, tokenizedUrl } from './web/server';
9
9
  export { JobStore } from './web/jobs';
10
10
  export { storedProviders } from './web/providers';
@@ -13,6 +13,7 @@ export type { RunningWebServer, WebServerOptions } from './web/server';
13
13
  export type { JobKind, JobSnapshot, JobStatus, ProgressLine } from './web/jobs';
14
14
  export type { Provider, WebManager, WebProviders, WebRegistry, WebStateInfo, WebUpdater } from './web/types';
15
15
  export { WindowsProcessBackend, PendingProcessError, checkPort } from './environment/process';
16
+ export { PosixProcessBackend, parseProcStat, parsePsLine } from './environment/posix-process';
16
17
  export type { ProcessBackend, Inspection, StartedProcess } from './environment/process';
17
18
  export type { ManagerDependencies } from './environment/manager';
18
19
  export type { LocalTarget, ModuleChange, ModuleUpdateSpec, PluginEntry, UpdateDependencies, UpdateResult } from './environment/update';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC5K,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAChI,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC1G,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC9F,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACxF,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvI,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC1F,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGxN,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC5K,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxK,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC1G,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC9F,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACxF,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvI,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC1F,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGxN,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OSSProvider = exports.AzureProvider = exports.StorageProvider = exports.ArtifactClient = exports.checkPort = exports.PendingProcessError = exports.WindowsProcessBackend = exports.storedProviderAvailability = exports.normalizeBasePrefix = exports.createStoredClient = exports.storedProviders = exports.JobStore = exports.tokenizedUrl = exports.startWebServer = exports.resolveNamedEnvironmentDirectory = exports.resolveEnvironmentContainer = exports.inspectEnvironmentDirectory = exports.validateEnvironmentTree = exports.validateEnvironmentRoot = exports.validateEnvironmentOwnership = exports.ownershipFile = exports.observeRuntimeState = exports.environmentDll = exports.patchEnvironmentConfiguration = exports.parseModuleSpecs = exports.EnvironmentUpdater = exports.EnvironmentManager = exports.validateName = exports.EnvironmentRegistry = exports.executeEnvironmentPlan = exports.buildEnvironmentPlan = void 0;
3
+ exports.OSSProvider = exports.AzureProvider = exports.StorageProvider = exports.ArtifactClient = exports.parsePsLine = exports.parseProcStat = exports.PosixProcessBackend = exports.checkPort = exports.PendingProcessError = exports.WindowsProcessBackend = exports.storedProviderAvailability = exports.normalizeBasePrefix = exports.createStoredClient = exports.storedProviders = exports.JobStore = exports.tokenizedUrl = exports.startWebServer = exports.isSystemLinkTarget = exports.canonicalDirectory = exports.resolveNamedEnvironmentDirectory = exports.resolveEnvironmentContainer = exports.inspectEnvironmentDirectory = exports.validateEnvironmentTree = exports.validateEnvironmentRoot = exports.validateEnvironmentOwnership = exports.ownershipFile = exports.observeRuntimeState = exports.environmentDll = exports.patchEnvironmentConfiguration = exports.parseModuleSpecs = exports.EnvironmentUpdater = exports.EnvironmentManager = exports.validateName = exports.EnvironmentRegistry = exports.executeEnvironmentPlan = exports.buildEnvironmentPlan = void 0;
4
4
  var plan_1 = require("./environment/plan");
5
5
  Object.defineProperty(exports, "buildEnvironmentPlan", { enumerable: true, get: function () { return plan_1.buildEnvironmentPlan; } });
6
6
  var builder_1 = require("./environment/builder");
@@ -25,6 +25,8 @@ var root_1 = require("./environment/root");
25
25
  Object.defineProperty(exports, "inspectEnvironmentDirectory", { enumerable: true, get: function () { return root_1.inspectEnvironmentDirectory; } });
26
26
  Object.defineProperty(exports, "resolveEnvironmentContainer", { enumerable: true, get: function () { return root_1.resolveEnvironmentContainer; } });
27
27
  Object.defineProperty(exports, "resolveNamedEnvironmentDirectory", { enumerable: true, get: function () { return root_1.resolveNamedEnvironmentDirectory; } });
28
+ Object.defineProperty(exports, "canonicalDirectory", { enumerable: true, get: function () { return root_1.canonicalDirectory; } });
29
+ Object.defineProperty(exports, "isSystemLinkTarget", { enumerable: true, get: function () { return root_1.isSystemLinkTarget; } });
28
30
  var server_1 = require("./web/server");
29
31
  Object.defineProperty(exports, "startWebServer", { enumerable: true, get: function () { return server_1.startWebServer; } });
30
32
  Object.defineProperty(exports, "tokenizedUrl", { enumerable: true, get: function () { return server_1.tokenizedUrl; } });
@@ -40,6 +42,10 @@ var process_1 = require("./environment/process");
40
42
  Object.defineProperty(exports, "WindowsProcessBackend", { enumerable: true, get: function () { return process_1.WindowsProcessBackend; } });
41
43
  Object.defineProperty(exports, "PendingProcessError", { enumerable: true, get: function () { return process_1.PendingProcessError; } });
42
44
  Object.defineProperty(exports, "checkPort", { enumerable: true, get: function () { return process_1.checkPort; } });
45
+ var posix_process_1 = require("./environment/posix-process");
46
+ Object.defineProperty(exports, "PosixProcessBackend", { enumerable: true, get: function () { return posix_process_1.PosixProcessBackend; } });
47
+ Object.defineProperty(exports, "parseProcStat", { enumerable: true, get: function () { return posix_process_1.parseProcStat; } });
48
+ Object.defineProperty(exports, "parsePsLine", { enumerable: true, get: function () { return posix_process_1.parsePsLine; } });
43
49
  // Library entry point
44
50
  var artifact_client_1 = require("./artifact-client");
45
51
  Object.defineProperty(exports, "ArtifactClient", { enumerable: true, get: function () { return artifact_client_1.ArtifactClient; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAAjD,4GAAA,oBAAoB,OAAA;AAC7B,iDAA+D;AAAtD,iHAAA,sBAAsB,OAAA;AAC/B,mDAA2E;AAAlE,+GAAA,mBAAmB,OAAA;AAAE,wGAAA,YAAY,OAAA;AAC1C,iDAA2D;AAAlD,6GAAA,kBAAkB,OAAA;AAC3B,+CAA2G;AAAlG,4GAAA,kBAAkB,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,uHAAA,6BAA6B,OAAA;AAC5E,mDAA4K;AAAnK,0GAAA,cAAc,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,wHAAA,4BAA4B,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAC3I,2CAAgI;AAAvH,mHAAA,2BAA2B,OAAA;AAAE,mHAAA,2BAA2B,OAAA;AAAE,wHAAA,gCAAgC,OAAA;AACnG,uCAA4D;AAAnD,wGAAA,cAAc,OAAA;AAAE,sGAAA,YAAY,OAAA;AACrC,mCAAsC;AAA7B,gGAAA,QAAQ,OAAA;AACjB,6CAAkD;AAAzC,4GAAA,eAAe,OAAA;AACxB,qDAA0G;AAAjG,mHAAA,kBAAkB,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAAE,2HAAA,0BAA0B,OAAA;AAI5E,iDAA8F;AAArF,gHAAA,qBAAqB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,oGAAA,SAAS,OAAA;AAO9D,sBAAsB;AACtB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iEAA+D;AAAtD,mHAAA,eAAe,OAAA;AACxB,6DAA2D;AAAlD,+GAAA,aAAa,OAAA;AACtB,yDAAuD;AAA9C,2GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAAjD,4GAAA,oBAAoB,OAAA;AAC7B,iDAA+D;AAAtD,iHAAA,sBAAsB,OAAA;AAC/B,mDAA2E;AAAlE,+GAAA,mBAAmB,OAAA;AAAE,wGAAA,YAAY,OAAA;AAC1C,iDAA2D;AAAlD,6GAAA,kBAAkB,OAAA;AAC3B,+CAA2G;AAAlG,4GAAA,kBAAkB,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,uHAAA,6BAA6B,OAAA;AAC5E,mDAA4K;AAAnK,0GAAA,cAAc,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,wHAAA,4BAA4B,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAC3I,2CAAwK;AAA/J,mHAAA,2BAA2B,OAAA;AAAE,mHAAA,2BAA2B,OAAA;AAAE,wHAAA,gCAAgC,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AAC3I,uCAA4D;AAAnD,wGAAA,cAAc,OAAA;AAAE,sGAAA,YAAY,OAAA;AACrC,mCAAsC;AAA7B,gGAAA,QAAQ,OAAA;AACjB,6CAAkD;AAAzC,4GAAA,eAAe,OAAA;AACxB,qDAA0G;AAAjG,mHAAA,kBAAkB,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAAE,2HAAA,0BAA0B,OAAA;AAI5E,iDAA8F;AAArF,gHAAA,qBAAqB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,oGAAA,SAAS,OAAA;AAC9D,6DAA8F;AAArF,oHAAA,mBAAmB,OAAA;AAAE,8GAAA,aAAa,OAAA;AAAE,4GAAA,WAAW,OAAA;AAOxD,sBAAsB;AACtB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iEAA+D;AAAtD,mHAAA,eAAe,OAAA;AACxB,6DAA2D;AAAlD,+GAAA,aAAa,OAAA;AACtB,yDAAuD;AAA9C,2GAAA,WAAW,OAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Rename `from` onto `to`, retrying the transient locks described above.
3
+ *
4
+ * A failed rename leaves both paths untouched, so retrying is always safe and
5
+ * idempotent. The budget is deliberately short (about 300 ms with the default
6
+ * parameters): a genuine conflict must still surface instead of being hidden by
7
+ * a long wait. Every other error is rethrown immediately.
8
+ */
9
+ export declare function renameAtomic(from: string, to: string, attempts?: number, delayMs?: number): Promise<void>;
10
+ //# sourceMappingURL=atomic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic.d.ts","sourceRoot":"","sources":["../../src/utils/atomic.ts"],"names":[],"mappings":"AASA;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,SAAI,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtG"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.renameAtomic = renameAtomic;
37
+ const fs = __importStar(require("fs/promises"));
38
+ /**
39
+ * Windows error codes a rename can fail with when another process holds the
40
+ * destination open for a moment — an indexer, an antivirus scanner, an editor
41
+ * or a reader that has just opened the file.
42
+ */
43
+ const transientRenameCodes = new Set(['EPERM', 'EACCES', 'EBUSY']);
44
+ /**
45
+ * Rename `from` onto `to`, retrying the transient locks described above.
46
+ *
47
+ * A failed rename leaves both paths untouched, so retrying is always safe and
48
+ * idempotent. The budget is deliberately short (about 300 ms with the default
49
+ * parameters): a genuine conflict must still surface instead of being hidden by
50
+ * a long wait. Every other error is rethrown immediately.
51
+ */
52
+ async function renameAtomic(from, to, attempts = 6, delayMs = 20) {
53
+ for (let attempt = 1;; attempt++) {
54
+ try {
55
+ await fs.rename(from, to);
56
+ return;
57
+ }
58
+ catch (error) {
59
+ if (attempt >= attempts || !transientRenameCodes.has(error.code ?? ''))
60
+ throw error;
61
+ await new Promise(resolve => setTimeout(resolve, delayMs * attempt));
62
+ }
63
+ }
64
+ }
65
+ //# sourceMappingURL=atomic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic.js","sourceRoot":"","sources":["../../src/utils/atomic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,oCAUC;AA3BD,gDAAkC;AAElC;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnE;;;;;;;GAOG;AACI,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,EAAU,EAAE,QAAQ,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE;IACrF,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,IAAI,QAAQ,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAE,KAA+B,CAAC,IAAI,IAAI,EAAE,CAAC;gBAAE,MAAM,KAAK,CAAC;YAC/G,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,3 +1,17 @@
1
+ /**
2
+ * Translate a configuration path (which may use either separator) to the
3
+ * separator of the platform the environment will run on.
4
+ *
5
+ * The generated `Wyn.conf` is read by the environment itself, so its paths must
6
+ * match that platform: `Plugins\Dashboard\X.dll` is a valid relative path on
7
+ * Windows and a single odd file name on Linux/macOS. `platform` defaults to the
8
+ * host, which is where an assembled environment runs.
9
+ */
10
+ export declare function nativeSeparators(value: string, platform?: NodeJS.Platform): string;
11
+ /** Last segment of a path written with either separator. */
12
+ export declare function baseNameOf(value: string): string;
13
+ /** Drop the last segment, joining with the platform's separator. */
14
+ export declare function directoryOf(value: string, platform?: NodeJS.Platform): string;
1
15
  /**
2
16
  * Where an artifact body has to land locally.
3
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"local-path.d.ts","sourceRoot":"","sources":["../../src/utils/local-path.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAIzG"}
1
+ {"version":3,"file":"local-path.d.ts","sourceRoot":"","sources":["../../src/utils/local-path.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAEpG;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAI/F;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAIzG"}
@@ -33,8 +33,33 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.nativeSeparators = nativeSeparators;
37
+ exports.baseNameOf = baseNameOf;
38
+ exports.directoryOf = directoryOf;
36
39
  exports.resolveArtifactTarget = resolveArtifactTarget;
37
40
  const path = __importStar(require("path"));
41
+ /**
42
+ * Translate a configuration path (which may use either separator) to the
43
+ * separator of the platform the environment will run on.
44
+ *
45
+ * The generated `Wyn.conf` is read by the environment itself, so its paths must
46
+ * match that platform: `Plugins\Dashboard\X.dll` is a valid relative path on
47
+ * Windows and a single odd file name on Linux/macOS. `platform` defaults to the
48
+ * host, which is where an assembled environment runs.
49
+ */
50
+ function nativeSeparators(value, platform = process.platform) {
51
+ return platform === 'win32' ? value.replace(/\//g, '\\') : value.replace(/\\/g, '/');
52
+ }
53
+ /** Last segment of a path written with either separator. */
54
+ function baseNameOf(value) {
55
+ return value.split(/[\\/]/).pop() ?? value;
56
+ }
57
+ /** Drop the last segment, joining with the platform's separator. */
58
+ function directoryOf(value, platform = process.platform) {
59
+ const segments = value.split(/[\\/]/);
60
+ segments.pop();
61
+ return segments.join(platform === 'win32' ? '\\' : '/');
62
+ }
38
63
  /**
39
64
  * Where an artifact body has to land locally.
40
65
  *
@@ -1 +1 @@
1
- {"version":3,"file":"local-path.js","sourceRoot":"","sources":["../../src/utils/local-path.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,sDAIC;AAdD,2CAA6B;AAE7B;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,QAAgB,EAAE,UAAkB,EAAE,YAAqB;IAC/F,MAAM,GAAG,GAAG,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"local-path.js","sourceRoot":"","sources":["../../src/utils/local-path.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,4CAEC;AAGD,gCAEC;AAGD,kCAIC;AAUD,sDAIC;AAvCD,2CAA6B;AAE7B;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAAC,KAAa,EAAE,WAA4B,OAAO,CAAC,QAAQ;IAC1F,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvF,CAAC;AAED,4DAA4D;AAC5D,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC;AAC7C,CAAC;AAED,oEAAoE;AACpE,SAAgB,WAAW,CAAC,KAAa,EAAE,WAA4B,OAAO,CAAC,QAAQ;IACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACf,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,QAAgB,EAAE,UAAkB,EAAE,YAAqB;IAC/F,MAAM,GAAG,GAAG,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC"}
package/dist/web/api.d.ts CHANGED
@@ -18,6 +18,11 @@ export interface ApiContext {
18
18
  * configured environment root exactly like `create-env`.
19
19
  */
20
20
  resolveRoot: (name: string, requested: string | undefined, dryRun: boolean) => Promise<string>;
21
+ /**
22
+ * Remember the directory new environments are created in, or forget it with
23
+ * `null`; returns the stored root. Mirrors `afm env root [<path>] [--unset]`.
24
+ */
25
+ setEnvironmentRoot: (root: string | null) => Promise<string | null>;
21
26
  }
22
27
  export declare function createRequestHandler(context: ApiContext): (request: IncomingMessage, response: ServerResponse) => void;
23
28
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAQvD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAA4B,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKpH,MAAM,WAAW,UAAU;IACzB,8EAA8E;IAC9E,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,MAAM,YAAY,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChG;AAmBD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CAQtH"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAQvD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAkD,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAK1I,MAAM,WAAW,UAAU;IACzB,8EAA8E;IAC9E,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,MAAM,YAAY,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/F;;;OAGG;IACH,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACrE;AAmBD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CAQtH"}
package/dist/web/api.js CHANGED
@@ -81,6 +81,25 @@ async function api(context, request, response, segments) {
81
81
  }
82
82
  throw new http_1.HttpError(404, 'Unknown endpoint.');
83
83
  }
84
+ if (segments[1] === 'credentials') {
85
+ if (segments.length === 2 && method === 'POST')
86
+ return (0, http_1.sendJson)(response, 200, await saveCredentials(context, request));
87
+ if (segments.length === 3 && method === 'DELETE') {
88
+ const provider = decodeURIComponent(segments[2] ?? '');
89
+ if (provider !== 'az' && provider !== 'oss')
90
+ throw new http_1.HttpError(400, '"provider" must be az or oss.');
91
+ await context.providers.clear(provider);
92
+ return (0, http_1.sendJson)(response, 200, credentialsState(context));
93
+ }
94
+ if (segments.length === 2 || segments.length === 3)
95
+ throw new http_1.HttpError(405, method === 'POST' ? 'DELETE only.' : 'POST only.', 'POST, DELETE');
96
+ throw new http_1.HttpError(404, 'Unknown endpoint.');
97
+ }
98
+ if (segments[1] === 'environment-root' && segments.length === 2) {
99
+ if (method !== 'POST')
100
+ throw new http_1.HttpError(405, 'POST only.', 'POST');
101
+ return (0, http_1.sendJson)(response, 200, await setEnvironmentRoot(context, request));
102
+ }
84
103
  if (segments[1] === 'environments') {
85
104
  if (segments.length === 2) {
86
105
  if (method !== 'POST')
@@ -128,6 +147,49 @@ function environmentRow(row) {
128
147
  ...(row.run ? { pid: row.run.pid, runMode: row.run.mode } : {}),
129
148
  };
130
149
  }
150
+ /** Non-secret credential facts the page may show after a save or a clear. */
151
+ function credentialsState(context) {
152
+ return { providers: context.providers.available(), providerInfo: context.providers.info() };
153
+ }
154
+ /**
155
+ * Store one provider's credentials.
156
+ *
157
+ * The reply carries availability and non-secret names only: a SAS URL or an OSS
158
+ * key is never sent back to the browser (or into a job log).
159
+ */
160
+ async function saveCredentials(context, request) {
161
+ const body = await (0, http_1.readJson)(request, context.maxBodyBytes);
162
+ const provider = (0, http_1.requireEnum)(body, 'provider', ['az', 'oss']);
163
+ const credentials = {
164
+ ...((0, http_1.optionalString)(body, 'sasUrl') !== undefined ? { sasUrl: (0, http_1.optionalString)(body, 'sasUrl') } : {}),
165
+ ...((0, http_1.optionalString)(body, 'keyId') !== undefined ? { keyId: (0, http_1.optionalString)(body, 'keyId') } : {}),
166
+ ...((0, http_1.optionalString)(body, 'key') !== undefined ? { key: (0, http_1.optionalString)(body, 'key') } : {}),
167
+ ...((0, http_1.optionalString)(body, 'bucket') !== undefined ? { bucket: (0, http_1.optionalString)(body, 'bucket') } : {}),
168
+ ...((0, http_1.optionalString)(body, 'region') !== undefined ? { region: (0, http_1.optionalString)(body, 'region') } : {}),
169
+ };
170
+ try {
171
+ await context.providers.save(provider, credentials);
172
+ }
173
+ catch (error) {
174
+ throw new http_1.HttpError(400, failure(error));
175
+ }
176
+ return credentialsState(context);
177
+ }
178
+ /** Remember the directory new environments are created in; `unset` forgets it. */
179
+ async function setEnvironmentRoot(context, request) {
180
+ const body = await (0, http_1.readJson)(request, context.maxBodyBytes);
181
+ const unset = (0, http_1.optionalBoolean)(body, 'unset') ?? false;
182
+ const requested = (0, http_1.optionalString)(body, 'root');
183
+ if (unset && requested !== undefined && requested.trim() !== '')
184
+ throw new http_1.HttpError(400, 'Pass either "root" or "unset", not both.');
185
+ try {
186
+ const root = await context.setEnvironmentRoot(unset || requested === undefined || requested.trim() === '' ? null : requested.trim());
187
+ return { environmentRoot: root, exists: root !== null };
188
+ }
189
+ catch (error) {
190
+ throw new http_1.HttpError(400, failure(error));
191
+ }
192
+ }
131
193
  async function state(context) {
132
194
  const info = context.state();
133
195
  const rows = await context.manager.list();
@@ -136,6 +198,7 @@ async function state(context) {
136
198
  platform: info.platform,
137
199
  environmentRoot: info.environmentRoot,
138
200
  providers: context.providers.available(),
201
+ providerInfo: context.providers.info(),
139
202
  createOptions: { optionalModulesByEdition: plan_1.optionalModulesByEdition, editions: ['cn', 'en'], majors: ['9.1', 'dev'], defaultPort: plan_1.defaultPort, portRange: { first: plan_1.portRange.first, last: plan_1.portRange.last } },
140
203
  updateOptions: { modules: [...update_1.updatableModules] },
141
204
  environments: rows.map(environmentRow),
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":";;AAkDA,oDAQC;AAzDD,mCAAqD;AACrD,sDAA0E;AAC1E,8CAAmH;AAEnH,kDAA2E;AAC3E,qCAAkD;AAClD,iCAAqN;AAIrN,mFAAmF;AACnF,MAAM,UAAU,GAAG,gKAAgK,CAAC;AAqBpL,MAAM,OAAO,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAErG,qFAAqF;AACrF,SAAS,YAAY,CAAC,SAA6B,EAAE,QAAgB;IACnE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,CAAC,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1D,MAAM,CAAC,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IACzD,OAAO,IAAA,wBAAe,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,OAAwB;IAC9C,MAAM,MAAM,GAAG,IAAA,aAAM,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC9C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,aAAa,GAAG,IAAA,aAAM,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACvD,OAAO,aAAa,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxG,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAmB;IACtD,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC3B,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC/C,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACnF,MAAM,MAAM,GAAG,KAAK,YAAY,gBAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/D,IAAA,eAAQ,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,YAAY,gBAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,OAAmB,EAAE,OAAwB,EAAE,QAAwB;IAC3F,6EAA6E;IAC7E,kEAAkE;IAClE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAA,aAAM,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,uFAAuF,CAAC,CAAC;IAChM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5E,OAAO,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,OAAmB,EAAE,OAAwB,EAAE,QAAwB,EAAE,QAAkB;IAC5G,0EAA0E;IAC1E,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,MAAM,GAAG,IAAA,aAAM,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,UAAU,IAAI,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,yCAAyC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,qFAAqF,CAAC,CAAC;IAE3K,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,kGAAkG;IAClG,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,IAAI,MAAM,KAAK,KAAK;YAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACnE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,MAAM,KAAK,KAAK;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACnD,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,MAAM,KAAK,QAAQ;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC5E,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACvD,IAAI,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;YACzD,IAAI,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAmB,EAAE,OAAwB,EAAE,QAAwB,EAAE,QAAgB;IAClH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5F,IAAI,CAAC,oBAAW,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,+DAA+D,CAAC,CAAC;IACtG,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC7K,CAAC;AAED,gFAAgF;AAChF,SAAS,cAAc,CAAC,GAAmB;IACzC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;QACxH,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa;QAC9G,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,OAAmB;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1C,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE;QACxC,aAAa,EAAE,EAAE,wBAAwB,EAAxB,+BAAwB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,WAAW,EAAX,kBAAW,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,gBAAS,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAS,CAAC,IAAI,EAAE,EAAE;QACrK,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,yBAAgB,CAAC,EAAE;QACjD,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;QACtC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,OAAmB,EAAE,OAAwB;IACjE,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAA,oBAAa,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC;QAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAW,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,QAAQ,wCAAwC,QAAQ,gBAAgB,CAAC,CAAC;IAC7J,MAAM,KAAK,GAAG,IAAA,oBAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,wBAAiB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,IAAA,mBAAY,EAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC,IAAI,IAAI,CAAC;IAC7E,MAAM,IAAI,GAAG,IAAA,6BAAsB,EAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC;IACxD,MAAM,aAAa,GAAG,IAAA,qBAAc,EAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAExE,6EAA6E;IAC7E,6DAA6D;IAC7D,IAAI,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,wCAAwC,IAAI,GAAG,CAAC,CAAC;IAC9K,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,OAAO,GAAuB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5I,6EAA6E;IAC7E,8EAA8E;IAC9E,2BAA2B;IAC3B,IAAI,CAAC;QAAC,MAAM,IAAA,iCAA0B,EAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;IAC9G,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAmB,EAAE,IAAY;IACjE,IAAI,CAAC;QAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;IACvF,IAAI,CAAC;QAAC,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;AAC9G,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,OAAmB,EAAE,OAAwB,EAAE,IAAY;IAC/E,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAA,qBAAc,EAAC,IAAI,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnE,IAAI,YAAY,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,iCAAiC,KAAK,CAAC,IAAI,yCAAyC,CAAC,CAAC;IAC5K,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE;QAC7D,QAAQ,CAAC,yBAAyB,MAAM,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAAmB,EAAE,OAAwB,EAAE,IAAY;IAClF,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAA,kBAAW,EAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE;QACtE,2EAA2E;QAC3E,6DAA6D;QAC7D,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAAC,QAAQ,CAAC,YAAY,MAAM,qBAAqB,CAAC,CAAC;YAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAAC,CAAC;aAC5H,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAAC,QAAQ,CAAC,cAAc,MAAM,qBAAqB,CAAC,CAAC;YAAC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAAC,CAAC;aACvI,CAAC;YAAC,QAAQ,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;YAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/G,QAAQ,CAAC,GAAG,MAAM,KAAK,MAAM,6BAA6B,KAAK,EAAE,KAAK,IAAI,SAAS,2EAA2E,CAAC,CAAC;QAChK,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACxF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAmB,EAAE,OAAwB,EAAE,IAAY;IACtF,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAA,2BAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QAAC,MAAM,GAAG,IAAA,yBAAgB,EAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;IACrG,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,gDAAgD,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC;IACxD,MAAM,iBAAiB,GAAG,IAAA,qBAAc,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3D,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,KAAK;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;IAE5J,8EAA8E;IAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACtE,IAAI,QAA8B,CAAC;IACnC,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAChD,MAAM,UAAU,GAAI,CAAC,IAAI,EAAE,KAAK,CAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3F,IAAI,iBAAiB,KAAK,SAAS;YAAE,QAAQ,GAAG,iBAA6B,CAAC;aACzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;aACtD,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,+EAA+E,CAAC,CAAC;;YAClI,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,4FAA4F,CAAC,CAAC;QAC5H,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,QAAQ,wCAAwC,QAAQ,gBAAgB,CAAC,CAAC;IAC3I,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACrG,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AACnN,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import { WebProviders } from './types';
2
2
  /**
3
- * The web server's provider access.
3
+ * The web server's credential access.
4
4
  *
5
- * Credentials come from the same profile as the CLI (`afm az login` /
6
- * `afm oss login`); the browser never sees or supplies them.
5
+ * Credentials are the same profile the CLI writes (`afm az login` /
6
+ * `afm oss login`), so both front-ends agree; the browser may write them but
7
+ * only ever reads back booleans and non-secret names. An update keeps every
8
+ * other field of the section (for example a hand-configured `basePrefix`) and
9
+ * every other setting of the file.
7
10
  */
8
11
  export declare function storedProviders(): WebProviders;
9
12
  //# sourceMappingURL=providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/web/providers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAK9C"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/web/providers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgD,YAAY,EAAE,MAAM,SAAS,CAAC;AAkDrF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAoC9C"}
@@ -1,17 +1,108 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.storedProviders = storedProviders;
4
+ const config_manager_1 = require("../cli/config-manager");
4
5
  const stored_client_1 = require("../cli/stored-client");
5
6
  /**
6
- * The web server's provider access.
7
+ * One upload/reference name segment: bucket and region, not a secret.
8
+ * Rejected values are refused with a message rather than stored silently.
9
+ */
10
+ const nameSegment = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
11
+ function requiredText(value, field) {
12
+ const text = typeof value === 'string' ? value.trim() : '';
13
+ if (!text)
14
+ throw new Error(`${field} is required.`);
15
+ if (/[\x00-\x1f\x7f]/.test(text))
16
+ throw new Error(`${field} contains control characters.`);
17
+ return text;
18
+ }
19
+ function optionalNameSegment(value, field) {
20
+ const text = typeof value === 'string' ? value.trim() : '';
21
+ if (!text)
22
+ return undefined;
23
+ if (!nameSegment.test(text))
24
+ throw new Error(`${field} may only contain letters, digits, dot, underscore and hyphen.`);
25
+ return text;
26
+ }
27
+ /** The SAS URL must be a real http(s) URL; its signature stays server-side. */
28
+ function sasUrlOf(value) {
29
+ const text = requiredText(value, 'SAS URL');
30
+ let parsed;
31
+ try {
32
+ parsed = new URL(text);
33
+ }
34
+ catch {
35
+ throw new Error('SAS URL is not a valid URL.');
36
+ }
37
+ // `new URL()` tolerates a space (it percent-encodes it), which would silently
38
+ // corrupt the signature, so it is rejected explicitly.
39
+ if (/\s/.test(text))
40
+ throw new Error('SAS URL must not contain whitespace.');
41
+ if (parsed.protocol !== 'https:' && parsed.protocol !== 'http:')
42
+ throw new Error('SAS URL must use https or http.');
43
+ if (!parsed.hostname)
44
+ throw new Error('SAS URL has no host.');
45
+ return text;
46
+ }
47
+ /** Container name of a SAS URL, when it carries one. */
48
+ function containerOf(sasUrl) {
49
+ if (!sasUrl)
50
+ return null;
51
+ try {
52
+ const name = new URL(sasUrl).pathname.replace(/^\/+/, '').split('/')[0];
53
+ return name || null;
54
+ }
55
+ catch {
56
+ return null;
57
+ }
58
+ }
59
+ /**
60
+ * The web server's credential access.
7
61
  *
8
- * Credentials come from the same profile as the CLI (`afm az login` /
9
- * `afm oss login`); the browser never sees or supplies them.
62
+ * Credentials are the same profile the CLI writes (`afm az login` /
63
+ * `afm oss login`), so both front-ends agree; the browser may write them but
64
+ * only ever reads back booleans and non-secret names. An update keeps every
65
+ * other field of the section (for example a hand-configured `basePrefix`) and
66
+ * every other setting of the file.
10
67
  */
11
68
  function storedProviders() {
12
69
  return {
13
70
  available: stored_client_1.storedProviderAvailability,
14
71
  client(provider) { return (0, stored_client_1.createStoredClient)(provider); },
72
+ info() {
73
+ const config = (0, config_manager_1.readConfig)();
74
+ return {
75
+ ...(config.az ? { az: { container: containerOf(config.az.sasUrl) } } : {}),
76
+ ...(config.oss ? { oss: { bucket: config.oss.bucket ?? null, region: config.oss.region ?? null } } : {}),
77
+ };
78
+ },
79
+ async save(provider, credentials) {
80
+ const config = (0, config_manager_1.readConfig)();
81
+ if (provider === 'az') {
82
+ const previous = config.az;
83
+ (0, config_manager_1.saveAzureConfig)({ ...previous, sasUrl: sasUrlOf(credentials.sasUrl) });
84
+ return;
85
+ }
86
+ if (credentials.keyId === undefined || credentials.key === undefined) {
87
+ throw new Error('OSS credentials need both Key ID and Key.');
88
+ }
89
+ const previous = config.oss;
90
+ (0, config_manager_1.saveOSSConfig)({
91
+ ...previous,
92
+ keyId: requiredText(credentials.keyId, 'Key ID'),
93
+ key: requiredText(credentials.key, 'Key'),
94
+ ...(optionalNameSegment(credentials.bucket, 'Bucket') !== undefined ? { bucket: optionalNameSegment(credentials.bucket, 'Bucket') } : {}),
95
+ ...(optionalNameSegment(credentials.region, 'Region') !== undefined ? { region: optionalNameSegment(credentials.region, 'Region') } : {}),
96
+ });
97
+ },
98
+ async clear(provider) {
99
+ const config = (0, config_manager_1.readConfig)();
100
+ if (provider === 'az')
101
+ delete config.az;
102
+ else
103
+ delete config.oss;
104
+ (0, config_manager_1.writeConfig)(config);
105
+ },
15
106
  };
16
107
  }
17
108
  //# sourceMappingURL=providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/web/providers.ts"],"names":[],"mappings":";;AAUA,0CAKC;AAfD,wDAAsF;AAItF;;;;;GAKG;AACH,SAAgB,eAAe;IAC7B,OAAO;QACL,SAAS,EAAE,0CAA0B;QACrC,MAAM,CAAC,QAAkB,IAAuB,OAAO,IAAA,kCAAkB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KACvF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/web/providers.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ export interface WebServerOptions {
16
16
  jobs?: JobStore;
17
17
  maxBodyBytes?: number;
18
18
  resolveRoot?: (name: string, requested: string | undefined, dryRun: boolean) => Promise<string>;
19
+ /** Remember or forget the unified environment root; defaults to the CLI's `env root`. */
20
+ setEnvironmentRoot?: (root: string | null) => Promise<string | null>;
19
21
  }
20
22
  export interface RunningWebServer {
21
23
  host: string;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACjG;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAID,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuDzF"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChG,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAID,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwDzF"}