@guanjinke/artifact-client 1.5.1 → 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 (99) hide show
  1. package/README.md +32 -3
  2. package/dist/cli/setup.d.ts.map +1 -1
  3. package/dist/cli/setup.js +6 -5
  4. package/dist/cli/setup.js.map +1 -1
  5. package/dist/cli/stored-client.d.ts +24 -0
  6. package/dist/cli/stored-client.d.ts.map +1 -0
  7. package/dist/cli/stored-client.js +59 -0
  8. package/dist/cli/stored-client.js.map +1 -0
  9. package/dist/cli/web.d.ts +23 -0
  10. package/dist/cli/web.d.ts.map +1 -0
  11. package/dist/cli/web.js +99 -0
  12. package/dist/cli/web.js.map +1 -0
  13. package/dist/environment/builder.d.ts.map +1 -1
  14. package/dist/environment/builder.js +26 -13
  15. package/dist/environment/builder.js.map +1 -1
  16. package/dist/environment/catalog.d.ts.map +1 -1
  17. package/dist/environment/catalog.js +18 -0
  18. package/dist/environment/catalog.js.map +1 -1
  19. package/dist/environment/config.d.ts +1 -1
  20. package/dist/environment/config.d.ts.map +1 -1
  21. package/dist/environment/config.js +7 -5
  22. package/dist/environment/config.js.map +1 -1
  23. package/dist/environment/manager.d.ts +9 -0
  24. package/dist/environment/manager.d.ts.map +1 -1
  25. package/dist/environment/manager.js +34 -6
  26. package/dist/environment/manager.js.map +1 -1
  27. package/dist/environment/plan.d.ts +37 -1
  28. package/dist/environment/plan.d.ts.map +1 -1
  29. package/dist/environment/plan.js +71 -16
  30. package/dist/environment/plan.js.map +1 -1
  31. package/dist/environment/posix-process.d.ts +71 -0
  32. package/dist/environment/posix-process.d.ts.map +1 -0
  33. package/dist/environment/posix-process.js +393 -0
  34. package/dist/environment/posix-process.js.map +1 -0
  35. package/dist/environment/process.d.ts +3 -1
  36. package/dist/environment/process.d.ts.map +1 -1
  37. package/dist/environment/process.js +5 -2
  38. package/dist/environment/process.js.map +1 -1
  39. package/dist/environment/registry.d.ts.map +1 -1
  40. package/dist/environment/registry.js +2 -1
  41. package/dist/environment/registry.js.map +1 -1
  42. package/dist/environment/root.d.ts +24 -6
  43. package/dist/environment/root.d.ts.map +1 -1
  44. package/dist/environment/root.js +78 -24
  45. package/dist/environment/root.js.map +1 -1
  46. package/dist/environment/types.d.ts +7 -2
  47. package/dist/environment/types.d.ts.map +1 -1
  48. package/dist/environment/update.d.ts +3 -1
  49. package/dist/environment/update.d.ts.map +1 -1
  50. package/dist/environment/update.js +48 -36
  51. package/dist/environment/update.js.map +1 -1
  52. package/dist/environment/validate.d.ts.map +1 -1
  53. package/dist/environment/validate.js +5 -1
  54. package/dist/environment/validate.js.map +1 -1
  55. package/dist/index.d.ts +9 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +18 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/utils/atomic.d.ts +10 -0
  60. package/dist/utils/atomic.d.ts.map +1 -0
  61. package/dist/utils/atomic.js +65 -0
  62. package/dist/utils/atomic.js.map +1 -0
  63. package/dist/utils/local-path.d.ts +14 -0
  64. package/dist/utils/local-path.d.ts.map +1 -1
  65. package/dist/utils/local-path.js +25 -0
  66. package/dist/utils/local-path.js.map +1 -1
  67. package/dist/web/api.d.ts +28 -0
  68. package/dist/web/api.d.ts.map +1 -0
  69. package/dist/web/api.js +336 -0
  70. package/dist/web/api.js.map +1 -0
  71. package/dist/web/assets.d.ts +26 -0
  72. package/dist/web/assets.d.ts.map +1 -0
  73. package/dist/web/assets.js +87 -0
  74. package/dist/web/assets.js.map +1 -0
  75. package/dist/web/http.d.ts +41 -0
  76. package/dist/web/http.d.ts.map +1 -0
  77. package/dist/web/http.js +167 -0
  78. package/dist/web/http.js.map +1 -0
  79. package/dist/web/jobs.d.ts +69 -0
  80. package/dist/web/jobs.d.ts.map +1 -0
  81. package/dist/web/jobs.js +110 -0
  82. package/dist/web/jobs.js.map +1 -0
  83. package/dist/web/providers.d.ts +12 -0
  84. package/dist/web/providers.d.ts.map +1 -0
  85. package/dist/web/providers.js +108 -0
  86. package/dist/web/providers.js.map +1 -0
  87. package/dist/web/server.d.ts +43 -0
  88. package/dist/web/server.d.ts.map +1 -0
  89. package/dist/web/server.js +148 -0
  90. package/dist/web/server.js.map +1 -0
  91. package/dist/web/static/app.js +59 -0
  92. package/dist/web/static/favicon.svg +12 -0
  93. package/dist/web/static/index.html +15 -0
  94. package/dist/web/static/styles.css +1333 -0
  95. package/dist/web/types.d.ts +82 -0
  96. package/dist/web/types.d.ts.map +1 -0
  97. package/dist/web/types.js +3 -0
  98. package/dist/web/types.js.map +1 -0
  99. package/package.json +9 -2
