agl 21.0.2 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/changelog.md +9 -0
  2. package/dist_serve/bundle.js +1 -1
  3. package/dist_ts/00_commitinfo_data.js +1 -1
  4. package/dist_ts/classes.aglhome.d.ts +25 -0
  5. package/dist_ts/classes.aglhome.js +65 -0
  6. package/dist_ts/classes.authmodels.js +7 -12
  7. package/dist_ts/classes.authstore.js +2 -29
  8. package/dist_ts/classes.cli.js +93 -35
  9. package/dist_ts/classes.config.d.ts +2 -11
  10. package/dist_ts/classes.config.js +14 -80
  11. package/dist_ts/classes.controller.d.ts +4 -1
  12. package/dist_ts/classes.controller.js +64 -26
  13. package/dist_ts/classes.embeddeddb.js +6 -5
  14. package/dist_ts/classes.gitreversion.js +3 -2
  15. package/dist_ts/classes.upgradecoordinator.d.ts +6 -1
  16. package/dist_ts/classes.upgradecoordinator.js +588 -177
  17. package/dist_ts/classes.upgradetransaction.js +46 -12
  18. package/dist_ts/classes.uploadmanager.d.ts +12 -0
  19. package/dist_ts/classes.uploadmanager.js +204 -2
  20. package/dist_ts/constants.upgradeenvironment.d.ts +2 -0
  21. package/dist_ts/constants.upgradeenvironment.js +3 -0
  22. package/dist_ts/functions.controllerdataroot.d.ts +4 -5
  23. package/dist_ts/functions.controllerdataroot.js +4 -29
  24. package/dist_ts/functions.embeddeddb.d.ts +1 -1
  25. package/dist_ts/functions.embeddeddb.js +8 -3
  26. package/dist_ts/functions.runtimeenvironment.js +2 -1
  27. package/dist_ts/index.d.ts +1 -0
  28. package/dist_ts/index.js +2 -1
  29. package/dist_ts/interfaces.config.d.ts +5 -7
  30. package/dist_ts_migration/classes.documentmigrationrunner.js +3 -1
  31. package/dist_ts_migration/index.d.ts +2 -0
  32. package/dist_ts_migration/index.js +3 -1
  33. package/dist_ts_migration/v23_aglhome.d.ts +91 -0
  34. package/dist_ts_migration/v23_aglhome.js +1775 -0
  35. package/dist_ts_migration/v23_runtimeconfig.d.ts +11 -0
  36. package/dist_ts_migration/v23_runtimeconfig.js +87 -0
  37. package/dist_ts_migration/v2_controllerdataroot.d.ts +5 -0
  38. package/dist_ts_migration/v2_controllerdataroot.js +176 -15
  39. package/package.json +1 -1
  40. package/readme.md +116 -35
  41. package/readme.plan.md +24 -9
  42. package/ts/00_commitinfo_data.ts +1 -1
  43. package/ts/classes.aglhome.ts +116 -0
  44. package/ts/classes.authmodels.ts +5 -13
  45. package/ts/classes.authstore.ts +1 -39
  46. package/ts/classes.cli.ts +92 -34
  47. package/ts/classes.config.ts +20 -117
  48. package/ts/classes.controller.ts +92 -26
  49. package/ts/classes.embeddeddb.ts +5 -4
  50. package/ts/classes.gitreversion.ts +3 -2
  51. package/ts/classes.upgradecoordinator.ts +668 -191
  52. package/ts/classes.upgradetransaction.ts +46 -11
  53. package/ts/classes.uploadmanager.ts +231 -1
  54. package/ts/constants.upgradeenvironment.ts +2 -0
  55. package/ts/functions.controllerdataroot.ts +11 -47
  56. package/ts/functions.embeddeddb.ts +13 -2
  57. package/ts/functions.runtimeenvironment.ts +1 -0
  58. package/ts/index.ts +1 -0
  59. package/ts/interfaces.config.ts +5 -7
  60. package/ts_migration/classes.documentmigrationrunner.ts +2 -0
  61. package/ts_migration/index.ts +2 -0
  62. package/ts_migration/v23_aglhome.ts +2101 -0
  63. package/ts_migration/v23_runtimeconfig.ts +112 -0
  64. package/ts_migration/v2_controllerdataroot.ts +174 -16
  65. package/ts_web/00_commitinfo_data.ts +1 -1
