@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,7 +1,7 @@
1
- import { pluginRecoverySignature } from './pluginRecoveryDefinition.js';
1
+ import { pluginRecoverySignature } from '../sdk/pluginRecoveryDefinition.js';
2
2
  import { spawn } from 'node:child_process';
3
3
  import { createInterface } from 'node:readline';
4
- import { PluginError } from './pluginRegistry.js';
4
+ import { PluginError } from '../pluginRegistry.js';
5
5
  import { pluginExecutionError, serializePluginExecutionError } from './pluginExecutorProtocol.js';
6
6
  const STDERR_LIMIT = 64 * 1024;
7
7
  // Bootstrap 随 Node client 分发,Python 插件无需额外安装宿主 SDK。
@@ -0,0 +1,118 @@
1
+ import type { PluginTaskRecoveryDeclaration, PluginTaskCheckpoint, PluginCheckpointMigrationInput } from '../../generated/plugin-recovery.js';
2
+ import type { PluginStateDeclaration } from '../../generated/plugin-state.js';
3
+ import type { PluginModelRequest, PluginModelResult } from '../../generated/plugin-models.js';
4
+ import type { PluginPageRuntime } from '../../generated/plugin-pages.js';
5
+ import type { AppProfileContribution } from '../../generated/app-profile-definition.js';
6
+ export type { AppProfileContribution, AppProfileDefinition, } from '../../generated/app-profile-definition.js';
7
+ export { invokePageEvalWithArgs } from '../../pageEvalArguments.js';
8
+ import { type OfficialPluginInstaller } from '../officialPluginInstaller.js';
9
+ import { type PluginToolboxContribution, type PluginRegistration } from '../pluginRegistry.js';
10
+ import { type PluginCommandContext, type PluginInvocationIdentity, type PluginInvocationSource } from '../runtime/pluginExecution.js';
11
+ import type { UnifiedInvokeOptions } from '../../unified.js';
12
+ export type { PluginCommandContext, PluginExecutionHost, PluginInvocationIdentity, PluginInvocationSource, } from '../runtime/pluginExecution.js';
13
+ export { executeRegisteredPlugin, type PluginExecutorOptions, type PluginExecutorDependencies, } from '../runtime/pluginExecutor.js';
14
+ export { PluginTaskClient } from '../clients/pluginTasks.js';
15
+ export { cleanupPluginRuntime } from '../runtime/pluginRuntimeCleanup.js';
16
+ export { PluginPageClient } from '../clients/pluginPages.js';
17
+ export { assertPluginName, findPluginDirectoryEntry, findPluginEntry, findPluginRegistration, listPluginNames, pluginDirectory, registerPlugin, resolvePluginEntry, unregisterPlugin, PluginError, readPluginPageBundleChunk, type PluginRegistration, type PluginRegistrationOptions, type PluginToolboxAgentConfig, type PluginPageBundleRegistration, type PluginToolboxContribution, type PluginToolboxLocale, type PluginToolboxSandboxPage, } from '../pluginRegistry.js';
18
+ export { findOfficialPlugin, listOfficialPluginNames, OFFICIAL_PLUGIN_MANAGER, OFFICIAL_PLUGINS, type OfficialPluginDefinition, type OfficialPluginName, } from '../officialPluginCatalog.js';
19
+ export type PluginOptions = UnifiedInvokeOptions;
20
+ export interface StructuredPluginProgress {
21
+ message: string;
22
+ data?: Record<string, unknown>;
23
+ }
24
+ export type PluginProgress = string | StructuredPluginProgress;
25
+ export interface PluginInvocation {
26
+ command: string;
27
+ input: Record<string, any>;
28
+ }
29
+ export interface PluginInvokeOptions extends UnifiedInvokeOptions {
30
+ onProgress?: (progress: PluginProgress) => void;
31
+ signal?: AbortSignal;
32
+ /** Audit label supplied by the entry point, never an authorization decision. */
33
+ source?: PluginInvocationSource;
34
+ }
35
+ export interface PluginExecutionContext {
36
+ runModel?(plugin: string, request: PluginModelRequest, options: Pick<PluginInvokeOptions, 'signal' | 'onProgress'>): Promise<PluginModelResult>;
37
+ ensurePlugin?: OfficialPluginInstaller;
38
+ source?: PluginInvocationSource;
39
+ parentInvocation?: PluginInvocationIdentity;
40
+ invocation?: PluginInvocationIdentity;
41
+ resolveRegistration?: (name: string) => PluginRegistration | undefined;
42
+ invoke(action: string, payload?: Record<string, any>, options?: UnifiedInvokeOptions, onProgress?: PluginInvokeOptions['onProgress']): Promise<any>;
43
+ }
44
+ export interface PluginApp {
45
+ readonly options: Readonly<PluginOptions>;
46
+ /** Examples omit the `mearl <plugin>` prefix, which help adds when displayed. */
47
+ command(signature: string, handler: PluginHandler, description?: string, examples?: string[]): void;
48
+ /** Registers a page-only command, also declared in toolbox.page.commands. */
49
+ state(collection: string, operation: string, input?: Record<string, unknown>): Promise<any>;
50
+ model(request: PluginModelRequest, options?: Pick<PluginInvokeOptions, 'onProgress'>): Promise<PluginModelResult>;
51
+ runtimeCommand(signature: string, handler: PluginHandler, description?: string, examples?: string[]): void;
52
+ recoveryCommand(command: string, handler: PluginHandler): void;
53
+ checkpointMigration(command: string, handler: (input: PluginCheckpointMigrationInput, context: PluginCommandContext) => unknown | Promise<unknown>): void;
54
+ checkpoint(data: unknown, expectedSequence: number): Promise<PluginTaskCheckpoint>;
55
+ page(operation: string, input?: Record<string, unknown>): Promise<any>;
56
+ toolboxCommand(signature: string, handler: PluginHandler, description?: string, examples?: string[]): void;
57
+ invoke(action: string, payload?: Record<string, any>, options?: UnifiedInvokeOptions): Promise<any>;
58
+ progress(progress: PluginProgress): void;
59
+ }
60
+ export type PluginHandler = (input: Record<string, any>, context: PluginCommandContext) => unknown | Promise<unknown>;
61
+ /** 工具列表仅检查入口;页面资源只在打开对应工具时检查。 */
62
+ export declare function refreshRegisteredPlugin(name: string, includePage?: boolean): Promise<PluginRegistration | undefined>;
63
+ /** 注册和执行复用同一宿主能力边界;仅 handler 执行期间开放浏览器调用。 */
64
+ export declare function loadPlugin(entry: string, context: Pick<PluginApp, 'options' | 'progress'> & {
65
+ invoke: PluginExecutionContext['invoke'];
66
+ source?: PluginInvocationSource;
67
+ parentInvocation?: PluginInvocationIdentity;
68
+ invocation?: PluginInvocationIdentity;
69
+ signal?: AbortSignal;
70
+ runModel?: PluginExecutionContext['runModel'];
71
+ onInvocation?: (identity: PluginInvocationIdentity | undefined) => void;
72
+ }, pluginName?: string): Promise<{
73
+ name: string | undefined;
74
+ description: string | undefined;
75
+ toolbox: PluginToolboxContribution | undefined;
76
+ pageRuntime: PluginPageRuntime | undefined;
77
+ stateStorage: PluginStateDeclaration | undefined;
78
+ taskRecovery: PluginTaskRecoveryDeclaration | undefined;
79
+ appProfiles: AppProfileContribution | undefined;
80
+ profileSources: Record<string, string> | undefined;
81
+ version: string | undefined;
82
+ commandHelp(namespace: string): string;
83
+ help(namespace: string, name?: string): string;
84
+ run(positionals: string[], payload?: unknown, namedInput?: Record<string, unknown>): Promise<unknown>;
85
+ runRuntime(invocation: PluginInvocation): Promise<unknown>;
86
+ runRecovery(invocation: PluginInvocation): Promise<unknown>;
87
+ runMigration(invocation: PluginInvocation): Promise<unknown>;
88
+ runToolbox(invocation: PluginInvocation): Promise<unknown>;
89
+ }>;
90
+ export declare function loadRegisteredPlugin(name: string, context: PluginExecutionContext, options?: PluginInvokeOptions): Promise<{
91
+ name: string | undefined;
92
+ description: string | undefined;
93
+ toolbox: PluginToolboxContribution | undefined;
94
+ pageRuntime: PluginPageRuntime | undefined;
95
+ stateStorage: PluginStateDeclaration | undefined;
96
+ taskRecovery: PluginTaskRecoveryDeclaration | undefined;
97
+ appProfiles: AppProfileContribution | undefined;
98
+ profileSources: Record<string, string> | undefined;
99
+ version: string | undefined;
100
+ commandHelp(namespace: string): string;
101
+ help(namespace: string, name?: string): string;
102
+ run(positionals: string[], payload?: unknown, namedInput?: Record<string, unknown>): Promise<unknown>;
103
+ runRuntime(invocation: PluginInvocation): Promise<unknown>;
104
+ runRecovery(invocation: PluginInvocation): Promise<unknown>;
105
+ runMigration(invocation: PluginInvocation): Promise<unknown>;
106
+ runToolbox(invocation: PluginInvocation): Promise<unknown>;
107
+ }>;
108
+ export declare function invokeRegisteredPlugin(name: string, invocation: PluginInvocation, context: PluginExecutionContext, options?: PluginInvokeOptions): Promise<unknown>;
109
+ /** Entry point for the native toolbox service; nested plugin calls retain public-command access. */
110
+ export declare function invokeRegisteredToolboxPlugin(name: string, invocation: PluginInvocation, context: PluginExecutionContext, options?: PluginInvokeOptions): Promise<unknown>;
111
+ export declare function invokeRegisteredRuntimePlugin(name: string, invocation: PluginInvocation, context: PluginExecutionContext, options?: PluginInvokeOptions): Promise<unknown>;
112
+ export declare function invokeRegisteredRecoveryPlugin(name: string, invocation: PluginInvocation, context: PluginExecutionContext, options?: PluginInvokeOptions): Promise<unknown>;
113
+ export { PluginStateClient } from '../clients/pluginState.js';
114
+ export { PluginModelClient } from '../clients/pluginModels.js';
115
+ export type * from '../../generated/plugin-state.js';
116
+ export type * from '../../generated/plugin-models.js';
117
+ export type * from '../../generated/plugin-recovery.js';
118
+ export type * from '../../generated/plugin-diagnostics.js';