@poe-platform/safe-bash 0.1.656 → 0.1.658

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 (129) hide show
  1. package/dist/safe-bash/chunks/{chunk-43HWIHXB.js → chunk-Z4UKD5FF.js} +192 -61
  2. package/dist/safe-bash/chunks/chunk-Z4UKD5FF.js.map +7 -0
  3. package/dist/safe-bash/chunks/{xz-U4QDTPZL.js → xz-4V5FXSPG.js} +555 -514
  4. package/dist/safe-bash/chunks/xz-4V5FXSPG.js.map +7 -0
  5. package/dist/safe-bash/commands/archive/index.d.ts +1 -1
  6. package/dist/safe-bash/commands/archive/index.d.ts.map +1 -1
  7. package/dist/safe-bash/commands/archive/internal.d.ts +32 -0
  8. package/dist/safe-bash/commands/archive/internal.d.ts.map +1 -1
  9. package/dist/safe-bash/commands/archive/internal.js.map +1 -1
  10. package/dist/safe-bash/commands/archive/unzip/arguments.d.ts +3 -0
  11. package/dist/safe-bash/commands/archive/unzip/arguments.d.ts.map +1 -1
  12. package/dist/safe-bash/commands/archive/unzip/arguments.js +31 -5
  13. package/dist/safe-bash/commands/archive/unzip/arguments.js.map +1 -1
  14. package/dist/safe-bash/commands/archive/unzip/safety.d.ts +4 -0
  15. package/dist/safe-bash/commands/archive/unzip/safety.d.ts.map +1 -1
  16. package/dist/safe-bash/commands/archive/unzip/safety.js +3 -0
  17. package/dist/safe-bash/commands/archive/unzip/safety.js.map +1 -1
  18. package/dist/safe-bash/commands/archive/unzip.d.ts.map +1 -1
  19. package/dist/safe-bash/commands/archive/unzip.js +159 -112
  20. package/dist/safe-bash/commands/archive/unzip.js.map +1 -1
  21. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.d.ts +2 -0
  22. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.d.ts.map +1 -0
  23. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.js +3 -0
  24. package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.js.map +1 -0
  25. package/dist/safe-bash/commands/archive/zip/aes-primitives.d.ts +2 -0
  26. package/dist/safe-bash/commands/archive/zip/aes-primitives.d.ts.map +1 -0
  27. package/dist/safe-bash/commands/archive/zip/aes-primitives.js +3 -0
  28. package/dist/safe-bash/commands/archive/zip/aes-primitives.js.map +1 -0
  29. package/dist/safe-bash/commands/archive/zip/aes.d.ts +18 -0
  30. package/dist/safe-bash/commands/archive/zip/aes.d.ts.map +1 -0
  31. package/dist/safe-bash/commands/archive/zip/aes.js +157 -0
  32. package/dist/safe-bash/commands/archive/zip/aes.js.map +1 -0
  33. package/dist/safe-bash/commands/archive/zip/crypto.d.ts +16 -0
  34. package/dist/safe-bash/commands/archive/zip/crypto.d.ts.map +1 -1
  35. package/dist/safe-bash/commands/archive/zip/crypto.js +85 -0
  36. package/dist/safe-bash/commands/archive/zip/crypto.js.map +1 -1
  37. package/dist/safe-bash/commands/archive/zip/grow.d.ts +4 -0
  38. package/dist/safe-bash/commands/archive/zip/grow.d.ts.map +1 -0
  39. package/dist/safe-bash/commands/archive/zip/grow.js +3 -0
  40. package/dist/safe-bash/commands/archive/zip/grow.js.map +1 -0
  41. package/dist/safe-bash/commands/archive/zip/help.d.ts +4 -2
  42. package/dist/safe-bash/commands/archive/zip/help.d.ts.map +1 -1
  43. package/dist/safe-bash/commands/archive/zip/help.js +98 -3
  44. package/dist/safe-bash/commands/archive/zip/help.js.map +1 -1
  45. package/dist/safe-bash/commands/archive/zip/line-endings.d.ts +1 -0
  46. package/dist/safe-bash/commands/archive/zip/line-endings.d.ts.map +1 -1
  47. package/dist/safe-bash/commands/archive/zip/line-endings.js +158 -0
  48. package/dist/safe-bash/commands/archive/zip/line-endings.js.map +1 -1
  49. package/dist/safe-bash/commands/archive/zip/log.d.ts +23 -0
  50. package/dist/safe-bash/commands/archive/zip/log.d.ts.map +1 -0
  51. package/dist/safe-bash/commands/archive/zip/log.js +159 -0
  52. package/dist/safe-bash/commands/archive/zip/log.js.map +1 -0
  53. package/dist/safe-bash/commands/archive/zip/lzma.d.ts +10 -0
  54. package/dist/safe-bash/commands/archive/zip/lzma.d.ts.map +1 -0
  55. package/dist/safe-bash/commands/archive/zip/lzma.js +41 -0
  56. package/dist/safe-bash/commands/archive/zip/lzma.js.map +1 -0
  57. package/dist/safe-bash/commands/archive/zip/names.d.ts +3 -0
  58. package/dist/safe-bash/commands/archive/zip/names.d.ts.map +1 -0
  59. package/dist/safe-bash/commands/archive/zip/names.js +34 -0
  60. package/dist/safe-bash/commands/archive/zip/names.js.map +1 -0
  61. package/dist/safe-bash/commands/archive/zip/options.d.ts +7 -0
  62. package/dist/safe-bash/commands/archive/zip/options.d.ts.map +1 -1
  63. package/dist/safe-bash/commands/archive/zip/options.js +88 -17
  64. package/dist/safe-bash/commands/archive/zip/options.js.map +1 -1
  65. package/dist/safe-bash/commands/archive/zip/repair.d.ts +11 -0
  66. package/dist/safe-bash/commands/archive/zip/repair.d.ts.map +1 -0
  67. package/dist/safe-bash/commands/archive/zip/repair.js +392 -0
  68. package/dist/safe-bash/commands/archive/zip/repair.js.map +1 -0
  69. package/dist/safe-bash/commands/archive/zip/safety.d.ts +23 -4
  70. package/dist/safe-bash/commands/archive/zip/safety.d.ts.map +1 -1
  71. package/dist/safe-bash/commands/archive/zip/safety.js +73 -23
  72. package/dist/safe-bash/commands/archive/zip/safety.js.map +1 -1
  73. package/dist/safe-bash/commands/archive/zip/sfx.d.ts +5 -0
  74. package/dist/safe-bash/commands/archive/zip/sfx.d.ts.map +1 -0
  75. package/dist/safe-bash/commands/archive/zip/sfx.js +56 -0
  76. package/dist/safe-bash/commands/archive/zip/sfx.js.map +1 -0
  77. package/dist/safe-bash/commands/archive/zip/test-command.d.ts +6 -0
  78. package/dist/safe-bash/commands/archive/zip/test-command.d.ts.map +1 -0
  79. package/dist/safe-bash/commands/archive/zip/test-command.js +101 -0
  80. package/dist/safe-bash/commands/archive/zip/test-command.js.map +1 -0
  81. package/dist/safe-bash/commands/archive/zip/volumes.d.ts +22 -0
  82. package/dist/safe-bash/commands/archive/zip/volumes.d.ts.map +1 -0
  83. package/dist/safe-bash/commands/archive/zip/volumes.js +265 -0
  84. package/dist/safe-bash/commands/archive/zip/volumes.js.map +1 -0
  85. package/dist/safe-bash/commands/archive/zip/zip64.d.ts +20 -1
  86. package/dist/safe-bash/commands/archive/zip/zip64.d.ts.map +1 -1
  87. package/dist/safe-bash/commands/archive/zip/zip64.js +127 -17
  88. package/dist/safe-bash/commands/archive/zip/zip64.js.map +1 -1
  89. package/dist/safe-bash/commands/archive/zip-format.d.ts +30 -5
  90. package/dist/safe-bash/commands/archive/zip-format.d.ts.map +1 -1
  91. package/dist/safe-bash/commands/archive/zip-format.js +489 -91
  92. package/dist/safe-bash/commands/archive/zip-format.js.map +1 -1
  93. package/dist/safe-bash/commands/archive/zip.d.ts.map +1 -1
  94. package/dist/safe-bash/commands/archive/zip.js +729 -128
  95. package/dist/safe-bash/commands/archive/zip.js.map +1 -1
  96. package/dist/safe-bash/commands/bytes/compression/bounded-codec.d.ts +7 -0
  97. package/dist/safe-bash/commands/bytes/compression/bounded-codec.d.ts.map +1 -1
  98. package/dist/safe-bash/commands/bytes/compression/bounded-codec.js.map +1 -1
  99. package/dist/safe-bash/commands/bytes/compression/codec-loader.d.ts.map +1 -1
  100. package/dist/safe-bash/commands/bytes/compression/codec-loader.js +8 -1
  101. package/dist/safe-bash/commands/bytes/compression/codec-loader.js.map +1 -1
  102. package/dist/safe-bash/commands/bytes/compression/native/generated/xz.mjs +1 -1
  103. package/dist/safe-bash/commands/bytes/compression/native/sources.json +2 -2
  104. package/dist/safe-bash/commands/bytes/compression/native/types.d.ts +1 -0
  105. package/dist/safe-bash/commands/bytes/compression/native/types.d.ts.map +1 -1
  106. package/dist/safe-bash/commands/python/cache.d.ts +11 -0
  107. package/dist/safe-bash/commands/python/cache.d.ts.map +1 -0
  108. package/dist/safe-bash/commands/python/cache.js +41 -0
  109. package/dist/safe-bash/commands/python/cache.js.map +1 -0
  110. package/dist/safe-bash/commands/python/index.browser.js +7 -1
  111. package/dist/safe-bash/commands/python/index.d.ts +6 -2
  112. package/dist/safe-bash/commands/python/index.d.ts.map +1 -1
  113. package/dist/safe-bash/commands/python/index.js +16 -10
  114. package/dist/safe-bash/commands/python/index.js.map +1 -1
  115. package/dist/safe-bash/commands/python/manifest.d.ts +23 -0
  116. package/dist/safe-bash/commands/python/manifest.d.ts.map +1 -0
  117. package/dist/safe-bash/commands/python/manifest.js +48 -0
  118. package/dist/safe-bash/commands/python/manifest.js.map +1 -0
  119. package/dist/safe-bash/commands/python/provisioning.d.ts +17 -13
  120. package/dist/safe-bash/commands/python/provisioning.d.ts.map +1 -1
  121. package/dist/safe-bash/commands/python/provisioning.js +88 -46
  122. package/dist/safe-bash/commands/python/provisioning.js.map +1 -1
  123. package/dist/safe-bash/commands/text.js +1 -1
  124. package/dist/safe-bash/commands/text.js.map +1 -1
  125. package/dist/safe-bash/core.browser.js +3113 -718
  126. package/dist/safe-bash/core.browser.js.map +4 -4
  127. package/package.json +11 -3
  128. package/dist/safe-bash/chunks/chunk-43HWIHXB.js.map +0 -7
  129. package/dist/safe-bash/chunks/xz-U4QDTPZL.js.map +0 -7
