neoctl 0.2.36 → 0.2.37

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 (149) hide show
  1. package/dist/agents/agent-report-security.test.d.ts +1 -0
  2. package/dist/agents/agent-report-security.test.js +301 -0
  3. package/dist/agents/agent-report-security.test.js.map +1 -0
  4. package/dist/agents/agent-tool-persistence.test.js +9 -3
  5. package/dist/agents/agent-tool-persistence.test.js.map +1 -1
  6. package/dist/agents/agent-tool.d.ts +3 -0
  7. package/dist/agents/agent-tool.js +127 -34
  8. package/dist/agents/agent-tool.js.map +1 -1
  9. package/dist/agents/live-preview-redaction-security.test.d.ts +1 -0
  10. package/dist/agents/live-preview-redaction-security.test.js +286 -0
  11. package/dist/agents/live-preview-redaction-security.test.js.map +1 -0
  12. package/dist/agents/local-agent-task.d.ts +27 -1
  13. package/dist/agents/local-agent-task.js +75 -5
  14. package/dist/agents/local-agent-task.js.map +1 -1
  15. package/dist/agents/obs07-11-run-facts.test.d.ts +1 -0
  16. package/dist/agents/obs07-11-run-facts.test.js +459 -0
  17. package/dist/agents/obs07-11-run-facts.test.js.map +1 -0
  18. package/dist/agents/smoke-agent-lifecycle.js +8 -4
  19. package/dist/agents/smoke-agent-lifecycle.js.map +1 -1
  20. package/dist/agents/smoke-agents.js +7 -3
  21. package/dist/agents/smoke-agents.js.map +1 -1
  22. package/dist/context/context-manager.d.ts +1 -0
  23. package/dist/context/context-manager.js +10 -6
  24. package/dist/context/context-manager.js.map +1 -1
  25. package/dist/context/smoke-context.js +46 -3
  26. package/dist/context/smoke-context.js.map +1 -1
  27. package/dist/core/image-registry.js +1 -1
  28. package/dist/core/image-registry.js.map +1 -1
  29. package/dist/core/obs04-visible-data.test.d.ts +1 -0
  30. package/dist/core/obs04-visible-data.test.js +147 -0
  31. package/dist/core/obs04-visible-data.test.js.map +1 -0
  32. package/dist/core/query-engine.d.ts +5 -0
  33. package/dist/core/query-engine.js +35 -2
  34. package/dist/core/query-engine.js.map +1 -1
  35. package/dist/core/query.d.ts +2 -0
  36. package/dist/core/query.js +104 -15
  37. package/dist/core/query.js.map +1 -1
  38. package/dist/core/run-agent.d.ts +2 -0
  39. package/dist/core/run-agent.js +20 -10
  40. package/dist/core/run-agent.js.map +1 -1
  41. package/dist/model/model-gateway.d.ts +1 -0
  42. package/dist/model/model-metadata.json +99 -99
  43. package/dist/model/openai-native-image-guard.test.d.ts +1 -0
  44. package/dist/model/openai-native-image-guard.test.js +101 -0
  45. package/dist/model/openai-native-image-guard.test.js.map +1 -0
  46. package/dist/model/openai-responses-mapper.js +91 -16
  47. package/dist/model/openai-responses-mapper.js.map +1 -1
  48. package/dist/plugins/smoke-plugin-system.js +14 -14
  49. package/dist/repl/index.js +2 -2
  50. package/dist/repl/index.js.map +1 -1
  51. package/dist/secrets/secret-redaction.d.ts +6 -5
  52. package/dist/secrets/secret-redaction.js +7 -79
  53. package/dist/secrets/secret-redaction.js.map +1 -1
  54. package/dist/secrets/secret-types.d.ts +4 -1
  55. package/dist/secrets/secret-types.js.map +1 -1
  56. package/dist/session/session-store.d.ts +4 -1
  57. package/dist/session/session-store.js +5 -2
  58. package/dist/session/session-store.js.map +1 -1
  59. package/dist/tasks/subagent-tools.test.js +1 -0
  60. package/dist/tasks/subagent-tools.test.js.map +1 -1
  61. package/dist/tasks/task-ack-size.test.js +6 -5
  62. package/dist/tasks/task-ack-size.test.js.map +1 -1
  63. package/dist/tasks/task-persistence.d.ts +1 -0
  64. package/dist/tasks/task-persistence.js +31 -9
  65. package/dist/tasks/task-persistence.js.map +1 -1
  66. package/dist/tasks/task-store.d.ts +6 -4
  67. package/dist/tasks/task-store.js +46 -20
  68. package/dist/tasks/task-store.js.map +1 -1
  69. package/dist/tools/builtins/exec-process-manager.d.ts +97 -2
  70. package/dist/tools/builtins/exec-process-manager.js +218 -19
  71. package/dist/tools/builtins/exec-process-manager.js.map +1 -1
  72. package/dist/tools/builtins/exec-tool.js +14 -1
  73. package/dist/tools/builtins/exec-tool.js.map +1 -1
  74. package/dist/tools/builtins/image-generation-tool.js +24 -24
  75. package/dist/tools/builtins/image-generation-tool.js.map +1 -1
  76. package/dist/tools/smoke-exec-process.js +2 -1
  77. package/dist/tools/smoke-exec-process.js.map +1 -1
  78. package/dist/tools/smoke-terminal-output-chain.d.ts +1 -0
  79. package/dist/tools/smoke-terminal-output-chain.js +245 -0
  80. package/dist/tools/smoke-terminal-output-chain.js.map +1 -0
  81. package/dist/tools/smoke-tool-system.js +6 -6
  82. package/dist/tools/smoke-tool-system.js.map +1 -1
  83. package/dist/tools/terminal-output-persistence.test.d.ts +1 -0
  84. package/dist/tools/terminal-output-persistence.test.js +50 -0
  85. package/dist/tools/terminal-output-persistence.test.js.map +1 -0
  86. package/dist/tools/terminal-output-store.d.ts +150 -0
  87. package/dist/tools/terminal-output-store.js +562 -0
  88. package/dist/tools/terminal-output-store.js.map +1 -0
  89. package/dist/tools/terminal-output-store.test.d.ts +1 -0
  90. package/dist/tools/terminal-output-store.test.js +364 -0
  91. package/dist/tools/terminal-output-store.test.js.map +1 -0
  92. package/dist/types/events.d.ts +1 -0
  93. package/dist/types/messages.d.ts +1 -0
  94. package/dist/web/agent-content-detail.d.ts +78 -0
  95. package/dist/web/agent-content-detail.js +495 -0
  96. package/dist/web/agent-content-detail.js.map +1 -0
  97. package/dist/web/agent-content-detail.test.d.ts +1 -0
  98. package/dist/web/agent-content-detail.test.js +307 -0
  99. package/dist/web/agent-content-detail.test.js.map +1 -0
  100. package/dist/web/agent-parent-messages.test.d.ts +1 -0
  101. package/dist/web/agent-parent-messages.test.js +58 -0
  102. package/dist/web/agent-parent-messages.test.js.map +1 -0
  103. package/dist/web/agent-tool-payload-security.test.d.ts +1 -0
  104. package/dist/web/agent-tool-payload-security.test.js +120 -0
  105. package/dist/web/agent-tool-payload-security.test.js.map +1 -0
  106. package/dist/web/index.d.ts +114 -3
  107. package/dist/web/index.js +182 -67
  108. package/dist/web/index.js.map +1 -1
  109. package/dist/web/smoke-agent-content-http.d.ts +1 -0
  110. package/dist/web/smoke-agent-content-http.js +446 -0
  111. package/dist/web/smoke-agent-content-http.js.map +1 -0
  112. package/dist/web/smoke-status-semantics.d.ts +1 -0
  113. package/dist/web/smoke-status-semantics.js +90 -0
  114. package/dist/web/smoke-status-semantics.js.map +1 -0
  115. package/dist/web/smoke-task-session-entrypoints.js +22 -1
  116. package/dist/web/smoke-task-session-entrypoints.js.map +1 -1
  117. package/dist/web/smoke-terminal-output-http.d.ts +1 -0
  118. package/dist/web/smoke-terminal-output-http.js +372 -0
  119. package/dist/web/smoke-terminal-output-http.js.map +1 -0
  120. package/dist/web/smoke-tool-call-detail.d.ts +1 -0
  121. package/dist/web/smoke-tool-call-detail.js +106 -0
  122. package/dist/web/smoke-tool-call-detail.js.map +1 -0
  123. package/dist/web/smoke-tool-call-http.d.ts +1 -0
  124. package/dist/web/smoke-tool-call-http.js +100 -0
  125. package/dist/web/smoke-tool-call-http.js.map +1 -0
  126. package/dist/web/smoke-tool-detail-fields-http.d.ts +1 -0
  127. package/dist/web/smoke-tool-detail-fields-http.js +121 -0
  128. package/dist/web/smoke-tool-detail-fields-http.js.map +1 -0
  129. package/dist/web/smoke-web-terminal-tasks.js +126 -76
  130. package/dist/web/smoke-web-terminal-tasks.js.map +1 -1
  131. package/dist/web/status-semantics.d.ts +11 -0
  132. package/dist/web/status-semantics.js +59 -0
  133. package/dist/web/status-semantics.js.map +1 -0
  134. package/dist/web/terminal-presentation.d.ts +15 -0
  135. package/dist/web/terminal-presentation.js +61 -0
  136. package/dist/web/terminal-presentation.js.map +1 -0
  137. package/dist/web/terminal-presentation.test.d.ts +1 -0
  138. package/dist/web/terminal-presentation.test.js +33 -0
  139. package/dist/web/terminal-presentation.test.js.map +1 -0
  140. package/dist/web/tool-call-detail.d.ts +40 -0
  141. package/dist/web/tool-call-detail.js +167 -0
  142. package/dist/web/tool-call-detail.js.map +1 -0
  143. package/dist/web/tool-detail-fields.d.ts +59 -0
  144. package/dist/web/tool-detail-fields.js +119 -0
  145. package/dist/web/tool-detail-fields.js.map +1 -0
  146. package/dist/web/tool-detail-fields.test.d.ts +1 -0
  147. package/dist/web/tool-detail-fields.test.js +121 -0
  148. package/dist/web/tool-detail-fields.test.js.map +1 -0
  149. package/package.json +93 -93
