chore(ticket): incorporate integrated Drive and structured WIP contracts
# Conflicts: # openapi/server-api.json # web/workspace/src/lib/generated/companion-api.ts # web/workspace/src/lib/generated/repository-api.ts # web/workspace/src/lib/generated/runtime-api.ts # web/workspace/src/lib/generated/ticket-api.ts # web/workspace/src/lib/generated/worker-launch-api.ts
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// @generated by yoi-companion-openapi-typescript@1. Do not edit.
|
||||
// Input: openapi/server-api.json
|
||||
// Input contract: 0.1.0 (sha256:3ae89b3b76b2c31f016f4f9e1bc339115fdfb0b7d2a9964c4c708488a3e5f6f1)
|
||||
// Input contract: 0.1.0 (sha256:6dd3e9e7ffe5e653697addc29675545b5fb28ea856b14bafc580355f0453ec12)
|
||||
// Options: companion-operation-schema-closure,openapi-3.1,strict-integer-ranges,sorted-output
|
||||
// Output: web/workspace/src/lib/generated/companion-api.ts
|
||||
// Regenerate/check: cargo run -q -p server-api --example generate_companion_api_types -- --check
|
||||
|
||||
@@ -0,0 +1,203 @@
|
||||
// Generated from server-api. Do not edit by hand.
|
||||
// Regenerate: cargo run -q -p server-api --features typescript --example generate_drive_api_types > web/workspace/src/lib/generated/drive-api.ts
|
||||
|
||||
export type DriveEntryRef = { workspace_id: string; node_id: string };
|
||||
|
||||
export type DriveEntryKind = "folder" | "file";
|
||||
|
||||
export type DriveEntry = {
|
||||
entry: DriveEntryRef;
|
||||
parent: DriveEntryRef | null;
|
||||
name: string;
|
||||
kind: DriveEntryKind;
|
||||
revision: string;
|
||||
/**
|
||||
* File length in bytes; absent for folders.
|
||||
*/
|
||||
size: number | null;
|
||||
content_type: string | null;
|
||||
updated_by: string;
|
||||
/**
|
||||
* Timestamp projected from storage's updated_at_ms; not a creation time.
|
||||
*/
|
||||
updated_at: string;
|
||||
/**
|
||||
* Stable relative authenticated URL in this same Workspace. No bearer token
|
||||
* or cross-Workspace link is embedded in this metadata.
|
||||
*/
|
||||
latest_url: string;
|
||||
};
|
||||
|
||||
export type DriveEntryQuery = { entry_workspace_id: string; id: string };
|
||||
|
||||
export type DriveListQuery = {
|
||||
entry_workspace_id: string;
|
||||
/**
|
||||
* Folder to list.
|
||||
*/
|
||||
id: string;
|
||||
limit: number | null;
|
||||
/**
|
||||
* Opaque service-issued page cursor, not a bare node ID.
|
||||
*/
|
||||
after: string | null;
|
||||
};
|
||||
|
||||
export type DriveSearchQuery = {
|
||||
query: string;
|
||||
/**
|
||||
* Search file text as well as names only when explicitly requested.
|
||||
*/
|
||||
include_text: boolean;
|
||||
limit: number | null;
|
||||
after: string | null;
|
||||
};
|
||||
|
||||
export type DriveListResponse = {
|
||||
entries: Array<DriveEntry>;
|
||||
next_after: string | null;
|
||||
};
|
||||
|
||||
export type DriveReadTextQuery = {
|
||||
entry_workspace_id: string;
|
||||
id: string;
|
||||
max_bytes: number;
|
||||
};
|
||||
|
||||
export type DriveReadTextResponse = {
|
||||
entry: DriveEntry;
|
||||
text: string;
|
||||
truncated: boolean;
|
||||
};
|
||||
|
||||
export type DriveReadChunkQuery = {
|
||||
entry_workspace_id: string;
|
||||
id: string;
|
||||
/**
|
||||
* Bind a multi-chunk read to the same file revision.
|
||||
*/
|
||||
expected_revision: string;
|
||||
offset: number;
|
||||
length: number;
|
||||
};
|
||||
|
||||
export type DriveDownloadQuery = {
|
||||
entry_workspace_id: string;
|
||||
id: string;
|
||||
expected_revision: string | null;
|
||||
};
|
||||
|
||||
export type DriveMutation = {
|
||||
"operation": "create_folder";
|
||||
parent: DriveEntryRef;
|
||||
name: string;
|
||||
} | {
|
||||
"operation": "create_text";
|
||||
parent: DriveEntryRef;
|
||||
name: string;
|
||||
text: string;
|
||||
content_type: string;
|
||||
} | {
|
||||
"operation": "update_text";
|
||||
id: DriveEntryRef;
|
||||
expected_revision: string;
|
||||
text: string;
|
||||
content_type: string;
|
||||
} | {
|
||||
"operation": "relocate";
|
||||
id: DriveEntryRef;
|
||||
expected_revision: string;
|
||||
parent: DriveEntryRef;
|
||||
name: string;
|
||||
} | { "operation": "delete"; id: DriveEntryRef; expected_revision: string };
|
||||
|
||||
export type DriveMutationRequest = {
|
||||
request_id: string;
|
||||
mutation: DriveMutation;
|
||||
};
|
||||
|
||||
export type DriveMutationResponse = {
|
||||
request_id: string;
|
||||
/**
|
||||
* A deleted entry has no live metadata.
|
||||
*/
|
||||
entry: DriveEntry | null;
|
||||
};
|
||||
|
||||
export type DriveUploadOperation = "create" | "update";
|
||||
|
||||
export type DriveUploadQuery = {
|
||||
operation: DriveUploadOperation;
|
||||
request_id: string;
|
||||
entry_workspace_id: string;
|
||||
parent_id: string | null;
|
||||
name: string | null;
|
||||
id: string | null;
|
||||
expected_revision: string | null;
|
||||
content_type: string;
|
||||
/**
|
||||
* Values above the file limit still decode as u32 so the service returns
|
||||
* typed Limit rather than a generic request-decoding error.
|
||||
*/
|
||||
size: number;
|
||||
sha256: string;
|
||||
};
|
||||
|
||||
export type DriveRequestState = "uncommitted" | "committed";
|
||||
|
||||
export type DriveRequestStatusResponse = {
|
||||
request_id: string;
|
||||
state: DriveRequestState;
|
||||
response: DriveMutationResponse | null;
|
||||
};
|
||||
|
||||
export type DriveAccess = "read_only" | "read_write";
|
||||
|
||||
export type DriveGrantCreateRequest = {
|
||||
runtime_id: string;
|
||||
worker_id: string;
|
||||
access: DriveAccess;
|
||||
};
|
||||
|
||||
export type DriveGrantResponse = {
|
||||
grant_id: string;
|
||||
workspace_id: string;
|
||||
runtime_id: string;
|
||||
worker_id: string;
|
||||
access: DriveAccess;
|
||||
revoked: boolean;
|
||||
created_by: string;
|
||||
created_at: string;
|
||||
revoked_by: string | null;
|
||||
revoked_at: string | null;
|
||||
};
|
||||
|
||||
export type DriveGrantListQuery = {
|
||||
limit: number | null;
|
||||
/**
|
||||
* Canonical grant ID cursor within this Workspace.
|
||||
*/
|
||||
after: string | null;
|
||||
};
|
||||
|
||||
export type DriveGrantListResponse = {
|
||||
grants: Array<DriveGrantResponse>;
|
||||
next_after: string | null;
|
||||
};
|
||||
|
||||
export type DriveApiErrorCode =
|
||||
| "denied"
|
||||
| "not_found"
|
||||
| "conflict"
|
||||
| "invalid"
|
||||
| "limit"
|
||||
| "storage_unavailable"
|
||||
| "outcome_unknown";
|
||||
|
||||
export type DriveFailureClassification = "not_committed" | "unknown";
|
||||
|
||||
export type DriveApiError = {
|
||||
code: DriveApiErrorCode;
|
||||
classification: DriveFailureClassification;
|
||||
message: string;
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
// @generated by yoi-repository-openapi-typescript@1. Do not edit.
|
||||
// Input: openapi/server-api.json
|
||||
// Input contract: 0.1.0 (sha256:3ae89b3b76b2c31f016f4f9e1bc339115fdfb0b7d2a9964c4c708488a3e5f6f1)
|
||||
// Input contract: 0.1.0 (sha256:6dd3e9e7ffe5e653697addc29675545b5fb28ea856b14bafc580355f0453ec12)
|
||||
// Options: repository-operation-schema-closure,openapi-3.1,format:uint64=safe-number,strict-safe-integers,sorted-output
|
||||
// Output: web/workspace/src/lib/generated/repository-api.ts
|
||||
// Regenerate/check: cargo run -q -p server-api --example generate_repository_openapi_types -- --check
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// @generated by yoi-runtime-openapi-typescript@1. Do not edit.
|
||||
// Input: openapi/server-api.json
|
||||
// Input contract: 0.1.0 (sha256:3ae89b3b76b2c31f016f4f9e1bc339115fdfb0b7d2a9964c4c708488a3e5f6f1)
|
||||
// Input contract: 0.1.0 (sha256:6dd3e9e7ffe5e653697addc29675545b5fb28ea856b14bafc580355f0453ec12)
|
||||
// Options: runtime-operation-schema-closure,openapi-3.1,strict-integer-ranges,sorted-output
|
||||
// Output: web/workspace/src/lib/generated/runtime-api.ts
|
||||
// Regenerate/check: cargo run -q -p server-api --example generate_runtime_api_types -- --check
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// @generated by yoi-ticket-browser-openapi-typescript@1. Do not edit.
|
||||
// Input: openapi/server-api.json
|
||||
// Input contract: 0.1.0 (sha256:3ae89b3b76b2c31f016f4f9e1bc339115fdfb0b7d2a9964c4c708488a3e5f6f1)
|
||||
// Input contract: 0.1.0 (sha256:6dd3e9e7ffe5e653697addc29675545b5fb28ea856b14bafc580355f0453ec12)
|
||||
// Options: ticket-objective-merge-request-browser-operation-schema-closure,openapi-3.1,strict-integer-ranges,sorted-output
|
||||
// Output: web/workspace/src/lib/generated/ticket-api.ts
|
||||
// Regenerate/check: cargo run -q -p server-api --example generate_ticket_api_types -- --check
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// @generated by yoi-workdir-openapi-typescript@1. Do not edit.
|
||||
// Input: openapi/server-api.json
|
||||
// Input contract: 0.1.0 (sha256:3ae89b3b76b2c31f016f4f9e1bc339115fdfb0b7d2a9964c4c708488a3e5f6f1)
|
||||
// Input contract: 0.1.0 (sha256:6dd3e9e7ffe5e653697addc29675545b5fb28ea856b14bafc580355f0453ec12)
|
||||
// Options: workdir-operation-schema-closure,openapi-3.1,strict-integer-ranges,sorted-output
|
||||
// Output: web/workspace/src/lib/generated/workdir-api.ts
|
||||
// Regenerate/check: cargo run -q -p server-api --example generate_workdir_api_types -- --check
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// @generated by yoi-worker-openapi-typescript@1. Do not edit.
|
||||
// Input: openapi/server-api.json
|
||||
// Input contract: 0.1.0 (sha256:3ae89b3b76b2c31f016f4f9e1bc339115fdfb0b7d2a9964c4c708488a3e5f6f1)
|
||||
// Input contract: 0.1.0 (sha256:6dd3e9e7ffe5e653697addc29675545b5fb28ea856b14bafc580355f0453ec12)
|
||||
// Options: worker-operation-schema-closure,openapi-3.1,strict-integer-ranges,sorted-output
|
||||
// Output: web/workspace/src/lib/generated/worker-launch-api.ts
|
||||
// Regenerate/check: cargo run -q -p server-api --example generate_worker_launch_api_types -- --check
|
||||
|
||||
Reference in New Issue
Block a user