@@ -31,5 +31,23 @@ exports.catalog = {
31
31
  plugin: 'wyn-sheets', filename: v => `wyn-sheets.v${v}.zip`,
32
32
  mappings: [mapping('', 'Plugins/Sheet', ['Wyn.Sheets.Plugin.dll'], 'plugin')],
33
33
  },
34
+ // EN-only smart documents: an in-process plugin plus its own worker service,
35
+ // the same shape as dashboard. The worker ships its own listen port and
36
+ // backend URL in its own appsettings.json (6007 / 127.0.0.1:42002), which is
37
+ // exactly how the dashboard worker behaves, so nothing here is rewritten.
38
+ documents: {
39
+ plugin: 'wyn-smart-documents', filename: v => `wyn-smart-documents.v${v}.zip`,
40
+ mappings: [mapping('SmartDocumentsPlugin', 'Plugins/SmartDocuments', ['Wyn.SmartDocuments.Plugin.dll'], 'plugin'), mapping('SmartDocumentsWorker', 'SmartDocumentsWorker', ['Wyn.SmartDocuments.Worker.dll'], 'worker', 'SmartDocumentsWorker')],
41
+ },
42
+ // The collaboration service smart documents depends on: a self-contained
43
+ // native process (Bun/Node + socket.io), not a managed assembly. Its zip is a
44
+ // flat set of binaries, so the whole root is deployed into `CollaborationService`
45
+ // and `<Services><CollaborationService /></Services>` is the only wiring the
46
+ // Server needs — it loads the service itself. Declared with no assembly and no
47
+ // Disabled flag, exactly like the product's own `conf/Wyn.conf`.
48
+ collaboration: {
49
+ plugin: 'wyn-collaboration', filename: v => `collaboration-service.v${v}.zip`,
50
+ mappings: [mapping('', 'CollaborationService', [], 'service', 'CollaborationService')],
51
+ },
34
52
  };
35
53
  //# sourceMappingURL=catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/environment/catalog.ts"],"names":[],"mappings":";;;AAOA,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,WAAmB,EAAE,UAAoB,EAAE,IAA2B,EAAE,OAAgB,EAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7M,QAAA,OAAO,GAAiC;IACnD,MAAM,EAAE;QACN,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;QAClE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAC1E;IACD,UAAU,EAAE;QACV,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM;QACjF,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,wBAAwB,CAAC,EAAE,SAAS,CAAC,CAAC;KAC1E;IACD,MAAM,EAAE;QACN,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,MAAM;QACpE,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;KACvP;IACD,SAAS,EAAE;QACT,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM;QAC7D,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC,2BAA2B,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC,2BAA2B,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;KAC3M;IACD,SAAS,EAAE;QACT,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM;QAC9D,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;KAChP;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM;QACjE,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,uBAAuB,EAAE,CAAC,8BAA8B,CAAC,EAAE,QAAQ,CAAC,CAAC;KACrG;IACD,MAAM,EAAE;QACN,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM;QAC3D,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,uBAAuB,CAAC,EAAE,QAAQ,CAAC,CAAC;KAC9E;CACF,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/environment/catalog.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export interface RuntimeAssembly extends LayoutMapping {