@@ -16,6 +16,7 @@ import type { CompactionReport } from "../context/compaction.js";
16
16
  import type { PromptSection } from "../context/prompts.js";
17
17
  import type { NeoPluginResource } from "../plugins/plugin-system.js";
18
18
  import type { ContextMetrics } from "../types/events.js";
19
+ import { type AgentContentRequest } from "./agent-content-detail.js";
19
20
  import { type WebRuntimeContextPayload } from "./runtime-context-protocol.js";
20
21
  export interface WebRuntime {
21
22
  engine: QueryEngine;
@@ -124,7 +125,7 @@ interface UiToolStreamStep {
124
125
  message: string;
125
126
  toolName?: string;
126
127
  toolLabel?: string;
127
- status: "running" | "completed" | "failed";
128
+ status: "running" | "completed" | "failed" | "unknown";
128
129
  phase?: string;
129
130
  sequence?: number;
130
131
  }
@@ -162,6 +163,7 @@ interface UiLine {
162
163
  bodyTitle?: string;
163
164
  titleStatus?: "success" | "failure";
164
165
  toolDisplay?: UiToolDisplay;
166
+ toolError?: string;
165
167
  toolStream?: UiToolStream;
166
168
  format?: "markdown" | "ansi" | "plain" | "diff";
167
169
  previewStyle?: "summary";
@@ -339,6 +341,7 @@ interface WebClientReloadPayload extends WebClientInfoPayload {
339
341
  export declare function createWebRuntimeRouter(options?: WebRuntimeRouterOptions): Promise<WebRuntimeRouter>;
340
342
  export declare class WebRepl {
341
343
  private runtime;
344
+ private readonly agentContentReader;
342
345
  private readonly subscribers;
343
346
  private eventSequence;
344
347
  private pendingDeltaOperations;
@@ -370,6 +373,29 @@ export declare class WebRepl {
370
373
  subscribe(res: ServerResponse, clientInfo?: WebClientInfoPayload): void;
371
374
  get backgroundTaskCount(): number;
372
375
  requestClientReload(payload: WebClientReloadPayload): number;
376
+ toolCallDetail(sessionId: string, toolUseId: string, messageId?: string): Promise<{
377
+ fields: import("./tool-detail-fields.js").ToolDetailFields;
378
+ sessionId: string;
379
+ toolUseId: string;
380
+ messageId?: string;
381
+ toolName: string;
382
+ ok?: boolean;
383
+ input: import("./tool-call-detail.js").DetailPart;
384
+ result: import("./tool-call-detail.js").DetailPart;
385
+ error: import("./tool-call-detail.js").DetailPart;
386
+ } | undefined>;
387
+ agentContent(sessionId: string, view: string, request: AgentContentRequest): Promise<import("./agent-content-detail.js").AgentContentPage | undefined>;
388
+ terminalOutput(sessionId: string, runId: string, stream: string, offset: number, limitBytes: number): {
389
+ stream: import("../tools/terminal-output-store.js").TerminalOutputStream;
390
+ offset: number;
391
+ nextOffset: number;
392
+ text: string | null;
393
+ endOfStoredOutput: boolean;
394
+ record: import("../tools/terminal-output-store.js").TerminalRunRecord;
395
+ persistence: "stored" | "memory-only";
396
+ sessionId: string;
397
+ runId: string;
398
+ } | undefined;
373
399
  snapshot(includeCatalog?: boolean): {
374
400
  lines: UiLine[];
375
401
  status: UiStatus;
@@ -386,6 +412,13 @@ export declare class WebRepl {
386
412
  description: string;
387
413
  runGeneration: number;
388
414
  progress: {
415
+ visibleText: {
416
+ channel: "visible";
417
+ runGeneration: number;
418
+ text: string;
419
+ truncated: boolean;
420
+ redactionVersion?: 1;
421
+ } | undefined;
389
422
  lastActivity: string | undefined;
390
423
  currentAction: string | undefined;
391
424
  totalToolUseCount: number;
@@ -408,24 +441,44 @@ export declare class WebRepl {
408
441
  content: string;
409
442
  truncated: boolean;
410
443
  status: "completed" | "incomplete" | undefined;
444
+ availability: "unavailable";
445
+ reason: string;
446
+ } | {
447
+ content: string;
448
+ truncated: boolean;
449
+ status: "completed" | "incomplete" | undefined;
450
+ availability?: undefined;
451
+ reason?: undefined;
411
452
  } | undefined;
412
453
  error: string | undefined;
413
454
  errorTruncated: boolean;
414
455
  runHistory: {
415
456
  runGeneration: number;
416
457
  status: import("../index.js").LocalAgentTaskStatus;
458
+ startedAt: string | undefined;
459
+ durationMs: number | undefined;
417
460
  completedAt: string | undefined;
418
461
  result: {
419
462
  content: string;
420
463
  truncated: boolean;
421
464
  status: "completed" | "incomplete" | undefined;
465
+ availability: "unavailable";
466
+ reason: string;
467
+ } | {
468
+ content: string;
469
+ truncated: boolean;
470
+ status: "completed" | "incomplete" | undefined;
471
+ availability?: undefined;
472
+ reason?: undefined;
422
473
  } | undefined;
423
474
  error: string | undefined;
424
475
  errorTruncated: boolean;
425
476
  }[];
426
477
  createdAt: string;
427
478
  updatedAt: string;
479
+ startedAt: string | undefined;
428
480
  completedAt: string | undefined;
481
+ durationMs: number | undefined;
429
482
  } | {
430
483
  kind: "terminal";
431
484
  taskId: string;
@@ -433,6 +486,7 @@ export declare class WebRepl {
433
486
  status: import("../tools/builtins/exec-process-manager.js").ExecProcessStatus;
434
487
  description: string;
435
488
  createdAt: number;
489
+ ownerSessionId: string | undefined;
436
490
  sessionId: string;
437
491
  processId: number | null;
438
492
  command: string;
@@ -440,8 +494,10 @@ export declare class WebRepl {
440
494
  shell: string;
441
495
  tty: boolean;
442
496
  durationMs: number;
443
- output: string;
444
- outputEnd: number;
497
+ exitCode: number | null;
498
+ signal: string | number | null;
499
+ terminationReason: import("../tools/builtins/exec-process-manager.js").ExecTerminationReason | null;
500
+ outputAvailability: import("../tools/terminal-output-store.js").OutputAvailability | "unavailable";
445
501
  } | {
446
502
  kind: "session";
447
503
  taskId: string;
@@ -451,6 +507,29 @@ export declare class WebRepl {
451
507
  createdAt: number;
452
508
  sessionId: string;
453
509
  })[];
510
+ terminalTaskHistory: {
511
+ kind: "terminal";
512
+ taskId: string;
513
+ type: string;
514
+ ownerSessionId: string;
515
+ sessionId: string;
516
+ status: string;
517
+ description: string;
518
+ command: string | undefined;
519
+ cwd: string | undefined;
520
+ shell: string | undefined;
521
+ tty: boolean | undefined;
522
+ processId: number | null | undefined;
523
+ createdAt: number;
524
+ completedAt: number | undefined;
525
+ durationMs: number | null | undefined;
526
+ exitCode: number | null | undefined;
527
+ signal: string | number | null | undefined;
528
+ terminationReason: string | null | undefined;
529
+ outputAvailability: import("../tools/terminal-output-store.js").OutputAvailability;
530
+ outputTruncated: boolean;
531
+ metadataTruncated: ("description" | "cwd" | "shell" | "command")[] | undefined;
532
+ }[];
454
533
  agentTaskHistory: {
455
534
  kind: "agent";
456
535
  taskId: string;
@@ -461,6 +540,13 @@ export declare class WebRepl {
461
540
  description: string;
462
541
  runGeneration: number;
463
542
  progress: {
543
+ visibleText: {
544
+ channel: "visible";
545
+ runGeneration: number;
546
+ text: string;
547
+ truncated: boolean;
548
+ redactionVersion?: 1;
549
+ } | undefined;
464
550
  lastActivity: string | undefined;
465
551
  currentAction: string | undefined;
466
552
  totalToolUseCount: number;
@@ -483,28 +569,52 @@ export declare class WebRepl {
483
569
  content: string;
484
570
  truncated: boolean;
485
571
  status: "completed" | "incomplete" | undefined;
572
+ availability: "unavailable";
573
+ reason: string;
574
+ } | {
575
+ content: string;
576
+ truncated: boolean;
577
+ status: "completed" | "incomplete" | undefined;
578
+ availability?: undefined;
579
+ reason?: undefined;
486
580
  } | undefined;
487
581
  error: string | undefined;
488
582
  errorTruncated: boolean;
489
583
  runHistory: {
490
584
  runGeneration: number;
491
585
  status: import("../index.js").LocalAgentTaskStatus;
586
+ startedAt: string | undefined;
587
+ durationMs: number | undefined;
492
588
  completedAt: string | undefined;
493
589
  result: {
494
590
  content: string;
495
591
  truncated: boolean;
496
592
  status: "completed" | "incomplete" | undefined;
593
+ availability: "unavailable";
594
+ reason: string;
595
+ } | {
596
+ content: string;
597
+ truncated: boolean;
598
+ status: "completed" | "incomplete" | undefined;
599
+ availability?: undefined;
600
+ reason?: undefined;
497
601
  } | undefined;
498
602
  error: string | undefined;
499
603
  errorTruncated: boolean;
500
604
  }[];
501
605
  createdAt: string;
502
606
  updatedAt: string;
607
+ startedAt: string | undefined;
503
608
  completedAt: string | undefined;
609
+ durationMs: number | undefined;
504
610
  }[];
505
611
  backgroundSessionRunCount: number;
506
612
  runningSessionIds: string[];
507
613
  session: import("../index.js").SessionStoreSnapshot | undefined;
614
+ modelSettings: {
615
+ model: string | undefined;
616
+ reasoning: ReasoningConfig | null | undefined;
617
+ };
508
618
  fastMode: boolean;
509
619
  appPrompt: import("../app/app-prompt.js").AppPromptSnapshot;
510
620
  catalog: {
@@ -638,6 +748,7 @@ export declare class WebRepl {
638
748
  private finalizeForegroundView;
639
749
  private stopForegroundRun;
640
750
  private agentTaskSnapshot;
751
+ private terminalTaskHistory;
641
752
  private backgroundTasks;
642
753
  private detachRunningForeground;
643
754
  private reattachRunningSession;