@mearl/client 2.21.0 → 2.22.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 (125) hide show
  1. package/README.md +31 -1
  2. package/dist/actionTimeouts.js +1 -1
  3. package/dist/artifacts.d.ts +1 -1
  4. package/dist/browserRegistry.d.ts +1 -1
  5. package/dist/check.d.ts +1 -1
  6. package/dist/cli.js +4 -3
  7. package/dist/commands.d.ts +9 -9
  8. package/dist/commands.js +3 -2
  9. package/dist/{generated-app-profile-definition.d.ts → generated/app-profile-definition.d.ts} +2 -2
  10. package/dist/{generated-app-profile-runtime-types.d.ts → generated/app-profile-runtime-types.d.ts} +2 -2
  11. package/dist/{generated-plugin-diagnostics.d.ts → generated/plugin-diagnostics.d.ts} +4 -4
  12. package/dist/{generated-plugin-execution.d.ts → generated/plugin-execution.d.ts} +2 -2
  13. package/dist/{generated-plugin-pages.d.ts → generated/plugin-pages.d.ts} +1 -1
  14. package/dist/{generated-plugin-tasks.d.ts → generated/plugin-tasks.d.ts} +2 -2
  15. package/dist/index.d.ts +15 -15
  16. package/dist/index.js +7 -7
  17. package/dist/pageEvalArguments.d.ts +1 -1
  18. package/dist/pageEvalArguments.js +1 -1
  19. package/dist/plugin-task-host.js +1 -1
  20. package/dist/plugin-worker.js +2 -2
  21. package/dist/plugin.d.ts +1 -118
  22. package/dist/plugin.js +1 -672
  23. package/dist/pluginModelSessionWorker.d.ts +2 -2
  24. package/dist/pluginModelSessionWorker.js +4 -4
  25. package/dist/{pluginHostConnection.d.ts → plugins/clients/pluginHostConnection.d.ts} +2 -2
  26. package/dist/{pluginHostConnection.js → plugins/clients/pluginHostConnection.js} +6 -7
  27. package/dist/{pluginModels.d.ts → plugins/clients/pluginModels.d.ts} +3 -3
  28. package/dist/{pluginPages.d.ts → plugins/clients/pluginPages.d.ts} +3 -3
  29. package/dist/{pluginPages.js → plugins/clients/pluginPages.js} +1 -1
  30. package/dist/{pluginState.d.ts → plugins/clients/pluginState.d.ts} +3 -3
  31. package/dist/{pluginTasks.d.ts → plugins/clients/pluginTasks.d.ts} +4 -4
  32. package/dist/{pluginTasks.js → plugins/clients/pluginTasks.js} +4 -4
  33. package/dist/{officialPluginInstaller.js → plugins/officialPluginInstaller.js} +1 -3
  34. package/dist/{pluginRegistry.d.ts → plugins/pluginRegistry.d.ts} +1 -1
  35. package/dist/{pluginRegistry.js → plugins/pluginRegistry.js} +3 -3
  36. package/dist/{pluginTaskProtocol.d.ts → plugins/pluginTaskProtocol.d.ts} +2 -2
  37. package/dist/{pluginCommandWorker.js → plugins/runtime/pluginCommandWorker.js} +3 -3
  38. package/dist/{pluginDiagnostics.d.ts → plugins/runtime/pluginDiagnostics.d.ts} +4 -4
  39. package/dist/{pluginDiagnostics.js → plugins/runtime/pluginDiagnostics.js} +2 -2
  40. package/dist/{pluginExecution.d.ts → plugins/runtime/pluginExecution.d.ts} +3 -3
  41. package/dist/{pluginExecution.js → plugins/runtime/pluginExecution.js} +1 -1
  42. package/dist/{pluginExecutor.d.ts → plugins/runtime/pluginExecutor.d.ts} +3 -3
  43. package/dist/{pluginExecutor.js → plugins/runtime/pluginExecutor.js} +4 -4
  44. package/dist/{pluginExecutorProtocol.d.ts → plugins/runtime/pluginExecutorProtocol.d.ts} +4 -4
  45. package/dist/{pluginHost.d.ts → plugins/runtime/pluginHost.d.ts} +3 -3
  46. package/dist/{pluginHostPaths.js → plugins/runtime/pluginHostPaths.js} +1 -1
  47. package/dist/{pluginHostServer.js → plugins/runtime/pluginHostServer.js} +3 -3
  48. package/dist/{pluginModelCatalog.d.ts → plugins/runtime/pluginModelCatalog.d.ts} +1 -1
  49. package/dist/{pluginModelSessions.js → plugins/runtime/pluginModelSessions.js} +3 -3
  50. package/dist/{pluginPageManager.d.ts → plugins/runtime/pluginPageManager.d.ts} +4 -4
  51. package/dist/{pluginPageManager.js → plugins/runtime/pluginPageManager.js} +5 -5
  52. package/dist/{pluginRevision.d.ts → plugins/runtime/pluginRevision.d.ts} +1 -1
  53. package/dist/{pluginRevision.js → plugins/runtime/pluginRevision.js} +1 -1
  54. package/dist/{pluginRuntimeCleanup.js → plugins/runtime/pluginRuntimeCleanup.js} +2 -2
  55. package/dist/{pluginStateManager.d.ts → plugins/runtime/pluginStateManager.d.ts} +2 -2
  56. package/dist/{pluginStateManager.js → plugins/runtime/pluginStateManager.js} +2 -2
  57. package/dist/{pluginStateStore.d.ts → plugins/runtime/pluginStateStore.d.ts} +1 -1
  58. package/dist/{pluginStateStore.js → plugins/runtime/pluginStateStore.js} +1 -1
  59. package/dist/{pluginTaskManager.d.ts → plugins/runtime/pluginTaskManager.d.ts} +12 -12
  60. package/dist/{pluginTaskManager.js → plugins/runtime/pluginTaskManager.js} +6 -6
  61. package/dist/{pluginTaskStore.d.ts → plugins/runtime/pluginTaskStore.d.ts} +4 -4
  62. package/dist/{pluginTaskStore.js → plugins/runtime/pluginTaskStore.js} +1 -1
  63. package/dist/{pythonPlugin.d.ts → plugins/runtime/pythonPlugin.d.ts} +2 -2
  64. package/dist/{pythonPlugin.js → plugins/runtime/pythonPlugin.js} +2 -2
  65. package/dist/plugins/sdk/plugin.d.ts +118 -0
  66. package/dist/plugins/sdk/plugin.js +672 -0
  67. package/dist/{pluginAppProfiles.d.ts → plugins/sdk/pluginAppProfiles.d.ts} +1 -1
  68. package/dist/{pluginAppProfiles.js → plugins/sdk/pluginAppProfiles.js} +2 -2
  69. package/dist/{pluginModelDefinition.d.ts → plugins/sdk/pluginModelDefinition.d.ts} +1 -1
  70. package/dist/{pluginPageDefinition.d.ts → plugins/sdk/pluginPageDefinition.d.ts} +1 -1
  71. package/dist/{pluginPageDefinition.js → plugins/sdk/pluginPageDefinition.js} +1 -1
  72. package/dist/{pluginRecoveryDefinition.d.ts → plugins/sdk/pluginRecoveryDefinition.d.ts} +1 -1
  73. package/dist/{pluginStateDefinition.d.ts → plugins/sdk/pluginStateDefinition.d.ts} +2 -2
  74. package/dist/runtimePaths.d.ts +4 -0
  75. package/dist/runtimePaths.js +8 -0
  76. package/dist/socket.d.ts +2 -2
  77. package/dist/socket.js +5 -4
  78. package/dist/unified.d.ts +2 -2
  79. package/dist/unified.js +7 -7
  80. package/package.json +5 -5
  81. /package/dist/{generated-app-profile-definition.js → generated/app-profile-definition.js} +0 -0
  82. /package/dist/{generated-app-profile-runtime-types.js → generated/app-profile-runtime-types.js} +0 -0
  83. /package/dist/{generated-browser-action-protocol.d.ts → generated/browser-action-protocol.d.ts} +0 -0
  84. /package/dist/{generated-browser-action-protocol.js → generated/browser-action-protocol.js} +0 -0
  85. /package/dist/{generated-plugin-diagnostics.js → generated/plugin-diagnostics.js} +0 -0
  86. /package/dist/{generated-plugin-execution.js → generated/plugin-execution.js} +0 -0
  87. /package/dist/{generated-plugin-models.d.ts → generated/plugin-models.d.ts} +0 -0
  88. /package/dist/{generated-plugin-models.js → generated/plugin-models.js} +0 -0
  89. /package/dist/{generated-plugin-pages.js → generated/plugin-pages.js} +0 -0
  90. /package/dist/{generated-plugin-recovery.d.ts → generated/plugin-recovery.d.ts} +0 -0
  91. /package/dist/{generated-plugin-recovery.js → generated/plugin-recovery.js} +0 -0
  92. /package/dist/{generated-plugin-state.d.ts → generated/plugin-state.d.ts} +0 -0
  93. /package/dist/{generated-plugin-state.js → generated/plugin-state.js} +0 -0
  94. /package/dist/{generated-plugin-tasks.js → generated/plugin-tasks.js} +0 -0
  95. /package/dist/{generated-toolbox-icon.d.ts → generated/toolbox-icon.d.ts} +0 -0
  96. /package/dist/{generated-toolbox-icon.js → generated/toolbox-icon.js} +0 -0
  97. /package/dist/{pluginModels.js → plugins/clients/pluginModels.js} +0 -0
  98. /package/dist/{pluginState.js → plugins/clients/pluginState.js} +0 -0
  99. /package/dist/{officialPluginCatalog.d.ts → plugins/officialPluginCatalog.d.ts} +0 -0
  100. /package/dist/{officialPluginCatalog.js → plugins/officialPluginCatalog.js} +0 -0
  101. /package/dist/{officialPluginInstaller.d.ts → plugins/officialPluginInstaller.d.ts} +0 -0
  102. /package/dist/{pluginPageBundle.d.ts → plugins/pluginPageBundle.d.ts} +0 -0
  103. /package/dist/{pluginPageBundle.js → plugins/pluginPageBundle.js} +0 -0
  104. /package/dist/{pluginSource.d.ts → plugins/pluginSource.d.ts} +0 -0
  105. /package/dist/{pluginSource.js → plugins/pluginSource.js} +0 -0
  106. /package/dist/{pluginTaskProtocol.js → plugins/pluginTaskProtocol.js} +0 -0
  107. /package/dist/{pluginTaskWire.d.ts → plugins/pluginTaskWire.d.ts} +0 -0
  108. /package/dist/{pluginTaskWire.js → plugins/pluginTaskWire.js} +0 -0
  109. /package/dist/{pluginCommandWorker.d.ts → plugins/runtime/pluginCommandWorker.d.ts} +0 -0
  110. /package/dist/{pluginExecutorProtocol.js → plugins/runtime/pluginExecutorProtocol.js} +0 -0
  111. /package/dist/{pluginExecutorSupervisor.d.ts → plugins/runtime/pluginExecutorSupervisor.d.ts} +0 -0
  112. /package/dist/{pluginExecutorSupervisor.js → plugins/runtime/pluginExecutorSupervisor.js} +0 -0
  113. /package/dist/{pluginHost.js → plugins/runtime/pluginHost.js} +0 -0
  114. /package/dist/{pluginHostFiles.d.ts → plugins/runtime/pluginHostFiles.d.ts} +0 -0
  115. /package/dist/{pluginHostFiles.js → plugins/runtime/pluginHostFiles.js} +0 -0
  116. /package/dist/{pluginHostPaths.d.ts → plugins/runtime/pluginHostPaths.d.ts} +0 -0
  117. /package/dist/{pluginHostServer.d.ts → plugins/runtime/pluginHostServer.d.ts} +0 -0
  118. /package/dist/{pluginModelCatalog.js → plugins/runtime/pluginModelCatalog.js} +0 -0
  119. /package/dist/{pluginModelSessions.d.ts → plugins/runtime/pluginModelSessions.d.ts} +0 -0
  120. /package/dist/{pluginProcessTree.d.ts → plugins/runtime/pluginProcessTree.d.ts} +0 -0
  121. /package/dist/{pluginProcessTree.js → plugins/runtime/pluginProcessTree.js} +0 -0
  122. /package/dist/{pluginRuntimeCleanup.d.ts → plugins/runtime/pluginRuntimeCleanup.d.ts} +0 -0
  123. /package/dist/{pluginModelDefinition.js → plugins/sdk/pluginModelDefinition.js} +0 -0
  124. /package/dist/{pluginRecoveryDefinition.js → plugins/sdk/pluginRecoveryDefinition.js} +0 -0
  125. /package/dist/{pluginStateDefinition.js → plugins/sdk/pluginStateDefinition.js} +0 -0
