@robota-sdk/agent-transport 3.0.0-beta.75 → 3.0.0-beta.77
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/LICENSE +661 -21
- package/README.md +17 -14
- package/dist/node/headless/index.cjs +1 -1
- package/dist/node/headless/index.d.ts +1 -1
- package/dist/node/headless/index.js +1 -1
- package/dist/node/{headless-mRYilLfC.js → headless-DG_MEbf0.js} +7 -4
- package/dist/node/headless-DG_MEbf0.js.map +1 -0
- package/dist/node/headless-xq77JBq0.cjs +18 -0
- package/dist/node/{index-E8Gx4-lc.d.ts → index-CrJ2Lhn3.d.ts} +16 -3
- package/dist/node/index-CrJ2Lhn3.d.ts.map +1 -0
- package/dist/node/index-JIvzrtaA.d.ts +52 -0
- package/dist/node/index-JIvzrtaA.d.ts.map +1 -0
- package/dist/node/{index-CYl7ksS6.d.ts → index-JTD_xtEQ.d.ts} +15 -2
- package/dist/node/index-JTD_xtEQ.d.ts.map +1 -0
- package/dist/node/index-y_HBOfzO.d.ts +52 -0
- package/dist/node/index-y_HBOfzO.d.ts.map +1 -0
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.d.ts +10 -9
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/programmatic/index.cjs +1 -0
- package/dist/node/programmatic/index.d.ts +2 -0
- package/dist/node/programmatic/index.js +1 -0
- package/dist/node/programmatic-6wLf68qJ.cjs +1 -0
- package/dist/node/programmatic-70dxIXtS.js +2 -0
- package/dist/node/programmatic-70dxIXtS.js.map +1 -0
- package/dist/node/testing/index.cjs +1 -1
- package/dist/node/testing/index.d.ts +2 -21
- package/dist/node/testing/index.js +1 -2
- package/package.json +15 -71
- package/src/__tests__/programmatic/programmatic-ask-user.test.ts +32 -0
- package/src/__tests__/programmatic/programmatic-driver.test.ts +107 -0
- package/src/__tests__/programmatic/programmatic-flows.test.ts +140 -0
- package/src/__tests__/transport-registry.stop-all.test.ts +53 -0
- package/src/headless/HeadlessInteractionChannel.ts +22 -5
- package/src/headless/__tests__/headless-goal-runner.test.ts +108 -0
- package/src/headless/__tests__/headless-runner.test.ts +2 -1
- package/src/headless/headless-runner.ts +67 -1
- package/src/headless/headless-stream-json.ts +1 -1
- package/src/headless/print-terminal.ts +1 -0
- package/src/index.ts +2 -5
- package/src/programmatic/ProgrammaticInteractionChannel.ts +82 -0
- package/src/programmatic/createProgrammaticAgent.ts +71 -0
- package/src/programmatic/index.ts +5 -0
- package/src/testing/index.ts +7 -4
- package/src/transport-registry.ts +15 -12
- package/dist/node/headless-CT2ibQnr.cjs +0 -15
- package/dist/node/headless-mRYilLfC.js.map +0 -1
- package/dist/node/http/index.cjs +0 -1
- package/dist/node/http/index.d.ts +0 -2
- package/dist/node/http/index.js +0 -1
- package/dist/node/http-2Jiuflc1.js +0 -2
- package/dist/node/http-2Jiuflc1.js.map +0 -1
- package/dist/node/http-CBAvefLw.cjs +0 -1
- package/dist/node/index-BNccqSpv.d.ts +0 -86
- package/dist/node/index-BNccqSpv.d.ts.map +0 -1
- package/dist/node/index-BUhHIf7X.d.ts +0 -86
- package/dist/node/index-BUhHIf7X.d.ts.map +0 -1
- package/dist/node/index-BnAGE-u9.d.ts +0 -33
- package/dist/node/index-BnAGE-u9.d.ts.map +0 -1
- package/dist/node/index-BrQ4gGw0.d.ts +0 -213
- package/dist/node/index-BrQ4gGw0.d.ts.map +0 -1
- package/dist/node/index-CYl7ksS6.d.ts.map +0 -1
- package/dist/node/index-CoeBF21y.d.ts +0 -213
- package/dist/node/index-CoeBF21y.d.ts.map +0 -1
- package/dist/node/index-DHt-2VQ-.d.ts +0 -46
- package/dist/node/index-DHt-2VQ-.d.ts.map +0 -1
- package/dist/node/index-DMwKN5Le.d.ts +0 -33
- package/dist/node/index-DMwKN5Le.d.ts.map +0 -1
- package/dist/node/index-E8Gx4-lc.d.ts.map +0 -1
- package/dist/node/index-c0M42fsA.d.ts +0 -46
- package/dist/node/index-c0M42fsA.d.ts.map +0 -1
- package/dist/node/mcp/index.cjs +0 -1
- package/dist/node/mcp/index.d.ts +0 -2
- package/dist/node/mcp/index.js +0 -1
- package/dist/node/mcp-BOglBJNy.cjs +0 -1
- package/dist/node/mcp-D3BBVK7C.js +0 -2
- package/dist/node/mcp-D3BBVK7C.js.map +0 -1
- package/dist/node/rolldown-runtime-CMqjfN_6.cjs +0 -1
- package/dist/node/testing/index.d.ts.map +0 -1
- package/dist/node/testing/index.js.map +0 -1
- package/dist/node/tui/index.cjs +0 -1
- package/dist/node/tui/index.d.ts +0 -2
- package/dist/node/tui/index.js +0 -1
- package/dist/node/tui-CcH5EsQh.js +0 -25
- package/dist/node/tui-CcH5EsQh.js.map +0 -1
- package/dist/node/tui-DznRbcku.cjs +0 -24
- package/dist/node/ws/index.cjs +0 -1
- package/dist/node/ws/index.d.ts +0 -2
- package/dist/node/ws/index.js +0 -1
- package/dist/node/ws-Dc2RUwVs.js +0 -2
- package/dist/node/ws-Dc2RUwVs.js.map +0 -1
- package/dist/node/ws-QNMQn5kg.cjs +0 -1
- package/src/http/__tests__/http-transport.test.ts +0 -55
- package/src/http/__tests__/routes.test.ts +0 -168
- package/src/http/http-transport.ts +0 -41
- package/src/http/index.ts +0 -4
- package/src/http/routes.ts +0 -152
- package/src/mcp/__tests__/mcp-server.test.ts +0 -66
- package/src/mcp/__tests__/mcp-transport.test.ts +0 -46
- package/src/mcp/index.ts +0 -4
- package/src/mcp/mcp-server.ts +0 -163
- package/src/mcp/mcp-transport.ts +0 -48
- package/src/testing/__tests__/scripted-provider.test.ts +0 -73
- package/src/testing/scripted-provider.ts +0 -73
- package/src/tui/App.tsx +0 -491
- package/src/tui/BackgroundTaskPanel.tsx +0 -36
- package/src/tui/CjkTextInput.tsx +0 -199
- package/src/tui/ConfirmPrompt.tsx +0 -70
- package/src/tui/ContextWarningBanner.tsx +0 -34
- package/src/tui/ExecutionWorkspaceDetailPane.tsx +0 -64
- package/src/tui/ExecutionWorkspaceSwitcher.tsx +0 -187
- package/src/tui/InputArea.tsx +0 -310
- package/src/tui/InteractivePrompt.tsx +0 -59
- package/src/tui/ListPicker.tsx +0 -95
- package/src/tui/MenuSelect.tsx +0 -104
- package/src/tui/MessageList.tsx +0 -284
- package/src/tui/PermissionPrompt.tsx +0 -86
- package/src/tui/PluginTUI.tsx +0 -258
- package/src/tui/SessionPicker.tsx +0 -68
- package/src/tui/SessionStatusBar.tsx +0 -73
- package/src/tui/SlashAutocomplete.tsx +0 -110
- package/src/tui/StatusBar.tsx +0 -236
- package/src/tui/StreamingIndicator.tsx +0 -93
- package/src/tui/TextPrompt.tsx +0 -81
- package/src/tui/ToolCommandOutput.tsx +0 -39
- package/src/tui/ToolDiffBlock.tsx +0 -32
- package/src/tui/TransportTUI.tsx +0 -117
- package/src/tui/TuiInteractionChannel.ts +0 -495
- package/src/tui/UpdateNotice.tsx +0 -14
- package/src/tui/UsageSummaryEntry.tsx +0 -39
- package/src/tui/WaveText.tsx +0 -44
- package/src/tui/__tests__/InteractivePrompt.test.tsx +0 -82
- package/src/tui/__tests__/ListPicker.test.tsx +0 -159
- package/src/tui/__tests__/MenuSelect.test.tsx +0 -103
- package/src/tui/__tests__/PluginTUI.test.tsx +0 -167
- package/src/tui/__tests__/SlashAutocomplete.test.tsx +0 -140
- package/src/tui/__tests__/TextPrompt.test.tsx +0 -98
- package/src/tui/__tests__/TuiInteractionChannel.display-contract.test.ts +0 -239
- package/src/tui/__tests__/TuiInteractionChannel.lifecycle.test.ts +0 -297
- package/src/tui/__tests__/TuiInteractionChannel.requestAction.test.ts +0 -124
- package/src/tui/__tests__/UpdateNotice.test.tsx +0 -15
- package/src/tui/__tests__/abort-after-permission.test.tsx +0 -169
- package/src/tui/__tests__/abort-streaming-e2e.test.tsx +0 -183
- package/src/tui/__tests__/background-task-panel.test.tsx +0 -53
- package/src/tui/__tests__/background-task-row-format.test.ts +0 -59
- package/src/tui/__tests__/channel-factory-integration.test.ts +0 -138
- package/src/tui/__tests__/cjk-text-input-flow.test.ts +0 -109
- package/src/tui/__tests__/cjk-text-input.test.ts +0 -191
- package/src/tui/__tests__/command-effect-handler.test.ts +0 -127
- package/src/tui/__tests__/command-output-summary.test.ts +0 -95
- package/src/tui/__tests__/compact-event-bridge.test.ts +0 -20
- package/src/tui/__tests__/confirm-permission-flow.test.ts +0 -130
- package/src/tui/__tests__/confirm-prompt.test.tsx +0 -87
- package/src/tui/__tests__/execution-workspace-switcher.test.tsx +0 -110
- package/src/tui/__tests__/execution-workspace-view-model.test.ts +0 -93
- package/src/tui/__tests__/fixtures/provider-setup-prompt-driver.tsx +0 -125
- package/src/tui/__tests__/input-area-flow.test.ts +0 -164
- package/src/tui/__tests__/message-list-rendering.test.tsx +0 -353
- package/src/tui/__tests__/prompt-queue.test.tsx +0 -255
- package/src/tui/__tests__/provider-setup-pty-e2e.test.ts +0 -233
- package/src/tui/__tests__/pty/pty-driver.ts +0 -135
- package/src/tui/__tests__/pty/tui-pty.ptytest.ts +0 -61
- package/src/tui/__tests__/render-channel-options.test.ts +0 -32
- package/src/tui/__tests__/render-markdown.test.ts +0 -72
- package/src/tui/__tests__/selection-flow.test.ts +0 -61
- package/src/tui/__tests__/session-init-poller.test.ts +0 -102
- package/src/tui/__tests__/session-naming.test.ts +0 -64
- package/src/tui/__tests__/session-switch-channel.test.tsx +0 -307
- package/src/tui/__tests__/slash-routing-effects.test.ts +0 -228
- package/src/tui/__tests__/status-activity.test.ts +0 -71
- package/src/tui/__tests__/status-bar.test.tsx +0 -177
- package/src/tui/__tests__/streaming-indicator.test.tsx +0 -137
- package/src/tui/__tests__/text-prompt-flow.test.ts +0 -77
- package/src/tui/__tests__/tui-channel-init-failure.test.ts +0 -57
- package/src/tui/__tests__/tui-state-manager.test.ts +0 -401
- package/src/tui/background-task-row-format.ts +0 -53
- package/src/tui/command-interaction.ts +0 -9
- package/src/tui/command-output-summary.ts +0 -122
- package/src/tui/create-default-tui-cli-adapter.ts +0 -41
- package/src/tui/execution-workspace-view-model.ts +0 -123
- package/src/tui/flows/cjk-text-input-flow.ts +0 -285
- package/src/tui/flows/confirm-prompt-flow.ts +0 -45
- package/src/tui/flows/input-area-flow.ts +0 -189
- package/src/tui/flows/permission-prompt-flow.ts +0 -85
- package/src/tui/flows/selection-flow.ts +0 -126
- package/src/tui/flows/session-init-poller.ts +0 -77
- package/src/tui/flows/text-prompt-flow.ts +0 -98
- package/src/tui/hooks/command-effect-handler.ts +0 -97
- package/src/tui/hooks/command-effect-queue.ts +0 -39
- package/src/tui/hooks/side-effects-types.ts +0 -35
- package/src/tui/hooks/useAutocomplete.ts +0 -87
- package/src/tui/hooks/usePluginCallbacks.ts +0 -31
- package/src/tui/hooks/usePluginScreenData.ts +0 -85
- package/src/tui/hooks/useSideEffects.ts +0 -175
- package/src/tui/hooks/useSlashRouting.ts +0 -118
- package/src/tui/hooks/useStatusLineSettings.ts +0 -37
- package/src/tui/hooks/useTuiChannel.ts +0 -95
- package/src/tui/index.ts +0 -14
- package/src/tui/interactions/CommandConfirm.tsx +0 -36
- package/src/tui/interactions/CommandPicker.tsx +0 -77
- package/src/tui/interactions/__tests__/CommandConfirm.test.tsx +0 -124
- package/src/tui/interactions/__tests__/CommandPicker.test.tsx +0 -138
- package/src/tui/plugin-tui-handlers.ts +0 -163
- package/src/tui/render-markdown.ts +0 -130
- package/src/tui/render.tsx +0 -129
- package/src/tui/session-naming.ts +0 -33
- package/src/tui/status-activity.ts +0 -63
- package/src/tui/tui-cli-adapter-context.tsx +0 -13
- package/src/tui/tui-cli-adapter.ts +0 -25
- package/src/tui/tui-state-manager.ts +0 -226
- package/src/tui/tui-transport.ts +0 -35
- package/src/tui/types.ts +0 -15
- package/src/tui/utils/__tests__/edit-diff.test.ts +0 -426
- package/src/tui/utils/__tests__/paste-detection.test.ts +0 -116
- package/src/tui/utils/__tests__/paste-labels.test.ts +0 -46
- package/src/tui/utils/__tests__/tool-call-extractor.test.ts +0 -227
- package/src/tui/utils/__tests__/tool-diff-summary.test.ts +0 -104
- package/src/tui/utils/edit-diff.ts +0 -153
- package/src/tui/utils/paste-labels.ts +0 -9
- package/src/tui/utils/tool-call-extractor.ts +0 -92
- package/src/tui/utils/tool-diff-summary.ts +0 -75
- package/src/ws/__tests__/ws-handler.test.ts +0 -409
- package/src/ws/__tests__/ws-transport.test.ts +0 -53
- package/src/ws/index.ts +0 -13
- package/src/ws/ws-background-messages.ts +0 -170
- package/src/ws/ws-handler.ts +0 -280
- package/src/ws/ws-protocol.ts +0 -78
- package/src/ws/ws-transport-configurable.ts +0 -128
- package/src/ws/ws-transport.ts +0 -42
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { IAIProvider, IProviderDefinition, TPermissionMode, TUniversalValue } from "@robota-sdk/agent-core";
|
|
2
|
-
import { IConfigurableTransport, IExecutionResult, IExecutionWorkspaceSnapshot, IInteractiveSession, IInteractiveSessionStore, IStatusLineCommandSettings, IToolState, ITransportRegistryView, TStatusLineCommandSettingsPatch } from "@robota-sdk/agent-interface-transport";
|
|
3
|
-
import { CommandRegistry, IBackgroundTaskRunner, ICommandHostAdapters, ICommandModule, InteractiveSession, TShellExecFn, TSubagentRunnerFactory } from "@robota-sdk/agent-framework";
|
|
4
|
-
import { ITuiCommandInteraction, ITuiConfirmInteraction, ITuiPickerInteraction, ITuiPickerItem, TAnyTuiCommandInteraction, TOnMissingArgsAction } from "@robota-sdk/agent-interface-tui";
|
|
5
|
-
|
|
6
|
-
//#region src/tui/tui-cli-adapter.d.ts
|
|
7
|
-
interface ITuiCliAdapter {
|
|
8
|
-
getUserSettingsPath(): string;
|
|
9
|
-
readSettings(path: string): Record<string, TUniversalValue>;
|
|
10
|
-
writeSettings(path: string, settings: Record<string, TUniversalValue>): void;
|
|
11
|
-
deleteSettings(path: string): boolean;
|
|
12
|
-
applyStatusLineSettings(path: string, patch: TStatusLineCommandSettingsPatch): IStatusLineCommandSettings;
|
|
13
|
-
reloadPluginCommandSource(registry: CommandRegistry): void;
|
|
14
|
-
applyActiveModelChange(cwd: string, modelId: string, options?: {
|
|
15
|
-
providerOverride?: string;
|
|
16
|
-
}): {
|
|
17
|
-
applied: boolean;
|
|
18
|
-
};
|
|
19
|
-
getGitBranch(cwd: string): string | undefined;
|
|
20
|
-
getProviderDisplayName(type: string): string;
|
|
21
|
-
}
|
|
22
|
-
//#endregion
|
|
23
|
-
//#region src/tui/render.d.ts
|
|
24
|
-
interface IRenderOptions {
|
|
25
|
-
cwd: string;
|
|
26
|
-
provider: IAIProvider;
|
|
27
|
-
providerOverride?: string | undefined;
|
|
28
|
-
providerType?: string | undefined;
|
|
29
|
-
modelId?: string;
|
|
30
|
-
language?: string;
|
|
31
|
-
permissionMode?: TPermissionMode;
|
|
32
|
-
maxTurns?: number;
|
|
33
|
-
allowedTools?: string[];
|
|
34
|
-
deniedTools?: string[];
|
|
35
|
-
version?: string;
|
|
36
|
-
sessionStore?: IInteractiveSessionStore;
|
|
37
|
-
resumeSessionId?: string;
|
|
38
|
-
showSessionPickerOnStart?: boolean;
|
|
39
|
-
forkSession?: boolean;
|
|
40
|
-
sessionName?: string;
|
|
41
|
-
backgroundTaskRunners?: IBackgroundTaskRunner[];
|
|
42
|
-
subagentRunnerFactory?: TSubagentRunnerFactory;
|
|
43
|
-
commandModules?: readonly ICommandModule[];
|
|
44
|
-
commandHostAdapters?: ICommandHostAdapters;
|
|
45
|
-
shellExec?: TShellExecFn;
|
|
46
|
-
startupUpdateNotice?: Promise<string | undefined>;
|
|
47
|
-
transportRegistry?: ITransportRegistryView<IInteractiveSession>;
|
|
48
|
-
cliAdapter: ITuiCliAdapter;
|
|
49
|
-
reloadPluginCommandSource?: (registry: CommandRegistry) => void;
|
|
50
|
-
agentName?: string;
|
|
51
|
-
/** Active preset id selected at startup (PRESET-011 runtime state). Defaults to 'default'. */
|
|
52
|
-
activePresetId?: string;
|
|
53
|
-
/** Preset persona block composed as a `source: 'persona'` system-prompt section (priority 5). */
|
|
54
|
-
persona?: string;
|
|
55
|
-
/** Preset execution capability: activate agent runtime + subagent/background dispatch. */
|
|
56
|
-
enableParallelSubagents?: boolean;
|
|
57
|
-
/** Preset execution capability: run a post-task self-verification step. */
|
|
58
|
-
selfVerification?: boolean;
|
|
59
|
-
}
|
|
60
|
-
declare function renderApp(options: IRenderOptions): Promise<void>;
|
|
61
|
-
//#endregion
|
|
62
|
-
//#region src/tui/tui-transport.d.ts
|
|
63
|
-
declare class TuiTransport implements IConfigurableTransport<IInteractiveSession> {
|
|
64
|
-
readonly name = "tui";
|
|
65
|
-
readonly defaultEnabled = true;
|
|
66
|
-
readonly optionsSchema: {};
|
|
67
|
-
private readonly options;
|
|
68
|
-
constructor(options: IRenderOptions);
|
|
69
|
-
attach(_session: IInteractiveSession): void;
|
|
70
|
-
start(): Promise<void>;
|
|
71
|
-
stop(): Promise<void>;
|
|
72
|
-
validateOptions(_options: Record<string, TUniversalValue>): boolean;
|
|
73
|
-
}
|
|
74
|
-
//#endregion
|
|
75
|
-
//#region src/tui/create-default-tui-cli-adapter.d.ts
|
|
76
|
-
interface IDefaultTuiCliAdapterOptions {
|
|
77
|
-
providerDefinitions: readonly IProviderDefinition[];
|
|
78
|
-
reloadPluginCommandSource: (registry: CommandRegistry) => void;
|
|
79
|
-
}
|
|
80
|
-
declare function createDefaultTuiCliAdapter({
|
|
81
|
-
providerDefinitions,
|
|
82
|
-
reloadPluginCommandSource
|
|
83
|
-
}: IDefaultTuiCliAdapterOptions): ITuiCliAdapter;
|
|
84
|
-
//#endregion
|
|
85
|
-
export { TAnyTuiCommandInteraction as a, createDefaultTuiCliAdapter as c, renderApp as d, ITuiCliAdapter as f, ITuiPickerItem as i, TuiTransport as l, ITuiConfirmInteraction as n, TOnMissingArgsAction as o, ITuiPickerInteraction as r, IDefaultTuiCliAdapterOptions as s, ITuiCommandInteraction as t, IRenderOptions as u };
|
|
86
|
-
//# sourceMappingURL=index-BUhHIf7X.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BUhHIf7X.d.ts","names":[],"sources":["../../src/tui/tui-cli-adapter.ts","../../src/tui/render.tsx","../../src/tui/tui-transport.ts","../../src/tui/create-default-tui-cli-adapter.ts"],"mappings":";;;;;;UAOiB,cAAA;EACf,mBAAA;EACA,YAAA,CAAa,IAAA,WAAe,MAAA,SAAe,eAAA;EAC3C,aAAA,CAAc,IAAA,UAAc,QAAA,EAAU,MAAA,SAAe,eAAA;EACrD,cAAA,CAAe,IAAA;EACf,uBAAA,CACE,IAAA,UACA,KAAA,EAAO,+BAAA,GACN,0BAAA;EACH,yBAAA,CAA0B,QAAA,EAAU,eAAA;EACpC,sBAAA,CACE,GAAA,UACA,OAAA,UACA,OAAA;IAAY,gBAAA;EAAA;IACT,OAAA;EAAA;EACL,YAAA,CAAa,GAAA;EACb,sBAAA,CAAuB,IAAA;AAAA;;;UCIR,cAAA;EACf,GAAA;EACA,QAAA,EAAU,WAAA;EACV,gBAAA;EACA,YAAA;EACA,OAAA;EACA,QAAA;EACA,cAAA,GAAiB,eAAA;EACjB,QAAA;EACA,YAAA;EACA,WAAA;EACA,OAAA;EACA,YAAA,GAAe,wBAAA;EACf,eAAA;EACA,wBAAA;EACA,WAAA;EACA,WAAA;EACA,qBAAA,GAAwB,qBAAA;EACxB,qBAAA,GAAwB,sBAAA;EACxB,cAAA,YAA0B,cAAA;EAC1B,mBAAA,GAAsB,oBAAA;EACtB,SAAA,GAAY,YAAA;EACZ,mBAAA,GAAsB,OAAA;EACtB,iBAAA,GAAoB,sBAAA,CAAuB,mBAAA;EAC3C,UAAA,EAAY,cAAA;EACZ,yBAAA,IAA6B,QAAA,EAAU,eAAA;EACvC,SAAA;EDrCoC;ECuCpC,cAAA;EDtCA;ECwCA,OAAA;EDtCE;ECwCF,uBAAA;EDvCE;ECyCF,gBAAA;AAAA;AAAA,iBAmCoB,SAAA,CAAU,OAAA,EAAS,cAAA,GAAiB,OAAO;;;cCxFpD,YAAA,YAAwB,sBAAA,CAAuB,mBAAA;EAAA,SACjD,IAAA;EAAA,SACA,cAAA;EAAA,SACA,aAAA;EAAA,iBAEQ,OAAA;cAEL,OAAA,EAAS,cAAA;EAIrB,MAAA,CAAO,QAAA,EAAU,mBAAA;EAIX,KAAA,IAAS,OAAA;EAIT,IAAA,IAAQ,OAAA;EAId,eAAA,CAAgB,QAAA,EAAU,MAAA,SAAe,eAAA;AAAA;;;UCjB1B,4BAAA;EACf,mBAAA,WAA8B,mBAAA;EAC9B,yBAAA,GAA4B,QAAA,EAAU,eAAe;AAAA;AAAA,iBAGvC,0BAAA;EACd,mBAAA;EACA;AAAA,GACC,4BAAA,GAA+B,cAAA"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { IInteractiveSession, ITransportAdapter } from "@robota-sdk/agent-interface-transport";
|
|
2
|
-
import { Context, Hono } from "hono";
|
|
3
|
-
|
|
4
|
-
//#region src/http/routes.d.ts
|
|
5
|
-
/** Callback that resolves an IInteractiveSession from the request context. */
|
|
6
|
-
type TSessionFactory = (c: Context) => IInteractiveSession | Promise<IInteractiveSession>;
|
|
7
|
-
interface IAgentRoutesOptions {
|
|
8
|
-
/** Resolve an IInteractiveSession per request (e.g., by auth token, session ID). */
|
|
9
|
-
sessionFactory: TSessionFactory;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Create a Hono router with all agent HTTP endpoints.
|
|
13
|
-
*
|
|
14
|
-
* Usage:
|
|
15
|
-
* ```typescript
|
|
16
|
-
* const routes = createAgentRoutes({ sessionFactory });
|
|
17
|
-
* app.route('/agent', routes); // mount on existing app
|
|
18
|
-
* export default routes; // or use standalone (CF Workers)
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
declare function createAgentRoutes(options: IAgentRoutesOptions): Hono;
|
|
22
|
-
//#endregion
|
|
23
|
-
//#region src/http/http-transport.d.ts
|
|
24
|
-
interface IHttpTransportOptions {
|
|
25
|
-
/** Optional: base path prefix for routes. */
|
|
26
|
-
basePath?: string;
|
|
27
|
-
}
|
|
28
|
-
declare function createHttpTransport(options?: IHttpTransportOptions): ITransportAdapter<IInteractiveSession> & {
|
|
29
|
-
getApp(): Hono;
|
|
30
|
-
};
|
|
31
|
-
//#endregion
|
|
32
|
-
export { createAgentRoutes as a, TSessionFactory as i, createHttpTransport as n, IAgentRoutesOptions as r, IHttpTransportOptions as t };
|
|
33
|
-
//# sourceMappingURL=index-BnAGE-u9.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BnAGE-u9.d.ts","names":[],"sources":["../../src/http/routes.ts","../../src/http/http-transport.ts"],"mappings":";;;;;KAcY,eAAA,IAAmB,CAAA,EAAG,OAAA,KAAY,mBAAA,GAAsB,OAAA,CAAQ,mBAAA;AAAA,UAE3D,mBAAA;EAF0D;EAIzE,cAAA,EAAgB,eAAe;AAAA;;;;;AAJ8D;AAE/F;;;;AAEiC;iBAajB,iBAAA,CAAkB,OAAA,EAAS,mBAAA,GAAsB,IAAI;;;UCnBpD,qBAAA;EDE2D;ECA1E,QAAQ;AAAA;AAAA,iBAGM,mBAAA,CACd,OAAA,GAAU,qBAAA,GACT,iBAAA,CAAkB,mBAAA;EAAyB,MAAA,IAAU,IAAA;AAAA"}
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { IBackgroundTaskInput, IBackgroundTaskListFilter, IBackgroundTaskLogCursor, IBackgroundTaskLogPage, IBackgroundTaskState, IExecutionWorkspaceEntry, IExecutionWorkspaceSnapshot as IExecutionWorkspaceSnapshot$1, InteractiveSession, TBackgroundTaskEvent, TExecutionAttention, TExecutionWorkspaceStatus } from "@robota-sdk/agent-framework";
|
|
2
|
-
import { TUniversalValue } from "@robota-sdk/agent-core";
|
|
3
|
-
import { IBackgroundJobGroupState, ICommandResult, IConfigurableTransport, IExecutionResult, IExecutionWorkspaceSnapshot, IInteractiveSession, IToolState, ITransportAdapter, TBackgroundJobGroupEvent } from "@robota-sdk/agent-interface-transport";
|
|
4
|
-
|
|
5
|
-
//#region src/ws/ws-protocol.d.ts
|
|
6
|
-
type TBackgroundControlAction = 'cancel' | 'close' | 'send';
|
|
7
|
-
/** Inbound message from client to server. */
|
|
8
|
-
type TClientMessage = {
|
|
9
|
-
type: 'submit';
|
|
10
|
-
prompt: string;
|
|
11
|
-
} | {
|
|
12
|
-
type: 'command';
|
|
13
|
-
name: string;
|
|
14
|
-
args?: string;
|
|
15
|
-
} | {
|
|
16
|
-
type: 'abort';
|
|
17
|
-
} | {
|
|
18
|
-
type: 'cancel-queue';
|
|
19
|
-
} | {
|
|
20
|
-
type: 'get-messages';
|
|
21
|
-
} | {
|
|
22
|
-
type: 'get-context';
|
|
23
|
-
} | {
|
|
24
|
-
type: 'get-executing';
|
|
25
|
-
} | {
|
|
26
|
-
type: 'get-pending';
|
|
27
|
-
} | {
|
|
28
|
-
type: 'get-execution-workspace';
|
|
29
|
-
} | {
|
|
30
|
-
type: 'get-background-tasks';
|
|
31
|
-
filter?: IBackgroundTaskListFilter;
|
|
32
|
-
} | {
|
|
33
|
-
type: 'get-background-task';
|
|
34
|
-
taskId: string;
|
|
35
|
-
} | {
|
|
36
|
-
type: 'get-background-job-groups';
|
|
37
|
-
} | {
|
|
38
|
-
type: 'get-background-job-group';
|
|
39
|
-
groupId: string;
|
|
40
|
-
} | {
|
|
41
|
-
type: 'wait-background-job-group';
|
|
42
|
-
groupId: string;
|
|
43
|
-
} | {
|
|
44
|
-
type: 'cancel-background-task';
|
|
45
|
-
taskId: string;
|
|
46
|
-
reason?: string;
|
|
47
|
-
} | {
|
|
48
|
-
type: 'close-background-task';
|
|
49
|
-
taskId: string;
|
|
50
|
-
} | {
|
|
51
|
-
type: 'send-background-task';
|
|
52
|
-
taskId: string;
|
|
53
|
-
input: IBackgroundTaskInput;
|
|
54
|
-
} | {
|
|
55
|
-
type: 'read-background-task-log';
|
|
56
|
-
taskId: string;
|
|
57
|
-
cursor?: IBackgroundTaskLogCursor;
|
|
58
|
-
};
|
|
59
|
-
/** Outbound message from server to client. */
|
|
60
|
-
type TServerMessage = {
|
|
61
|
-
type: 'text_delta';
|
|
62
|
-
delta: string;
|
|
63
|
-
} | {
|
|
64
|
-
type: 'user_message';
|
|
65
|
-
content: string;
|
|
66
|
-
} | {
|
|
67
|
-
type: 'tool_start';
|
|
68
|
-
state: IToolState;
|
|
69
|
-
} | {
|
|
70
|
-
type: 'tool_end';
|
|
71
|
-
state: IToolState;
|
|
72
|
-
} | {
|
|
73
|
-
type: 'thinking';
|
|
74
|
-
isThinking: boolean;
|
|
75
|
-
} | {
|
|
76
|
-
type: 'complete';
|
|
77
|
-
result: IExecutionResult;
|
|
78
|
-
} | {
|
|
79
|
-
type: 'interrupted';
|
|
80
|
-
result: IExecutionResult;
|
|
81
|
-
} | {
|
|
82
|
-
type: 'error';
|
|
83
|
-
message: string;
|
|
84
|
-
} | {
|
|
85
|
-
type: 'command_result';
|
|
86
|
-
name: string;
|
|
87
|
-
message: string;
|
|
88
|
-
success: boolean;
|
|
89
|
-
data?: ICommandResult['data'];
|
|
90
|
-
} | {
|
|
91
|
-
type: 'messages';
|
|
92
|
-
messages: ReturnType<InteractiveSession['getMessages']>;
|
|
93
|
-
} | {
|
|
94
|
-
type: 'context';
|
|
95
|
-
state: ReturnType<InteractiveSession['getContextState']>;
|
|
96
|
-
} | {
|
|
97
|
-
type: 'executing';
|
|
98
|
-
executing: boolean;
|
|
99
|
-
} | {
|
|
100
|
-
type: 'pending';
|
|
101
|
-
pending: string | null;
|
|
102
|
-
} | {
|
|
103
|
-
type: 'execution_workspace_event';
|
|
104
|
-
snapshot: IExecutionWorkspaceSnapshot;
|
|
105
|
-
} | {
|
|
106
|
-
type: 'background_task_event';
|
|
107
|
-
event: TBackgroundTaskEvent;
|
|
108
|
-
} | {
|
|
109
|
-
type: 'background_job_group_event';
|
|
110
|
-
event: TBackgroundJobGroupEvent;
|
|
111
|
-
} | {
|
|
112
|
-
type: 'background_tasks';
|
|
113
|
-
tasks: IBackgroundTaskState[];
|
|
114
|
-
} | {
|
|
115
|
-
type: 'background_task';
|
|
116
|
-
taskId: string;
|
|
117
|
-
task: IBackgroundTaskState | null;
|
|
118
|
-
} | {
|
|
119
|
-
type: 'background_job_groups';
|
|
120
|
-
groups: IBackgroundJobGroupState[];
|
|
121
|
-
} | {
|
|
122
|
-
type: 'background_job_group';
|
|
123
|
-
groupId: string;
|
|
124
|
-
group: IBackgroundJobGroupState | null;
|
|
125
|
-
} | {
|
|
126
|
-
type: 'background_task_log';
|
|
127
|
-
taskId: string;
|
|
128
|
-
page: IBackgroundTaskLogPage;
|
|
129
|
-
} | {
|
|
130
|
-
type: 'background_task_control_result';
|
|
131
|
-
action: TBackgroundControlAction;
|
|
132
|
-
taskId: string;
|
|
133
|
-
success: boolean;
|
|
134
|
-
message?: string;
|
|
135
|
-
} | {
|
|
136
|
-
type: 'protocol_error';
|
|
137
|
-
message: string;
|
|
138
|
-
};
|
|
139
|
-
//#endregion
|
|
140
|
-
//#region src/ws/ws-handler.d.ts
|
|
141
|
-
interface IWsHandlerOptions {
|
|
142
|
-
/** IInteractiveSession to expose. */
|
|
143
|
-
session: IInteractiveSession;
|
|
144
|
-
/** Send a JSON message to the client. */
|
|
145
|
-
send: (message: TServerMessage) => void;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Create a WebSocket message handler for an IInteractiveSession.
|
|
149
|
-
*
|
|
150
|
-
* Returns:
|
|
151
|
-
* - `onMessage(data)`: call this when the WebSocket receives a message
|
|
152
|
-
* - `cleanup()`: call this when the WebSocket disconnects
|
|
153
|
-
*
|
|
154
|
-
* Usage:
|
|
155
|
-
* ```typescript
|
|
156
|
-
* const { onMessage, cleanup } = createWsHandler({
|
|
157
|
-
* session: interactiveSession,
|
|
158
|
-
* send: (msg) => ws.send(JSON.stringify(msg)),
|
|
159
|
-
* });
|
|
160
|
-
*
|
|
161
|
-
* ws.on('message', (data) => onMessage(String(data)));
|
|
162
|
-
* ws.on('close', cleanup);
|
|
163
|
-
* ```
|
|
164
|
-
*/
|
|
165
|
-
declare function createWsHandler(options: IWsHandlerOptions): {
|
|
166
|
-
onMessage: (data: string) => void;
|
|
167
|
-
cleanup: () => void;
|
|
168
|
-
};
|
|
169
|
-
//#endregion
|
|
170
|
-
//#region src/ws/ws-transport.d.ts
|
|
171
|
-
interface IWsTransportOptions {
|
|
172
|
-
/** Send a JSON message to the connected WebSocket client. */
|
|
173
|
-
send: (message: TServerMessage) => void;
|
|
174
|
-
}
|
|
175
|
-
declare function createWsTransport(options: IWsTransportOptions): ITransportAdapter<IInteractiveSession> & {
|
|
176
|
-
onMessage: ((data: string) => void) | null;
|
|
177
|
-
};
|
|
178
|
-
//#endregion
|
|
179
|
-
//#region src/ws/ws-transport-configurable.d.ts
|
|
180
|
-
interface IWsTransportConfig {
|
|
181
|
-
port?: number;
|
|
182
|
-
maxRetries?: number;
|
|
183
|
-
}
|
|
184
|
-
declare class WsTransport implements IConfigurableTransport<IInteractiveSession> {
|
|
185
|
-
readonly name = "ws";
|
|
186
|
-
readonly defaultEnabled = true;
|
|
187
|
-
readonly optionsSchema: {
|
|
188
|
-
port: {
|
|
189
|
-
type: string;
|
|
190
|
-
description: string;
|
|
191
|
-
default: number;
|
|
192
|
-
};
|
|
193
|
-
maxRetries: {
|
|
194
|
-
type: string;
|
|
195
|
-
description: string;
|
|
196
|
-
default: number;
|
|
197
|
-
};
|
|
198
|
-
};
|
|
199
|
-
private session;
|
|
200
|
-
private stopFn;
|
|
201
|
-
private readonly port;
|
|
202
|
-
private readonly maxRetries;
|
|
203
|
-
constructor(config?: IWsTransportConfig);
|
|
204
|
-
attach(session: IInteractiveSession): void;
|
|
205
|
-
start(): Promise<void>;
|
|
206
|
-
stop(): Promise<void>;
|
|
207
|
-
validateOptions(options: Record<string, TUniversalValue>): boolean;
|
|
208
|
-
private bindWithRetry;
|
|
209
|
-
private tryBind;
|
|
210
|
-
}
|
|
211
|
-
//#endregion
|
|
212
|
-
export { IWsTransportConfig as a, createWsTransport as c, TClientMessage as d, TServerMessage as f, TExecutionWorkspaceStatus as i, IWsHandlerOptions as l, IExecutionWorkspaceSnapshot$1 as n, WsTransport as o, TExecutionAttention as r, IWsTransportOptions as s, IExecutionWorkspaceEntry as t, createWsHandler as u };
|
|
213
|
-
//# sourceMappingURL=index-BrQ4gGw0.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BrQ4gGw0.d.ts","names":[],"sources":["../../src/ws/ws-protocol.ts","../../src/ws/ws-handler.ts","../../src/ws/ws-transport.ts","../../src/ws/ws-transport-configurable.ts"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-CYl7ksS6.d.ts","names":[],"sources":["../../src/headless/print-terminal.ts","../../src/headless/cli-input.ts","../../src/headless/headless-runner.ts","../../src/headless/headless-transport.ts","../../src/headless/HeadlessInteractionChannel.ts"],"mappings":";;;;;cAWa,aAAA,YAAyB,eAAA;EACpC,KAAA,CAAM,IAAA;EAGN,SAAA,CAAU,IAAA;EAGV,aAAA,CAAc,EAAA;EAGd,UAAA,CAAW,IAAA;EAGX,MAAA,CAAO,QAAA,WAAmB,OAAA;EAcpB,MAAA,CAAO,OAAA,YAAmB,YAAA,YAAmB,OAAA;EAcnD,OAAA,CAAQ,QAAA,WAAmB,QAAA;AAAA;;;cClDhB,WAAA,GAAe,KAAA,UAAe,MAAA,eAAiB,OAAO;;;KCEvD,aAAA;AAAA,UAEK,sBAAA;EACf,OAAA,EAAS,mBAAA;EACT,YAAA,EAAc,aAAa;AAAA;AAAA,iBAGb,oBAAA,CAAqB,OAAA,EAAS,sBAAA;EAC5C,GAAA,GAAM,MAAA,aAAmB,OAAO;AAAA;;;UCAjB,yBAAA;EH0BoC;EGxBnD,YAAA,EAAc,aAAa;EHHS;EGKpC,MAAA;AAAA;AAAA,iBAGc,uBAAA,CACd,OAAA,EAAS,yBAAA,GACR,iBAAA,CAAkB,mBAAA;EAAyB,WAAA;AAAA;;;UCE7B,kCAAA;EACf,GAAA;EACA,QAAA,EAAU,WAAA;EACV,YAAA,EAAc,aAAA;EACd,cAAA,GAAiB,eAAA;EACjB,QAAA;EACA,YAAA,GAAe,wBAAA;EJdf;EIgBA,eAAA;EJbA;EIeA,WAAA;EACA,WAAA;EACA,IAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,YAAA;EJDa;EIGb,SAAA;EJHmD;EIKnD,cAAA;EJSQ;EIPR,OAAA;EJOmC;EILnC,uBAAA;;EAEA,gBAAA;EACA,qBAAA,GAAwB,qBAAA;EACxB,qBAAA,GAAwB,sBAAA;EACxB,cAAA,YAA0B,cAAA;EAC1B,mBAAA,GAAsB,oBAAA;EACtB,SAAA,GAAY,YAAA;AAAA;AAAA,cAGD,0BAAA;EAAA,iBACM,IAAA;EAAA,QACT,QAAA;cAEI,OAAA,EAAS,kCAAA;EAIf,GAAA,CAAI,MAAA,WAAiB,OAAO;EA2ClC,WAAA;AAAA"}
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { TUniversalValue } from "@robota-sdk/agent-core";
|
|
2
|
-
import { IBackgroundJobGroupState, ICommandResult, IConfigurableTransport, IExecutionResult, IExecutionWorkspaceSnapshot, IInteractiveSession, IToolState, ITransportAdapter, TBackgroundJobGroupEvent } from "@robota-sdk/agent-interface-transport";
|
|
3
|
-
import { IBackgroundTaskInput, IBackgroundTaskListFilter, IBackgroundTaskLogCursor, IBackgroundTaskLogPage, IBackgroundTaskState, IExecutionWorkspaceEntry, IExecutionWorkspaceSnapshot as IExecutionWorkspaceSnapshot$1, InteractiveSession, TBackgroundTaskEvent, TExecutionAttention, TExecutionWorkspaceStatus } from "@robota-sdk/agent-framework";
|
|
4
|
-
|
|
5
|
-
//#region src/ws/ws-protocol.d.ts
|
|
6
|
-
type TBackgroundControlAction = 'cancel' | 'close' | 'send';
|
|
7
|
-
/** Inbound message from client to server. */
|
|
8
|
-
type TClientMessage = {
|
|
9
|
-
type: 'submit';
|
|
10
|
-
prompt: string;
|
|
11
|
-
} | {
|
|
12
|
-
type: 'command';
|
|
13
|
-
name: string;
|
|
14
|
-
args?: string;
|
|
15
|
-
} | {
|
|
16
|
-
type: 'abort';
|
|
17
|
-
} | {
|
|
18
|
-
type: 'cancel-queue';
|
|
19
|
-
} | {
|
|
20
|
-
type: 'get-messages';
|
|
21
|
-
} | {
|
|
22
|
-
type: 'get-context';
|
|
23
|
-
} | {
|
|
24
|
-
type: 'get-executing';
|
|
25
|
-
} | {
|
|
26
|
-
type: 'get-pending';
|
|
27
|
-
} | {
|
|
28
|
-
type: 'get-execution-workspace';
|
|
29
|
-
} | {
|
|
30
|
-
type: 'get-background-tasks';
|
|
31
|
-
filter?: IBackgroundTaskListFilter;
|
|
32
|
-
} | {
|
|
33
|
-
type: 'get-background-task';
|
|
34
|
-
taskId: string;
|
|
35
|
-
} | {
|
|
36
|
-
type: 'get-background-job-groups';
|
|
37
|
-
} | {
|
|
38
|
-
type: 'get-background-job-group';
|
|
39
|
-
groupId: string;
|
|
40
|
-
} | {
|
|
41
|
-
type: 'wait-background-job-group';
|
|
42
|
-
groupId: string;
|
|
43
|
-
} | {
|
|
44
|
-
type: 'cancel-background-task';
|
|
45
|
-
taskId: string;
|
|
46
|
-
reason?: string;
|
|
47
|
-
} | {
|
|
48
|
-
type: 'close-background-task';
|
|
49
|
-
taskId: string;
|
|
50
|
-
} | {
|
|
51
|
-
type: 'send-background-task';
|
|
52
|
-
taskId: string;
|
|
53
|
-
input: IBackgroundTaskInput;
|
|
54
|
-
} | {
|
|
55
|
-
type: 'read-background-task-log';
|
|
56
|
-
taskId: string;
|
|
57
|
-
cursor?: IBackgroundTaskLogCursor;
|
|
58
|
-
};
|
|
59
|
-
/** Outbound message from server to client. */
|
|
60
|
-
type TServerMessage = {
|
|
61
|
-
type: 'text_delta';
|
|
62
|
-
delta: string;
|
|
63
|
-
} | {
|
|
64
|
-
type: 'user_message';
|
|
65
|
-
content: string;
|
|
66
|
-
} | {
|
|
67
|
-
type: 'tool_start';
|
|
68
|
-
state: IToolState;
|
|
69
|
-
} | {
|
|
70
|
-
type: 'tool_end';
|
|
71
|
-
state: IToolState;
|
|
72
|
-
} | {
|
|
73
|
-
type: 'thinking';
|
|
74
|
-
isThinking: boolean;
|
|
75
|
-
} | {
|
|
76
|
-
type: 'complete';
|
|
77
|
-
result: IExecutionResult;
|
|
78
|
-
} | {
|
|
79
|
-
type: 'interrupted';
|
|
80
|
-
result: IExecutionResult;
|
|
81
|
-
} | {
|
|
82
|
-
type: 'error';
|
|
83
|
-
message: string;
|
|
84
|
-
} | {
|
|
85
|
-
type: 'command_result';
|
|
86
|
-
name: string;
|
|
87
|
-
message: string;
|
|
88
|
-
success: boolean;
|
|
89
|
-
data?: ICommandResult['data'];
|
|
90
|
-
} | {
|
|
91
|
-
type: 'messages';
|
|
92
|
-
messages: ReturnType<InteractiveSession['getMessages']>;
|
|
93
|
-
} | {
|
|
94
|
-
type: 'context';
|
|
95
|
-
state: ReturnType<InteractiveSession['getContextState']>;
|
|
96
|
-
} | {
|
|
97
|
-
type: 'executing';
|
|
98
|
-
executing: boolean;
|
|
99
|
-
} | {
|
|
100
|
-
type: 'pending';
|
|
101
|
-
pending: string | null;
|
|
102
|
-
} | {
|
|
103
|
-
type: 'execution_workspace_event';
|
|
104
|
-
snapshot: IExecutionWorkspaceSnapshot;
|
|
105
|
-
} | {
|
|
106
|
-
type: 'background_task_event';
|
|
107
|
-
event: TBackgroundTaskEvent;
|
|
108
|
-
} | {
|
|
109
|
-
type: 'background_job_group_event';
|
|
110
|
-
event: TBackgroundJobGroupEvent;
|
|
111
|
-
} | {
|
|
112
|
-
type: 'background_tasks';
|
|
113
|
-
tasks: IBackgroundTaskState[];
|
|
114
|
-
} | {
|
|
115
|
-
type: 'background_task';
|
|
116
|
-
taskId: string;
|
|
117
|
-
task: IBackgroundTaskState | null;
|
|
118
|
-
} | {
|
|
119
|
-
type: 'background_job_groups';
|
|
120
|
-
groups: IBackgroundJobGroupState[];
|
|
121
|
-
} | {
|
|
122
|
-
type: 'background_job_group';
|
|
123
|
-
groupId: string;
|
|
124
|
-
group: IBackgroundJobGroupState | null;
|
|
125
|
-
} | {
|
|
126
|
-
type: 'background_task_log';
|
|
127
|
-
taskId: string;
|
|
128
|
-
page: IBackgroundTaskLogPage;
|
|
129
|
-
} | {
|
|
130
|
-
type: 'background_task_control_result';
|
|
131
|
-
action: TBackgroundControlAction;
|
|
132
|
-
taskId: string;
|
|
133
|
-
success: boolean;
|
|
134
|
-
message?: string;
|
|
135
|
-
} | {
|
|
136
|
-
type: 'protocol_error';
|
|
137
|
-
message: string;
|
|
138
|
-
};
|
|
139
|
-
//#endregion
|
|
140
|
-
//#region src/ws/ws-handler.d.ts
|
|
141
|
-
interface IWsHandlerOptions {
|
|
142
|
-
/** IInteractiveSession to expose. */
|
|
143
|
-
session: IInteractiveSession;
|
|
144
|
-
/** Send a JSON message to the client. */
|
|
145
|
-
send: (message: TServerMessage) => void;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Create a WebSocket message handler for an IInteractiveSession.
|
|
149
|
-
*
|
|
150
|
-
* Returns:
|
|
151
|
-
* - `onMessage(data)`: call this when the WebSocket receives a message
|
|
152
|
-
* - `cleanup()`: call this when the WebSocket disconnects
|
|
153
|
-
*
|
|
154
|
-
* Usage:
|
|
155
|
-
* ```typescript
|
|
156
|
-
* const { onMessage, cleanup } = createWsHandler({
|
|
157
|
-
* session: interactiveSession,
|
|
158
|
-
* send: (msg) => ws.send(JSON.stringify(msg)),
|
|
159
|
-
* });
|
|
160
|
-
*
|
|
161
|
-
* ws.on('message', (data) => onMessage(String(data)));
|
|
162
|
-
* ws.on('close', cleanup);
|
|
163
|
-
* ```
|
|
164
|
-
*/
|
|
165
|
-
declare function createWsHandler(options: IWsHandlerOptions): {
|
|
166
|
-
onMessage: (data: string) => void;
|
|
167
|
-
cleanup: () => void;
|
|
168
|
-
};
|
|
169
|
-
//#endregion
|
|
170
|
-
//#region src/ws/ws-transport.d.ts
|
|
171
|
-
interface IWsTransportOptions {
|
|
172
|
-
/** Send a JSON message to the connected WebSocket client. */
|
|
173
|
-
send: (message: TServerMessage) => void;
|
|
174
|
-
}
|
|
175
|
-
declare function createWsTransport(options: IWsTransportOptions): ITransportAdapter<IInteractiveSession> & {
|
|
176
|
-
onMessage: ((data: string) => void) | null;
|
|
177
|
-
};
|
|
178
|
-
//#endregion
|
|
179
|
-
//#region src/ws/ws-transport-configurable.d.ts
|
|
180
|
-
interface IWsTransportConfig {
|
|
181
|
-
port?: number;
|
|
182
|
-
maxRetries?: number;
|
|
183
|
-
}
|
|
184
|
-
declare class WsTransport implements IConfigurableTransport<IInteractiveSession> {
|
|
185
|
-
readonly name = "ws";
|
|
186
|
-
readonly defaultEnabled = true;
|
|
187
|
-
readonly optionsSchema: {
|
|
188
|
-
port: {
|
|
189
|
-
type: string;
|
|
190
|
-
description: string;
|
|
191
|
-
default: number;
|
|
192
|
-
};
|
|
193
|
-
maxRetries: {
|
|
194
|
-
type: string;
|
|
195
|
-
description: string;
|
|
196
|
-
default: number;
|
|
197
|
-
};
|
|
198
|
-
};
|
|
199
|
-
private session;
|
|
200
|
-
private stopFn;
|
|
201
|
-
private readonly port;
|
|
202
|
-
private readonly maxRetries;
|
|
203
|
-
constructor(config?: IWsTransportConfig);
|
|
204
|
-
attach(session: IInteractiveSession): void;
|
|
205
|
-
start(): Promise<void>;
|
|
206
|
-
stop(): Promise<void>;
|
|
207
|
-
validateOptions(options: Record<string, TUniversalValue>): boolean;
|
|
208
|
-
private bindWithRetry;
|
|
209
|
-
private tryBind;
|
|
210
|
-
}
|
|
211
|
-
//#endregion
|
|
212
|
-
export { IWsTransportConfig as a, createWsTransport as c, TClientMessage as d, TServerMessage as f, TExecutionWorkspaceStatus as i, IWsHandlerOptions as l, IExecutionWorkspaceSnapshot$1 as n, WsTransport as o, TExecutionAttention as r, IWsTransportOptions as s, IExecutionWorkspaceEntry as t, createWsHandler as u };
|
|
213
|
-
//# sourceMappingURL=index-CoeBF21y.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-CoeBF21y.d.ts","names":[],"sources":["../../src/ws/ws-protocol.ts","../../src/ws/ws-handler.ts","../../src/ws/ws-transport.ts","../../src/ws/ws-transport-configurable.ts"],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
|
-
import { IInteractiveSession, ITransportAdapter } from "@robota-sdk/agent-interface-transport";
|
|
3
|
-
|
|
4
|
-
//#region src/mcp/mcp-server.d.ts
|
|
5
|
-
interface IAgentMcpOptions {
|
|
6
|
-
/** Name for the MCP server. */
|
|
7
|
-
name: string;
|
|
8
|
-
/** Version string. */
|
|
9
|
-
version: string;
|
|
10
|
-
/** IInteractiveSession to expose. */
|
|
11
|
-
session: IInteractiveSession;
|
|
12
|
-
/** If true, register each system command as a separate MCP tool. Default: true. */
|
|
13
|
-
exposeCommands?: boolean;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Create an MCP server that exposes IInteractiveSession over Model Context Protocol.
|
|
17
|
-
*
|
|
18
|
-
* Usage:
|
|
19
|
-
* ```typescript
|
|
20
|
-
* const server = createAgentMcpServer({
|
|
21
|
-
* name: 'robota-agent',
|
|
22
|
-
* version: '1.0.0',
|
|
23
|
-
* session: interactiveSession,
|
|
24
|
-
* });
|
|
25
|
-
*
|
|
26
|
-
* import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
27
|
-
* await server.connect(new StdioServerTransport());
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
declare function createAgentMcpServer(options: IAgentMcpOptions): Server;
|
|
31
|
-
//#endregion
|
|
32
|
-
//#region src/mcp/mcp-transport.d.ts
|
|
33
|
-
interface IMcpTransportOptions {
|
|
34
|
-
/** Name for the MCP server. */
|
|
35
|
-
name: string;
|
|
36
|
-
/** Version string. */
|
|
37
|
-
version: string;
|
|
38
|
-
/** If true, register each system command as a separate MCP tool. Default: true. */
|
|
39
|
-
exposeCommands?: boolean;
|
|
40
|
-
}
|
|
41
|
-
declare function createMcpTransport(options: IMcpTransportOptions): ITransportAdapter<IInteractiveSession> & {
|
|
42
|
-
getServer(): Server;
|
|
43
|
-
};
|
|
44
|
-
//#endregion
|
|
45
|
-
export { createAgentMcpServer as i, createMcpTransport as n, IAgentMcpOptions as r, IMcpTransportOptions as t };
|
|
46
|
-
//# sourceMappingURL=index-DHt-2VQ-.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DHt-2VQ-.d.ts","names":[],"sources":["../../src/mcp/mcp-server.ts","../../src/mcp/mcp-transport.ts"],"mappings":";;;;UAaiB,gBAAA;EAMf;EAJA,IAAA;EAMA;EAJA,OAAA;EAIc;EAFd,OAAA,EAAS,mBAAmB;EAoBM;EAlBlC,cAAA;AAAA;;;;;AAkBqE;;;;AC3BvE;;;;;;;iBD2BgB,oBAAA,CAAqB,OAAA,EAAS,gBAAA,GAAmB,MAAM;;;UC3BtD,oBAAA;EDKf;ECHA,IAAA;EDKS;ECHT,OAAA;EDKc;ECHd,cAAA;AAAA;AAAA,iBAGc,kBAAA,CACd,OAAA,EAAS,oBAAA,GACR,iBAAA,CAAkB,mBAAA;EAAyB,SAAA,IAAa,MAAA;AAAA"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Context, Hono } from "hono";
|
|
2
|
-
import { IInteractiveSession, ITransportAdapter } from "@robota-sdk/agent-interface-transport";
|
|
3
|
-
|
|
4
|
-
//#region src/http/routes.d.ts
|
|
5
|
-
/** Callback that resolves an IInteractiveSession from the request context. */
|
|
6
|
-
type TSessionFactory = (c: Context) => IInteractiveSession | Promise<IInteractiveSession>;
|
|
7
|
-
interface IAgentRoutesOptions {
|
|
8
|
-
/** Resolve an IInteractiveSession per request (e.g., by auth token, session ID). */
|
|
9
|
-
sessionFactory: TSessionFactory;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Create a Hono router with all agent HTTP endpoints.
|
|
13
|
-
*
|
|
14
|
-
* Usage:
|
|
15
|
-
* ```typescript
|
|
16
|
-
* const routes = createAgentRoutes({ sessionFactory });
|
|
17
|
-
* app.route('/agent', routes); // mount on existing app
|
|
18
|
-
* export default routes; // or use standalone (CF Workers)
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
declare function createAgentRoutes(options: IAgentRoutesOptions): Hono;
|
|
22
|
-
//#endregion
|
|
23
|
-
//#region src/http/http-transport.d.ts
|
|
24
|
-
interface IHttpTransportOptions {
|
|
25
|
-
/** Optional: base path prefix for routes. */
|
|
26
|
-
basePath?: string;
|
|
27
|
-
}
|
|
28
|
-
declare function createHttpTransport(options?: IHttpTransportOptions): ITransportAdapter<IInteractiveSession> & {
|
|
29
|
-
getApp(): Hono;
|
|
30
|
-
};
|
|
31
|
-
//#endregion
|
|
32
|
-
export { createAgentRoutes as a, TSessionFactory as i, createHttpTransport as n, IAgentRoutesOptions as r, IHttpTransportOptions as t };
|
|
33
|
-
//# sourceMappingURL=index-DMwKN5Le.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DMwKN5Le.d.ts","names":[],"sources":["../../src/http/routes.ts","../../src/http/http-transport.ts"],"mappings":";;;;;KAcY,eAAA,IAAmB,CAAA,EAAG,OAAA,KAAY,mBAAA,GAAsB,OAAA,CAAQ,mBAAA;AAAA,UAE3D,mBAAA;EAF0D;EAIzE,cAAA,EAAgB,eAAe;AAAA;;;;;AAJ8D;AAE/F;;;;AAEiC;iBAajB,iBAAA,CAAkB,OAAA,EAAS,mBAAA,GAAsB,IAAI;;;UCnBpD,qBAAA;EDE2D;ECA1E,QAAQ;AAAA;AAAA,iBAGM,mBAAA,CACd,OAAA,GAAU,qBAAA,GACT,iBAAA,CAAkB,mBAAA;EAAyB,MAAA,IAAU,IAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-E8Gx4-lc.d.ts","names":[],"sources":["../../src/headless/print-terminal.ts","../../src/headless/cli-input.ts","../../src/headless/headless-runner.ts","../../src/headless/headless-transport.ts","../../src/headless/HeadlessInteractionChannel.ts"],"mappings":";;;;;cAWa,aAAA,YAAyB,eAAA;EACpC,KAAA,CAAM,IAAA;EAGN,SAAA,CAAU,IAAA;EAGV,aAAA,CAAc,EAAA;EAGd,UAAA,CAAW,IAAA;EAGX,MAAA,CAAO,QAAA,WAAmB,OAAA;EAcpB,MAAA,CAAO,OAAA,YAAmB,YAAA,YAAmB,OAAA;EAcnD,OAAA,CAAQ,QAAA,WAAmB,QAAA;AAAA;;;cClDhB,WAAA,GAAe,KAAA,UAAe,MAAA,eAAiB,OAAO;;;KCEvD,aAAA;AAAA,UAEK,sBAAA;EACf,OAAA,EAAS,mBAAA;EACT,YAAA,EAAc,aAAa;AAAA;AAAA,iBAGb,oBAAA,CAAqB,OAAA,EAAS,sBAAA;EAC5C,GAAA,GAAM,MAAA,aAAmB,OAAO;AAAA;;;UCAjB,yBAAA;EH0BoC;EGxBnD,YAAA,EAAc,aAAa;EHHS;EGKpC,MAAA;AAAA;AAAA,iBAGc,uBAAA,CACd,OAAA,EAAS,yBAAA,GACR,iBAAA,CAAkB,mBAAA;EAAyB,WAAA;AAAA;;;UCE7B,kCAAA;EACf,GAAA;EACA,QAAA,EAAU,WAAA;EACV,YAAA,EAAc,aAAA;EACd,cAAA,GAAiB,eAAA;EACjB,QAAA;EACA,YAAA,GAAe,wBAAA;EJdf;EIgBA,eAAA;EJbA;EIeA,WAAA;EACA,WAAA;EACA,IAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,YAAA;EJDa;EIGb,SAAA;EJHmD;EIKnD,cAAA;EJSQ;EIPR,OAAA;EJOmC;EILnC,uBAAA;;EAEA,gBAAA;EACA,qBAAA,GAAwB,qBAAA;EACxB,qBAAA,GAAwB,sBAAA;EACxB,cAAA,YAA0B,cAAA;EAC1B,mBAAA,GAAsB,oBAAA;EACtB,SAAA,GAAY,YAAA;AAAA;AAAA,cAGD,0BAAA;EAAA,iBACM,IAAA;EAAA,QACT,QAAA;cAEI,OAAA,EAAS,kCAAA;EAIf,GAAA,CAAI,MAAA,WAAiB,OAAO;EA2ClC,WAAA;AAAA"}
|