neoctl 0.2.45 → 0.2.47

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 (102) hide show
  1. package/dist/agents/agent-tool.js +2 -1
  2. package/dist/agents/agent-tool.js.map +1 -1
  3. package/dist/context/compaction.d.ts +6 -0
  4. package/dist/context/compaction.js +10 -5
  5. package/dist/context/compaction.js.map +1 -1
  6. package/dist/context/prompts.js +2 -0
  7. package/dist/context/prompts.js.map +1 -1
  8. package/dist/core/abortable-stream.d.ts +4 -0
  9. package/dist/core/abortable-stream.js +52 -0
  10. package/dist/core/abortable-stream.js.map +1 -0
  11. package/dist/core/compaction-progress.d.ts +5 -0
  12. package/dist/core/compaction-progress.js +38 -0
  13. package/dist/core/compaction-progress.js.map +1 -0
  14. package/dist/core/execution-state.d.ts +12 -0
  15. package/dist/core/execution-state.js +19 -0
  16. package/dist/core/execution-state.js.map +1 -0
  17. package/dist/core/image-registry.d.ts +4 -2
  18. package/dist/core/image-registry.js +32 -7
  19. package/dist/core/image-registry.js.map +1 -1
  20. package/dist/core/image-storage.js +4 -0
  21. package/dist/core/image-storage.js.map +1 -1
  22. package/dist/core/query-engine.d.ts +31 -1
  23. package/dist/core/query-engine.js +198 -70
  24. package/dist/core/query-engine.js.map +1 -1
  25. package/dist/core/query.d.ts +5 -1
  26. package/dist/core/query.js +77 -22
  27. package/dist/core/query.js.map +1 -1
  28. package/dist/core/session-images.d.ts +52 -0
  29. package/dist/core/session-images.js +395 -0
  30. package/dist/core/session-images.js.map +1 -0
  31. package/dist/index.d.ts +1 -0
  32. package/dist/index.js +1 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/model/model-gateway.d.ts +4 -0
  35. package/dist/model/model-gateway.js.map +1 -1
  36. package/dist/model/openai-chat-mapper.js +2 -0
  37. package/dist/model/openai-chat-mapper.js.map +1 -1
  38. package/dist/model/openai-mappers.js +0 -2
  39. package/dist/model/openai-mappers.js.map +1 -1
  40. package/dist/model/openai-responses-mapper.js +3 -0
  41. package/dist/model/openai-responses-mapper.js.map +1 -1
  42. package/dist/model/tool-input-stream.d.ts +31 -0
  43. package/dist/model/tool-input-stream.js +226 -0
  44. package/dist/model/tool-input-stream.js.map +1 -0
  45. package/dist/repl/index.js +2 -0
  46. package/dist/repl/index.js.map +1 -1
  47. package/dist/session/session-store.d.ts +9 -0
  48. package/dist/session/session-store.js +20 -2
  49. package/dist/session/session-store.js.map +1 -1
  50. package/dist/tasks/subagent-tools.js +1 -1
  51. package/dist/tasks/subagent-tools.js.map +1 -1
  52. package/dist/tools/builtins/exec-process-manager.d.ts +4 -1
  53. package/dist/tools/builtins/exec-process-manager.js +26 -2
  54. package/dist/tools/builtins/exec-process-manager.js.map +1 -1
  55. package/dist/tools/builtins/exec-tool.js +1 -1
  56. package/dist/tools/builtins/exec-tool.js.map +1 -1
  57. package/dist/tools/builtins/framework-feedback-tool.d.ts +26 -0
  58. package/dist/tools/builtins/framework-feedback-tool.js +97 -0
  59. package/dist/tools/builtins/framework-feedback-tool.js.map +1 -0
  60. package/dist/tools/builtins/image-generation-tool.d.ts +2 -0
  61. package/dist/tools/builtins/image-generation-tool.js +31 -141
  62. package/dist/tools/builtins/image-generation-tool.js.map +1 -1
  63. package/dist/tools/builtins/image-loader-tool.d.ts +6 -1
  64. package/dist/tools/builtins/image-loader-tool.js +48 -26
  65. package/dist/tools/builtins/image-loader-tool.js.map +1 -1
  66. package/dist/tools/builtins/image-note-tool.js +2 -2
  67. package/dist/tools/builtins/image-note-tool.js.map +1 -1
  68. package/dist/tools/run-tool-use.js +4 -2
  69. package/dist/tools/run-tool-use.js.map +1 -1
  70. package/dist/tools/terminal-output-store.d.ts +1 -0
  71. package/dist/tools/terminal-output-store.js +13 -1
  72. package/dist/tools/terminal-output-store.js.map +1 -1
  73. package/dist/tools/tool-catalog.d.ts +1 -0
  74. package/dist/tools/tool-catalog.js +2 -0
  75. package/dist/tools/tool-catalog.js.map +1 -1
  76. package/dist/tools/tool.d.ts +1 -0
  77. package/dist/tools/tool.js.map +1 -1
  78. package/dist/types/events.d.ts +11 -0
  79. package/dist/types/messages.d.ts +3 -1
  80. package/dist/types/messages.js.map +1 -1
  81. package/dist/web/demo-mode.d.ts +37 -0
  82. package/dist/web/demo-mode.js +141 -0
  83. package/dist/web/demo-mode.js.map +1 -0
  84. package/dist/web/demo-tools.d.ts +37 -0
  85. package/dist/web/demo-tools.js +259 -0
  86. package/dist/web/demo-tools.js.map +1 -0
  87. package/dist/web/demo-video.d.ts +1 -0
  88. package/dist/web/demo-video.js +3 -0
  89. package/dist/web/demo-video.js.map +1 -0
  90. package/dist/web/image-result-metadata.d.ts +6 -0
  91. package/dist/web/image-result-metadata.js +3 -0
  92. package/dist/web/image-result-metadata.js.map +1 -1
  93. package/dist/web/index.d.ts +57 -3
  94. package/dist/web/index.js +388 -24
  95. package/dist/web/index.js.map +1 -1
  96. package/dist/web/tool-activity.d.ts +9 -0
  97. package/dist/web/tool-activity.js +19 -0
  98. package/dist/web/tool-activity.js.map +1 -0
  99. package/dist/web/tool-observation-result.d.ts +1 -0
  100. package/dist/web/tool-observation-result.js +35 -0
  101. package/dist/web/tool-observation-result.js.map +1 -0
  102. package/package.json +1 -1