@@ -1,13 +1,13 @@
1
- import { readFileSync } from 'node:fs';
2
- import { serializePluginExecutionError } from './pluginExecutorProtocol.js';
3
- import { supervisePluginExecutor } from './pluginExecutorSupervisor.js';
1
+ import { CLIENT_VERSION } from './runtimePaths.js';
2
+ import { serializePluginExecutionError } from './plugins/runtime/pluginExecutorProtocol.js';
3
+ import { supervisePluginExecutor } from './plugins/runtime/pluginExecutorSupervisor.js';
4
4
  if (process.argv[2] !== '--command') {
5
5
  supervisePluginExecutor(import.meta.url);
6
6
  }
7
7
  else {
8
8
  const ready = import('@mearl/agent-runtime/codex').then(runtime => ({
9
9
  runtime,
10
- provider: new runtime.CodexAgentProvider(() => { }, JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version),
10
+ provider: new runtime.CodexAgentProvider(() => { }, CLIENT_VERSION),
11
11
  }));
12
12
  const conversation = {};
13
13
  let busy = false;
@@ -1,5 +1,5 @@
1
- import type { PluginInvocationSource, PluginExecutionHost } from './generated-plugin-execution.js';
2
- import type { PluginExecutionContext } from './plugin.js';
1
+ import type { PluginInvocationSource, PluginExecutionHost } from '../../generated/plugin-execution.js';
2
+ import type { PluginExecutionContext } from '../sdk/plugin.js';
3
3
  export interface PluginHostConnectionOptions {
4
4
  source?: PluginInvocationSource;
5
5
  plugin?: string;
@@ -1,12 +1,12 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { closeSync, mkdirSync, openSync } from 'node:fs';
3
3
  import { createConnection } from 'node:net';
4
- import { fileURLToPath } from 'node:url';
4
+ import { PLUGIN_TASK_HOST_PATH } from '../../runtimePaths.js';
5
5
  import { claimRecord, isProcessOwnerAlive, processIdentity, readRecord, removeInvalidRecord, removeRecordIfPid, rotateLogIfNeeded, } from '@mearl/daemon-core';
6
- import { pluginHostPaths } from './pluginHostPaths.js';
7
- import { PLUGIN_TASK_PROTOCOL_VERSION } from './generated-plugin-tasks.js';
8
- import { readPluginTaskMessages, writePluginTaskMessage } from './pluginTaskWire.js';
9
- import { pluginExecutionError, serializePluginExecutionError } from './pluginExecutorProtocol.js';
6
+ import { pluginHostPaths } from '../runtime/pluginHostPaths.js';
7
+ import { PLUGIN_TASK_PROTOCOL_VERSION } from '../../generated/plugin-tasks.js';
8
+ import { readPluginTaskMessages, writePluginTaskMessage } from '../pluginTaskWire.js';
9
+ import { pluginExecutionError, serializePluginExecutionError, } from '../runtime/pluginExecutorProtocol.js';
10
10
  const starting = new Map();
11
11
  async function ensureHost(runtimePath) {
12
12
  const paths = pluginHostPaths();
@@ -112,8 +112,7 @@ export class PluginHostConnection {
112
112
  if (!['ENOENT', 'ECONNREFUSED', 'PLUGIN_TASK_CONNECTION_LOST'].includes(code ?? ''))
113
113
  throw error;
114
114
  }
115
- await ensureHost(this.configuration.runtimePath ??
116
- fileURLToPath(new URL('./plugin-task-host.js', import.meta.url)));
115
+ await ensureHost(this.configuration.runtimePath ?? PLUGIN_TASK_HOST_PATH);
117
116
  const deadline = Date.now() + 10000;
118
117
  let failure;
119
118
  do {
@@ -1,9 +1,9 @@
1
1
  import type { PluginHostClientOptions } from './pluginHostConnection.js';
2
2
  import { PluginTaskClient } from './pluginTasks.js';
3
3
  import type { PluginTaskStartOptions, PluginTaskWaitOptions } from './pluginTasks.js';
4
- import type { PluginModelRequest, PluginModelResult, PluginModelCapability, PluginModelList } from './generated-plugin-models.js';
5
- import type { PluginTaskStartResult } from './generated-plugin-tasks.js';
6
- export type * from './generated-plugin-models.js';
4
+ import type { PluginModelRequest, PluginModelResult, PluginModelCapability, PluginModelList } from '../../generated/plugin-models.js';
5
+ import type { PluginTaskStartResult } from '../../generated/plugin-tasks.js';
6
+ export type * from '../../generated/plugin-models.js';
7
7
  export declare class PluginModelClient {
8
8
  readonly tasks: PluginTaskClient;
9
9
  constructor(options?: PluginHostClientOptions);
@@ -1,7 +1,7 @@
1
1
  import type { PluginHostConnection } from './pluginHostConnection.js';
2
- import type { UnifiedClientOptions, UnifiedInvokeOptions } from './unified.js';
3
- import type { PluginPageInstance, PluginPageEvents, PluginPageOperation } from './generated-plugin-pages.js';
4
- export type { PluginPageInstance, PluginPageEvents, PluginPageRuntime, PluginPageActivation, PluginPageTarget, PluginPageOperation, } from './generated-plugin-pages.js';
2
+ import type { UnifiedClientOptions, UnifiedInvokeOptions } from '../../unified.js';
3
+ import type { PluginPageInstance, PluginPageEvents, PluginPageOperation } from '../../generated/plugin-pages.js';
4
+ export type { PluginPageInstance, PluginPageEvents, PluginPageRuntime, PluginPageActivation, PluginPageTarget, PluginPageOperation, } from '../../generated/plugin-pages.js';
5
5
  export declare class PluginPageClient {
6
6
  private readonly connection?;
7
7
  private readonly client?;
@@ -1,4 +1,4 @@
1
- import { UnifiedClient } from './unified.js';
1
+ import { UnifiedClient } from '../../unified.js';
2
2
  export class PluginPageClient {
3
3
  connection;
4
4
  client;
@@ -1,8 +1,8 @@
1
1
  import { PluginHostConnection } from './pluginHostConnection.js';
2
2
  import type { PluginHostClientOptions } from './pluginHostConnection.js';
3
- import type { PluginOptions } from './plugin.js';
4
- import type { PluginStateOperation, PluginStateSnapshot, PluginStateList, PluginStateTransaction } from './generated-plugin-state.js';
5
- export type * from './generated-plugin-state.js';
3
+ import type { PluginOptions } from '../sdk/plugin.js';
4
+ import type { PluginStateOperation, PluginStateSnapshot, PluginStateList, PluginStateTransaction } from '../../generated/plugin-state.js';
5
+ export type * from '../../generated/plugin-state.js';
6
6
  export declare class PluginStateClient {
7
7
  private readonly options;
8
8
  readonly connection: PluginHostConnection;
@@ -1,9 +1,9 @@
1
1
  import { PluginHostConnection } from './pluginHostConnection.js';
2
2
  import type { PluginHostClientOptions, HostStatus as PluginHostStatus } from './pluginHostConnection.js';
3
- import type { PluginTaskCheckpoint } from './generated-plugin-recovery.js';
4
- import type { PluginDiagnosticOptions, PluginDiagnosticReport } from './generated-plugin-diagnostics.js';
5
- import type { PluginTask, PluginTaskEvents, PluginTaskListResult, PluginTaskResultChunk, PluginTaskStartResult } from './generated-plugin-tasks.js';
6
- import type { PluginInvocation, PluginOptions } from './plugin.js';
3
+ import type { PluginTaskCheckpoint } from '../../generated/plugin-recovery.js';
4
+ import type { PluginDiagnosticOptions, PluginDiagnosticReport } from '../../generated/plugin-diagnostics.js';
5
+ import type { PluginTask, PluginTaskEvents, PluginTaskListResult, PluginTaskResultChunk, PluginTaskStartResult } from '../../generated/plugin-tasks.js';
6
+ import type { PluginInvocation, PluginOptions } from '../sdk/plugin.js';
7
7
  export type { PluginTask, PluginTaskEvents, PluginTaskListResult, PluginTaskStartResult };
8
8
  export interface PluginTaskStartOptions extends PluginOptions {
9
9
  cwd?: string;
@@ -1,10 +1,10 @@
1
1
  import { PluginHostConnection } from './pluginHostConnection.js';
2
2
  import { createHash } from 'node:crypto';
3
3
  import { isProcessOwnerAlive, readRecord } from '@mearl/daemon-core';
4
- import { pluginHostPaths } from './pluginHostPaths.js';
5
- import { UnifiedClient, decodeBrowserTarget } from './unified.js';
6
- import { isPluginTaskActive } from './generated-plugin-tasks.js';
7
- import { pluginExecutionError } from './pluginExecutorProtocol.js';
4
+ import { pluginHostPaths } from '../runtime/pluginHostPaths.js';
5
+ import { UnifiedClient, decodeBrowserTarget } from '../../unified.js';
6
+ import { isPluginTaskActive } from '../../generated/plugin-tasks.js';
7
+ import { pluginExecutionError } from '../runtime/pluginExecutorProtocol.js';
8
8
  function localWait(promise, signal, timeoutMs = Infinity) {
9
9
  return new Promise((resolve, reject) => {
10
10
  const abort = () => {
@@ -1,11 +1,9 @@
1
1
  import { closeSync, mkdirSync, openSync, rmSync, statSync, writeFileSync } from 'node:fs';
2
- import { createRequire } from 'node:module';
2
+ import { CLIENT_VERSION } from '../runtimePaths.js';
3
3
  import { join } from 'node:path';
4
4
  import { spawn } from 'node:child_process';
5
5
  import { findOfficialPlugin } from './officialPluginCatalog.js';
6
6
  import { findPluginRegistration, pluginDirectory } from './pluginRegistry.js';
7
- const require = createRequire(import.meta.url);
8
- const CLIENT_VERSION = require('../package.json').version;
9
7
  const INSTALL_TIMEOUT_MS = 180_000;
10
8
  const INSTALL_LOCK_STALE_MS = 5 * 60_000;
11
9
  const MAX_INSTALL_OUTPUT = 1024 * 1024;
@@ -1,4 +1,4 @@
1
- import { type AppProfileContribution } from './generated-app-profile-definition.js';
1
+ import { type AppProfileContribution } from '../generated/app-profile-definition.js';
2
2
  export declare class PluginError extends Error {
3
3
  readonly code: string;
4
4
  constructor(code: string, message: string);
@@ -1,10 +1,10 @@
1
- import { validateAppProfileContribution, } from './generated-app-profile-definition.js';
1
+ import { validateAppProfileContribution, } from '../generated/app-profile-definition.js';
2
2
  import { randomUUID } from 'node:crypto';
3
- import { parseToolboxIcon } from './generated-toolbox-icon.js';
3
+ import { parseToolboxIcon } from '../generated/toolbox-icon.js';
4
4
  import { closeSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, renameSync, rmSync, statSync, writeFileSync, } from 'node:fs';
5
5
  import { homedir } from 'node:os';
6
6
  import { isAbsolute, join, resolve } from 'node:path';
7
- import { COMMAND_MAP } from './commands.js';
7
+ import { COMMAND_MAP } from '../commands.js';
8
8
  import { buildPluginPageBundle, PLUGIN_PAGE_CHUNK_BYTES, PLUGIN_PAGE_RUNTIME_HASH, } from './pluginPageBundle.js';
9
9
  import { pluginFileVersion } from './pluginSource.js';
10
10
  const RESERVED_NAMES = new Set([
@@ -1,5 +1,5 @@
1
- import type { PluginExecutionError, PluginInvocationSource } from './generated-plugin-execution.js';
2
- import type { PluginOptions } from './plugin.js';
1
+ import type { PluginExecutionError, PluginInvocationSource } from '../generated/plugin-execution.js';
2
+ import type { PluginOptions } from './sdk/plugin.js';
3
3
  export interface PluginTaskScope {
4
4
  access: 'public' | 'toolbox' | 'runtime';
5
5
  plugin?: string;
@@ -1,6 +1,6 @@
1
- import { pluginRecoverySignature } from './pluginRecoveryDefinition.js';
2
- import { loadPlugin, findPluginRegistration, invokeRegisteredPlugin, invokeRegisteredToolboxPlugin, invokeRegisteredRuntimePlugin, invokeRegisteredRecoveryPlugin, } from './plugin.js';
3
- import { pluginFileVersion } from './pluginSource.js';
1
+ import { pluginRecoverySignature } from '../sdk/pluginRecoveryDefinition.js';
2
+ import { loadPlugin, findPluginRegistration, invokeRegisteredPlugin, invokeRegisteredToolboxPlugin, invokeRegisteredRuntimePlugin, invokeRegisteredRecoveryPlugin, } from '../sdk/plugin.js';
3
+ import { pluginFileVersion } from '../pluginSource.js';
4
4
  import { MAX_PLUGIN_RESULT_BYTES, pluginExecutionError, serializePluginExecutionError, } from './pluginExecutorProtocol.js';
5
5
  const controller = new AbortController();
6
6
  const pending = new Map();
@@ -1,8 +1,8 @@
1
- import type { PluginModelDiagnostic } from './generated-plugin-models.js';
2
- import type { PluginDiagnosticFailure, PluginDiagnosticOptions, PluginDiagnosticPage, PluginDiagnosticPageBinding, PluginDiagnosticReport } from './generated-plugin-diagnostics.js';
1
+ import type { PluginModelDiagnostic } from '../../generated/plugin-models.js';
2
+ import type { PluginDiagnosticFailure, PluginDiagnosticOptions, PluginDiagnosticPage, PluginDiagnosticPageBinding, PluginDiagnosticReport } from '../../generated/plugin-diagnostics.js';
3
3
  import type { PluginTaskRecord } from './pluginTaskStore.js';
4
- import type { PluginTaskScope } from './pluginTaskProtocol.js';
5
- import type { PluginExecutionHost } from './generated-plugin-execution.js';
4
+ import type { PluginTaskScope } from '../pluginTaskProtocol.js';
5
+ import type { PluginExecutionHost } from '../../generated/plugin-execution.js';
6
6
  export declare const MAX_PLUGIN_DIAGNOSTIC_BYTES: number;
7
7
  export declare function normalizeDiagnosticOptions(value: unknown): PluginDiagnosticOptions;
8
8
  export declare function diagnosticFailure(value: {
@@ -1,7 +1,7 @@
1
1
  import { isProcessOwnerAlive } from '@mearl/daemon-core';
2
2
  import { basename } from 'node:path';
3
- import { isPluginTaskId, PLUGIN_TASK_PROTOCOL_VERSION } from './generated-plugin-tasks.js';
4
- import { isPluginPageInstanceId } from './generated-plugin-pages.js';
3
+ import { isPluginTaskId, PLUGIN_TASK_PROTOCOL_VERSION } from '../../generated/plugin-tasks.js';
4
+ import { isPluginPageInstanceId } from '../../generated/plugin-pages.js';
5
5
  export const MAX_PLUGIN_DIAGNOSTIC_BYTES = 256 * 1024;
6
6
  function text(value, maximum = 256) {
7
7
  if (typeof value !== 'string')
@@ -1,6 +1,6 @@
1
- import type { PluginExecutionHost, PluginInvocationIdentity, PluginInvocationSource } from './generated-plugin-execution.js';
2
- import type { PluginApp } from './plugin.js';
3
- import type { PluginTaskRecoveryContext } from './generated-plugin-recovery.js';
1
+ import type { PluginExecutionHost, PluginInvocationIdentity, PluginInvocationSource } from '../../generated/plugin-execution.js';
2
+ import type { PluginApp } from '../sdk/plugin.js';
3
+ import type { PluginTaskRecoveryContext } from '../../generated/plugin-recovery.js';
4
4
  export type { PluginExecutionHost, PluginInvocationIdentity, PluginInvocationSource };
5
5
  export interface PluginCommandContext extends Pick<PluginApp, 'invoke' | 'progress'> {
6
6
  readonly identity: Readonly<PluginInvocationIdentity>;
@@ -1,7 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { linkSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
- import { pluginDirectory } from './pluginRegistry.js';
4
+ import { pluginDirectory } from '../pluginRegistry.js';
5
5
  const epoch = randomUUID();
6
6
  const hostIds = new Map();
7
7
  const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
@@ -1,6 +1,6 @@
1
- import type { PluginModelDiagnostic, PluginModelRequest } from './generated-plugin-models.js';
2
- import { type PluginRegistration } from './pluginRegistry.js';
3
- import type { PluginExecutionContext, PluginInvocation, PluginInvokeOptions } from './plugin.js';
1
+ import type { PluginModelDiagnostic, PluginModelRequest } from '../../generated/plugin-models.js';
2
+ import { type PluginRegistration } from '../pluginRegistry.js';
3
+ import type { PluginExecutionContext, PluginInvocation, PluginInvokeOptions } from '../sdk/plugin.js';
4
4
  export interface PluginExecutorDependencies {
5
5
  stopProcessTree?: (pid: number) => Promise<void>;
6
6
  registration?: PluginRegistration;
@@ -1,7 +1,7 @@
1
1
  import { fork } from 'node:child_process';
2
- import { fileURLToPath } from 'node:url';
3
- import { findPluginRegistration, PluginError } from './pluginRegistry.js';
4
- import { pluginFileVersion } from './pluginSource.js';
2
+ import { PLUGIN_WORKER_PATH } from '../../runtimePaths.js';
3
+ import { findPluginRegistration, PluginError } from '../pluginRegistry.js';
4
+ import { pluginFileVersion } from '../pluginSource.js';
5
5
  import { createPluginInvocationIdentity } from './pluginExecution.js';
6
6
  import { pluginExecutionError, serializePluginExecutionError } from './pluginExecutorProtocol.js';
7
7
  import { stopPluginProcessTree } from './pluginProcessTree.js';
@@ -24,7 +24,7 @@ export async function executeRegisteredPlugin(plugin, invocation, context, optio
24
24
  createPluginInvocationIdentity(plugin, source ?? context.source ?? 'sdk', context.parentInvocation);
25
25
  const entryVersion = pluginFileVersion(registration.entry);
26
26
  return new Promise((resolve, reject) => {
27
- const child = fork(workerPath ?? fileURLToPath(new URL('./plugin-worker.js', import.meta.url)), [], {
27
+ const child = fork(workerPath ?? PLUGIN_WORKER_PATH, [], {
28
28
  stdio: ['ignore', 'ignore', 'pipe', 'ipc'],
29
29
  serialization: 'advanced',
30
30
  execArgv: [],
@@ -1,7 +1,7 @@
1
- import type { PluginModelDiagnostic, PluginModelRequest } from './generated-plugin-models.js';
2
- import type { PluginInvocationIdentity, PluginExecutionError } from './generated-plugin-execution.js';
3
- import type { PluginInvocation, PluginOptions, PluginProgress } from './plugin.js';
4
- import type { PluginRegistration } from './pluginRegistry.js';
1
+ import type { PluginModelDiagnostic, PluginModelRequest } from '../../generated/plugin-models.js';
2
+ import type { PluginInvocationIdentity, PluginExecutionError } from '../../generated/plugin-execution.js';
3
+ import type { PluginInvocation, PluginOptions, PluginProgress } from '../sdk/plugin.js';
4
+ import type { PluginRegistration } from '../pluginRegistry.js';
5
5
  export type PluginWorkerRequest = {
6
6
  type: 'start';
7
7
  plugin: string;
@@ -4,8 +4,8 @@ import { PluginStateManager } from './pluginStateManager.js';
4
4
  import { PluginPageManager } from './pluginPageManager.js';
5
5
  import { PluginModelCatalog } from './pluginModelCatalog.js';
6
6
  import { PluginModelSessions } from './pluginModelSessions.js';
7
- import type { PluginDiagnosticOptions } from './generated-plugin-diagnostics.js';
8
- import type { PluginTaskScope } from './pluginTaskProtocol.js';
7
+ import type { PluginDiagnosticOptions } from '../../generated/plugin-diagnostics.js';
8
+ import type { PluginTaskScope } from '../pluginTaskProtocol.js';
9
9
  /** The host owns service composition; task execution receives explicit service dependencies. */
10
10
  export declare class PluginHost {
11
11
  readonly tasks: PluginTaskManager;
@@ -15,6 +15,6 @@ export declare class PluginHost {
15
15
  readonly modelSessions: PluginModelSessions;
16
16
  private closing?;
17
17
  constructor(configuration?: PluginTaskManagerOptions);
18
- diagnose(value: PluginDiagnosticOptions, scope: PluginTaskScope): import("./generated-plugin-diagnostics.js").PluginDiagnosticReport;
18
+ diagnose(value: PluginDiagnosticOptions, scope: PluginTaskScope): import("../../generated/plugin-diagnostics.js").PluginDiagnosticReport;
19
19
  close(): Promise<void>;
20
20
  }
@@ -1,7 +1,7 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { tmpdir } from 'node:os';
3
3
  import { join } from 'node:path';
4
- import { pluginDirectory } from './pluginRegistry.js';
4
+ import { pluginDirectory } from '../pluginRegistry.js';
5
5
  export function pluginHostPaths() {
6
6
  const registry = pluginDirectory();
7
7
  const key = createHash('sha256').update(registry).digest('hex').slice(0, 16);
@@ -2,10 +2,10 @@ import { randomUUID } from 'node:crypto';
2
2
  import { createServer } from 'node:net';
3
3
  import { chmodSync, rmSync } from 'node:fs';
4
4
  import { claimRecord, isProcessOwnerAlive, processIdentity, readRecord, removeInvalidRecord, removeRecordIfPid, writeRecordIfPid, } from '@mearl/daemon-core';
5
- import { PLUGIN_TASK_PROTOCOL_VERSION } from './generated-plugin-tasks.js';
5
+ import { PLUGIN_TASK_PROTOCOL_VERSION } from '../../generated/plugin-tasks.js';
6
6
  import { pluginHostPaths } from './pluginHostPaths.js';
7
7
  import { PluginHost } from './pluginHost.js';
8
- import { readPluginTaskMessages, writePluginTaskMessage } from './pluginTaskWire.js';
8
+ import { readPluginTaskMessages, writePluginTaskMessage } from '../pluginTaskWire.js';
9
9
  import { pluginExecutionError, serializePluginExecutionError } from './pluginExecutorProtocol.js';
10
10
  export async function startPluginHostServer(configuration = {}) {
11
11
  const paths = pluginHostPaths();
@@ -122,7 +122,7 @@ export async function startPluginHostServer(configuration = {}) {
122
122
  if (method === 'model.list')
123
123
  return models.list(input.provider);
124
124
  if (method === 'model.capabilities')
125
- return (await import('./pluginModelDefinition.js')).pluginModelCapabilities();
125
+ return (await import('../sdk/pluginModelDefinition.js')).pluginModelCapabilities();
126
126
  if (method === 'page.call') {
127
127
  const execution = input.execution;
128
128
  return pages.call(String(input.plugin), input.input, bridge, input.options, execution
@@ -1,4 +1,4 @@
1
- import type { PluginModelList, PluginModelOption } from './generated-plugin-models.js';
1
+ import type { PluginModelList, PluginModelOption } from '../../generated/plugin-models.js';
2
2
  /** A bounded shared lookup avoids starting a discovery process for each open tool. */
3
3
  export declare class PluginModelCatalog {
4
4
  private readonly discover;
@@ -1,10 +1,10 @@
1
1
  import { fork } from 'node:child_process';
2
2
  import { createHash } from 'node:crypto';
3
- import { fileURLToPath } from 'node:url';
3
+ import { PLUGIN_MODEL_SESSION_WORKER_PATH } from '../../runtimePaths.js';
4
4
  import { processIdentity } from '@mearl/daemon-core';
5
5
  import { pluginExecutionError } from './pluginExecutorProtocol.js';
6
6
  import { stopPluginProcessTree } from './pluginProcessTree.js';
7
- import { validatePluginModelResult } from './pluginModelDefinition.js';
7
+ import { validatePluginModelResult } from '../sdk/pluginModelDefinition.js';
8
8
  /** Opt-in conversations retain a supervised process and thread within one execution owner. */
9
9
  export class PluginModelSessions {
10
10
  idleMs;
@@ -13,7 +13,7 @@ export class PluginModelSessions {
13
13
  sessions = new Map();
14
14
  closing = new Set();
15
15
  closed = false;
16
- constructor(idleMs = 5 * 60_000, limit = 2, workerPath = fileURLToPath(new URL('./pluginModelSessionWorker.js', import.meta.url))) {
16
+ constructor(idleMs = 5 * 60_000, limit = 2, workerPath = PLUGIN_MODEL_SESSION_WORKER_PATH) {
17
17
  this.idleMs = idleMs;
18
18
  this.limit = limit;
19
19
  this.workerPath = workerPath;
@@ -1,9 +1,9 @@
1
- import type { PluginDiagnosticPage } from './generated-plugin-diagnostics.js';
1
+ import type { PluginDiagnosticPage } from '../../generated/plugin-diagnostics.js';
2
2
  import type { PluginStateManager } from './pluginStateManager.js';
3
- import type { PluginInvocationIdentity } from './generated-plugin-execution.js';
3
+ import type { PluginInvocationIdentity } from '../../generated/plugin-execution.js';
4
4
  import type { PluginRevision } from './pluginRevision.js';
5
- import type { PluginOptions } from './plugin.js';
6
- import type { PluginPageTarget } from './generated-plugin-pages.js';
5
+ import type { PluginOptions } from '../sdk/plugin.js';
6
+ import type { PluginPageTarget } from '../../generated/plugin-pages.js';
7
7
  import type { PluginTaskBridge, PluginTaskManager } from './pluginTaskManager.js';
8
8
  interface Execution {
9
9
  cwd: string;
@@ -4,13 +4,13 @@ import { EventEmitter } from 'node:events';
4
4
  import { readFileSync, statSync } from 'node:fs';
5
5
  import { isAbsolute, join } from 'node:path';
6
6
  import { capturePluginRevision } from './pluginRevision.js';
7
- import { findPluginRegistration } from './plugin.js';
8
- import { compilePluginPageSchema } from './pluginPageDefinition.js';
9
- import { UnifiedClient, decodeBrowserTarget } from './unified.js';
7
+ import { findPluginRegistration } from '../sdk/plugin.js';
8
+ import { compilePluginPageSchema } from '../sdk/pluginPageDefinition.js';
9
+ import { UnifiedClient, decodeBrowserTarget } from '../../unified.js';
10
10
  import { pluginHostPaths } from './pluginHostPaths.js';
11
11
  import { serializePluginExecutionError, pluginExecutionError } from './pluginExecutorProtocol.js';
12
- import { isPluginTaskActive } from './generated-plugin-tasks.js';
13
- import { isPluginPageInstanceId, matchesPluginPageURL, isPluginPageInvalidation, isPluginPageUnavailable, pluginPageUnavailable, PLUGIN_PAGE_LEASE_MS, } from './generated-plugin-pages.js';
12
+ import { isPluginTaskActive } from '../../generated/plugin-tasks.js';
13
+ import { isPluginPageInstanceId, matchesPluginPageURL, isPluginPageInvalidation, isPluginPageUnavailable, pluginPageUnavailable, PLUGIN_PAGE_LEASE_MS, } from '../../generated/plugin-pages.js';
14
14
  function failure(code, message) {
15
15
  return Object.assign(new Error(message), { code });
16
16
  }
@@ -1,4 +1,4 @@
1
- import type { PluginRegistration } from './pluginRegistry.js';
1
+ import type { PluginRegistration } from '../pluginRegistry.js';
2
2
  export interface PluginRevision {
3
3
  plugin: string;
4
4
  installationId: string;
@@ -5,7 +5,7 @@ import { claimRecord, readRecord, writeRecord } from '@mearl/daemon-core';
5
5
  import { isBuiltin } from 'node:module';
6
6
  import { parse } from 'acorn';
7
7
  import { pluginHostPaths } from './pluginHostPaths.js';
8
- import { findPluginRegistration, PluginError } from './pluginRegistry.js';
8
+ import { findPluginRegistration, PluginError } from '../pluginRegistry.js';
9
9
  const MAX_REVISION_BYTES = 64 * 1024 * 1024;
10
10
  const validatedSources = new Set();
11
11
  function within(root, file) {
@@ -2,8 +2,8 @@ import { rmSync } from 'node:fs';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { claimRecord, isProcessOwnerAlive, processIdentity, readRecord, removeInvalidRecord, removeRecordIfPid, } from '@mearl/daemon-core';
4
4
  import { pluginHostPaths } from './pluginHostPaths.js';
5
- import { listPluginNames } from './pluginRegistry.js';
6
- import { PluginTaskClient } from './pluginTasks.js';
5
+ import { listPluginNames } from '../pluginRegistry.js';
6
+ import { PluginTaskClient } from '../clients/pluginTasks.js';
7
7
  import { PluginTaskStore, pluginTaskExecutionUnconfirmed } from './pluginTaskStore.js';
8
8
  /** Complete uninstall discards execution caches after every plugin has been removed. */
9
9
  export async function cleanupPluginRuntime() {
@@ -1,8 +1,8 @@
1
1
  import type { PluginRevision } from './pluginRevision.js';
2
2
  import { PluginStateStore } from './pluginStateStore.js';
3
3
  import type { PluginTaskManager, PluginTaskBridge } from './pluginTaskManager.js';
4
- import type { PluginOptions } from './plugin.js';
5
- import type { PluginPageTarget } from './generated-plugin-pages.js';
4
+ import type { PluginOptions } from '../sdk/plugin.js';
5
+ import type { PluginPageTarget } from '../../generated/plugin-pages.js';
6
6
  export declare class PluginStateManager {
7
7
  private readonly tasks;
8
8
  readonly store: PluginStateStore;
@@ -1,7 +1,7 @@
1
- import { pluginStateSignature } from './pluginStateDefinition.js';
1
+ import { pluginStateSignature } from '../sdk/pluginStateDefinition.js';
2
2
  import { readFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
- import { findPluginRegistration } from './pluginRegistry.js';
4
+ import { findPluginRegistration } from '../pluginRegistry.js';
5
5
  import { pluginHostPaths } from './pluginHostPaths.js';
6
6
  import { capturePluginRevision } from './pluginRevision.js';
7
7
  import { PluginStateStore } from './pluginStateStore.js';
@@ -1,4 +1,4 @@
1
- import type { PluginStateCollection, PluginStateEntry, PluginStateTransaction } from './generated-plugin-state.js';
1
+ import type { PluginStateCollection, PluginStateEntry, PluginStateTransaction } from '../../generated/plugin-state.js';
2
2
  export interface PluginStateNamespace {
3
3
  installationId: string;
4
4
  collection: string;
@@ -3,7 +3,7 @@ import { existsSync, readFileSync, readdirSync, statSync, rmSync } from 'node:fs
3
3
  import { join, sep } from 'node:path';
4
4
  import { pluginHostPaths } from './pluginHostPaths.js';
5
5
  import { writePluginHostFile } from './pluginHostFiles.js';
6
- import { compilePluginStateSchema } from './pluginStateDefinition.js';
6
+ import { compilePluginStateSchema } from '../sdk/pluginStateDefinition.js';
7
7
  function fail(code, message) {
8
8
  throw Object.assign(new Error(message), { code });
9
9
  }
@@ -1,19 +1,19 @@
1
1
  import type { PluginModelCatalog } from './pluginModelCatalog.js';
2
2
  import type { PluginStateManager } from './pluginStateManager.js';
3
3
  import type { PluginPageManager } from './pluginPageManager.js';
4
- import type { PluginStateDeclaration } from './generated-plugin-state.js';
5
- import type { PluginTaskCheckpoint, PluginTaskRecoveryContext, PluginTaskRecoveryDeclaration } from './generated-plugin-recovery.js';
4
+ import type { PluginStateDeclaration } from '../../generated/plugin-state.js';
5
+ import type { PluginTaskCheckpoint, PluginTaskRecoveryContext, PluginTaskRecoveryDeclaration } from '../../generated/plugin-recovery.js';
6
6
  import { executeRegisteredPlugin } from './pluginExecutor.js';
7
7
  import { capturePluginRevision } from './pluginRevision.js';
8
8
  import type { PluginRevision } from './pluginRevision.js';
9
9
  import { PluginTaskStore } from './pluginTaskStore.js';
10
- import type { PluginTask, PluginTaskStartResult, PluginTaskListResult } from './generated-plugin-tasks.js';
11
- import type { PluginTaskScope, PluginTaskStartRequest, PluginTaskResumeRequest } from './pluginTaskProtocol.js';
12
- import type { PluginInvocationIdentity } from './generated-plugin-execution.js';
13
- import type { PluginPageTarget } from './generated-plugin-pages.js';
14
- import type { PluginOptions } from './plugin.js';
15
- import type { PluginPageBinding } from './generated-plugin-pages.js';
16
- import type { PluginPageRuntime } from './generated-plugin-pages.js';
10
+ import type { PluginTask, PluginTaskStartResult, PluginTaskListResult } from '../../generated/plugin-tasks.js';
11
+ import type { PluginTaskScope, PluginTaskStartRequest, PluginTaskResumeRequest } from '../pluginTaskProtocol.js';
12
+ import type { PluginInvocationIdentity } from '../../generated/plugin-execution.js';
13
+ import type { PluginPageTarget } from '../../generated/plugin-pages.js';
14
+ import type { PluginOptions } from '../sdk/plugin.js';
15
+ import type { PluginPageBinding } from '../../generated/plugin-pages.js';
16
+ import type { PluginPageRuntime } from '../../generated/plugin-pages.js';
17
17
  export interface PluginTaskBridge {
18
18
  id: string;
19
19
  scope: PluginTaskScope;
@@ -37,7 +37,7 @@ export interface PluginTaskServices {
37
37
  export declare class PluginTaskManager {
38
38
  private readonly configuration;
39
39
  private readonly services?;
40
- readonly host: import("./generated-plugin-execution.js").PluginExecutionHost;
40
+ readonly host: import("./pluginExecution.js").PluginExecutionHost;
41
41
  readonly store: PluginTaskStore;
42
42
  private readonly changes;
43
43
  private readonly queue;
@@ -78,8 +78,8 @@ export declare class PluginTaskManager {
78
78
  private resumeAttempt;
79
79
  private assertExecutionTreeStopped;
80
80
  cancel(taskId: string, scope: PluginTaskScope): PluginTask;
81
- events(taskId: string, scope: PluginTaskScope, cursor: number, waitMs?: number, signal?: AbortSignal): Promise<import("./generated-plugin-tasks.js").PluginTaskEvents>;
82
- resultChunk(taskId: string, scope: PluginTaskScope, index: number): import("./generated-plugin-tasks.js").PluginTaskResultChunk;
81
+ events(taskId: string, scope: PluginTaskScope, cursor: number, waitMs?: number, signal?: AbortSignal): Promise<import("../../generated/plugin-tasks.js").PluginTaskEvents>;
82
+ resultChunk(taskId: string, scope: PluginTaskScope, index: number): import("../../generated/plugin-tasks.js").PluginTaskResultChunk;
83
83
  private update;
84
84
  private drain;
85
85
  private execute;
@@ -1,7 +1,7 @@
1
1
  import { normalizeModelDiagnostic, diagnosticBinding } from './pluginDiagnostics.js';
2
- import { pluginModelCapabilities, normalizePluginModel, validatePluginModelResult, } from './pluginModelDefinition.js';
3
- import { pluginRecoverySignature } from './pluginRecoveryDefinition.js';
4
- import { compilePluginStateSchema } from './pluginStateDefinition.js';
2
+ import { pluginModelCapabilities, normalizePluginModel, validatePluginModelResult, } from '../sdk/pluginModelDefinition.js';
3
+ import { pluginRecoverySignature } from '../sdk/pluginRecoveryDefinition.js';
4
+ import { compilePluginStateSchema } from '../sdk/pluginStateDefinition.js';
5
5
  import { createHash, randomUUID } from 'node:crypto';
6
6
  import { EventEmitter } from 'node:events';
7
7
  import { isAbsolute, join, relative, sep } from 'node:path';
@@ -12,9 +12,9 @@ import { serializePluginExecutionError, pluginExecutionError } from './pluginExe
12
12
  import { capturePluginRevision, prunePluginRevisions, restorePluginRevision, } from './pluginRevision.js';
13
13
  import { pluginHostPaths } from './pluginHostPaths.js';
14
14
  import { PluginTaskStore, pluginTaskExecutionUnconfirmed } from './pluginTaskStore.js';
15
- import { isPluginTaskActive } from './generated-plugin-tasks.js';
16
- import { UnifiedClient, decodeBrowserTarget } from './unified.js';
17
- import { COMMAND_MAP } from './commands.js';
15
+ import { isPluginTaskActive } from '../../generated/plugin-tasks.js';
16
+ import { UnifiedClient, decodeBrowserTarget } from '../../unified.js';
17
+ import { COMMAND_MAP } from '../../commands.js';
18
18
  function error(code, message) {
19
19
  return Object.assign(new Error(message), { code });
20
20
  }
@@ -1,7 +1,7 @@
1
- import type { PluginTaskDiagnosticMetadata } from './generated-plugin-diagnostics.js';
2
- import type { PluginTask, PluginTaskEvent, PluginTaskEvents, PluginTaskResultChunk } from './generated-plugin-tasks.js';
3
- import type { PluginTaskCheckpoint } from './generated-plugin-recovery.js';
4
- import type { PluginOptions } from './plugin.js';
1
+ import type { PluginTaskDiagnosticMetadata } from '../../generated/plugin-diagnostics.js';
2
+ import type { PluginTask, PluginTaskEvent, PluginTaskEvents, PluginTaskResultChunk } from '../../generated/plugin-tasks.js';
3
+ import type { PluginTaskCheckpoint } from '../../generated/plugin-recovery.js';
4
+ import type { PluginOptions } from '../sdk/plugin.js';
5
5
  export declare const PLUGIN_TASK_RESULT_CHUNK_BYTES: number;
6
6
  export interface PluginTaskRecord {
7
7
  task: PluginTask;
@@ -1,7 +1,7 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { closeSync, openSync, opendirSync, readFileSync, readSync, readdirSync, rmSync, statSync, } from 'node:fs';
3
3
  import { join } from 'node:path';
4
- import { isPluginTaskActive, isPluginTaskId } from './generated-plugin-tasks.js';
4
+ import { isPluginTaskActive, isPluginTaskId } from '../../generated/plugin-tasks.js';
5
5
  import { writePluginHostFile } from './pluginHostFiles.js';
6
6
  import { pluginHostPaths } from './pluginHostPaths.js';
7
7
  import { isProcessGroupAlive, isProcessOwnerAlive } from '@mearl/daemon-core';
@@ -1,4 +1,4 @@
1
- import type { PluginOptions, PluginApp } from './plugin.js';
1
+ import type { PluginOptions, PluginApp } from '../sdk/plugin.js';
2
2
  import type { PluginCommandContext } from './pluginExecution.js';
3
3
  export interface PythonPluginCommand {
4
4
  description: string;
@@ -28,4 +28,4 @@ export interface PythonPluginApp {
28
28
  progress(message: string): void;
29
29
  }
30
30
  export declare function describePythonPlugin(entry: string, options: Readonly<PluginOptions>): Promise<PythonPluginDescriptor>;
31
- export declare function runPythonPluginCommand(entry: string, command: string, input: Record<string, any> | import('./generated-plugin-recovery.js').PluginCheckpointMigrationInput, app: PythonPluginApp, context: PluginCommandContext, recovery?: boolean | 'migration', expectedDescriptor?: PythonPluginDescriptor, runtimeOnly?: boolean): Promise<unknown>;
31
+ export declare function runPythonPluginCommand(entry: string, command: string, input: Record<string, any> | import('../../generated/plugin-recovery.js').PluginCheckpointMigrationInput, app: PythonPluginApp, context: PluginCommandContext, recovery?: boolean | 'migration', expectedDescriptor?: PythonPluginDescriptor, runtimeOnly?: boolean): Promise<unknown>;