@@ -1,13 +1,15 @@
1
1
  import * as plugins from './plugins.js';
2
2
  import { commitinfo } from './00_commitinfo_data.js';
3
3
  import { controllerPackageName, controllerProtocolVersion, controllerUpgradeManagementVersion, } from '../dist_ts_interfaces/index.js';
4
- import { controllerDataDirectory, defaultControllerPort, } from './classes.config.js';
5
- import { ensureControllerDataRoot } from './functions.controllerdataroot.js';
4
+ import { defaultControllerPort, } from './classes.config.js';
5
+ import { resolveAGLHomePaths } from './classes.aglhome.js';
6
+ import { ensureControllerDataRoot, preflightAGLHomeMigration, } from './functions.controllerdataroot.js';
6
7
  import { assertProvidedSetupCode, SmartDataAuthStore } from './classes.authstore.js';
7
8
  import { OpenCodeController } from './classes.controller.js';
8
9
  import { assertControllerStatus, isLoopbackPortListening, queryControllerStatus as queryManagedControllerStatus, requestControllerUpgradeLaunch, stopVerifiedController, tryQueryControllerStatus as tryQueryManagedControllerStatus, waitUntilControllerExited, } from './classes.controllermanagement.js';
9
10
  import { inspectControllerProcess, listControllerProcessesForCli, signalVerifiedControllerProcess, } from './classes.processinspection.js';
10
- import { createUpgradeToken, parseUpgradeWorkerPayload, UpgradeCoordinator, upgradePackageTransitionSource, upgradePackageTransitionTarget, upgradeTokenEnvironmentVariable, } from './classes.upgradecoordinator.js';
11
+ import { createUpgradeToken, parseUpgradeWorkerPayload, UpgradeCoordinator, upgradePackageTransitionSource, upgradePackageTransitionTarget, } from './classes.upgradecoordinator.js';
12
+ import { upgradeTokenEnvironmentVariable } from './constants.upgradeenvironment.js';
11
13
  import { createUpgradeWorkerPayload, launchDetachedUpgradeWorker, resolveCurrentCliPath, resolveCurrentPnpmGlobalInstallation, runUpgradeWorker, tryResolveCurrentPnpmGlobalInstallation, } from './classes.upgradetransaction.js';
12
14
  import { followUpgradeTransaction } from './functions.upgradefollower.js';
13
15
  const currentCliName = commitinfo.name === upgradePackageTransitionSource.packageName
@@ -36,13 +38,14 @@ Commands:
36
38
  temp-password Mint a temporary browser login password (max 24 hours)
37
39
  help Show this help
38
40
 
39
- First-start options:
41
+ Startup options:
40
42
  --port <port> Controller port (default: 4097)
41
43
  --opencode-port <port> Local-only OpenCode port (default: 4098)
42
- --directory <path> Fixed OpenCode workspace (default: current directory)
44
+ --directory <path> Transiently register this existing directory on this start
45
+ (also valid later; omitted: do not create a project)
43
46
  --projects-root <path> Default base for relative project paths and suggestions
44
- (default: workspace; explicitly typed absolute projects may
45
- be outside it; adopted once, then immutable)
47
+ (default: user home; explicitly typed absolute projects may
48
+ be outside it; immutable after initialization)
46
49
  --public-origin <origin> Browser origin used for WebAuthn
47
50
  --rp-id <hostname> WebAuthn relying-party ID
48
51
  --behind-tls-proxy Trust an explicitly configured TLS reverse proxy
@@ -61,11 +64,10 @@ Upgrade requirements:
61
64
  on Linux and macOS. Normal progress mode prints the detached worker log before
62
65
  stopping anything; --json emits it in the terminal document.
63
66
 
