@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.
- package/README.md +31 -1
- package/dist/actionTimeouts.js +1 -1
- package/dist/artifacts.d.ts +1 -1
- package/dist/browserRegistry.d.ts +1 -1
- package/dist/check.d.ts +1 -1
- package/dist/cli.js +4 -3
- package/dist/commands.d.ts +9 -9
- package/dist/commands.js +3 -2
- package/dist/{generated-app-profile-definition.d.ts → generated/app-profile-definition.d.ts} +2 -2
- package/dist/{generated-app-profile-runtime-types.d.ts → generated/app-profile-runtime-types.d.ts} +2 -2
- package/dist/{generated-plugin-diagnostics.d.ts → generated/plugin-diagnostics.d.ts} +4 -4
- package/dist/{generated-plugin-execution.d.ts → generated/plugin-execution.d.ts} +2 -2
- package/dist/{generated-plugin-pages.d.ts → generated/plugin-pages.d.ts} +1 -1
- package/dist/{generated-plugin-tasks.d.ts → generated/plugin-tasks.d.ts} +2 -2
- package/dist/index.d.ts +15 -15
- package/dist/index.js +7 -7
- package/dist/pageEvalArguments.d.ts +1 -1
- package/dist/pageEvalArguments.js +1 -1
- package/dist/plugin-task-host.js +1 -1
- package/dist/plugin-worker.js +2 -2
- package/dist/plugin.d.ts +1 -118
- package/dist/plugin.js +1 -672
- package/dist/pluginModelSessionWorker.d.ts +2 -2
- package/dist/pluginModelSessionWorker.js +4 -4
- package/dist/{pluginHostConnection.d.ts → plugins/clients/pluginHostConnection.d.ts} +2 -2
- package/dist/{pluginHostConnection.js → plugins/clients/pluginHostConnection.js} +6 -7
- package/dist/{pluginModels.d.ts → plugins/clients/pluginModels.d.ts} +3 -3
- package/dist/{pluginPages.d.ts → plugins/clients/pluginPages.d.ts} +3 -3
- package/dist/{pluginPages.js → plugins/clients/pluginPages.js} +1 -1
- package/dist/{pluginState.d.ts → plugins/clients/pluginState.d.ts} +3 -3
- package/dist/{pluginTasks.d.ts → plugins/clients/pluginTasks.d.ts} +4 -4
- package/dist/{pluginTasks.js → plugins/clients/pluginTasks.js} +4 -4
- package/dist/{officialPluginInstaller.js → plugins/officialPluginInstaller.js} +1 -3
- package/dist/{pluginRegistry.d.ts → plugins/pluginRegistry.d.ts} +1 -1
- package/dist/{pluginRegistry.js → plugins/pluginRegistry.js} +3 -3
- package/dist/{pluginTaskProtocol.d.ts → plugins/pluginTaskProtocol.d.ts} +2 -2
- package/dist/{pluginCommandWorker.js → plugins/runtime/pluginCommandWorker.js} +3 -3
- package/dist/{pluginDiagnostics.d.ts → plugins/runtime/pluginDiagnostics.d.ts} +4 -4
- package/dist/{pluginDiagnostics.js → plugins/runtime/pluginDiagnostics.js} +2 -2
- package/dist/{pluginExecution.d.ts → plugins/runtime/pluginExecution.d.ts} +3 -3
- package/dist/{pluginExecution.js → plugins/runtime/pluginExecution.js} +1 -1
- package/dist/{pluginExecutor.d.ts → plugins/runtime/pluginExecutor.d.ts} +3 -3
- package/dist/{pluginExecutor.js → plugins/runtime/pluginExecutor.js} +4 -4
- package/dist/{pluginExecutorProtocol.d.ts → plugins/runtime/pluginExecutorProtocol.d.ts} +4 -4
- package/dist/{pluginHost.d.ts → plugins/runtime/pluginHost.d.ts} +3 -3
- package/dist/{pluginHostPaths.js → plugins/runtime/pluginHostPaths.js} +1 -1
- package/dist/{pluginHostServer.js → plugins/runtime/pluginHostServer.js} +3 -3
- package/dist/{pluginModelCatalog.d.ts → plugins/runtime/pluginModelCatalog.d.ts} +1 -1
- package/dist/{pluginModelSessions.js → plugins/runtime/pluginModelSessions.js} +3 -3
- package/dist/{pluginPageManager.d.ts → plugins/runtime/pluginPageManager.d.ts} +4 -4
- package/dist/{pluginPageManager.js → plugins/runtime/pluginPageManager.js} +5 -5
- package/dist/{pluginRevision.d.ts → plugins/runtime/pluginRevision.d.ts} +1 -1
- package/dist/{pluginRevision.js → plugins/runtime/pluginRevision.js} +1 -1
- package/dist/{pluginRuntimeCleanup.js → plugins/runtime/pluginRuntimeCleanup.js} +2 -2
- package/dist/{pluginStateManager.d.ts → plugins/runtime/pluginStateManager.d.ts} +2 -2
- package/dist/{pluginStateManager.js → plugins/runtime/pluginStateManager.js} +2 -2
- package/dist/{pluginStateStore.d.ts → plugins/runtime/pluginStateStore.d.ts} +1 -1
- package/dist/{pluginStateStore.js → plugins/runtime/pluginStateStore.js} +1 -1
- package/dist/{pluginTaskManager.d.ts → plugins/runtime/pluginTaskManager.d.ts} +12 -12
- package/dist/{pluginTaskManager.js → plugins/runtime/pluginTaskManager.js} +6 -6
- package/dist/{pluginTaskStore.d.ts → plugins/runtime/pluginTaskStore.d.ts} +4 -4
- package/dist/{pluginTaskStore.js → plugins/runtime/pluginTaskStore.js} +1 -1
- package/dist/{pythonPlugin.d.ts → plugins/runtime/pythonPlugin.d.ts} +2 -2
- package/dist/{pythonPlugin.js → plugins/runtime/pythonPlugin.js} +2 -2
- package/dist/plugins/sdk/plugin.d.ts +118 -0
- package/dist/plugins/sdk/plugin.js +672 -0
- package/dist/{pluginAppProfiles.d.ts → plugins/sdk/pluginAppProfiles.d.ts} +1 -1
- package/dist/{pluginAppProfiles.js → plugins/sdk/pluginAppProfiles.js} +2 -2
- package/dist/{pluginModelDefinition.d.ts → plugins/sdk/pluginModelDefinition.d.ts} +1 -1
- package/dist/{pluginPageDefinition.d.ts → plugins/sdk/pluginPageDefinition.d.ts} +1 -1
- package/dist/{pluginPageDefinition.js → plugins/sdk/pluginPageDefinition.js} +1 -1
- package/dist/{pluginRecoveryDefinition.d.ts → plugins/sdk/pluginRecoveryDefinition.d.ts} +1 -1
- package/dist/{pluginStateDefinition.d.ts → plugins/sdk/pluginStateDefinition.d.ts} +2 -2
- package/dist/runtimePaths.d.ts +4 -0
- package/dist/runtimePaths.js +8 -0
- package/dist/socket.d.ts +2 -2
- package/dist/socket.js +5 -4
- package/dist/unified.d.ts +2 -2
- package/dist/unified.js +7 -7
- package/package.json +5 -5
- /package/dist/{generated-app-profile-definition.js → generated/app-profile-definition.js} +0 -0
- /package/dist/{generated-app-profile-runtime-types.js → generated/app-profile-runtime-types.js} +0 -0
- /package/dist/{generated-browser-action-protocol.d.ts → generated/browser-action-protocol.d.ts} +0 -0
- /package/dist/{generated-browser-action-protocol.js → generated/browser-action-protocol.js} +0 -0
- /package/dist/{generated-plugin-diagnostics.js → generated/plugin-diagnostics.js} +0 -0
- /package/dist/{generated-plugin-execution.js → generated/plugin-execution.js} +0 -0
- /package/dist/{generated-plugin-models.d.ts → generated/plugin-models.d.ts} +0 -0
- /package/dist/{generated-plugin-models.js → generated/plugin-models.js} +0 -0
- /package/dist/{generated-plugin-pages.js → generated/plugin-pages.js} +0 -0
- /package/dist/{generated-plugin-recovery.d.ts → generated/plugin-recovery.d.ts} +0 -0
- /package/dist/{generated-plugin-recovery.js → generated/plugin-recovery.js} +0 -0
- /package/dist/{generated-plugin-state.d.ts → generated/plugin-state.d.ts} +0 -0
- /package/dist/{generated-plugin-state.js → generated/plugin-state.js} +0 -0
- /package/dist/{generated-plugin-tasks.js → generated/plugin-tasks.js} +0 -0
- /package/dist/{generated-toolbox-icon.d.ts → generated/toolbox-icon.d.ts} +0 -0
- /package/dist/{generated-toolbox-icon.js → generated/toolbox-icon.js} +0 -0
- /package/dist/{pluginModels.js → plugins/clients/pluginModels.js} +0 -0
- /package/dist/{pluginState.js → plugins/clients/pluginState.js} +0 -0
- /package/dist/{officialPluginCatalog.d.ts → plugins/officialPluginCatalog.d.ts} +0 -0
- /package/dist/{officialPluginCatalog.js → plugins/officialPluginCatalog.js} +0 -0
- /package/dist/{officialPluginInstaller.d.ts → plugins/officialPluginInstaller.d.ts} +0 -0
- /package/dist/{pluginPageBundle.d.ts → plugins/pluginPageBundle.d.ts} +0 -0
- /package/dist/{pluginPageBundle.js → plugins/pluginPageBundle.js} +0 -0
- /package/dist/{pluginSource.d.ts → plugins/pluginSource.d.ts} +0 -0
- /package/dist/{pluginSource.js → plugins/pluginSource.js} +0 -0
- /package/dist/{pluginTaskProtocol.js → plugins/pluginTaskProtocol.js} +0 -0
- /package/dist/{pluginTaskWire.d.ts → plugins/pluginTaskWire.d.ts} +0 -0
- /package/dist/{pluginTaskWire.js → plugins/pluginTaskWire.js} +0 -0
- /package/dist/{pluginCommandWorker.d.ts → plugins/runtime/pluginCommandWorker.d.ts} +0 -0
- /package/dist/{pluginExecutorProtocol.js → plugins/runtime/pluginExecutorProtocol.js} +0 -0
- /package/dist/{pluginExecutorSupervisor.d.ts → plugins/runtime/pluginExecutorSupervisor.d.ts} +0 -0
- /package/dist/{pluginExecutorSupervisor.js → plugins/runtime/pluginExecutorSupervisor.js} +0 -0
- /package/dist/{pluginHost.js → plugins/runtime/pluginHost.js} +0 -0
- /package/dist/{pluginHostFiles.d.ts → plugins/runtime/pluginHostFiles.d.ts} +0 -0
- /package/dist/{pluginHostFiles.js → plugins/runtime/pluginHostFiles.js} +0 -0
- /package/dist/{pluginHostPaths.d.ts → plugins/runtime/pluginHostPaths.d.ts} +0 -0
- /package/dist/{pluginHostServer.d.ts → plugins/runtime/pluginHostServer.d.ts} +0 -0
- /package/dist/{pluginModelCatalog.js → plugins/runtime/pluginModelCatalog.js} +0 -0
- /package/dist/{pluginModelSessions.d.ts → plugins/runtime/pluginModelSessions.d.ts} +0 -0
- /package/dist/{pluginProcessTree.d.ts → plugins/runtime/pluginProcessTree.d.ts} +0 -0
- /package/dist/{pluginProcessTree.js → plugins/runtime/pluginProcessTree.js} +0 -0
- /package/dist/{pluginRuntimeCleanup.d.ts → plugins/runtime/pluginRuntimeCleanup.d.ts} +0 -0
- /package/dist/{pluginModelDefinition.js → plugins/sdk/pluginModelDefinition.js} +0 -0
- /package/dist/{pluginRecoveryDefinition.js → plugins/sdk/pluginRecoveryDefinition.js} +0 -0
- /package/dist/{pluginStateDefinition.js → plugins/sdk/pluginStateDefinition.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { pluginRecoverySignature } from '
|
|
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 '
|
|
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';
|