@qwen-code/web-shell 0.25.3-preview.0 → 0.25.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -0
- package/dist/{PierreFilePreview-DAD1C1oX.js → PierreFilePreview-CDwdShQj.js} +1 -1
- package/dist/{SpreadsheetPreview-DShn9rcb.js → SpreadsheetPreview-DrhBxOLb.js} +2 -2
- package/dist/{WorkspaceFileBrowser-zWgE76sn.js → WorkspaceFileBrowser-Cj-IkaDU.js} +2 -2
- package/dist/{agents-route-CYSCpPDR.js → agents-route-CNZAhyBJ.js} +2 -2
- package/dist/daemon-react-sdk.js +1 -1
- package/dist/{index-CWxIoEi_.js → index-D0B7Fiw9.js} +50102 -49146
- package/dist/index.js +3 -3
- package/dist/sw.js +1 -1
- package/dist/transcript.js +3718 -3696
- package/dist/types/App.d.ts +4 -1
- package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +3 -1
- package/dist/types/components/dialogs/ApprovalModeDialog.d.ts +3 -1
- package/dist/types/components/managed/RemoteWorkspaceRegistration.d.ts +9 -0
- package/dist/types/components/managed/generated/managed-agent-api.d.ts +448 -19
- package/dist/types/components/managed/java-managed-agent-client.d.ts +32 -0
- package/dist/types/components/managed/managed-agent-provider.d.ts +37 -0
- package/dist/types/components/managed/managed-input.d.ts +7 -0
- package/dist/types/components/managed/managed-workspace-messages.d.ts +7 -0
- package/dist/types/components/managed/managed-workspace-messages.transcript-stub.d.ts +7 -0
- package/dist/types/components/managed/use-managed-approval-change.d.ts +2 -1
- package/dist/types/components/managed/use-managed-skills.d.ts +12 -0
- package/dist/types/components/managed/use-managed-tasks.d.ts +1 -0
- package/dist/types/customization.d.ts +2 -0
- package/dist/types/hooks/useApprovalModes.d.ts +2 -0
- package/dist/types/hooks/useInputHistory.d.ts +0 -4
- package/dist/types/index.d.ts +2 -1
- package/dist/types/utils/planMode.d.ts +5 -1
- package/dist/types/voice/voice-workspace-target.d.ts +2 -0
- package/dist/{useDaemonMidTurnInjected-Cf5L3VKm.js → useDaemonMidTurnInjected-BDFSY1Yl.js} +773 -705
- package/package.json +1 -1
|
@@ -421,7 +421,7 @@ export interface paths {
|
|
|
421
421
|
};
|
|
422
422
|
get?: never;
|
|
423
423
|
put?: never;
|
|
424
|
-
/** @description Create an
|
|
424
|
+
/** @description Create an empty Workspace under the operator-controlled root, or supply sourceWorkspaceId and cwdRelative together to select an existing directory under an ACTIVE ROOT Workspace owned by the actor. Existing-directory creation shares its verified storage, config and policy and persists a default working directory. The actor-scoped idempotency key pins the normalized request and source generation. Completed replay checks current access and never restores grants. */
|
|
425
425
|
post: operations["webShellCreateWorkspace"];
|
|
426
426
|
delete?: never;
|
|
427
427
|
options?: never;
|
|
@@ -506,7 +506,7 @@ export interface paths {
|
|
|
506
506
|
};
|
|
507
507
|
get?: never;
|
|
508
508
|
put?: never;
|
|
509
|
-
/** @description Change the next-Turn policy of an idle built-in
|
|
509
|
+
/** @description Change the next-user-Turn policy of an idle eligible Workspace Session: built-in qwen-code or a stored AgentDefinition on exactly hosted-workspace-files/1 or hosted-workspace-shell/1,/2. Requires its recorded owner, current OPERATOR or OWNER access and Session-specific Harness feature support. Changes are revision-checked and actor/session-scoped idempotent. Definition creation policy and pins remain immutable. */
|
|
510
510
|
post: operations["changeWebShellSessionApproval"];
|
|
511
511
|
delete?: never;
|
|
512
512
|
options?: never;
|
|
@@ -514,15 +514,113 @@ export interface paths {
|
|
|
514
514
|
patch?: never;
|
|
515
515
|
trace?: never;
|
|
516
516
|
};
|
|
517
|
+
"/api/agent/web-shell/v1/runtime-nodes/query": {
|
|
518
|
+
parameters: {
|
|
519
|
+
query?: never;
|
|
520
|
+
header?: never;
|
|
521
|
+
path?: never;
|
|
522
|
+
cookie?: never;
|
|
523
|
+
};
|
|
524
|
+
get?: never;
|
|
525
|
+
put?: never;
|
|
526
|
+
/** @description Lists only administrator-configured SSH nodes authorized for the current tenant and actor. Requires a trusted actor. Registration is disabled by default and answers 200 with supported=false and an empty data array; an enabled deployment may answer supported=true with no authorized nodes. Node credentials, SSH aliases and server paths are not exposed. This read starts no worker. */
|
|
527
|
+
post: operations["webShellQueryRuntimeNodes"];
|
|
528
|
+
delete?: never;
|
|
529
|
+
options?: never;
|
|
530
|
+
head?: never;
|
|
531
|
+
patch?: never;
|
|
532
|
+
trace?: never;
|
|
533
|
+
};
|
|
534
|
+
"/api/agent/web-shell/v1/workspaces/check-directory": {
|
|
535
|
+
parameters: {
|
|
536
|
+
query?: never;
|
|
537
|
+
header?: never;
|
|
538
|
+
path?: never;
|
|
539
|
+
cookie?: never;
|
|
540
|
+
};
|
|
541
|
+
get?: never;
|
|
542
|
+
put?: never;
|
|
543
|
+
/** @description Checks the configured Node.js and pinned qwen-code versions, allowed directory range, existing canonical directory and access permissions over SSH. Requires an enabled deployment and an exact tenant/actor node grant; disabled registration answers 404 ssh_runtime_disabled and an unknown or unauthorized node answers 403 runtime_node_forbidden. This is a preview: registration revalidates the directory and never creates a directory, clones a repository or starts a worker. */
|
|
544
|
+
post: operations["webShellCheckWorkspaceDirectory"];
|
|
545
|
+
delete?: never;
|
|
546
|
+
options?: never;
|
|
547
|
+
head?: never;
|
|
548
|
+
patch?: never;
|
|
549
|
+
trace?: never;
|
|
550
|
+
};
|
|
551
|
+
"/api/agent/web-shell/v1/workspaces/operations/get": {
|
|
552
|
+
parameters: {
|
|
553
|
+
query?: never;
|
|
554
|
+
header?: never;
|
|
555
|
+
path?: never;
|
|
556
|
+
cookie?: never;
|
|
557
|
+
};
|
|
558
|
+
get?: never;
|
|
559
|
+
put?: never;
|
|
560
|
+
/** @description Reads only a Workspace registration owned by the current tenant and actor; an unknown operation or another actor's operation answers 404 operation_not_found. Queries and accepted registration settlement remain available when new registration is disabled. Pending or running operations may resume their original registration attempt. A registration refused before it reserved its directory fails. One that may have reached its node is recovery_blocked and keeps the directory reserved while Java reads the node again, never registering anything: the registration's marker completes it, and a root without the marker, or holding another directory, fails it and releases the directory. Querying never unlocks it or starts a Runtime worker. */
|
|
561
|
+
post: operations["webShellGetWorkspaceOperation"];
|
|
562
|
+
delete?: never;
|
|
563
|
+
options?: never;
|
|
564
|
+
head?: never;
|
|
565
|
+
patch?: never;
|
|
566
|
+
trace?: never;
|
|
567
|
+
};
|
|
568
|
+
"/api/agent/web-shell/v1/workspaces/register": {
|
|
569
|
+
parameters: {
|
|
570
|
+
query?: never;
|
|
571
|
+
header?: never;
|
|
572
|
+
path?: never;
|
|
573
|
+
cookie?: never;
|
|
574
|
+
};
|
|
575
|
+
get?: never;
|
|
576
|
+
put?: never;
|
|
577
|
+
/** @description Admits actor-scoped, idempotent registration of an existing remote directory. The request body carries idempotencyKey; a retry with the same nodeId, path and displayName returns the original operation and its latest durable state, even after new registration is disabled or node admission is revoked. Reusing the key for different content answers 409 idempotency_conflict. Fresh admission requires an enabled deployment and an authorized node (404 ssh_runtime_disabled or 403 runtime_node_forbidden). A completed operation atomically creates the Workspace and creator OWNER grant. 202 does not mean registration is complete; query the operation, then read the Workspace and its canCreateSession hint. This operation creates no Session and starts no Runtime worker. requestId is trace-only and excluded from the request digest. */
|
|
578
|
+
post: operations["webShellRegisterWorkspace"];
|
|
579
|
+
delete?: never;
|
|
580
|
+
options?: never;
|
|
581
|
+
head?: never;
|
|
582
|
+
patch?: never;
|
|
583
|
+
trace?: never;
|
|
584
|
+
};
|
|
585
|
+
"/api/agent/web-shell/v1/workspaces/directories/query": {
|
|
586
|
+
parameters: {
|
|
587
|
+
query?: never;
|
|
588
|
+
header?: never;
|
|
589
|
+
path?: never;
|
|
590
|
+
cookie?: never;
|
|
591
|
+
};
|
|
592
|
+
get?: never;
|
|
593
|
+
put?: never;
|
|
594
|
+
/** @description List bounded immediate real directories on the selected Workspace storage host. Requires an authenticated OWNER of the ACTIVE ROOT Workspace and verified LOCAL storage. Refuses traversal, symlinks and reserved maintenance directories; never uses the ordinary daemon filesystem. Root paths are disclosed only within this authorized scope. */
|
|
595
|
+
post: operations["queryWebShellWorkspaceDirectories"];
|
|
596
|
+
delete?: never;
|
|
597
|
+
options?: never;
|
|
598
|
+
head?: never;
|
|
599
|
+
patch?: never;
|
|
600
|
+
trace?: never;
|
|
601
|
+
};
|
|
602
|
+
"/api/agent/web-shell/v1/session-skills/query": {
|
|
603
|
+
parameters: {
|
|
604
|
+
query?: never;
|
|
605
|
+
header?: never;
|
|
606
|
+
path?: never;
|
|
607
|
+
cookie?: never;
|
|
608
|
+
};
|
|
609
|
+
get?: never;
|
|
610
|
+
put?: never;
|
|
611
|
+
/** @description Read only names and descriptions from the Session's pinned static Skill catalog. Requires a trusted actor and Workspace read access. Never resolves the latest AgentDefinition or discovers host Skills. */
|
|
612
|
+
post: operations["queryWebShellSessionSkills"];
|
|
613
|
+
delete?: never;
|
|
614
|
+
options?: never;
|
|
615
|
+
head?: never;
|
|
616
|
+
patch?: never;
|
|
617
|
+
trace?: never;
|
|
618
|
+
};
|
|
517
619
|
}
|
|
518
620
|
export type webhooks = Record<string, never>;
|
|
519
621
|
export interface components {
|
|
520
622
|
schemas: {
|
|
521
|
-
InputBlock:
|
|
522
|
-
/** @enum {string} */
|
|
523
|
-
type: "input_text";
|
|
524
|
-
text: string;
|
|
525
|
-
};
|
|
623
|
+
InputBlock: components["schemas"]["InputTextBlock"] | components["schemas"]["InputFileBlock"] | components["schemas"]["InputImageBlock"];
|
|
526
624
|
PublicArtifact: {
|
|
527
625
|
/** @constant */
|
|
528
626
|
object: "agent.artifact";
|
|
@@ -578,15 +676,17 @@ export interface components {
|
|
|
578
676
|
environmentId?: string | null;
|
|
579
677
|
/** @description The server enforces the bound in UTF-16 code units (Java String.length()), so an astral character counts as two: a title this schema's code-point maxLength accepts can still exceed the server's 256-unit bound and answer 400 invalid_title. */
|
|
580
678
|
title?: string | null;
|
|
581
|
-
/** @description
|
|
679
|
+
/** @description Text has a 4,000,000-character aggregate budget and per-block 1,000,000-character cap, counted in code points. Hosted also enforces its 64 KiB durable-record limit and prepared-snapshot ceiling. A complete canonical input containing file/image attachments must fit within 48 KiB and requires input-attachments/1. */
|
|
582
680
|
input?: components["schemas"]["InputBlock"][];
|
|
583
681
|
metadata?: components["schemas"]["WebShellMetadata"];
|
|
584
682
|
workspace?: components["schemas"]["WebShellWorkspaceSelection"];
|
|
585
683
|
/**
|
|
586
|
-
* @description Optional policy for Workspace
|
|
684
|
+
* @description Optional initial execution policy for Workspace creation, validated against the resolved Agent and profile. Omission preserves its default and idempotency digest. Independent of planMode.
|
|
587
685
|
* @enum {string}
|
|
588
686
|
*/
|
|
589
687
|
approvalMode?: "default" | "auto-edit" | "yolo";
|
|
688
|
+
/** @description Persisted public Plan overlay, independent of execution permission. Omission on a change preserves the selected state. */
|
|
689
|
+
planMode?: boolean;
|
|
590
690
|
};
|
|
591
691
|
WebShellSubmitRequest: {
|
|
592
692
|
/** @description Trace correlation only. */
|
|
@@ -594,9 +694,15 @@ export interface components {
|
|
|
594
694
|
idempotencyKey: string;
|
|
595
695
|
/** Format: uuid */
|
|
596
696
|
sessionId: string;
|
|
597
|
-
/** @description
|
|
697
|
+
/** @description Text has a 4,000,000-character aggregate budget and per-block 1,000,000-character cap, counted in code points. Hosted also enforces its 64 KiB durable-record limit and prepared-snapshot ceiling. A complete canonical input containing file/image attachments must fit within 48 KiB and requires input-attachments/1. */
|
|
598
698
|
input?: components["schemas"]["InputBlock"][];
|
|
599
699
|
metadata?: components["schemas"]["WebShellMetadata"];
|
|
700
|
+
/**
|
|
701
|
+
* @description D7-3. java_durable asks for the java_durable admission view: the 202 then names the command's operation (operationId, admissionStage, deliveryState), so a lost response resolves through that operation. Only a deployment whose Sessions advertise durableOperations admits it; elsewhere it answers 400 unsupported_feature before anything is read or written. Absent or harness_confirmed keeps today's response. harness_confirmed is the pinned reference design's qwen_confirmed. The request digest leaves this field out, so a retry under the same idempotencyKey replays the same command in either view.
|
|
702
|
+
* @default harness_confirmed
|
|
703
|
+
* @enum {string}
|
|
704
|
+
*/
|
|
705
|
+
admissionProfile?: "harness_confirmed" | "java_durable";
|
|
600
706
|
};
|
|
601
707
|
WebShellCancelRequest: {
|
|
602
708
|
/** @description Trace correlation only. */
|
|
@@ -605,18 +711,29 @@ export interface components {
|
|
|
605
711
|
/** Format: uuid */
|
|
606
712
|
sessionId: string;
|
|
607
713
|
turnId: string;
|
|
714
|
+
/**
|
|
715
|
+
* @description D7-3. java_durable asks for the java_durable admission view: the 202 then names the command's operation (operationId, admissionStage, deliveryState), so a lost response resolves through that operation. Only a deployment whose Sessions advertise durableOperations admits it; elsewhere it answers 400 unsupported_feature before anything is read or written. Absent or harness_confirmed keeps today's response. harness_confirmed is the pinned reference design's qwen_confirmed. The request digest leaves this field out, so a retry under the same idempotencyKey replays the same command in either view.
|
|
716
|
+
* @default harness_confirmed
|
|
717
|
+
* @enum {string}
|
|
718
|
+
*/
|
|
719
|
+
admissionProfile?: "harness_confirmed" | "java_durable";
|
|
608
720
|
};
|
|
609
721
|
/** @description Arbitrary caller metadata, as a JSON object (or null). Accepted and ignored in Phase 1: nothing from it is persisted. On WebShellCreateRequest the Session title travels in that request's own `title` field; WebShellSubmitRequest has no title surface. Any keys are valid. */
|
|
610
722
|
WebShellMetadata: {
|
|
611
723
|
[key: string]: unknown;
|
|
612
724
|
} | null;
|
|
613
|
-
/** @description
|
|
725
|
+
/** @description accepted means Java durable delivery responsibility, not model execution. The three operation fields come together, and only on a Turn input or cancel admission that asked for admissionProfile java_durable on a deployment advertising durableOperations (D7-3): operationId names the command's original submit_input or cancel operation, readable through the operation query, and admissionStage and deliveryState are that operation's latest durable values. A fresh input reads java_durable and pending; a cancel of a Turn that already ended reads its settled values. A retry under the same key answers the same operation with replayed true. Missing fields keep the legacy harness_confirmed response semantics, also for Session creation and for a replayed command recorded before v1.58. */
|
|
614
726
|
WebShellAdmission: {
|
|
615
727
|
/** Format: uuid */
|
|
616
728
|
sessionId: string;
|
|
617
729
|
turnId?: string | null;
|
|
618
730
|
status: string;
|
|
619
731
|
replayed: boolean;
|
|
732
|
+
operationId?: string;
|
|
733
|
+
/** @enum {string} */
|
|
734
|
+
admissionStage?: "java_durable" | "harness_confirmed";
|
|
735
|
+
/** @enum {string} */
|
|
736
|
+
deliveryState?: "pending" | "leased" | "confirmed" | "blocked";
|
|
620
737
|
};
|
|
621
738
|
WebShellTurn: {
|
|
622
739
|
turnId: string;
|
|
@@ -661,6 +778,10 @@ export interface components {
|
|
|
661
778
|
* @enum {string}
|
|
662
779
|
*/
|
|
663
780
|
initialApprovalMode?: "default" | "auto-edit" | "yolo";
|
|
781
|
+
/** @description Persisted public Plan overlay, independent of execution permission. Omission on a change preserves the selected state. */
|
|
782
|
+
planMode?: boolean;
|
|
783
|
+
/** @description Optional deployment capability; missing means false. */
|
|
784
|
+
planModeSupported?: boolean;
|
|
664
785
|
};
|
|
665
786
|
WebShellSessionCapabilities: {
|
|
666
787
|
/**
|
|
@@ -668,6 +789,11 @@ export interface components {
|
|
|
668
789
|
* @default false
|
|
669
790
|
*/
|
|
670
791
|
cwdChange?: boolean;
|
|
792
|
+
/**
|
|
793
|
+
* @description D7-3. Present only on a deployment that enables the java_durable admission profile, where it is true while the Session is readable: a Turn input or cancel may then ask for admissionProfile java_durable. Omitted elsewhere, where asking for it answers 400 unsupported_feature.
|
|
794
|
+
* @default false
|
|
795
|
+
*/
|
|
796
|
+
durableOperations?: boolean;
|
|
671
797
|
/** @default false */
|
|
672
798
|
actions: boolean;
|
|
673
799
|
/**
|
|
@@ -701,8 +827,10 @@ export interface components {
|
|
|
701
827
|
foregroundShell?: boolean;
|
|
702
828
|
/** @description The caller may request an idle Session model change using the server model catalog. Missing means unsupported; authorization and revision admission still apply. */
|
|
703
829
|
modelChange?: boolean;
|
|
704
|
-
/** @description The caller owns this
|
|
830
|
+
/** @description The caller owns this eligible Workspace Session with current OPERATOR or OWNER access. Built-in qwen-code requires approval-selection/1; stored AgentDefinitions on exactly hosted-workspace-files/1 or hosted-workspace-shell/1,/2 also require agent-definition-approval-selection/1. Idle-state admission is checked separately. Missing means false. */
|
|
705
831
|
approvalModeChange?: boolean;
|
|
832
|
+
/** @description Optional deployment capability; missing means false. */
|
|
833
|
+
inputAttachments?: boolean;
|
|
706
834
|
};
|
|
707
835
|
WebShellSessionPage: {
|
|
708
836
|
data: components["schemas"]["WebShellSession"][];
|
|
@@ -827,6 +955,10 @@ export interface components {
|
|
|
827
955
|
canCreateSession: boolean;
|
|
828
956
|
/** @enum {string} */
|
|
829
957
|
state: "active" | "draining" | "removed";
|
|
958
|
+
/** @description Persisted default working directory for new WebShell Sessions; absent means dot. */
|
|
959
|
+
defaultCwdRelative?: string;
|
|
960
|
+
/** @description Current actor owns this active root Workspace; directory discovery rechecks authorization and native storage. */
|
|
961
|
+
canSelectDirectory?: boolean;
|
|
830
962
|
};
|
|
831
963
|
WebShellWorkspacePage: {
|
|
832
964
|
data: components["schemas"]["WebShellWorkspace"][];
|
|
@@ -844,6 +976,8 @@ export interface components {
|
|
|
844
976
|
workspaceCreation?: boolean;
|
|
845
977
|
/** @description Supports effective Session policy options and explicit Workspace-bound creation policy. Missing or false means unsupported. */
|
|
846
978
|
approvalModeSelection?: boolean;
|
|
979
|
+
/** @description Supports browsing and selecting existing directories on authorized Linux storage; absent means unsupported. */
|
|
980
|
+
workspaceDirectorySelection?: boolean;
|
|
847
981
|
};
|
|
848
982
|
/** @description Same authorized explicit default as default_workspace, including when outside this page; null if absent or not creatable. A non-null default is active and has canCreateSession=true. */
|
|
849
983
|
defaultWorkspace: (components["schemas"]["WebShellWorkspace"] & {
|
|
@@ -907,7 +1041,7 @@ export interface components {
|
|
|
907
1041
|
allowText: boolean;
|
|
908
1042
|
options: components["schemas"]["WebShellActionOption"][];
|
|
909
1043
|
};
|
|
910
|
-
/** @description Receipt IDs are opaque authorized product handles, not private journal or storage refs. Input
|
|
1044
|
+
/** @description Receipt IDs are opaque authorized product handles, not private journal or storage refs. Input completion means a Harness admitted its Turn, not that the Turn completed; an input whose Turn failed after a submission no Harness answered is recovery_blocked until the Session journal proves whether a Harness admitted it. For submit_input and task cancel, recovery_blocked means acceptance is unknown: the operation is never delivered again and settles only from its own durable evidence. For close and delete it is a published wait that delivery re-drives. Cancel completion means its Turn reached cancelled; a cancel fails with turn_already_settled when its Turn ended otherwise. Action completion may only record one vote. Lifecycle completion requires its cleanup facts; archive may remain java_durable because Java is its authority. Task cancel 202 is Java durable admission; completion means the authority durably recorded cancellation and returned a receipt, not that the task stopped. Task cancel failed proves non-acceptance and no further delivery, with a failure code; recovery_blocked means acceptance is unknown and needs reconciliation before re-execution. Its status is never cancelled. Physical settlement and an unknown physical outcome belong to the task, independently of operation acceptance. A completed task cancel carries admission stage harness_confirmed and delivery state confirmed with the authority's receipt; failed and recovery_blocked carry java_durable and blocked, so they are never delivered again without reconciliation. */
|
|
911
1045
|
WebShellCommandOperation: {
|
|
912
1046
|
operationId: string;
|
|
913
1047
|
/** Format: uuid */
|
|
@@ -924,7 +1058,7 @@ export interface components {
|
|
|
924
1058
|
deliveryState: "pending" | "leased" | "confirmed" | "blocked";
|
|
925
1059
|
receiptId?: string;
|
|
926
1060
|
actionResolution?: components["schemas"]["WebShellActionResolution"];
|
|
927
|
-
/** @description Reason a durable response or task cancellation failed. Action response failures come from the original committed Action, or a definitive invalid response. Task cancel failures are task_already_settled (the run ended before the stop request was recorded), task_action_unavailable and task_not_found; a recovery_blocked task cancel reports task_cancel_unconfirmed.
|
|
1061
|
+
/** @description Reason a durable response or task cancellation failed. Action response failures come from the original committed Action, or a definitive invalid response. Task cancel failures are task_already_settled (the run ended before the stop request was recorded), task_action_unavailable and task_not_found; a recovery_blocked task cancel reports task_cancel_unconfirmed. A lifecycle operation that exhausted its retry budget fails with the settle's failure: session_lifecycle_delivery_failed, managed_capability_mismatch or hosted_harness_protocol_error when the Hosted Harness refused to negotiate, a workspace close or lifecycle refusal (a workspace_close_* or workspace_lifecycle_* code, or runtime_admission_closed; a Runtime Broker runtime_broker_recovery_blocked refusal is reported as workspace_close_identity_unverified), or another Runtime Broker refusal code; one whose settle reached the Harness but stayed unsettled past the larger settled budget fails with session_close_completion_unsettled. A lifecycle recovery_blocked operation reports the refusal it waits on, original resource identity or unsettled execution for a Workspace close, session_close_writer_live while a Harness holds the journal writer or while that check itself fails, or hosted_harness_generation_mismatch while this replica's view of the Harness boot is stale; the Session remains closing. A submit_input failure carries its Turn's error code, and a recovery_blocked submit_input reports submit_input_unconfirmed; a cancel fails with turn_already_settled when its Turn completed or failed without being cancelled. */
|
|
928
1062
|
failureCode?: string;
|
|
929
1063
|
replayed: boolean;
|
|
930
1064
|
} & (unknown & unknown & unknown & unknown & unknown);
|
|
@@ -1039,7 +1173,7 @@ export interface components {
|
|
|
1039
1173
|
workspaceId: string;
|
|
1040
1174
|
};
|
|
1041
1175
|
/** @enum {string} */
|
|
1042
|
-
TaskKind: "child_agent" | "workflow" | "background_shell" | "monitor" | "automation_run";
|
|
1176
|
+
TaskKind: "child_agent" | "workflow" | "background_shell" | "monitor" | "automation_run" | "channel_delivery";
|
|
1043
1177
|
/**
|
|
1044
1178
|
* @description Logical run state. completed is terminal and is set when the run's own line ends settled, with or without a physical execution; failed and cancelled are terminal too, and they also cover a run that ended before its execution started (cancelled before dispatch, or failed with no provable start), when no physical execution ever settled. degraded means that the task still runs with reduced guarantees, such as a Monitor that lost its observation source. recovery_blocked means that recovery cannot prove the physical outcome: it is not settled, is never reported as success and is never re-run automatically.
|
|
1045
1179
|
* @enum {string}
|
|
@@ -1051,7 +1185,7 @@ export interface components {
|
|
|
1051
1185
|
*/
|
|
1052
1186
|
TaskRuntimeState: "unbound" | "provisioning" | "ready" | "draining" | "lost";
|
|
1053
1187
|
/**
|
|
1054
|
-
* @description Actions the task supports now, the same for every caller. cancel: the cancel route accepts a new command for this task (since 1.40 for child_agent and 1.
|
|
1188
|
+
* @description Actions the task supports now, the same for every caller. cancel: the cancel route accepts a new command for this task (since 1.40 for child_agent, 1.46 for workflow and 1.54 for background_shell and monitor, tasks of those kinds in pending, running, waiting or degraded, and since 1.57 for channel_delivery, a delivery still pending because no adapter has claimed it, each in an active Session, and since 1.65 for automation_run in pending, running, waiting or degraded in an active Session; only that occurrence is cancelled and its schedule is preserved); whether a caller may use it is an authorization check (403 on the cancel route). send_input: reserved for a later capability route. read_output: the task events route returns output events for this task to any caller that can read it. read_output does not change during the task's life, and a task without it produces no output events: its output goes only to Artifacts, so the events route never filters out events that exist.
|
|
1055
1189
|
* @enum {string}
|
|
1056
1190
|
*/
|
|
1057
1191
|
TaskActionCapability: "cancel" | "send_input" | "read_output";
|
|
@@ -1060,6 +1194,11 @@ export interface components {
|
|
|
1060
1194
|
taskId: string;
|
|
1061
1195
|
/** Format: uuid */
|
|
1062
1196
|
sessionId: string;
|
|
1197
|
+
/**
|
|
1198
|
+
* Format: uuid
|
|
1199
|
+
* @description The child Session that runs this task: present for a child_agent or workflow task once the run's committed record names it (the child's attach, or a terminal verdict that names a minted child), and absent for every other kind and before then. The child is a Session in the same Workspace, readable by exactly the callers that can read this task, so its Turns, items and events are the task's own output; reading them needs no other grant.
|
|
1200
|
+
*/
|
|
1201
|
+
childSessionId?: string;
|
|
1063
1202
|
kind: components["schemas"]["TaskKind"];
|
|
1064
1203
|
state: components["schemas"]["TaskState"];
|
|
1065
1204
|
/**
|
|
@@ -1088,7 +1227,7 @@ export interface components {
|
|
|
1088
1227
|
/** @description The newest Artifacts that hold durable task output, at most 100, oldest first. Entries must not rotate out until older Artifacts can be enumerated and attributed to the task: an evicted Artifact stays readable by id through the Session artifact routes but is no longer discoverable from the task. */
|
|
1089
1228
|
artifactRefs: string[];
|
|
1090
1229
|
actionCapabilities: components["schemas"]["TaskActionCapability"][];
|
|
1091
|
-
} & (unknown & unknown & unknown & unknown);
|
|
1230
|
+
} & (unknown & unknown & unknown & unknown & unknown);
|
|
1092
1231
|
WebShellTaskPage: {
|
|
1093
1232
|
data: components["schemas"]["WebShellTask"][];
|
|
1094
1233
|
hasMore: boolean;
|
|
@@ -1216,7 +1355,7 @@ export interface components {
|
|
|
1216
1355
|
};
|
|
1217
1356
|
/** @description Optional preview for requested native read_file, write_file, edit or run_shell_command approvals. Missing or invalid input, and internal MCP inputs, omit the preview. No general secret redaction is performed; visibility follows Session read permissions. Deploy the version 2 Java reader before a Harness producer starts writing version 2 options. */
|
|
1218
1357
|
WebShellActionInputPreview: {
|
|
1219
|
-
/** @description Exact prefix of
|
|
1358
|
+
/** @description Exact UTF-8 prefix of payloadJson ({toolName,input}). Ordinary tools retain the 8192-byte preview. exit_plan_mode includes its complete input within the 64 KiB resource ceiling so a plan can be reviewed after refresh. Truncated ordinary previews may not be valid JSON. */
|
|
1220
1359
|
text: string;
|
|
1221
1360
|
/** @description True when text is shorter than the complete UTF-8 input. */
|
|
1222
1361
|
truncated: boolean;
|
|
@@ -1230,6 +1369,8 @@ export interface components {
|
|
|
1230
1369
|
/** @description Trimmed display name, without control characters. The server validates the normalized name. */
|
|
1231
1370
|
displayName: string;
|
|
1232
1371
|
idempotencyKey: string;
|
|
1372
|
+
sourceWorkspaceId?: string;
|
|
1373
|
+
cwdRelative?: string;
|
|
1233
1374
|
};
|
|
1234
1375
|
WebShellSessionOptionsRequest: {
|
|
1235
1376
|
agentId: string;
|
|
@@ -1237,8 +1378,12 @@ export interface components {
|
|
|
1237
1378
|
WebShellSessionOptions: {
|
|
1238
1379
|
/** @enum {string} */
|
|
1239
1380
|
approvalMode: "default" | "auto-edit" | "yolo";
|
|
1240
|
-
/** @description
|
|
1381
|
+
/** @description Execution policies available at creation. Stored definitions retain their initial policy; existing eligible Sessions may select a policy separately. Plan is an independent overlay. */
|
|
1241
1382
|
availableApprovalModes: ("default" | "auto-edit" | "yolo")[];
|
|
1383
|
+
/** @description Optional deployment capability; missing means false. */
|
|
1384
|
+
planModeSupported?: boolean;
|
|
1385
|
+
/** @description Optional deployment capability; missing means false. */
|
|
1386
|
+
inputAttachments?: boolean;
|
|
1242
1387
|
};
|
|
1243
1388
|
/** @description Safe allowlisted observation for a Workspace-bound Session. Unknown counts are omitted, never estimated. */
|
|
1244
1389
|
WebShellModelContext: {
|
|
@@ -1291,6 +1436,10 @@ export interface components {
|
|
|
1291
1436
|
approvalRevision: number;
|
|
1292
1437
|
availableApprovalModes: ("default" | "auto-edit" | "yolo")[];
|
|
1293
1438
|
supported: boolean;
|
|
1439
|
+
/** @description Persisted public Plan overlay, independent of execution permission. Omission on a change preserves the selected state. */
|
|
1440
|
+
planMode?: boolean;
|
|
1441
|
+
/** @description Optional deployment capability; missing means false. */
|
|
1442
|
+
planModeSupported?: boolean;
|
|
1294
1443
|
};
|
|
1295
1444
|
WebShellChangeApprovalRequest: {
|
|
1296
1445
|
sessionId: string;
|
|
@@ -1300,6 +1449,8 @@ export interface components {
|
|
|
1300
1449
|
requestId?: string;
|
|
1301
1450
|
/** @enum {string} */
|
|
1302
1451
|
approvalMode: "default" | "auto-edit" | "yolo";
|
|
1452
|
+
/** @description Persisted public Plan overlay, independent of execution permission. Omission on a change preserves the selected state. */
|
|
1453
|
+
planMode?: boolean;
|
|
1303
1454
|
};
|
|
1304
1455
|
WebShellApprovalChangeResult: {
|
|
1305
1456
|
sessionId: string;
|
|
@@ -1308,6 +1459,94 @@ export interface components {
|
|
|
1308
1459
|
/** Format: int64 */
|
|
1309
1460
|
approvalRevision: number;
|
|
1310
1461
|
replayed: boolean;
|
|
1462
|
+
/** @description Persisted public Plan overlay, independent of execution permission. Omission on a change preserves the selected state. */
|
|
1463
|
+
planMode?: boolean;
|
|
1464
|
+
};
|
|
1465
|
+
WebShellRuntimeNode: {
|
|
1466
|
+
nodeId: string;
|
|
1467
|
+
displayName: string;
|
|
1468
|
+
};
|
|
1469
|
+
/** @description Disabled registration returns supported=false and no nodes. This capability controls fresh registration only; existing operation queries remain available. */
|
|
1470
|
+
WebShellRuntimeNodePage: {
|
|
1471
|
+
/** @default false */
|
|
1472
|
+
supported: boolean;
|
|
1473
|
+
data: components["schemas"]["WebShellRuntimeNode"][];
|
|
1474
|
+
} & unknown;
|
|
1475
|
+
WebShellWorkspaceDirectoryRequest: {
|
|
1476
|
+
nodeId: string;
|
|
1477
|
+
/** @description Existing absolute directory on the selected node; no directory or repository is created. */
|
|
1478
|
+
path: string;
|
|
1479
|
+
};
|
|
1480
|
+
WebShellWorkspaceDirectory: {
|
|
1481
|
+
nodeId: string;
|
|
1482
|
+
/** @description Canonical absolute path after remote directory validation. */
|
|
1483
|
+
canonicalPath: string;
|
|
1484
|
+
/** @enum {string} */
|
|
1485
|
+
platform: "linux" | "darwin";
|
|
1486
|
+
};
|
|
1487
|
+
WebShellWorkspaceOperationRequest: {
|
|
1488
|
+
operationId: string;
|
|
1489
|
+
};
|
|
1490
|
+
/** @description workspaceId is returned only after completed registration. recovery_blocked means the registration may have reached its node: it keeps the original ownership until Java reads the node and completes it, or fails it and releases the directory. A node that cannot be read, no longer admits the actor or holds another registration's marker leaves it for administrator review, and a new browser draft does not release it. failed releases the directory if the registration reserved it. replayed=true identifies an existing operation returned by a repeated key or a query. */
|
|
1491
|
+
WebShellWorkspaceCreateOperation: {
|
|
1492
|
+
operationId: string;
|
|
1493
|
+
/** @constant */
|
|
1494
|
+
type: "workspace_create";
|
|
1495
|
+
/** @enum {string} */
|
|
1496
|
+
status: "pending" | "running" | "completed" | "failed" | "cancelled" | "recovery_blocked";
|
|
1497
|
+
workspaceId?: string | null;
|
|
1498
|
+
failureCode?: string | null;
|
|
1499
|
+
replayed: boolean;
|
|
1500
|
+
};
|
|
1501
|
+
WebShellWorkspaceRegisterRequest: {
|
|
1502
|
+
nodeId: string;
|
|
1503
|
+
path: string;
|
|
1504
|
+
displayName: string;
|
|
1505
|
+
/** @description Actor-scoped registration key. Reuse this key and the same semantic fields until the operation identity is known. */
|
|
1506
|
+
idempotencyKey: string;
|
|
1507
|
+
/** @description Trace correlation only; excluded from the request digest, so a retry with another requestId still replays. A header-safe value (1 to 128 visible ASCII characters) is echoed as X-Request-Id; any other value is replaced by a server-chosen id. */
|
|
1508
|
+
requestId?: string | null;
|
|
1509
|
+
};
|
|
1510
|
+
WebShellWorkspaceDirectoryPage: {
|
|
1511
|
+
root: string;
|
|
1512
|
+
cwdRelative: string;
|
|
1513
|
+
truncated: boolean;
|
|
1514
|
+
directories: {
|
|
1515
|
+
name: string;
|
|
1516
|
+
cwdRelative: string;
|
|
1517
|
+
}[];
|
|
1518
|
+
};
|
|
1519
|
+
WebShellWorkspaceDirectoryQueryRequest: {
|
|
1520
|
+
workspaceId: string;
|
|
1521
|
+
cwdRelative: string;
|
|
1522
|
+
};
|
|
1523
|
+
InputTextBlock: {
|
|
1524
|
+
/** @enum {string} */
|
|
1525
|
+
type: "input_text" | "text";
|
|
1526
|
+
text: string;
|
|
1527
|
+
};
|
|
1528
|
+
/** @description Inline UTF-8 text file. No host paths, URLs, binary or NUL. Conservative text MIME/extension validation; the complete canonical input containing attachments is limited to 48 KiB. */
|
|
1529
|
+
InputFileBlock: {
|
|
1530
|
+
/** @enum {string} */
|
|
1531
|
+
type: "input_file";
|
|
1532
|
+
name: string;
|
|
1533
|
+
mime_type: string;
|
|
1534
|
+
text: string;
|
|
1535
|
+
};
|
|
1536
|
+
/** @description Canonical base64 image with a matching signature. The complete canonical input containing attachments is limited to 48 KiB. */
|
|
1537
|
+
InputImageBlock: {
|
|
1538
|
+
/** @enum {string} */
|
|
1539
|
+
type: "input_image";
|
|
1540
|
+
/** @enum {string} */
|
|
1541
|
+
mime_type: "image/png" | "image/jpeg" | "image/webp";
|
|
1542
|
+
data: string;
|
|
1543
|
+
};
|
|
1544
|
+
WebShellSkill: {
|
|
1545
|
+
name: string;
|
|
1546
|
+
description: string;
|
|
1547
|
+
};
|
|
1548
|
+
WebShellSessionSkills: {
|
|
1549
|
+
skills: components["schemas"]["WebShellSkill"][];
|
|
1311
1550
|
};
|
|
1312
1551
|
};
|
|
1313
1552
|
responses: {
|
|
@@ -2426,4 +2665,194 @@ export interface operations {
|
|
|
2426
2665
|
413: components["responses"]["PayloadTooLarge"];
|
|
2427
2666
|
};
|
|
2428
2667
|
};
|
|
2668
|
+
webShellQueryRuntimeNodes: {
|
|
2669
|
+
parameters: {
|
|
2670
|
+
query?: never;
|
|
2671
|
+
header?: never;
|
|
2672
|
+
path?: never;
|
|
2673
|
+
cookie?: never;
|
|
2674
|
+
};
|
|
2675
|
+
requestBody?: never;
|
|
2676
|
+
responses: {
|
|
2677
|
+
/** @description SSH registration capability and authorized machine display names. */
|
|
2678
|
+
200: {
|
|
2679
|
+
headers: {
|
|
2680
|
+
"X-Request-Id": components["headers"]["RequestId"];
|
|
2681
|
+
"Cache-Control"?: "no-store";
|
|
2682
|
+
[name: string]: unknown;
|
|
2683
|
+
};
|
|
2684
|
+
content: {
|
|
2685
|
+
"application/json": components["schemas"]["WebShellRuntimeNodePage"];
|
|
2686
|
+
};
|
|
2687
|
+
};
|
|
2688
|
+
400: components["responses"]["BadRequest"];
|
|
2689
|
+
401: components["responses"]["Unauthorized"];
|
|
2690
|
+
403: components["responses"]["Forbidden"];
|
|
2691
|
+
413: components["responses"]["PayloadTooLarge"];
|
|
2692
|
+
};
|
|
2693
|
+
};
|
|
2694
|
+
webShellCheckWorkspaceDirectory: {
|
|
2695
|
+
parameters: {
|
|
2696
|
+
query?: never;
|
|
2697
|
+
header?: never;
|
|
2698
|
+
path?: never;
|
|
2699
|
+
cookie?: never;
|
|
2700
|
+
};
|
|
2701
|
+
requestBody: {
|
|
2702
|
+
content: {
|
|
2703
|
+
"application/json": components["schemas"]["WebShellWorkspaceDirectoryRequest"];
|
|
2704
|
+
};
|
|
2705
|
+
};
|
|
2706
|
+
responses: {
|
|
2707
|
+
/** @description Validated canonical directory on the selected Linux or macOS node. */
|
|
2708
|
+
200: {
|
|
2709
|
+
headers: {
|
|
2710
|
+
"X-Request-Id": components["headers"]["RequestId"];
|
|
2711
|
+
"Cache-Control"?: "no-store";
|
|
2712
|
+
[name: string]: unknown;
|
|
2713
|
+
};
|
|
2714
|
+
content: {
|
|
2715
|
+
"application/json": components["schemas"]["WebShellWorkspaceDirectory"];
|
|
2716
|
+
};
|
|
2717
|
+
};
|
|
2718
|
+
400: components["responses"]["BadRequest"];
|
|
2719
|
+
401: components["responses"]["Unauthorized"];
|
|
2720
|
+
403: components["responses"]["Forbidden"];
|
|
2721
|
+
404: components["responses"]["NotFound"];
|
|
2722
|
+
409: components["responses"]["Conflict"];
|
|
2723
|
+
413: components["responses"]["PayloadTooLarge"];
|
|
2724
|
+
/** @description The SSH bootstrap response is invalid. */
|
|
2725
|
+
502: {
|
|
2726
|
+
headers: {
|
|
2727
|
+
[name: string]: unknown;
|
|
2728
|
+
};
|
|
2729
|
+
content: {
|
|
2730
|
+
"application/json": components["schemas"]["ErrorEnvelope"];
|
|
2731
|
+
};
|
|
2732
|
+
};
|
|
2733
|
+
503: components["responses"]["Unavailable"];
|
|
2734
|
+
};
|
|
2735
|
+
};
|
|
2736
|
+
webShellGetWorkspaceOperation: {
|
|
2737
|
+
parameters: {
|
|
2738
|
+
query?: never;
|
|
2739
|
+
header?: never;
|
|
2740
|
+
path?: never;
|
|
2741
|
+
cookie?: never;
|
|
2742
|
+
};
|
|
2743
|
+
requestBody: {
|
|
2744
|
+
content: {
|
|
2745
|
+
"application/json": components["schemas"]["WebShellWorkspaceOperationRequest"];
|
|
2746
|
+
};
|
|
2747
|
+
};
|
|
2748
|
+
responses: {
|
|
2749
|
+
/** @description Latest durable state of the original actor-owned registration. */
|
|
2750
|
+
200: {
|
|
2751
|
+
headers: {
|
|
2752
|
+
"X-Request-Id": components["headers"]["RequestId"];
|
|
2753
|
+
"Cache-Control"?: "no-store";
|
|
2754
|
+
[name: string]: unknown;
|
|
2755
|
+
};
|
|
2756
|
+
content: {
|
|
2757
|
+
"application/json": components["schemas"]["WebShellWorkspaceCreateOperation"];
|
|
2758
|
+
};
|
|
2759
|
+
};
|
|
2760
|
+
400: components["responses"]["BadRequest"];
|
|
2761
|
+
401: components["responses"]["Unauthorized"];
|
|
2762
|
+
403: components["responses"]["Forbidden"];
|
|
2763
|
+
404: components["responses"]["NotFound"];
|
|
2764
|
+
413: components["responses"]["PayloadTooLarge"];
|
|
2765
|
+
};
|
|
2766
|
+
};
|
|
2767
|
+
webShellRegisterWorkspace: {
|
|
2768
|
+
parameters: {
|
|
2769
|
+
query?: never;
|
|
2770
|
+
header?: never;
|
|
2771
|
+
path?: never;
|
|
2772
|
+
cookie?: never;
|
|
2773
|
+
};
|
|
2774
|
+
requestBody: {
|
|
2775
|
+
content: {
|
|
2776
|
+
"application/json": components["schemas"]["WebShellWorkspaceRegisterRequest"];
|
|
2777
|
+
};
|
|
2778
|
+
};
|
|
2779
|
+
responses: {
|
|
2780
|
+
/** @description Durable registration operation; repeated requests retain the original identity. */
|
|
2781
|
+
202: {
|
|
2782
|
+
headers: {
|
|
2783
|
+
"X-Request-Id": components["headers"]["RequestId"];
|
|
2784
|
+
"Cache-Control"?: "no-store";
|
|
2785
|
+
[name: string]: unknown;
|
|
2786
|
+
};
|
|
2787
|
+
content: {
|
|
2788
|
+
"application/json": components["schemas"]["WebShellWorkspaceCreateOperation"];
|
|
2789
|
+
};
|
|
2790
|
+
};
|
|
2791
|
+
400: components["responses"]["BadRequest"];
|
|
2792
|
+
401: components["responses"]["Unauthorized"];
|
|
2793
|
+
403: components["responses"]["Forbidden"];
|
|
2794
|
+
404: components["responses"]["NotFound"];
|
|
2795
|
+
409: components["responses"]["Conflict"];
|
|
2796
|
+
413: components["responses"]["PayloadTooLarge"];
|
|
2797
|
+
};
|
|
2798
|
+
};
|
|
2799
|
+
queryWebShellWorkspaceDirectories: {
|
|
2800
|
+
parameters: {
|
|
2801
|
+
query?: never;
|
|
2802
|
+
header?: never;
|
|
2803
|
+
path?: never;
|
|
2804
|
+
cookie?: never;
|
|
2805
|
+
};
|
|
2806
|
+
requestBody: {
|
|
2807
|
+
content: {
|
|
2808
|
+
"application/json": components["schemas"]["WebShellWorkspaceDirectoryQueryRequest"];
|
|
2809
|
+
};
|
|
2810
|
+
};
|
|
2811
|
+
responses: {
|
|
2812
|
+
/** @description Authorized existing directories. */
|
|
2813
|
+
200: {
|
|
2814
|
+
headers: {
|
|
2815
|
+
[name: string]: unknown;
|
|
2816
|
+
};
|
|
2817
|
+
content: {
|
|
2818
|
+
"application/json": components["schemas"]["WebShellWorkspaceDirectoryPage"];
|
|
2819
|
+
};
|
|
2820
|
+
};
|
|
2821
|
+
400: components["responses"]["BadRequest"];
|
|
2822
|
+
401: components["responses"]["Unauthorized"];
|
|
2823
|
+
403: components["responses"]["Forbidden"];
|
|
2824
|
+
404: components["responses"]["NotFound"];
|
|
2825
|
+
409: components["responses"]["Conflict"];
|
|
2826
|
+
};
|
|
2827
|
+
};
|
|
2828
|
+
queryWebShellSessionSkills: {
|
|
2829
|
+
parameters: {
|
|
2830
|
+
query?: never;
|
|
2831
|
+
header?: never;
|
|
2832
|
+
path?: never;
|
|
2833
|
+
cookie?: never;
|
|
2834
|
+
};
|
|
2835
|
+
requestBody: {
|
|
2836
|
+
content: {
|
|
2837
|
+
"application/json": components["schemas"]["WebShellSessionRequest"];
|
|
2838
|
+
};
|
|
2839
|
+
};
|
|
2840
|
+
responses: {
|
|
2841
|
+
/** @description Session static Skill metadata. */
|
|
2842
|
+
200: {
|
|
2843
|
+
headers: {
|
|
2844
|
+
[name: string]: unknown;
|
|
2845
|
+
};
|
|
2846
|
+
content: {
|
|
2847
|
+
"application/json": components["schemas"]["WebShellSessionSkills"];
|
|
2848
|
+
};
|
|
2849
|
+
};
|
|
2850
|
+
400: components["responses"]["BadRequest"];
|
|
2851
|
+
401: components["responses"]["Unauthorized"];
|
|
2852
|
+
403: components["responses"]["Forbidden"];
|
|
2853
|
+
404: components["responses"]["NotFound"];
|
|
2854
|
+
409: components["responses"]["Conflict"];
|
|
2855
|
+
413: components["responses"]["PayloadTooLarge"];
|
|
2856
|
+
};
|
|
2857
|
+
};
|
|
2429
2858
|
}
|