64
- ${currentRuntimeName} stores its data in an embedded database engine by default
65
- (under $XDG_CONFIG_HOME/hcon/smartdb, default
66
- ~/.config/hcon/smartdb; repository checkouts use ./.nogit/smartdb;
67
- override the directory
68
- with HARNESS_CONTROLLER_DB_DIR). Set HARNESS_CONTROLLER_MONGO_URL /
67
+ ${currentRuntimeName} owns one private AGL_HOME (default
68
+ $XDG_CONFIG_HOME/agl, normally ~/.config/agl; repository checkouts use
69
+ ./.nogit/agl). The embedded database lives under $AGL_HOME/database; override
70
+ the database directory with HARNESS_CONTROLLER_DB_DIR. Set HARNESS_CONTROLLER_MONGO_URL /
69
71
  HARNESS_CONTROLLER_MONGO_DB to use an external MongoDB-compatible server
70
72
  instead. temp-password writes to the controller database directly, so run
71
73
  it with the same database environment as the running controller; in
@@ -74,10 +76,10 @@ password authenticates the browser UI without a passkey until it expires.
74
76
 
75
77
  The first successful start prints a one-time setup code. Runtime configuration
76
78
  is immutable after initialization; use the same --port for later management.
77
- Detached starts append ${currentRuntimeName} errors to a log file under
78
- $XDG_CONFIG_HOME/harness-controller (default ~/.config/harness-controller;
79
- repository checkouts use ./.nogit). Upgrade workers write a separate private
80
- log under that retained legacy root and print its path before work begins.
79
+ --directory is transient and may be supplied on any stopped start.
80
+ Detached starts append ${currentRuntimeName} errors to
81
+ $AGL_HOME/logs/controller-<port>.log. Upgrade workers write a separate private
82
+ log in $AGL_HOME/logs and print its path before work begins.
81
83
  In --json mode the path is retained before work begins and emitted at completion.