4
4
  assembly: string;
5
5
  path: string;
6
6
  }
7
- export declare function createEnvironmentConfig(plan: EnvironmentPlan, assemblies: RuntimeAssembly[]): string;
7
+ export declare function createEnvironmentConfig(plan: EnvironmentPlan, assemblies: RuntimeAssembly[], platform?: NodeJS.Platform): string;
8
8
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/environment/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK5E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAQ7E;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAEzF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAuCpG"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/environment/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAM5E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAQ7E;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAEzF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAwClJ"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.detectConfigurationSchema = detectConfigurationSchema;
4
4
  exports.createEnvironmentConfig = createEnvironmentConfig;
5
5
  const fast_xml_parser_1 = require("fast-xml-parser");
6
+ const local_path_1 = require("../utils/local-path");
6
7
  const schemaVersions = { V91: '9.1', V100: '10.0' };
7
8
  const schemaNamespace = (schema) => `clr-namespace:ConfigMigration.Configuration.${schema};assembly=Wyn.Configuration`;
8
9
  function detectConfigurationSchema(template) {
@@ -16,18 +17,19 @@ function detectConfigurationSchema(template) {
16
17
  }
17
18
  throw new Error('Unsupported or mismatched monitoring configuration schema/version.');
18
19
  }
19
- function createEnvironmentConfig(plan, assemblies) {
20
+ function createEnvironmentConfig(plan, assemblies, platform = process.platform) {
20
21
  if (plan.schema === 'pending')
21
22
  throw new Error('Configuration schema must be detected from the monitoring package.');
22
- const windowsPath = (value) => value.replace(/\//g, '\\');
23
- const strings = (values) => ({ 'sys:string': values.map(windowsPath) });
23
+ const strings = (values) => ({ 'sys:string': values.map(value => (0, local_path_1.nativeSeparators)(value, platform)) });
24
24
  const plugins = assemblies.filter(a => a.role === 'plugin');
25
25
  plugins.sort((a, b) => Number(b.destination === 'Plugins/Dashboard') - Number(a.destination === 'Plugins/Dashboard'));
26
26
  const services = {};
27
27
  for (const entry of assemblies.filter(a => a.service)) {
28
- services[entry.service] = {
28
+ // A native out-of-process service is declared empty, exactly like the
29
+ // product's own `conf/Wyn.conf`: the Server loads it and supplies the rest.
30
+ services[entry.service] = entry.role === 'service' ? {} : {
29
31
  Assembly: entry.assembly,
30
- WorkingDirectory: windowsPath(entry.destination || '.'),
32
+ WorkingDirectory: (0, local_path_1.nativeSeparators)(entry.destination || '.', platform),
31
33
  Disabled: entry.role === 'worker' ? 'true' : 'false',
32
34
  ...(entry.role === 'server' ? {
33
35
  Urls: `http://localhost:${plan.port}`,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/environment/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/environment/config.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,15 @@ export declare class EnvironmentManager {
18
18
  private readonly portCheck;
19
19
  private readonly pathHolders;
20
20
  constructor(dependencies?: ManagerDependencies);
21
+ /**
22
+ * Resolve the port an environment will use.
23
+ *
24
+ * An explicit port is honored exactly as given — a conflict still fails
25
+ * instead of silently moving. An omitted one takes the first port in
26
+ * `portRange` that is neither reserved by a registered environment nor bound
27
+ * on this host, so two environments never collide by accident.
28
+ */
29
+ private selectPort;
21
30
  create(name: string, options: EnvironmentOptions, clientFactory: () => EnvironmentClient, onProgress?: EnvironmentProgress): Promise<EnvironmentPlan | EnvironmentResult>;
22
31
  private activeCreator;
23
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/environment/manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAsI,MAAM,WAAW,CAAC;AAE/K,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIzH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,oFAAoF;IACpF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACnD;AACD,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJzC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;gBACrC,YAAY,GAAE,mBAAwB;IAC7D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,EAAE,UAAU,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,GAAG,iBAAiB,CAAC;YAwBjK,aAAa;IAO3B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,CAAC,iBAAiB,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;YAS5E,eAAe;YAWf,SAAS;YAQT,KAAK;IACb,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YACzB,MAAM;YAoCN,UAAU;YAWV,SAAS;IAavB,OAAO,CAAC,YAAY;IACd,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,OAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CA0DtG"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/environment/manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAsI,MAAM,WAAW,CAAC;AAG/K,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIzH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,oFAAoF;IACpF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACnD;AACD,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJzC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;gBACrC,YAAY,GAAE,mBAAwB;IACnE;;;;;;;OAOG;YACW,UAAU;IAclB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,EAAE,UAAU,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,GAAG,iBAAiB,CAAC;YA2BjK,aAAa;IAO3B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,CAAC,iBAAiB,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;YAS5E,eAAe;YAWf,SAAS;YAQT,KAAK;IACb,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YACzB,MAAM;YAoCN,UAAU;YAWV,SAAS;IAavB,OAAO,CAAC,YAAY;IACd,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,OAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CA0DtG"}
@@ -40,6 +40,7 @@ const crypto_1 = require("crypto");
40
40
  const fast_xml_parser_1 = require("fast-xml-parser");
41
41
  const registry_1 = require("./registry");
42
42
  const process_1 = require("./process");
43
+ const posix_process_1 = require("./posix-process");
43
44
  const validate_1 = require("./validate");
44
45
  const plan_1 = require("./plan");
45
46
  const builder_1 = require("./builder");
@@ -54,19 +55,46 @@ class EnvironmentManager {
54
55
  constructor(dependencies = {}) {
55
56
  this.dependencies = dependencies;
56
57
  this.registry = dependencies.registry ?? new registry_1.EnvironmentRegistry();
57
- this.processes = dependencies.processes ?? new process_1.WindowsProcessBackend();
58
+ this.processes = dependencies.processes ?? (process.platform === 'win32' ? new process_1.WindowsProcessBackend() : new posix_process_1.PosixProcessBackend());
58
59
  this.portCheck = dependencies.portCheck ?? process_1.checkPort;
59
60
  this.pathHolders = dependencies.pathHolders ?? process_1.describePathHolders;
60
61
  }
62
+ /**
63
+ * Resolve the port an environment will use.
64
+ *
65
+ * An explicit port is honored exactly as given — a conflict still fails
66
+ * instead of silently moving. An omitted one takes the first port in
67
+ * `portRange` that is neither reserved by a registered environment nor bound
68
+ * on this host, so two environments never collide by accident.
69
+ */
70
+ async selectPort(name, requested) {
71
+ if (requested !== undefined)
72
+ return requested;
73
+ const reserved = new Set((await this.registry.read()).map(entry => entry.port));
74
+ for (let candidate = plan_1.portRange.first; candidate <= plan_1.portRange.last; candidate++) {
75
+ if (reserved.has(candidate))
76
+ continue;
77
+ try {
78
+ await this.portCheck(candidate);
79
+ return candidate;
80
+ }
81
+ catch {
82
+ // Bound by something else: try the next candidate.
83
+ }
84
+ }
85
+ throw new Error(`No free port for ${name} between ${plan_1.portRange.first} and ${plan_1.portRange.last}: every candidate is bound on this host or reserved by a registered environment. Pass an explicit --port.`);
86
+ }
61
87
  async create(name, options, clientFactory, onProgress) {
62
- if (!options.dryRun && (this.dependencies.platform ?? process.platform) !== 'win32')
63
- throw new Error('Environment execution is Windows-only. Use dry-run on other platforms.');
64
- const normalized = await (0, plan_1.validateEnvironmentOptions)(options);
88
+ const port = await this.selectPort(name, options.port);
89
+ // Every later step (validation, the plan, the registry record) works on the
90
+ // resolved port, so the reported port is the one that will be served.
91
+ const requested = { ...options, ...(port !== undefined ? { port } : {}) };
92
+ const normalized = await (0, plan_1.validateEnvironmentOptions)(requested);
65
93
  await (0, validate_1.validateEnvironmentRoot)({ root: normalized.root }, this.registry.directory);
66
94
  this.registry.check(await this.registry.read(), name, normalized.root, normalized.port);
67
95
  await this.portCheck(normalized.port);
68
96
  if (options.dryRun) {
69
- const plan = await (0, plan_1.buildEnvironmentPlan)(options, clientFactory(), onProgress);
97
+ const plan = await (0, plan_1.buildEnvironmentPlan)(requested, clientFactory(), onProgress);
70
98
  return { ...plan, managed: { name, root: normalized.root, port: normalized.port } };
71
99
  }
72
100
  const creator = await this.processes.inspect(process.pid);
@@ -75,7 +103,7 @@ class EnvironmentManager {
75
103
  return this.registry.locked(`env-${record.id}`, async () => {
76
104
  try {
77
105
  const client = clientFactory();
78
- const plan = await (0, plan_1.buildEnvironmentPlan)(options, client, onProgress);
106
+ const plan = await (0, plan_1.buildEnvironmentPlan)(requested, client, onProgress);
79
107
  const result = await (0, builder_1.executeEnvironmentPlan)(plan, { client, onProgress, platform: this.dependencies.platform, managed: { id: record.id, name } });
80
108
  record.state = 'ready';
81
109
  delete record.creator;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/environment/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/environment/manager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,41 @@
1
1
  import { EnvironmentClient, EnvironmentModule, EnvironmentOptions, EnvironmentPlan } from './types';
2
- export declare function validateTarget(root: string): Promise<void>;
2
+ export declare function validateTarget(root: string, platform?: NodeJS.Platform): Promise<void>;
3
+ /**
4
+ * Ports a new environment may use. An explicit `--port` is always honored as
5
+ * given; when it is omitted the manager takes the first free port in this range
6
+ * (see `EnvironmentManager.create`).
7
+ */
8
+ export declare const portRange: {
9
+ readonly first: 51900;
10
+ readonly last: 51980;
11
+ };
12
+ /** The port used when a caller builds a plan without choosing one. */
13
+ export declare const defaultPort: number;
14
+ /**
15
+ * Optional (non-core) modules per edition — the single authority for both
16
+ * `create-env` and the web interface.
17
+ *
18
+ * The core components (server, account, dataset, analysis model, cot worker,
19
+ * monitoring) are always included and are never selected here. CN ships
20
+ * dashboards and reporting; EN additionally ships sheets and smart documents.
21
+ */
22
+ export declare const optionalModulesByEdition: Record<'cn' | 'en', EnvironmentModule[]>;
23
+ /** Every selectable optional module, in the order errors and the UI list them. */
24
+ export declare const optionalModules: EnvironmentModule[];
25
+ /** Components every environment contains, selected or not. */
26
+ export declare const coreModules: string[];
27
+ /**
28
+ * Modules a selection pulls in on its own, because the selected module cannot
29
+ * work without them — smart documents requires the collaboration service.
30
+ */
31
+ export declare function dependencyModules(selected: readonly string[]): string[];
32
+ /**
33
+ * The complete module list of a plan, in resolution order: core components,
34
+ * automatically added dependencies, then what the caller selected. `plan.ts`
35
+ * builds the artifacts from this and `builder.ts` re-derives it to validate an
36
+ * untrusted plan, so the two can never disagree.
37
+ */
38
+ export declare function plannedModules(selected: readonly string[]): string[];
3
39
  export declare function validateEnvironmentOptions(options: EnvironmentOptions): Promise<EnvironmentOptions & {
4
40
  edition: 'cn' | 'en';
5
41
  profile: 'embedded';
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEpG,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhE;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CAerM;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAiCnK"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEpG,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B9G;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;CAAyC,CAAC;AAEhE,sEAAsE;AACtE,eAAO,MAAM,WAAW,EAAE,MAAwB,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,iBAAiB,EAAE,CAG7E,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAAiE,CAAC;AAEjH,8DAA8D;AAC9D,eAAO,MAAM,WAAW,EAAE,MAAM,EAAmD,CAAC;AAEpF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAEpE;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CAerM;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAkCnK"}
@@ -33,30 +33,45 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.coreModules = exports.optionalModules = exports.optionalModulesByEdition = exports.defaultPort = exports.portRange = void 0;
36
37
  exports.validateTarget = validateTarget;
38
+ exports.dependencyModules = dependencyModules;
39
+ exports.plannedModules = plannedModules;
37
40
  exports.validateEnvironmentOptions = validateEnvironmentOptions;
38
41
  exports.buildEnvironmentPlan = buildEnvironmentPlan;
39
42
  const fs = __importStar(require("fs/promises"));
40
43
  const path = __importStar(require("path"));
41
44
  const catalog_1 = require("./catalog");
45
+ const root_1 = require("./root");
42
46
  const archive_1 = require("./archive");
43
- async function validateTarget(root) {
44
- const absolute = path.resolve(root);
47
+ async function validateTarget(root, platform = process.platform) {
48
+ // The ancestor rule runs on the requested path, so an operator-created link is
49
+ // still refused; only a platform system link (macOS `/var` → `/private/var`) is
50
+ // allowed, and the caller then stores the canonical location.
51
+ const requested = path.resolve(root);
52
+ const absolute = await (0, root_1.canonicalDirectory)(requested);
45
53
  const relative = absolute.slice(path.parse(absolute).root.length).split(path.sep).join('/');
46
54
  if (relative)
47
55
  (0, archive_1.validateArchivePath)(relative);
48
- const protectedRoots = [process.env.ProgramFiles, process.env['ProgramFiles(x86)'], process.env.SystemRoot, process.env.WINDIR, process.env.USERPROFILE, process.env.HOME].filter((p) => !!p).map(p => path.resolve(p).toLowerCase());
56
+ const declared = platform === 'win32'
57
+ ? [process.env.ProgramFiles, process.env['ProgramFiles(x86)'], process.env.SystemRoot, process.env.WINDIR, process.env.USERPROFILE, process.env.HOME]
58
+ : ['/usr', '/etc', '/bin', '/sbin', '/lib', '/lib64', '/boot', '/dev', '/proc', '/sys', '/opt', '/System', '/Library', '/Applications', process.env.HOME];
59
+ const protectedRoots = declared.filter((value) => typeof value === 'string' && value.trim() !== '').map(value => path.resolve(value).toLowerCase());
49
60
  const normalized = absolute.toLowerCase();
50
61
  if (absolute === path.parse(absolute).root || protectedRoots.some(p => normalized === p || ((p.includes('program files') || p.includes('windows')) && normalized.startsWith(p + path.sep)))) {
51
62
  throw new Error('Environment root is a protected directory.');
52
63
  }
53
64
  // Reject links in all existing ancestors, not only the final directory.
54
- for (let current = absolute;; current = path.dirname(current)) {
65
+ for (let current = requested;; current = path.dirname(current)) {
55
66
  try {
56
67
  const stat = await fs.lstat(current);
57
- if (stat.isSymbolicLink() || !stat.isDirectory())
68
+ if (stat.isSymbolicLink()) {
69
+ if (!(0, root_1.isSystemLinkTarget)(await fs.realpath(current).catch(() => ''), platform))
70
+ throw new Error('Environment root or ancestor is not a regular directory.');
71
+ }
72
+ else if (!stat.isDirectory())
58
73
  throw new Error('Environment root or ancestor is not a regular directory.');
59
- if (current === absolute && (await fs.readdir(current)).length)
74
+ if (current === requested && (await fs.readdir(current)).length)
60
75
  throw new Error('Environment root must be absent or empty.');
61
76
  }
62
77
  catch (error) {
@@ -67,12 +82,52 @@ async function validateTarget(root) {
67
82
  break;
68
83
  }
69
84
  }
85
+ /**
86
+ * Ports a new environment may use. An explicit `--port` is always honored as
87
+ * given; when it is omitted the manager takes the first free port in this range
88
+ * (see `EnvironmentManager.create`).
89
+ */
90
+ exports.portRange = { first: 51900, last: 51980 };
91
+ /** The port used when a caller builds a plan without choosing one. */
92
+ exports.defaultPort = exports.portRange.first;
93
+ /**
94
+ * Optional (non-core) modules per edition — the single authority for both
95
+ * `create-env` and the web interface.
96
+ *
97
+ * The core components (server, account, dataset, analysis model, cot worker,
98
+ * monitoring) are always included and are never selected here. CN ships
99
+ * dashboards and reporting; EN additionally ships sheets and smart documents.
100
+ */
101
+ exports.optionalModulesByEdition = {
102
+ cn: ['dashboard', 'reporting'],
103
+ en: ['dashboard', 'reporting', 'sheets', 'documents'],
104
+ };
105
+ /** Every selectable optional module, in the order errors and the UI list them. */
106
+ exports.optionalModules = [...new Set(Object.values(exports.optionalModulesByEdition).flat())];
107
+ /** Components every environment contains, selected or not. */
108
+ exports.coreModules = ['server', 'monitoring', 'common', 'analysis'];
109
+ /**
110
+ * Modules a selection pulls in on its own, because the selected module cannot
111
+ * work without them — smart documents requires the collaboration service.
112
+ */
113
+ function dependencyModules(selected) {
114
+ return selected.includes('documents') ? ['collaboration'] : [];
115
+ }
116
+ /**
117
+ * The complete module list of a plan, in resolution order: core components,
118
+ * automatically added dependencies, then what the caller selected. `plan.ts`
119
+ * builds the artifacts from this and `builder.ts` re-derives it to validate an
120
+ * untrusted plan, so the two can never disagree.
121
+ */
122
+ function plannedModules(selected) {
123
+ return [...exports.coreModules, ...dependencyModules(selected), ...selected];
124
+ }
70
125
  async function validateEnvironmentOptions(options) {
71
126
  if (!options.root || !options.major || !/^(9\.1(?:-[A-Za-z0-9][A-Za-z0-9._-]*)?|dev)$/.test(options.major))
72
127
  throw new Error('Supported product majors: 9.1, 9.1-* and dev (artifact-derived V91/V100).');
73
128
  const edition = options.edition ?? 'cn';
74
129
  const profile = options.profile ?? 'embedded';
75
- const port = options.port ?? 51980;
130
+ const port = options.port ?? exports.defaultPort;
76
131
  if (!['cn', 'en'].includes(edition))
77
132
  throw new Error('Edition must be cn or en.');
78
133
  if (profile !== 'embedded')
@@ -81,21 +136,21 @@ async function validateEnvironmentOptions(options) {
81
136
  throw new Error('Port must be an integer between 1 and 65535.');
82
137
  const requestedModules = [...new Set((options.modules ?? []).flatMap(m => m.split(',')).map(m => m.trim()).filter(Boolean))];
83
138
  const modules = requestedModules.filter(m => !['server', 'account', 'dataset', 'analysis', 'cot-worker', 'common', 'monitoring'].includes(m)).sort();
84
- if (modules.some(m => !['dashboard', 'reporting', 'sheets', 'documents'].includes(m)))
85
- throw new Error('Select optional modules: dashboard, reporting, sheets, documents. Wyn core server, account, dataset, analysis model and cot worker are always included.');
86
- if (edition !== 'en' && modules.some(m => ['sheets', 'documents'].includes(m)))
87
- throw new Error('Sheets and documents require EN edition.');
88
- if (modules.includes('documents'))
89
- throw new Error('Documents embedded execution is not supported: CollaborationService dependency is unverified.');
139
+ if (modules.some(m => !exports.optionalModules.includes(m)))
140
+ throw new Error(`Select optional modules: ${exports.optionalModules.join(', ')}. Wyn core server, account, dataset, analysis model and cot worker are always included.`);
141
+ const unsupported = modules.filter(m => !exports.optionalModulesByEdition[edition].includes(m));
142
+ if (unsupported.length)
143
+ throw new Error(`${unsupported.map(m => m === 'sheets' ? 'Sheets' : 'Documents').join(' and ')} require EN edition.`);
90
144
  await validateTarget(options.root);
91
- return { ...options, root: path.resolve(options.root), edition, profile, port, modules: modules };
145
+ return { ...options, root: await (0, root_1.canonicalDirectory)(options.root), edition, profile, port, modules: modules };
92
146
  }
93
147
  async function buildEnvironmentPlan(options, client, onProgress) {
94
148
  onProgress?.('Validating environment options and target directory');
95
149
  const normalized = await validateEnvironmentOptions(options);
96
- const autoAddedModules = ['server', 'monitoring', 'common', 'analysis'];
150
+ const modules = plannedModules(normalized.modules);
151
+ const selected = new Set(normalized.modules);
152
+ const autoAddedModules = modules.filter(module => !selected.has(module));
97
153
  const artifacts = [];
98
- const modules = [...autoAddedModules, ...normalized.modules];
99
154
  for (const [index, module] of modules.entries()) {
100
155
  const entry = catalog_1.catalog[module];
101
156
  onProgress?.(`[${index + 1}/${modules.length}] Resolving ${entry.plugin}/${normalized.major}`);
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { ProcessIdentity, RunMode } from './registry';
2
+ import { Inspection, ProcessBackend, StartedProcess } from './process';
3
+ /** `/proc/<pid>/stat`, parsed from the last `)` so a `comm` with spaces is safe. */
4
+ export interface ProcStat {
5
+ command: string;
6
+ parentPid: number;
7
+ startTicks: number;
8
+ }
9
+ export declare function parseProcStat(text: string): ProcStat | undefined;
10
+ /**
11
+ * One `ps` row: `pid lstart comm args`. `lstart` is five fields
12
+ * (`Www Mmm D HH:MM:SS Yyyy`) and requires `LC_ALL=C` to be parseable.
13
+ */
14
+ export interface PsRow {
15
+ pid: number;
16
+ createdAt: string;
17
+ executable: string;
18
+ args: string;
19
+ }
20
+ export declare function parsePsLine(line: string): PsRow | undefined;
21
+ /**
22
+ * Process management on Linux and macOS.
23
+ *
24
+ * Linux reads `/proc` directly; macOS has no `/proc`, so it uses `ps` with
25
+ * `LC_ALL=C`. Both paths fail closed: anything that cannot be established
26
+ * exactly is reported as `unknown`, never guessed, because the caller refuses
27
+ * lifecycle operations on an uncertain identity.
28
+ *
29
+ * Identities carry the process start time, which is what makes PID reuse safe:
30
+ * a recycled PID has a different start time and therefore a different identity.
31
+ */
32
+ export declare class PosixProcessBackend implements ProcessBackend {
33
+ private readonly identityTimeoutMs;
34
+ private readonly platform;
35
+ constructor(identityTimeoutMs?: number, platform?: NodeJS.Platform);
36
+ /** Boot time in ms, needed to turn `/proc` jiffies into a real timestamp. */
37
+ private bootTimeMs;
38
+ private readProc;
39
+ /** `ps` rows for one pid or every process; macOS only (Linux uses /proc). */
40
+ private psRows;
41
+ private inspectPs;
42
+ inspect(pid: number): Promise<Inspection>;
43
+ /** Every process whose command is this monitor's exact `dotnet <dll> --RunAsMonitor`. */
44
+ find(command: string): Promise<Inspection[]>;
45
+ /**
46
+ * A relative same-name launch cannot be attributed to an environment, but it is
47
+ * also never one of ours: environments are always started with an absolute path.
48
+ */
49
+ private match;
50
+ start(dll: string, mode: RunMode, stdout: string, stderr: string): Promise<StartedProcess>;
51
+ /** Foreground: inherit the terminal, so Ctrl+C reaches the monitor and output stays visible. */
52
+ private startForeground;
53
+ /**
54
+ * Background: `detached: true` gives the monitor its own process group, so this
55
+ * CLI can exit and a later `stop` can signal the whole tree with `kill(-pid)`.
56
+ * POSIX has no console-title constraint, so no hidden-console host is needed.
57
+ */
58
+ private startBackground;
59
+ /** Wait until exactly one monitor for `dll` is visible; ambiguous launches are refused. */
60
+ private verify;
61
+ /** Terminate leftovers of a failed launch and report how many remain. */
62
+ private cleanup;
63
+ private describeLaunchFailure;
64
+ /** Direct children of `pid`, oldest-first, with the same PID-reuse guards as Windows. */
65
+ private children;
66
+ private descendants;
67
+ /** Terminate a verified monitor and its descendants; never guesses. */
68
+ private terminate;
69
+ stop(identity: ProcessIdentity): Promise<void>;
70
+ }
71
+ //# sourceMappingURL=posix-process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posix-process.d.ts","sourceRoot":"","sources":["../../src/environment/posix-process.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAiB,UAAU,EAA+C,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOnI,oFAAoF;AACpF,MAAM,WAAW,QAAQ;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AACpF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAUhE;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC3F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAM3D;AAYD;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IAC5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAAU,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAApD,iBAAiB,SAAQ,EAAmB,QAAQ,GAAE,MAAM,CAAC,QAA2B;IAErH,6EAA6E;YAC/D,UAAU;YAOV,QAAQ;IActB,6EAA6E;YAC/D,MAAM;YAMN,SAAS;IAWjB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAM/C,yFAAyF;IACnF,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA4BlD;;;OAGG;IACH,OAAO,CAAC,KAAK;IAUP,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIhG,gGAAgG;YAClF,eAAe;IAS7B;;;;OAIG;YACW,eAAe;IAoB7B,2FAA2F;YAC7E,MAAM;IAcpB,yEAAyE;YAC3D,OAAO;IAMrB,OAAO,CAAC,qBAAqB;IAM7B,yFAAyF;YAC3E,QAAQ;YAqBR,WAAW;IAmBzB,uEAAuE;YACzD,SAAS;IAuCjB,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAKrD"}