@@ -220,8 +220,8 @@
220
220
  },
221
221
  {
222
222
  "path": "generated/xz.mjs",
223
- "bytes": 203484,
224
- "sha256": "e4795fbc3e71478bc4dc44fedb70a26fa27569353abd0e94db0daff63dd44a4e"
223
+ "bytes": 204540,
224
+ "sha256": "2c5e7515eff57c3190815368f8624ae3ade54a0a8150744c3b5acdabd11d468b"
225
225
  },
226
226
  {
227
227
  "path": "generated/zstd.mjs",
@@ -4,6 +4,7 @@ export interface RawCodecModule {
4
4
  };
5
5
  _initialize?(): void;
6
6
  bridge_create(decompress: number, level: number, memoryLimit: number, windowLog: number): number;
7
+ bridge_create_lzma?(decompress: number, level: number, memoryLimit: number, dictionary: number, properties: number, eos: number, sizeLow: number, sizeHigh: number): number;
7
8
  bridge_step(input: number, inputLength: number, output: number, outputLength: number, finish: number): number;
8
9
  bridge_destroy(): void;
9
10
  bridge_input(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/commands/bytes/compression/native/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IAClD,WAAW,CAAC,IAAI,IAAI,CAAC;IACrB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACjG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9G,cAAc,IAAI,IAAI,CAAC;IACvB,YAAY,IAAI,MAAM,CAAC;IACvB,aAAa,IAAI,MAAM,CAAC;IACxB,eAAe,IAAI,MAAM,CAAC;IAC1B,eAAe,IAAI,MAAM,CAAC;IAC1B,WAAW,IAAI,MAAM,CAAC;IACtB,WAAW,IAAI,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,CAAC,KAAK,cAAc,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/commands/bytes/compression/native/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IAClD,WAAW,CAAC,IAAI,IAAI,CAAC;IACrB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACjG,kBAAkB,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5K,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9G,cAAc,IAAI,IAAI,CAAC;IACvB,YAAY,IAAI,MAAM,CAAC;IACvB,aAAa,IAAI,MAAM,CAAC;IACxB,eAAe,IAAI,MAAM,CAAC;IAC1B,eAAe,IAAI,MAAM,CAAC;IAC1B,WAAW,IAAI,MAAM,CAAC;IACtB,WAAW,IAAI,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,CAAC,KAAK,cAAc,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const pythonPackageRuntimeKey = "pyodide-314.0.6-cp314-emscripten-wasm32-v1";
2
+ export interface PythonPackageCache {
3
+ get(key: string): Promise<Uint8Array | undefined>;
4
+ set(key: string, bytes: Uint8Array): Promise<void>;
5
+ }
6
+ export declare function createPythonPackageCache(options?: {
7
+ readonly maxBytes?: number;
8
+ }): PythonPackageCache & {
9
+ dispose(): void;
10
+ };
11
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/commands/python/cache.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,+CAA+C,CAAC;AAEpF,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAClD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED,wBAAgB,wBAAwB,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,kBAAkB,GAAG;IAAE,OAAO,IAAI,IAAI,CAAA;CAAE,CA6B/H"}
@@ -0,0 +1,41 @@
1
+ export const pythonPackageRuntimeKey = 'pyodide-314.0.6-cp314-emscripten-wasm32-v1';
2
+ export function createPythonPackageCache(options = {}) {
3
+ const maxBytes = options.maxBytes ?? 128 * 1024 * 1024;
4
+ if (!Number.isSafeInteger(maxBytes) || maxBytes < 1)
5
+ throw new RangeError('Python cache maxBytes must be a positive integer');
6
+ const values = new Map();
7
+ const manifestKey = pythonPackageRuntimeKey + '-environment';
8
+ let retainedBytes = 0;
9
+ let disposed = false;
10
+ return {
11
+ async get(key) {
12
+ if (disposed)
13
+ throw new Error('Python package cache is disposed');
14
+ return values.get(key)?.slice();
15
+ },
16
+ async set(key, bytes) {
17
+ if (disposed)
18
+ throw new Error('Python package cache is disposed');
19
+ if (key === manifestKey && bytes.length > maxBytes)
20
+ throw new RangeError('Python package manifest exceeds maxCacheBytes');
21
+ const previous = values.get(key);
22
+ if (previous) {
23
+ retainedBytes -= previous.length;
24
+ values.delete(key);
25
+ }
26
+ if (bytes.length > maxBytes)
27
+ return;
28
+ while (values.size && (retainedBytes + bytes.length > maxBytes || values.size >= 1024)) {
29
+ const oldest = [...values.keys()].find(entry => entry !== manifestKey);
30
+ if (oldest === undefined)
31
+ return;
32
+ retainedBytes -= values.get(oldest).length;
33
+ values.delete(oldest);
34
+ }
35
+ values.set(key, Uint8Array.from(bytes));
36
+ retainedBytes += bytes.length;
37
+ },
38
+ dispose() { disposed = true; values.clear(); retainedBytes = 0; },
39
+ };
40
+ }
41
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/commands/python/cache.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,4CAA4C,CAAC;AAOpF,MAAM,UAAU,wBAAwB,CAAC,UAA0C,EAAE;IACnF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,kDAAkD,CAAC,CAAC;IAC9H,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,MAAM,WAAW,GAAG,uBAAuB,GAAG,cAAc,CAAC;IAC7D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,IAAI,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK;YAClB,IAAI,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClE,IAAI,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ;gBAAE,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;YAC1H,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,QAAQ,EAAE,CAAC;gBAAC,aAAa,IAAI,QAAQ,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YACvE,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ;gBAAE,OAAO;YACpC,OAAO,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;gBACvF,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC;gBACvE,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO;gBACjC,aAAa,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,MAAM,CAAC;gBAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACxC,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import {
2
+ PythonPackageConflictError,
2
3
  createPythonCommands,
4
+ createPythonPackageCache,
3
5
  createPythonPackageEnvironment,
6
+ createPythonPackageManifestStore,
4
7
  pythonCommands,
5
8
  pythonDocumentPackages
6
- } from "../../chunks/chunk-43HWIHXB.js";
9
+ } from "../../chunks/chunk-Z4UKD5FF.js";
7
10
  import "../../chunks/chunk-2E4KBFO6.js";
8
11
  import {
9
12
  PythonFailure,
@@ -17,8 +20,11 @@ import "../../chunks/chunk-WPIOO4NX.js";
17
20
  import "../../chunks/chunk-O2EVBRKF.js";
18
21
  export {
19
22
  PythonFailure,
23
+ PythonPackageConflictError,
20
24
  createPythonCommands,
25
+ createPythonPackageCache,
21
26
  createPythonPackageEnvironment,
27
+ createPythonPackageManifestStore,
22
28
  inspectPythonCapabilities,
23
29
  pythonCommands,
24
30
  pythonDocumentPackages
@@ -1,5 +1,5 @@
1
1
  import type { CommandDefinition, VirtualShellPlugin } from '../../contracts/index.js';
2
- import { type PythonPackageOptions, type PythonPackageStart } from './provisioning.js';
2
+ import { type PythonPackageOptions, type PythonPackageStart, type PythonPackageEnvironment } from './provisioning.js';
3
3
  import { type PythonDiagnosticObserver } from './diagnostics.js';
4
4
  /** A dedicated interpreter worker. The service event loop must never block. */
5
5
  export interface PythonWorkerEndpoint {
@@ -19,6 +19,7 @@ export interface PythonCommandsOptions {
19
19
  readonly requirements?: readonly string[];
20
20
  readonly packageProfile?: 'documents';
21
21
  readonly provisioning?: PythonPackageOptions;
22
+ readonly environment?: PythonPackageEnvironment;
22
23
  /** Host UI lifecycle; never written to guest stdout/stderr. */
23
24
  readonly onProgress?: (event: PythonInitializationProgress) => void;
24
25
  readonly onDiagnostic?: PythonDiagnosticObserver;
@@ -48,7 +49,10 @@ export interface PythonWorkerStart {
48
49
  export declare function createPythonCommands(options: PythonCommandsOptions): readonly CommandDefinition[];
49
50
  export declare function pythonCommands(options: PythonCommandsOptions): VirtualShellPlugin;
50
51
  export { createPythonPackageEnvironment, pythonDocumentPackages } from './provisioning.js';
51
- export type { PythonPackageOptions, PythonPackageCache, PythonPackageProgress, PythonPackageStart, PythonPackageContext } from './provisioning.js';
52
+ export type { PythonPackageOptions, PythonPackageCache, PythonPackageProgress, PythonPackageStart, PythonPackageContext, PythonPackageEnvironment, PythonPackagePrepareContext } from './provisioning.js';
53
+ export { PythonPackageConflictError, createPythonPackageManifestStore } from './manifest.js';
54
+ export type { PythonPackageManifest, PythonPackageManifestStore } from './manifest.js';
55
+ export { createPythonPackageCache } from './cache.js';
52
56
  export { PythonFailure, inspectPythonCapabilities } from './diagnostics.js';
53
57
  export type { PythonFailureCategory, PythonDiagnostic, PythonDiagnosticObserver, PythonFileSystemRequirement, PythonCapabilityOptions, PythonCapabilityReport } from './diagnostics.js';
54
58
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/python/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/python/index.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { openCommandFile } from '../../contracts/filesystem-descriptor.js';
4
4
  import { encodePythonReply } from './reply.js';
5
5
  import { parsePythonInvocation, PythonInvocationError } from './invocation.js';
6
6
  import { parsePythonInstallation, pythonInstallationHelp } from './installation.js';
7
- import { createPythonPackageEnvironment } from './provisioning.js';
7
+ import { createPythonPackageEnvironment, pythonDocumentPackages } from './provisioning.js';
8
8
  import { readBytes, writeBytes } from '../../contracts/io.js';
9
9
  import { createOutputOperation } from '../../contracts/output.js';
10
10
  import { inheritYieldCheckpoint, yieldTurn } from '../../contracts/yield.js';
@@ -16,6 +16,8 @@ export function createPythonCommands(options) {
16
16
  throw new PythonFailure('executor-unavailable');
17
17
  if (options.onDiagnostic !== undefined && typeof options.onDiagnostic !== 'function')
18
18
  throw new TypeError('Python onDiagnostic must be a function');
19
+ if (options.environment && options.provisioning)
20
+ throw new TypeError('A borrowed Python environment cannot be combined with provisioning options');
19
21
  const maxTransferBytes = options.maxTransferBytes ?? 65536;
20
22
  const maxOpenFiles = options.maxOpenFiles ?? 256;
21
23
  const maxConcurrentWorkers = options.maxConcurrentWorkers ?? 4;
@@ -31,12 +33,7 @@ export function createPythonCommands(options) {
31
33
  const runtimeMount = options.runtimeMount ?? '/.pyodide-runtime';
32
34
  if (!runtimeMount.startsWith('/') || runtimeMount === '/' || runtimeMount.slice(1).includes('/') || runtimeMount.includes('\0') || runtimeMount.split('/').some(part => part === '..' || part === '.'))
33
35
  throw new TypeError('Python runtime mount must be an absolute top-level canonical path');
34
- const environment = createPythonPackageEnvironment({
35
- ...options.provisioning,
36
- requirements: [...(options.provisioning?.requirements ?? []), ...(options.packages ?? [])],
37
- requirementFiles: [...(options.provisioning?.requirementFiles ?? []), ...(options.requirements ?? [])],
38
- ...(options.packageProfile ? { profile: options.packageProfile } : {}),
39
- });
36
+ const environment = options.environment ?? createPythonPackageEnvironment(options.provisioning);
40
37
  const execute = async (context) => {
41
38
  let installation;
42
39
  try {
@@ -200,7 +197,8 @@ export function createPythonCommands(options) {
200
197
  };
201
198
  options.onProgress?.({ phase: 'initializing', command: context.command });
202
199
  const preparation = environment.prepare({ fs: context.fs, cwd: context.cwd, signal,
203
- ...(installation ? { requirements: installation.packages, requirementFiles: installation.requirements } : {}),
200
+ requirements: [...(options.packages ?? []), ...(options.packageProfile ? pythonDocumentPackages : []), ...(installation?.packages ?? [])],
201
+ requirementFiles: [...(options.requirements ?? []), ...(installation?.requirements ?? [])],
204
202
  }).then(value => { packages = value; });
205
203
  pending.add(preparation);
206
204
  try {
@@ -355,8 +353,14 @@ export function createPythonCommands(options) {
355
353
  return ['python', 'python3'].map(name => ({ name, description: 'Python with an explicit synchronous interpreter worker and canonical filesystem', execute }));
356
354
  }
357
355
  export function pythonCommands(options) {
358
- const commands = createPythonCommands(options);
359
- return { name: 'python-commands', setup(host) {
356
+ if (typeof options?.createWorker !== 'function')
357
+ throw new PythonFailure('executor-unavailable');
358
+ if (options?.environment && options.provisioning)
359
+ throw new TypeError('A borrowed Python environment cannot be combined with provisioning options');
360
+ const { provisioning, ...configuration } = options;
361
+ const environment = options.environment ?? createPythonPackageEnvironment(provisioning);
362
+ const commands = createPythonCommands({ ...configuration, environment });
363
+ return { name: 'python-commands', ...(options.environment ? {} : { dispose: environment.dispose }), setup(host) {
360
364
  if (!options.replace)
361
365
  for (const command of commands)
362
366
  if (host.commands.has(command.name))
@@ -366,5 +370,7 @@ export function pythonCommands(options) {
366
370
  } };
367
371
  }
368
372
  export { createPythonPackageEnvironment, pythonDocumentPackages } from './provisioning.js';
373
+ export { PythonPackageConflictError, createPythonPackageManifestStore } from './manifest.js';
374
+ export { createPythonPackageCache } from './cache.js';
369
375
  export { PythonFailure, inspectPythonCapabilities } from './diagnostics.js';
370
376
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/python/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/python/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface PythonPackageManifest {
2
+ readonly revision: string;
3
+ readonly bytes: Uint8Array;
4
+ }
5
+ export interface PythonPackageManifestStore {
6
+ get(scope: string, options: {
7
+ readonly signal: AbortSignal;
8
+ }): Promise<PythonPackageManifest | undefined>;
9
+ compareAndSet(scope: string, revision: string | undefined, bytes: Uint8Array, options: {
10
+ readonly signal: AbortSignal;
11
+ }): Promise<boolean>;
12
+ }
13
+ export declare class PythonPackageConflictError extends Error {
14
+ readonly code = "EPACKAGECONFLICT";
15
+ readonly retryable = true;
16
+ constructor();
17
+ }
18
+ export declare function createPythonPackageManifestStore(options?: {
19
+ readonly maxBytes?: number;
20
+ }): PythonPackageManifestStore & {
21
+ dispose(): void;
22
+ };
23
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/commands/python/manifest.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAC1G,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5I;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,SAAS,QAAQ;;CAK3B;AAED,wBAAgB,gCAAgC,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,0BAA0B,GAAG;IAAE,OAAO,IAAI,IAAI,CAAA;CAAE,CAiC/I"}
@@ -0,0 +1,48 @@
1
+ export class PythonPackageConflictError extends Error {
2
+ code = 'EPACKAGECONFLICT';
3
+ retryable = true;
4
+ constructor() {
5
+ super('Python package environment changed during installation; retry the command');
6
+ this.name = 'PythonPackageConflictError';
7
+ }
8
+ }
9
+ export function createPythonPackageManifestStore(options = {}) {
10
+ const maxBytes = options.maxBytes ?? 1048576;
11
+ if (!Number.isSafeInteger(maxBytes) || maxBytes < 1)
12
+ throw new RangeError('Python manifest maxBytes must be a positive integer');
13
+ const manifests = new Map();
14
+ let retainedBytes = 0;
15
+ let revision = 0;
16
+ let disposed = false;
17
+ const check = (scope, signal) => {
18
+ signal.throwIfAborted();
19
+ if (disposed)
20
+ throw new Error('Python manifest store is disposed');
21
+ if (typeof scope !== 'string' || !scope || scope.length > 1024)
22
+ throw new TypeError('Invalid Python manifest scope');
23
+ };
24
+ return {
25
+ async get(scope, { signal }) {
26
+ check(scope, signal);
27
+ const value = manifests.get(scope);
28
+ return value ? { revision: value.revision, bytes: value.bytes.slice() } : undefined;
29
+ },
30
+ async compareAndSet(scope, expected, bytes, { signal }) {
31
+ check(scope, signal);
32
+ const current = manifests.get(scope);
33
+ if (current?.revision !== expected)
34
+ return false;
35
+ if (!(bytes instanceof Uint8Array))
36
+ throw new TypeError('Python manifest must contain bytes');
37
+ const nextBytes = retainedBytes - (current?.bytes.length ?? 0) + bytes.length;
38
+ if (nextBytes > maxBytes || (!current && manifests.size >= 1024) || revision >= Number.MAX_SAFE_INTEGER) {
39
+ throw new RangeError('Python manifest store budget exhausted');
40
+ }
41
+ manifests.set(scope, { revision: String(++revision), bytes: Uint8Array.from(bytes) });
42
+ retainedBytes = nextBytes;
43
+ return true;
44
+ },
45
+ dispose() { disposed = true; manifests.clear(); retainedBytes = 0; },
46
+ };
47
+ }
48
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/commands/python/manifest.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC1C,IAAI,GAAG,kBAAkB,CAAC;IAC1B,SAAS,GAAG,IAAI,CAAC;IAC1B;QACE,KAAK,CAAC,2EAA2E,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,UAAU,gCAAgC,CAAC,UAA0C,EAAE;IAC3F,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,qDAAqD,CAAC,CAAC;IACjI,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC3D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,MAAmB,EAAQ,EAAE;QACzD,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;YAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACvH,CAAC,CAAC;IACF,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE;YACzB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE;YACpD,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrB,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,OAAO,EAAE,QAAQ,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACjD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;YAC9F,MAAM,SAAS,GAAG,aAAa,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YAC9E,IAAI,SAAS,GAAG,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,QAAQ,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACxG,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,CAAC;YACjE,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtF,aAAa,GAAG,SAAS,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import type { FileSystem } from '../../contracts/filesystem.js';
2
2
  import type { HttpTransport, NetworkAuthorizer } from '../network/types.js';
3
- export interface PythonPackageCache {
4
- get(key: string): Promise<Uint8Array | undefined>;
5
- set(key: string, bytes: Uint8Array): Promise<void>;
6
- }
3
+ import { type PythonPackageManifestStore } from './manifest.js';
4
+ import { type PythonPackageCache } from './cache.js';
5
+ export type { PythonPackageCache } from './cache.js';
7
6
  export interface PythonPackageProgress {
8
7
  readonly phase: 'download' | 'cached' | 'installed';
9
8
  readonly url?: string;
@@ -18,6 +17,8 @@ export interface PythonPackageOptions {
18
17
  readonly transport?: HttpTransport;
19
18
  readonly authorize?: NetworkAuthorizer;
20
19
  readonly cache?: PythonPackageCache;
20
+ readonly manifestStore?: PythonPackageManifestStore;
21
+ readonly scope?: string;
21
22
  /** Canonical filesystem directory, scoped to this package environment. */
22
23
  readonly cacheDirectory?: string;
23
24
  readonly maxDownloadBytes?: number;
@@ -35,15 +36,18 @@ export interface PythonPackageContext {
35
36
  readonly cwd: string;
36
37
  readonly signal: AbortSignal;
37
38
  }
39
+ export interface PythonPackagePrepareContext extends PythonPackageContext {
40
+ readonly requirements?: readonly string[];
41
+ readonly requirementFiles?: readonly string[];
42
+ readonly offline?: boolean;
43
+ }
44
+ export interface PythonPackageEnvironment {
45
+ prepare(context: PythonPackagePrepareContext): Promise<PythonPackageStart>;
46
+ dispatch(operation: string, args: unknown[], context: PythonPackageContext): Promise<unknown>;
47
+ finish(start: PythonPackageStart): void;
48
+ dispose(): Promise<void>;
49
+ }
38
50
  export declare const pythonDocumentPackages: readonly string[];
39
51
  /** Trusted host cache; content is rehashed on every read. No runtime or network work at construction. */
40
- export declare function createPythonPackageEnvironment(options?: PythonPackageOptions): {
41
- prepare: (context: PythonPackageContext & {
42
- requirements?: readonly string[];
43
- requirementFiles?: readonly string[];
44
- offline?: boolean;
45
- }) => Promise<PythonPackageStart>;
46
- dispatch: (op: string, args: unknown[], _context: PythonPackageContext) => Promise<unknown>;
47
- finish(start: PythonPackageStart): void;
48
- };
52
+ export declare function createPythonPackageEnvironment(options?: PythonPackageOptions): PythonPackageEnvironment;
49
53
  //# sourceMappingURL=provisioning.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provisioning.d.ts","sourceRoot":"","sources":["../../../src/commands/python/provisioning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,MAAM,WAAW,kBAAkB;IAClC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAClD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AACD,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IACpC,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,gGAAgG;IAChG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC7D;AACD,MAAM,WAAW,kBAAkB;IAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE;AACrI,MAAM,WAAW,oBAAoB;IAAG,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAAE;AACrH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAGlD,CAAC;AA6BH,yGAAyG;AACzG,wBAAgB,8BAA8B,CAAC,OAAO,GAAE,oBAAyB;uBA2BhD,oBAAoB,GAAG;QAAC,YAAY,CAAC,EAAC,SAAS,MAAM,EAAE,CAAC;QAAA,gBAAgB,CAAC,EAAC,SAAS,MAAM,EAAE,CAAC;QAAA,OAAO,CAAC,EAAC,OAAO,CAAA;KAAC,KAAG,OAAO,CAAC,kBAAkB,CAAC;mBAmChJ,MAAM,QAAM,OAAO,EAAE,YAAU,oBAAoB,KAAE,OAAO,CAAC,OAAO,CAAC;kBA8G1D,kBAAkB;EACxD"}
1
+ {"version":3,"file":"provisioning.d.ts","sourceRoot":"","sources":["../../../src/commands/python/provisioning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAA0D,KAAK,0BAA0B,EAAE,MAAM,eAAe,CAAC;AACxH,OAAO,EAAmE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEtH,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,0BAA0B,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,gGAAgG;IAChG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC7D;AACD,MAAM,WAAW,kBAAkB;IAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE;AACrI,MAAM,WAAW,oBAAoB;IAAG,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAAE;AACrH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC3B;AACD,MAAM,WAAW,wBAAwB;IACxC,OAAO,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3E,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9F,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AACD,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAGlD,CAAC;AA+BH,yGAAyG;AACzG,wBAAgB,8BAA8B,CAAC,OAAO,GAAE,oBAAyB,GAAG,wBAAwB,CA+M3G"}