82
84
  `.trim();
83
85
  const publicCliCommands = new Set([
@@ -167,17 +169,23 @@ const readNumberOption = (argvArg, keyArg, alternateKeyArg, fallbackArg, minimum
167
169
  };
168
170
  export const readUpgradeGracePeriodMs = (argvArg) => (readNumberOption(argvArg, 'gracePeriodSeconds', 'grace-period-seconds', 300, 1, 3_600) * 1_000);
169
171
  const readPortOption = (argvArg, keyArg, alternateKeyArg, fallbackArg) => readNumberOption(argvArg, keyArg, alternateKeyArg, fallbackArg, 1, 65_535);
170
- export const parseRuntimeOverrides = (argvArg) => ({
171
- controllerPort: readPortOption(argvArg, 'port', 'port', defaultControllerPort),
172
- publicOrigin: readStringOption(argvArg, 'publicOrigin', 'public-origin'),
173
- rpId: readStringOption(argvArg, 'rpId', 'rp-id'),
174
- workspaceDirectory: readStringOption(argvArg, 'directory', 'directory'),
175
- projectsRoot: readStringOption(argvArg, 'projectsRoot', 'projects-root'),
176
- opencodePort: readPortOption(argvArg, 'opencodePort', 'opencode-port'),
177
- behindTlsProxy: readOption(argvArg, 'behindTlsProxy', 'behind-tls-proxy') === undefined
178
- ? undefined
179
- : readBooleanOption(argvArg, 'behindTlsProxy', 'behind-tls-proxy'),
180
- });
172
+ export const parseRuntimeOverrides = (argvArg) => {
173
+ const initialProjectDirectory = readStringOption(argvArg, 'directory', 'directory');
174
+ const projectsRoot = readStringOption(argvArg, 'projectsRoot', 'projects-root');
175
+ return {
176
+ controllerPort: readPortOption(argvArg, 'port', 'port', defaultControllerPort),
177
+ publicOrigin: readStringOption(argvArg, 'publicOrigin', 'public-origin'),
178
+ rpId: readStringOption(argvArg, 'rpId', 'rp-id'),
179
+ initialProjectDirectory: initialProjectDirectory === undefined
180
+ ? undefined
181
+ : plugins.path.resolve(initialProjectDirectory),
182
+ projectsRoot: projectsRoot === undefined ? undefined : plugins.path.resolve(projectsRoot),
183
+ opencodePort: readPortOption(argvArg, 'opencodePort', 'opencode-port'),
184
+ behindTlsProxy: readOption(argvArg, 'behindTlsProxy', 'behind-tls-proxy') === undefined
185
+ ? undefined
186
+ : readBooleanOption(argvArg, 'behindTlsProxy', 'behind-tls-proxy'),
187
+ };
188
+ };
181
189
  const currentStatusExpectation = {
182
190
  packageName: controllerPackageName,
183
191
  packageVersion: commitinfo.version,
@@ -227,7 +235,7 @@ const detachedLogRotateBytes = 1024 * 1024;
227
235
  class RetainedControllerStartupError extends Error {
228
236
  }
229
237
  const resolveDetachedLogFilePath = (portArg) => {
230
- return plugins.path.join(controllerDataDirectory(), `controller-${portArg}.log`);
238
+ return plugins.path.join(resolveAGLHomePaths().logs, `controller-${portArg}.log`);
231
239
  };
232
240
  const openDetachedLogFile = async (logFilePathArg) => {
233
241
  await plugins.fs.promises.mkdir(plugins.path.dirname(logFilePathArg), { recursive: true, mode: 0o700 });
@@ -274,12 +282,13 @@ const acquireStartAdmission = async (commandArg) => {
274
282
  const installation = await tryResolveCurrentPnpmGlobalInstallation();
275
283
  if (!installation)
276
284
  return undefined;
285
+ const upgradeToken = process.env[upgradeTokenEnvironmentVariable];
277
286
  const coordinator = new UpgradeCoordinator(installation.globalRoot);
278
287
  return await coordinator.acquireStartLease({
279
288
  token: createUpgradeToken(),
280
289
  cliPath: installation.cliPath,
281
290
  command: commandArg,
282
- upgradeToken: process.env[upgradeTokenEnvironmentVariable],
291
+ upgradeToken,
283
292
  });
284
293
  };
285
294
  const serializeRuntimeOptions = (overridesArg) => {
@@ -288,8 +297,9 @@ const serializeRuntimeOptions = (overridesArg) => {
288
297
  args.push('--public-origin', overridesArg.publicOrigin);
289
298
  if (overridesArg.rpId !== undefined)
290
299
  args.push('--rp-id', overridesArg.rpId);
291
- if (overridesArg.workspaceDirectory !== undefined)
292
- args.push('--directory', overridesArg.workspaceDirectory);
300
+ if (overridesArg.initialProjectDirectory !== undefined) {
301
+ args.push('--directory', overridesArg.initialProjectDirectory);
302
+ }
293
303
  if (overridesArg.projectsRoot !== undefined)
294
304
  args.push('--projects-root', overridesArg.projectsRoot);
295
305
  if (overridesArg.opencodePort !== undefined)
@@ -483,6 +493,7 @@ const startDetachedWithoutAdmission = async (argvArg) => {
483
493
  if (existingProcess) {
484
494
  throw new Error(`An ${currentRuntimeName} process is already starting or running (PID ${existingProcess.identity.pid}).`);
485
495
  }
496
+ await ensureControllerDataRoot();
486
497
  const upgradeToken = process.env[upgradeTokenEnvironmentVariable];
487
498
  let upgradeGlobalRoot;
488
499
  if (upgradeToken) {
@@ -491,11 +502,12 @@ const startDetachedWithoutAdmission = async (argvArg) => {
491
502
  const logFilePath = resolveDetachedLogFilePath(overrides.controllerPort);
492
503
  const logFileHandle = await openDetachedLogFile(logFilePath);
493
504
  let child;
505
+ let spawnError;
494
506
  try {
495
507
  const childEnvironment = { ...process.env };
496
508
  delete childEnvironment[upgradeTokenEnvironmentVariable];
497
509
  child = plugins.childProcess.spawn(process.execPath, [cliPath, '__serve', ...serializeRuntimeOptions(overrides)], {
498
- cwd: process.cwd(),
510
+ cwd: plugins.os.homedir(),
499
511
  detached: true,
500
512
  env: childEnvironment,
501
513
  shell: false,
@@ -504,10 +516,46 @@ const startDetachedWithoutAdmission = async (argvArg) => {
504
516
  stdio: ['ignore', 'ignore', logFileHandle.fd, 'ipc'],
505
517
  });
506
518
  }
507
- finally {
519
+ catch (errorArg) {
520
+ spawnError = errorArg;
521
+ }
522
+ let logCloseError;
523
+ try {
508
524
  await logFileHandle.close();
509
525
  }
510
- if (!child.pid)
526
+ catch (errorArg) {
527
+ try {
528
+ await logFileHandle.close();
529
+ }
530
+ catch (retryErrorArg) {
531
+ logCloseError = new AggregateError([errorArg, retryErrorArg], 'The detached controller log handle could not be closed.');
532
+ }
533
+ }
534
+ if (spawnError !== undefined || logCloseError !== undefined) {
535
+ const errors = [spawnError, logCloseError]
536
+ .filter((errorArg) => errorArg !== undefined);
537
+ if (child) {
538
+ try {
539
+ if (child.exitCode === null && child.signalCode === null)
540
+ child.kill('SIGKILL');
541
+ if (!await waitForSpawnedChildExit(child, 2_000)) {
542
+ throw new Error('The gated detached controller survived startup-handle cleanup.');
543
+ }
544
+ }
545
+ catch (errorArg) {
546
+ errors.push(errorArg);
547
+ }
548
+ finally {
549
+ if (child.connected)
550
+ child.disconnect();
551
+ child.unref();
552
+ }
553
+ }
554
+ if (errors.length === 1)
555
+ throw errors[0];
556
+ throw new AggregateError(errors, 'Detached controller spawn or log-handle cleanup failed.');
557
+ }
558
+ if (!child?.pid)
511
559
  throw new Error('Detached controller did not provide a process ID.');
512
560
  let spawnedIdentity = null;
513
561
  try {
@@ -583,6 +631,7 @@ const startDetachedWithoutAdmission = async (argvArg) => {
583
631
  }
584
632
  };
585
633
  const startDetached = async (argvArg) => {
634
+ await preflightAGLHomeMigration();
586
635
  const lease = await acquireStartAdmission('start');
587
636
  try {
588
637
  await startDetachedWithoutAdmission(argvArg);
@@ -592,6 +641,7 @@ const startDetached = async (argvArg) => {
592
641
  }
593
642
  };
594
643
  const runForegroundWithAdmission = async (argvArg) => {
644
+ await preflightAGLHomeMigration();
595
645
  const lease = await acquireStartAdmission('foreground');
596
646
  delete process.env[upgradeTokenEnvironmentVariable];
597
647
  try {
@@ -624,6 +674,9 @@ const runControllerProcess = async (argvArg, detachedArg) => {
624
674
  else {
625
675
  providedSetupCode = readProvidedSetupCode();
626
676
  }
677
+ if (upgradeToken !== undefined) {
678
+ process.env[upgradeTokenEnvironmentVariable] = upgradeToken;
679
+ }
627
680
  const controller = new OpenCodeController({
628
681
  processMode: detachedArg ? 'detached' : 'foreground',
629
682
  runtimeOverrides: parseRuntimeOverrides(argvArg),
@@ -777,6 +830,7 @@ export const createCurrentPackageUpgradeTransaction = async (coordinatorArg, opt
777
830
  return await coordinatorArg.createTransaction(optionsArg);
778
831
  };
779
832
  const upgradeController = async (argvArg) => {
833
+ await preflightAGLHomeMigration();
780
834
  if (process.platform !== 'linux' && process.platform !== 'darwin') {
781
835
  throw new Error(`${currentCliName} upgrade is currently supported on Linux and macOS only.`);
782
836
  }
@@ -788,6 +842,8 @@ const upgradeController = async (argvArg) => {
788
842
  if (!status && await isLoopbackPortListening(port)) {
789
843
  throw new Error(`Port ${port} is occupied by an incompatible service or controller version; refusing to upgrade.`);
790
844
  }
845
+ if (!status)
846
+ await ensureControllerDataRoot();
791
847
  const payload = createUpgradeWorkerPayload({
792
848
  port,
793
849
  gracePeriodMs,
@@ -1027,6 +1083,7 @@ const mintTempPasswordWithoutAdmission = async (argvArg) => {
1027
1083
  }
1028
1084
  };
1029
1085
  const mintTempPassword = async (argvArg) => {
1086
+ await preflightAGLHomeMigration();
1030
1087
  const lease = await acquireStartAdmission('temp-password');
1031
1088
  try {
1032
1089
  await mintTempPasswordWithoutAdmission(argvArg);
@@ -1036,6 +1093,7 @@ const mintTempPassword = async (argvArg) => {
1036
1093
  }
1037
1094
  };
1038
1095
  export const runCli = async (testArgvArg) => {
1096
+ process.env.AGL_HOME = resolveAGLHomePaths().root;
1039
1097
  activeRuntimeArguments = (testArgvArg ?? process.argv).slice(2);
1040
1098
  if (activeRuntimeArguments.some((argumentArg) => argumentArg === '--help' || argumentArg === '-h')
1041
1099
  && (activeRuntimeArguments[0] === '--help'
@@ -1079,4 +1137,4 @@ export const runCli = async (testArgvArg) => {
1079
1137
  }
1080
1138
  await commandPromise;
1081
1139
  };
1082
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jbGFzc2VzLmNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsa0NBQWtDLEdBRW5DLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQVE3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixxQkFBcUIsSUFBSSw0QkFBNEIsRUFDckQsOEJBQThCLEVBQzlCLHNCQUFzQixFQUN0Qix3QkFBd0IsSUFBSSwrQkFBK0IsRUFDM0QseUJBQXlCLEdBQzFCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUNMLHdCQUF3QixFQUN4Qiw2QkFBNkIsRUFDN0IsK0JBQStCLEdBQ2hDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFFOUIsK0JBQStCLEdBQ2hDLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUNMLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3JCLG9DQUFvQyxFQUNwQyxnQkFBZ0IsRUFDaEIsdUNBQXVDLEdBQ3hDLE1BQU0s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
1140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jbGFzc2VzLmNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsa0NBQWtDLEdBRW5DLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLHFCQUFxQixHQUN0QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIseUJBQXlCLEdBQzFCLE1BQU0sbUNBQW1DLENBQUM7QUFRM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIscUJBQXFCLElBQUksNEJBQTRCLEVBQ3JELDhCQUE4QixFQUM5QixzQkFBc0IsRUFDdEIsd0JBQXdCLElBQUksK0JBQStCLEVBQzNELHlCQUF5QixHQUMxQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLCtCQUErQixHQUNoQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIsOEJBQThCLEdBRS9CLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUNMLDBCQUEw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
@@ -1,19 +1,10 @@
1
+ import { type IAGLHomeOptions } from './classes.aglhome.js';
1
2
  import type { IControllerDatabaseConfig, IControllerRuntimeConfig, IControllerRuntimeOverrides, TControllerTlsMode } from './interfaces.config.js';
2
3
  export declare const defaultControllerPort = 4097;
3
4
  export declare const defaultOpenCodePort = 4098;
4
5
  export declare const trustedProxySecretEnvironmentVariable = "HARNESS_CONTROLLER_TRUSTED_PROXY_SECRET";
5
- export interface IControllerDataDirectoryOptions {
6
- packageRoot?: string;
7
- homeDirectory?: string;
8
- environment?: NodeJS.ProcessEnv;
6
+ export interface IControllerDataDirectoryOptions extends IAGLHomeOptions {
9
7
  }
10
- export interface IControllerDataRootPaths {
11
- legacyRoot: string;
12
- targetRoot: string;
13
- migrationRequired: boolean;
14
- }
15
- export declare const controllerDataRootPaths: (optionsArg?: IControllerDataDirectoryOptions) => IControllerDataRootPaths;
16
- /** Retained location for controller and upgrade logs across the A to B transition. */
17
8
  export declare const controllerDataDirectory: (optionsArg?: IControllerDataDirectoryOptions) => string;
18
9
  /** @deprecated Use controllerDataDirectory(). */
19
10
  export declare const controllerStateDirectory: (optionsArg?: IControllerDataDirectoryOptions) => string;