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.
- package/dist/agents/agent-tool.js +2 -1
- package/dist/agents/agent-tool.js.map +1 -1
- package/dist/context/compaction.d.ts +6 -0
- package/dist/context/compaction.js +10 -5
- package/dist/context/compaction.js.map +1 -1
- package/dist/context/prompts.js +2 -0
- package/dist/context/prompts.js.map +1 -1
- package/dist/core/abortable-stream.d.ts +4 -0
- package/dist/core/abortable-stream.js +52 -0
- package/dist/core/abortable-stream.js.map +1 -0
- package/dist/core/compaction-progress.d.ts +5 -0
- package/dist/core/compaction-progress.js +38 -0
- package/dist/core/compaction-progress.js.map +1 -0
- package/dist/core/execution-state.d.ts +12 -0
- package/dist/core/execution-state.js +19 -0
- package/dist/core/execution-state.js.map +1 -0
- package/dist/core/image-registry.d.ts +4 -2
- package/dist/core/image-registry.js +32 -7
- package/dist/core/image-registry.js.map +1 -1
- package/dist/core/image-storage.js +4 -0
- package/dist/core/image-storage.js.map +1 -1
- package/dist/core/query-engine.d.ts +31 -1
- package/dist/core/query-engine.js +198 -70
- package/dist/core/query-engine.js.map +1 -1
- package/dist/core/query.d.ts +5 -1
- package/dist/core/query.js +77 -22
- package/dist/core/query.js.map +1 -1
- package/dist/core/session-images.d.ts +52 -0
- package/dist/core/session-images.js +395 -0
- package/dist/core/session-images.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/model/model-gateway.d.ts +4 -0
- package/dist/model/model-gateway.js.map +1 -1
- package/dist/model/openai-chat-mapper.js +2 -0
- package/dist/model/openai-chat-mapper.js.map +1 -1
- package/dist/model/openai-mappers.js +0 -2
- package/dist/model/openai-mappers.js.map +1 -1
- package/dist/model/openai-responses-mapper.js +3 -0
- package/dist/model/openai-responses-mapper.js.map +1 -1
- package/dist/model/tool-input-stream.d.ts +31 -0
- package/dist/model/tool-input-stream.js +226 -0
- package/dist/model/tool-input-stream.js.map +1 -0
- package/dist/repl/index.js +2 -0
- package/dist/repl/index.js.map +1 -1
- package/dist/session/session-store.d.ts +9 -0
- package/dist/session/session-store.js +20 -2
- package/dist/session/session-store.js.map +1 -1
- package/dist/tasks/subagent-tools.js +1 -1
- package/dist/tasks/subagent-tools.js.map +1 -1
- package/dist/tools/builtins/exec-process-manager.d.ts +4 -1
- package/dist/tools/builtins/exec-process-manager.js +26 -2
- package/dist/tools/builtins/exec-process-manager.js.map +1 -1
- package/dist/tools/builtins/exec-tool.js +1 -1
- package/dist/tools/builtins/exec-tool.js.map +1 -1
- package/dist/tools/builtins/framework-feedback-tool.d.ts +26 -0
- package/dist/tools/builtins/framework-feedback-tool.js +97 -0
- package/dist/tools/builtins/framework-feedback-tool.js.map +1 -0
- package/dist/tools/builtins/image-generation-tool.d.ts +2 -0
- package/dist/tools/builtins/image-generation-tool.js +31 -141
- package/dist/tools/builtins/image-generation-tool.js.map +1 -1
- package/dist/tools/builtins/image-loader-tool.d.ts +6 -1
- package/dist/tools/builtins/image-loader-tool.js +48 -26
- package/dist/tools/builtins/image-loader-tool.js.map +1 -1
- package/dist/tools/builtins/image-note-tool.js +2 -2
- package/dist/tools/builtins/image-note-tool.js.map +1 -1
- package/dist/tools/run-tool-use.js +4 -2
- package/dist/tools/run-tool-use.js.map +1 -1
- package/dist/tools/terminal-output-store.d.ts +1 -0
- package/dist/tools/terminal-output-store.js +13 -1
- package/dist/tools/terminal-output-store.js.map +1 -1
- package/dist/tools/tool-catalog.d.ts +1 -0
- package/dist/tools/tool-catalog.js +2 -0
- package/dist/tools/tool-catalog.js.map +1 -1
- package/dist/tools/tool.d.ts +1 -0
- package/dist/tools/tool.js.map +1 -1
- package/dist/types/events.d.ts +11 -0
- package/dist/types/messages.d.ts +3 -1
- package/dist/types/messages.js.map +1 -1
- package/dist/web/demo-mode.d.ts +37 -0
- package/dist/web/demo-mode.js +141 -0
- package/dist/web/demo-mode.js.map +1 -0
- package/dist/web/demo-tools.d.ts +37 -0
- package/dist/web/demo-tools.js +259 -0
- package/dist/web/demo-tools.js.map +1 -0
- package/dist/web/demo-video.d.ts +1 -0
- package/dist/web/demo-video.js +3 -0
- package/dist/web/demo-video.js.map +1 -0
- package/dist/web/image-result-metadata.d.ts +6 -0
- package/dist/web/image-result-metadata.js +3 -0
- package/dist/web/image-result-metadata.js.map +1 -1
- package/dist/web/index.d.ts +57 -3
- package/dist/web/index.js +388 -24
- package/dist/web/index.js.map +1 -1
- package/dist/web/tool-activity.d.ts +9 -0
- package/dist/web/tool-activity.js +19 -0
- package/dist/web/tool-activity.js.map +1 -0
- package/dist/web/tool-observation-result.d.ts +1 -0
- package/dist/web/tool-observation-result.js +35 -0
- package/dist/web/tool-observation-result.js.map +1 -0
- 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":"
|
|
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"}
|
package/dist/web/index.d.ts
CHANGED
|
@@ -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
|
-
|
|
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: ("
|
|
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;
|