@@ -11,6 +11,9 @@ export function imageResultMetadata(output) {
11
11
  return {
12
12
  model: text(data.model), size: text(data.size), quality: text(data.quality), outputFormat: text(data.outputFormat),
13
13
  background: text(data.background), prompt: text(data.prompt), mode: text(data.mode), semanticName: text(data.semanticName),
14
+ provider: text(data.provider), sourceImages: typeof data.sourceImages === 'number' ? data.sourceImages : undefined,
15
+ revisedPrompt: text(data.revisedPrompt), startedAt: text(data.startedAt), finishedAt: text(data.finishedAt),
16
+ durationMs: typeof (data.duration ?? data.durationMs) === 'number' ? Number(data.duration ?? data.durationMs) : undefined,
14
17
  images: data.images.map(value => {
15
18
  const image = value && typeof value === "object" ? value : {};
16
19
  return { label: text(image.label), width: dimension(image.width), height: dimension(image.height), mimeType: text(image.mimeType), hasAlphaChannel: flag(image.hasAlphaChannel), hasTransparentPixels: flag(image.hasTransparentPixels) };
@@ -1 +1 @@
1
- {"version":3,"file":"image-result-metadata.js","sourceRoot":"","sources":["../../src/web/image-result-metadata.ts"],"names":[],"mappings":"AAYA,wGAAwG;AACxG,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACrF,MAAM,IAAI,GAAG,MAAiC,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5H,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAClH,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1H,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5O,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"image-result-metadata.js","sourceRoot":"","sources":["../../src/web/image-result-metadata.ts"],"names":[],"mappings":"AAkBA,wGAAwG;AACxG,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACrF,MAAM,IAAI,GAAG,MAAiC,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5H,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAClH,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1H,QAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,YAAY,EAAC,OAAO,IAAI,CAAC,YAAY,KAAG,QAAQ,CAAA,CAAC,CAAA,IAAI,CAAC,YAAY,CAAA,CAAC,CAAA,SAAS;QACzG,aAAa,EAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAC,SAAS,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,UAAU,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QACtG,UAAU,EAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAG,QAAQ,CAAA,CAAC,CAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAA,CAAC,CAAA,SAAS;QAClH,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5O,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1,5 +1,8 @@
1
1
  #!/usr/bin/env node
2
+ import { type ToolInputChange } from "../model/tool-input-stream.js";
3
+ import { type ToolActivity } from "./tool-activity.js";
2
4
  import type { TimingRecord } from "../core/query-timing.js";
5
+ import { type DemoWait } from "./demo-mode.js";
3
6
  import { type ImageResultMetadata } from "./image-result-metadata.js";
4
7
  import { type IncomingMessage, type ServerResponse } from "node:http";
5
8
  import { QueryEngine } from "../core/query-engine.js";
@@ -11,6 +14,7 @@ import { ToolRegistry } from "../tools/registry.js";
11
14
  import type { Tool, ToolUseContext } from "../tools/tool.js";
12
15
  import { type ToolPresentation } from "../tools/tool-catalog.js";
13
16
  import { ExecProcessManager } from "../tools/builtins/exec-process-manager.js";
17
+ import { FrameworkFeedbackStore } from "../tools/builtins/framework-feedback-tool.js";
14
18
  import { type AgentToolRuntime } from "../agents/agent-tool.js";
15
19
  import { TaskStore } from "../tasks/task-store.js";
16
20
  import type { TaskNotificationSource } from "../core/query.js";
@@ -36,6 +40,7 @@ export interface WebRuntime {
36
40
  envNotice?: string;
37
41
  pluginSupport?: WebRuntimePluginSupport;
38
42
  toolSupport?: WebRuntimeToolSupport;
43
+ frameworkFeedback?: FrameworkFeedbackStore;
39
44
  }
40
45
  export interface WebRuntimePluginDefinition extends Pick<NeoPluginResource, "id" | "name" | "version" | "tools"> {
41
46
  globallyEnabled: boolean;
@@ -161,6 +166,7 @@ interface UiToolStream {
161
166
  expanded?: boolean;
162
167
  }
163
168
  interface UiLine {
169
+ connectPreviousTool?: boolean;
164
170
  id: number;
165
171
  kind: "system" | "user" | "assistant" | "thinking" | "tool" | "error" | "meta";
166
172
  text: string;
@@ -177,6 +183,9 @@ interface UiLine {
177
183
  toolDisplay?: UiToolDisplay;
178
184
  toolError?: string;
179
185
  toolStream?: UiToolStream;
186
+ activity?: ToolActivity;
187
+ observationOnly?: boolean;
188
+ observation?: Record<string, unknown>;
180
189
  format?: "markdown" | "ansi" | "plain" | "diff";
181
190
  previewStyle?: "summary";
182
191
  summaryMaxLines?: number;
@@ -231,6 +240,8 @@ export interface RunWebServerOptions {
231
240
  createRepl?: WebRuntimeRouterOptions["createRepl"];
232
241
  }
233
242
  export interface CreateWebRuntimeOptions {
243
+ /** Host-owned local feedback storage; never model-selected. */
244
+ frameworkFeedbackDir?: string;
234
245
  /** Optional storage root for this runtime's session transcripts. */
235
246
  sessionRootDir?: string;
236
247
  /** Override the initial session id for this runtime. */
@@ -330,6 +341,11 @@ type WebLineOperation = {
330
341
  type: "line.patch";
331
342
  id: number;
332
343
  patch: Partial<UiLine>;
344
+ } | {
345
+ type: "line.activity.input";
346
+ id: number;
347
+ changes: ToolInputChange[];
348
+ truncated?: boolean;
333
349
  };
334
350
  export declare function runWebServer(argv?: string[], runtimeOptions?: RunWebServerOptions): Promise<void>;
335
351
  export declare function createWebRuntime(options?: CreateWebRuntimeOptions): Promise<WebRuntime>;
@@ -374,6 +390,9 @@ interface WebClientReloadPayload extends WebClientInfoPayload {
374
390
  export declare function createWebRuntimeRouter(options?: WebRuntimeRouterOptions): Promise<WebRuntimeRouter>;
375
391
  export declare class WebRepl {
376
392
  private runtime;
393
+ private readonly demoOptions;
394
+ private pendingContinuation;
395
+ private runControl;
377
396
  private readonly agentContentReader;
378
397
  private readonly subscribers;
379
398
  private eventSequence;
@@ -385,6 +404,7 @@ export declare class WebRepl {
385
404
  private lineId;
386
405
  private assistantLineId;
387
406
  private thinkingLineId;
407
+ private previousTurnToolId;
388
408
  private finalizedThinkingLineId;
389
409
  private readonly liveToolLineIds;
390
410
  private activeAbortController;
@@ -392,6 +412,7 @@ export declare class WebRepl {
392
412
  private lines;
393
413
  private status;
394
414
  private busy;
415
+ private compactingSession?;
395
416
  private queuedInput;
396
417
  private queuedAttachments;
397
418
  private foregroundRun;
@@ -404,7 +425,16 @@ export declare class WebRepl {
404
425
  private runtimeContextPublishQueue;
405
426
  private readonly backgroundSessionRuns;
406
427
  private readonly suppressReattachedStreaming;
407
- constructor(runtime: WebRuntime);
428
+ private readonly demoSessions;
429
+ private readonly demoStatus;
430
+ private readonly demoMessageQueues;
431
+ private demoStarting;
432
+ isDemo(engine?: QueryEngine): boolean;
433
+ startDemo(expectedSessionId: string): Promise<WebActionResult>;
434
+ private recordDemoInput;
435
+ constructor(runtime: WebRuntime, demoOptions?: {
436
+ wait?: DemoWait;
437
+ });
408
438
  subscribe(res: ServerResponse, clientInfo?: WebClientInfoPayload): void;
409
439
  get backgroundTaskCount(): number;
410
440
  requestClientReload(payload: WebClientReloadPayload): number;
@@ -420,7 +450,7 @@ export declare class WebRepl {
420
450
  error: import("./tool-call-detail.js").DetailPart;
421
451
  } | undefined>;
422
452
  agentContent(sessionId: string, view: string, request: AgentContentRequest): Promise<import("./agent-content-detail.js").AgentContentPage | undefined>;
423
- terminalOutput(sessionId: string, runId: string, stream: string, offset: number, limitBytes: number): {
453
+ terminalOutput(sessionId: string, runId: string, stream: string, offset: number, limitBytes: number, tail?: boolean): {
424
454
  stream: import("../tools/terminal-output-store.js").TerminalOutputStream;
425
455
  offset: number;
426
456
  nextOffset: number;
@@ -435,6 +465,17 @@ export declare class WebRepl {
435
465
  lines: UiLine[];
436
466
  status: UiStatus;
437
467
  busy: boolean;
468
+ runControl: {
469
+ state: string;
470
+ canPause: boolean;
471
+ canResume: boolean;
472
+ reason: string | undefined;
473
+ timer: {
474
+ elapsedMs: number;
475
+ running: boolean;
476
+ } | undefined;
477
+ };
478
+ demoMode: boolean;
438
479
  queuedInput: string | undefined;
439
480
  backgroundTaskCount: number;
440
481
  backgroundTasks: ({
@@ -533,6 +574,7 @@ export declare class WebRepl {
533
574
  signal: string | number | null;
534
575
  terminationReason: import("../tools/builtins/exec-process-manager.js").ExecTerminationReason | null;
535
576
  outputAvailability: import("../tools/terminal-output-store.js").OutputAvailability | "unavailable";
577
+ outputRevision: Record<import("../tools/terminal-output-store.js").TerminalOutputStream, import("../tools/terminal-output-store.js").StreamTotals> | undefined;
536
578
  } | {
537
579
  kind: "session";
538
580
  taskId: string;
@@ -563,7 +605,7 @@ export declare class WebRepl {
563
605
  terminationReason: string | null | undefined;
564
606
  outputAvailability: import("../tools/terminal-output-store.js").OutputAvailability;
565
607
  outputTruncated: boolean;
566
- metadataTruncated: ("description" | "cwd" | "shell" | "command")[] | undefined;
608
+ metadataTruncated: ("cwd" | "description" | "shell" | "command")[] | undefined;
567
609
  }[];
568
610
  agentTaskHistory: {
569
611
  kind: "agent";
@@ -797,6 +839,18 @@ export declare class WebRepl {
797
839
  loginForm(providerValue?: string): LoginFormPayload;
798
840
  saveLogin(providerValue: string, values: Record<string, string>): Promise<WebActionResult>;
799
841
  reloadModelConfig(): Promise<void>;
842
+ listFrameworkFeedback(page: number, pageSize: number): Promise<{
843
+ items: import("../tools/builtins/framework-feedback-tool.js").FrameworkFeedback[];
844
+ total: number;
845
+ page: number;
846
+ pageSize: number;
847
+ totalPages: number;
848
+ }>;
849
+ deleteFrameworkFeedback(id: unknown): Promise<WebActionResult<{
850
+ deleted: boolean;
851
+ }>>;
852
+ pauseRun(): WebActionResult;
853
+ continueRun(text?: string, attachments?: WebAttachmentPayload[]): WebActionResult;
800
854
  interrupt(): Promise<{
801
855
  ok: true;
802
856
  interrupted: boolean;